#include "DbgEditorWidget2.h" #include "BsEditorWidgetManager.h" #include "BsGUIToggle.h" #include "BsGUIScrollArea.h" #include "BsGUIArea.h" #include "BsGUILayout.h" #include "BsGUIWidget.h" #include "BsGUISkin.h" #include "BsGUIIntField.h" #include "BsGUIFloatField.h" #include "BsGUITextField.h" #include "BsGUIVector2Field.h" #include "BsGUIVector3Field.h" #include "BsGUIVector4Field.h" #include "BsGUIToggleField.h" #include "BsGUIColorField.h" #include "BsGUIButton.h" #include "BsGUIComponentFoldout.h" #include "BsGUISpace.h" #include "BsGUISlider.h" #include "BsGUIProgressBar.h" #include "BsHString.h" #include "BsCoreThread.h" #include "BsCoreApplication.h" namespace BansheeEngine { bool bs_dbg_fullscreen = false; void toggleFullscreen() { RenderWindowPtr window = gCoreApplication().getPrimaryWindow(); if (bs_dbg_fullscreen) { window->setWindowed(gCoreAccessor(), 1280, 720); } else { window->setFullscreen(gCoreAccessor(), 1920, 1200, 60, 0); } bs_dbg_fullscreen = !bs_dbg_fullscreen; } DbgEditorWidget2* DbgEditorWidget2::Instance = nullptr; DbgEditorWidget2::DbgEditorWidget2(const ConstructPrivately& dummy, EditorWidgetContainer& parentContainer) :EditorWidget(HString(L"DbgEditorWidget2"), parentContainer) { GUILayout& layout = mContent->getLayout().addLayoutY(); GUIIntField* intField = GUIIntField::create(GUIContent(HString(L"Int Field")), 100, GUIOptions(GUIOption::fixedWidth(200))); GUIFloatField* floatField = GUIFloatField::create(HString(L"Float Field"), GUIOptions(GUIOption::fixedWidth(200))); GUITextField* textField = GUITextField::create(false, HString(L"Text Field"), GUIOptions(GUIOption::fixedWidth(200))); GUIVector4Field* vec4Field = GUIVector4Field::create(HString(L"Vec4 Field"), GUIOptions(GUIOption::fixedWidth(200))); GUIVector3Field* vec3Field = GUIVector3Field::create(HString(L"Vec3 Field"), GUIOptions(GUIOption::fixedWidth(200))); GUIVector2Field* vec2Field = GUIVector2Field::create(HString(L"Vec2 Field"), GUIOptions(GUIOption::fixedWidth(200))); GUIToggleField* toggleField = GUIToggleField::create(HString(L"Toggle Field"), GUIOptions(GUIOption::fixedWidth(200))); GUIColorField* colorField = GUIColorField::create(HString(L"Color Field"), GUIOptions(GUIOption::fixedWidth(200))); GUIComponentFoldout* foldout = GUIComponentFoldout::create(HString(L"Test"), GUIOptions(GUIOption::fixedWidth(200))); colorField->setValue(Color::Red); GUIButton* button = GUIButton::create(HString(L"Testing"), GUIOptions(GUIOption::fixedWidth(100))); button->onClick.connect(&toggleFullscreen); GUISlider* slider = GUISliderHorz::create(GUIOptions(GUIOption::fixedWidth(200)), "ColorPickerSlider"); GUIProgressBar* progressBar = GUIProgressBar::create(GUIOptions(GUIOption::fixedWidth(200))); progressBar->setPercent(0.33f); layout.addElement(intField); layout.addElement(floatField); layout.addElement(textField); layout.addElement(vec4Field); layout.addElement(vec3Field); layout.addElement(vec2Field); layout.addElement(toggleField); layout.addElement(colorField); layout.addElement(foldout); layout.addElement(button); layout.addElement(slider); layout.addElement(progressBar); layout.addFlexibleSpace(); } DbgEditorWidget2::~DbgEditorWidget2() { } DbgEditorWidget2* DbgEditorWidget2::instance() { return Instance; } DbgEditorWidget2* DbgEditorWidget2::open() { return static_cast(EditorWidgetManager::instance().open(getTypeName())); } void DbgEditorWidget2::close() { if(Instance != nullptr) EditorWidgetManager::instance().close(Instance); Instance = nullptr; } const String& DbgEditorWidget2::getTypeName() { static String name = "DbgEditorWidget2"; return name; } }