From fa6e9a419f688df12a57199aa3b4dce10cc6fd49 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 15 Feb 2022 20:52:37 +0800 Subject: ... --- .../components/conditions/CompoundConditonEditor.cpp | 11 +++++++++++ src/theme_builder/components/conditions/ConditionEditor.h | 5 ++++- 2 files changed, 15 insertions(+), 1 deletion(-) (limited to 'src/theme_builder/components/conditions') diff --git a/src/theme_builder/components/conditions/CompoundConditonEditor.cpp b/src/theme_builder/components/conditions/CompoundConditonEditor.cpp index 812c27dc..96daa20b 100644 --- a/src/theme_builder/components/conditions/CompoundConditonEditor.cpp +++ b/src/theme_builder/components/conditions/CompoundConditonEditor.cpp @@ -1,4 +1,6 @@ #include "CompoundConditionEditor.h" +#include "cru/common/ClonablePtr.h" +#include "cru/ui/style/Condition.h" namespace cru::theme_builder::components::conditions { CompoundConditionEditorChild::CompoundConditionEditorChild( @@ -26,4 +28,13 @@ CompoundConditionEditor::CompoundConditionEditor() { CompoundConditionEditor::~CompoundConditionEditor() {} +std::vector> +CompoundConditionEditor::GetChildren() { + std::vector> children; + for (auto& child : children_) { + children.push_back(child->GetConditionEditor()->GetCondition()); + } + return children; +} + } // namespace cru::theme_builder::components::conditions diff --git a/src/theme_builder/components/conditions/ConditionEditor.h b/src/theme_builder/components/conditions/ConditionEditor.h index 0bbaa6ed..64d5a19e 100644 --- a/src/theme_builder/components/conditions/ConditionEditor.h +++ b/src/theme_builder/components/conditions/ConditionEditor.h @@ -1,13 +1,14 @@ #pragma once +#include "cru/common/ClonablePtr.h" #include "cru/ui/components/Component.h" #include "cru/ui/controls/FlexLayout.h" #include "cru/ui/controls/TextBlock.h" +#include "cru/ui/style/Condition.h" namespace cru::theme_builder::components::conditions { class ConditionEditor : public ui::components::Component { public: ConditionEditor(); - ~ConditionEditor() override; public: @@ -18,6 +19,8 @@ class ConditionEditor : public ui::components::Component { String GetLabel() const { return label_.GetText(); } void SetLabel(String label) { label_.SetText(std::move(label)); } + virtual ClonablePtr GetCondition() = 0; + private: ui::controls::FlexLayout container_; ui::controls::TextBlock label_; -- cgit v1.2.3