[gtk+] Add missing accessors for notebook details



commit a2b72c5953d4a5a13a04b60a8b1ea75c0e0ff3b1
Author: Sam Thursfield <ssssam gmail com>
Date:   Mon Aug 9 21:20:07 2010 -0400

    Add missing accessors for notebook details
    
    The ms-windows theme engine needs to access the tab-{h,v}border,
    so add accessors. Bug 625655.

 docs/reference/gtk/gtk3-sections.txt   |    2 +
 gtk/gtk.symbols                        |    2 +
 gtk/gtknotebook.c                      |   47 +++++++++++++++++++++++++++++---
 gtk/gtknotebook.h                      |    2 +
 modules/engines/ms-windows/msw_style.c |   12 ++++----
 5 files changed, 55 insertions(+), 10 deletions(-)
---
diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt
index 3780a5b..235dca2 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 5378217..b9180d4 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 b911c73..8fce955 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 a61b655..9ced43b 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 6a2c3ce..aaa8cb9 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;
 	}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]