| gtk-0.11.0: Binding to the Gtk+ graphical user interface library. | Contents | Index |
|
Graphics.UI.Gtk.MenuComboToolbar.MenuShell | Portability | portable (depends on GHC) | Stability | provisional | Maintainer | gtk2hs-users@lists.sourceforge.net |
|
|
|
|
|
Description |
A base class for menu objects
|
|
Synopsis |
|
|
|
|
Detail
|
|
A MenuShell is the abstract base class used to derive the Menu and
MenuBar subclasses.
A MenuShell is a container of MenuItem objects arranged in a list
which can be navigated, selected, and activated by the user to perform
application functions. A MenuItem can have a submenu associated with it,
allowing for nested hierarchical menus.
|
|
Class Hierarchy
|
|
| GObject
| +----Object
| +----Widget
| +----Container
| +----MenuShell
| +----MenuBar
| +----Menu
|
|
Types
|
|
data MenuShell |
Instances | |
|
|
class ContainerClass o => MenuShellClass o |
| Instances | |
|
|
castToMenuShell :: GObjectClass obj => obj -> MenuShell |
|
gTypeMenuShell :: GType |
|
toMenuShell :: MenuShellClass o => o -> MenuShell |
|
Methods
|
|
menuShellAppend |
|
|
menuShellPrepend |
|
|
menuShellInsert |
:: (MenuShellClass self, MenuItemClass child) | | => self | | -> child | child - The MenuItem to add.
| -> Int | position - The position in the item list where child is
added. Positions are numbered from 0 to n-1.
| -> IO () | | Adds a new MenuItem to the menu shell's item list at the position
indicated by position.
|
|
|
menuShellDeactivate :: MenuShellClass self => self -> IO () |
Deactivates the menu shell. Typically this results in the menu shell
being erased from the screen.
|
|
menuShellActivateItem |
:: (MenuShellClass self, MenuItemClass menuItem) | | => self | | -> menuItem | menuItem - The MenuItem to activate.
| -> Bool | forceDeactivate - If True, force the deactivation of the
menu shell after the menu item is activated.
| -> IO () | | Activates the menu item within the menu shell. If the menu was deactivated
and forceDeactivate is set, the previously deactivated menu is reactivated.
|
|
|
menuShellSelectItem |
|
|
menuShellDeselect :: MenuShellClass self => self -> IO () |
Deselects the currently selected item from the menu shell, if any.
|
|
menuShellSelectFirst |
:: MenuShellClass self | | => self | | -> Bool | searchSensitive - if True, search for the first selectable
menu item, otherwise select nothing if the first item isn't
sensitive. This should be False if the menu is being popped up
initially.
| -> IO () | | Select the first visible or selectable child of the menu shell; don't
select tearoff items unless the only item is a tearoff item.
- Available since Gtk+ version 2.2
|
|
|
menuShellCancel :: MenuShellClass self => self -> IO () |
Cancels the selection within the menu shell.
- Available since Gtk+ version 2.4
|
|
menuShellSetTakeFocus |
:: MenuShellClass self | | => self | | -> Bool | takeFocus - True if the menu shell should take the keyboard
focus on popup.
| -> IO () | | If takeFocus is True (the default) the menu shell will take the
keyboard focus so that it will receive all keyboard events which is needed
to enable keyboard navigation in menus.
Setting takeFocus to False is useful only for special applications
like virtual keyboard implementations which should not take keyboard focus.
The takeFocus state of a menu or menu bar is automatically propagated
to submenus whenever a submenu is popped up, so you don't have to worry
about recursively setting it for your entire menu hierarchy. Only when
programmatically picking a submenu and popping it up manually, the
takeFocus property of the submenu needs to be set explicitely.
Note that setting it to False has side-effects:
If the focus is in some other app, it keeps the focus and keynav in the
menu doesn't work. Consequently, keynav on the menu will only work if the
focus is on some toplevel owned by the onscreen keyboard.
To avoid confusing the user, menus with takeFocus set to False should
not display mnemonics or accelerators, since it cannot be guaranteed that
they will work.
- Available since Gtk+ version 2.8
|
|
|
menuShellGetTakeFocus |
:: MenuShellClass self | | => self | | -> IO Bool | returns True if the menu shell will take the keyboard focus
on popup.
| Returns True if the menu shell will take the keyboard focus on popup.
- Available since Gtk+ version 2.8
|
|
|
Attributes
|
|
menuShellTakeFocus :: MenuShellClass self => Attr self Bool |
A boolean that determines whether the menu and its submenus grab the
keyboard focus. See menuShellSetTakeFocus and menuShellGetTakeFocus.
Default value: True
|
|
Signals
|
|
onActivateCurrent :: MenuShellClass self => self -> (Bool -> IO ()) -> IO (ConnectId self) |
|
afterActivateCurrent :: MenuShellClass self => self -> (Bool -> IO ()) -> IO (ConnectId self) |
This signal is called if an item is
activated. The boolean flag hide is True whenever the menu will
behidden after this action.
|
|
onCancel :: MenuShellClass self => self -> IO () -> IO (ConnectId self) |
|
afterCancel :: MenuShellClass self => self -> IO () -> IO (ConnectId self) |
This signal will be emitted when a selection is
aborted and thus does not lead to an activation. This is in contrast to the
selection done signal which is always emitted.
|
|
onDeactivated :: MenuShellClass self => self -> IO () -> IO (ConnectId self) |
|
afterDeactivated :: MenuShellClass self => self -> IO () -> IO (ConnectId self) |
This signal is sent whenever the menu shell
is deactivated (hidden).
|
|
data MenuDirectionType |
From where was a menu item entered?
| Constructors | MenuDirParent | | MenuDirChild | | MenuDirNext | | MenuDirPrev | |
| Instances | |
|
|
onMoveCurrent :: MenuShellClass self => self -> (MenuDirectionType -> IO ()) -> IO (ConnectId self) |
|
afterMoveCurrent :: MenuShellClass self => self -> (MenuDirectionType -> IO ()) -> IO (ConnectId self) |
This signal is emitted for each move the
cursor makes.
|
|
onSelectionDone :: MenuShellClass self => self -> IO () -> IO (ConnectId self) |
|
afterSelectionDone :: MenuShellClass self => self -> IO () -> IO (ConnectId self) |
This signal is emitted when the user
finished using the menu. Note that this signal is emitted even if no menu
item was activated.
|
|
Produced by Haddock version 2.4.2 |