2011-07-07 14:09:57 +00:00
|
|
|
#include <stdlib.h>
|
|
|
|
#include <gtk/gtk.h>
|
2011-07-29 20:09:42 +00:00
|
|
|
#include <alsa/asoundlib.h>
|
2011-07-07 14:09:57 +00:00
|
|
|
|
2011-08-02 23:42:56 +00:00
|
|
|
#include "common.h"
|
2011-07-07 14:09:57 +00:00
|
|
|
|
|
|
|
void createGUI() {
|
|
|
|
|
2011-08-02 23:42:56 +00:00
|
|
|
GtkBuilder *builder;
|
|
|
|
GtkWidget *quititem;
|
|
|
|
GtkWidget *aboutitem;
|
2011-08-10 20:43:17 +00:00
|
|
|
GtkWidget *prefitem;
|
2011-08-02 23:42:56 +00:00
|
|
|
|
|
|
|
builder = gtk_builder_new();
|
|
|
|
gtk_builder_add_from_file(builder, "slowrx.ui", NULL);
|
|
|
|
gtk_builder_add_from_file(builder, "aboutdialog.ui", NULL);
|
2011-08-10 20:43:17 +00:00
|
|
|
gtk_builder_add_from_file(builder, "prefs.ui", NULL);
|
2011-08-02 23:42:56 +00:00
|
|
|
|
|
|
|
vugrid = GTK_WIDGET(gtk_builder_get_object(builder,"vugrid"));
|
|
|
|
mainwindow = GTK_WIDGET(gtk_builder_get_object(builder,"mainwindow"));
|
|
|
|
RxImage = GTK_WIDGET(gtk_builder_get_object(builder,"RxImage"));
|
|
|
|
statusbar = GTK_WIDGET(gtk_builder_get_object(builder,"statusbar"));
|
|
|
|
infolabel = GTK_WIDGET(gtk_builder_get_object(builder,"infolabel"));
|
|
|
|
quititem = GTK_WIDGET(gtk_builder_get_object(builder,"quititem"));
|
2011-08-10 20:43:17 +00:00
|
|
|
prefitem = GTK_WIDGET(gtk_builder_get_object(builder,"prefmenuitem"));
|
2011-08-02 23:42:56 +00:00
|
|
|
aboutitem = GTK_WIDGET(gtk_builder_get_object(builder,"aboutitem"));
|
|
|
|
aboutdialog = GTK_WIDGET(gtk_builder_get_object(builder,"aboutdialog"));
|
2011-08-10 20:43:17 +00:00
|
|
|
prefdialog = GTK_WIDGET(gtk_builder_get_object(builder,"prefdialog"));
|
2011-08-07 17:46:35 +00:00
|
|
|
cardcombo = GTK_WIDGET(gtk_builder_get_object(builder,"cardcombo"));
|
2011-08-10 20:43:17 +00:00
|
|
|
togslant = GTK_WIDGET(gtk_builder_get_object(builder,"TogSlant"));
|
|
|
|
togsave = GTK_WIDGET(gtk_builder_get_object(builder,"TogSave"));
|
|
|
|
togadapt = GTK_WIDGET(gtk_builder_get_object(builder,"TogAdapt"));
|
|
|
|
togrx = GTK_WIDGET(gtk_builder_get_object(builder,"TogRx"));
|
2011-08-12 20:06:23 +00:00
|
|
|
togfsk = GTK_WIDGET(gtk_builder_get_object(builder,"TogFSK"));
|
2011-08-10 20:43:17 +00:00
|
|
|
modecombo = GTK_WIDGET(gtk_builder_get_object(builder,"modecombo"));
|
|
|
|
btnabort = GTK_WIDGET(gtk_builder_get_object(builder,"BtnAbort"));
|
|
|
|
btnstart = GTK_WIDGET(gtk_builder_get_object(builder,"BtnStart"));
|
|
|
|
manualframe = GTK_WIDGET(gtk_builder_get_object(builder,"ManualFrame"));
|
|
|
|
shiftspin = GTK_WIDGET(gtk_builder_get_object(builder,"ShiftSpin"));
|
|
|
|
pwrimage = GTK_WIDGET(gtk_builder_get_object(builder,"PowerImage"));
|
|
|
|
snrimage = GTK_WIDGET(gtk_builder_get_object(builder,"SNRImage"));
|
2011-08-12 20:06:23 +00:00
|
|
|
idlabel = GTK_WIDGET(gtk_builder_get_object(builder,"IDLabel"));
|
2011-08-13 12:26:49 +00:00
|
|
|
GtkWidget *iconview;
|
|
|
|
iconview = GTK_WIDGET(gtk_builder_get_object(builder,"SavedIconView"));
|
2011-08-02 23:42:56 +00:00
|
|
|
|
2011-08-03 20:25:05 +00:00
|
|
|
g_signal_connect (quititem, "activate", G_CALLBACK(delete_event), NULL);
|
|
|
|
g_signal_connect (mainwindow, "delete-event", G_CALLBACK(delete_event), NULL);
|
|
|
|
g_signal_connect_swapped(aboutitem, "activate", G_CALLBACK(gtk_widget_show_all), aboutdialog);
|
2011-08-10 20:43:17 +00:00
|
|
|
g_signal_connect_swapped(prefitem, "activate", G_CALLBACK(gtk_widget_show_all), prefdialog);
|
2011-08-03 20:25:05 +00:00
|
|
|
g_signal_connect_swapped(aboutdialog, "close", G_CALLBACK(gtk_widget_hide), aboutdialog);
|
2011-08-10 20:43:17 +00:00
|
|
|
g_signal_connect_swapped(togadapt, "toggled", G_CALLBACK(GetAdaptive), NULL);
|
|
|
|
g_signal_connect (btnstart, "clicked", G_CALLBACK(ManualStart), NULL);
|
2011-08-11 11:48:35 +00:00
|
|
|
g_signal_connect (btnabort, "clicked", G_CALLBACK(AbortRx), NULL);
|
2011-08-10 20:43:17 +00:00
|
|
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(togslant), TRUE);
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(togsave), TRUE);
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(togadapt), TRUE);
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(togrx), TRUE);
|
2011-08-13 12:26:49 +00:00
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(togfsk), TRUE);
|
2011-08-10 20:43:17 +00:00
|
|
|
gtk_combo_box_set_active (GTK_COMBO_BOX(modecombo), 0);
|
|
|
|
gtk_widget_set_sensitive (btnabort, FALSE);
|
2011-08-13 12:26:49 +00:00
|
|
|
|
|
|
|
savedstore = gtk_list_store_new (2, GDK_TYPE_PIXBUF, G_TYPE_STRING);
|
|
|
|
gtk_icon_view_set_model (GTK_ICON_VIEW(iconview), GTK_TREE_MODEL(savedstore));
|
|
|
|
gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW(iconview), 0);
|
|
|
|
gtk_icon_view_set_text_column (GTK_ICON_VIEW(iconview), 1);
|
|
|
|
|
2011-08-02 23:42:56 +00:00
|
|
|
RxPixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 320, 256);
|
|
|
|
ClearPixbuf (RxPixbuf, 320, 256);
|
|
|
|
DispPixbuf = gdk_pixbuf_scale_simple (RxPixbuf, 500, 400, GDK_INTERP_NEAREST);
|
|
|
|
gtk_image_set_from_pixbuf(GTK_IMAGE(RxImage), DispPixbuf);
|
|
|
|
|
2011-08-10 20:43:17 +00:00
|
|
|
pixbufPWR = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 100, 20);
|
|
|
|
pixbufSNR = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 100, 20);
|
2011-07-07 14:09:57 +00:00
|
|
|
|
2011-08-10 20:43:17 +00:00
|
|
|
setVU(0, -100);
|
2011-07-07 14:09:57 +00:00
|
|
|
|
2011-08-02 23:42:56 +00:00
|
|
|
gtk_widget_show_all (mainwindow);
|
2011-07-07 14:09:57 +00:00
|
|
|
|
|
|
|
}
|