X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtknotebook.h;h=a0fea568e72b4958f3ea1bba995603179971bd3f;hb=0ba92bc26d1b716f2f9c0543593f13cd5a92c521;hp=489918a71b5a23fc0cb335ee82ec4e56cf43ba79;hpb=eff99c282cb6967f4b1df2f2b53f2bbb034ce79a;p=~andy%2Fgtk diff --git a/gtk/gtknotebook.h b/gtk/gtknotebook.h index 489918a71..a0fea568e 100644 --- a/gtk/gtknotebook.h +++ b/gtk/gtknotebook.h @@ -13,29 +13,27 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ /* * 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_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) -#error "Only can be included directly." -#endif - #ifndef __GTK_NOTEBOOK_H__ #define __GTK_NOTEBOOK_H__ -#include +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + #include + G_BEGIN_DECLS #define GTK_TYPE_NOTEBOOK (gtk_notebook_get_type ()) @@ -52,52 +50,24 @@ typedef enum 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 { + /*< private >*/ 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; + + GtkNotebookPrivate *priv; }; struct _GtkNotebookClass { GtkContainerClass parent_class; - + void (* switch_page) (GtkNotebook *notebook, - GtkNotebookPage *page, + GtkWidget *page, guint page_num); /* Action signals for keybindings */ @@ -125,15 +95,29 @@ struct _GtkNotebookClass gint x, gint y); + void (* page_reordered) (GtkNotebook *notebook, + GtkWidget *child, + guint page_num); + + void (* page_removed) (GtkNotebook *notebook, + GtkWidget *child, + guint page_num); + + void (* page_added) (GtkNotebook *notebook, + GtkWidget *child, + guint page_num); + + /* Padding for future expansion */ void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); + void (*_gtk_reserved5) (void); + void (*_gtk_reserved6) (void); + void (*_gtk_reserved7) (void); + void (*_gtk_reserved8) (void); }; -typedef GtkNotebook* (*GtkNotebookWindowCreationFunc) (GtkNotebook *source, - GtkWidget *page, - gint x, - gint y, - gpointer data); - /*********************************************************** * Creation, insertion, deletion * ***********************************************************/ @@ -170,19 +154,9 @@ void gtk_notebook_remove_page (GtkNotebook *notebook, * Tabs drag and drop * ***********************************************************/ -void gtk_notebook_set_window_creation_hook (GtkNotebookWindowCreationFunc func, - gpointer data, - GDestroyNotify destroy); -#ifndef GTK_DISABLE_DEPRECATED -void gtk_notebook_set_group_id (GtkNotebook *notebook, - gint group_id); -gint gtk_notebook_get_group_id (GtkNotebook *notebook); - -#endif /* GTK_DISABLE_DEPRECATED */ - -void gtk_notebook_set_group (GtkNotebook *notebook, - gpointer group); -gpointer gtk_notebook_get_group (GtkNotebook *notebook); +void gtk_notebook_set_group_name (GtkNotebook *notebook, + const gchar *group_name); +const gchar *gtk_notebook_get_group_name (GtkNotebook *notebook); @@ -214,21 +188,11 @@ gboolean gtk_notebook_get_show_tabs (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 * @@ -246,31 +210,21 @@ GtkWidget * gtk_notebook_get_tab_label (GtkNotebook *notebook, void gtk_notebook_set_tab_label (GtkNotebook *notebook, GtkWidget *child, GtkWidget *tab_label); -void gtk_notebook_set_tab_label_text (GtkNotebook *notebook, - GtkWidget *child, - const gchar *tab_text); -G_CONST_RETURN gchar *gtk_notebook_get_tab_label_text (GtkNotebook *notebook, - GtkWidget *child); +void gtk_notebook_set_tab_label_text (GtkNotebook *notebook, + GtkWidget *child, + const gchar *tab_text); +const gchar * gtk_notebook_get_tab_label_text (GtkNotebook *notebook, + GtkWidget *child); GtkWidget * gtk_notebook_get_menu_label (GtkNotebook *notebook, GtkWidget *child); void gtk_notebook_set_menu_label (GtkNotebook *notebook, GtkWidget *child, GtkWidget *menu_label); -void gtk_notebook_set_menu_label_text (GtkNotebook *notebook, - GtkWidget *child, - const gchar *menu_text); -G_CONST_RETURN gchar *gtk_notebook_get_menu_label_text (GtkNotebook *notebook, +void gtk_notebook_set_menu_label_text (GtkNotebook *notebook, + GtkWidget *child, + const gchar *menu_text); +const 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); @@ -285,10 +239,11 @@ void gtk_notebook_set_tab_detachable (GtkNotebook *notebook, 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