BsEditorWidgetLayout.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "CmIReflectable.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. private:
  27. Vector<Entry> mEntries;
  28. DockManagerLayoutPtr mDockLayout;
  29. /************************************************************************/
  30. /* RTTI */
  31. /************************************************************************/
  32. public:
  33. friend class EditorWidgetLayoutRTTI;
  34. static RTTITypeBase* getRTTIStatic();
  35. virtual RTTITypeBase* getRTTI() const;
  36. };
  37. }