Skip to content

Commit 27a047d

Browse files
committed
Add more edit capabilities to sidebar
1 parent f9daff6 commit 27a047d

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

src/editor/editor.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ Editor::draw(Compositor& compositor)
243243
Color(0.2f, 0.2f, 0.2f), LAYER_GUI - 6);
244244

245245
context.color().draw_filled_rect(Rectf(0, 32.0f, 200.0f, SCREEN_HEIGHT - 32.0f),
246-
Color(0.2f, 0.2f, 0.2f), LAYER_GUI - 1);
246+
Color(0.2f, 0.2f, 0.2f), LAYER_GUI - 6);
247247

248248
for(const auto& control : m_controls)
249249
{
@@ -958,6 +958,10 @@ Editor::event(const SDL_Event& ev)
958958
{
959959
if (!m_enabled || !m_levelloaded) return;
960960

961+
for(const auto& control : m_controls)
962+
if (control->event(ev))
963+
return;
964+
961965
try
962966
{
963967
if (ev.type == SDL_KEYDOWN)

src/editor/overlay_widget.cpp

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,11 @@
2727
#include "editor/tip.hpp"
2828
#include "gui/menu.hpp"
2929
#include "gui/menu_manager.hpp"
30+
#include "interface/control_checkbox.hpp"
31+
#include "interface/control_enum.hpp"
3032
#include "interface/control_textbox.hpp"
33+
#include "interface/control_textbox_float.hpp"
34+
#include "interface/control_textbox_int.hpp"
3135
#include "math/bezier.hpp"
3236
#include "object/camera.hpp"
3337
#include "object/path_gameobject.hpp"
@@ -893,6 +897,31 @@ EditorOverlayWidget::process_left_click()
893897
{
894898
m_editor.addControl(option.get()->get_text(), nullptr);
895899
}
900+
else if (auto int_option = dynamic_cast<IntObjectOption*>(option.get()))
901+
{
902+
auto textbox = std::make_unique<ControlTextboxInt>();
903+
textbox.get()->set_rect(Rectf(0, 32, 200, 32));
904+
textbox.get()->bind_value(int_option->get_value());
905+
m_editor.addControl(option.get()->get_text(), std::move(textbox));
906+
}
907+
else if (auto float_option = dynamic_cast<FloatObjectOption*>(option.get()))
908+
{
909+
auto textbox = std::make_unique<ControlTextboxFloat>();
910+
textbox.get()->set_rect(Rectf(0, 32, 200, 32));
911+
textbox.get()->bind_value(float_option->get_value());
912+
m_editor.addControl(option.get()->get_text(), std::move(textbox));
913+
}
914+
else if (auto bool_option = dynamic_cast<BoolObjectOption*>(option.get()))
915+
{
916+
auto checkbox = std::make_unique<ControlCheckbox>();
917+
checkbox.get()->set_rect(Rectf(0, 32, 20, 32));
918+
checkbox.get()->bind_value(bool_option->get_value());
919+
m_editor.addControl(option.get()->get_text(), std::move(checkbox));
920+
}
921+
// else if (auto enum_option = dynamic_cast<EnumObjectOption*>(option.get()))
922+
// {
923+
// auto dropdown = std::make_unique<ControlEnum>();
924+
// }
896925
else
897926
{
898927
auto textbox = std::make_unique<ControlTextbox>();

0 commit comments

Comments
 (0)