summaryrefslogtreecommitdiff
path: root/ui/gtk/graph_analysis.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2013-03-24 14:10:43 +0000
committerAnders Broman <anders.broman@ericsson.com>2013-03-24 14:10:43 +0000
commit912814ac0fdace44cb70de39c42cecd0789c1b25 (patch)
treeb581c74f20a1b3d5dceeef03cc267133e682fad4 /ui/gtk/graph_analysis.c
parent833a1bddfd3e1caaadc4dd384c1e2d4a5787754e (diff)
downloadwireshark-912814ac0fdace44cb70de39c42cecd0789c1b25.tar.gz
From beroset:
allow flexible resizing of graph_analysis.c items Fixes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7418 svn path=/trunk/; revision=48525
Diffstat (limited to 'ui/gtk/graph_analysis.c')
-rw-r--r--ui/gtk/graph_analysis.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/ui/gtk/graph_analysis.c b/ui/gtk/graph_analysis.c
index 1f7189bd29..b1ba6aad96 100644
--- a/ui/gtk/graph_analysis.c
+++ b/ui/gtk/graph_analysis.c
@@ -1710,10 +1710,13 @@ static gboolean pane_callback(GtkWidget *widget _U_, GParamSpec *pspec _U_, gpoi
GtkAllocation draw_area_comments_alloc, draw_area_alloc;
cairo_t *cr;
+ /* If we want to limit minimum and maximum size of graph window, we can include this code. */
+#if 0
if (gtk_paned_get_position(GTK_PANED(user_data->dlg.hpane)) > user_data->dlg.surface_width)
gtk_paned_set_position(GTK_PANED(user_data->dlg.hpane), user_data->dlg.surface_width);
else if (gtk_paned_get_position(GTK_PANED(user_data->dlg.hpane)) < NODE_WIDTH*2)
gtk_paned_set_position(GTK_PANED(user_data->dlg.hpane), NODE_WIDTH*2);
+#endif
/* repaint the comment area because when moving the pane position there are times that the expose_event_comments is not called */
@@ -1773,6 +1776,7 @@ static void v_scrollbar_changed(GtkWidget *widget _U_, gpointer data)
static void create_draw_area(graph_analysis_data_t *user_data, GtkWidget *box)
{
GtkWidget *hbox;
+ GtkWidget *hpane_l;
GtkWidget *viewport;
GtkWidget *scroll_window_comments;
GtkWidget *viewport_comments;
@@ -1822,10 +1826,8 @@ static void create_draw_area(graph_analysis_data_t *user_data, GtkWidget *box)
/* create main Graph draw area */
user_data->dlg.draw_area = gtk_drawing_area_new();
- if (user_data->num_nodes < 2)
- user_data->dlg.surface_width = 2 * NODE_WIDTH;
- else
- user_data->dlg.surface_width = user_data->num_nodes * NODE_WIDTH;
+ /* allow a little extra space (2*NODE_WIDTH) for wide labels */
+ user_data->dlg.surface_width = user_data->num_nodes * NODE_WIDTH + 2*NODE_WIDTH;
gtk_widget_set_size_request(user_data->dlg.draw_area, user_data->dlg.surface_width, user_data->dlg.surface_height);
user_data->dlg.scroll_window = gtk_scrolled_window_new(NULL, NULL);
if ( user_data->num_nodes < 6)
@@ -1889,16 +1891,20 @@ static void create_draw_area(graph_analysis_data_t *user_data, GtkWidget *box)
gtk_widget_show(user_data->dlg.scroll_window);
gtk_widget_show(scroll_window_comments);
- /* Allow the hbox with time to expand (TRUE, TRUE) */
- gtk_box_pack_start(GTK_BOX(hbox), frame_time, FALSE, FALSE, 3);
-
user_data->dlg.hpane = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL);
gtk_paned_pack1(GTK_PANED (user_data->dlg.hpane), user_data->dlg.scroll_window, FALSE, TRUE);
gtk_paned_pack2(GTK_PANED (user_data->dlg.hpane), scroll_window_comments, TRUE, TRUE);
g_signal_connect(user_data->dlg.hpane, "notify::position", G_CALLBACK(pane_callback), user_data);
gtk_widget_show(user_data->dlg.hpane);
- gtk_box_pack_start(GTK_BOX(hbox), user_data->dlg.hpane, TRUE, TRUE, 0);
+ /* Allow the hbox with time to expand (TRUE, TRUE) */
+ hpane_l = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL);
+ gtk_paned_pack1(GTK_PANED (hpane_l), frame_time, FALSE, TRUE);
+ gtk_paned_pack2(GTK_PANED (hpane_l), user_data->dlg.hpane, TRUE, TRUE);
+ g_signal_connect(hpane_l, "notify::position", G_CALLBACK(pane_callback), user_data);
+ gtk_widget_show(hpane_l);
+
+ gtk_box_pack_start(GTK_BOX(hbox), hpane_l, TRUE, TRUE, 0);
/* Create the scroll_vbox to include the vertical scroll and a box at the bottom */
scroll_vbox = ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 0, FALSE);
@@ -2092,7 +2098,7 @@ void graph_analysis_update(graph_analysis_data_t *user_data)
get_nodes(user_data);
user_data->dlg.surface_width = user_data->num_nodes * NODE_WIDTH;
- gtk_widget_set_size_request(user_data->dlg.draw_area, user_data->dlg.surface_width, user_data->dlg.surface_width);
+ gtk_widget_set_size_request(user_data->dlg.draw_area, user_data->dlg.surface_width, user_data->dlg.surface_height);
if (user_data->num_nodes < 6)
gtk_widget_set_size_request(user_data->dlg.scroll_window, NODE_WIDTH*user_data->num_nodes, user_data->dlg.surface_height);
else