| Gtk2Hs | Contents | Index

Graphics.UI.Gtk.MenuComboToolbar.ToolButton

Portability | portable (depends on GHC)
Stability | provisional
Maintainer | gtk2hs-users@lists.sourceforge.net

Contents

Detail
Class Hierarchy
Types
Constructors
Methods
Attributes
Signals

Description

A `ToolItem` subclass that displays buttons

- Module available since Gtk+ version 2.4

Synopsis

data ToolButton
class ToolItemClass o => ToolButtonClass o
castToToolButton :: GObjectClass obj => obj -> ToolButton
toToolButton :: ToolButtonClass o => o -> ToolButton
toolButtonNew :: WidgetClass iconWidget => Maybe iconWidget -> Maybe String -> IO ToolButton
toolButtonNewFromStock :: StockId -> IO ToolButton
toolButtonSetLabel :: ToolButtonClass self => self -> Maybe String -> IO ()
toolButtonGetLabel :: ToolButtonClass self => self -> IO (Maybe String)
toolButtonSetUseUnderline :: ToolButtonClass self => self -> Bool -> IO ()
toolButtonGetUseUnderline :: ToolButtonClass self => self -> IO Bool
toolButtonSetStockId :: ToolButtonClass self => self -> Maybe StockId -> IO ()
toolButtonGetStockId :: ToolButtonClass self => self -> IO (Maybe String)
toolButtonSetIconWidget :: (ToolButtonClass self, WidgetClass iconWidget) => self -> Maybe iconWidget -> IO ()
toolButtonGetIconWidget :: ToolButtonClass self => self -> IO (Maybe Widget)
toolButtonSetLabelWidget :: (ToolButtonClass self, WidgetClass labelWidget) => self -> Maybe labelWidget -> IO ()
toolButtonGetLabelWidget :: ToolButtonClass self => self -> IO (Maybe Widget)
toolButtonSetIconName :: ToolButtonClass self => self -> String -> IO ()
toolButtonGetIconName :: ToolButtonClass self => self -> IO String
toolButtonLabel :: ToolButtonClass self => Attr self (Maybe String)
toolButtonUseUnderline :: ToolButtonClass self => Attr self Bool
toolButtonLabelWidget :: (ToolButtonClass self, WidgetClass labelWidget) => ReadWriteAttr self (Maybe Widget) (Maybe labelWidget)
toolButtonStockId :: ToolButtonClass self => ReadWriteAttr self (Maybe String) (Maybe String)
toolButtonIconName :: ToolButtonClass self => Attr self String
toolButtonIconWidget :: (ToolButtonClass self, WidgetClass iconWidget) => ReadWriteAttr self (Maybe Widget) (Maybe iconWidget)
onToolButtonClicked :: ToolButtonClass self => self -> IO () -> IO (ConnectId self)
afterToolButtonClicked :: ToolButtonClass self => self -> IO () -> IO (ConnectId self)

Detail

`ToolButton`s are ToolItems containing buttons.

Use `toolButtonNew` to create a new `ToolButton`. Use toolButtonNewWithStock to create a `ToolButton` containing a stock item.

The label of a `ToolButton` is determined by the properties "label_widget", "label", and "stock_id". If "label_widget" is not `Nothing`, then that widget is used as the label. Otherwise, if "label" is not `Nothing`, that string is used as the label. Otherwise, if "stock_id" is not `Nothing`, the label is determined by the stock item. Otherwise, the button does not have a label.

The icon of a `ToolButton` is determined by the properties "icon_widget" and "stock_id". If "icon_widget" is not `Nothing`, then that widget is used as the icon. Otherwise, if "stock_id" is not `Nothing`, the icon is determined by the stock item. Otherwise, the button does not have a label.

Class Hierarchy

     |  GObject
     |   +----Object
     |         +----Widget
     |               +----Container
     |                     +----Bin
     |                           +----ToolItem
     |                                 +----ToolButton
     |                                       +----MenuToolButton
     |                                       +----ToggleToolButton

Types
data ToolButton

Instances

GObjectClass ToolButton
ToolButtonClass ToolButton
ToolItemClass ToolButton
BinClass ToolButton
ContainerClass ToolButton
WidgetClass ToolButton
ObjectClass ToolButton

class ToolItemClass o => ToolButtonClass o

Instances

ToolButtonClass RadioToolButton
ToolButtonClass ToggleToolButton
ToolButtonClass MenuToolButton
ToolButtonClass ToolButton

castToToolButton :: GObjectClass obj => obj -> ToolButton
toToolButton :: ToolButtonClass o => o -> ToolButton
Constructors
toolButtonNew

:: WidgetClass iconWidget |
=> Maybe iconWidget | `iconWidget` - a widget that will be used as icon widget, or `Nothing`
-> Maybe String | `label` - a string that will be used as label, or `Nothing`
-> IO ToolButton |
Creates a new `ToolButton` using `iconWidget` as icon and `label` as label.

toolButtonNewFromStock

:: StockId | `stockId` - the name of the stock item
-> IO ToolButton |
Creates a new `ToolButton` containing the image and text from a stock item. It is an error if `stockId` is not a name of a stock item.

Methods
toolButtonSetLabel

:: ToolButtonClass self |
=> self |
-> Maybe String | `label` - a string that will be used as label, or `Nothing`.
-> IO () |
Sets `label` as the label used for the tool button. The "label" property only has an effect if not overridden by a non-`Nothing` "label_widget" property. If both the "label_widget" and "label" properties are `Nothing`, the label is determined by the "stock_id" property. If the "stock_id" property is also `Nothing`, `button` will not have a label.

toolButtonGetLabel :: ToolButtonClass self => self -> IO (Maybe String)
Returns the label used by the tool button, or `Nothing` if the tool button doesn't have a label. or uses a the label from a stock item.
toolButtonSetUseUnderline :: ToolButtonClass self => self -> Bool -> IO ()

If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu. For example, if the label property is "_Open" and `useUnderline` is `True`, the label on the tool button will be "Open" and the item on the overflow menu will have an underlined 'O'.

Labels shown on tool buttons never have mnemonics on them; this property only affects the menu item on the overflow menu.

toolButtonGetUseUnderline :: ToolButtonClass self => self -> IO Bool
Returns whether underscores in the label property are used as mnemonics on menu items on the overflow menu. See `toolButtonSetUseUnderline`.
toolButtonSetStockId

:: ToolButtonClass self |
=> self |
-> Maybe StockId | `stockId` - a name of a stock item, or `Nothing`
-> IO () |
Sets the name of the stock item. See `toolButtonNewFromStock`. The stock_id property only has an effect if not overridden by non-`Nothing` "label" and "icon_widget" properties.

toolButtonGetStockId :: ToolButtonClass self => self -> IO (Maybe String)
Returns the name of the stock item. See `toolButtonSetStockId`.
toolButtonSetIconWidget

:: (ToolButtonClass self, WidgetClass iconWidget) |
=> self |
-> Maybe iconWidget | `iconWidget` - the widget used as icon, or `Nothing`
-> IO () |
Sets `icon` as the widget used as icon on `button`. If `iconWidget` is `Nothing` the icon is determined by the "stock_id" property. If the "stock_id" property is also `Nothing`, the button will not have an icon.

toolButtonGetIconWidget

:: ToolButtonClass self |
=> self |
-> IO (Maybe Widget) | returns The widget used as icon on `button`, or `Nothing`.
Return the widget used as icon widget on `button`. See `toolButtonSetIconWidget`.

toolButtonSetLabelWidget

:: (ToolButtonClass self, WidgetClass labelWidget) |
=> self |
-> Maybe labelWidget | `labelWidget` - the widget used as label, or `Nothing`
-> IO () |
Sets `labelWidget` as the widget that will be used as the label for `button`. If `labelWidget` is `Nothing` the "label" property is used as label. If "label" is also `Nothing`, the label in the stock item determined by the "stock_id" property is used as label. If "stock_id" is also `Nothing`, `button` does not have a label.

toolButtonGetLabelWidget

:: ToolButtonClass self |
=> self |
-> IO (Maybe Widget) | returns The widget used as label on `button`, or `Nothing`.
Returns the widget used as label on `button`. See `toolButtonSetLabelWidget`.

toolButtonSetIconName

:: ToolButtonClass self |
=> self |
-> String | `iconName` - the name of the themed icon
-> IO () |

Sets the icon for the tool button from a named themed icon. See the docs for IconTheme for more details. The "icon_name" property only has an effect if not overridden by the "label", "icon_widget" and "stock_id" properties.

- Available since Gtk+ version 2.8

toolButtonGetIconName

:: ToolButtonClass self |
=> self |
-> IO String | returns the icon name or `""` if the tool button has no themed icon.

Returns the name of the themed icon for the tool button, see `toolButtonSetIconName`.

- Available since Gtk+ version 2.8

Attributes
toolButtonLabel :: ToolButtonClass self => Attr self (Maybe String)
Text to show in the item. Default value: `Nothing`
toolButtonUseUnderline :: ToolButtonClass self => Attr self Bool
If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu. Default value: `False`
toolButtonLabelWidget :: (ToolButtonClass self, WidgetClass labelWidget) => ReadWriteAttr self (Maybe Widget) (Maybe labelWidget)
Widget to use as the item label.
toolButtonStockId :: ToolButtonClass self => ReadWriteAttr self (Maybe String) (Maybe String)
The stock icon displayed on the item. Default value: `Nothing`
toolButtonIconName :: ToolButtonClass self => Attr self String
The name of the themed icon displayed on the item. This property only has an effect if not overridden by "label", "icon_widget" or "stock_id" properties. Default value: ""
toolButtonIconWidget :: (ToolButtonClass self, WidgetClass iconWidget) => ReadWriteAttr self (Maybe Widget) (Maybe iconWidget)
Icon widget to display in the item.
Signals
onToolButtonClicked :: ToolButtonClass self => self -> IO () -> IO (ConnectId self)
afterToolButtonClicked :: ToolButtonClass self => self -> IO () -> IO (ConnectId self)
This signal is emitted when the tool button is clicked with the mouse or activated with the keyboard.
Produced by Haddock version 2.4.2