X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Finterface.c;h=e8abeff8c9936a69936af1f94daa39170d881565;hb=8df5e84b24ee6af0633a47521cd252eb7270b4e9;hp=85d1a4314c2a475b1c753977a114a483de2628b6;hpb=4ee34e0112ff6138e92568d0bf602d66d8a04297;p=rugen diff --git a/src/interface.c b/src/interface.c index 85d1a43..e8abeff 100644 --- a/src/interface.c +++ b/src/interface.c @@ -658,33 +658,119 @@ create_playlist_buttons( GtkWidget* parent, GtkWidget* top ) 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_widget_set_size_request (vpaned, 400 , -1); + gtk_paned_pack1 (GTK_PANED (vpaned), scrolledwindow[0], FALSE, FALSE); + gtk_widget_set_size_request (scrolledwindow[0], 150, -1); + gtk_paned_pack2 (GTK_PANED (vpaned), scrolledwindow[1], TRUE, FALSE); + gtk_widget_set_size_request (scrolledwindow[1], 250, -1); + + /* 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 *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 *table1; - GtkWidget *scrolledwindow1; - GtkWidget *list_dir; - GtkWidget *vpaned1; - GtkWidget *table5; - GtkWidget *scrolledwindow6; - GtkWidget *list_clips; - GtkWidget *table4; - GtkWidget *scrolledwindow5; - GtkWidget *treeview1; - GtkWidget *alignment12; - GtkWidget *hbox19; GtkWidget *hpaned0; GtkWidget *frame1, *frame2; @@ -714,138 +800,24 @@ create_page_operate (void) 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); - - table1 = gtk_table_new (1, 1, FALSE); - gtk_widget_show (table1); - gtk_paned_pack1 (GTK_PANED (hpaned1), table1, FALSE, TRUE); - - scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_show (scrolledwindow1); - gtk_table_attach (GTK_TABLE (table1), scrolledwindow1, 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 (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - list_dir = gtk_tree_view_new (); - gtk_widget_show (list_dir); - gtk_container_add (GTK_CONTAINER (scrolledwindow1), list_dir); - gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list_dir), FALSE); - - vpaned1 = gtk_vpaned_new (); - gtk_widget_show (vpaned1); - gtk_paned_pack2 (GTK_PANED (hpaned1), vpaned1, TRUE, TRUE); - 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); - - list_clips = gtk_tree_view_new (); - gtk_widget_show (list_clips); - gtk_container_add (GTK_CONTAINER (scrolledwindow6), list_clips); - gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list_clips), FALSE); - gtk_tree_view_set_enable_search (GTK_TREE_VIEW (list_clips), FALSE); - - 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); + 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); - hbox19 = gtk_hbox_new (FALSE, 0); - gtk_widget_show (hbox19); - gtk_container_add (GTK_CONTAINER (alignment12), hbox19); - create_playlist_buttons(hbox19, 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"); - GLADE_HOOKUP_OBJECT (page_clips, table1, "table1"); - GLADE_HOOKUP_OBJECT (page_clips, scrolledwindow1, "scrolledwindow1"); - GLADE_HOOKUP_OBJECT (page_clips, list_dir, "list_dir"); - GLADE_HOOKUP_OBJECT (page_clips, vpaned1, "vpaned1"); - GLADE_HOOKUP_OBJECT (page_clips, table5, "table5"); - GLADE_HOOKUP_OBJECT (page_clips, scrolledwindow6, "scrolledwindow6"); - GLADE_HOOKUP_OBJECT (page_clips, list_clips, "list_clips"); - GLADE_HOOKUP_OBJECT (page_clips, table4, "table4"); - GLADE_HOOKUP_OBJECT (page_clips, scrolledwindow5, "scrolledwindow5"); - GLADE_HOOKUP_OBJECT (page_clips, treeview1, "treeview1"); - GLADE_HOOKUP_OBJECT (page_clips, alignment12, "alignment12"); - GLADE_HOOKUP_OBJECT (page_clips, hbox19, "hbox19"); - - gtk_widget_grab_focus (list_dir); + return page_clips; }