From: Sam Thursfield Date: Tue, 10 Aug 2010 01:20:07 +0000 (-0400) Subject: Add missing accessors for notebook details X-Git-Url: http://pileus.org/git/?p=~andy%2Fgtk;a=commitdiff_plain;h=a2b72c5953d4a5a13a04b60a8b1ea75c0e0ff3b1 Add missing accessors for notebook details The ms-windows theme engine needs to access the tab-{h,v}border, so add accessors. Bug 625655. --- diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 3780a5be3..235dca23e 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -2236,6 +2236,8 @@ gtk_notebook_get_tab_label_text gtk_notebook_get_tab_pos gtk_notebook_get_tab_reorderable gtk_notebook_get_tab_detachable +gtk_notebook_get_tab_hborder +gtk_notebook_get_tab_vborder gtk_notebook_set_current_page gtk_notebook_set_group gtk_notebook_get_group diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 537821790..b9180d45b 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -2175,6 +2175,8 @@ gtk_notebook_set_show_tabs gtk_notebook_set_tab_label gtk_notebook_set_tab_label_text gtk_notebook_set_tab_pos +gtk_notebook_get_tab_hborder +gtk_notebook_get_tab_vborder gtk_notebook_set_window_creation_hook gtk_notebook_get_group gtk_notebook_set_group diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index b911c73d6..8fce95555 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -6770,13 +6770,15 @@ gtk_notebook_prev_page (GtkNotebook *notebook) /* Public GtkNotebook/Tab Style Functions * * gtk_notebook_set_show_border + * gtk_notebook_get_show_border * gtk_notebook_set_show_tabs + * gtk_notebook_get_show_tabs * gtk_notebook_set_tab_pos - * gtk_notebook_set_homogeneous_tabs - * gtk_notebook_set_tab_border - * gtk_notebook_set_tab_hborder - * gtk_notebook_set_tab_vborder + * gtk_notebook_get_tab_pos * gtk_notebook_set_scrollable + * gtk_notebook_get_scrollable + * gtk_notebook_get_tab_hborder + * gtk_notebook_get_tab_vborder */ /** * gtk_notebook_set_show_border: @@ -6997,6 +6999,43 @@ gtk_notebook_get_scrollable (GtkNotebook *notebook) return notebook->priv->scrollable; } +/** + * gtk_notebook_get_tab_hborder: + * @notebook: a #GtkNotebook + * + * Returns the horizontal width of a tab border. + * + * Return value: horizontal width of a tab border + * + * Since: 2.22 + */ +guint16 +gtk_notebook_get_tab_hborder (GtkNotebook *notebook) +{ + g_return_val_if_fail (GTK_IS_NOTEBOOK (notebook), FALSE); + + return notebook->priv->tab_hborder; +} + +/** + * gtk_notebook_get_tab_vborder: + * @notebook: a #GtkNotebook + * + * Returns the vertical width of a tab border. + * + * Return value: vertical width of a tab border + * + * Since: 2.22 + */ +guint16 +gtk_notebook_get_tab_vborder (GtkNotebook *notebook) +{ + g_return_val_if_fail (GTK_IS_NOTEBOOK (notebook), FALSE); + + return notebook->priv->tab_vborder; +} + + /* Public GtkNotebook Popup Menu Methods: * * gtk_notebook_popup_enable diff --git a/gtk/gtknotebook.h b/gtk/gtknotebook.h index a61b655b7..9ced43b03 100644 --- a/gtk/gtknotebook.h +++ b/gtk/gtknotebook.h @@ -182,6 +182,8 @@ GtkPositionType gtk_notebook_get_tab_pos (GtkNotebook *notebook); void gtk_notebook_set_scrollable (GtkNotebook *notebook, gboolean scrollable); gboolean gtk_notebook_get_scrollable (GtkNotebook *notebook); +guint16 gtk_notebook_get_tab_hborder (GtkNotebook *notebook); +guint16 gtk_notebook_get_tab_vborder (GtkNotebook *notebook); /*********************************************************** * enable/disable PopupMenu * diff --git a/modules/engines/ms-windows/msw_style.c b/modules/engines/ms-windows/msw_style.c index 6a2c3ce4e..aaa8cb9a8 100755 --- a/modules/engines/ms-windows/msw_style.c +++ b/modules/engines/ms-windows/msw_style.c @@ -2817,29 +2817,29 @@ draw_box_gap (GtkStyle *style, GdkWindow *window, GtkStateType state_type, if (side == GTK_POS_TOP) { x2 = x; - y2 = y - notebook->tab_vborder; + y2 = y - gtk_notebook_get_tab_vborder (notebook); w2 = width; - h2 = height + notebook->tab_vborder * 2; + h2 = height + gtk_notebook_get_tab_vborder (notebook) * 2; } else if (side == GTK_POS_BOTTOM) { x2 = x; y2 = y; w2 = width; - h2 = height + notebook->tab_vborder * 2; + h2 = height + gtk_notebook_get_tab_vborder (notebook) * 2; } else if (side == GTK_POS_LEFT) { - x2 = x - notebook->tab_hborder; + x2 = x - gtk_notebook_get_tab_hborder (notebook); y2 = y; - w2 = width + notebook->tab_hborder; + w2 = width + gtk_notebook_get_tab_hborder (notebook); h2 = height; } else if (side == GTK_POS_RIGHT) { x2 = x; y2 = y; - w2 = width + notebook->tab_hborder * 2; + w2 = width + gtk_notebook_get_tab_hborder (notebook) * 2; h2 = height; }