WorkbenchManager.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef GUI_WORKBENCHMANAGER_H
00025 #define GUI_WORKBENCHMANAGER_H
00026
00027 #include <list>
00028
00029 namespace Gui {
00030
00031 class Workbench;
00032
00037 class GuiExport WorkbenchManager
00038 {
00039 public:
00041 static WorkbenchManager* instance();
00042 static void destruct();
00043
00048 Workbench* createWorkbench (const std::string& name, const std::string& className);
00052 void removeWorkbench(const std::string& name);
00056 Workbench* getWorkbench (const std::string& name) const;
00058 bool activate(const std::string& name, const std::string& className);
00060 Workbench* active() const;
00062 std::list<std::string> workbenches() const;
00063
00064 protected:
00065 WorkbenchManager();
00066 ~WorkbenchManager();
00067
00068 private:
00069 static WorkbenchManager* _instance;
00070 Workbench* _activeWorkbench;
00071 std::map<std::string, Workbench*> _workbenches;
00072 };
00073
00074 }
00075
00076
00077 #endif // GUI_WORKBENCHMANAGER_H