1 /* GtkToolPalette -- A tool palette with categories and DnD support
2 * Copyright (C) 2008 Openismus GmbH
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
23 #error "Only <gtk/gtk.h> can be included directly."
26 #ifndef __GTK_TOOL_ITEM_GROUP_H__
27 #define __GTK_TOOL_ITEM_GROUP_H__
29 #include <gtk/gtkcontainer.h>
30 #include <gtk/gtktoolitem.h>
34 #define GTK_TYPE_TOOL_ITEM_GROUP (gtk_tool_item_group_get_type ())
35 #define GTK_TOOL_ITEM_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, GTK_TYPE_TOOL_ITEM_GROUP, GtkToolItemGroup))
36 #define GTK_TOOL_ITEM_GROUP_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST (cls, GTK_TYPE_TOOL_ITEM_GROUP, GtkToolItemGroupClass))
37 #define GTK_IS_TOOL_ITEM_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, GTK_TYPE_TOOL_ITEM_GROUP))
38 #define GTK_IS_TOOL_ITEM_GROUP_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE (obj, GTK_TYPE_TOOL_ITEM_GROUP))
39 #define GTK_TOOL_ITEM_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TOOL_ITEM_GROUP, GtkToolItemGroupClass))
41 typedef struct _GtkToolItemGroup GtkToolItemGroup;
42 typedef struct _GtkToolItemGroupClass GtkToolItemGroupClass;
43 typedef struct _GtkToolItemGroupPrivate GtkToolItemGroupPrivate;
48 * This should not be accessed directly. Use the accessor functions below.
50 struct _GtkToolItemGroup
52 GtkContainer parent_instance;
53 GtkToolItemGroupPrivate *priv;
56 struct _GtkToolItemGroupClass
58 GtkContainerClass parent_class;
60 /* Padding for future expansion */
61 void (*_gtk_reserved1) (void);
62 void (*_gtk_reserved2) (void);
63 void (*_gtk_reserved3) (void);
64 void (*_gtk_reserved4) (void);
67 GType gtk_tool_item_group_get_type (void) G_GNUC_CONST;
68 GtkWidget* gtk_tool_item_group_new (const gchar *label);
70 void gtk_tool_item_group_set_label (GtkToolItemGroup *group,
72 void gtk_tool_item_group_set_label_widget (GtkToolItemGroup *group,
73 GtkWidget *label_widget);
74 void gtk_tool_item_group_set_collapsed (GtkToolItemGroup *group,
76 void gtk_tool_item_group_set_ellipsize (GtkToolItemGroup *group,
77 PangoEllipsizeMode ellipsize);
78 void gtk_tool_item_group_set_header_relief (GtkToolItemGroup *group,
79 GtkReliefStyle style);
81 G_CONST_RETURN gchar* gtk_tool_item_group_get_label (GtkToolItemGroup *group);
82 GtkWidget *gtk_tool_item_group_get_label_widget (GtkToolItemGroup *group);
83 gboolean gtk_tool_item_group_get_collapsed (GtkToolItemGroup *group);
84 PangoEllipsizeMode gtk_tool_item_group_get_ellipsize (GtkToolItemGroup *group);
85 GtkReliefStyle gtk_tool_item_group_get_header_relief (GtkToolItemGroup *group);
87 void gtk_tool_item_group_insert (GtkToolItemGroup *group,
90 void gtk_tool_item_group_set_item_position (GtkToolItemGroup *group,
93 gint gtk_tool_item_group_get_item_position (GtkToolItemGroup *group,
96 guint gtk_tool_item_group_get_n_items (GtkToolItemGroup *group);
97 GtkToolItem* gtk_tool_item_group_get_nth_item (GtkToolItemGroup *group,
99 GtkToolItem* gtk_tool_item_group_get_drop_item (GtkToolItemGroup *group,
105 #endif /* __GTK_TOOL_ITEM_GROUP_H__ */