gtk-0.12.4: Binding to the Gtk+ graphical user interface library.

Portabilityportable (depends on GHC)
Stabilityprovisional
Maintainergtk2hs-users@lists.sourceforge.net
Safe HaskellNone

Graphics.UI.Gtk.MenuComboToolbar.MenuItem

Contents

Description

The widget used for item in menus

Synopsis

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

Constructors

menuItemNew :: IO MenuItem

Creates a new MenuItem.

menuItemNewWithLabel

Arguments

:: String

label - the text for the label

-> IO MenuItem 

Creates a new MenuItem whose child is a Label.

menuItemNewWithMnemonic

Arguments

:: String

label - The text of the label, with an underscore in front of the mnemonic character

-> 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 ()

Sets text on the MenuItem label

menuItemGetLabel :: MenuItemClass self => self -> IO String

Gets text on the MenuItem label

menuItemSetUseUnderline :: MenuItemClass self => self -> Bool -> IO ()

If True, an underline in the text indicates the next character should be used for the mnemonic accelerator key.

menuItemGetUseUnderline :: MenuItemClass self => self -> IO Bool

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 ()

Sets the item's submenu, or changes it.

menuItemGetSubmenu

Arguments

:: MenuItemClass self 
=> self 
-> IO (Maybe Widget)

returns submenu for this menu item, or Nothing if none.

Gets the submenu underneath this menu item, if any. See menuItemSetSubmenu.

menuItemRemoveSubmenu :: MenuItemClass self => self -> IO ()

Removes the item's submenu.

menuItemEmitSelect :: MenuItemClass self => self -> IO ()

Select the menu item. Emits the "select" signal on the item.

menuItemEmitDeselect :: MenuItemClass self => self -> IO ()

Deselect the menu item. Emits the "deselect" signal on the item.

menuItemEmitActivate :: MenuItemClass self => self -> IO ()

Simulate a click on the menu item. Emits the "activate" signal on the item.

menuItemSetRightJustified

Arguments

:: MenuItemClass self 
=> self 
-> Bool

rightJustified - if True the menu item will appear at the far right if added to a menu bar.

-> 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 Bool

Gets whether the menu item appears justified at the right side of the menu bar.

menuItemSetAccelPath

Arguments

:: MenuItemClass self 
=> self 
-> Maybe String

accelPath - accelerator path, corresponding to this menu item's functionality, or Nothing to unset the current path.

-> 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) submenu

'submenu' property. See menuItemGetSubmenu and menuItemSetSubmenu

menuItemLabel :: MenuItemClass self => Attr self String

'label' property. See menuItemSetLabel and menuItemGetLabel

menuItemUseUnderline :: MenuItemClass self => Attr self Bool

'useUnderline' property. See menuItemSetUseUnderline and menuItemGetUseEUnderline

Signals

menuItemActivateItem :: MenuItemClass self => Signal self (IO ())

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 ())

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 ())

This signal is emitted when the item is selected.

menuItemDeselect :: ItemClass i => Signal i (IO ())

This signal is emitted when the item is deselected.

menuItemToggle :: ItemClass i => Signal i (IO ())

This signal is emitted when the item is toggled.

Deprecated

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)