ToolPaletteRef
public struct ToolPaletteRef : ToolPaletteProtocol, GWeakCapturing
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().
(C Language Example):
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 GtkWidget::drag-data-received
signal handler of the drag target.
(C Language Example):
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);
CSS nodes
GtkToolPalette has a single CSS node named toolpalette.
The ToolPaletteRef type acts as a lightweight Swift reference to an underlying GtkToolPalette instance.
It exposes methods that can operate on this data type through ToolPaletteProtocol conformance.
Use ToolPaletteRef only as an unowned reference to an existing GtkToolPalette instance.
-
Untyped pointer to the underlying `GtkToolPalette` instance.For type-safe access, use the generated, typed pointer
tool_palette_ptrproperty instead.Declaration
Swift
public let ptr: UnsafeMutableRawPointer!
-
Designated initialiser from the underlying
Cdata typeDeclaration
Swift
@inlinable init(_ p: UnsafeMutablePointer<GtkToolPalette>) -
Designated initialiser from a constant pointer to the underlying
Cdata typeDeclaration
Swift
@inlinable init(_ p: UnsafePointer<GtkToolPalette>) -
Conditional initialiser from an optional pointer to the underlying
Cdata typeDeclaration
Swift
@inlinable init!(_ maybePointer: UnsafeMutablePointer<GtkToolPalette>?) -
Conditional initialiser from an optional, non-mutable pointer to the underlying
Cdata typeDeclaration
Swift
@inlinable init!(_ maybePointer: UnsafePointer<GtkToolPalette>?) -
Conditional initialiser from an optional
gpointerDeclaration
Swift
@inlinable init!(gpointer g: gpointer?) -
Conditional initialiser from an optional, non-mutable
gconstpointerDeclaration
Swift
@inlinable init!(gconstpointer g: gconstpointer?) -
Reference intialiser for a related type that implements
ToolPaletteProtocolDeclaration
Swift
@inlinable init<T>(_ other: T) where T : ToolPaletteProtocol -
This factory is syntactic sugar for setting weak pointers wrapped in
GWeak<T>Declaration
Swift
@inlinable static func unowned<T>(_ other: T) -> ToolPaletteRef where T : ToolPaletteProtocol -
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ToolPaletteProtocol.Declaration
Swift
@inlinable init<T>(cPointer: UnsafeMutablePointer<T>) -
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ToolPaletteProtocol.Declaration
Swift
@inlinable init<T>(constPointer: UnsafePointer<T>) -
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ToolPaletteProtocol.Declaration
Swift
@inlinable init(mutating raw: UnsafeRawPointer) -
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ToolPaletteProtocol.Declaration
Swift
@inlinable init(raw: UnsafeMutableRawPointer) -
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ToolPaletteProtocol.Declaration
Swift
@inlinable init(opaquePointer: OpaquePointer) -
Creates a new tool palette.
Declaration
Swift
@inlinable init()
View on GitHub
Install in Dash
ToolPaletteRef Structure Reference