aboutsummaryrefslogtreecommitdiff
path: root/src/theme_builder/components/conditions/ConditionEditor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/theme_builder/components/conditions/ConditionEditor.cpp')
-rw-r--r--src/theme_builder/components/conditions/ConditionEditor.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/theme_builder/components/conditions/ConditionEditor.cpp b/src/theme_builder/components/conditions/ConditionEditor.cpp
index f5edf674..8ffd33a5 100644
--- a/src/theme_builder/components/conditions/ConditionEditor.cpp
+++ b/src/theme_builder/components/conditions/ConditionEditor.cpp
@@ -3,6 +3,8 @@
#include "ClickStateConditionEditor.h"
#include "CompoundConditionEditor.h"
#include "FocusConditionEditor.h"
+#include "NoConditionEditor.h"
+#include "cru/common/Exception.h"
#include "cru/ui/controls/FlexLayout.h"
namespace cru::theme_builder::components::conditions {
@@ -24,6 +26,10 @@ std::unique_ptr<ConditionEditor> CreateConditionEditor(
auto result = std::make_unique<OrConditionEditor>();
result->SetValue(or_condition);
return result;
+ } else if (auto no_condition =
+ dynamic_cast<ui::style::NoCondition*>(condition)) {
+ auto result = std::make_unique<NoConditionEditor>();
+ return result;
} else if (auto click_state_condition =
dynamic_cast<ui::style::ClickStateCondition*>(condition)) {
auto result = std::make_unique<ClickStateConditionEditor>();
@@ -40,7 +46,7 @@ std::unique_ptr<ConditionEditor> CreateConditionEditor(
result->SetValue(checked_condition);
return result;
} else {
- return nullptr;
+ throw Exception(u"Unknown condition type");
}
}
} // namespace cru::theme_builder::components::conditions