* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
+
#ifndef __GTK_NOTEBOOK_H__
#define __GTK_NOTEBOOK_H__
-#include <gdk/gdk.h>
#include <gtk/gtkcontainer.h>
+
G_BEGIN_DECLS
#define GTK_TYPE_NOTEBOOK (gtk_notebook_get_type ())
GTK_NOTEBOOK_TAB_LAST
} GtkNotebookTab;
-typedef struct _GtkNotebook GtkNotebook;
-typedef struct _GtkNotebookClass GtkNotebookClass;
-typedef struct _GtkNotebookPage GtkNotebookPage;
+typedef struct _GtkNotebook GtkNotebook;
+typedef struct _GtkNotebookPrivate GtkNotebookPrivate;
+typedef struct _GtkNotebookClass GtkNotebookClass;
struct _GtkNotebook
{
GtkContainer container;
-
- GtkNotebookPage *cur_page;
- GList *children;
- GList *first_tab; /* The first tab visible (for scrolling notebooks) */
- GList *focus_tab;
-
- GtkWidget *menu;
- GdkWindow *event_window;
-
- guint32 timer;
-
- guint16 tab_hborder;
- guint16 tab_vborder;
-
- guint show_tabs : 1;
- guint homogeneous : 1;
- guint show_border : 1;
- guint tab_pos : 2;
- guint scrollable : 1;
- guint in_child : 3;
- guint click_child : 3;
- guint button : 2;
- guint need_timer : 1;
- guint child_has_focus : 1;
- guint have_visible_child : 1;
- guint focus_out : 1; /* Flag used by ::move-focus-out implementation */
-
- guint has_before_previous : 1;
- guint has_before_next : 1;
- guint has_after_previous : 1;
- guint has_after_next : 1;
+
+ /* <private> */
+ GtkNotebookPrivate *priv;
};
struct _GtkNotebookClass
{
GtkContainerClass parent_class;
-
+
void (* switch_page) (GtkNotebook *notebook,
- GtkNotebookPage *page,
+ GtkWidget *page,
guint page_num);
/* Action signals for keybindings */
GtkWidget *menu_label,
gint position);
+ GtkNotebook * (* create_window) (GtkNotebook *notebook,
+ GtkWidget *page,
+ gint x,
+ gint y);
+
void (*_gtk_reserved1) (void);
- void (*_gtk_reserved2) (void);
};
typedef GtkNotebook* (*GtkNotebookWindowCreationFunc) (GtkNotebook *source,
void gtk_notebook_set_window_creation_hook (GtkNotebookWindowCreationFunc func,
gpointer data,
GDestroyNotify destroy);
-void gtk_notebook_set_group_id (GtkNotebook *notebook,
- gint group_id);
-gint gtk_notebook_get_group_id (GtkNotebook *notebook);
+void gtk_notebook_set_group (GtkNotebook *notebook,
+ gpointer group);
+gpointer gtk_notebook_get_group (GtkNotebook *notebook);
+
+
/***********************************************************
- * query, set current NoteebookPage *
+ * query, set current NotebookPage *
***********************************************************/
gint gtk_notebook_get_current_page (GtkNotebook *notebook);
void gtk_notebook_set_tab_pos (GtkNotebook *notebook,
GtkPositionType pos);
GtkPositionType gtk_notebook_get_tab_pos (GtkNotebook *notebook);
-
-#ifndef GTK_DISABLE_DEPRECATED
-void gtk_notebook_set_homogeneous_tabs (GtkNotebook *notebook,
- gboolean homogeneous);
-void gtk_notebook_set_tab_border (GtkNotebook *notebook,
- guint border_width);
-void gtk_notebook_set_tab_hborder (GtkNotebook *notebook,
- guint tab_hborder);
-void gtk_notebook_set_tab_vborder (GtkNotebook *notebook,
- guint tab_vborder);
-#endif /* GTK_DISABLE_DEPRECATED */
-
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 *
const gchar *menu_text);
G_CONST_RETURN gchar *gtk_notebook_get_menu_label_text (GtkNotebook *notebook,
GtkWidget *child);
-void gtk_notebook_query_tab_label_packing (GtkNotebook *notebook,
- GtkWidget *child,
- gboolean *expand,
- gboolean *fill,
- GtkPackType *pack_type);
-void gtk_notebook_set_tab_label_packing (GtkNotebook *notebook,
- GtkWidget *child,
- gboolean expand,
- gboolean fill,
- GtkPackType pack_type);
void gtk_notebook_reorder_child (GtkNotebook *notebook,
GtkWidget *child,
gint position);
GtkWidget *child,
gboolean detachable);
-#ifndef GTK_DISABLE_DEPRECATED
-#define gtk_notebook_current_page gtk_notebook_get_current_page
-#define gtk_notebook_set_page gtk_notebook_set_current_page
-#endif /* GTK_DISABLE_DEPRECATED */
+GtkWidget* gtk_notebook_get_action_widget (GtkNotebook *notebook,
+ GtkPackType pack_type);
+void gtk_notebook_set_action_widget (GtkNotebook *notebook,
+ GtkWidget *widget,
+ GtkPackType pack_type);
G_END_DECLS