1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
/* GtkToolPalette -- A tool palette with categories and DnD support
* Copyright (C) 2008 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.1 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* Authors:
* Mathias Hasselmann
*/
#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only <gtk/gtk.h> can be included directly."
#endif
#ifndef __GTK_TOOL_PALETTE_H__
#define __GTK_TOOL_PALETTE_H__
#include <gtk/gtkcontainer.h>
#include <gtk/gtkdnd.h>
#include <gtk/gtktoolitem.h>
G_BEGIN_DECLS
#define GTK_TYPE_TOOL_PALETTE (gtk_tool_palette_get_type ())
#define GTK_TOOL_PALETTE(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, GTK_TYPE_TOOL_PALETTE, GtkToolPalette))
#define GTK_TOOL_PALETTE_CLASS(cls) (G_TYPE_CHECK_CLASS_CAST (cls, GTK_TYPE_TOOL_PALETTE, GtkToolPaletteClass))
#define GTK_IS_TOOL_PALETTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, GTK_TYPE_TOOL_PALETTE))
#define GTK_IS_TOOL_PALETTE_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE (obj, GTK_TYPE_TOOL_PALETTE))
#define GTK_TOOL_PALETTE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TOOL_PALETTE, GtkToolPaletteClass))
typedef struct _GtkToolPalette GtkToolPalette;
typedef struct _GtkToolPaletteClass GtkToolPaletteClass;
typedef struct _GtkToolPalettePrivate GtkToolPalettePrivate;
/**
* GtkToolPaletteDragTargets:
* @GTK_TOOL_PALETTE_DRAG_ITEMS: Support drag of items.
* @GTK_TOOL_PALETTE_DRAG_GROUPS: Support drag of groups.
*
* Flags used to specify the supported drag targets.
*/
typedef enum /*< flags >*/
{
GTK_TOOL_PALETTE_DRAG_ITEMS = (1 << 0),
GTK_TOOL_PALETTE_DRAG_GROUPS = (1 << 1)
}
GtkToolPaletteDragTargets;
/**
* GtkToolPalette:
*
* This should not be accessed directly. Use the accessor functions below.
*/
struct _GtkToolPalette
{
GtkContainer parent_instance;
GtkToolPalettePrivate *priv;
};
struct _GtkToolPaletteClass
{
GtkContainerClass parent_class;
/* Padding for future expansion */
void (*_gtk_reserved1) (void);
void (*_gtk_reserved2) (void);
void (*_gtk_reserved3) (void);
void (*_gtk_reserved4) (void);
};
GType gtk_tool_palette_get_type (void) G_GNUC_CONST;
GtkWidget* gtk_tool_palette_new (void);
void gtk_tool_palette_set_group_position (GtkToolPalette *palette,
GtkToolItemGroup *group,
gint position);
void gtk_tool_palette_set_exclusive (GtkToolPalette *palette,
GtkToolItemGroup *group,
gboolean exclusive);
void gtk_tool_palette_set_expand (GtkToolPalette *palette,
GtkToolItemGroup *group,
gboolean expand);
gint gtk_tool_palette_get_group_position (GtkToolPalette *palette,
GtkToolItemGroup *group);
gboolean gtk_tool_palette_get_exclusive (GtkToolPalette *palette,
GtkToolItemGroup *group);
gboolean gtk_tool_palette_get_expand (GtkToolPalette *palette,
GtkToolItemGroup *group);
void gtk_tool_palette_set_icon_size (GtkToolPalette *palette,
GtkIconSize icon_size);
void gtk_tool_palette_unset_icon_size (GtkToolPalette *palette);
void gtk_tool_palette_set_style (GtkToolPalette *palette,
GtkToolbarStyle style);
void gtk_tool_palette_unset_style (GtkToolPalette *palette);
GtkIconSize gtk_tool_palette_get_icon_size (GtkToolPalette *palette);
GtkToolbarStyle gtk_tool_palette_get_style (GtkToolPalette *palette);
GtkToolItem* gtk_tool_palette_get_drop_item (GtkToolPalette *palette,
gint x,
gint y);
GtkToolItemGroup* gtk_tool_palette_get_drop_group (GtkToolPalette *palette,
gint x,
gint y);
GtkWidget* gtk_tool_palette_get_drag_item (GtkToolPalette *palette,
const GtkSelectionData *selection);
void gtk_tool_palette_set_drag_source (GtkToolPalette *palette,
GtkToolPaletteDragTargets targets);
void gtk_tool_palette_add_drag_dest (GtkToolPalette *palette,
GtkWidget *widget,
GtkDestDefaults flags,
GtkToolPaletteDragTargets targets,
GdkDragAction actions);
#ifndef GTK_DISABLE_DEPRECATED
GtkAdjustment* gtk_tool_palette_get_hadjustment (GtkToolPalette *palette);
GtkAdjustment* gtk_tool_palette_get_vadjustment (GtkToolPalette *palette);
#endif
const GtkTargetEntry* gtk_tool_palette_get_drag_target_item (void) G_GNUC_CONST;
const GtkTargetEntry* gtk_tool_palette_get_drag_target_group (void) G_GNUC_CONST;
G_END_DECLS
#endif /* __GTK_TOOL_PALETTE_H__ */
|