ToolPalette
Una ToolPalette es similar a una Toolbar, pero puede contener una rejilla de elementos categorizados en grupos. El usuario puede ocultar o expandir cada grupo. Al igual que en una barra de herramientas, los elementos pueden aparecer sólo como iconos, como sólo texto, o en forma de iconos con el texto.
Los elementos del ToolPalette pueden arrastrarse o simplemente activarse. Por ejemplo, el usuario tal vez arrastre objetos a un lienzo para crear elementos nuevos allí. O bien, el usuario podría pulsar sobre un elemento para activar un determinado tamaño de pincel en una aplicación de dibujo.
Los ToolItemGroup deben añadirse a la paleta de herramientas a través del método Gtk::Container::add() de la clase base, por ejemplo, así:
Gtk::ToolItemGroup* group_brushes = Gtk::manage(new Gtk::ToolItemGroup("Brushes")); m_ToolPalette.add(*group_brushes);
Entonces podrá añadir varios Gtk::ToolItem al grupo. Por ejemplo, así:
Gtk::ToolButton* button = Gtk::manage(new Gtk::ToolButton(icon, "Big")); button->set_tooltip_text("Big Brush); group_brushes->insert(*button);
Entonces podrá manejar la señal clicked del ToolButton. Alternativamente puede permitir que se arrastre el elemento a otro widget, llamando a Gtk::ToolPalette::add_drag_dest() y después usando Gtk::ToolPalette::get_drag_item() en el manejador de la señal drag_data_received del otro widget.
- 13.1. Arrastrar y soltar
- 13.2. Ejemplo de ToolPalette