ROVLib2
RISCOSC++applicationdevelopmentlibrary
menu.h
1 #pragma once
2 
3 #include "menuitem.h"
4 #include "unassignable.h"
5 #include "wimp_menu.h"
6 #include <string>
7 #include <list>
8 
9 namespace rov2
10 {
11 
12 class CMenu;
13 class CTask;
14 
16 typedef struct
17 {
19  unsigned int uiKey;
24 } tCheckedMenu; // cm
25 
27 class CMenu : public CUnassignable
28 {
29 public:
33  CMenu(const std::string& rksTitle, size_t iMaxItems);
34  ~CMenu();
35 
39  void AddItem(CMenuItem* pmiItem);
40 
42  void DisplayAsIconbarMenu();
43 
48  virtual eMenuHandled Clicked(const unsigned int* kuiaEntries);
49 
51  void* m_pContext;
52 
56  virtual tLocation PopulateMenu();
57 
61  inline const tCheckedMenu* GetMenu() { return m_mcMenu; }
62 
63 protected:
64 
65 private:
67  std::list<CMenuItem*> m_lpmiItems;
68 
70  std::string m_sTitle;
71 
73  tCheckedMenu* m_mcMenu;
74 
76  static unsigned int s_kuiKey;
77 
79  size_t m_iMaxItems;
80 }; // m
81 
82 }
83 
CMenu(const std::string &rksTitle, size_t iMaxItems)
Definition: menu.cpp:10
CMenu * pmMenu
Definition: menu.h:21
tMenu mMenu
Definition: menu.h:23
void DisplayAsIconbarMenu()
Definition: menu.cpp:88
const tCheckedMenu * GetMenu()
Definition: menu.h:61
void AddItem(CMenuItem *pmiItem)
Definition: menu.cpp:46
unsigned int uiKey
Definition: menu.h:19
virtual eMenuHandled Clicked(const unsigned int *kuiaEntries)
Definition: menu.cpp:40
virtual tLocation PopulateMenu()
Definition: menu.cpp:57
void * m_pContext
Definition: menu.h:51