Skip to content

Commit 412975f

Browse files
committed
Add more edit capabilities to sidebar
1 parent 3eac841 commit 412975f

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
@@ -250,7 +250,7 @@ Editor::draw(Compositor& compositor)
250250
Color(0.2f, 0.2f, 0.2f), LAYER_GUI - 6);
251251

252252
context.color().draw_filled_rect(Rectf(0, 32.0f, 200.0f, SCREEN_HEIGHT - 32.0f),
253-
Color(0.2f, 0.2f, 0.2f), LAYER_GUI - 1);
253+
Color(0.2f, 0.2f, 0.2f), LAYER_GUI - 6);
254254

255255
for(const auto& control : m_controls)
256256
{
@@ -974,6 +974,10 @@ Editor::event(const SDL_Event& ev)
974974
{
975975
if (!m_enabled || !m_levelloaded) return;
976976

977+
for(const auto& control : m_controls)
978+
if (control->event(ev))
979+
return;
980+
977981
try
978982
{
979983
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)