]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtknotebook.h
Added gdk_text/string_extents() - too calculate all the metrics at once of
[~andy/gtk] / gtk / gtknotebook.h
index e02881b1a0f40383a7e72027aca4add148fd9a66..2efb2a227d1c75c60f212890867c24e8425bc2d0 100644 (file)
@@ -12,8 +12,9 @@
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
  */
 #ifndef __GTK_NOTEBOOK_H__
 #define __GTK_NOTEBOOK_H__
 
 #ifdef __cplusplus
 extern "C" {
+#pragma }
 #endif /* __cplusplus */
 
 
-#define GTK_NOTEBOOK(obj)          GTK_CHECK_CAST (obj, gtk_notebook_get_type (), GtkNotebook)
-#define GTK_NOTEBOOK_CLASS(klass)  GTK_CHECK_CLASS_CAST (klass, gtk_notebook_get_type (), GtkNotebookClass)
-#define GTK_IS_NOTEBOOK(obj)       GTK_CHECK_TYPE (obj, gtk_notebook_get_type ())
+#define GTK_TYPE_NOTEBOOK                  (gtk_notebook_get_type ())
+#define GTK_NOTEBOOK(obj)                  (GTK_CHECK_CAST ((obj), GTK_TYPE_NOTEBOOK, GtkNotebook))
+#define GTK_NOTEBOOK_CLASS(klass)          (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_NOTEBOOK, GtkNotebookClass))
+#define GTK_IS_NOTEBOOK(obj)               (GTK_CHECK_TYPE ((obj), GTK_TYPE_NOTEBOOK))
+#define GTK_IS_NOTEBOOK_CLASS(klass)       (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_NOTEBOOK))
 
 
 typedef struct _GtkNotebook       GtkNotebook;
@@ -40,19 +44,19 @@ typedef struct _GtkNotebookPage   GtkNotebookPage;
 struct _GtkNotebook
 {
   GtkContainer container;
-
+  
   GtkNotebookPage *cur_page;
   GList *children;
   GList *first_tab;
   GList *focus_tab;
-
+  
   GtkWidget *menu;
   GdkWindow *panel;
-
+  
   guint32 timer;
-
-  gint16 tab_border;
-
+  
+  guint16 tab_border;
+  
   guint show_tabs : 1;
   guint show_border : 1;
   guint tab_pos : 2;
@@ -61,14 +65,16 @@ struct _GtkNotebook
   guint click_child : 2;
   guint button : 2;
   guint need_timer : 1;
+  guint child_has_focus : 1;
 };
 
 struct _GtkNotebookClass
 {
   GtkContainerClass parent_class;
-
-  void (* switch_page)       (GtkNotebook *notebook,
-                              GtkNotebookPage *page);
+  
+  void (* switch_page)       (GtkNotebook     *notebook,
+                              GtkNotebookPage *page,
+                             guint            page_num);
 };
 
 struct _GtkNotebookPage
@@ -76,14 +82,14 @@ struct _GtkNotebookPage
   GtkWidget *child;
   GtkWidget *tab_label;
   GtkWidget *menu_label;
-  gint8 default_menu : 1;
-  gint8 default_tab  : 1;
+  guint default_menu : 1;
+  guint default_tab  : 1;
   GtkRequisition requisition;
   GtkAllocation allocation;
 };
 
 
-guint      gtk_notebook_get_type        (void);
+GtkType    gtk_notebook_get_type        (void);
 GtkWidget* gtk_notebook_new             (void);
 void       gtk_notebook_append_page       (GtkNotebook      *notebook,
                                           GtkWidget        *child,
@@ -115,6 +121,9 @@ void       gtk_notebook_set_page          (GtkNotebook      *notebook,
                                           gint              page_num);
 void       gtk_notebook_next_page         (GtkNotebook      *notebook);
 void       gtk_notebook_prev_page         (GtkNotebook      *notebook);
+void       gtk_notebook_reorder_child     (GtkNotebook      *notebook,
+                                          GtkWidget        *child,
+                                          gint              position);
 void       gtk_notebook_set_tab_pos       (GtkNotebook      *notebook,
                                           GtkPositionType   pos);
 void       gtk_notebook_set_show_tabs     (GtkNotebook      *notebook,
@@ -124,7 +133,7 @@ void       gtk_notebook_set_show_border   (GtkNotebook      *notebook,
 void       gtk_notebook_set_scrollable    (GtkNotebook      *notebook,
                                           gint              scrollable);
 void       gtk_notebook_set_tab_border    (GtkNotebook      *notebook,
-                                          gint              border_width);
+                                          guint             border_width);
 void       gtk_notebook_popup_enable      (GtkNotebook      *notebook);
 void       gtk_notebook_popup_disable     (GtkNotebook      *notebook);