Google
Web alhem.net
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

Menu Class Reference

#include <Menu.h>

Inheritance diagram for Menu:

Inheritance graph
[legend]
Collaboration diagram for Menu:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Menu (MenuHandler &, HMENU)
virtual ~Menu ()
MenuHandlerHandler ()
HMENU Handle ()
virtual void OnInitMenu ()
virtual void OnInitPopupMenu (int relpos, bool winmenu)
virtual void OnMenuSelect (int index, int flags)
virtual void OnCommand (int id)
void SetParent (Menu *x)
MenuGetParent ()
int AddMenuitem (UINT flags, LPCTSTR=NULL, UINT_PTR id=NULL)
void AddSubmenu (Menu *)
void Enable (int id, bool bEnable=true)

Protected Member Functions

virtual void Init ()

Private Attributes

MenuHandlerm_handler
HMENU m_h
bool m_bInit
Menum_parent
menu_v m_submenulist

Constructor & Destructor Documentation

Menu::Menu MenuHandler h,
HMENU  handle
 

File ......... Menu.cpp Published .... 2004-10-05

Definition at line 28 of file Menu.cpp.

References MenuHandler::Add(), and Menu().

Referenced by Menu().

00028 : m_handler(h) 00029 ,m_h(handle) 00030 ,m_bInit(false) 00031 ,m_parent(NULL) 00032 { 00033 h.Add( this ); 00034 }

Menu::~Menu  )  [virtual]
 

Definition at line 37 of file Menu.cpp.

References Handler(), m_submenulist, and MenuHandler::Remove().

00038 { 00039 for (menu_v::iterator it = m_submenulist.begin(); it != m_submenulist.end(); it++) 00040 { 00041 Menu *p = *it; 00042 Handler().Remove(p); 00043 delete p; 00044 } 00045 Handler().Remove( this ); 00046 }


Member Function Documentation

int Menu::AddMenuitem UINT  flags,
LPCTSTR  = NULL,
UINT_PTR  id = NULL
 

Definition at line 66 of file Menu.cpp.

References AddMenuitem(), MenuHandler::get_next_id(), Handle(), and Handler().

Referenced by AddMenuitem().

00067 { 00068 int id = id_in; 00069 if (!id && item) 00070 { 00071 id = Handler().get_next_id(this); 00072 } 00073 AppendMenu(Handle(), flags, id, item); 00074 return id; 00075 }

void Menu::AddSubmenu Menu  ) 
 

Definition at line 59 of file Menu.cpp.

References AddSubmenu(), m_submenulist, and SetParent().

Referenced by AddSubmenu().

00060 { 00061 m_submenulist.push_back(x); 00062 x->SetParent( this ); 00063 }

void Menu::Enable int  id,
bool  bEnable = true
 

Definition at line 78 of file Menu.cpp.

References Enable(), and Handle().

Referenced by Enable().

00079 { 00080 if (bEnable) 00081 { 00082 ::EnableMenuItem(Handle(), id, MF_ENABLED); 00083 } 00084 else 00085 { 00086 ::EnableMenuItem(Handle(), id, MF_DISABLED|MF_GRAYED); 00087 } 00088 }

Menu* Menu::GetParent  )  [inline]
 

Definition at line 46 of file Menu.h.

References m_parent.

00046 { return m_parent; }

HMENU Menu::Handle  )  [inline]
 

Definition at line 38 of file Menu.h.

References m_h.

Referenced by AddMenuitem(), Enable(), MyDlgProc(), MenuHandler::OnInitMenu(), MenuHandler::OnInitPopupMenu(), MenuHandler::OnMenuSelect(), and MyMenu::~MyMenu().

00038 { return m_h; }

MenuHandler& Menu::Handler  )  [inline]
 

Definition at line 37 of file Menu.h.

References m_handler.

Referenced by AddMenuitem(), and ~Menu().

00037 { return m_handler; }

virtual void Menu::Init  )  [inline, protected, virtual]
 

Reimplemented in MyMenu.

Definition at line 53 of file Menu.h.

Referenced by OnInitPopupMenu().

00053 {}

virtual void Menu::OnCommand int  id  )  [inline, virtual]
 

Reimplemented in MyMenu.

Definition at line 43 of file Menu.h.

References OnCommand().

Referenced by OnCommand().

00043 {}

virtual void Menu::OnInitMenu  )  [inline, virtual]
 

Definition at line 40 of file Menu.h.

Referenced by MenuHandler::OnInitMenu().

00040 {}

void Menu::OnInitPopupMenu int  relpos,
bool  winmenu
[virtual]
 

Definition at line 49 of file Menu.cpp.

References Init(), m_bInit, and OnInitPopupMenu().

Referenced by MenuHandler::OnInitPopupMenu(), and OnInitPopupMenu().

00050 { 00051 if (!m_bInit) 00052 { 00053 Init(); 00054 m_bInit = true; 00055 } 00056 }

virtual void Menu::OnMenuSelect int  index,
int  flags
[inline, virtual]
 

Definition at line 42 of file Menu.h.

References OnMenuSelect().

Referenced by MenuHandler::OnMenuSelect(), and OnMenuSelect().

00042 {}

void Menu::SetParent Menu x  )  [inline]
 

Definition at line 45 of file Menu.h.

References m_parent, and SetParent().

Referenced by AddSubmenu(), and SetParent().

00045 { m_parent = x; }


Member Data Documentation

bool Menu::m_bInit [private]
 

Definition at line 58 of file Menu.h.

Referenced by OnInitPopupMenu().

HMENU Menu::m_h [private]
 

Definition at line 57 of file Menu.h.

Referenced by Handle().

MenuHandler& Menu::m_handler [private]
 

Definition at line 56 of file Menu.h.

Referenced by Handler().

Menu* Menu::m_parent [private]
 

Definition at line 59 of file Menu.h.

Referenced by GetParent(), and SetParent().

menu_v Menu::m_submenulist [private]
 

Definition at line 60 of file Menu.h.

Referenced by AddSubmenu(), and ~Menu().


The documentation for this class was generated from the following files:
Generated on Thu Feb 10 22:42:40 2005 for Distributed URL Classification Tool by doxygen 1.3.7