Back to Seed Clases







Class Gtk.ToolPalette

Import line: Gtk =;
GIR File: Gtk-3.0.gir
C documentation: GtkToolPalette
Class : ToolPalette
Implements: Atk.ImplementorIface, Gtk.Buildable, Gtk.Orientable, Gtk.Scrollable
Extends: Gtk.Container
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_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
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 GtkWidget::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),
if (palette != NULL)
item = gtk_tool_palette_get_drag_item (GTK_TOOL_PALETTE (palette),
/* 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,
Properties Defined By
Methods / Constructors
Method / Constructor Defined By
Events - usage syntax: this.signals.EVENTNAME.connect( Function )
Event Defined By
Used by These Methods / Signals / Properties- Nowhere other than here
Documentation generated by Introspection Doc Generator Loosely Based on JsDoc Toolkit on Sat Apr 16 2011 17:14:16 GMT+0800 (HKT)