HOpenGL Libraries (GLUT package)ContentsIndex
Graphics.UI.GLUT.Menu
Portabilityportable
Stabilitystable
Maintainersven.panne@aedion.de
Description
GLUT supports simple cascading pop-up menus. They are designed to let a user select various modes within a program. The functionality is simple and minimalistic and is meant to be that way. Do not mistake GLUT's pop-up menu facility with an attempt to create a full-featured user interface.
Synopsis
newtype Menu = Menu [MenuItem]
data MenuItem
= MenuEntry String MenuCallback
| SubMenu String Menu
type MenuCallback = IO ()
attachMenu :: MouseButton -> Menu -> IO ()
numMenuItems :: GettableStateVar Int
Documentation
newtype Menu
A menu is simply a list of menu items.
Constructors
Menu [MenuItem]
data MenuItem
A single item within a menu can either be a plain menu entry or a sub-menu entry, allowing for arbitrarily deep nested menus.
Constructors
MenuEntry String MenuCallbackA plain menu entry with an associated callback, which is triggered when the user selects the entry
SubMenu String MenuA sub-menu, which is cascaded when the user selects the entry, allowing sub-menu entries to be selected
type MenuCallback = IO ()
attachMenu :: MouseButton -> Menu -> IO ()

Create a new pop-up menu for the current window, attaching it to the given mouse button. A previously attached menu (if any), is detached before and won't receive callbacks anymore.

It is illegal to call attachMenu while any (sub-)menu is in use, i.e. popped up.

X Implementation Notes: If available, GLUT for X will take advantage of overlay planes for implementing pop-up menus. The use of overlay planes can eliminate display callbacks when pop-up menus are deactivated. The SERVER_OVERLAY_VISUALS convention is used to determine if overlay visuals are available.

numMenuItems :: GettableStateVar Int
Contains the number of menu items in the current menu.
Produced by Haddock version 0.7