# Gtk::ToolItem Class Reference
[Widgets]

Inheritance diagram for Gtk::ToolItem:
[legend]
Collaboration diagram for Gtk::ToolItem:
[legend]

List of all members.

## Public Member Functions

virtual | ~ToolItem ()
GtkToolItem* | gobj ()
| Provides access to the underlying C GtkObject.
const GtkToolItem* | gobj () const
| Provides access to the underlying C GtkObject.
| ToolItem ()
void | set_homogeneous (bool homogeneous=true)
| Sets whether tool_item is to be allocated the same size as other homogeneous items.
bool | get_homogeneous () const
| Returns whether tool_item is the same size as other homogeneous items.
void | set_expand (bool expand=true)
| Sets whether tool_item is allocated extra space when there is more room on the toolbar then needed for the items.
bool | get_expand () const
| Returns whether tool_item is allocated extra space.
void | set_tooltip_text (const Glib::ustring& text)
| Sets the text to be displayed as tooltip on the item.
void | set_tooltip_markup (const Glib::ustring& markup)
| Sets the markup text to be displayed as tooltip on the item.
void | set_use_drag_window (bool use_drag_window=true)
| Sets whether tool_item has a drag window.
bool | get_use_drag_window () const
| Returns whether tool_item has a drag window.
void | set_visible_horizontal (bool visible_horizontal=true)
| Sets whether tool_item is visible when the toolbar is docked horizontally.
bool | get_visible_horizontal () const
| Returns whether the tool_item is visible on toolbars that are docked horizontally.
void | set_visible_vertical (bool visible_vertical=true)
| Sets whether tool_item is visible when the toolbar is docked vertically.
bool | get_visible_vertical () const
| Returns whether tool_item is visible when the toolbar is docked vertically.
bool | get_is_important () const
| Returns whether tool_item is considered important.
void | set_is_important (bool is_important=true)
| Sets whether tool_item should be considered important.
Pango::EllipsizeMode | get_ellipsize_mode () const
| Returns the ellipsize mode used for tool_item.
IconSize | get_icon_size () const
| Returns the icon size used for tool_item.
Orientation | get_orientation () const
| Returns the orientation used for tool_item.
ToolbarStyle | get_toolbar_style () const
| Returns the toolbar style used for tool_item.
ReliefStyle | get_relief_style () const
| Returns the relief style of tool_item.
float | get_text_alignment () const
| Returns the text alignment used for tool_item.
Orientation | get_text_orientation () const
| Returns the text orientation used for tool_item.
Glib::RefPtr< SizeGroup > | get_text_size_group ()
| Returns the size group used for labels in tool_item.
Glib::RefPtr< const SizeGroup > | get_text_size_group () const
| Returns the size group used for labels in tool_item.
Widget* | retrieve_proxy_menu_item ()
| Returns the Gtk::MenuItem that was last set by set_proxy_menu_item(), ie.
const Widget* | retrieve_proxy_menu_item () const
| Returns the Gtk::MenuItem that was last set by set_proxy_menu_item(), ie.
Widget* | get_proxy_menu_item (const Glib::ustring& menu_item_id)
| If menu_item_id matches the string passed to set_proxy_menu_item() return the corresponding Gtk::MenuItem.
const Widget* | get_proxy_menu_item (const Glib::ustring& menu_item_id) const
| If menu_item_id matches the string passed to set_proxy_menu_item() return the corresponding Gtk::MenuItem.
void | set_proxy_menu_item (const Glib::ustring& menu_item_id, Widget& menu_item)
| Sets the Gtk::MenuItem used in the toolbar overflow menu.
void | rebuild_menu ()
| Calling this function signals to the toolbar that the overflow menu item for tool_item has changed.
void | toolbar_reconfigured ()
| Emits the signal Gtk::ToolItem::toolbar_reconfigured on tool_item.
Glib::SignalProxy0< bool > | signal_create_menu_proxy ()
| This signal is emitted when the toolbar needs information from about whether the item should appear in the toolbar overflow menu.
Glib::SignalProxy0< void > | signal_toolbar_reconfigured ()
| This signal is emitted when some property of the toolbar that the item is a child of changes.
Glib::PropertyProxy< bool > | property_visible_horizontal ()
| Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
Glib::PropertyProxy_ReadOnly < bool > | property_visible_horizontal () const
| Whether the toolbar item is visible when the toolbar is in a horizontal orientation.
Glib::PropertyProxy< bool > | property_visible_vertical ()
| Whether the toolbar item is visible when the toolbar is in a vertical orientation.
Glib::PropertyProxy_ReadOnly < bool > | property_visible_vertical () const
| Whether the toolbar item is visible when the toolbar is in a vertical orientation.
Glib::PropertyProxy< bool > | property_is_important ()
| Whether the toolbar item is considered important.
Glib::PropertyProxy_ReadOnly < bool > | property_is_important () const
| Whether the toolbar item is considered important.

## Protected Member Functions

virtual bool | on_create_menu_proxy ()
virtual void | on_toolbar_reconfigured ()

## Related Functions

(Note that these are not member functions.)
Gtk::ToolItem* | wrap (GtkToolItem* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Constructor & Destructor Documentation

virtual Gtk::ToolItem::~ToolItem | ( | ) | `[virtual]`

Gtk::ToolItem::ToolItem | ( | ) |

## Member Function Documentation

Pango::EllipsizeMode Gtk::ToolItem::get_ellipsize_mode | ( | ) | const

Returns the ellipsize mode used for tool_item.

Custom subclasses of Gtk::ToolItem should call this function to find out how text should be ellipsized.

Since gtkmm 2.20:

Returns:
  A Pango::EllipsizeMode indicating how text in tool_item should be ellipsized.

bool Gtk::ToolItem::get_expand | ( | ) | const

Returns whether tool_item is allocated extra space.

See set_expand().

Since gtkmm 2.4:

Returns:
  `true` if tool_item is allocated extra space.

bool Gtk::ToolItem::get_homogeneous | ( | ) | const

Returns whether tool_item is the same size as other homogeneous items.

See set_homogeneous().

Since gtkmm 2.4:

Returns:
  `true` if the item is the same size as other homogeneous items.

IconSize Gtk::ToolItem::get_icon_size | ( | ) | const

Returns the icon size used for tool_item.

Custom subclasses of Gtk::ToolItem should call this function to find out what size icons they should use.

Since gtkmm 2.4:

Returns:
  A Gtk::IconSize indicating the icon size used for tool_item.

bool Gtk::ToolItem::get_is_important | ( | ) | const

Returns whether tool_item is considered important.

See set_is_important()

Since gtkmm 2.4:

Returns:
  `true` if tool_item is considered important.

Orientation Gtk::ToolItem::get_orientation | ( | ) | const

Returns the orientation used for tool_item.

Custom subclasses of Gtk::ToolItem should call this function to find out what size icons they should use.

Since gtkmm 2.4:

Returns:
  A Gtk::Orientation indicating the orientation used for tool_item.

Widget* Gtk::ToolItem::get_proxy_menu_item | ( | const Glib::ustring & | menu_item_id ) |

If menu_item_id matches the string passed to set_proxy_menu_item() return the corresponding Gtk::MenuItem.

Custom subclasses of Gtk::ToolItem should use this function to update their menu item when the Gtk::ToolItem changes. That the menu_item_ids must match ensures that a Gtk::ToolItem will not inadvertently change a menu item that they did not create.

Since gtkmm 2.4:

Parameters:

  menu_item_id | A string used to identify the menu item.

Returns:
  The Gtk::MenuItem passed to set_proxy_menu_item(), if the menu_item_ids match.

const Widget* Gtk::ToolItem::get_proxy_menu_item | ( | const Glib::ustring & | menu_item_id ) | const

If menu_item_id matches the string passed to set_proxy_menu_item() return the corresponding Gtk::MenuItem.

Custom subclasses of Gtk::ToolItem should use this function to update their menu item when the Gtk::ToolItem changes. That the menu_item_ids must match ensures that a Gtk::ToolItem will not inadvertently change a menu item that they did not create.

Since gtkmm 2.4:

Parameters:

  menu_item_id | A string used to identify the menu item.

Returns:
  The Gtk::MenuItem passed to set_proxy_menu_item(), if the menu_item_ids match.

ReliefStyle Gtk::ToolItem::get_relief_style | ( | ) | const

Returns the relief style of tool_item.

See gtk_button_set_relief_style(). Custom subclasses of Gtk::ToolItem should call this function in the handler of the Gtk::ToolItem::toolbar_reconfigured signal to find out the relief style of buttons.

Since gtkmm 2.4:

Returns:
  A Gtk::ReliefStyle indicating the relief style used for tool_item.

float Gtk::ToolItem::get_text_alignment | ( | ) | const

Returns the text alignment used for tool_item.

Custom subclasses of Gtk::ToolItem should call this function to find out how text should be aligned.

Since gtkmm 2.20:

Returns:
  A gfloat indicating the horizontal text alignment used for tool_item.

Orientation Gtk::ToolItem::get_text_orientation | ( | ) | const

Returns the text orientation used for tool_item.

Custom subclasses of Gtk::ToolItem should call this function to find out how text should be orientated.

Since gtkmm 2.20:

Returns:
  A Gtk::Orientation indicating the text orientation used for tool_item.

Glib::RefPtr<SizeGroup> Gtk::ToolItem::get_text_size_group | ( | ) |

Returns the size group used for labels in tool_item.

Custom subclasses of Gtk::ToolItem should call this function and use the size group for labels.

Since gtkmm 2.20:

Returns:
  A Gtk::SizeGroup.

Glib::RefPtr<const SizeGroup> Gtk::ToolItem::get_text_size_group | ( | ) | const

Returns the size group used for labels in tool_item.

Custom subclasses of Gtk::ToolItem should call this function and use the size group for labels.

Since gtkmm 2.20:

Returns:
  A Gtk::SizeGroup.

ToolbarStyle Gtk::ToolItem::get_toolbar_style | ( | ) | const

Returns the toolbar style used for tool_item.

Custom subclasses of Gtk::ToolItem should call this function in the handler of the GtkToolItem::toolbar_reconfigured signal to find out in what style the toolbar is displayed and change themselves accordingly

Possibilities are: <itemizedlist> <listitem> GTK_TOOLBAR_BOTH, meaning the tool item should show both an icon and a label, stacked vertically </listitem> <listitem> GTK_TOOLBAR_ICONS, meaning the toolbar shows only icons </listitem> <listitem> GTK_TOOLBAR_TEXT, meaning the tool item should only show text</listitem> <listitem> GTK_TOOLBAR_BOTH_HORIZ, meaning the tool item should show both an icon and a label, arranged horizontally (however, note the Gtk::ToolButton::has_text_horizontally that makes tool buttons not show labels when the toolbar style is GTK_TOOLBAR_BOTH_HORIZ. </listitem> </itemizedlist>

Since gtkmm 2.4:

Returns:
  A Gtk::ToolbarStyle indicating the toolbar style used for tool_item.

bool Gtk::ToolItem::get_use_drag_window | ( | ) | const

Returns whether tool_item has a drag window.

See set_use_drag_window().

Since gtkmm 2.4:

Returns:
  `true` if tool_item uses a drag window.

bool Gtk::ToolItem::get_visible_horizontal | ( | ) | const

Returns whether the tool_item is visible on toolbars that are docked horizontally.

Since gtkmm 2.4:

Returns:
  `true` if tool_item is visible on toolbars that are docked horizontally.

bool Gtk::ToolItem::get_visible_vertical | ( | ) | const

Returns whether tool_item is visible when the toolbar is docked vertically.

See set_visible_vertical().

Since gtkmm 2.4:

Returns:
  Whether tool_item is visible when the toolbar is docked vertically.

const GtkToolItem* Gtk::ToolItem::gobj | ( | ) | const`[inline]`

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Activatable.

Reimplemented in Gtk::MenuToolButton, Gtk::RadioToolButton, Gtk::SeparatorToolItem, Gtk::ToggleToolButton, and Gtk::ToolButton.

GtkToolItem* Gtk::ToolItem::gobj | ( | ) | `[inline]`

Provides access to the underlying C GtkObject.

Reimplemented from Gtk::Activatable.

Reimplemented in Gtk::MenuToolButton, Gtk::RadioToolButton, Gtk::SeparatorToolItem, Gtk::ToggleToolButton, and Gtk::ToolButton.

virtual bool Gtk::ToolItem::on_create_menu_proxy | ( | ) | `[protected, virtual]`

virtual void Gtk::ToolItem::on_toolbar_reconfigured | ( | ) | `[protected, virtual]`

Glib::PropertyProxy<bool> Gtk::ToolItem::property_is_important | ( | ) |

Whether the toolbar item is considered important.

When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<bool> Gtk::ToolItem::property_is_important | ( | ) | const

Whether the toolbar item is considered important.

When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<bool> Gtk::ToolItem::property_visible_horizontal | ( | ) |

Whether the toolbar item is visible when the toolbar is in a horizontal orientation.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<bool> Gtk::ToolItem::property_visible_horizontal | ( | ) | const

Whether the toolbar item is visible when the toolbar is in a horizontal orientation.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<bool> Gtk::ToolItem::property_visible_vertical | ( | ) | const

Whether the toolbar item is visible when the toolbar is in a vertical orientation.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<bool> Gtk::ToolItem::property_visible_vertical | ( | ) |

Whether the toolbar item is visible when the toolbar is in a vertical orientation.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

void Gtk::ToolItem::rebuild_menu | ( | ) |

Calling this function signals to the toolbar that the overflow menu item for tool_item has changed.

If the overflow menu is visible when this function it called, the menu will be rebuilt.

The function must be called when the tool item changes what it will do in response to the Gtk::ToolItem::create-menu-proxy signal.

Since gtkmm 2.6:

const Widget* Gtk::ToolItem::retrieve_proxy_menu_item | ( | ) | const

Returns the Gtk::MenuItem that was last set by set_proxy_menu_item(), ie.

the Gtk::MenuItem that is going to appear in the overflow menu.

Since gtkmm 2.4:

Returns:
  The Gtk::MenuItem that is going to appear in the overflow menu for tool_item.

Widget* Gtk::ToolItem::retrieve_proxy_menu_item | ( | ) |

Returns the Gtk::MenuItem that was last set by set_proxy_menu_item(), ie.

the Gtk::MenuItem that is going to appear in the overflow menu.

Since gtkmm 2.4:

Returns:
  The Gtk::MenuItem that is going to appear in the overflow menu for tool_item.

void Gtk::ToolItem::set_expand | ( | bool | expand = `true` ) |

Sets whether tool_item is allocated extra space when there is more room on the toolbar then needed for the items.

The effect is that the item gets bigger when the toolbar gets bigger and smaller when the toolbar gets smaller.

Since gtkmm 2.4:

Parameters:

  expand | Whether tool_item is allocated extra space.

void Gtk::ToolItem::set_homogeneous | ( | bool | homogeneous = `true` ) |

Sets whether tool_item is to be allocated the same size as other homogeneous items.

The effect is that all homogeneous items will have the same width as the widest of the items.

Since gtkmm 2.4:

Parameters:

  homogeneous | Whether tool_item is the same size as other homogeneous items.

void Gtk::ToolItem::set_is_important | ( | bool | is_important = `true` ) |

Sets whether tool_item should be considered important.

The Gtk::ToolButton class uses this property to determine whether to show or hide its label when the toolbar style is Gtk::TOOLBAR_BOTH_HORIZ. The result is that only tool buttons with the "is_important" property set have labels, an effect known as "priority text"

Since gtkmm 2.4:

Parameters:

  is_important | Whether the tool item should be considered important.

void Gtk::ToolItem::set_proxy_menu_item | ( | const Glib::ustring & | menu_item_id,
|  | Widget& | menu_item
| ) |  |

Sets the Gtk::MenuItem used in the toolbar overflow menu.

The menu_item_id is used to identify the caller of this function and should also be used with get_proxy_menu_item().

Since gtkmm 2.4:

Parameters:

  menu_item_id | A string used to identify menu_item.
  menu_item | A Gtk::MenuItem to be used in the overflow menu.

void Gtk::ToolItem::set_tooltip_markup | ( | const Glib::ustring & | markup ) |

Sets the markup text to be displayed as tooltip on the item.

See Gtk::Widget::set_tooltip_markup().

Since gtkmm 2.12:

Parameters:

  markup | Markup text to be used as tooltip for tool_item.

Reimplemented from Gtk::Widget.

void Gtk::ToolItem::set_tooltip_text | ( | const Glib::ustring & | text ) |

Sets the text to be displayed as tooltip on the item.

See Gtk::Widget::set_tooltip_text().

Since gtkmm 2.12:

Parameters:

  text | Text to be used as tooltip for tool_item.

Reimplemented from Gtk::Widget.

void Gtk::ToolItem::set_use_drag_window | ( | bool | use_drag_window = `true` ) |

Sets whether tool_item has a drag window.

When `true` the toolitem can be used as a drag source through Gtk::DragSource::set(). When tool_item has a drag window it will intercept all events, even those that would otherwise be sent to a child of tool_item.

Since gtkmm 2.4:

Parameters:

  use_drag_window | Whether tool_item has a drag window.

void Gtk::ToolItem::set_visible_horizontal | ( | bool | visible_horizontal = `true` ) |

Sets whether tool_item is visible when the toolbar is docked horizontally.

Since gtkmm 2.4:

Parameters:

  visible_horizontal | Whether tool_item is visible when in horizontal mode.

void Gtk::ToolItem::set_visible_vertical | ( | bool | visible_vertical = `true` ) |

Sets whether tool_item is visible when the toolbar is docked vertically.

Some tool items, such as text entries, are too wide to be useful on a vertically docked toolbar. If visible_vertical is `false` tool_item will not appear on toolbars that are docked vertically.

Since gtkmm 2.4:

Parameters:

  visible_vertical | Whether tool_item is visible when the toolbar is in vertical mode.

Glib::SignalProxy0< bool > Gtk::ToolItem::signal_create_menu_proxy | ( | ) |

This signal is emitted when the toolbar needs information from about whether the item should appear in the toolbar overflow menu.

In response the tool item should either <itemizedlist> <listitem> call set_proxy_menu_item() with a NULL pointer and return true to indicate that the item should not appear in the overflow menu </listitem> <listitem> call set_proxy_menu_item() with a new menu item and return true, or </listitem> <listitem> return false to indicate that the signal was not handled by the item. This means that the item will not appear in the overflow menu unless a later handler installs a menu item. </listitem> </itemizedlist>

The toolbar may cache the result of this signal. When the tool item changes how it will respond to this signal it must call rebuild_menu() to invalidate the cache and ensure that the toolbar rebuilds its overflow menu.

Returns:
  true if the signal was handled, false if not

Prototype:
  `bool on_my_create_menu_proxy()`

Glib::SignalProxy0< void > Gtk::ToolItem::signal_toolbar_reconfigured | ( | ) |

This signal is emitted when some property of the toolbar that the item is a child of changes.

For custom subclasses of ToolItem, the default handler of this signal use the functions <itemizedlist> <listitem>Toolbar::get_orientation()</listitem> <listitem>Toolbar::get_style()</listitem> <listitem>Toolbar::get_icon_size()</listitem> <listitem>Toolbar::get_relief_style()</listitem> </itemizedlist> to find out what the toolbar should look like and change themselves accordingly.

Prototype:
  `void on_my_toolbar_reconfigured()`

void Gtk::ToolItem::toolbar_reconfigured | ( | ) |

Emits the signal Gtk::ToolItem::toolbar_reconfigured on tool_item.

Gtk::Toolbar and other Gtk::ToolShell implementations use this function to notify children, when some aspect of their configuration changes.

Since gtkmm 2.14:

## Friends And Related Function Documentation

Gtk::ToolItem* wrap | ( | GtkToolItem * | object,
|  | bool | take_copy = `false`
| ) |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- gtkmm/toolitem.h