X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtktoolbar.h;h=deb50e4ffff101de83f5ee716b946775e9df4ddf;hb=3b2182e711ace4a2d6843848208224cd7525d530;hp=c54ac1f942aed1ff7fd2fbbf54c711fa9dcb4dca;hpb=0c6a6baa088d77886e23033a61a83b6c2b3a5767;p=~andy%2Fgtk diff --git a/gtk/gtktoolbar.h b/gtk/gtktoolbar.h index c54ac1f94..deb50e4ff 100644 --- a/gtk/gtktoolbar.h +++ b/gtk/gtktoolbar.h @@ -2,123 +2,134 @@ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * GtkToolbar copyright (C) Federico Mena * + * 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 Library General Public + * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. + * Lesser 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. + * You should have received a copy of the GNU Lesser General Public + * 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/. */ #ifndef __GTK_TOOLBAR_H__ #define __GTK_TOOLBAR_H__ -#include -#include -#include -#include -#include -#include +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif +#include +#include -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +G_BEGIN_DECLS -#define GTK_TOOLBAR(obj) GTK_CHECK_CAST (obj, gtk_toolbar_get_type (), GtkToolbar) -#define GTK_TOOLBAR_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_toolbar_get_type (), GtkToolbarClass) -#define GTK_IS_TOOLBAR(obj) GTK_CHECK_TYPE (obj, gtk_toolbar_get_type ()) +#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)) +typedef enum +{ + GTK_TOOLBAR_SPACE_EMPTY, + GTK_TOOLBAR_SPACE_LINE +} GtkToolbarSpaceStyle; -typedef struct _GtkToolbar GtkToolbar; -typedef struct _GtkToolbarClass GtkToolbarClass; +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; - gint space_size; /* big optional space between buttons */ - - GtkTooltips *tooltips; - - gint button_maxw; - gint button_maxh; + GtkToolbarPrivate *priv; }; struct _GtkToolbarClass { GtkContainerClass parent_class; - void (* orientation_changed) (GtkToolbar *toolbar, - GtkOrientation orientation); - void (* style_changed) (GtkToolbar *toolbar, - GtkToolbarStyle style); + /* signals */ + 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); + +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); + -guint gtk_toolbar_get_type (void); -GtkWidget *gtk_toolbar_new (GtkOrientation orientation, - GtkToolbarStyle style); - -GtkWidget *gtk_toolbar_append_item (GtkToolbar *toolbar, - const char *text, - const char *tooltip_text, - GtkWidget *icon, - GtkSignalFunc callback, - gpointer user_data); -GtkWidget *gtk_toolbar_prepend_item (GtkToolbar *toolbar, - const char *text, - const char *tooltip_text, - GtkWidget *icon, - GtkSignalFunc callback, - gpointer user_data); -GtkWidget *gtk_toolbar_insert_item (GtkToolbar *toolbar, - const char *text, - const char *tooltip_text, - GtkWidget *icon, - GtkSignalFunc callback, - gpointer user_data, - gint position); -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_append_widget (GtkToolbar *toolbar, - const char *tooltip_text, - GtkWidget *widget); -void gtk_toolbar_prepend_widget (GtkToolbar *toolbar, - const char *tooltip_text, - GtkWidget *widget); -void gtk_toolbar_insert_widget (GtkToolbar *toolbar, - const char *tooltip_text, - GtkWidget *widget, - gint position); - -void gtk_toolbar_set_orientation (GtkToolbar *toolbar, - GtkOrientation orientation); -void gtk_toolbar_set_style (GtkToolbar *toolbar, - GtkToolbarStyle style); -void gtk_toolbar_set_space_size (GtkToolbar *toolbar, - gint space_size); -void gtk_toolbar_set_tooltips (GtkToolbar *toolbar, - gint enable); - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ +G_END_DECLS #endif /* __GTK_TOOLBAR_H__ */