gtk-0.11.0: Binding to the Gtk+ graphical user interface library.Source codeContentsIndex
Graphics.UI.Gtk.ActionMenuToolbar.Action
Portabilityportable (depends on GHC)
Stabilityprovisional
Maintainergtk2hs-users@lists.sourceforge.net
Contents
Detail
Class Hierarchy
Types
Constructors
Methods
Attributes
Signals
Deprecated
Description

An action which can be triggered by a menu or toolbar item

  • Module available since Gtk+ version 2.4
Synopsis
data Action
class GObjectClass o => ActionClass o
castToAction :: GObjectClass obj => obj -> Action
gTypeAction :: GType
toAction :: ActionClass o => o -> Action
actionNew :: String -> String -> Maybe String -> Maybe StockId -> IO Action
actionGetName :: ActionClass self => self -> IO String
actionIsSensitive :: ActionClass self => self -> IO Bool
actionGetSensitive :: ActionClass self => self -> IO Bool
actionSetSensitive :: ActionClass self => self -> Bool -> IO ()
actionIsVisible :: ActionClass self => self -> IO Bool
actionGetVisible :: ActionClass self => self -> IO Bool
actionSetVisible :: ActionClass self => self -> Bool -> IO ()
actionActivate :: ActionClass self => self -> IO ()
actionCreateMenuItem :: ActionClass self => self -> IO Widget
actionCreateToolItem :: ActionClass self => self -> IO Widget
actionConnectProxy :: (ActionClass self, WidgetClass proxy) => self -> proxy -> IO ()
actionDisconnectProxy :: (ActionClass self, WidgetClass proxy) => self -> proxy -> IO ()
actionGetProxies :: ActionClass self => self -> IO [Widget]
actionConnectAccelerator :: ActionClass self => self -> IO ()
actionDisconnectAccelerator :: ActionClass self => self -> IO ()
actionGetAccelPath :: ActionClass self => self -> IO (Maybe String)
actionSetAccelPath :: ActionClass self => self -> String -> IO ()
actionSetAccelGroup :: ActionClass self => self -> AccelGroup -> IO ()
actionName :: ActionClass self => Attr self String
actionLabel :: ActionClass self => Attr self String
actionShortLabel :: ActionClass self => Attr self String
actionTooltip :: ActionClass self => Attr self (Maybe String)
actionStockId :: ActionClass self => Attr self (Maybe String)
actionVisibleHorizontal :: ActionClass self => Attr self Bool
actionVisibleOverflown :: ActionClass self => Attr self Bool
actionVisibleVertical :: ActionClass self => Attr self Bool
actionIsImportant :: ActionClass self => Attr self Bool
actionHideIfEmpty :: ActionClass self => Attr self Bool
actionSensitive :: ActionClass self => Attr self Bool
actionVisible :: ActionClass self => Attr self Bool
actionAccelPath :: ActionClass self => ReadWriteAttr self (Maybe String) String
actionActivated :: ActionClass self => Signal self (IO ())
onActionActivate :: ActionClass self => self -> IO () -> IO (ConnectId self)
afterActionActivate :: ActionClass self => self -> IO () -> IO (ConnectId self)
Detail

Actions represent operations that the user can be perform, along with some information how it should be presented in the interface. Each action provides methods to create icons, menu items and toolbar items representing itself.

As well as the callback that is called when the action gets activated, the following also gets associated with the action:

  • a name (not translated, for path lookup)
  • a label (translated, for display)
  • an accelerator
  • whether label indicates a stock id
  • a tooltip (optional, translated)
  • a toolbar label (optional, shorter than label)

The action will also have some state information:

  • visible (shown/hidden)
  • sensitive (enabled/disabled)

Apart from regular actions, there are toggle actions, which can be toggled between two states and radio actions, of which only one in a group can be in the "active" state. Other actions can be implemented as Action subclasses.

Each action can have one or more proxy menu item, toolbar button or other proxy widgets. Proxies mirror the state of the action (text label, tooltip, icon, visible, sensitive, etc), and should change when the action's state changes. When the proxy is activated, it should activate its action.

Class Hierarchy
 | GObject
 | +----Action
 | +----ToggleAction
Types
data Action Source
class GObjectClass o => ActionClass o Source
castToAction :: GObjectClass obj => obj -> ActionSource
gTypeAction :: GTypeSource
toAction :: ActionClass o => o -> ActionSource
Constructors
actionNewSource
:: Stringname - A unique name for the action
-> Stringlabel - the label displayed in menu items and on buttons
-> Maybe Stringtooltip - a tooltip for the action
-> Maybe StockIdstockId - the stock icon to display in widgets representing the action
-> IO Action
Creates a new Action object. To add the action to a ActionGroup and set the accelerator for the action, call Graphics.UI.Gtk.ActionMenuToolbar.ActionGroup.actionGroupAddActionWithAccel. See Graphics.UI.Gtk.ActionMenuToolbar.UIManager for information on allowed action names.
Methods
actionGetName :: ActionClass self => self -> IO StringSource
Returns the name of the action.
actionIsSensitiveSource
:: ActionClass self
=> selfreturns True if the action and its associated action group are both sensitive.
-> IO Bool
Returns whether the action is effectively sensitive.
actionGetSensitiveSource
:: ActionClass self
=> selfreturns True if the action itself is sensitive.
-> IO Bool
Returns whether the action itself is sensitive. Note that this doesn't necessarily mean effective sensitivity. See actionIsSensitive for that.
actionSetSensitiveSource
:: ActionClass self
=> selfsensitive - True to make the action sensitive
-> Bool
-> IO ()

Sets the sensitive property of the action to sensitive. Note that this doesn't necessarily mean effective sensitivity. See actionIsSensitive for that.

  • Available since Gtk+ version 2.6
actionIsVisibleSource
:: ActionClass self
=> selfreturns True if the action and its associated action group are both visible.
-> IO Bool
Returns whether the action is effectively visible.
actionGetVisibleSource
:: ActionClass self
=> selfreturns True if the action itself is visible.
-> IO Bool
Returns whether the action itself is visible. Note that this doesn't necessarily mean effective visibility. See actionIsSensitive for that.
actionSetVisibleSource
:: ActionClass self
=> selfvisible - True to make the action visible
-> Bool
-> IO ()

Sets the visible property of the action to visible. Note that this doesn't necessarily mean effective visibility. See actionIsVisible for that.

  • Available since Gtk+ version 2.6
actionActivate :: ActionClass self => self -> IO ()Source

Emits the "activate" signal on the specified action, if it isn't insensitive. This gets called by the proxy widgets when they get activated.

It can also be used to manually activate an action.

actionCreateMenuItemSource
:: ActionClass self
=> selfreturns a menu item connected to the action.
-> IO Widget
Creates a menu item widget that proxies for the given action.
actionCreateToolItemSource
:: ActionClass self
=> selfreturns a toolbar item connected to the action.
-> IO Widget
Creates a toolbar item widget that proxies for the given action.
actionConnectProxySource
:: (ActionClass self, WidgetClass proxy)
=> selfproxy - the proxy widget
-> proxy
-> IO ()

Connects a widget to an action object as a proxy. Synchronises various properties of the action with the widget (such as label text, icon, tooltip, etc), and attaches a callback so that the action gets activated when the proxy widget does.

If the widget is already connected to an action, it is disconnected first.

actionDisconnectProxySource
:: (ActionClass self, WidgetClass proxy)
=> selfproxy - the proxy widget
-> proxy
-> IO ()
Disconnects a proxy widget from an action.
actionGetProxies :: ActionClass self => self -> IO [Widget]Source
Returns the proxy widgets for an action.
actionConnectAccelerator :: ActionClass self => self -> IO ()Source

Installs the accelerator for action if action has an accel path and group. See actionSetAccelPath and actionSetAccelGroup

Since multiple proxies may independently trigger the installation of the accelerator, the action counts the number of times this function has been called and doesn't remove the accelerator until actionDisconnectAccelerator has been called as many times.

actionDisconnectAccelerator :: ActionClass self => self -> IO ()Source
Undoes the effect of one call to actionConnectAccelerator.
actionGetAccelPathSource
:: ActionClass self
=> selfreturns the accel path for this action, or Nothing if none is set.
-> IO (Maybe String)

Returns the accel path for this action.

  • Available since Gtk+ version 2.6
actionSetAccelPathSource
:: ActionClass self
=> selfaccelPath - the accelerator path
-> String
-> IO ()
Sets the accel path for this action. All proxy widgets associated with the action will have this accel path, so that their accelerators are consistent.
actionSetAccelGroup :: ActionClass self => self -> AccelGroup -> IO ()Source
Sets the AccelGroup in which the accelerator for this action will be installed.
Attributes
actionName :: ActionClass self => Attr self StringSource

A unique name for the action.

Default value: ""

actionLabel :: ActionClass self => Attr self StringSource

The label used for menu items and buttons that activate this action.

Default value: ""

actionShortLabel :: ActionClass self => Attr self StringSource

A shorter label that may be used on toolbar buttons.

Default value: ""

actionTooltip :: ActionClass self => Attr self (Maybe String)Source

A tooltip for this action.

Default value: Nothing

actionStockId :: ActionClass self => Attr self (Maybe String)Source

The stock icon displayed in widgets representing this action.

Default value: Nothing

actionVisibleHorizontal :: ActionClass self => Attr self BoolSource

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

Default value: True

actionVisibleOverflown :: ActionClass self => Attr self BoolSource

When True, toolitem proxies for this action are represented in the toolbar overflow menu.

Default value: True

  • Available since Gtk+ version 2.6
actionVisibleVertical :: ActionClass self => Attr self BoolSource

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

Default value: True

actionIsImportant :: ActionClass self => Attr self BoolSource

Whether the action is considered important. When True, toolitem proxies for this action show text in Graphics.UI.Gtk.MenuComboToolbar.Toolbar.ToolbarBothHoriz mode.

Default value: False

actionHideIfEmpty :: ActionClass self => Attr self BoolSource

When True, empty menu proxies for this action are hidden.

Default value: True

actionSensitive :: ActionClass self => Attr self BoolSource

Whether the action is enabled.

Default value: True

  • Available since Gtk+ version 2.6
actionVisible :: ActionClass self => Attr self BoolSource

Whether the action is visible.

Default value: True

  • Available since Gtk+ version 2.6
actionAccelPath :: ActionClass self => ReadWriteAttr self (Maybe String) StringSource

'accelPath' property. See actionGetAccelPath and actionSetAccelPath

  • Available since Gtk+ version 2.6
Signals
actionActivated :: ActionClass self => Signal self (IO ())Source
The "activate" signal is emitted when the action is activated.
Deprecated
onActionActivate :: ActionClass self => self -> IO () -> IO (ConnectId self)Source
afterActionActivate :: ActionClass self => self -> IO () -> IO (ConnectId self)Source
The "activate" signal is emitted when the action is activated.
Produced by Haddock version 2.6.0