static GtkWidget* new_testrgb_window (GdkPixbuf *pixbuf, gchar *title) { GtkWidget *window; GtkWidget *vbox; GtkWidget *temp_box; GtkWidget *button; GtkWidget *drawing_area; gint w, h; w = gdk_pixbuf_get_width (pixbuf); h = gdk_pixbuf_get_height (pixbuf); window = gtk_widget_new (gtk_window_get_type (), "GtkObject::user_data", NULL, "GtkWindow::type", GTK_WINDOW_TOPLEVEL, "GtkWindow::title", "testrgb", "GtkWindow::allow_shrink", TRUE, NULL); gtk_signal_connect (GTK_OBJECT (window), "destroy", (GtkSignalFunc) quit_func, NULL); vbox = gtk_vbox_new (FALSE, 0); if (title) gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new (title), TRUE, TRUE, 0); drawing_area = gtk_drawing_area_new (); temp_box = gtk_hbox_new (FALSE, 0); gtk_drawing_area_size (GTK_DRAWING_AREA(drawing_area), w, h); gtk_box_pack_start (GTK_BOX (temp_box), drawing_area, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), temp_box, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT(drawing_area), "expose_event", GTK_SIGNAL_FUNC(expose_func), NULL); gtk_signal_connect (GTK_OBJECT(drawing_area), "configure_event", GTK_SIGNAL_FUNC (config_func), NULL); gtk_object_set_data (GTK_OBJECT(drawing_area), "pixbuf", pixbuf); gtk_widget_show (drawing_area); button = gtk_button_new_with_label ("Quit"); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); gtk_signal_connect_object (GTK_OBJECT (button), "clicked", (GtkSignalFunc) gtk_widget_destroy, GTK_OBJECT (window)); gtk_widget_show (button); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show_all (vbox); gtk_widget_show (window); return window; }
static GtkWidget* new_testrgb_window (GdkPixbuf *pixbuf, gchar *title) { GtkWidget *window; GtkWidget *vbox; GtkWidget *temp_box; GtkWidget *button; GtkWidget *drawing_area; gint w, h; g_return_val_if_fail (pixbuf != NULL, NULL); w = gdk_pixbuf_get_width (pixbuf); h = gdk_pixbuf_get_height (pixbuf); window = g_object_new (gtk_window_get_type (), "GtkObject::user_data", NULL, "GtkWindow::type", GTK_WINDOW_TOPLEVEL, "GtkWindow::title", title ? title : "testrgb", "GtkWindow::allow_shrink", TRUE, NULL); g_signal_connect (window, "destroy", G_CALLBACK (quit_func), NULL); vbox = gtk_vbox_new (FALSE, 0); if (title) gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new (title), TRUE, TRUE, 0); drawing_area = gtk_drawing_area_new (); temp_box = gtk_hbox_new (FALSE, 0); gtk_widget_set_size_request (GTK_WIDGET (drawing_area), w, h); gtk_box_pack_start (GTK_BOX (temp_box), drawing_area, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), temp_box, FALSE, FALSE, 0); g_signal_connect (drawing_area, "expose_event", G_CALLBACK (expose_func), NULL); g_signal_connect (drawing_area, "configure_event", G_CALLBACK (config_func), NULL); g_object_set_data (G_OBJECT (drawing_area), "pixbuf", pixbuf); gtk_widget_show (drawing_area); button = gtk_button_new_with_label ("Quit"); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_widget_destroy), window); gtk_widget_show (button); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show_all (vbox); gtk_widget_show (window); return drawing_area; }
/* * Initializes the GbWidget structure. * I've placed this at the end of the file so we don't have to include * declarations of all the functions. */ GbWidget * gb_window_init () { /* Initialise the GTK type */ volatile GtkType type; type = gtk_window_get_type (); /* Initialize the GbWidget structure */ gb_widget_init_struct (&gbwidget); /* Fill in the pixmap struct & tooltip */ gbwidget.pixmap_struct = window_xpm; gbwidget.tooltip = _("Window"); /* Fill in any functions that this GbWidget has */ gbwidget.gb_widget_new = gb_window_new; gbwidget.gb_widget_create_properties = gb_window_create_properties; gbwidget.gb_widget_get_properties = gb_window_get_properties; gbwidget.gb_widget_set_properties = gb_window_set_properties; gbwidget.gb_widget_write_source = gb_window_write_source; /* gbwidget.gb_widget_create_popup_menu = gb_window_create_popup_menu; */ return &gbwidget; }
int main (int argc, char *argv[]) { GtkWidget *window; gtk_init (&argc, &argv); window = g_object_connect (g_object_new (gtk_window_get_type (), "type", GTK_WINDOW_TOPLEVEL, "title", "hello world", "resizable", FALSE, NULL), "signal::destroy", gtk_main_quit, NULL, NULL); g_object_connect (g_object_new (gtk_button_get_type (), "GtkButton::label", "hello world", "GtkWidget::parent", window, "GtkWidget::visible", TRUE, NULL), "signal::clicked", hello, NULL, NULL); gtk_widget_show (window); gtk_main (); return 0; }
GType file_viewer_get_type (void) { static volatile gsize file_viewer_type_id__volatile = 0; if (g_once_init_enter (&file_viewer_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (FileViewerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) file_viewer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (FileViewer), 0, (GInstanceInitFunc) file_viewer_instance_init, NULL }; GType file_viewer_type_id; file_viewer_type_id = g_type_register_static (gtk_window_get_type (), "FileViewer", &g_define_type_info, 0); g_once_init_leave (&file_viewer_type_id__volatile, file_viewer_type_id); } return file_viewer_type_id__volatile; }
GType docker_gui_get_type (void) { static volatile gsize docker_gui_type_id__volatile = 0; if (g_once_init_enter (&docker_gui_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (DockerGuiClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) docker_gui_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DockerGui), 0, (GInstanceInitFunc) docker_gui_instance_init, NULL }; GType docker_gui_type_id; docker_gui_type_id = g_type_register_static (gtk_window_get_type (), "DockerGui", &g_define_type_info, 0); g_once_init_leave (&docker_gui_type_id__volatile, docker_gui_type_id); } return docker_gui_type_id__volatile; }
guint gtk_plug_get_type () { static guint plug_type = 0; if (!plug_type) { static const GtkTypeInfo plug_info = { "GtkPlug", sizeof (GtkPlug), sizeof (GtkPlugClass), (GtkClassInitFunc) gtk_plug_class_init, (GtkObjectInitFunc) gtk_plug_init, /* reserved_1 */ NULL, /* reserved_2 */ NULL, (GtkClassInitFunc) NULL, }; plug_type = gtk_type_unique (gtk_window_get_type (), &plug_info); } return plug_type; }
plug_type = gtk_type_unique (gtk_window_get_type (), &plug_info); } return plug_type; } static void gtk_plug_class_init (GtkPlugClass *class) { GtkWidgetClass *widget_class; GtkWindowClass *window_class; widget_class = (GtkWidgetClass *)class; window_class = (GtkWindowClass *)class; parent_class = gtk_type_class (gtk_window_get_type ()); widget_class->realize = gtk_plug_realize; widget_class->unrealize = gtk_plug_unrealize; widget_class->key_press_event = gtk_plug_key_press_event; widget_class->focus_in_event = gtk_plug_focus_in_event; widget_class->focus_out_event = gtk_plug_focus_out_event; window_class->set_focus = gtk_plug_set_focus; } static void gtk_plug_init (GtkPlug *plug) { GtkWindow *window;
static void create_vkbd(void) { GtkWidget *window, *container, *hbox; int i, j; KeyCode *keycodeptr, keycode = MIN_KEYCODE; static SPIBoolean true_val = True; static SPIBoolean false_val = False; window = g_object_connect (gtk_widget_new (gtk_window_get_type (), "user_data", NULL, "can_focus", FALSE, "type", GTK_WINDOW_TOPLEVEL, "window-position", GTK_WIN_POS_CENTER, "title", "test", "allow_grow", FALSE, "allow_shrink", FALSE, "border_width", 10, NULL), "signal::realize", keysynth_realize, NULL, "signal::destroy", keysynth_exit, NULL, NULL); container = gtk_widget_new (GTK_TYPE_VBOX, "GtkWidget::parent", window, "GtkWidget::visible", TRUE, NULL); for (i=0; i<MAX_ROWS-1; ++i) { hbox = gtk_widget_new (gtk_hbox_get_type(), "GtkWidget::parent", container, "GtkWidget::visible", TRUE, NULL); buttons[i] = g_new0 (GtkButton*, MAX_COLUMNS); for (j=0; j<MAX_COLUMNS; ++j) { keycodeptr = (KeyCode *) g_new0 (KeyCode, 1); *keycodeptr = keycode; buttons[i][j] = g_object_connect (gtk_widget_new (gtk_button_get_type (), "GtkWidget::parent", hbox, "GtkWidget::visible", TRUE, NULL), "signal::clicked", synth_keycode, keycodeptr, NULL); if (keycode == SHIFT_L_KEYCODE || keycode == SHIFT_R_KEYCODE) { g_object_connect (buttons[i][j], "signal::pressed", show_shift, &true_val, NULL); g_object_connect (buttons[i][j], "signal::released", show_shift, &false_val, NULL); } ++keycode; } } hbox = gtk_widget_new (gtk_hbox_get_type(), "GtkWidget::parent", container, "GtkWidget::visible", TRUE, NULL); buttons[i] = g_new0 (GtkButton*, 2); buttons[i][0] = g_object_connect (gtk_widget_new (gtk_button_get_type (), "GtkButton::label", "Quit", "GtkWidget::parent", hbox, "GtkWidget::visible", TRUE, NULL), "signal::clicked", button_exit, NULL, NULL); buttons[i][1] = g_object_connect (gtk_widget_new (gtk_button_get_type (), "GtkButton::label", "ShiftLatch", "GtkWidget::parent", hbox, "GtkWidget::visible", TRUE, NULL), "signal::clicked", toggle_shift_latch, NULL, NULL); label_buttons (caps_lock || shift_latched); gtk_widget_show (window); }
gtk_gui::gtk_gui(const char* title, const char* initfile) : m_programfilename(NULL), m_smilfilename(NULL), m_settings(NULL), m_toplevelcontainer(NULL), m_guicontainer(NULL), m_documentcontainer(NULL), #if GTK_MAJOR_VERSION >= 3 m_play(NULL), m_pause(NULL), m_stop(NULL), m_reload(NULL), #else // GTK_MAJOR_VERSION < 3 menubar(NULL), m_actions(NULL), #endif // GTK_MAJOR_VERSION < 3 #ifdef LOCK_MESSAGE m_gui_thread(0), #endif/*LOCK_MESSAGE*/ m_file_chooser(NULL), m_settings_chooser(NULL), m_url_text_entry(NULL), m_mainloop(NULL) { GError *error = NULL; // Initialization of the Menu Bar Items // There is a problem in here because the callbacks in Actions go like g_signal_connect (but, we need g_sginal_connect_swapped) #if GTK_MAJOR_VERSION >= 3 #else // GTK_MAJOR_VERSION < 3 static GtkActionEntry entries[] = { { "FileMenu", NULL, gettext_noop("_File")}, { "open", GTK_STOCK_OPEN, gettext_noop("_Open..."), "<Control>O", gettext_noop("Open a document from local disk"), NULL}, { "openurl", NULL, gettext_noop("Open _URL..."), "<Control>L", gettext_noop("Open a document from the network"), NULL}, { "reload", GTK_STOCK_REFRESH, gettext_noop("_Reload"), NULL, gettext_noop("Reload current document"), NULL}, { "preferences", GTK_STOCK_PREFERENCES , gettext_noop("_Preferences"), NULL, gettext_noop("Change application preferences"), NULL}, { "loadsettings", GTK_STOCK_PROPERTIES, gettext_noop("_Load Settings..."), NULL, gettext_noop("Open SMIL playback settings document"), NULL}, { "quit", GTK_STOCK_QUIT, gettext_noop("_Quit"), "<Control>Q", gettext_noop("Quit Ambulant Player"), NULL}, // Play Menu { "PlayMenu", NULL, gettext_noop("Pla_y")}, { "play", GTK_STOCK_MEDIA_PLAY, gettext_noop("Pla_y"), "<Control>P", gettext_noop("Start document playback"), NULL}, { "pause", GTK_STOCK_MEDIA_PAUSE, gettext_noop("_Pause"), "<Control><Shift>P", gettext_noop("Pause document playback"), NULL}, { "stop", GTK_STOCK_MEDIA_STOP, gettext_noop("_Stop"), "<Control>S", gettext_noop("Stop document playback"), NULL}, // View Menu { "ViewMenu", NULL, gettext_noop("_View")}, { "fullscreen", NULL, gettext_noop("_Full Screen"), "<Control>F", gettext_noop("Full Screen"), NULL}, { "window", NULL, gettext_noop("_Window"), "<Control><Alt>F", gettext_noop("Normal Screen"), NULL}, { "logwindow", NULL, gettext_noop("_Log Window..."), "<Control>L", gettext_noop("Show status output window"), NULL}, // Help Menu { "HelpMenu", NULL, gettext_noop("_Help")}, { "about", GTK_STOCK_ABOUT, gettext_noop("_About AmbulantPlayer"), NULL, gettext_noop("Information about Ambulant"), NULL}, { "help", GTK_STOCK_HELP, gettext_noop("AmbulantPlayer _Help..."), NULL, gettext_noop("Help in AmbulantPlayer Webpage"), NULL}, { "website", NULL, gettext_noop("AmbulantPlayer _Website..."), NULL, gettext_noop("Open the Ambulant Webpage"), NULL}, { "welcome", GTK_STOCK_HOME, gettext_noop("_Play Welcome Document"), "<Control><shift>H", gettext_noop("Plays a simple SMIL file"), NULL} }; int n_entries = G_N_ELEMENTS(entries); #endif // GTK_MAJOR_VERSION < 3 m_programfilename = title; #ifdef LOCK_MESSAGE pthread_cond_init(&m_cond_message, NULL); pthread_mutex_init(&m_lock_message, NULL); m_gui_thread = pthread_self(); #endif/*LOCK_MESSAGE*/ // If the URL starts with "ambulant:" this is the trick-uri-scheme to // open URLs in Ambulant from the browser. Remove the trick. if (strncmp(initfile, "ambulant:", 9) == 0) initfile += 9; if (initfile != NULL && initfile != "") m_smilfilename = strdup(initfile); /*Initialization of the Main Window */ #if GTK_MAJOR_VERSION >= 3 #else // GTK_MAJOR_VERSION < 3 m_toplevelcontainer = GTK_WINDOW (gtk_window_new (GTK_WINDOW_TOPLEVEL)); gtk_window_set_title(m_toplevelcontainer, initfile); gtk_window_set_resizable(m_toplevelcontainer, true); // gtk_widget_set_size_request(GTK_WIDGET (m_toplevelcontainer), 200, 150); // gtk_widget_set_uposition(GTK_WIDGET (m_toplevelcontainer), 240, 320); deprecated gtk_window_set_position(GTK_WINDOW (m_toplevelcontainer), GTK_WIN_POS_MOUSE); g_signal_connect_swapped (G_OBJECT (m_toplevelcontainer), "delete-event", G_CALLBACK (gtk_C_callback_quit), (void *) this); // Callback for the resize events // g_signal_connect_swapped (G_OBJECT (m_toplevelcontainer), "draw", G_CALLBACK (gtk_C_callback_resize), (void *) this); g_signal_connect_swapped (G_OBJECT (m_toplevelcontainer), "expose-event", G_CALLBACK (gtk_C_callback_resize), (void *) this); #endif // GTK_MAJOR_VERSION < 3 /* Initialization of the signals */ #if GTK_MAJOR_VERSION >= 3 signal_player_done_id = g_signal_new ("signal-player-done", gtk_window_get_type(), G_SIGNAL_RUN_LAST, 0, 0, 0, 0, G_TYPE_NONE, 0, NULL); signal_need_redraw_id = g_signal_new ("signal-need-redraw", gtk_window_get_type(), G_SIGNAL_RUN_LAST, 0, 0, 0, 0, G_TYPE_NONE, 3, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_POINTER); signal_internal_message_id = g_signal_new ("signal-internal-message", gtk_window_get_type(), G_SIGNAL_RUN_LAST, 0, 0, 0, 0, G_TYPE_NONE, 1, G_TYPE_POINTER); #else // GTK_MAJOR_VERSION < 3 signal_player_done_id = g_signal_new ("signal-player-done", gtk_window_get_type(), G_SIGNAL_RUN_LAST, 0, 0, 0, g_cclosure_marshal_VOID__VOID,GTK_TYPE_NONE, 0, NULL); signal_need_redraw_id = g_signal_new ("signal-need-redraw", gtk_window_get_type(), G_SIGNAL_RUN_LAST, 0, 0, 0, gtk_marshal_NONE__POINTER_POINTER_POINTER,GTK_TYPE_NONE, 3, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_POINTER); signal_internal_message_id = g_signal_new ("signal-internal-message", gtk_window_get_type(), G_SIGNAL_RUN_LAST, 0, 0, 0, 0, G_TYPE_NONE, 1, G_TYPE_POINTER); // Signal connections g_signal_connect_swapped (G_OBJECT (m_toplevelcontainer), "signal-player-done", G_CALLBACK (gtk_C_callback_do_player_done), (void*)this); g_signal_connect_swapped (G_OBJECT (m_toplevelcontainer), "signal-need-redraw", G_CALLBACK (gtk_C_callback_do_player_done), (void*)this); g_signal_connect_swapped (G_OBJECT (m_toplevelcontainer), "signal-internal-message", G_CALLBACK (gtk_C_callback_do_internal_message), (void*)this); /* VBox (m_guicontainer) to place the Menu bar in the correct place */ m_guicontainer = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(m_toplevelcontainer), GTK_WIDGET (m_guicontainer)); #endif // GTK_MAJOR_VERSION < 3 #if GTK_MAJOR_VERSION >= 3 GtkBuilder* builder = gtk_builder_new (); // The layout of the GUI is made using 'glade' gtk_builder_add_from_file (builder, AMBULANT_DATADIR "/ambulant-gtk_gui.xml", NULL); m_toplevelcontainer = GTK_WIDGET (gtk_builder_get_object (builder, "window")); gtk_builder_connect_signals (builder, NULL); // The remove window button g_signal_connect_swapped (G_OBJECT (m_toplevelcontainer), "delete-event", G_CALLBACK (gtk_C_callback_quit), (void *) this); // The actual activation calls for selected menu items, as found by name in the processed .xml file g_signal_connect_swapped (G_OBJECT (gtk_builder_find_menu_item(builder, "open_menu_item")), "activate", G_CALLBACK (gtk_C_callback_open), (void *) this ); g_signal_connect_swapped (G_OBJECT (gtk_builder_find_menu_item(builder, "url_menu_item")), "activate", G_CALLBACK (gtk_C_callback_open_url), (void *) this ); g_signal_connect_swapped ((GObject*)(m_reload = gtk_builder_find_menu_item(builder, "reload_menu_item")), "activate", G_CALLBACK (gtk_C_callback_reload), (void *) this ); g_signal_connect_swapped (G_OBJECT (gtk_builder_find_menu_item(builder, "preferences_menu_item")), "activate", G_CALLBACK (gtk_C_callback_settings_select), (void *) this ); g_signal_connect_swapped (G_OBJECT (gtk_builder_find_menu_item(builder, "settings_menu_item")), "activate", G_CALLBACK (gtk_C_callback_load_settings), (void *) this ); g_signal_connect_swapped (G_OBJECT (gtk_builder_find_menu_item(builder, "quit_menu_item")), "activate", G_CALLBACK (gtk_C_callback_quit), (void *) this ); g_signal_connect_swapped ((GObject*)(m_play = gtk_builder_find_menu_item(builder, "play_menu_item")), "activate", G_CALLBACK (gtk_C_callback_play), (void *) this ); g_signal_connect_swapped ((GObject*)(m_pause = gtk_builder_find_menu_item(builder, "pause_menu_item")), "activate", G_CALLBACK (gtk_C_callback_pause), (void *) this ); g_signal_connect_swapped ((GObject*)(m_stop = gtk_builder_find_menu_item(builder, "stop_menu_item")), "activate", G_CALLBACK (gtk_C_callback_stop), (void *) this ); g_signal_connect_swapped (G_OBJECT (gtk_builder_find_menu_item(builder, "fullscreen_menu_item")), "activate", G_CALLBACK (gtk_C_callback_full_screen), (void *) this ); g_signal_connect_swapped (G_OBJECT (gtk_builder_find_menu_item(builder, "normalscreen_menu_item")), "activate", G_CALLBACK (gtk_C_callback_normal_screen), (void *) this ); g_signal_connect_swapped (G_OBJECT (gtk_builder_find_menu_item(builder, "logger_window_menu_item")), "activate", G_CALLBACK (gtk_C_callback_logger_window), (void *) this ); g_signal_connect_swapped (G_OBJECT (gtk_builder_find_menu_item(builder, "about_menu_item")), "activate", G_CALLBACK (gtk_C_callback_about), (void *) this ); g_signal_connect_swapped (G_OBJECT (gtk_builder_find_menu_item(builder, "help_menu_item")), "activate", G_CALLBACK (gtk_C_callback_help), (void *) this ); g_signal_connect_swapped (G_OBJECT (gtk_builder_find_menu_item(builder, "homepage_menu_item")), "activate", G_CALLBACK (gtk_C_callback_homepage), (void *) this ); g_signal_connect_swapped (G_OBJECT (gtk_builder_find_menu_item(builder, "play_welcome_menu_item")), "activate", G_CALLBACK (gtk_C_callback_welcome), (void *) this ); g_signal_connect_swapped (G_OBJECT (m_toplevelcontainer), "signal-player-done", G_CALLBACK (gtk_C_callback_do_player_done), (void*)this); g_signal_connect_swapped (G_OBJECT (m_toplevelcontainer), "signal-need-redraw", G_CALLBACK (gtk_C_callback_do_player_done), (void*)this); g_signal_connect_swapped (G_OBJECT (m_toplevelcontainer), "signal-internal-message", G_CALLBACK (gtk_C_callback_do_internal_message), (void*)this); gtk_widget_show (m_toplevelcontainer); /* VBox (m_guicontainer) to place the Menu bar in the correct place */ m_guicontainer = gtk_builder_find_menu_item (builder, "topbox"); g_object_unref (G_OBJECT (builder)); gtk_box_set_homogeneous ((GtkBox*) m_guicontainer, false); #else // GTK_MAJOR_VERSION < 3 /* The Action Group that includes the menu bar */ m_actions = gtk_action_group_new("Actions"); gtk_action_group_set_translation_domain(m_actions, PACKAGE); gtk_action_group_add_actions(m_actions, entries, n_entries, (void*)this); /* The Gtk UI Manager */ GtkUIManager *ui = gtk_ui_manager_new(); if (!gtk_ui_manager_add_ui_from_string(ui, ui_description, -1, &error)) g_error("Could not merge UI, error was: %s\n", error->message); gtk_ui_manager_insert_action_group(ui, m_actions, 0); gtk_window_add_accel_group(m_toplevelcontainer, gtk_ui_manager_get_accel_group(ui)); // The actual activation calls g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "open"), "activate", G_CALLBACK (gtk_C_callback_open), (void *) this ); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "openurl"), "activate", G_CALLBACK (gtk_C_callback_open_url), (void*)this); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "reload"), "activate", G_CALLBACK (gtk_C_callback_reload), (void*)this); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "preferences"), "activate", G_CALLBACK (gtk_C_callback_settings_select), (void *) this ); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "loadsettings"), "activate", G_CALLBACK (gtk_C_callback_load_settings), (void*)this); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "quit"), "activate", G_CALLBACK (gtk_C_callback_quit), (void*)this); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "play"), "activate", G_CALLBACK (gtk_C_callback_play), (void*)this); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "pause"), "activate", G_CALLBACK (gtk_C_callback_pause), (void*)this ); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "stop"), "activate", G_CALLBACK (gtk_C_callback_stop), (void*)this); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "fullscreen"), "activate", G_CALLBACK (gtk_C_callback_full_screen), (void*)this); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "window"), "activate", G_CALLBACK (gtk_C_callback_normal_screen), (void*)this); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "logwindow"), "activate", G_CALLBACK (gtk_C_callback_logger_window), (void*)this); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "about"), "activate", G_CALLBACK (gtk_C_callback_about), (void*)this); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "help"), "activate", G_CALLBACK (gtk_C_callback_help), (void*)this); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "website"), "activate", G_CALLBACK (gtk_C_callback_homepage), (void*)this); g_signal_connect_swapped (gtk_action_group_get_action (m_actions, "welcome"), "activate", G_CALLBACK (gtk_C_callback_welcome), (void*)this); /* Creation of the Menubar and Menu Items */ menubar = gtk_ui_manager_get_widget (ui, "/MenuBar"); gtk_box_pack_start (GTK_BOX (m_guicontainer), menubar, FALSE, FALSE, 0); gtk_widget_show_all(GTK_WIDGET (m_toplevelcontainer)); #endif // GTK_MAJOR_VERSION < 3 /* Creation of the document area */ m_documentcontainer = gtk_drawing_area_new(); gtk_widget_hide(m_documentcontainer); gtk_box_pack_start (GTK_BOX (m_guicontainer), m_documentcontainer, TRUE, TRUE, 0); #if GTK_MAJOR_VERSION >= 3 _update_menus(); #else // GTK_MAJOR_VERSION < 3 // creates the main loop main_loop = g_main_loop_new(NULL, FALSE); _update_menus(); #endif // GTK_MAJOR_VERSION < 3 }