aboutsummaryrefslogtreecommitdiff
path: root/src/theme_builder/components/conditions/CompoundConditionEditor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/theme_builder/components/conditions/CompoundConditionEditor.h')
-rw-r--r--src/theme_builder/components/conditions/CompoundConditionEditor.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/theme_builder/components/conditions/CompoundConditionEditor.h b/src/theme_builder/components/conditions/CompoundConditionEditor.h
index 00f73e09..6631618f 100644
--- a/src/theme_builder/components/conditions/CompoundConditionEditor.h
+++ b/src/theme_builder/components/conditions/CompoundConditionEditor.h
@@ -1,7 +1,30 @@
#pragma once
#include "ConditionEditor.h"
+#include "cru/common/ClonablePtr.h"
+#include "cru/common/Event.h"
+#include "cru/ui/controls/Button.h"
+#include "cru/ui/controls/FlexLayout.h"
+#include "cru/ui/style/Condition.h"
namespace cru::theme_builder::components::conditions {
-class CompoundConditionEditor : public ConditionEditor {};
+class CompoundConditionEditor : public ConditionEditor {
+ public:
+ CompoundConditionEditor();
+ ~CompoundConditionEditor();
+ protected:
+ std::vector<ClonablePtr<ui::style::Condition>> GetChildren();
+ void SetChildren(std::vector<ClonablePtr<ui::style::Condition>> children);
+
+ IEvent<std::nullptr_t>* ChildrenChangeEvent() {
+ return &children_change_event_;
+ }
+
+ private:
+ ui::controls::FlexLayout children_container_;
+ ui::controls::Button add_child_button_;
+ ui::controls::TextBlock add_child_button_text_;
+
+ Event<std::nullptr_t> children_change_event_;
+};
} // namespace cru::theme_builder::components::conditions