static GtkWidget *parent_window;
static GtkWidget *toolbar;
+static GtkWidget *sim_mox;
static GtkWidget *sim_band;
static GtkWidget *sim_bandstack;
static GtkWidget *sim_mode;
static GtkWidget *sim_agc;
static GtkWidget *sim_noise;
static GtkWidget *sim_function;
-static GtkWidget *sim_mox;
static GtkWidget *last_band;
+static GtkWidget *last_bandstack;
static GtkWidget *last_mode;
static GtkWidget *last_filter;
static GdkRGBA white;
static GdkRGBA gray;
+void update_toolbar_labels() {
+ if(toolbar_dialog_buttons) {
+ gtk_button_set_label(GTK_BUTTON(sim_band),"Band");
+ gtk_button_set_label(GTK_BUTTON(sim_bandstack),"BStack");
+ gtk_button_set_label(GTK_BUTTON(sim_mode),"Mode");
+ gtk_button_set_label(GTK_BUTTON(sim_filter),"Filter");
+ gtk_button_set_label(GTK_BUTTON(sim_noise),"Noise");
+ gtk_button_set_label(GTK_BUTTON(sim_agc),"AGC");
+ if(function) {
+ gtk_button_set_label(GTK_BUTTON(sim_mox),"Tune");
+ } else {
+ gtk_button_set_label(GTK_BUTTON(sim_mox),"Mox");
+ }
+ } else {
+ if(function) {
+ gtk_button_set_label(GTK_BUTTON(sim_band),"Band v");
+ gtk_button_set_label(GTK_BUTTON(sim_bandstack),"BStack v");
+ gtk_button_set_label(GTK_BUTTON(sim_mode),"Mode v");
+ gtk_button_set_label(GTK_BUTTON(sim_filter),"Filter v");
+ gtk_button_set_label(GTK_BUTTON(sim_noise),"Noise v");
+ gtk_button_set_label(GTK_BUTTON(sim_agc),"AGC v");
+ gtk_button_set_label(GTK_BUTTON(sim_mox),"Tune");
+ } else {
+ gtk_button_set_label(GTK_BUTTON(sim_band),"Band ^");
+ gtk_button_set_label(GTK_BUTTON(sim_bandstack),"BStack ^");
+ gtk_button_set_label(GTK_BUTTON(sim_mode),"Mode ^");
+ gtk_button_set_label(GTK_BUTTON(sim_filter),"Filter ^");
+ gtk_button_set_label(GTK_BUTTON(sim_noise),"Noise ^");
+ gtk_button_set_label(GTK_BUTTON(sim_agc),"AGC ^");
+ gtk_button_set_label(GTK_BUTTON(sim_mox),"Mox");
+ }
+ }
+}
+
static void band_select_cb(GtkWidget *widget, gpointer data) {
GtkWidget *label;
int b=(int)data;
setFrequency(entry->frequencyA);
}
-static void band_cb(GtkWidget *widget, gpointer data) {
+ void band_cb(GtkWidget *widget, gpointer data) {
GtkWidget *dialog=gtk_dialog_new_with_buttons("Band",GTK_WINDOW(parent_window),GTK_DIALOG_DESTROY_WITH_PARENT,NULL,NULL);
GtkWidget *content=gtk_dialog_get_content_area(GTK_DIALOG(dialog));
GtkWidget *grid=gtk_grid_new();
}
+static void bandstack_select_cb(GtkWidget *widget, gpointer data) {
+ int b=(int)data;
+ BAND *band=band_get_current_band();
+ BANDSTACK *bandstack=band->bandstack;
+
+ bandstack->current_entry=b;
+
+ gtk_widget_override_background_color(last_bandstack, GTK_STATE_NORMAL, &white);
+ last_bandstack=widget;
+ gtk_widget_override_background_color(last_bandstack, GTK_STATE_NORMAL, &gray);
+
+ BANDSTACK_ENTRY *entry;
+ entry=&(bandstack->entry[b]);
+
+ setMode(entry->mode);
+ FILTER* band_filters=filters[entry->mode];
+ FILTER* band_filter=&band_filters[entry->filter];
+ setFilter(band_filter->low,band_filter->high);
+ setFrequency(entry->frequencyA);
+
+ set_alex_rx_antenna(band->alexRxAntenna);
+ set_alex_tx_antenna(band->alexTxAntenna);
+ set_alex_attenuation(band->alexAttenuation);
+
+ vfo_update(NULL);
+
+ setFrequency(entry->frequencyA);
+}
+
+void bandstack_cb(GtkWidget *widget, gpointer data) {
+ GtkWidget *dialog=gtk_dialog_new_with_buttons("Band",GTK_WINDOW(parent_window),GTK_DIALOG_DESTROY_WITH_PARENT,NULL,NULL);
+ GtkWidget *content=gtk_dialog_get_content_area(GTK_DIALOG(dialog));
+ GtkWidget *grid=gtk_grid_new();
+ gtk_grid_set_column_homogeneous(GTK_GRID(grid),TRUE);
+ gtk_grid_set_row_homogeneous(GTK_GRID(grid),TRUE);
+ GtkWidget *b;
+ int i;
+
+ char label[16];
+
+ BAND *band=band_get_current_band();
+ BANDSTACK *bandstack=band->bandstack;
+
+ for(i=0;i<bandstack->entries;i++) {
+ BANDSTACK_ENTRY *entry=&bandstack->entry[i];
+ sprintf(label,"%lld",entry->frequencyA);
+ GtkWidget *b=gtk_button_new_with_label(label);
+ gtk_widget_override_background_color(b, GTK_STATE_NORMAL, &white);
+ //gtk_widget_override_font(b, pango_font_description_from_string("Arial 20"));
+ if(i==bandstack->current_entry) {
+ gtk_widget_override_background_color(b, GTK_STATE_NORMAL, &gray);
+ last_bandstack=b;
+ }
+ gtk_widget_show(b);
+ gtk_grid_attach(GTK_GRID(grid),b,i%5,i/5,1,1);
+ g_signal_connect(b,"clicked",G_CALLBACK(bandstack_select_cb),(gpointer *)i);
+ }
+
+ gtk_container_add(GTK_CONTAINER(content),grid);
+
+ GtkWidget *close_button=gtk_dialog_add_button(GTK_DIALOG(dialog),"Close",GTK_RESPONSE_OK);
+ //gtk_widget_override_font(close_button, pango_font_description_from_string("Arial 20"));
+ gtk_widget_show_all(dialog);
+
+ g_signal_connect_swapped (dialog,
+ "response",
+ G_CALLBACK (gtk_widget_destroy),
+ dialog);
+
+ int result=gtk_dialog_run(GTK_DIALOG(dialog));
+}
+
+void function_cb(GtkWidget *widget, gpointer data) {
+ fprintf(stderr,"function_cb\n");
+ function=function==1?0:1;
+ update_toolbar_labels();
+ vfo_update(NULL);
+}
+
static void mode_select_cb(GtkWidget *widget, gpointer data) {
int m=(int)data;
BANDSTACK_ENTRY *entry;
vfo_update(NULL);
}
-static void mode_cb(GtkWidget *widget, gpointer data) {
+void mode_cb(GtkWidget *widget, gpointer data) {
BANDSTACK_ENTRY *entry=bandstack_entry_get_current();
GtkWidget *dialog=gtk_dialog_new_with_buttons("Mode",GTK_WINDOW(parent_window),GTK_DIALOG_DESTROY_WITH_PARENT,NULL,NULL);
GtkWidget *content=gtk_dialog_get_content_area(GTK_DIALOG(dialog));
vfo_update(NULL);
}
-static void filter_cb(GtkWidget *widget, gpointer data) {
+void filter_cb(GtkWidget *widget, gpointer data) {
BANDSTACK_ENTRY *entry=bandstack_entry_get_current();
FILTER* band_filters=filters[entry->mode];
GtkWidget *dialog=gtk_dialog_new_with_buttons("Mode",GTK_WINDOW(parent_window),GTK_DIALOG_DESTROY_WITH_PARENT,NULL,NULL);
update_noise();
}
-static void audio_cb(GtkWidget *widget, gpointer data) {
- GtkWidget *dialog=gtk_dialog_new_with_buttons("Audio",GTK_WINDOW(parent_window),GTK_DIALOG_DESTROY_WITH_PARENT,NULL,NULL);
+
+void agc_cb(GtkWidget *widget, gpointer data) {
+ GtkWidget *dialog=gtk_dialog_new_with_buttons("AGC",GTK_WINDOW(parent_window),GTK_DIALOG_DESTROY_WITH_PARENT,NULL,NULL);
GtkWidget *content=gtk_dialog_get_content_area(GTK_DIALOG(dialog));
GtkWidget *grid=gtk_grid_new();
gtk_grid_attach(GTK_GRID(grid),b_fast,0,4,2,1);
g_signal_connect(b_fast,"pressed",G_CALLBACK(agc_select_cb),(gpointer *)AGC_FAST);
+ gtk_container_add(GTK_CONTAINER(content),grid);
+
+ GtkWidget *close_button=gtk_dialog_add_button(GTK_DIALOG(dialog),"Close",GTK_RESPONSE_OK);
+ //gtk_widget_override_font(close_button, pango_font_description_from_string("Arial 16"));
+ gtk_widget_show_all(dialog);
+
+ g_signal_connect_swapped (dialog,
+ "response",
+ G_CALLBACK (gtk_widget_destroy),
+ dialog);
+
+ int result=gtk_dialog_run(GTK_DIALOG(dialog));
+
+}
+
+void noise_cb(GtkWidget *widget, gpointer data) {
+ GtkWidget *dialog=gtk_dialog_new_with_buttons("Noise",GTK_WINDOW(parent_window),GTK_DIALOG_DESTROY_WITH_PARENT,NULL,NULL);
+
+ GtkWidget *content=gtk_dialog_get_content_area(GTK_DIALOG(dialog));
+ GtkWidget *grid=gtk_grid_new();
+
+ gtk_grid_set_column_homogeneous(GTK_GRID(grid),TRUE);
+ gtk_grid_set_row_homogeneous(GTK_GRID(grid),TRUE);
+
GtkWidget *b_nr_none=gtk_radio_button_new_with_label(NULL,"None");
//gtk_widget_override_font(b_none, pango_font_description_from_string("Arial 16"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (b_nr_none), nr_none==1);
gtk_widget_show(b_nr_none);
- gtk_grid_attach(GTK_GRID(grid),b_nr_none,2,0,2,1);
+ gtk_grid_attach(GTK_GRID(grid),b_nr_none,0,0,2,1);
g_signal_connect(b_nr_none,"pressed",G_CALLBACK(nr_none_cb),NULL);
GtkWidget *b_nr=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(b_nr_none),"NR");
//gtk_widget_override_font(b_nr, pango_font_description_from_string("Arial 16"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (b_nr), nr==1);
gtk_widget_show(b_nr);
- gtk_grid_attach(GTK_GRID(grid),b_nr,2,1,2,1);
+ gtk_grid_attach(GTK_GRID(grid),b_nr,0,1,2,1);
g_signal_connect(b_nr,"pressed",G_CALLBACK(nr_cb),NULL);
GtkWidget *b_nr2=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(b_nr),"NR2");
//gtk_widget_override_font(b_nr2, pango_font_description_from_string("Arial 16"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (b_nr2), nr2==1);
gtk_widget_show(b_nr2);
- gtk_grid_attach(GTK_GRID(grid),b_nr2,2,2,2,1);
+ gtk_grid_attach(GTK_GRID(grid),b_nr2,0,2,2,1);
g_signal_connect(b_nr2,"pressed",G_CALLBACK(nr2_cb),NULL);
/*
//gtk_widget_override_font(b_nb, pango_font_description_from_string("Arial 16"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (b_nb), nb==1);
gtk_widget_show(b_nb);
- gtk_grid_attach(GTK_GRID(grid),b_nb,2,3,2,1);
+ gtk_grid_attach(GTK_GRID(grid),b_nb,0,3,2,1);
g_signal_connect(b_nb,"pressed",G_CALLBACK(nb_cb),NULL);
GtkWidget *b_nb2=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(b_nb),"NB2");
//gtk_widget_override_font(b_nb2, pango_font_description_from_string("Arial 16"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (b_nb2), nb2==1);
gtk_widget_show(b_nb2);
- gtk_grid_attach(GTK_GRID(grid),b_nb2,2,4,2,1);
+ gtk_grid_attach(GTK_GRID(grid),b_nb2,0,4,2,1);
g_signal_connect(b_nb2,"pressed",G_CALLBACK(nb2_cb),NULL);
*/
//gtk_widget_override_font(b_anf, pango_font_description_from_string("Arial 16"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (b_anf), anf==1);
gtk_widget_show(b_anf);
- gtk_grid_attach(GTK_GRID(grid),b_anf,2,3,2,1);
+ gtk_grid_attach(GTK_GRID(grid),b_anf,0,3,2,1);
g_signal_connect(b_anf,"pressed",G_CALLBACK(anf_cb),NULL);
GtkWidget *b_snb=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(b_anf),"SNB");
//gtk_widget_override_font(b_snb, pango_font_description_from_string("Arial 16"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (b_snb), snb==1);
gtk_widget_show(b_snb);
- gtk_grid_attach(GTK_GRID(grid),b_snb,2,4,2,1);
+ gtk_grid_attach(GTK_GRID(grid),b_snb,0,4,2,1);
g_signal_connect(b_snb,"pressed",G_CALLBACK(snb_cb),NULL);
gtk_container_add(GTK_CONTAINER(content),grid);
BAND* band;
BANDSTACK_ENTRY *entry;
fprintf(stderr,"sim_band_cb\n");
- int b=band_get_current();
- if(function) {
- b--;
- if(b<0) {
- b=BANDS-1;
- }
+ if(toolbar_dialog_buttons) {
+ band_cb(widget,data);
+ } else {
+ int b=band_get_current();
+ if(function) {
+ b--;
+ if(b<0) {
+ b=BANDS-1;
+ }
#ifdef LIMESDR
- if(protocol!=LIMESDR_PROTOCOL) {
- if(b==band3400) {
- b=band6;
+ if(protocol!=LIMESDR_PROTOCOL) {
+ if(b==band3400) {
+ b=band6;
+ }
}
- }
#endif
- } else {
- b++;
- if(b>=BANDS) {
- b=0;
- }
+ } else {
+ b++;
+ if(b>=BANDS) {
+ b=0;
+ }
#ifdef LIMESDR
- if(protocol!=LIMESDR_PROTOCOL) {
- if(b==band70) {
- b=bandGen;
+ if(protocol!=LIMESDR_PROTOCOL) {
+ if(b==band70) {
+ b=bandGen;
+ }
}
- }
#endif
- }
- band=band_set_current(b);
- entry=bandstack_entry_get_current();
-
- setFrequency(entry->frequencyA);
- setMode(entry->mode);
- FILTER* band_filters=filters[entry->mode];
- FILTER* band_filter=&band_filters[entry->filter];
- setFilter(band_filter->low,band_filter->high);
+ }
+ band=band_set_current(b);
+ entry=bandstack_entry_get_current();
- band=band_get_current_band();
- set_alex_rx_antenna(band->alexRxAntenna);
- set_alex_tx_antenna(band->alexTxAntenna);
- set_alex_attenuation(band->alexAttenuation);
- vfo_update(NULL);
+ setFrequency(entry->frequencyA);
+ setMode(entry->mode);
+ FILTER* band_filters=filters[entry->mode];
+ FILTER* band_filter=&band_filters[entry->filter];
+ setFilter(band_filter->low,band_filter->high);
+
+ band=band_get_current_band();
+ set_alex_rx_antenna(band->alexRxAntenna);
+ set_alex_tx_antenna(band->alexTxAntenna);
+ set_alex_attenuation(band->alexAttenuation);
+ vfo_update(NULL);
+ }
}
void sim_bandstack_cb(GtkWidget *widget, gpointer data) {
BANDSTACK_ENTRY *entry;
fprintf(stderr,"sim_bandstack_cb\n");
- if(function) {
- entry=bandstack_entry_previous();
+ if(toolbar_dialog_buttons) {
+ bandstack_cb(widget,data);
} else {
- entry=bandstack_entry_next();
+ if(function) {
+ entry=bandstack_entry_previous();
+ } else {
+ entry=bandstack_entry_next();
+ }
+ setFrequency(entry->frequencyA);
+ setMode(entry->mode);
+ FILTER* band_filters=filters[entry->mode];
+ FILTER* band_filter=&band_filters[entry->filter];
+ setFilter(band_filter->low,band_filter->high);
+ vfo_update(NULL);
}
- setFrequency(entry->frequencyA);
- setMode(entry->mode);
- FILTER* band_filters=filters[entry->mode];
- FILTER* band_filter=&band_filters[entry->filter];
- setFilter(band_filter->low,band_filter->high);
- vfo_update(NULL);
}
void sim_mode_cb(GtkWidget *widget, gpointer data) {
BANDSTACK_ENTRY *entry;
fprintf(stderr,"sim_mode_cb\n");
- band=band_get_current_band();
- entry=bandstack_entry_get_current();
- if(function) {
- entry->mode--;
- if(entry->mode<0) {
- entry->mode=MODES-1;
- }
+ if(toolbar_dialog_buttons) {
+ mode_cb(widget,data);
} else {
- entry->mode++;
- if(entry->mode>=MODES) {
- entry->mode=0;
+ band=band_get_current_band();
+ entry=bandstack_entry_get_current();
+ if(function) {
+ entry->mode--;
+ if(entry->mode<0) {
+ entry->mode=MODES-1;
+ }
+ } else {
+ entry->mode++;
+ if(entry->mode>=MODES) {
+ entry->mode=0;
+ }
}
- }
- setMode(entry->mode);
+ setMode(entry->mode);
-fprintf(stderr,"sim_mode_cb: entry->mode=%d entry->filter=%d\n",entry->mode,entry->filter);
- FILTER* band_filters=filters[entry->mode];
- FILTER* band_filter=&band_filters[entry->filter];
- setFilter(band_filter->low,band_filter->high);
+ fprintf(stderr,"sim_mode_cb: entry->mode=%d entry->filter=%d\n",entry->mode,entry->filter);
+ FILTER* band_filters=filters[entry->mode];
+ FILTER* band_filter=&band_filters[entry->filter];
+ setFilter(band_filter->low,band_filter->high);
- vfo_update(NULL);
+ vfo_update(NULL);
+ }
}
void sim_filter_cb(GtkWidget *widget, gpointer data) {
BANDSTACK_ENTRY *entry;
fprintf(stderr,"sim_filter_cb\n");
- band=band_get_current_band();
- entry=bandstack_entry_get_current();
- // note order of filter reversed (largest first)
- if(function) {
- entry->filter++;
- if(entry->filter>=FILTERS) {
- entry->filter=0;
- }
+ if(toolbar_dialog_buttons) {
+ filter_cb(widget,data);
} else {
- entry->filter--;
- if(entry->filter<0) {
- entry->filter=FILTERS-1;
+ band=band_get_current_band();
+ entry=bandstack_entry_get_current();
+ // note order of filter reversed (largest first)
+ if(function) {
+ entry->filter++;
+ if(entry->filter>=FILTERS) {
+ entry->filter=0;
+ }
+ } else {
+ entry->filter--;
+ if(entry->filter<0) {
+ entry->filter=FILTERS-1;
+ }
}
- }
-
-fprintf(stderr,"sim_filter_cb: entry->mode=%d entry->filter=%d\n",entry->mode,entry->filter);
- FILTER* band_filters=filters[entry->mode];
- FILTER* band_filter=&band_filters[entry->filter];
- setFilter(band_filter->low,band_filter->high);
- vfo_update(NULL);
+ fprintf(stderr,"sim_filter_cb: entry->mode=%d entry->filter=%d\n",entry->mode,entry->filter);
+ FILTER* band_filters=filters[entry->mode];
+ FILTER* band_filter=&band_filters[entry->filter];
+ setFilter(band_filter->low,band_filter->high);
+
+ vfo_update(NULL);
+ }
}
void sim_agc_cb(GtkWidget *widget, gpointer data) {
fprintf(stderr,"sim_agc_cb\n");
- if(function) {
- agc--;
- if(agc<0) {
- agc=3;
- }
+ if(toolbar_dialog_buttons) {
+ agc_cb(widget,data);
} else {
- agc++;
- if(agc>=4) {
- agc=0;
+ if(function) {
+ agc--;
+ if(agc<0) {
+ agc=3;
+ }
+ } else {
+ agc++;
+ if(agc>=4) {
+ agc=0;
+ }
}
+ SetRXAAGCMode(CHANNEL_RX0, agc);
+ vfo_update(NULL);
}
- SetRXAAGCMode(CHANNEL_RX0, agc);
- vfo_update(NULL);
}
void sim_noise_cb(GtkWidget *widget, gpointer data) {
fprintf(stderr,"sim_noise_cb\n");
- if(function) {
- if(nr) {
- nr=0;
- } else if(nr2) {
- nr2=0;
- nr=1;
- } else if(anf) {
- anf=0;
- nr2=1;
- } else if(snb) {
- snb=0;
- anf=1;
- } else {
- snb=1;
- }
+ if(toolbar_dialog_buttons) {
+ noise_cb(widget,data);
} else {
- if(nr) {
- nr=0;
- nr2=1;
- } else if(nr2) {
- nr2=0;
- anf=1;
- } else if(anf) {
- anf=0;
- snb=1;
- } else if(snb) {
- snb=0;
+ if(function) {
+ if(nr) {
+ nr=0;
+ } else if(nr2) {
+ nr2=0;
+ nr=1;
+ } else if(anf) {
+ anf=0;
+ nr2=1;
+ } else if(snb) {
+ snb=0;
+ anf=1;
+ } else {
+ snb=1;
+ }
} else {
- nr=1;
+ if(nr) {
+ nr=0;
+ nr2=1;
+ } else if(nr2) {
+ nr2=0;
+ anf=1;
+ } else if(anf) {
+ anf=0;
+ snb=1;
+ } else if(snb) {
+ snb=0;
+ } else {
+ nr=1;
+ }
}
+ SetRXAANRRun(CHANNEL_RX0, nr);
+ SetRXAEMNRRun(CHANNEL_RX0, nr2);
+ SetRXAANFRun(CHANNEL_RX0, anf);
+ SetRXASNBARun(CHANNEL_RX0, snb);
+ vfo_update(NULL);
}
- SetRXAANRRun(CHANNEL_RX0, nr);
- SetRXAEMNRRun(CHANNEL_RX0, nr2);
- SetRXAANFRun(CHANNEL_RX0, anf);
- SetRXASNBARun(CHANNEL_RX0, snb);
- vfo_update(NULL);
-
}
-void update_toolbar() {
+void sim_mox_cb(GtkWidget *widget, gpointer data) {
+ fprintf(stderr,"sim_pressed\n");
if(function) {
- gtk_button_set_label(GTK_BUTTON(sim_band),"Band v");
- gtk_button_set_label(GTK_BUTTON(sim_bandstack),"BStack v");
- gtk_button_set_label(GTK_BUTTON(sim_mode),"Mode v");
- gtk_button_set_label(GTK_BUTTON(sim_filter),"Filter v");
- gtk_button_set_label(GTK_BUTTON(sim_noise),"Noise v");
- gtk_button_set_label(GTK_BUTTON(sim_agc),"AGC v");
- gtk_button_set_label(GTK_BUTTON(sim_mox),"Tune");
+ tune_cb((GtkWidget *)NULL, (gpointer)NULL);
} else {
- gtk_button_set_label(GTK_BUTTON(sim_band),"Band ^");
- gtk_button_set_label(GTK_BUTTON(sim_bandstack),"BStack ^");
- gtk_button_set_label(GTK_BUTTON(sim_mode),"Mode ^");
- gtk_button_set_label(GTK_BUTTON(sim_filter),"Filter ^");
- gtk_button_set_label(GTK_BUTTON(sim_noise),"Noise ^");
- gtk_button_set_label(GTK_BUTTON(sim_agc),"AGC ^");
- gtk_button_set_label(GTK_BUTTON(sim_mox),"Mox");
+ mox_cb((GtkWidget *)NULL, (gpointer)NULL);
}
}
void sim_function_cb(GtkWidget *widget, gpointer data) {
fprintf(stderr,"sim_function_cb\n");
function=function==1?0:1;
- update_toolbar();
+ update_toolbar_labels();
vfo_update(NULL);
}
-void sim_mox_cb(GtkWidget *widget, gpointer data) {
- fprintf(stderr,"sim_pressed\n");
- if(function) {
- tune_cb((GtkWidget *)NULL, (gpointer)NULL);
- } else {
- mox_cb((GtkWidget *)NULL, (gpointer)NULL);
- }
-}
-
GtkWidget *toolbar_init(int my_width, int my_height, GtkWidget* parent) {
width=my_width;
height=my_height;
gtk_widget_set_size_request (toolbar, width, height);
gtk_grid_set_column_homogeneous(GTK_GRID(toolbar),TRUE);
- if(toolbar_simulate_buttons) {
- sim_mox=gtk_button_new_with_label("Mox");
- //gtk_widget_override_font(sim_mox, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(sim_mox),"clicked",G_CALLBACK(sim_mox_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),sim_mox,0,0,4,1);
-
- sim_band=gtk_button_new_with_label("Band ^");
- gtk_widget_set_size_request (sim_band, button_width, 0);
- //gtk_widget_override_font(sim_band, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(sim_band),"clicked",G_CALLBACK(sim_band_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),sim_band,4,0,4,1);
-
- sim_bandstack=gtk_button_new_with_label("BStack ^");
- gtk_widget_set_size_request (sim_bandstack, button_width, 0);
- //gtk_widget_override_font(sim_bandstack, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(sim_bandstack),"clicked",G_CALLBACK(sim_bandstack_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),sim_bandstack,8,0,4,1);
-
- sim_mode=gtk_button_new_with_label("Mode ^");
- //gtk_widget_override_font(sim_mode, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(sim_mode),"clicked",G_CALLBACK(sim_mode_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),sim_mode,12,0,4,1);
-
- sim_filter=gtk_button_new_with_label("Filter ^");
- //gtk_widget_override_font(sim_filter, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(sim_filter),"clicked",G_CALLBACK(sim_filter_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),sim_filter,16,0,4,1);
-
- sim_noise=gtk_button_new_with_label("Noise ^");
- //gtk_widget_override_font(sim_noise, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(sim_noise),"clicked",G_CALLBACK(sim_noise_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),sim_noise,20,0,4,1);
-
- sim_agc=gtk_button_new_with_label("AGC ^");
- //gtk_widget_override_font(sim_agc, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(sim_agc),"clicked",G_CALLBACK(sim_agc_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),sim_agc,24,0,4,1);
-
- sim_function=gtk_button_new_with_label("Function");
- //gtk_widget_override_font(sim_function, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(sim_function),"clicked",G_CALLBACK(sim_function_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),sim_function,28,0,4,1);
-
- } else {
- GtkWidget *band=gtk_button_new_with_label("Band");
- gtk_widget_set_size_request (band, button_width, 0);
- //gtk_widget_override_font(band, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(band),"clicked",G_CALLBACK(band_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),band,0,0,4,1);
-
- GtkWidget *mode=gtk_button_new_with_label("Mode");
- //gtk_widget_override_font(mode, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(mode),"clicked",G_CALLBACK(mode_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),mode,4,0,4,1);
-
- GtkWidget *filter=gtk_button_new_with_label("Filter");
- //gtk_widget_override_font(filter, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(filter),"clicked",G_CALLBACK(filter_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),filter,8,0,4,1);
-
- GtkWidget *audio=gtk_button_new_with_label("Audio");
- //gtk_widget_override_font(audio, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(audio),"clicked",G_CALLBACK(audio_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),audio,12,0,4,1);
-
- GtkWidget *lock=gtk_button_new_with_label("Lock");
- //gtk_widget_override_font(lock, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(lock),"clicked",G_CALLBACK(lock_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),lock,16,0,4,1);
-
- GtkWidget *tune=gtk_button_new_with_label("Tune");
- //gtk_widget_override_font(tune, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(tune),"clicked",G_CALLBACK(tune_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),tune,24,0,4,1);
-
- GtkWidget *tx=gtk_button_new_with_label("Mox");
- //gtk_widget_override_font(tx, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(tx),"clicked",G_CALLBACK(mox_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),tx,28,0,4,1);
- }
+ sim_mox=gtk_button_new_with_label("Mox");
+ //gtk_widget_override_font(sim_mox, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_mox),"clicked",G_CALLBACK(sim_mox_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_mox,0,0,4,1);
+
+ sim_band=gtk_button_new_with_label("Band ^");
+ gtk_widget_set_size_request (sim_band, button_width, 0);
+ //gtk_widget_override_font(sim_band, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_band),"clicked",G_CALLBACK(sim_band_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_band,4,0,4,1);
+
+ sim_bandstack=gtk_button_new_with_label("BStack ^");
+ gtk_widget_set_size_request (sim_bandstack, button_width, 0);
+ //gtk_widget_override_font(sim_bandstack, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_bandstack),"clicked",G_CALLBACK(sim_bandstack_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_bandstack,8,0,4,1);
+
+ sim_mode=gtk_button_new_with_label("Mode ^");
+ //gtk_widget_override_font(sim_mode, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_mode),"clicked",G_CALLBACK(sim_mode_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_mode,12,0,4,1);
+
+ sim_filter=gtk_button_new_with_label("Filter ^");
+ //gtk_widget_override_font(sim_filter, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_filter),"clicked",G_CALLBACK(sim_filter_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_filter,16,0,4,1);
+
+ sim_noise=gtk_button_new_with_label("Noise ^");
+ //gtk_widget_override_font(sim_noise, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_noise),"clicked",G_CALLBACK(sim_noise_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_noise,20,0,4,1);
+
+ sim_agc=gtk_button_new_with_label("AGC ^");
+ //gtk_widget_override_font(sim_agc, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_agc),"clicked",G_CALLBACK(sim_agc_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_agc,24,0,4,1);
+
+ sim_function=gtk_button_new_with_label("Function");
+ //gtk_widget_override_font(sim_function, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_function),"clicked",G_CALLBACK(function_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_function,28,0,4,1);
+
+ update_toolbar_labels();
gtk_widget_show_all(toolbar);