BsEditorWidgetLayout.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsIReflectable.h"
  4. namespace BansheeEngine
  5. {
  6. class EditorWidgetLayout : public IReflectable
  7. {
  8. public:
  9. struct Entry
  10. {
  11. public:
  12. Entry();
  13. ~Entry();
  14. Vector<String> widgetNames;
  15. bool isDocked;
  16. INT32 x, y;
  17. UINT32 width, height;
  18. };
  19. private:
  20. struct PrivatelyConstruct {};
  21. public:
  22. EditorWidgetLayout(const DockManagerLayoutPtr& dockLayout);
  23. EditorWidgetLayout(const PrivatelyConstruct& dummy);
  24. Vector<Entry>& getEntries() { return mEntries; }
  25. const DockManagerLayoutPtr& getDockLayout() const { return mDockLayout; }
  26. void setIsMainWindowMaximized(bool maximized) { mMaximized = maximized; }
  27. bool getIsMainWindowMaximized() const { return mMaximized; }
  28. private:
  29. Vector<Entry> mEntries;
  30. DockManagerLayoutPtr mDockLayout;
  31. bool mMaximized;
  32. /************************************************************************/
  33. /* RTTI */
  34. /************************************************************************/
  35. public:
  36. friend class EditorWidgetLayoutRTTI;
  37. static RTTITypeBase* getRTTIStatic();
  38. virtual RTTITypeBase* getRTTI() const;
  39. };
  40. }