#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
g_object_set_data (G_OBJECT (component), name, widget)
-static void create_buttons_transport(GtkWidget *top, GtkWidget *parent_box)
+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,
+ "Pause",
+ "player_pause_32x32.png"
+ },
+ {
+ 1,
+ "Play",
+ "player_play_64x32.png"
+ },
+ {
+ 1,
+ "Stop",
+ "player_stop_32x32.png"
+ },
+ {
+ 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)
{
- int i;
- GtkWidget *hbox;
- gchar name[32];
- const static struct
- {
- gchar* tooltip;
- gchar* filename;
- } buttons[] =
- {
- {
- "Beginning of playlist",
- "stock_media-begin-16.png"
- },
- {
- "Start of clip",
- "stock_media-prev-16.png"
- },
- {
- "Rewind",
- "stock_media-rew-16.png"
- },
- {
- "Previous frame",
- "stock_media-prev-frame-16.png"
- },
- {
- "Pause",
- "stock_media-pause-16.png"
- },
- {
- "Play",
- "stock_media-play-16.png"
- },
- {
- "Stop",
- "stock_media-stop-16.png"
- },
- {
- "Next frame",
- "stock_media-next-frame-16.png"
- },
- {
- "Fast forward",
- "stock_media-fwd-16.png"
- },
- {
- "Next clip",
- "stock_media-next-16.png"
- },
- {
- "End of playlist",
- "stock_media-end-16.png"
- },
- {
- "Loop On",
- "eof-loop-16.png"
- },
- {
- "Loop Off",
- "eof-pause-16.png"
- },
- {
- NULL,
- NULL
- }
- };
-
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (parent_box), hbox, FALSE, TRUE, 0);
-
-
- for(i = 0; buttons[i].filename; i++)
- {
- GtkWidget *transport, *image;
-
- transport = gtk_button_new ();
- gtk_widget_show (transport);
- gtk_box_pack_start (GTK_BOX (hbox), transport, TRUE, FALSE, 0);
- gtk_widget_set_size_request (transport, 34, 25);
- 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);
- };
-
- GLADE_HOOKUP_OBJECT (top, hbox, "buttons_transport_hbox");
+ 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*
GtkWidget *notebook1;
GtkWidget *empty_notebook_page;
GtkWidget *label40;
- GtkWidget *hbox20;
- GtkWidget *label46;
- GtkWidget *label47;
GtkWidget *vbox_trim;
GtkWidget *statusbar;
gtk_widget_show (empty_notebook_page);
gtk_container_add (GTK_CONTAINER (notebook1), empty_notebook_page);
- label40 = gtk_label_new ("");
+ 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);
- hbox20 = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (hbox20);
- gtk_box_pack_start (GTK_BOX (vbox6), hbox20, FALSE, TRUE, 0);
-
- label46 = gtk_label_new ("");
- gtk_widget_show (label46);
- gtk_box_pack_start (GTK_BOX (hbox20), label46, TRUE, TRUE, 0);
- gtk_label_set_justify (GTK_LABEL (label46), GTK_JUSTIFY_LEFT);
-
- create_buttons_transport(gdv1394d, hbox20);
+ gtk_box_pack_start (GTK_BOX (vbox6),
+ create_block_buttons_transport(gdv1394d, 1),
+ FALSE, TRUE, 0);
- label47 = gtk_label_new ("");
- gtk_widget_show (label47);
- gtk_box_pack_start (GTK_BOX (hbox20), label47, TRUE, TRUE, 0);
- gtk_label_set_justify (GTK_LABEL (label47), GTK_JUSTIFY_LEFT);
+ 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);
GLADE_HOOKUP_OBJECT (gdv1394d, vbox6, "vbox6");
GLADE_HOOKUP_OBJECT (gdv1394d, notebook1, "notebook1");
GLADE_HOOKUP_OBJECT (gdv1394d, label40, "label40");
- GLADE_HOOKUP_OBJECT (gdv1394d, hbox20, "hbox20");
- GLADE_HOOKUP_OBJECT (gdv1394d, label46, "label46");
- GLADE_HOOKUP_OBJECT (gdv1394d, label47, "label47");
GLADE_HOOKUP_OBJECT (gdv1394d, vbox_trim, "vbox_trim");
GLADE_HOOKUP_OBJECT (gdv1394d, statusbar, "statusbar");
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_grab_focus (list[0]);
- return vpaned;
+ return vbox;
};
static
GtkWidget*
create_pane_playlist( GtkWidget* top )
{
- GtkWidget *vpaned1;
- GtkWidget *table5;
- GtkWidget *scrolledwindow6;
- GtkWidget *table4;
- GtkWidget *scrolledwindow5;
- GtkWidget *treeview1;
- GtkWidget *alignment12;
- GtkWidget *hbox19;
-
- vpaned1 = gtk_vpaned_new ();
- gtk_widget_show (vpaned1);
- gtk_paned_set_position (GTK_PANED (vpaned1), 130);
-
- table5 = gtk_table_new (1, 1, FALSE);
- gtk_widget_show (table5);
- gtk_paned_pack1 (GTK_PANED (vpaned1), table5, TRUE, TRUE);
-
- scrolledwindow6 = gtk_scrolled_window_new (NULL, NULL);
- gtk_widget_show (scrolledwindow6);
- gtk_table_attach (GTK_TABLE (table5), scrolledwindow6, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-
- table4 = gtk_table_new (2, 1, FALSE);
- gtk_paned_pack2 (GTK_PANED (vpaned1), table4, TRUE, TRUE);
-
- scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL);
- gtk_widget_show (scrolledwindow5);
- gtk_table_attach (GTK_TABLE (table4), scrolledwindow5, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-
- treeview1 = gtk_tree_view_new ();
- gtk_widget_show (treeview1);
- gtk_container_add (GTK_CONTAINER (scrolledwindow5), treeview1);
-
- alignment12 = gtk_alignment_new (0.5, 0.5, 1, 1);
- gtk_widget_show (alignment12);
- gtk_table_attach (GTK_TABLE (table4), alignment12, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (GTK_FILL), 0, 0);
+ 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);
- hbox19 = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (hbox19);
- gtk_container_add (GTK_CONTAINER (alignment12), hbox19);
+ hbox = gtk_hbox_new (FALSE, 0);
+ gtk_widget_show (hbox);
+ gtk_container_add (GTK_CONTAINER (alignment), hbox);
- create_playlist_buttons(hbox19, top);
+ create_playlist_buttons(hbox, top);
- GLADE_HOOKUP_OBJECT (top, vpaned1, "vpaned1");
- GLADE_HOOKUP_OBJECT (top, table5, "table5");
- GLADE_HOOKUP_OBJECT (top, scrolledwindow6, "scrolledwindow6");
- GLADE_HOOKUP_OBJECT (top, table4, "table4");
- GLADE_HOOKUP_OBJECT (top, scrolledwindow5, "scrolledwindow5");
- GLADE_HOOKUP_OBJECT (top, treeview1, "treeview1");
- GLADE_HOOKUP_OBJECT (top, alignment12, "alignment12");
- GLADE_HOOKUP_OBJECT (top, hbox19, "hbox19");
+ 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 vpaned1;
+ return table;
};
GtkWidget*
create_page_operate (void)
{
GtkWidget *page_clips;
- GtkWidget *vbox8;
- GtkWidget *hbox26;
- GtkWidget *label_directory;
- GtkWidget *optionmenu1;
- GtkWidget *menu1;
- GtkWidget *mode_0;
- GtkWidget *mode_1;
- GtkWidget *mode_2;
- GtkWidget *mode_3;
GtkWidget *hpaned1;
GtkWidget *hpaned0;
GtkWidget *frame1, *frame2;
create_pane_status (frame2, page_clips);
- vbox8 = gtk_vbox_new (FALSE, 0);
- gtk_widget_show (vbox8);
- gtk_container_add (GTK_CONTAINER (frame1), vbox8);
-
- hbox26 = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (hbox26);
- gtk_box_pack_start (GTK_BOX (vbox8), hbox26, FALSE, FALSE, 0);
-
- label_directory = gtk_label_new (_("Disconnected"));
- gtk_widget_show (label_directory);
- gtk_box_pack_start (GTK_BOX (hbox26), label_directory, TRUE, TRUE, 0);
- gtk_misc_set_alignment (GTK_MISC (label_directory), 0, 0.5);
-
- optionmenu1 = gtk_option_menu_new ();
- gtk_widget_show (optionmenu1);
- gtk_box_pack_start (GTK_BOX (hbox26), optionmenu1, FALSE, FALSE, 0);
- GTK_WIDGET_UNSET_FLAGS (optionmenu1, GTK_CAN_FOCUS);
-
- menu1 = gtk_menu_new ();
-
- mode_0 = gtk_menu_item_new_with_mnemonic (_("Play"));
- gtk_widget_show (mode_0);
- gtk_container_add (GTK_CONTAINER (menu1), mode_0);
-
- mode_1 = gtk_menu_item_new_with_mnemonic (_("Load"));
- gtk_widget_show (mode_1);
- gtk_container_add (GTK_CONTAINER (menu1), mode_1);
-
- mode_2 = gtk_menu_item_new_with_mnemonic (_("Append"));
- gtk_widget_show (mode_2);
- gtk_container_add (GTK_CONTAINER (menu1), mode_2);
-
- mode_3 = gtk_menu_item_new_with_mnemonic (_("Insert"));
- gtk_widget_show (mode_3);
- gtk_container_add (GTK_CONTAINER (menu1), mode_3);
-
- gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu1), menu1);
-
- hpaned1 = gtk_hpaned_new ();
- gtk_widget_show (hpaned1);
- gtk_box_pack_start (GTK_BOX (vbox8), hpaned1, TRUE, TRUE, 0);
- gtk_paned_set_position (GTK_PANED (hpaned1), 120);
+ 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),
/* Store pointers to all widgets, for use by lookup_widget(). */
- GLADE_HOOKUP_OBJECT (page_clips, vbox8, "vbox8");
- GLADE_HOOKUP_OBJECT (page_clips, hbox26, "hbox26");
- GLADE_HOOKUP_OBJECT (page_clips, label_directory, "label_directory");
- GLADE_HOOKUP_OBJECT (page_clips, optionmenu1, "optionmenu1");
- GLADE_HOOKUP_OBJECT (page_clips, menu1, "menu1");
- GLADE_HOOKUP_OBJECT (page_clips, mode_0, "mode_0");
- GLADE_HOOKUP_OBJECT (page_clips, mode_1, "mode_1");
- GLADE_HOOKUP_OBJECT (page_clips, mode_2, "mode_2");
- GLADE_HOOKUP_OBJECT (page_clips, mode_3, "mode_3");
GLADE_HOOKUP_OBJECT (page_clips, hpaned1, "hpaned1");
return page_clips;