Choreonoid  1.5
MenuManager.h
Go to the documentation of this file.
1 
5 #ifndef CNOID_BASE_MENU_MANAGER_H
6 #define CNOID_BASE_MENU_MANAGER_H
7 
8 #include "Action.h"
9 #include "Menu.h"
10 #include <cnoid/ExtensionManager>
11 #include "exportdecl.h"
12 
13 namespace cnoid {
14 
15 class Menu;
16 class MenuManagerImpl;
17 
24 {
25 public:
26  MenuManager();
27  MenuManager(QWidget* topMenu);
28  virtual ~MenuManager();
29 
30  void bindTextDomain(const std::string& domain);
31 
32  void setTopMenu(QWidget* topMenu);
33  QWidget* topMenu();
34 
35  void setNewPopupMenu(QWidget* parent = 0);
36  Menu* popupMenu();
37 
38  QWidget* current() const;
39  MenuManager& setCurrent(QWidget* menu);
40 
41  int numItems() const;
42 
43  QAction* findItem(const QString& path);
44  MenuManager& setPath(const QString& path);
45 
46  MenuManager& setBackwardMode();
47 
48  void addAction(QAction* action);
49 
50  Action* addItem(const QString& text);
51  Action* addCheckItem(const QString& text);
52  Action* addRadioItem(QActionGroup* group, const QString& text);
53 
54  MenuManager& addSeparator();
55 
56 private:
57  MenuManager(const MenuManager* org);
58  QWidget* topMenu_;
59  QWidget* currentMenu_;
60  Menu* popupMenu_;
61  bool isBackwardMode;
62  std::string textDomain;
63 
64  std::pair<QAction*, QWidget*> findPath(const QString& path, bool createPath);
65  void addItem(QWidget* menu, QAction* item);
66 };
67 
68 }
69 
70 #endif
Definition: MenuManager.h:23
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
Definition: Menu.h:14
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
Definition: Action.h:14