Portability | portable (depends on GHC) |
---|---|
Stability | provisional |
Maintainer | gtk2hs-users@lists.sourceforge.net |
Safe Haskell | None |
The widget used for item in menus
- data MenuItem
- class ItemClass o => MenuItemClass o
- castToMenuItem :: GObjectClass obj => obj -> MenuItem
- gTypeMenuItem :: GType
- toMenuItem :: MenuItemClass o => o -> MenuItem
- menuItemNew :: IO MenuItem
- menuItemNewWithLabel :: String -> IO MenuItem
- menuItemNewWithMnemonic :: String -> IO MenuItem
- menuItemSetLabel :: MenuItemClass self => self -> String -> IO ()
- menuItemGetLabel :: MenuItemClass self => self -> IO String
- menuItemSetUseUnderline :: MenuItemClass self => self -> Bool -> IO ()
- menuItemGetUseUnderline :: MenuItemClass self => self -> IO Bool
- menuItemSetSubmenu :: (MenuItemClass self, MenuClass submenu) => self -> submenu -> IO ()
- menuItemGetSubmenu :: MenuItemClass self => self -> IO (Maybe Widget)
- menuItemRemoveSubmenu :: MenuItemClass self => self -> IO ()
- menuItemEmitSelect :: MenuItemClass self => self -> IO ()
- menuItemEmitDeselect :: MenuItemClass self => self -> IO ()
- menuItemEmitActivate :: MenuItemClass self => self -> IO ()
- menuItemSetRightJustified :: MenuItemClass self => self -> Bool -> IO ()
- menuItemGetRightJustified :: MenuItemClass self => self -> IO Bool
- menuItemSetAccelPath :: MenuItemClass self => self -> Maybe String -> IO ()
- menuItemSubmenu :: (MenuItemClass self, MenuClass submenu) => ReadWriteAttr self (Maybe Widget) submenu
- menuItemRightJustified :: MenuItemClass self => Attr self Bool
- menuItemLabel :: MenuItemClass self => Attr self String
- menuItemUseUnderline :: MenuItemClass self => Attr self Bool
- menuItemActivateItem :: MenuItemClass self => Signal self (IO ())
- menuItemActivate :: MenuItemClass self => Signal self (IO ())
- menuItemSelect :: ItemClass i => Signal i (IO ())
- menuItemDeselect :: ItemClass i => Signal i (IO ())
- menuItemToggle :: ItemClass i => Signal i (IO ())
- onActivateItem :: MenuItemClass self => self -> IO () -> IO (ConnectId self)
- afterActivateItem :: MenuItemClass self => self -> IO () -> IO (ConnectId self)
- onActivateLeaf :: MenuItemClass self => self -> IO () -> IO (ConnectId self)
- afterActivateLeaf :: MenuItemClass self => self -> IO () -> IO (ConnectId self)
- onSelect :: ItemClass i => i -> IO () -> IO (ConnectId i)
- afterSelect :: ItemClass i => i -> IO () -> IO (ConnectId i)
- onDeselect :: ItemClass i => i -> IO () -> IO (ConnectId i)
- afterDeselect :: ItemClass i => i -> IO () -> IO (ConnectId i)
- onToggle :: ItemClass i => i -> IO () -> IO (ConnectId i)
- afterToggle :: ItemClass i => i -> IO () -> IO (ConnectId i)
Detail
The MenuItem
widget and the derived widgets are the only valid childs
for menus. Their function is to correctly handle highlighting, alignment,
events and submenus.
As it derives from Bin
it can hold any valid child widget, altough only
a few are really useful.
Class Hierarchy
|GObject
| +----Object
| +----Widget
| +----Container
| +----Bin
| +----Item
| +----MenuItem | +----CheckMenuItem
| +----ImageMenuItem
| +----SeparatorMenuItem
| +----TearoffMenuItem
Types
class ItemClass o => MenuItemClass o Source
castToMenuItem :: GObjectClass obj => obj -> MenuItemSource
toMenuItem :: MenuItemClass o => o -> MenuItemSource
Constructors
menuItemNew :: IO MenuItemSource
Creates a new MenuItem
.
:: String |
|
-> IO MenuItem |
Creates a new MenuItem
containing a label. The label will be created
using labelNewWithMnemonic
, so underscores in label
indicate the
mnemonic for the menu item.
Methods
menuItemSetLabel :: MenuItemClass self => self -> String -> IO ()Source
Sets text on the MenuItem label
menuItemGetLabel :: MenuItemClass self => self -> IO StringSource
Gets text on the MenuItem label
menuItemSetUseUnderline :: MenuItemClass self => self -> Bool -> IO ()Source
If True, an underline in the text indicates the next character should be used for the mnemonic accelerator key.
menuItemGetUseUnderline :: MenuItemClass self => self -> IO BoolSource
Checks if an underline in the text indicates the next character should be used for the mnemonic accelerator key.
menuItemSetSubmenu :: (MenuItemClass self, MenuClass submenu) => self -> submenu -> IO ()Source
Sets the item's submenu, or changes it.
:: MenuItemClass self | |
=> self | |
-> IO (Maybe Widget) | returns submenu for this menu item, or |
Gets the submenu underneath this menu item, if any. See
menuItemSetSubmenu
.
menuItemRemoveSubmenu :: MenuItemClass self => self -> IO ()Source
Removes the item's submenu.
menuItemEmitSelect :: MenuItemClass self => self -> IO ()Source
Select the menu item. Emits the "select" signal on the item.
menuItemEmitDeselect :: MenuItemClass self => self -> IO ()Source
Deselect the menu item. Emits the "deselect" signal on the item.
menuItemEmitActivate :: MenuItemClass self => self -> IO ()Source
Simulate a click on the menu item. Emits the "activate" signal on the item.
menuItemSetRightJustifiedSource
:: MenuItemClass self | |
=> self | |
-> Bool |
|
-> IO () |
Sets whether the menu item appears justified at the right side of a menu bar. This was traditionally done for "Help" menu items, but is now considered a bad idea. (If the widget layout is reversed for a right-to-left language like Hebrew or Arabic, right-justified-menu-items appear at the left.)
menuItemGetRightJustified :: MenuItemClass self => self -> IO BoolSource
Gets whether the menu item appears justified at the right side of the menu bar.
:: MenuItemClass self | |
=> self | |
-> Maybe String |
|
-> IO () |
Set the accelerator path on the menu item, through which runtime changes of
the menu item's accelerator caused by the user can be identified and saved
to persistant storage (see accelMapSave
on this). To setup a default
accelerator for this menu item, call accelMapAddEntry
with the same accel
path. See also accelMapAddEntry
on the specifics of accelerator paths, and
menuSetAccelPath
for a more convenient variant of this function.
This function is basically a convenience wrapper that handles calling
widgetSetAccelPath
with the appropriate accelerator group for the menu
item.
Note that you do need to set an accelerator on the parent menu with
menuSetAccelGroup
for this to work.
Attributes
menuItemSubmenu :: (MenuItemClass self, MenuClass submenu) => ReadWriteAttr self (Maybe Widget) submenuSource
'submenu' property. See menuItemGetSubmenu
and menuItemSetSubmenu
menuItemRightJustified :: MenuItemClass self => Attr self BoolSource
'rightJustified' property. See menuItemGetRightJustified
and
menuItemSetRightJustified
menuItemLabel :: MenuItemClass self => Attr self StringSource
'label' property. See menuItemSetLabel
and menuItemGetLabel
menuItemUseUnderline :: MenuItemClass self => Attr self BoolSource
'useUnderline' property. See menuItemSetUseUnderline
and
menuItemGetUseEUnderline
Signals
menuItemActivateItem :: MenuItemClass self => Signal self (IO ())Source
Emitted when the user chooses a menu item that has a submenu.
- This signal is not emitted if the menu item does not have a submenu.
menuItemActivate :: MenuItemClass self => Signal self (IO ())Source
The user has chosen the menu item.
- This is the only function applications normally connect to. It is not emitted if the item has a submenu.
menuItemSelect :: ItemClass i => Signal i (IO ())Source
This signal is emitted when the item is selected.
menuItemDeselect :: ItemClass i => Signal i (IO ())Source
This signal is emitted when the item is deselected.
menuItemToggle :: ItemClass i => Signal i (IO ())Source
This signal is emitted when the item is toggled.
Deprecated
onActivateItem :: MenuItemClass self => self -> IO () -> IO (ConnectId self)Source
afterActivateItem :: MenuItemClass self => self -> IO () -> IO (ConnectId self)Source
onActivateLeaf :: MenuItemClass self => self -> IO () -> IO (ConnectId self)Source
afterActivateLeaf :: MenuItemClass self => self -> IO () -> IO (ConnectId self)Source
afterSelect :: ItemClass i => i -> IO () -> IO (ConnectId i)Source
onDeselect :: ItemClass i => i -> IO () -> IO (ConnectId i)Source
afterDeselect :: ItemClass i => i -> IO () -> IO (ConnectId i)Source
afterToggle :: ItemClass i => i -> IO () -> IO (ConnectId i)Source