BsEditorWindowManager.h 714 B

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsModule.h"
  4. #include "BsEvent.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_ED_EXPORT EditorWindowManager : public Module<EditorWindowManager>
  8. {
  9. public:
  10. EditorWindowManager();
  11. ~EditorWindowManager();
  12. MainEditorWindow* createMain(const RenderWindowPtr& parentRenderWindow);
  13. EditorWindow* create();
  14. void registerWindow(EditorWindowBase* window);
  15. void destroy(EditorWindowBase* window);
  16. MainEditorWindow* getMainWindow() const { return mMainWindow; }
  17. void update();
  18. protected:
  19. MainEditorWindow* mMainWindow;
  20. Vector<EditorWindowBase*> mEditorWindows;
  21. Vector<EditorWindowBase*> mScheduledForDestruction;
  22. };
  23. }