gtkToolPaletteNew(show = TRUE)
gtkToolPaletteGetExclusive(object, group)
gtkToolPaletteSetExclusive(object, group, exclusive)
gtkToolPaletteGetExpand(object, group)
gtkToolPaletteSetExpand(object, group, expand)
gtkToolPaletteGetGroupPosition(object, group)
gtkToolPaletteSetGroupPosition(object, group, position)
gtkToolPaletteGetIconSize(object)
gtkToolPaletteSetIconSize(object, icon.size)
gtkToolPaletteUnsetIconSize(object)
gtkToolPaletteGetStyle(object)
gtkToolPaletteSetStyle(object, style)
gtkToolPaletteUnsetStyle(object)
gtkToolPaletteAddDragDest(object, widget, flags, targets, actions)
gtkToolPaletteGetDragItem(object, selection)
gtkToolPaletteGetDragTargetGroup()
gtkToolPaletteGetDragTargetItem()
gtkToolPaletteGetDropGroup(object, x, y)
gtkToolPaletteGetDropItem(object, x, y)
gtkToolPaletteSetDragSource(object, targets)
gtkToolPaletteGetHadjustment(object)
gtkToolPaletteGetVadjustment(object)
gtkToolPalette(show = TRUE)GObject
+----GInitiallyUnowned
+----GtkObject
+----GtkWidget
+----GtkContainer
+----GtkToolPaletteGtkBuildable and GtkOrientable.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 gtkToolPaletteNew.
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 gtkContainerAdd.
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_from_stock (GTK_STOCK_OK);
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
gtkToolPaletteAddDragDest with the desired drag source palette
and the desired drag target widget. Then gtkToolPaletteGetDragItem
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);
gtkToolPalette is the equivalent of gtkToolPaletteNew.icon-size [GtkIconSize : Read / Write]"toolbar-icon-size" setting. When this property is set,
it overrides the 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.
Default value: GTK_ICON_SIZE_SMALL_TOOLBAR Since 2.20 icon-size-set [logical : Read / Write]TRUE if the "icon-size" property has been set.
Default value: FALSE Since 2.20 toolbar-style [GtkToolbarStyle : Read / Write]