Toolbar

A toolbar is created with a call to gtk_toolbar_new().

A toolbar can contain instances of a subclass of #GtkToolItem. To add a #GtkToolItem to the a toolbar, use gtk_toolbar_insert(). To remove an item from the toolbar use gtk_container_remove(). To add a button to the toolbar, add an instance of #GtkToolButton.

Toolbar items can be visually grouped by adding instances of #GtkSeparatorToolItem to the toolbar. If the GtkToolbar child property “expand” is #TRUE and the property #GtkSeparatorToolItem:draw is set to #FALSE, the effect is to force all following items to the end of the toolbar.

By default, a toolbar can be shrunk, upon which it will add an arrow button to show an overflow menu offering access to any #GtkToolItem child that has a proxy menu item. To disable this and request enough size for all children, call gtk_toolbar_set_show_arrow() to set #GtkToolbar:show-arrow to %FALSE.

Creating a context menu for the toolbar can be done by connecting to the #GtkToolbar::popup-context-menu signal.

CSS nodes

GtkToolbar has a single CSS node with name toolbar.

Constructors

this
this(GtkToolbar* gtkToolbar, bool ownedRef)

Sets our main struct and passes it to the parent class.

this
this()

Creates a new toolbar.

Members

Functions

addOnFocusHomeOrEnd
gulong addOnFocusHomeOrEnd(bool delegate(bool, Toolbar) dlg, ConnectFlags connectFlags)

A keybinding signal used internally by GTK+. This signal can't be used in application code

addOnOrientationChanged
gulong addOnOrientationChanged(void delegate(GtkOrientation, Toolbar) dlg, ConnectFlags connectFlags)

Emitted when the orientation of the toolbar changes.

addOnPopupContextMenu
gulong addOnPopupContextMenu(bool delegate(int, int, int, Toolbar) dlg, ConnectFlags connectFlags)

Emitted when the user right-clicks the toolbar or uses the keybinding to display a popup menu.

addOnStyleChanged
gulong addOnStyleChanged(void delegate(GtkToolbarStyle, Toolbar) dlg, ConnectFlags connectFlags)

Emitted when the style of the toolbar changes.

getDropIndex
int getDropIndex(int x, int y)

Returns the position corresponding to the indicated point on @toolbar. This is useful when dragging items to the toolbar: this function returns the position a new item should be inserted.

getItemIndex
int getItemIndex(ToolItem item)

Returns the position of @item on the toolbar, starting from 0. It is an error if @item is not a child of the toolbar.

getNItems
int getNItems()

Returns the number of items on the toolbar.

getNthItem
ToolItem getNthItem(int n)

Returns the @n'th item on @toolbar, or %NULL if the toolbar does not contain an @n'th item.

getShowArrow
bool getShowArrow()

Returns whether the toolbar has an overflow menu. See gtk_toolbar_set_show_arrow().

getStruct
void* getStruct()

the main Gtk struct as a void*

getToolbarStruct
GtkToolbar* getToolbarStruct(bool transferOwnership)

Get the main Gtk struct

getToolbarStyle
GtkToolbarStyle getToolbarStyle()

Retrieves whether the toolbar has text, icons, or both . See gtk_toolbar_set_style().

insert
void insert(ToolItem toolItem, int pos)

Insert a GtkToolItem into the toolbar at position pos. If pos is 0 the item is prepended to the start of the toolbar. If pos is negative, the item is appended to the end of the toolbar. Since 2.4

setDropHighlightItem
void setDropHighlightItem(ToolItem toolItem, int index)

Highlights @toolbar to give an idea of what it would look like if @item was added to @toolbar at the position indicated by @index_. If @item is %NULL, highlighting is turned off. In that case @index_ is ignored.

setIconSize
void setIconSize(GtkIconSize iconSize)

This function sets the size of stock icons in the toolbar. You can call it both before you add the icons and after they’ve been added. The size you set will override user preferences for the default icon size.

setShowArrow
void setShowArrow(bool showArrow)

Sets whether to show an overflow menu when @toolbar isn’t allocated enough size to show all of its items. If %TRUE, items which can’t fit in @toolbar, and which have a proxy menu item set by gtk_tool_item_set_proxy_menu_item() or #GtkToolItem::create-menu-proxy, will be available in an overflow menu, which can be opened by an added arrow button. If %FALSE, @toolbar will request enough size to fit all of its child items without any overflow.

setStyle
void setStyle(GtkToolbarStyle style)

Alters the view of @toolbar to display either icons only, text only, or both.

unsetIconSize
void unsetIconSize()

Unsets toolbar icon size set with gtk_toolbar_set_icon_size(), so that user preferences will be used to determine the icon size.

unsetStyle
void unsetStyle()

Unsets a toolbar style set with gtk_toolbar_set_style(), so that user preferences will be used to determine the toolbar style.

Mixins

__anonymous
mixin OrientableT!(GtkToolbar)
Undocumented in source.
__anonymous
mixin ToolShellT!(GtkToolbar)
Undocumented in source.

Static functions

getType
GType getType()

Variables

gtkToolbar
GtkToolbar* gtkToolbar;

the main Gtk struct

Inherited Members

From Container

gtkContainer
GtkContainer* gtkContainer;

the main Gtk struct

getContainerStruct
GtkContainer* getContainerStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

~this
~this()
Undocumented in source.
gtkd_container_add
void gtkd_container_add(GtkContainer* c, GtkWidget* w)
Undocumented in source. Be warned that the author may not have intended to support it.
gtkd_container_remove
void gtkd_container_remove(GtkContainer* c, GtkWidget* w)
Undocumented in source. Be warned that the author may not have intended to support it.
removeAll
void removeAll()

Removes all widgets from the container

getType
GType getType()
add
void add(Widget widget)

Adds @widget to @container. Typically used for simple containers such as #GtkWindow, #GtkFrame, or #GtkButton; for more complicated layout containers such as #GtkBox or #GtkGrid, this function will pick default packing parameters that may not be correct. So consider functions such as gtk_box_pack_start() and gtk_grid_attach() as an alternative to gtk_container_add() in those cases. A widget may be added to only one container at a time; you can’t place the same widget inside two different containers.

checkResize
void checkResize()
childGetProperty
void childGetProperty(Widget child, string propertyName, Value value)

Gets the value of a child property for @child and @container.

childGetValist
void childGetValist(Widget child, string firstPropertyName, void* varArgs)

Gets the values of one or more child properties for @child and @container.

childNotify
void childNotify(Widget child, string childProperty)

Emits a #GtkWidget::child-notify signal for the [child property][child-properties] @child_property on the child.

childNotifyByPspec
void childNotifyByPspec(Widget child, ParamSpec pspec)

Emits a #GtkWidget::child-notify signal for the [child property][child-properties] specified by @pspec on the child.

childSetProperty
void childSetProperty(Widget child, string propertyName, Value value)

Sets a child property for @child and @container.

childSetValist
void childSetValist(Widget child, string firstPropertyName, void* varArgs)

Sets one or more child properties for @child and @container.

childType
GType childType()

Returns the type of the children supported by the container.

forall
void forall(GtkCallback callback, void* callbackData)

Invokes @callback on each direct child of @container, including children that are considered “internal” (implementation details of the container). “Internal” children generally weren’t added by the user of the container, but were added by the container implementation itself.

foreac
alias foreac = foreach_
Undocumented in source.
foreach_
void foreach_(GtkCallback callback, void* callbackData)

Invokes @callback on each non-internal child of @container. See gtk_container_forall() for details on what constitutes an “internal” child. For all practical purposes, this function should iterate over precisely those child widgets that were added to the container by the application with explicit add() calls.

getBorderWidth
uint getBorderWidth()

Retrieves the border width of the container. See gtk_container_set_border_width().

getChildren
ListG getChildren()

Returns the container’s non-internal children. See gtk_container_forall() for details on what constitutes an "internal" child.

getFocusChain
bool getFocusChain(ListG focusableWidgets)

Retrieves the focus chain of the container, if one has been set explicitly. If no focus chain has been explicitly set, GTK+ computes the focus chain based on the positions of the children. In that case, GTK+ stores %NULL in @focusable_widgets and returns %FALSE.

getFocusChild
Widget getFocusChild()

Returns the current focus child widget inside @container. This is not the currently focused widget. That can be obtained by calling gtk_window_get_focus().

getFocusHadjustment
Adjustment getFocusHadjustment()

Retrieves the horizontal focus adjustment for the container. See gtk_container_set_focus_hadjustment ().

getFocusVadjustment
Adjustment getFocusVadjustment()

Retrieves the vertical focus adjustment for the container. See gtk_container_set_focus_vadjustment().

getPathForChild
WidgetPath getPathForChild(Widget child)

Returns a newly created widget path representing all the widget hierarchy from the toplevel down to and including @child.

getResizeMode
GtkResizeMode getResizeMode()

Returns the resize mode for the container. See gtk_container_set_resize_mode ().

propagateDraw
void propagateDraw(Widget child, Context cr)

When a container receives a call to the draw function, it must send synthetic #GtkWidget::draw calls to all children that don’t have their own #GdkWindows. This function provides a convenient way of doing this. A container, when it receives a call to its #GtkWidget::draw function, calls gtk_container_propagate_draw() once for each child, passing in the @cr the container received.

remove
void remove(Widget widget)

Removes @widget from @container. @widget must be inside @container. Note that @container will own a reference to @widget, and that this may be the last reference held; so removing a widget from its container can destroy that widget. If you want to use @widget again, you need to add a reference to it before removing it from a container, using g_object_ref(). If you don’t want to use @widget again it’s usually more efficient to simply destroy it directly using gtk_widget_destroy() since this will remove it from the container and help break any circular reference count cycles.

resizeChildren
void resizeChildren()
setBorderWidth
void setBorderWidth(uint borderWidth)

Sets the border width of the container.

setFocusChain
void setFocusChain(ListG focusableWidgets)

Sets a focus chain, overriding the one computed automatically by GTK+.

setFocusChild
void setFocusChild(Widget child)

Sets, or unsets if @child is %NULL, the focused child of @container.

setFocusHadjustment
void setFocusHadjustment(Adjustment adjustment)

Hooks up an adjustment to focus handling in a container, so when a child of the container is focused, the adjustment is scrolled to show that widget. This function sets the horizontal alignment. See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining the adjustment and gtk_container_set_focus_vadjustment() for setting the vertical adjustment.

setFocusVadjustment
void setFocusVadjustment(Adjustment adjustment)

Hooks up an adjustment to focus handling in a container, so when a child of the container is focused, the adjustment is scrolled to show that widget. This function sets the vertical alignment. See gtk_scrolled_window_get_vadjustment() for a typical way of obtaining the adjustment and gtk_container_set_focus_hadjustment() for setting the horizontal adjustment.

setReallocateRedraws
void setReallocateRedraws(bool needsRedraws)

Sets the @reallocate_redraws flag of the container to the given value.

setResizeMode
void setResizeMode(GtkResizeMode resizeMode)

Sets the resize mode for the container.

unsetFocusChain
void unsetFocusChain()

Removes a focus chain explicitly set with gtk_container_set_focus_chain().

addOnAdd
gulong addOnAdd(void delegate(Widget, Container) dlg, ConnectFlags connectFlags)
addOnCheckResize
gulong addOnCheckResize(void delegate(Container) dlg, ConnectFlags connectFlags)
addOnRemove
gulong addOnRemove(void delegate(Widget, Container) dlg, ConnectFlags connectFlags)
addOnSetFocusChild
gulong addOnSetFocusChild(void delegate(Widget, Container) dlg, ConnectFlags connectFlags)

From OrientableIF

getOrientableStruct
GtkOrientable* getOrientableStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

getType
GType getType()
getOrientation
GtkOrientation getOrientation()

Retrieves the orientation of the @orientable.

setOrientation
void setOrientation(GtkOrientation orientation)

Sets the orientation of the @orientable.

From ToolShellIF

getToolShellStruct
GtkToolShell* getToolShellStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

getOrientation
GtkOrientation getOrientation()

Retrieves the current orientation for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_orientation() instead.

getType
GType getType()
getEllipsizeMode
PangoEllipsizeMode getEllipsizeMode()

Retrieves the current ellipsize mode for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_ellipsize_mode() instead.

getIconSize
GtkIconSize getIconSize()

Retrieves the icon size for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_icon_size() instead.

getReliefStyle
GtkReliefStyle getReliefStyle()

Returns the relief style of buttons on @shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_relief_style() instead.

getToolBarStyle
GtkToolbarStyle getToolBarStyle()

Retrieves whether the tool shell has text, icons, or both. Tool items must not call this function directly, but rely on gtk_tool_item_get_toolbar_style() instead.

getTextAlignment
float getTextAlignment()

Retrieves the current text alignment for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_text_alignment() instead.

getTextOrientation
GtkOrientation getTextOrientation()

Retrieves the current text orientation for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_text_orientation() instead.

getTextSizeGroup
SizeGroup getTextSizeGroup()

Retrieves the current text size group for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_text_size_group() instead.

rebuildMenu
void rebuildMenu()

Calling this function signals the tool shell that the overflow menu item for tool items have changed. If there is an overflow menu and if it is visible when this function it called, the menu will be rebuilt.

Meta