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

Menu.h

Go to the documentation of this file.
00001 00005 /* 00006 Copyright (C) 2004 Anders Hedström (grymse@alhem.net) 00007 00008 This program is free software; you can redistribute it and/or 00009 modify it under the terms of the GNU General Public License 00010 as published by the Free Software Foundation; either version 2 00011 of the License, or (at your option) any later version. 00012 00013 This program is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 GNU General Public License for more details. 00017 00018 You should have received a copy of the GNU General Public License 00019 along with this program; if not, write to the Free Software 00020 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00021 */ 00022 #pragma once 00023 00024 #include <list> 00025 #include <windows.h> 00026 00027 class MenuHandler; 00028 00029 typedef std::list<class Menu *> menu_v; 00030 00031 class Menu 00032 { 00033 public: 00034 Menu(MenuHandler& ,HMENU); 00035 virtual ~Menu(); 00036 00037 MenuHandler& Handler() { return m_handler; } 00038 HMENU Handle() { return m_h; } 00039 00040 virtual void OnInitMenu() {} 00041 virtual void OnInitPopupMenu(int relpos, bool winmenu); 00042 virtual void OnMenuSelect(int index,int flags) {} 00043 virtual void OnCommand(int id) {} 00044 00045 void SetParent(Menu *x) { m_parent = x; } 00046 Menu *GetParent() { return m_parent; } 00047 00048 int AddMenuitem(UINT flags,LPCTSTR = NULL,UINT_PTR id = NULL); 00049 void AddSubmenu(Menu *); 00050 void Enable(int id,bool bEnable = true); 00051 00052 protected: 00053 virtual void Init() {} 00054 00055 private: 00056 MenuHandler& m_handler; 00057 HMENU m_h; 00058 bool m_bInit; 00059 Menu *m_parent; 00060 menu_v m_submenulist; 00061 }; 00062 00063

Generated on Thu Feb 10 22:42:34 2005 for Distributed URL Classification Tool by doxygen 1.3.7