X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Finterface.c;h=5fc0aab14a9159de794014aa0fa50f67562474ab;hb=1862bc53805aba6e7079ab48a3cb6d89332a0cb1;hp=fdabe072cb157dc76e20b6a2baf843fcb9914da2;hpb=4bf05b881ec56dc6ce4d568e35d4fc7f5a36155c;p=rugen diff --git a/src/interface.c b/src/interface.c index fdabe07..5fc0aab 100644 --- a/src/interface.c +++ b/src/interface.c @@ -26,6 +26,106 @@ #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) +{ + 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"); +}; + GtkWidget* create_gdv1394d (void) { @@ -55,32 +155,6 @@ create_gdv1394d (void) GtkWidget *label40; GtkWidget *hbox20; GtkWidget *label46; - GtkWidget *hbox16; - GtkWidget *transport_0; - GtkWidget *image19; - GtkWidget *transport_1; - GtkWidget *image18; - GtkWidget *transport_2; - GtkWidget *image17; - GtkWidget *transport_3; - GtkWidget *image12; - GtkWidget *transport_4; - GtkWidget *image11; - GtkWidget *transport_5; - GtkWidget *image9; - GtkWidget *transport_6; - GtkWidget *alignment9; - GtkWidget *hbox17; - GtkWidget *image10; - GtkWidget *label41; - GtkWidget *transport_7; - GtkWidget *image13; - GtkWidget *transport_8; - GtkWidget *image14; - GtkWidget *transport_9; - GtkWidget *image15; - GtkWidget *transport_10; - GtkWidget *image16; GtkWidget *label47; GtkWidget *vbox_trim; GtkWidget *statusbar; @@ -216,154 +290,7 @@ create_gdv1394d (void) gtk_box_pack_start (GTK_BOX (hbox20), label46, TRUE, TRUE, 0); gtk_label_set_justify (GTK_LABEL (label46), GTK_JUSTIFY_LEFT); - hbox16 = gtk_hbox_new (FALSE, 0); - gtk_widget_show (hbox16); - gtk_box_pack_start (GTK_BOX (hbox20), hbox16, FALSE, TRUE, 0); - - transport_0 = gtk_button_new (); - gtk_widget_show (transport_0); - gtk_box_pack_start (GTK_BOX (hbox16), transport_0, TRUE, FALSE, 0); - gtk_widget_set_size_request (transport_0, 34, 25); - GTK_WIDGET_UNSET_FLAGS (transport_0, GTK_CAN_FOCUS); - gtk_button_set_relief (GTK_BUTTON (transport_0), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (transport_0, _("Beginning of playlist")); - - image19 = gtk_image_new_from_pixbuf( create_pixbuf ("stock_media-begin-16.png") ); - gtk_widget_show (image19); - gtk_container_add (GTK_CONTAINER (transport_0), image19); - - transport_1 = gtk_button_new (); - gtk_widget_show (transport_1); - gtk_box_pack_start (GTK_BOX (hbox16), transport_1, TRUE, FALSE, 0); - gtk_widget_set_size_request (transport_1, 34, 25); - GTK_WIDGET_UNSET_FLAGS (transport_1, GTK_CAN_FOCUS); - gtk_button_set_relief (GTK_BUTTON (transport_1), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (transport_1, _("Start of clip")); - - image18 = gtk_image_new_from_pixbuf( create_pixbuf ("stock_media-prev-16.png") ); - gtk_widget_show (image18); - gtk_container_add (GTK_CONTAINER (transport_1), image18); - - transport_2 = gtk_button_new (); - gtk_widget_show (transport_2); - gtk_box_pack_start (GTK_BOX (hbox16), transport_2, TRUE, FALSE, 0); - gtk_widget_set_size_request (transport_2, 34, 25); - GTK_WIDGET_UNSET_FLAGS (transport_2, GTK_CAN_FOCUS); - gtk_button_set_relief (GTK_BUTTON (transport_2), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (transport_2, _("Rewind")); - - image17 = gtk_image_new_from_pixbuf( create_pixbuf ("stock_media-rew-16.png") ); - gtk_widget_show (image17); - gtk_container_add (GTK_CONTAINER (transport_2), image17); - - transport_3 = gtk_button_new (); - gtk_widget_show (transport_3); - gtk_box_pack_start (GTK_BOX (hbox16), transport_3, TRUE, FALSE, 0); - gtk_widget_set_size_request (transport_3, 34, 25); - GTK_WIDGET_UNSET_FLAGS (transport_3, GTK_CAN_FOCUS); - gtk_button_set_relief (GTK_BUTTON (transport_3), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (transport_3, _("Previous frame")); - - image12 = gtk_image_new_from_pixbuf( create_pixbuf ("stock_media-prev-frame-16.png") ); - gtk_widget_show (image12); - gtk_container_add (GTK_CONTAINER (transport_3), image12); - - transport_4 = gtk_button_new (); - gtk_widget_show (transport_4); - gtk_box_pack_start (GTK_BOX (hbox16), transport_4, TRUE, FALSE, 0); - gtk_widget_set_size_request (transport_4, 34, 25); - GTK_WIDGET_UNSET_FLAGS (transport_4, GTK_CAN_FOCUS); - gtk_button_set_relief (GTK_BUTTON (transport_4), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (transport_4, _("Pause")); - - image11 = gtk_image_new_from_pixbuf( create_pixbuf ("stock_media-pause-16.png") ); - gtk_widget_show (image11); - gtk_container_add (GTK_CONTAINER (transport_4), image11); - - transport_5 = gtk_button_new (); - gtk_widget_show (transport_5); - gtk_box_pack_start (GTK_BOX (hbox16), transport_5, TRUE, FALSE, 0); - gtk_widget_set_size_request (transport_5, 34, 25); - GTK_WIDGET_UNSET_FLAGS (transport_5, GTK_CAN_FOCUS); - gtk_button_set_relief (GTK_BUTTON (transport_5), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (transport_5, _("Play")); - - image9 = gtk_image_new_from_pixbuf( create_pixbuf ("stock_media-play-16.png") ); - gtk_widget_show (image9); - gtk_container_add (GTK_CONTAINER (transport_5), image9); - - transport_6 = gtk_button_new (); - gtk_widget_show (transport_6); - gtk_box_pack_start (GTK_BOX (hbox16), transport_6, TRUE, FALSE, 0); - gtk_widget_set_size_request (transport_6, 34, 25); - GTK_WIDGET_UNSET_FLAGS (transport_6, GTK_CAN_FOCUS); - gtk_button_set_relief (GTK_BUTTON (transport_6), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (transport_6, _("Stop")); - - alignment9 = gtk_alignment_new (0.5, 0.5, 0, 0); - gtk_widget_show (alignment9); - gtk_container_add (GTK_CONTAINER (transport_6), alignment9); - - hbox17 = gtk_hbox_new (FALSE, 2); - gtk_widget_show (hbox17); - gtk_container_add (GTK_CONTAINER (alignment9), hbox17); - - image10 = gtk_image_new_from_pixbuf( create_pixbuf ("stock_media-stop-16.png") ); - gtk_widget_show (image10); - gtk_box_pack_start (GTK_BOX (hbox17), image10, FALSE, FALSE, 0); - - label41 = gtk_label_new_with_mnemonic (""); - gtk_widget_show (label41); - gtk_box_pack_start (GTK_BOX (hbox17), label41, FALSE, FALSE, 0); - gtk_label_set_justify (GTK_LABEL (label41), GTK_JUSTIFY_LEFT); - - transport_7 = gtk_button_new (); - gtk_widget_show (transport_7); - gtk_box_pack_start (GTK_BOX (hbox16), transport_7, TRUE, FALSE, 0); - gtk_widget_set_size_request (transport_7, 34, 25); - GTK_WIDGET_UNSET_FLAGS (transport_7, GTK_CAN_FOCUS); - gtk_button_set_relief (GTK_BUTTON (transport_7), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (transport_7, _("Next frame")); - - image13 = gtk_image_new_from_pixbuf( create_pixbuf ("stock_media-next-frame-16.png") ); - gtk_widget_show (image13); - gtk_container_add (GTK_CONTAINER (transport_7), image13); - - transport_8 = gtk_button_new (); - gtk_widget_show (transport_8); - gtk_box_pack_start (GTK_BOX (hbox16), transport_8, TRUE, FALSE, 0); - gtk_widget_set_size_request (transport_8, 34, 25); - GTK_WIDGET_UNSET_FLAGS (transport_8, GTK_CAN_FOCUS); - gtk_button_set_relief (GTK_BUTTON (transport_8), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (transport_8, _("Fast forward")); - - image14 = gtk_image_new_from_pixbuf( create_pixbuf ("stock_media-fwd-16.png") ); - gtk_widget_show (image14); - gtk_container_add (GTK_CONTAINER (transport_8), image14); - - transport_9 = gtk_button_new (); - gtk_widget_show (transport_9); - gtk_box_pack_start (GTK_BOX (hbox16), transport_9, TRUE, FALSE, 0); - gtk_widget_set_size_request (transport_9, 34, 25); - GTK_WIDGET_UNSET_FLAGS (transport_9, GTK_CAN_FOCUS); - gtk_button_set_relief (GTK_BUTTON (transport_9), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (transport_9, _("Next clip")); - - image15 = gtk_image_new_from_pixbuf( create_pixbuf ("stock_media-next-16.png") ); - gtk_widget_show (image15); - gtk_container_add (GTK_CONTAINER (transport_9), image15); - - transport_10 = gtk_button_new (); - gtk_widget_show (transport_10); - gtk_box_pack_start (GTK_BOX (hbox16), transport_10, TRUE, FALSE, 0); - gtk_widget_set_size_request (transport_10, 34, 25); - GTK_WIDGET_UNSET_FLAGS (transport_10, GTK_CAN_FOCUS); - gtk_button_set_relief (GTK_BUTTON (transport_10), GTK_RELIEF_NONE); - gtk_widget_set_tooltip_text (transport_10, _("End of playlist")); - - image16 = gtk_image_new_from_pixbuf( create_pixbuf ("stock_media-end-16.png") ); - gtk_widget_show (image16); - gtk_container_add (GTK_CONTAINER (transport_10), image16); + create_buttons_transport(gdv1394d, hbox20); label47 = gtk_label_new (""); gtk_widget_show (label47); @@ -403,32 +330,6 @@ create_gdv1394d (void) GLADE_HOOKUP_OBJECT (gdv1394d, label40, "label40"); GLADE_HOOKUP_OBJECT (gdv1394d, hbox20, "hbox20"); GLADE_HOOKUP_OBJECT (gdv1394d, label46, "label46"); - GLADE_HOOKUP_OBJECT (gdv1394d, hbox16, "hbox16"); - GLADE_HOOKUP_OBJECT (gdv1394d, transport_0, "transport_0"); - GLADE_HOOKUP_OBJECT (gdv1394d, image19, "image19"); - GLADE_HOOKUP_OBJECT (gdv1394d, transport_1, "transport_1"); - GLADE_HOOKUP_OBJECT (gdv1394d, image18, "image18"); - GLADE_HOOKUP_OBJECT (gdv1394d, transport_2, "transport_2"); - GLADE_HOOKUP_OBJECT (gdv1394d, image17, "image17"); - GLADE_HOOKUP_OBJECT (gdv1394d, transport_3, "transport_3"); - GLADE_HOOKUP_OBJECT (gdv1394d, image12, "image12"); - GLADE_HOOKUP_OBJECT (gdv1394d, transport_4, "transport_4"); - GLADE_HOOKUP_OBJECT (gdv1394d, image11, "image11"); - GLADE_HOOKUP_OBJECT (gdv1394d, transport_5, "transport_5"); - GLADE_HOOKUP_OBJECT (gdv1394d, image9, "image9"); - GLADE_HOOKUP_OBJECT (gdv1394d, transport_6, "transport_6"); - GLADE_HOOKUP_OBJECT (gdv1394d, alignment9, "alignment9"); - GLADE_HOOKUP_OBJECT (gdv1394d, hbox17, "hbox17"); - GLADE_HOOKUP_OBJECT (gdv1394d, image10, "image10"); - GLADE_HOOKUP_OBJECT (gdv1394d, label41, "label41"); - GLADE_HOOKUP_OBJECT (gdv1394d, transport_7, "transport_7"); - GLADE_HOOKUP_OBJECT (gdv1394d, image13, "image13"); - GLADE_HOOKUP_OBJECT (gdv1394d, transport_8, "transport_8"); - GLADE_HOOKUP_OBJECT (gdv1394d, image14, "image14"); - GLADE_HOOKUP_OBJECT (gdv1394d, transport_9, "transport_9"); - GLADE_HOOKUP_OBJECT (gdv1394d, image15, "image15"); - GLADE_HOOKUP_OBJECT (gdv1394d, transport_10, "transport_10"); - GLADE_HOOKUP_OBJECT (gdv1394d, image16, "image16"); GLADE_HOOKUP_OBJECT (gdv1394d, label47, "label47"); GLADE_HOOKUP_OBJECT (gdv1394d, vbox_trim, "vbox_trim"); GLADE_HOOKUP_OBJECT (gdv1394d, statusbar, "statusbar");