From c36bf636bd8e6f8fdd700a5031ea3e1a7dc0827e Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Sat, 19 Nov 2011 12:54:58 -0800 Subject: [PATCH] Experimental hard-coded three-pane layout I'm not happy with it, but it looks good and works better than the alternatives I've looked at so far. So why not happy? It's not configurable, and gtk really doesn't do a great job with the case of notebook widgets that are shrunk to be smaller than the contents (the cut-off gets ugly, and is outside the notebook page!) But committing as a way to keep track of this, and let Dirk use it. Signed-off-by: Linus Torvalds --- gtk-gui.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/gtk-gui.c b/gtk-gui.c index c78d7e6..f4212b4 100644 --- a/gtk-gui.c +++ b/gtk-gui.c @@ -749,6 +749,7 @@ void init_ui(int *argcp, char ***argvp) GtkWidget *stats; GtkWidget *menubar; GtkWidget *vbox; + GtkWidget *hpane, *vpane; GdkScreen *screen; GtkIconTheme *icon_theme=NULL; GtkSettings *settings; @@ -845,9 +846,15 @@ void init_ui(int *argcp, char ***argvp) menubar = get_menubar_menu(win); gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0); + vpane = gtk_vpaned_new(); + gtk_box_pack_start(GTK_BOX(vbox), vpane, TRUE, TRUE, 3); + + hpane = gtk_hpaned_new(); + gtk_paned_add1(GTK_PANED(vpane), hpane); + /* Notebook for dive info vs profile vs .. */ notebook = gtk_notebook_new(); - gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 6); + gtk_paned_add1(GTK_PANED(hpane), notebook); gtk_notebook_set_group(GTK_NOTEBOOK(notebook), GRP_ID); g_signal_connect(notebook, "create-window", G_CALLBACK(create_new_notebook_window), NULL); gtk_drag_dest_set(notebook, GTK_DEST_DEFAULT_ALL, ¬ebook_target, 1, GDK_ACTION_MOVE); @@ -857,16 +864,12 @@ void init_ui(int *argcp, char ***argvp) /* Create the actual divelist */ dive_list = dive_list_create(); gtk_widget_set_name(dive_list, "Dive List"); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), dive_list, gtk_label_new("Dive List")); - gtk_notebook_set_tab_detachable(GTK_NOTEBOOK(notebook), dive_list, 1); - gtk_notebook_set_tab_reorderable(GTK_NOTEBOOK(notebook), dive_list, 1); + gtk_paned_add2(GTK_PANED(vpane), dive_list); /* Frame for dive profile */ dive_profile = dive_profile_widget(); gtk_widget_set_name(dive_profile, "Dive Profile"); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), dive_profile, gtk_label_new("Dive Profile")); - gtk_notebook_set_tab_detachable(GTK_NOTEBOOK(notebook), dive_profile, 1); - gtk_notebook_set_tab_reorderable(GTK_NOTEBOOK(notebook), dive_profile, 1); + gtk_paned_add2(GTK_PANED(hpane), dive_profile); /* Frame for extended dive info */ dive_info = extended_dive_info_widget(); -- 2.45.2