SCV  4.2.1
Simple Components for Visual
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
MenuHolder.h
Go to the documentation of this file.
1 #ifndef __SCV_MENU_HOLDER_H__
2 #define __SCV_MENU_HOLDER_H__
3 
4 #include "Component.h"
5 #include "Singleton.h"
6 #include "ContextMenu.h"
7 
8 namespace scv {
9 
10 class MenuHolder : public Singleton<MenuHolder> {
11  friend class Singleton<MenuHolder>;
12 public:
13  typedef std::list<ContextMenu*> ContextMenuList;
14 
15  void display(void);
16 
17  bool processMouse(const scv::MouseEvent &evt);
18  bool processKey(const scv::KeyEvent &evt);
19 
20  void registerMenu(ContextMenu *menu);
21  void unregisterMenu(ContextMenu *menu);
22 
23  void activeMenu(ContextMenu *menu, const Point &position);
24  void closeAllMenus(void);
25  bool hasActiveMenu(void) const;
26 
27 private:
28  MenuHolder(void);
29  ContextMenuList _list;
30 };
31 
32 } // namespace scv
33 
34 #endif // __SCV_MENU_HOLDER_H__