| Top |
| GtkIconSize | icon-size | Read / Write |
| gboolean | icon-size-set | Read / Write |
| GtkToolbarStyle | toolbar-style | Read / Write |
GtkToolPalette implements AtkImplementor, GtkBuildable, GtkOrientable and GtkScrollable.
A GtkToolPalette allows you to add GtkToolItems to a palette-like container with different categories and drag and drop support.
A GtkToolPalette is created with a call to gtk_tool_palette_new().
GtkToolItems cannot be added directly to a GtkToolPalette -
instead they are added to a GtkToolItemGroup which can than be added
to a GtkToolPalette. To add a GtkToolItemGroup to a GtkToolPalette,
use gtk_container_add().
GtkWidget *palette, *group;
GtkToolItem *item;
palette = gtk_tool_palette_new ();
group = gtk_tool_item_group_new (_("Test Category"));
gtk_container_add (GTK_CONTAINER (palette), group);
item = gtk_tool_button_new (NULL, _("_Open"));
gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (item), "document-open");
gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
The easiest way to use drag and drop with GtkToolPalette is to call
gtk_tool_palette_add_drag_dest() with the desired drag source palette
and the desired drag target widget
. Then gtk_tool_palette_get_drag_item()
can be used to get the dragged item in the “drag-data-received”
signal handler of the drag target.
static void
passive_canvas_drag_data_received (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
GtkSelectionData *selection,
guint info,
guint time,
gpointer data)
{
GtkWidget *palette;
GtkWidget *item;
// Get the dragged item
palette = gtk_widget_get_ancestor (gtk_drag_get_source_widget (context),
GTK_TYPE_TOOL_PALETTE);
if (palette != NULL)
item = gtk_tool_palette_get_drag_item (GTK_TOOL_PALETTE (palette),
selection);
// Do something with item
}
GtkWidget *target, palette;
palette = gtk_tool_palette_new ();
target = gtk_drawing_area_new ();
g_signal_connect (G_OBJECT (target), "drag-data-received",
G_CALLBACK (passive_canvas_drag_data_received), NULL);
gtk_tool_palette_add_drag_dest (GTK_TOOL_PALETTE (palette), target,
GTK_DEST_DEFAULT_ALL,
GTK_TOOL_PALETTE_DRAG_ITEMS,
GDK_ACTION_COPY);
GtkWidget *
gtk_tool_palette_new (void);
Creates a new tool palette.
Since: 2.20
gboolean gtk_tool_palette_get_exclusive (GtkToolPalette *palette,GtkToolItemGroup *group);
Gets whether group
is exclusive or not.
See gtk_tool_palette_set_exclusive().
Since: 2.20
void gtk_tool_palette_set_exclusive (GtkToolPalette *palette,GtkToolItemGroup *group,gboolean exclusive);
Sets whether the group should be exclusive or not. If an exclusive group is expanded all other groups are collapsed.
palette |
||
group |
a GtkToolItemGroup which is a child of palette |
|
exclusive |
whether the group should be exclusive or not |
Since: 2.20
gboolean gtk_tool_palette_get_expand (GtkToolPalette *palette,GtkToolItemGroup *group);
Gets whether group should be given extra space.
See gtk_tool_palette_set_expand().
Since: 2.20
void gtk_tool_palette_set_expand (GtkToolPalette *palette,GtkToolItemGroup *group,gboolean expand);
Sets whether the group should be given extra space.
palette |
||
group |
a GtkToolItemGroup which is a child of palette |
|
expand |
whether the group should be given extra space |
Since: 2.20
gint gtk_tool_palette_get_group_position (GtkToolPalette *palette,GtkToolItemGroup *group);
Gets the position of group
in palette
as index.
See gtk_tool_palette_set_group_position().
Since: 2.20
void gtk_tool_palette_set_group_position (GtkToolPalette *palette,GtkToolItemGroup *group,gint position);
Sets the position of the group as an index of the tool palette. If position is 0 the group will become the first child, if position is -1 it will become the last child.
palette |
||
group |
a GtkToolItemGroup which is a child of palette |
|
position |
a new index for group |
Since: 2.20
GtkIconSize
gtk_tool_palette_get_icon_size (GtkToolPalette *palette);
Gets the size of icons in the tool palette.
See gtk_tool_palette_set_icon_size().
Since: 2.20
void gtk_tool_palette_set_icon_size (GtkToolPalette *palette,GtkIconSize icon_size);
Sets the size of icons in the tool palette.
Since: 2.20
void
gtk_tool_palette_unset_icon_size (GtkToolPalette *palette);
Unsets the tool palette icon size set with gtk_tool_palette_set_icon_size(),
so that user preferences will be used to determine the icon size.
Since: 2.20
GtkToolbarStyle
gtk_tool_palette_get_style (GtkToolPalette *palette);
Gets the style (icons, text or both) of items in the tool palette.
Since: 2.20
void gtk_tool_palette_set_style (GtkToolPalette *palette,GtkToolbarStyle style);
Sets the style (text, icons or both) of items in the tool palette.
Since: 2.20
void
gtk_tool_palette_unset_style (GtkToolPalette *palette);
Unsets a toolbar style set with gtk_tool_palette_set_style(),
so that user preferences will be used to determine the toolbar style.
Since: 2.20
void gtk_tool_palette_add_drag_dest (GtkToolPalette *palette,GtkWidget *widget,GtkDestDefaults flags,GtkToolPaletteDragTargets targets,GdkDragAction actions);
Sets palette
as drag source (see gtk_tool_palette_set_drag_source())
and sets widget
as a drag destination for drags from palette
.
See gtk_drag_dest_set().
palette |
||
widget |
a GtkWidget which should be a drag destination for |
|
flags |
the flags that specify what actions GTK+ should take for drops on that widget |
|
targets |
the GtkToolPaletteDragTargets which the widget should support |
|
actions |
the GdkDragActions which the widget should suppport |
Since: 2.20
GtkWidget * gtk_tool_palette_get_drag_item (GtkToolPalette *palette,const GtkSelectionData *selection);
Get the dragged item from the selection. This could be a GtkToolItem or a GtkToolItemGroup.
Since: 2.20
const GtkTargetEntry *
gtk_tool_palette_get_drag_target_group
(void);
Get the target entry for a dragged GtkToolItemGroup.
Since: 2.20
const GtkTargetEntry *
gtk_tool_palette_get_drag_target_item (void);
Gets the target entry for a dragged GtkToolItem.
Since: 2.20
GtkToolItemGroup * gtk_tool_palette_get_drop_group (GtkToolPalette *palette,gint x,gint y);
Gets the group at position (x, y).
the GtkToolItemGroup at position
or NULL if there is no such group.
[nullable][transfer none]
Since: 2.20
GtkToolItem * gtk_tool_palette_get_drop_item (GtkToolPalette *palette,gint x,gint y);
Gets the item at position (x, y).
See gtk_tool_palette_get_drop_group().
Since: 2.20
void gtk_tool_palette_set_drag_source (GtkToolPalette *palette,GtkToolPaletteDragTargets targets);
Sets the tool palette as a drag source.
Enables all groups and items in the tool palette as drag sources
on button 1 and button 3 press with copy and move actions.
See gtk_drag_source_set().
Since: 2.20
GtkAdjustment *
gtk_tool_palette_get_hadjustment (GtkToolPalette *palette);
gtk_tool_palette_get_hadjustment has been deprecated since version 3.0 and should not be used in newly-written code.
Gets the horizontal adjustment of the tool palette.
Since: 2.20
GtkAdjustment *
gtk_tool_palette_get_vadjustment (GtkToolPalette *palette);
gtk_tool_palette_get_vadjustment has been deprecated since version 3.0 and should not be used in newly-written code.
Gets the vertical adjustment of the tool palette.
Since: 2.20
struct GtkToolPalette;
This should not be accessed directly. Use the accessor functions below.
“icon-size” property“icon-size” GtkIconSize
The size of the icons in a tool palette. When this property is set, it overrides the default setting.
This should only be used for special-purpose tool palettes, normal application tool palettes should respect the user preferences for the size of icons.
Flags: Read / Write
Default value: GTK_ICON_SIZE_SMALL_TOOLBAR
Since: 2.20
“icon-size-set” property “icon-size-set” gboolean
Is TRUE if the “icon-size” property has been set.
Flags: Read / Write
Default value: FALSE
Since: 2.20
“toolbar-style” property“toolbar-style” GtkToolbarStyle
The style of items in the tool palette.
Flags: Read / Write
Default value: GTK_TOOLBAR_ICONS
Since: 2.20