X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtktoolbar.h;h=deb50e4ffff101de83f5ee716b946775e9df4ddf;hb=0ba92bc26d1b716f2f9c0543593f13cd5a92c521;hp=49162e30115c781b3509c1b31cc941d0defbe9d4;hpb=2669847342d37bdbbe9107128579de090e1a121a;p=~andy%2Fgtk diff --git a/gtk/gtktoolbar.h b/gtk/gtktoolbar.h index 49162e301..deb50e4ff 100644 --- a/gtk/gtktoolbar.h +++ b/gtk/gtktoolbar.h @@ -2,10 +2,10 @@ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * GtkToolbar copyright (C) Federico Mena * - * Copyright (C) 2002 Anders Carlsson + * Copyright (C) 2002 Anders Carlsson * Copyright (C) 2002 James Henstridge * Copyright (C) 2003 Soeren Sandmann - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either @@ -17,66 +17,36 @@ * 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/. */ #ifndef __GTK_TOOLBAR_H__ #define __GTK_TOOLBAR_H__ -#include -#include -#include -#include - -#include "gtktoolitem.h" - -#ifndef GTK_DISABLE_DEPRECATED - -/* Not needed, retained for compatibility -Yosh */ -#include -#include +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." #endif +#include +#include + G_BEGIN_DECLS + #define GTK_TYPE_TOOLBAR (gtk_toolbar_get_type ()) #define GTK_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOOLBAR, GtkToolbar)) #define GTK_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TOOLBAR, GtkToolbarClass)) #define GTK_IS_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TOOLBAR)) #define GTK_IS_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TOOLBAR)) #define GTK_TOOLBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TOOLBAR, GtkToolbarClass)) -#define GTK_TOOLBAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_TOOLBAR, GtkToolbarPrivate)) - - -#ifndef GTK_DISABLE_DEPRECATED -typedef enum -{ - GTK_TOOLBAR_CHILD_SPACE, - GTK_TOOLBAR_CHILD_BUTTON, - GTK_TOOLBAR_CHILD_TOGGLEBUTTON, - GTK_TOOLBAR_CHILD_RADIOBUTTON, - GTK_TOOLBAR_CHILD_WIDGET -} GtkToolbarChildType; - -typedef struct _GtkToolbarChild GtkToolbarChild; - -struct _GtkToolbarChild -{ - GtkToolbarChildType type; - GtkWidget *widget; - GtkWidget *icon; - GtkWidget *label; -}; typedef enum { @@ -84,32 +54,15 @@ typedef enum GTK_TOOLBAR_SPACE_LINE } GtkToolbarSpaceStyle; -#endif /* GTK_DISABLE_DEPRECATED */ - -typedef struct _GtkToolbar GtkToolbar; -typedef struct _GtkToolbarClass GtkToolbarClass; -typedef struct _GtkToolbarPrivate GtkToolbarPrivate; +typedef struct _GtkToolbar GtkToolbar; +typedef struct _GtkToolbarPrivate GtkToolbarPrivate; +typedef struct _GtkToolbarClass GtkToolbarClass; struct _GtkToolbar { GtkContainer container; - gint num_children; - GList *children; - GtkOrientation orientation; - GtkToolbarStyle style; - GtkIconSize icon_size; - - GtkTooltips *tooltips; - - gint button_maxw; /* maximum width of homogeneous children */ - gint button_maxh; /* maximum height of homogeneous children */ - - guint style_set_connection; - guint icon_size_connection; - - guint style_set : 1; - guint icon_size_set : 1; + GtkToolbarPrivate *priv; }; struct _GtkToolbarClass @@ -117,143 +70,64 @@ struct _GtkToolbarClass GtkContainerClass parent_class; /* signals */ - void (* orientation_changed) (GtkToolbar *toolbar, - GtkOrientation orientation); - void (* style_changed) (GtkToolbar *toolbar, - GtkToolbarStyle style); - void (* popup_context_menu) (GtkToolbar *toolbar); + void (* orientation_changed) (GtkToolbar *toolbar, + GtkOrientation orientation); + void (* style_changed) (GtkToolbar *toolbar, + GtkToolbarStyle style); + gboolean (* popup_context_menu) (GtkToolbar *toolbar, + gint x, + gint y, + gint button_number); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); }; -GType gtk_toolbar_get_type (void) G_GNUC_CONST; -GtkWidget* gtk_toolbar_new (void); - -void gtk_toolbar_insert (GtkToolbar *toolbar, - GtkToolItem *item, - gint pos); -gint gtk_toolbar_get_item_index (GtkToolbar *toolbar, - GtkToolItem *item); -gint gtk_toolbar_get_n_items (GtkToolbar *toolbar); -GtkToolItem * gtk_toolbar_get_nth_item (GtkToolbar *toolbar, - gint n); -gint gtk_toolbar_get_drop_index (GtkToolbar *toolbar, - gint x, - gint y); -void gtk_toolbar_set_show_arrow (GtkToolbar *toolbar, - gboolean show_arrow); -void gtk_toolbar_set_orientation (GtkToolbar *toolbar, - GtkOrientation orientation); -void gtk_toolbar_set_tooltips (GtkToolbar *toolbar, - gboolean enable); -void gtk_toolbar_unset_icon_size (GtkToolbar *toolbar); -gboolean gtk_toolbar_get_show_arrow (GtkToolbar *toolbar); -GtkOrientation gtk_toolbar_get_orientation (GtkToolbar *toolbar); -GtkToolbarStyle gtk_toolbar_get_style (GtkToolbar *toolbar); -GtkIconSize gtk_toolbar_get_icon_size (GtkToolbar *toolbar); -gboolean gtk_toolbar_get_tooltips (GtkToolbar *toolbar); -GtkReliefStyle gtk_toolbar_get_relief_style (GtkToolbar *toolbar); - -/* internal function */ -gchar * _gtk_toolbar_elide_underscores (const gchar *original); - -#ifndef GTK_DISABLE_DEPRECATED -/* Simple button items */ -void gtk_toolbar_set_style (GtkToolbar *toolbar, - GtkToolbarStyle style); -void gtk_toolbar_set_icon_size (GtkToolbar *toolbar, - GtkIconSize icon_size); -void gtk_toolbar_unset_style (GtkToolbar *toolbar); -GtkWidget* gtk_toolbar_append_item (GtkToolbar *toolbar, - const char *text, - const char *tooltip_text, - const char *tooltip_private_text, - GtkWidget *icon, - GtkSignalFunc callback, - gpointer user_data); -GtkWidget* gtk_toolbar_prepend_item (GtkToolbar *toolbar, - const char *text, - const char *tooltip_text, - const char *tooltip_private_text, - GtkWidget *icon, - GtkSignalFunc callback, - gpointer user_data); -GtkWidget* gtk_toolbar_insert_item (GtkToolbar *toolbar, - const char *text, - const char *tooltip_text, - const char *tooltip_private_text, - GtkWidget *icon, - GtkSignalFunc callback, - gpointer user_data, - gint position); - -/* Stock Items */ -GtkWidget* gtk_toolbar_insert_stock (GtkToolbar *toolbar, - const gchar *stock_id, - const char *tooltip_text, - const char *tooltip_private_text, - GtkSignalFunc callback, - gpointer user_data, - gint position); - -/* Space Items */ -void gtk_toolbar_append_space (GtkToolbar *toolbar); -void gtk_toolbar_prepend_space (GtkToolbar *toolbar); -void gtk_toolbar_insert_space (GtkToolbar *toolbar, - gint position); -void gtk_toolbar_remove_space (GtkToolbar *toolbar, - gint position); -/* Any element type */ -GtkWidget* gtk_toolbar_append_element (GtkToolbar *toolbar, - GtkToolbarChildType type, - GtkWidget *widget, - const char *text, - const char *tooltip_text, - const char *tooltip_private_text, - GtkWidget *icon, - GtkSignalFunc callback, - gpointer user_data); - -GtkWidget* gtk_toolbar_prepend_element (GtkToolbar *toolbar, - GtkToolbarChildType type, - GtkWidget *widget, - const char *text, - const char *tooltip_text, - const char *tooltip_private_text, - GtkWidget *icon, - GtkSignalFunc callback, - gpointer user_data); - -GtkWidget* gtk_toolbar_insert_element (GtkToolbar *toolbar, - GtkToolbarChildType type, - GtkWidget *widget, - const char *text, - const char *tooltip_text, - const char *tooltip_private_text, - GtkWidget *icon, - GtkSignalFunc callback, - gpointer user_data, - gint position); - -/* Generic Widgets */ -void gtk_toolbar_append_widget (GtkToolbar *toolbar, - GtkWidget *widget, - const char *tooltip_text, - const char *tooltip_private_text); -void gtk_toolbar_prepend_widget (GtkToolbar *toolbar, - GtkWidget *widget, - const char *tooltip_text, - const char *tooltip_private_text); -void gtk_toolbar_insert_widget (GtkToolbar *toolbar, - GtkWidget *widget, - const char *tooltip_text, - const char *tooltip_private_text, - gint position); - -#endif /* GTK_DISABLE_DEPRECATED */ +GType gtk_toolbar_get_type (void) G_GNUC_CONST; +GtkWidget * gtk_toolbar_new (void); + +void gtk_toolbar_insert (GtkToolbar *toolbar, + GtkToolItem *item, + gint pos); + +gint gtk_toolbar_get_item_index (GtkToolbar *toolbar, + GtkToolItem *item); +gint gtk_toolbar_get_n_items (GtkToolbar *toolbar); +GtkToolItem * gtk_toolbar_get_nth_item (GtkToolbar *toolbar, + gint n); + +gboolean gtk_toolbar_get_show_arrow (GtkToolbar *toolbar); +void gtk_toolbar_set_show_arrow (GtkToolbar *toolbar, + gboolean show_arrow); + +GtkToolbarStyle gtk_toolbar_get_style (GtkToolbar *toolbar); +void gtk_toolbar_set_style (GtkToolbar *toolbar, + GtkToolbarStyle style); +void gtk_toolbar_unset_style (GtkToolbar *toolbar); + +GtkIconSize gtk_toolbar_get_icon_size (GtkToolbar *toolbar); +void gtk_toolbar_set_icon_size (GtkToolbar *toolbar, + GtkIconSize icon_size); +void gtk_toolbar_unset_icon_size (GtkToolbar *toolbar); + +GtkReliefStyle gtk_toolbar_get_relief_style (GtkToolbar *toolbar); +gint gtk_toolbar_get_drop_index (GtkToolbar *toolbar, + gint x, + gint y); +void gtk_toolbar_set_drop_highlight_item (GtkToolbar *toolbar, + GtkToolItem *tool_item, + gint index_); + + +/* internal functions */ +gchar * _gtk_toolbar_elide_underscores (const gchar *original); +void _gtk_toolbar_paint_space_line (GtkWidget *widget, + GtkToolbar *toolbar, + cairo_t *cr); +gint _gtk_toolbar_get_default_space_size (void); G_END_DECLS