/* * DO NOT EDIT THIS FILE - it is generated by Glade. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include #include "callbacks.h" #include "interface.h" #include "support.h" #define GLADE_HOOKUP_OBJECT(component,widget,name) \ g_object_set_data_full (G_OBJECT (component), name, \ gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ g_object_set_data (G_OBJECT (component), name, widget) static GtkWidget * create_buttons_transport(GtkWidget *top, int type) { int i; GtkWidget *hbox; gchar name[32]; const static struct { int type; gchar* tooltip; gchar* filename; } buttons[] = { { 2, "Beginning of playlist", "stock_media-begin-16.png" }, { 2, "Start of clip", "stock_media-prev-16.png" }, { 2, "Rewind", "stock_media-rew-16.png" }, { 2, "Previous frame", "stock_media-prev-frame-16.png" }, { 1, "Play", "player_play_64x32_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ }, { 1, "Pause", "player_pause_32x32_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ }, { 1, "Stop", "player_stop_32x32_(Axialis_Team).png" /* Free Icons by Axialis Software http://www.axialis.com */ }, { 2, "Next frame", "stock_media-next-frame-16.png" }, { 2, "Fast forward", "stock_media-fwd-16.png" }, { 2, "Next clip", "stock_media-next-16.png" }, { 2, "End of playlist", "stock_media-end-16.png" }, { 2, "Loop On", "eof-loop-16.png" }, { 2, "Loop Off", "eof-pause-16.png" }, { 0, NULL, NULL } }; hbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox); for(i = 0; buttons[i].filename; i++) { GtkWidget *transport, *image; if ( type != buttons[i].type ) continue; transport = gtk_button_new (); gtk_widget_show (transport); gtk_box_pack_start (GTK_BOX (hbox), transport, TRUE, FALSE, 0); GTK_WIDGET_UNSET_FLAGS (transport, GTK_CAN_FOCUS); gtk_button_set_relief (GTK_BUTTON (transport), GTK_RELIEF_NONE); gtk_widget_set_tooltip_text (transport, buttons[i].tooltip); image = gtk_image_new_from_pixbuf(create_pixbuf(buttons[i].filename)); gtk_widget_show (image); gtk_container_add (GTK_CONTAINER (transport), image); snprintf(name, sizeof(name), "transport_%d", i); GLADE_HOOKUP_OBJECT (top, transport, name); snprintf(name, sizeof(name), "transport_image_%d", i); GLADE_HOOKUP_OBJECT (top, image, name); }; snprintf(name, sizeof(name), "buttons_transport_hbox_%d", type); GLADE_HOOKUP_OBJECT (top, hbox, name); return hbox; }; static GtkWidget * create_block_buttons_transport(GtkWidget *top, int type) { gchar name[32]; GtkWidget *hbox, *label[2]; hbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox); snprintf(name, sizeof(name), "bbt_label_%da", type); label[0] = gtk_label_new (name); gtk_widget_show (label[0]); gtk_box_pack_start (GTK_BOX (hbox), label[0], TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label[0]), GTK_JUSTIFY_LEFT); GLADE_HOOKUP_OBJECT (top, label[0], name); gtk_box_pack_start (GTK_BOX (hbox), create_buttons_transport(top, type), FALSE, TRUE, 0); snprintf(name, sizeof(name), "bbt_label_%db", type); label[1] = gtk_label_new (name); gtk_widget_show (label[1]); gtk_box_pack_start (GTK_BOX (hbox), label[1], TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label[1]), GTK_JUSTIFY_LEFT); GLADE_HOOKUP_OBJECT (top, label[0], name); return hbox; }; GtkWidget* create_gdv1394d (void) { GtkWidget *gdv1394d; GtkWidget *vbox1; // GtkWidget *handlebox2; GtkWidget *hbox27; GtkWidget *vbox9; // GtkWidget *menubar; // GtkWidget *menuitem1; // GtkWidget *menuitem1_menu; // GtkWidget *item_connect; // GtkWidget *item_disconnect; // GtkWidget *separatormenuitem1; // GtkWidget *item_quit; GtkWidget *toolbar1; GtkWidget *tmp_toolbar_icon; GtkWidget *button_connect; GtkWidget *button_disconnect; // GtkWidget *vseparator1; // GtkWidget *button_quit; GtkWidget *hbox; // GtkWidget *toolbar2; GtkWidget *vbox6; GtkWidget *notebook1; GtkWidget *empty_notebook_page; GtkWidget *label40; GtkWidget *vbox_trim; GtkWidget *statusbar; GtkWidget *button_open_playlist, *button_save_playlist; gdv1394d = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (gdv1394d), _("Melted Client")); gtk_window_set_default_size (GTK_WINDOW (gdv1394d), 640, 480); vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (gdv1394d), vbox1); // handlebox2 = gtk_handle_box_new (); // gtk_widget_show (handlebox2); // gtk_box_pack_start (GTK_BOX (vbox1), handlebox2, FALSE, FALSE, 0); hbox27 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox27); // gtk_container_add (GTK_CONTAINER (handlebox2), hbox27); gtk_box_pack_start (GTK_BOX (vbox1), hbox27, FALSE, FALSE, 0); vbox9 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox9); gtk_box_pack_start (GTK_BOX (hbox27), vbox9, TRUE, TRUE, 0); // menubar = gtk_menu_bar_new (); // gtk_widget_show (menubar); // gtk_box_pack_start (GTK_BOX (vbox9), menubar, TRUE, TRUE, 0); // menuitem1 = gtk_menu_item_new_with_mnemonic (_("_File")); // gtk_widget_show (menuitem1); // gtk_container_add (GTK_CONTAINER (menubar), menuitem1); // menuitem1_menu = gtk_menu_new (); // gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem1), menuitem1_menu); // item_connect = gtk_menu_item_new_with_mnemonic (_("_Connect")); // gtk_widget_show (item_connect); // gtk_container_add (GTK_CONTAINER (menuitem1_menu), item_connect); // item_disconnect = gtk_menu_item_new_with_mnemonic (_("_Disconnect")); // gtk_widget_show (item_disconnect); // gtk_container_add (GTK_CONTAINER (menuitem1_menu), item_disconnect); // separatormenuitem1 = gtk_menu_item_new (); // gtk_widget_show (separatormenuitem1); // gtk_container_add (GTK_CONTAINER (menuitem1_menu), separatormenuitem1); // gtk_widget_set_sensitive (separatormenuitem1, FALSE); // item_quit = gtk_menu_item_new_with_mnemonic (_("_Quit")); // gtk_widget_show (item_quit); // gtk_container_add (GTK_CONTAINER (menuitem1_menu), item_quit); toolbar1 = gtk_toolbar_new (); gtk_widget_show (toolbar1); gtk_box_pack_start (GTK_BOX (hbox27), toolbar1, TRUE, TRUE, 0); gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_BOTH_HORIZ); tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-connect", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1))); button_connect = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_TOGGLEBUTTON, NULL, "Connect", _("Connect to a server"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); gtk_widget_show (button_connect); tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-disconnect", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1))); button_disconnect = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_TOGGLEBUTTON, NULL, "Disconnect", _("Disconnect from server"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); gtk_widget_show (button_disconnect); gtk_toolbar_append_space (GTK_TOOLBAR (toolbar1)); tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-open", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1))); button_open_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, "Open Playlist", _("Open playlist"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); gtk_widget_show (button_open_playlist); GLADE_HOOKUP_OBJECT (gdv1394d, button_open_playlist, "button_open_playlist"); tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-save-as", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1))); button_save_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_CHILD_BUTTON, NULL, "Save Playlist", _("Save playlist"), NULL, tmp_toolbar_icon, NULL, NULL); gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); gtk_widget_show (button_save_playlist); GLADE_HOOKUP_OBJECT (gdv1394d, button_save_playlist, "button_save_playlist"); gtk_toolbar_append_space (GTK_TOOLBAR (toolbar1)); // vseparator1 = gtk_vseparator_new (); // gtk_widget_show (vseparator1); // gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), vseparator1, NULL, NULL); // tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-quit", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1))); // button_quit = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1), // GTK_TOOLBAR_CHILD_BUTTON, // NULL, // "", // _("Exit"), NULL, // tmp_toolbar_icon, NULL, NULL); // gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE); // gtk_widget_show (button_quit); hbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox); gtk_box_pack_start (GTK_BOX (vbox1), hbox, TRUE, TRUE, 0); // toolbar2 = gtk_toolbar_new (); // gtk_widget_show (toolbar2); // gtk_box_pack_start (GTK_BOX (hbox), toolbar2, FALSE, TRUE, 0); // gtk_toolbar_set_style (GTK_TOOLBAR (toolbar2), GTK_TOOLBAR_BOTH); // gtk_toolbar_set_orientation (GTK_TOOLBAR (toolbar2), GTK_ORIENTATION_VERTICAL); vbox6 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox6); gtk_box_pack_start (GTK_BOX (hbox), vbox6, TRUE, TRUE, 0); notebook1 = gtk_notebook_new (); gtk_widget_show (notebook1); gtk_box_pack_start (GTK_BOX (vbox6), notebook1, TRUE, TRUE, 0); GTK_WIDGET_UNSET_FLAGS (notebook1, GTK_CAN_FOCUS); gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook1), FALSE); gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook1), GTK_POS_RIGHT); gtk_notebook_popup_enable (GTK_NOTEBOOK (notebook1)); gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook1), FALSE); empty_notebook_page = gtk_vbox_new (FALSE, 0); gtk_widget_show (empty_notebook_page); gtk_container_add (GTK_CONTAINER (notebook1), empty_notebook_page); label40 = gtk_label_new ("label40"); gtk_widget_show (label40); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label40); gtk_label_set_justify (GTK_LABEL (label40), GTK_JUSTIFY_LEFT); gtk_box_pack_start (GTK_BOX (vbox6), create_block_buttons_transport(gdv1394d, 1), FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox6), create_block_buttons_transport(gdv1394d, 2), FALSE, TRUE, 0); vbox_trim = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox_trim); gtk_box_pack_start (GTK_BOX (vbox6), vbox_trim, FALSE, TRUE, 0); statusbar = gtk_statusbar_new (); gtk_widget_show (statusbar); gtk_box_pack_start (GTK_BOX (vbox1), statusbar, FALSE, FALSE, 0); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (gdv1394d, gdv1394d, "gdv1394d"); GLADE_HOOKUP_OBJECT (gdv1394d, vbox1, "vbox1"); // GLADE_HOOKUP_OBJECT (gdv1394d, handlebox2, "handlebox2"); GLADE_HOOKUP_OBJECT (gdv1394d, hbox27, "hbox27"); GLADE_HOOKUP_OBJECT (gdv1394d, vbox9, "vbox9"); // GLADE_HOOKUP_OBJECT (gdv1394d, menubar, "menubar"); // GLADE_HOOKUP_OBJECT (gdv1394d, menuitem1, "menuitem1"); // GLADE_HOOKUP_OBJECT (gdv1394d, menuitem1_menu, "menuitem1_menu"); // GLADE_HOOKUP_OBJECT (gdv1394d, item_connect, "item_connect"); // GLADE_HOOKUP_OBJECT (gdv1394d, item_disconnect, "item_disconnect"); // GLADE_HOOKUP_OBJECT (gdv1394d, separatormenuitem1, "separatormenuitem1"); // GLADE_HOOKUP_OBJECT (gdv1394d, item_quit, "item_quit"); GLADE_HOOKUP_OBJECT (gdv1394d, toolbar1, "toolbar1"); GLADE_HOOKUP_OBJECT (gdv1394d, button_connect, "button_connect"); GLADE_HOOKUP_OBJECT (gdv1394d, button_disconnect, "button_disconnect"); // GLADE_HOOKUP_OBJECT (gdv1394d, vseparator1, "vseparator1"); // GLADE_HOOKUP_OBJECT (gdv1394d, button_quit, "button_quit"); GLADE_HOOKUP_OBJECT (gdv1394d, hbox, "hbox"); // GLADE_HOOKUP_OBJECT (gdv1394d, toolbar2, "toolbar2"); GLADE_HOOKUP_OBJECT (gdv1394d, vbox6, "vbox6"); GLADE_HOOKUP_OBJECT (gdv1394d, notebook1, "notebook1"); GLADE_HOOKUP_OBJECT (gdv1394d, label40, "label40"); GLADE_HOOKUP_OBJECT (gdv1394d, vbox_trim, "vbox_trim"); GLADE_HOOKUP_OBJECT (gdv1394d, statusbar, "statusbar"); return gdv1394d; } GtkWidget* create_window_connection (void) { GtkWidget *window_connection; GtkWidget *table2; GtkWidget *label30; GtkWidget *label31; GtkWidget *entry_server; GtkWidget *hbuttonbox4; GtkWidget *button_connect; GtkWidget *alignment2; GtkWidget *hbox8; GtkWidget *image2; GtkWidget *label32; GtkWidget *button_cancel; GtkWidget *alignment3; GtkWidget *hbox9; GtkWidget *image3; GtkWidget *label33; GtkWidget *hbox10; GtkWidget *entry_port; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); window_connection = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window_connection), _("Connection")); gtk_window_set_position (GTK_WINDOW (window_connection), GTK_WIN_POS_MOUSE); gtk_window_set_modal (GTK_WINDOW (window_connection), TRUE); gtk_window_set_resizable (GTK_WINDOW (window_connection), FALSE); gtk_container_set_border_width (GTK_CONTAINER (window_connection), 8); table2 = gtk_table_new (3, 2, FALSE); gtk_widget_show (table2); gtk_container_add (GTK_CONTAINER (window_connection), table2); gtk_table_set_row_spacings (GTK_TABLE (table2), 8); gtk_table_set_col_spacings (GTK_TABLE (table2), 8); label30 = gtk_label_new (_("Server ")); gtk_widget_show (label30); gtk_table_attach (GTK_TABLE (table2), label30, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label30), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label30), 0, 0.5); label31 = gtk_label_new (_("Port")); gtk_widget_show (label31); gtk_table_attach (GTK_TABLE (table2), label31, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label31), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label31), 0, 0.5); entry_server = gtk_entry_new (); gtk_widget_show (entry_server); gtk_table_attach (GTK_TABLE (table2), entry_server, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_text (GTK_ENTRY (entry_server), _("localhost")); hbuttonbox4 = gtk_hbutton_box_new (); gtk_widget_show (hbuttonbox4); gtk_table_attach (GTK_TABLE (table2), hbuttonbox4, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox4), GTK_BUTTONBOX_SPREAD); button_cancel = gtk_button_new (); gtk_widget_show (button_cancel); gtk_container_add (GTK_CONTAINER (hbuttonbox4), button_cancel); GTK_WIDGET_SET_FLAGS (button_cancel, GTK_CAN_DEFAULT); gtk_button_set_relief (GTK_BUTTON (button_cancel), GTK_RELIEF_NONE); alignment3 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment3); gtk_container_add (GTK_CONTAINER (button_cancel), alignment3); hbox9 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox9); gtk_container_add (GTK_CONTAINER (alignment3), hbox9); image3 = gtk_image_new_from_stock ("gtk-cancel", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image3); gtk_box_pack_start (GTK_BOX (hbox9), image3, FALSE, FALSE, 0); label33 = gtk_label_new_with_mnemonic (_("Cancel")); gtk_widget_show (label33); gtk_box_pack_start (GTK_BOX (hbox9), label33, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label33), GTK_JUSTIFY_LEFT); button_connect = gtk_button_new (); gtk_widget_show (button_connect); gtk_container_add (GTK_CONTAINER (hbuttonbox4), button_connect); GTK_WIDGET_SET_FLAGS (button_connect, GTK_CAN_DEFAULT); gtk_widget_add_accelerator (button_connect, "clicked", accel_group, GDK_Return, 0, GTK_ACCEL_VISIBLE); gtk_button_set_relief (GTK_BUTTON (button_connect), GTK_RELIEF_NONE); alignment2 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment2); gtk_container_add (GTK_CONTAINER (button_connect), alignment2); hbox8 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox8); gtk_container_add (GTK_CONTAINER (alignment2), hbox8); image2 = gtk_image_new_from_stock ("gtk-ok", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image2); gtk_box_pack_start (GTK_BOX (hbox8), image2, FALSE, FALSE, 0); label32 = gtk_label_new_with_mnemonic (_("Connect")); gtk_widget_show (label32); gtk_box_pack_start (GTK_BOX (hbox8), label32, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label32), GTK_JUSTIFY_LEFT); hbox10 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox10); gtk_table_attach (GTK_TABLE (table2), hbox10, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); entry_port = gtk_entry_new (); gtk_widget_show (entry_port); gtk_box_pack_start (GTK_BOX (hbox10), entry_port, FALSE, TRUE, 0); gtk_entry_set_max_length (GTK_ENTRY (entry_port), 5); gtk_entry_set_text (GTK_ENTRY (entry_port), _("5250")); gtk_entry_set_width_chars (GTK_ENTRY (entry_port), 5); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (window_connection, window_connection, "window_connection"); GLADE_HOOKUP_OBJECT (window_connection, table2, "table2"); GLADE_HOOKUP_OBJECT (window_connection, label30, "label30"); GLADE_HOOKUP_OBJECT (window_connection, label31, "label31"); GLADE_HOOKUP_OBJECT (window_connection, entry_server, "entry_server"); GLADE_HOOKUP_OBJECT (window_connection, hbuttonbox4, "hbuttonbox4"); GLADE_HOOKUP_OBJECT (window_connection, button_connect, "button_connect"); GLADE_HOOKUP_OBJECT (window_connection, alignment2, "alignment2"); GLADE_HOOKUP_OBJECT (window_connection, hbox8, "hbox8"); GLADE_HOOKUP_OBJECT (window_connection, image2, "image2"); GLADE_HOOKUP_OBJECT (window_connection, label32, "label32"); GLADE_HOOKUP_OBJECT (window_connection, button_cancel, "button_cancel"); GLADE_HOOKUP_OBJECT (window_connection, alignment3, "alignment3"); GLADE_HOOKUP_OBJECT (window_connection, hbox9, "hbox9"); GLADE_HOOKUP_OBJECT (window_connection, image3, "image3"); GLADE_HOOKUP_OBJECT (window_connection, label33, "label33"); GLADE_HOOKUP_OBJECT (window_connection, hbox10, "hbox10"); GLADE_HOOKUP_OBJECT (window_connection, entry_port, "entry_port"); gtk_widget_grab_default (button_connect); gtk_window_add_accel_group (GTK_WINDOW (window_connection), accel_group); return window_connection; } static GtkWidget* create_pane_status (GtkWidget* parent, GtkWidget* top) { int i; char buf[32]; GtkWidget *scrolledwindow; GtkWidget *viewport; GtkWidget *table; GSList *radiobutton_group = NULL; // create a scrolled area scrolledwindow = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow); if ( parent ) gtk_container_add (GTK_CONTAINER (parent), scrolledwindow); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); GLADE_HOOKUP_OBJECT (top, scrolledwindow, "scrolledwindow4"); // create a viewport viewport = gtk_viewport_new (NULL, NULL); gtk_widget_show (viewport); gtk_container_add (GTK_CONTAINER (scrolledwindow), viewport); GLADE_HOOKUP_OBJECT (top, viewport, "viewport1"); // create a table for displaying radios table = gtk_table_new (32, 1, FALSE); gtk_widget_show (table); gtk_container_add (GTK_CONTAINER (viewport), table); GLADE_HOOKUP_OBJECT (top, table, "table3"); for (i = 0; i < 16; i++) { GtkWidget *label_unit; GtkWidget *radiobutton; // label unit snprintf(buf, sizeof(buf), "%.2d", i); label_unit = gtk_label_new (buf); gtk_table_attach (GTK_TABLE (table), label_unit, 0, 1, i * 2 + 1, i * 2 + 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_label_set_justify (GTK_LABEL (label_unit), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (label_unit), 0, 0.5); snprintf(buf, sizeof(buf), "label_unit_%d", i); GLADE_HOOKUP_OBJECT (top, label_unit, buf); // radio button radiobutton = gtk_radio_button_new_with_mnemonic (NULL, _("")); gtk_table_attach (GTK_TABLE (table), radiobutton, 0, 1, i * 2, i * 2 + 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton), radiobutton_group); radiobutton_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton)); snprintf(buf, sizeof(buf), "radiobutton_%d", i); GLADE_HOOKUP_OBJECT (top, radiobutton, buf); } return scrolledwindow; } static GtkWidget* create_playlist_buttons( GtkWidget* parent, GtkWidget* top ) { int i; const static struct { gchar* tooltip; gchar* stock; gchar* label; gchar* hookup; } buttons[] = { { "Refresh", "gtk-refresh", "", "button_clips_refresh", }, { "Load root folder", "gtk-home", "", "button_clips_home" }, { "Move clip up", "gtk-go-up", "", "button_up" }, { "Move clip down", "gtk-go-down", "", "button_down" }, { "Remove clip", "gtk-delete", "", "button_remove" }, { "Remove all but current clip", "gtk-clear", "", "button_clean" }, { NULL, NULL, NULL, NULL } }; GtkWidget *label44, *label45, *hbuttonbox5; label44 = gtk_label_new (_(" ")); gtk_widget_show (label44); gtk_box_pack_start (GTK_BOX (parent), label44, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label44), GTK_JUSTIFY_LEFT); for(i = 0; buttons[i].stock; i++) { GtkWidget *button, *alignment, *hbox, *image, *label; button = gtk_button_new (); gtk_widget_show (button); gtk_box_pack_start (GTK_BOX (parent), button, FALSE, FALSE, 0); GTK_WIDGET_UNSET_FLAGS (button, GTK_CAN_FOCUS); GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); gtk_widget_set_tooltip_text (button, buttons[i].tooltip); alignment = gtk_alignment_new (0, 0.5, 0, 0); gtk_widget_show (alignment); gtk_container_add (GTK_CONTAINER (button), alignment); hbox = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox); gtk_container_add (GTK_CONTAINER (alignment), hbox); image = gtk_image_new_from_stock (buttons[i].stock, GTK_ICON_SIZE_MENU); gtk_widget_show (image); gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0); label = gtk_label_new_with_mnemonic (buttons[i].label); gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); GLADE_HOOKUP_OBJECT (top, button, buttons[i].hookup); }; hbuttonbox5 = gtk_hbutton_box_new (); gtk_widget_show (hbuttonbox5); gtk_box_pack_start (GTK_BOX (parent), hbuttonbox5, FALSE, FALSE, 0); label45 = gtk_label_new (_(" ")); gtk_widget_show (label45); gtk_box_pack_start (GTK_BOX (parent), label45, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label45), GTK_JUSTIFY_LEFT); return parent; } static GtkWidget* create_pane_filedir( GtkWidget* top ) { GtkWidget* vpaned; GtkWidget* scrolledwindow[2]; GtkWidget* list[2]; GtkWidget* label_directory; GtkWidget* vbox; /* create vbox for label pack */ vbox = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox); /* create a label for dir name */ label_directory = gtk_label_new (_("Disconnected")); gtk_widget_show (label_directory); gtk_box_pack_start (GTK_BOX (vbox), label_directory, FALSE, FALSE, 0); gtk_misc_set_alignment (GTK_MISC (label_directory), 0, 0.5); GLADE_HOOKUP_OBJECT (top, label_directory, "label_directory"); /* create a vertical pane for dirs list and clips list */ vpaned = gtk_vpaned_new (); gtk_widget_show (vpaned); gtk_box_pack_start (GTK_BOX (vbox), vpaned, TRUE, TRUE, 0); /* create two scrolled window for lists areas */ scrolledwindow[0] = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow[0]); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow[0]), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); scrolledwindow[1] = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow[1]); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow[1]), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); /* pane them */ gtk_paned_pack1 (GTK_PANED (vpaned), scrolledwindow[0], FALSE, FALSE); gtk_widget_set_size_request (scrolledwindow[0], 250, -1); gtk_paned_pack2 (GTK_PANED (vpaned), scrolledwindow[1], TRUE, FALSE); gtk_widget_set_size_request (scrolledwindow[1], 450, -1); gtk_paned_set_position(GTK_PANED (vpaned), 250); /* list_dirs */ list[0] = gtk_tree_view_new (); gtk_widget_show (list[0]); gtk_container_add (GTK_CONTAINER (scrolledwindow[0]), list[0]); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list[0]), FALSE); GLADE_HOOKUP_OBJECT (top, list[0], "list_dir"); /* list_clips */ list[1] = gtk_tree_view_new (); gtk_widget_show (list[1]); gtk_container_add (GTK_CONTAINER (scrolledwindow[1]), list[1]); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list[1]), FALSE); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (list[1]), FALSE); GLADE_HOOKUP_OBJECT (top, list[1], "list_clips"); gtk_widget_grab_focus (list[0]); return vbox; }; static GtkWidget* create_pane_playlist( GtkWidget* top ) { GtkWidget *table; GtkWidget *scrolledwindow; GtkWidget *treeview; GtkWidget *alignment; GtkWidget *hbox; table = gtk_table_new (2, 1, FALSE); scrolledwindow = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow); gtk_table_attach (GTK_TABLE (table), scrolledwindow, 0, 1, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); treeview = gtk_tree_view_new (); gtk_widget_show (treeview); gtk_container_add (GTK_CONTAINER (scrolledwindow), treeview); alignment = gtk_alignment_new (0.5, 0.5, 1, 1); gtk_widget_show (alignment); gtk_table_attach (GTK_TABLE (table), alignment, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); hbox = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox); gtk_container_add (GTK_CONTAINER (alignment), hbox); create_playlist_buttons(hbox, top); GLADE_HOOKUP_OBJECT (top, table, "table4"); GLADE_HOOKUP_OBJECT (top, scrolledwindow, "scrolledwindow5"); GLADE_HOOKUP_OBJECT (top, treeview, "treeview1"); GLADE_HOOKUP_OBJECT (top, alignment, "alignment12"); GLADE_HOOKUP_OBJECT (top, hbox, "hbox19"); return table; }; GtkWidget* create_page_operate (void) { GtkWidget *page_clips; GtkWidget *hpaned1; GtkWidget *hpaned0; GtkWidget *frame1, *frame2; page_clips = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (page_clips), _("page_operate")); GLADE_HOOKUP_OBJECT_NO_REF (page_clips, page_clips, "page_operate"); hpaned0 = gtk_hpaned_new (); gtk_widget_show (hpaned0); gtk_container_add (GTK_CONTAINER (page_clips), hpaned0); GLADE_HOOKUP_OBJECT (page_clips, hpaned0, "hpaned0"); frame1 = gtk_frame_new ("Playlist"); frame2 = gtk_frame_new ("Units"); gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN); gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_IN); gtk_widget_show(frame1); GLADE_HOOKUP_OBJECT (page_clips, frame1, "page_clips"); gtk_widget_show(frame2); GLADE_HOOKUP_OBJECT (page_clips, frame2, "page_status"); gtk_widget_set_size_request (hpaned0, 200 , -1); gtk_paned_pack1 (GTK_PANED (hpaned0), frame1, TRUE, FALSE); gtk_widget_set_size_request (frame1, 50, -1); gtk_paned_pack2 (GTK_PANED (hpaned0), frame2, FALSE, FALSE); gtk_widget_set_size_request (frame2, 250, -1); create_pane_status (frame2, page_clips); hpaned1 = gtk_hpaned_new (); gtk_widget_show (hpaned1); gtk_container_add (GTK_CONTAINER (frame1), hpaned1); gtk_paned_set_position (GTK_PANED (hpaned1), 120); gtk_paned_pack1 (GTK_PANED (hpaned1), create_pane_filedir(page_clips), FALSE, TRUE); gtk_paned_pack2 (GTK_PANED (hpaned1), create_pane_playlist(page_clips), FALSE, TRUE); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT (page_clips, hpaned1, "hpaned1"); return page_clips; } GtkWidget* create_page_shell (void) { GtkWidget *page_shell; GtkWidget *vbox4; GtkWidget *hbox6; GtkWidget *label10; GtkWidget *entry_command; GtkWidget *button_command; GtkWidget *alignment7; GtkWidget *hbox14; GtkWidget *image7; GtkWidget *label38; GtkWidget *button_command_clear; GtkWidget *alignment8; GtkWidget *hbox15; GtkWidget *image8; GtkWidget *label39; GtkWidget *scrolledwindow3; GtkWidget *textview_command; GtkWidget *hbuttonbox3; page_shell = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (page_shell), _("page_shell")); vbox4 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox4); gtk_container_add (GTK_CONTAINER (page_shell), vbox4); hbox6 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox6); gtk_box_pack_start (GTK_BOX (vbox4), hbox6, FALSE, TRUE, 0); label10 = gtk_label_new (_("Command ")); gtk_widget_show (label10); gtk_box_pack_start (GTK_BOX (hbox6), label10, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label10), GTK_JUSTIFY_LEFT); entry_command = gtk_entry_new (); gtk_widget_show (entry_command); gtk_box_pack_start (GTK_BOX (hbox6), entry_command, TRUE, TRUE, 0); button_command = gtk_button_new (); gtk_widget_show (button_command); gtk_box_pack_start (GTK_BOX (hbox6), button_command, FALSE, FALSE, 0); GTK_WIDGET_SET_FLAGS (button_command, GTK_CAN_DEFAULT); gtk_button_set_relief (GTK_BUTTON (button_command), GTK_RELIEF_NONE); alignment7 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment7); gtk_container_add (GTK_CONTAINER (button_command), alignment7); hbox14 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox14); gtk_container_add (GTK_CONTAINER (alignment7), hbox14); image7 = gtk_image_new_from_stock ("gtk-ok", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image7); gtk_box_pack_start (GTK_BOX (hbox14), image7, FALSE, FALSE, 0); label38 = gtk_label_new_with_mnemonic (_("_OK")); gtk_widget_show (label38); gtk_box_pack_start (GTK_BOX (hbox14), label38, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label38), GTK_JUSTIFY_LEFT); button_command_clear = gtk_button_new (); gtk_widget_show (button_command_clear); gtk_box_pack_start (GTK_BOX (hbox6), button_command_clear, FALSE, FALSE, 0); GTK_WIDGET_SET_FLAGS (button_command_clear, GTK_CAN_DEFAULT); gtk_button_set_relief (GTK_BUTTON (button_command_clear), GTK_RELIEF_NONE); alignment8 = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_widget_show (alignment8); gtk_container_add (GTK_CONTAINER (button_command_clear), alignment8); hbox15 = gtk_hbox_new (FALSE, 2); gtk_widget_show (hbox15); gtk_container_add (GTK_CONTAINER (alignment8), hbox15); image8 = gtk_image_new_from_stock ("gtk-delete", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image8); gtk_box_pack_start (GTK_BOX (hbox15), image8, FALSE, FALSE, 0); label39 = gtk_label_new_with_mnemonic (_("Clear")); gtk_widget_show (label39); gtk_box_pack_start (GTK_BOX (hbox15), label39, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label39), GTK_JUSTIFY_LEFT); scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow3); gtk_box_pack_start (GTK_BOX (vbox4), scrolledwindow3, TRUE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); textview_command = gtk_text_view_new (); gtk_widget_show (textview_command); gtk_container_add (GTK_CONTAINER (scrolledwindow3), textview_command); GTK_WIDGET_UNSET_FLAGS (textview_command, GTK_CAN_FOCUS); gtk_text_view_set_editable (GTK_TEXT_VIEW (textview_command), FALSE); gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (textview_command), GTK_WRAP_WORD); gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview_command), FALSE); hbuttonbox3 = gtk_hbutton_box_new (); gtk_widget_show (hbuttonbox3); gtk_box_pack_start (GTK_BOX (vbox4), hbuttonbox3, FALSE, TRUE, 0); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox3), GTK_BUTTONBOX_SPREAD); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (page_shell, page_shell, "page_shell"); GLADE_HOOKUP_OBJECT (page_shell, vbox4, "vbox4"); GLADE_HOOKUP_OBJECT (page_shell, hbox6, "hbox6"); GLADE_HOOKUP_OBJECT (page_shell, label10, "label10"); GLADE_HOOKUP_OBJECT (page_shell, entry_command, "entry_command"); GLADE_HOOKUP_OBJECT (page_shell, button_command, "button_command"); GLADE_HOOKUP_OBJECT (page_shell, alignment7, "alignment7"); GLADE_HOOKUP_OBJECT (page_shell, hbox14, "hbox14"); GLADE_HOOKUP_OBJECT (page_shell, image7, "image7"); GLADE_HOOKUP_OBJECT (page_shell, label38, "label38"); GLADE_HOOKUP_OBJECT (page_shell, button_command_clear, "button_command_clear"); GLADE_HOOKUP_OBJECT (page_shell, alignment8, "alignment8"); GLADE_HOOKUP_OBJECT (page_shell, hbox15, "hbox15"); GLADE_HOOKUP_OBJECT (page_shell, image8, "image8"); GLADE_HOOKUP_OBJECT (page_shell, label39, "label39"); GLADE_HOOKUP_OBJECT (page_shell, scrolledwindow3, "scrolledwindow3"); GLADE_HOOKUP_OBJECT (page_shell, textview_command, "textview_command"); GLADE_HOOKUP_OBJECT (page_shell, hbuttonbox3, "hbuttonbox3"); gtk_widget_grab_default (button_command); return page_shell; }