From 19652b004e83ca7d460c87a7666ba46083b9222a Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Tue, 21 Feb 2023 07:38:25 +0100 Subject: wip --- editor/inspect.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/editor/inspect.cpp b/editor/inspect.cpp index c1f0840e..5a34d906 100644 --- a/editor/inspect.cpp +++ b/editor/inspect.cpp @@ -1,22 +1,31 @@ #include "inspect.hpp" +#include "compat/assert.hpp" #include "entity/accessor.hpp" -#include +#include "imgui-raii.hpp" namespace floormat { +using namespace imgui; using namespace entities; template -static void do_inspect_field(const void* datum, const entities::erased_accessor& accessor) +static void do_inspect_field(const void* datum, const erased_accessor& accessor) { - auto range = accessor.get_range(datum); - auto enabled = accessor.is_enabled(datum); - auto [min, max] = range.convert(); + fm_assert(accessor.check_field_name()); + raii_wrapper disabler; + switch (accessor.is_enabled(datum)) + { + using enum field_status; + case hidden: return; + case readonly: disabler = begin_disabled(); break; + case enabled: break; + } + auto [min, max] = accessor.get_range(datum).convert(); } -template<> void inspect_field(const void* datum, const entities::erased_accessor& accessor) +template<> void inspect_field(const void* datum, const erased_accessor& accessor) { do_inspect_field(datum, accessor); } -- cgit v1.2.3