## org.gnu.gtk
Class ToolItem

    java.lang.Object
      org.gnu.glib.Struct
          org.gnu.glib.GObject
              org.gnu.gtk.GtkObject
                  org.gnu.gtk.Widget
                      org.gnu.gtk.Container
                          org.gnu.gtk.Bin
                              org.gnu.gtk.ToolItem

Direct Known Subclasses:
  SeparatorToolItem, ToolButton

public class ToolItem
extends Bin

ToolItem is the base class of widgets that can be added to ToolBar objects.

ToolItems are widgets that can appear on a toolbar. To create a toolbar item that contain something else than a button, use new `ToolItem()`. Use `Container.add(Widget)` to add a child widget to the tool item.

For toolbar items that contain buttons, see the `ToolButton`, `ToggleToolButton` and `RadioToolButton` classes. see `ToolBar` class for a description of the toolbar widget.

Constructor Summary
`ToolItem()` Create an empty ToolItem.

Method Summary
`boolean` `getExpand()` Returns whether ToolItem is allocated extra space.
`boolean` `getHomogeneous()` Returns whether the item is the same size as other homogeneous items.
`IconSize` `getIconSize()` Returns the icon size used for ToolItem.
`boolean` `getIsImportant()` Returns whether ToolItem is considered important.
`Orientation` `getOrientation()` Returns the orientation used for ToolItem.
`MenuItem` `getProxyMenuItem(java.lang.String menuItemId)` If `menuItemId`matches the string passed to `setProxyMenuItem(String, MenuItem)` returns the corresponding `MenuItem`.``
`ReliefStyle` `getReliefStyle()` Returns the relief style of ToolItem.
`ToolBarStyle` `getToolbarStyle()` Returns the toolbar style used for ToolItem.
`boolean` `getUseDragWindow()` Returns whether ToolItem has a drag window.
`boolean` `getVisibleHorizontal()` Returns whether the ToolItem is visible on toolbars that are docked horizontally.
`boolean` `getVisibleVertical()` Returns whether ToolItem is visible on toolbars that are docked vertically.
`void` `rebuildMenu()` Calling this function signals to the toolbar that the overflow menu item for this ToolItem has changed.
`MenuItem` `retrieveProxyMenuItem()` Returns the `MenuItem` that was last set by `setProxyMenuItem(String, MenuItem)` (ie the `MenuItem` that is going to appear in the overflow menu).
`void` `setExpand(boolean expand)` Sets whether the ToolItem is allocated extra space when there is more room on the ToolBar than needed by the ToolItems.
`void` `setHomogeneous(boolean homogeneous)` Sets whether the ToolItem is to be allocated the same size as other homogeneous items.
`void` `setIsImportant(boolean isImportant)` Sets whether ToolItem should be considered important.
`void` `setProxyMenuItem(java.lang.String menuItemId, MenuItem menuItem)` Sets the `MenuItem` used in the toolbar overflow menu.
`void` `setTooltip(ToolTips toolTips, java.lang.String tipText, java.lang.String tipPrivate)` Deprecated.
`void` `setToolTip(ToolTips toolTips, java.lang.String tipText, java.lang.String tipPrivate)` Sets the `ToolTips` object to be used for ToolItem, the text to be displayed as tooltip on the item and the private text to be used.
`void` `setUseDragWindow(boolean useDragWindow)` Sets whether ToolItem has a drag window.
`void` `setVisibleHorizontal(boolean visibleHorizontal)` Sets whether ToolItem is visible when the toolbar is docked horizontally.
`void` `setVisibleVertical(boolean visibleVertical)` Sets whether ToolItem is visible when the toolbar is docked vertically.

Methods inherited from class org.gnu.gtk.Bin
`getChild, getType`

Methods inherited from class org.gnu.gtk.Container
`add, addListener, getBorderWidth, getChildren, getEventListenerClass, getEventType, getResizeMode, remove, removeListener, resizeChildren, setBorderWidth, setResizeMode`

Methods inherited from class org.gnu.gtk.Widget

`activate, addAccelerator, addEvents, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, canActivateAccel, createContext, createLayout, draw, drawArea, drawArea, finish, getAccessible, getColormap, getContext, getData, getDisplay, getDragData, getExtensionEvents, getModifierStyle, getName, getParent, getParentWindow, getPointer, getRootWindow, getScreen, getSensitive, getStyle, getToplevel, getWidget, getWindow, grabDefault, grabFocus, hasFocus, hasScreen, hide, hideAll, highlight, highlight, intersect, isAncestor, makeWidget, modifyStyle, popColormap, pushColormap, realize, removeAccelerator, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, reparent, setBackgroundColor, setBaseColor, setColormap, setDoubleBuffered, setDragDestination, setDragIcon, setDragIconPixbuf, setDragIconStock, setDragSource, setEvents, setExtensionEvents, setFont, setForegroundColor, setMinimumSize, setName, setNoDragDestination, setNoDragSource, setSensitive, setTextColor, shapeCombineMask, show, showAll, unHighlight, unHighlight`

Methods inherited from class org.gnu.gtk.GtkObject
`destroy, sink`

Methods inherited from class org.gnu.glib.GObject

`addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addListener, collect, freezeNotify, getBooleanProperty, getData, getDoubleProperty, getFloatProperty, getGObjectFromHandle, getIntProperty, getJavaObjectProperty, getLongProperty, getPixbufProperty, getProperty, getStringProperty, hasProperty, notify, removeEventHandler, removeListener, setBooleanProperty, setData, setDoubleProperty, setFloatProperty, setIntProperty, setJavaObjectProperty, setLongProperty, setPixbufProperty, setProperty, setStringProperty, thawNotify`

Methods inherited from class org.gnu.glib.Struct
`equals, getHandle, getNullHandle, hashCode`

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ToolItem

    public ToolItem()

  Create an empty ToolItem.

Method Detail

### setHomogeneous

    public void setHomogeneous(boolean homogeneous)

  Sets whether the ToolItem 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.

  Parameters:
    `homogeneous` - `TRUE` if the item is the same size as other homogeneous items

### getHomogeneous

    public boolean getHomogeneous()

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

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

### setExpand

    public void setExpand(boolean expand)

  Sets whether the ToolItem is allocated extra space when there is more room on the ToolBar than needed by the ToolItems. The effect is that the item gets bigger when the ToolBar gets bigger and smaller when the ToolBar gets smaller.

  Parameters:
    `expand` - whether ToolItem is allocated extra space

### getExpand

    public boolean getExpand()

  Returns whether ToolItem is allocated extra space.

  Returns:
    `TRUE` if ToolItem is allocated extra space

### setTooltip

    public void setTooltip(ToolTips toolTips,
                           java.lang.String tipText,
                           java.lang.String tipPrivate)

  Deprecated.

  Sets the `ToolTips` object to be used for ToolItem, the text to be displayed as tooltip on the item and the private text to be used.

  Parameters:
    `toolTips` - the `ToolTips` object to be used
    `tipText` - text to be used as tooltip text for ToolItem
    `tipPrivate` - text to be used as private tooltip text
  See Also:
    `ToolTips.setTip(Widget, String, String)`

### setToolTip

    public void setToolTip(ToolTips toolTips,
                           java.lang.String tipText,
                           java.lang.String tipPrivate)

  Sets the `ToolTips` object to be used for ToolItem, the text to be displayed as tooltip on the item and the private text to be used.

  Parameters:
    `toolTips` - the `ToolTips` object to be used
    `tipText` - text to be used as tooltip text for ToolItem
    `tipPrivate` - text to be used as private tooltip text
  See Also:
    `ToolTips.setTip(Widget, String, String)`

### setUseDragWindow

    public void setUseDragWindow(boolean useDragWindow)

  Sets whether ToolItem has a drag window. When `TRUE` the ToolItem can be used as a drag source through DragSource. When ToolItem has a drag window it will intercept all events, even those that would otherwise be sent to a child of ToolItem.

  Parameters:
    `useDragWindow` - whether ToolItem has a drag window

### getUseDragWindow

    public boolean getUseDragWindow()

  Returns whether ToolItem has a drag window.

  Returns:
    `TRUE` if toolitem uses a drag window
  See Also:
    `setUseDragWindow(boolean)`

### setVisibleHorizontal

    public void setVisibleHorizontal(boolean visibleHorizontal)

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

  Parameters:
    `visibleHorizontal` - whether ToolItem is visible when the toolbar is in horizontal mode

### getVisibleHorizontal

    public boolean getVisibleHorizontal()

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

  Returns:
    `TRUE` if ToolItem is visible on toolbars that are docked horizontally
  See Also:
    `setVisibleHorizontal(boolean)`

### setVisibleVertical

    public void setVisibleVertical(boolean visibleVertical)

  Sets whether ToolItem 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 `visibleVertical` is `FALSE` ToolItem will not appear on toolbars that are docked vertically.

  Parameters:
    `visibleVertical` - whether toolitem is visible when the toolbar is in vertical mode

### getVisibleVertical

    public boolean getVisibleVertical()

  Returns whether ToolItem is visible on toolbars that are docked vertically.

  Returns:
    `TRUE` if ToolItem is visible on toolbars that are docked vertically
  See Also:
    `setVisibleVertical(boolean)`

### setIsImportant

    public void setIsImportant(boolean isImportant)

  Sets whether ToolItem should be considered important. The `ToolButton` class uses this property to determine whether to show or hide its label when the toolbar style is `ToolBarStyle.BOTH_HORIZ`. The result is that only tool buttons with the IS_IMPORTANT property set have labels, an effect known as "priority text".

  Parameters:
    `isImportant` - whether the tool item should be considered important

### getIsImportant

    public boolean getIsImportant()

  Returns whether ToolItem is considered important.

  Returns:
    `TRUE` if ToolItem is considered important
  See Also:
    `setIsImportant(boolean)`

### getIconSize

    public IconSize getIconSize()

  Returns the icon size used for ToolItem. Custom subclasses of ToolItem should call this function to find out what size icons they should use.

  Returns:
    a `IconSize` indicating the icon size used for ToolItem

### getOrientation

    public Orientation getOrientation()

  Returns the orientation used for ToolItem. Custom subclasses of ToolItem should call this function to find out what size icons they should use.

  Returns:
    a `Orientation` indicating the orientation used for ToolItem

### getToolbarStyle

    public ToolBarStyle getToolbarStyle()

  Returns the toolbar style used for ToolItem. Custom subclasses of 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:

  - GTK_TOOLBAR_BOTH, meaning the tool item should show both an icon and a label, stacked vertically.
  - GTK_TOOLBAR_ICONS, meaning the toolbar shows only icons.
  - GTK_TOOLBAR_TEXT, meaning the tool item should only show text.
  - GTK_TOOLBAR_BOTH_HORIZ, meaning the tool item should show both an icon and a label, arranged horizontally (however, note the GtkToolButton::has_text_horizontally that makes tool buttons not show labels when the toolbar style is GTK_TOOLBAR_BOTH_HORIZ.

  Returns:
    a `ToolBarStyle` indicating the toolbar style used for ToolItem.

### getReliefStyle

    public ReliefStyle getReliefStyle()

  Returns the relief style of ToolItem. See `Button.setRelief(ReliefStyle)`. Custom subclasses of ToolItem should call this function in the handler of the GtkToolItem::toolbar_reconfigured signal to find out the relief style of buttons.

  Returns:
    a `ReliefStyle` indicating the relief style used for ToolItem

### retrieveProxyMenuItem

    public MenuItem retrieveProxyMenuItem()

  Returns the `MenuItem` that was last set by `setProxyMenuItem(String, MenuItem)` (ie the `MenuItem` that is going to appear in the overflow menu).

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

### getProxyMenuItem

    public MenuItem getProxyMenuItem(java.lang.String menuItemId)

  If `menuItemId`matches the string passed to `setProxyMenuItem(String, MenuItem)` returns the corresponding `MenuItem`. Custom subclasses of ToolItem should use this function to update their menu item when the ToolItem changes. That the `menuItemId` must match ensures that a ToolItem will not inadvertently change a menu item that they did not create.

  ``
  Parameters:
    `menuItemId` - a string used to identify the menu item
  Returns:
    the `MenuItem` passed to `setProxyMenuItem(String, MenuItem)` if the menuItemId matches

### setProxyMenuItem

    public void setProxyMenuItem(java.lang.String menuItemId,
                                 MenuItem menuItem)

  Sets the `MenuItem` used in the toolbar overflow menu. The `menuItemId` is used to identify the caller of this function and should also be used with `getProxyMenuItem(String)`.

  Parameters:
    `menuItemId` - a string used to identify `menuItem`
    `menuItem` - a `MenuItem` to be used in the overflow menu

### rebuildMenu

    public void rebuildMenu()

  Calling this function signals to the toolbar that the overflow menu item for this ToolItem has changed. If the overflow menu is visible when this function is called, the menu will be rebuilt.