CARMA C++
RtMenu.h
1 #ifndef CARMA_UI_RTD_RTMENU_H
2 #define CARMA_UI_RTD_RTMENU_H
3 
4 #include <carma/ui/rtd/common/RtDisplay.h>
5 
6 
7 namespace carma {
8 namespace ui {
9 namespace rtd {
10 
11 
29 class RtMenu : public RtTitledObj {
30  public:
35  explicit RtMenu(const ::std::string & title);
36 
38  virtual void serialize(bool initialize, int fontSize, ::rtdproto::RtObject *rtobj);
39 
45  void addItem( const ::std::string & menuName,
46  const ::std::string & codeName );
47 
52  void addItem( const ::std::string & menuName );
53 
59  void addItemDisabled( const ::std::string & menuName,
60  const ::std::string & codeName );
61 
66  void addSubmenu( const ::std::string & submenuName );
67 
72  void addSubmenuDisabled( const ::std::string & submenuName );
73 
75  void endSubmenu( );
76 
77  private:
79  ::std::string makeDisabled( const ::std::string & s );
80 
82  ::std::string makeSubmenu( const ::std::string & s );
83 
84  struct ItemInfo {
85  ::std::string menuName;
86  ::std::string codeName;
87  };
88 
89  ::std::vector< ItemInfo > itemInfos_;
90 };
91 
92 
93 } // namespace carma::ui::rtd
94 } // namespace carma::ui
95 } // namespace carma
96 
97 
98 #endif
RtMenu(const ::std::string &title)
Constructor.
void addItemDisabled(const ::std::string &menuName, const ::std::string &codeName)
Add a disabled menu item to the current menu/submenu.
void addItem(const ::std::string &menuName, const ::std::string &codeName)
Add a menu item to the current menu/submenu.
void endSubmenu()
Signifies end of submenu.
Base class for RtObjects with titles, such as a container.
Definition: RtDisplay.h:1299
A menu for creating new windows.
Definition: RtMenu.h:29
virtual void serialize(bool initialize, int fontSize,::rtdproto::RtObject *rtobj)
Static description of the menu to stdout.
void addSubmenuDisabled(const ::std::string &submenuName)
Add a submenu current menu/submenu.
void addSubmenu(const ::std::string &submenuName)
Add a submenu current menu/submenu.