Portability | portable (depends on GHC) |
---|---|
Stability | provisional |
Maintainer | gtk2hs-users@lists.sourceforge.net |
Safe Haskell | None |
A menu widget
- data Menu
- class MenuShellClass o => MenuClass o
- castToMenu :: GObjectClass obj => obj -> Menu
- gTypeMenu :: GType
- toMenu :: MenuClass o => o -> Menu
- menuNew :: IO Menu
- menuReorderChild :: (MenuClass self, MenuItemClass child) => self -> child -> Int -> IO ()
- menuPopup :: MenuClass self => self -> Maybe (MouseButton, TimeStamp) -> IO ()
- menuSetAccelGroup :: MenuClass self => self -> AccelGroup -> IO ()
- menuGetAccelGroup :: MenuClass self => self -> IO AccelGroup
- menuSetAccelPath :: MenuClass self => self -> String -> IO ()
- menuSetTitle :: MenuClass self => self -> String -> IO ()
- menuGetTitle :: MenuClass self => self -> IO (Maybe String)
- menuPopdown :: MenuClass self => self -> IO ()
- menuReposition :: MenuClass self => self -> IO ()
- menuGetActive :: MenuClass self => self -> IO MenuItem
- menuSetActive :: MenuClass self => self -> Int -> IO ()
- menuSetTearoffState :: MenuClass self => self -> Bool -> IO ()
- menuGetTearoffState :: MenuClass self => self -> IO Bool
- menuAttachToWidget :: (MenuClass self, WidgetClass attachWidget) => self -> attachWidget -> IO ()
- menuDetach :: MenuClass self => self -> IO ()
- menuGetAttachWidget :: MenuClass self => self -> IO (Maybe Widget)
- menuSetScreen :: MenuClass self => self -> Maybe Screen -> IO ()
- menuSetMonitor :: MenuClass self => self -> Int -> IO ()
- menuAttach :: (MenuClass self, MenuItemClass child) => self -> child -> Int -> Int -> Int -> Int -> IO ()
- menuGetForAttachWidget :: WidgetClass widget => widget -> IO [Menu]
- menuTearoffState :: MenuClass self => Attr self Bool
- menuAccelGroup :: MenuClass self => Attr self AccelGroup
- menuActive :: MenuClass self => ReadWriteAttr self MenuItem Int
- menuTitle :: MenuClass self => Attr self String
- menuChildLeftAttach :: (MenuClass self, WidgetClass child) => child -> Attr self Int
- menuChildRightAttach :: (MenuClass self, WidgetClass child) => child -> Attr self Int
- menuChildTopAttach :: (MenuClass self, WidgetClass child) => child -> Attr self Int
- menuChildBottomAttach :: (MenuClass self, WidgetClass child) => child -> Attr self Int
Detail
A Menu
is a MenuShell
that implements a drop down menu consisting of
a list of MenuItem
objects which can be navigated and activated by the
user to perform application functions.
A Menu
is most commonly dropped down by activating a MenuItem
in a
MenuBar
or popped up by activating a MenuItem
in another Menu
.
A Menu
can also be popped up by activating a OptionMenu
. Other
composite widgets such as the Notebook
can pop up a Menu
as well.
Applications can display a Menu
as a popup menu by calling the
menuPopup
function.
Class Hierarchy
Types
class MenuShellClass o => MenuClass o Source
castToMenu :: GObjectClass obj => obj -> MenuSource
Constructors
Methods
:: (MenuClass self, MenuItemClass child) | |
=> self | |
-> child |
|
-> Int |
|
-> IO () |
:: MenuClass self | |
=> self | The menu to be shown. |
-> Maybe (MouseButton, TimeStamp) | The mouse button returned by |
-> IO () |
Popup a context menu where a button press occurred.
- This function must be called in response to a button click. It opens the given menu at a place determined by the last emitted event (hence the requirement that this function is called as response to a button press signal).
:: MenuClass self | |
=> self | |
-> AccelGroup |
|
-> IO () |
Set the AccelGroup
which holds global accelerators for the menu. This
accelerator group needs to also be added to all windows that this menu is
being used in with windowAddAccelGroup
, in order for those windows to
support all the accelerators contained in this group.
Gets the AccelGroup
which holds global accelerators for the menu. See
menuSetAccelGroup
.
Sets an accelerator path for this menu from which accelerator paths for
its immediate children, its menu items, can be constructed. The main purpose
of this function is to spare the programmer the inconvenience of having to
call menuItemSetAccelPath
on each menu item that should support runtime
user changable accelerators. Instead, by just calling menuSetAccelPath
on
their parent, each menu item of this menu, that contains a label describing
its purpose, automatically gets an accel path assigned.
For example, a menu containing menu items "New" and "Exit", will, after calling
menu `menuSetAccelPath` "<Gnumeric-Sheet>/File"
assign its items the accel paths: "<Gnumeric-Sheet>/File/New"
and
"<Gnumeric-Sheet>/File/Exit"
.
Assigning accel paths to menu items then enables the user to change their
accelerators at runtime. More details about accelerator paths and their
default setups can be found at accelMapAddEntry
.
menuSetTitle :: MenuClass self => self -> String -> IO ()Source
Sets the title string for the menu. The title is displayed when the menu is shown as a tearoff menu.
:: MenuClass self | |
=> self | |
-> IO (Maybe String) | returns the title of the menu, or |
Returns the title of the menu. See menuSetTitle
.
menuPopdown :: MenuClass self => self -> IO ()Source
Removes the menu from the screen.
menuReposition :: MenuClass self => self -> IO ()Source
Repositions the menu according to its position function.
:: MenuClass self | |
=> self | |
-> IO MenuItem | returns the |
Returns the selected menu item from the menu. This is used by the
OptionMenu
.
:: MenuClass self | |
=> self | |
-> Int |
|
-> IO () |
Selects the specified menu item within the menu. This is used by the
OptionMenu
and should not be used by anyone else.
Changes the tearoff state of the menu. A menu is normally displayed as drop down menu which persists as long as the menu is active. It can also be displayed as a tearoff menu which persists until it is closed or reattached.
Returns whether the menu is torn off. See menuSetTearoffState
.
menuAttachToWidget :: (MenuClass self, WidgetClass attachWidget) => self -> attachWidget -> IO ()Source
Attach this menu to another widget.
menuDetach :: MenuClass self => self -> IO ()Source
Detach this menu from the widget it is attached to.
menuGetAttachWidget :: MenuClass self => self -> IO (Maybe Widget)Source
Get the widget this menu is attached to. Returns Nothing if this is a tearoff (context) menu.
:: MenuClass self | |
=> self | |
-> Maybe Screen |
|
-> IO () |
Sets the Screen
on which the menu will be displayed.
- Available since Gtk+ version 2.2
:: MenuClass self | |
=> self | |
-> Int |
|
-> IO () |
Informs Gtk+ on which monitor a menu should be popped up. See
screenGetMonitorGeometry
.
- Available since Gtk+ version 2.4
:: (MenuClass self, MenuItemClass child) | |
=> self | |
-> child |
|
-> Int |
|
-> Int |
|
-> Int |
|
-> Int |
|
-> IO () |
Adds a new MenuItem
to a (table) menu. The number of 'cells' that an
item will occupy is specified by leftAttach
, rightAttach
, topAttach
and bottomAttach
. These each represent the leftmost, rightmost, uppermost
and lower column and row numbers of the table. (Columns and rows are indexed
from zero).
Note that this function is not related to menuDetach
.
- Available since Gtk+ version 2.4
:: WidgetClass widget | |
=> widget |
|
-> IO [Menu] |
Returns a list of the menus which are attached to this widget.
- Available since Gtk+ version 2.6
Attributes
menuTearoffState :: MenuClass self => Attr self BoolSource
A boolean that indicates whether the menu is torn-off.
Default value: False
menuAccelGroup :: MenuClass self => Attr self AccelGroupSource
'accelGroup' property. See menuGetAccelGroup
and menuSetAccelGroup
menuActive :: MenuClass self => ReadWriteAttr self MenuItem IntSource
'active' property. See menuGetActive
and menuSetActive
menuTitle :: MenuClass self => Attr self StringSource
A title that may be displayed by the window manager when this menu is torn-off.
Default value: ""
Child Attributes
menuChildLeftAttach :: (MenuClass self, WidgetClass child) => child -> Attr self IntSource
The column number to attach the left side of the child to.
Allowed values: >= -1
Default value: -1
menuChildRightAttach :: (MenuClass self, WidgetClass child) => child -> Attr self IntSource
The column number to attach the right side of the child to.
Allowed values: >= -1
Default value: -1
menuChildTopAttach :: (MenuClass self, WidgetClass child) => child -> Attr self IntSource
The row number to attach the top of the child to.
Allowed values: >= -1
Default value: -1
menuChildBottomAttach :: (MenuClass self, WidgetClass child) => child -> Attr self IntSource
The row number to attach the bottom of the child to.
Allowed values: >= -1
Default value: -1