CrystalSpace

Public API Reference

Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Menu
[Components]


Classes

class  csMenuItem
 This class encapsulates a menu item. More...
class  csMenu
 The Menu class represents two types of menu: vertical (popup) menus and bar menus. More...

Menu item styles

#define CSMIS_CHECKED   0x00000001
 Menu item has a checkmark at the left.
#define CSMIS_SEPARATOR   0x00000010
 Menu item is a separator.
#define CSMIS_NEWCOLUMN   0x00000020
 This menu item starts a new column (if frame style != csmfsBar).
#define CSMIS_NOCLOSE   0x00000040
 Do not close menu when menu item is activated.
#define CSMIS_DEFAULTVALUE   0
 Default menu item styles.

Menu style flags

#define CSMS_HIDEINACTIVE   0x00000001
 hide menu when it deactivates
#define CSMS_DEFAULTVALUE   CSMS_HIDEINACTIVE
 Default menu style value.

Enumerations

enum  {
  cscmdDeactivateMenu = 0x00000200, cscmdMenuPlaceItems, cscmdMenuCaptureMouse, cscmdMenuSetItem,
  cscmdMenuSetLastItem, cscmdMenuQueryDropFlag, cscmdMenuSetDropFlag, cscmdMenuItemCheck,
  cscmdMenuItemGetStyle, cscmdMenuItemFindId
}
 csMenu class messages More...
enum  csMenuFrameStyle { csmfsNone, csmfsThin, csmfsBar, csmfs3D }
 Possible menu frame styles. More...

Example

Just a small example how menus can be defined and used:
 csComponent *window = new csWindow (app, "Window title");
 csMenu *menu = (csMenu *)window->GetChild (CSWID_MENUBAR);
 if (menu)
 {
   submenu = new csMenu (0);
   (void)new csMenuItem (menu, "~File", submenu);
     (void)new csMenuItem (submenu, "~Open\tCtrl+O", cscmdNothing);
     (void)new csMenuItem (submenu, "~Save\tCtrl+S", cscmdNothing);
     (void)new csMenuItem (submenu, "~Close", cscmdNothing);
     (void)new csMenuItem (submenu);
     (void)new csMenuItem (submenu, "~Quit\tCtrl+Q", cscmdQuit);
   [...]
 }
 

Define Documentation

#define CSMIS_CHECKED   0x00000001
 

Menu item has a checkmark at the left.

Definition at line 39 of file csmenu.h.

#define CSMIS_DEFAULTVALUE   0
 

Default menu item styles.

Definition at line 47 of file csmenu.h.

#define CSMIS_NEWCOLUMN   0x00000020
 

This menu item starts a new column (if frame style != csmfsBar).

Definition at line 43 of file csmenu.h.

#define CSMIS_NOCLOSE   0x00000040
 

Do not close menu when menu item is activated.

Definition at line 45 of file csmenu.h.

#define CSMIS_SEPARATOR   0x00000010
 

Menu item is a separator.

Definition at line 41 of file csmenu.h.

#define CSMS_DEFAULTVALUE   CSMS_HIDEINACTIVE
 

Default menu style value.

Definition at line 214 of file csmenu.h.

#define CSMS_HIDEINACTIVE   0x00000001
 

hide menu when it deactivates

Definition at line 212 of file csmenu.h.


Enumeration Type Documentation

anonymous enum
 

csMenu class messages

Enumeration values:
cscmdDeactivateMenu  Tell menu or menu item to deactivate.

 IN: (int)DismissCode;
 
cscmdMenuPlaceItems  Tell menu to place all its items on their places and that it should re-size itself (if it is not a menu bar).
cscmdMenuCaptureMouse  Tell menu to capture the mouse, if its parent menu didn't so.

 IN: (csComponent *)Source;
 OUT: 0 if mouse has been captured
 
cscmdMenuSetItem  Set menu's current item to command argument.

 IN: (csComponent *)Item;
 OUT: 0 if successfull
 
cscmdMenuSetLastItem  If menu has no current item, select the item that was last active.
cscmdMenuQueryDropFlag  Query if submenus are dropped out automatically.

 IN:  0
 OUT: (bool)DropFlag
 
cscmdMenuSetDropFlag  Query if submenus are dropped out automatically.

 IN:  (bool)DropFlag
 OUT: (csMenu *)menu if successful
 
cscmdMenuItemCheck  Set/remove 'checked' mark at the right of menu item.

This command should be sent to a menu item object to set/unset the check mark to the right of item. Usage example:

 menu->GetChild (cscmdQuit)->SendCommand (cscmdMenuItemCheck, true);
 
 IN: (bool)true (set) or false (unset)
 
cscmdMenuItemGetStyle  Query menu item's style.

 IN: 0
 OUT: (int)ItemStyle
 
cscmdMenuItemFindId  Check if menu item's id or id of a menu item in submenu of this menu item has given id.

 IN: (int)id;
 OUT: (csComponent *)menuitem or 0
 

Definition at line 114 of file csmenu.h.

enum csMenuFrameStyle
 

Possible menu frame styles.

Enumeration values:
csmfsNone  Menu has no frame.
csmfsThin  Menu has a single-colored one-pixel border.
csmfsBar  Menu is a horizontal menu.
csmfs3D  Normal menu with a 3D border.

Definition at line 196 of file csmenu.h.


Generated for Crystal Space by doxygen 1.3.9.1