static void rx_ant_cb(GtkWidget *widget, gpointer data) { int b=((int)data)>>4; int ant=((int)data)&0xF; BAND *band=band_get_band(b); band->alexRxAntenna=ant; set_alex_rx_antenna(ant); }
static void band_select_cb(GtkWidget *widget, gpointer data) { GtkWidget *label; int b=(int)data; BANDSTACK_ENTRY *entry; if(b==band_get_current()) { entry=bandstack_entry_next(); } else { BAND* band=band_set_current(b); entry=bandstack_entry_get_current(); gtk_widget_override_background_color(last_band, GTK_STATE_NORMAL, &white); last_band=widget; gtk_widget_override_background_color(last_band, GTK_STATE_NORMAL, &gray); } 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); BAND *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); }
void sim_band_cb(GtkWidget *widget, gpointer data) { 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; } #ifdef LIMESDR if(protocol!=LIMESDR_PROTOCOL) { if(b==band3400) { b=band6; } } #endif } else { b++; if(b>=BANDS) { b=0; } #ifdef LIMESDR 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_get_current_band(); set_alex_rx_antenna(band->alexRxAntenna); set_alex_tx_antenna(band->alexTxAntenna); set_alex_attenuation(band->alexAttenuation); vfo_update(NULL); }
GtkWidget* vfo_init(int width,int height,GtkWidget *parent) { fprintf(stderr,"vfo_init: width=%d height=%d\n", width, height); parent_window=parent; my_width=width; my_height=height; vfo = gtk_drawing_area_new (); gtk_widget_set_size_request (vfo, width, height); /* Signals used to handle the backing surface */ g_signal_connect (vfo, "draw", G_CALLBACK (vfo_draw_cb), NULL); g_signal_connect (vfo,"configure-event", G_CALLBACK (vfo_configure_event_cb), NULL); /* Event signals */ g_signal_connect (vfo, "button-press-event", G_CALLBACK (vfo_press_event_cb), NULL); g_signal_connect(vfo,"scroll_event", G_CALLBACK(vfo_scroll_event_cb),NULL); gtk_widget_set_events (vfo, gtk_widget_get_events (vfo) | GDK_BUTTON_PRESS_MASK | GDK_SCROLL_MASK); fprintf(stderr,"vfo_init: set Frequency,Mode,Filter\n"); BAND *band=band_get_current_band(); BANDSTACK_ENTRY* 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); set_alex_rx_antenna(band->alexRxAntenna); set_alex_tx_antenna(band->alexTxAntenna); set_alex_attenuation(band->alexAttenuation); return vfo; }