diff options
author | Mathias Hasselmann <hasselmm@src.gnome.org> | 2007-12-14 10:57:46 +0000 |
---|---|---|
committer | Mathias Hasselmann <hasselmm@src.gnome.org> | 2007-12-14 10:57:46 +0000 |
commit | 95adf7ee26a5c113ef63805842578254789c06e9 (patch) | |
tree | fbec6dfbe1662b816a7164009766332b4446f963 /gtk/gtktoolshell.h | |
parent | ea8074a4077ac7bf90f3873160da35bd491e8079 (diff) | |
download | gtk+-95adf7ee26a5c113ef63805842578254789c06e9.tar.gz |
Change GtkToolItem to retrieve its properties from GtkToolShell interface,
instead of relying on being child of a GtkToolbar. (#5034079)
* gtk/gtk.symbols, docs/reference/gtk/gtk-docs.sgml,
docs/reference/gtk/gtk-sections.txt: Add GtkToolShell symbols.
* docs/reference/gtk/tmpl/gtktoolitem.sgml: Move section docs inline.
* gtk/gtktoolbar.c: Implement GtkToolShellIface.
* gtk/gtktoolbar.h: Remove _gtk_toolbar_rebuild_menu.
* gtk/gtktoolitem.c: Use GtkToolShell, instead of GtkToolbar.
Take section docs from template file and update them for GtkToolShell.
* gtk/Makefile.am: Add gtk/gtktoolshell.c and gtk/gtktoolshell.h.
* gtk/gtktoolshell.c, gtk/gtktoolshell.h: New GtkToolShellIface.
svn path=/trunk/; revision=19177
Diffstat (limited to 'gtk/gtktoolshell.h')
-rw-r--r-- | gtk/gtktoolshell.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/gtk/gtktoolshell.h b/gtk/gtktoolshell.h new file mode 100644 index 0000000000..684ad897a3 --- /dev/null +++ b/gtk/gtktoolshell.h @@ -0,0 +1,71 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 2007 Openismus GmbH + * + * 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 + * 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 + * 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. + * + * Author: + * Mathias Hasselmann + */ + +#ifndef __GTK_TOOL_SHELL_H__ +#define __GTK_TOOL_SHELL_H__ + +#include <gtk/gtkenums.h> + +G_BEGIN_DECLS + +#define GTK_TYPE_TOOL_SHELL (gtk_tool_shell_get_type ()) +#define GTK_TOOL_SHELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TOOL_SHELL, GtkToolShell)) +#define GTK_IS_TOOL_SHELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TOOL_SHELL)) +#define GTK_TOOL_SHELL_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_TOOL_SHELL, GtkToolShellIface)) + +typedef struct _GtkToolShell GtkToolShell; /* dummy typedef */ +typedef struct _GtkToolShellIface GtkToolShellIface; + +/** + * GtkToolShellIface: + * @get_icon_size: mandatory implementation of gtk_tool_shell_get_icon_size(). + * @get_orientation: mandatory implementation of gtk_tool_shell_get_orientation(). + * @get_style: mandatory implementation of gtk_tool_shell_get_style(). + * @get_relief_style: optional implementation of gtk_tool_shell_get_relief_style(). + * @rebuild_menu: optional implementation of gtk_tool_shell_rebuild_menu(). + * + * Virtual function table for the #GtkToolShell interface. + */ +struct _GtkToolShellIface +{ + /*< private >*/ + GTypeInterface g_iface; + + /*< public >*/ + GtkIconSize (*get_icon_size) (GtkToolShell *shell); + GtkOrientation (*get_orientation) (GtkToolShell *shell); + GtkToolbarStyle (*get_style) (GtkToolShell *shell); + GtkReliefStyle (*get_relief_style) (GtkToolShell *shell); + void (*rebuild_menu) (GtkToolShell *shell); +}; + +GType gtk_tool_shell_get_type (void) G_GNUC_CONST; + +GtkIconSize gtk_tool_shell_get_icon_size (GtkToolShell *shell); +GtkOrientation gtk_tool_shell_get_orientation (GtkToolShell *shell); +GtkToolbarStyle gtk_tool_shell_get_style (GtkToolShell *shell); +GtkReliefStyle gtk_tool_shell_get_relief_style (GtkToolShell *shell); +void gtk_tool_shell_rebuild_menu (GtkToolShell *shell); + +G_END_DECLS + +#endif /* __GTK_TOOL_SHELL_H__ */ |