DbgEditorWidget2.cpp 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #include "DbgEditorWidget2.h"
  2. #include "BsEditorWindow.h"
  3. #include "BsGUIToggle.h"
  4. #include "BsGUIScrollArea.h"
  5. #include "BsGUIArea.h"
  6. #include "BsGUILayout.h"
  7. #include "BsEditorWindow.h"
  8. #include "BsEditorWidgetContainer.h"
  9. #include "BsGUIWidget.h"
  10. #include "BsGUISkin.h"
  11. using namespace CamelotFramework;
  12. using namespace BansheeEngine;
  13. namespace BansheeEditor
  14. {
  15. DbgEditorWidget2* DbgEditorWidget2::Instance = nullptr;
  16. DbgEditorWidget2::DbgEditorWidget2()
  17. :EditorWidget(HString(L"DbgEditorWidget2"))
  18. {
  19. }
  20. DbgEditorWidget2::~DbgEditorWidget2()
  21. {
  22. }
  23. void DbgEditorWidget2::initialize()
  24. {
  25. GUILayout& layout = mContent->getLayout();
  26. GUIScrollArea* scrollArea = GUIScrollArea::create(getParentWidget());
  27. layout.addElement(scrollArea);
  28. GUILayout& scrollLayout = scrollArea->getLayout().addLayoutY();
  29. std::shared_ptr<GUIToggleGroup> toggleGroup = GUIToggle::createToggleGroup();
  30. scrollLayout.addElement(GUIToggle::create(getParentWidget(), HString(L"Test A"), toggleGroup, getParentWidget().getSkin().getStyle("Button")));
  31. scrollLayout.addElement(GUIToggle::create(getParentWidget(), HString(L"Test B"), toggleGroup, getParentWidget().getSkin().getStyle("Button")));
  32. scrollLayout.addElement(GUIToggle::create(getParentWidget(), HString(L"Test C"), toggleGroup, getParentWidget().getSkin().getStyle("Button")));
  33. scrollLayout.addElement(GUIToggle::create(getParentWidget(), HString(L"Test D"), toggleGroup, getParentWidget().getSkin().getStyle("Button")));
  34. scrollLayout.addElement(GUIToggle::create(getParentWidget(), HString(L"Test E"), toggleGroup, getParentWidget().getSkin().getStyle("Button")));
  35. }
  36. DbgEditorWidget2* DbgEditorWidget2::instance()
  37. {
  38. return Instance;
  39. }
  40. DbgEditorWidget2* DbgEditorWidget2::open()
  41. {
  42. if(Instance != nullptr)
  43. return Instance;
  44. EditorWindow* newWindow = EditorWindow::create();
  45. DbgEditorWidget2* newWidget = new (cm_alloc<DbgEditorWidget2>()) DbgEditorWidget2();
  46. newWindow->widgets().add(*newWidget);
  47. newWidget->initialize();
  48. Instance = newWidget;
  49. return newWidget;
  50. }
  51. void DbgEditorWidget2::close()
  52. {
  53. if(Instance != nullptr)
  54. {
  55. Instance->mParent->_notifyWidgetDestroyed(Instance);
  56. EditorWidget::destroy(Instance);
  57. }
  58. Instance = nullptr;
  59. }
  60. }