CmEditorWindowManager.h 662 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include "CmEditorPrerequisites.h"
  3. #include "CmModule.h"
  4. #include <boost/function.hpp>
  5. #include <QtCore/QString>
  6. namespace CamelotEditor
  7. {
  8. class EditorWindowManager : public Module<EditorWindowManager>
  9. {
  10. public:
  11. void registerWindowFactory(EditorWindowFactory* factory);
  12. void openWindow(const QString& name);
  13. boost::function<void()> getOpenCallback(const QString& name);
  14. vector<QString>::type getAvailableWindowTypes() const;
  15. private:
  16. map<QString, EditorWindowFactory*>::type mFactories;
  17. EditorWindowFactory* getFactory(const QString& name) const;
  18. };
  19. EditorWindowManager& gEditorWindowManager();
  20. }