Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Examples  

xchen::Menu Class Reference

GLUT popup menu. More...

#include <Menu.H>

Inheritance diagram for xchen::Menu:

xchen::OpenFileMenu xchen::SaveImageMenu List of all members.

Public Types

enum  { max_items = 1000 }

Public Methods

 Menu (KeyBoard *kb, const string &nm="")
virtual ~Menu ()
KeyBoardGetKeyBoard ()
ItemID AddItem (string str, KeyEventCB cb, KeyValue k=0)
 converted-key is menu-item-id

ItemID AddGlobalItem (string str, KeyEventCB cb, KeyValue k=0)
 converted-key is global-item-id

ItemID AddItem (string str, KeyEventCB cb, KeyValue k, ConvertedKeyValue k2)
 customize conterted-key

void AddSubMenu (const string &doc_str, MenuID sub_menu_id)
void AddSeparator (const string &str="")
MenuID GetMenuID () const
void Attach (int button=GLUT_RIGHT_BUTTON)
 glutAttach this menu.

void Detach (int button=GLUT_RIGHT_BUTTON)
 glutDetach this menu.


Static Public Methods

Menu * GetMenu (MenuID menu_id)

Protected Methods

void init_menu (KeyBoard *kb)
 Menu (const Menu &)
Menu & operator= (const Menu &)

Protected Attributes

const string name
MenuID menu_id
int cur_item_id
vector< MenuID > submenus
KeyValue item2key [max_items]
KeyBoardkeyboard

Detailed Description

GLUT popup menu.

Simulating menu callback by sending menu-item-ID-index-ed key to embeded KeyBoard object


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
max_items 


Constructor & Destructor Documentation

xchen::Menu::Menu KeyBoard   kb,
const string &    nm = ""
[inline]
 

virtual xchen::Menu::~Menu   [inline, virtual]
 

xchen::Menu::Menu const Menu &    [inline, protected]
 


Member Function Documentation

UI::ItemID xchen::Menu::AddGlobalItem string    str,
KeyEventCB    cb,
KeyValue    k = 0
[inline]
 

converted-key is global-item-id

ItemID xchen::Menu::AddItem string    str,
KeyEventCB    cb,
KeyValue    k,
ConvertedKeyValue    k2
 

customize conterted-key

UI::ItemID xchen::Menu::AddItem string    str,
KeyEventCB    cb,
KeyValue    k = 0
[inline]
 

converted-key is menu-item-id

void xchen::Menu::AddSeparator const string &    str = " " [inline]
 

void xchen::Menu::AddSubMenu const string &    doc_str,
MenuID    sub_menu_id
 

void xchen::Menu::Attach int    button = GLUT_RIGHT_BUTTON
 

glutAttach this menu.

void xchen::Menu::Detach int    button = GLUT_RIGHT_BUTTON
 

glutDetach this menu.

KeyBoard& xchen::Menu::GetKeyBoard   [inline]
 

Menu* xchen::Menu::GetMenu MenuID    menu_id [inline, static]
 

MenuID xchen::Menu::GetMenuID   const [inline]
 

void xchen::Menu::init_menu KeyBoard   kb [protected]
 

Menu& xchen::Menu::operator= const Menu &    [inline, protected]
 


Member Data Documentation

int xchen::Menu::cur_item_id [protected]
 

KeyValue xchen::Menu::item2key[max_items] [protected]
 

KeyBoard* xchen::Menu::keyboard [protected]
 

MenuID xchen::Menu::menu_id [protected]
 

const string xchen::Menu::name [protected]
 

vector<MenuID> xchen::Menu::submenus [protected]
 


The documentation for this class was generated from the following file:
Generated on Wed Apr 7 21:40:51 2004 by doxygen1.2.18