blob: 96daa20bc165432fa47fe05892badf83b6e137d1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#include "CompoundConditionEditor.h"
#include "cru/common/ClonablePtr.h"
#include "cru/ui/style/Condition.h"
namespace cru::theme_builder::components::conditions {
CompoundConditionEditorChild::CompoundConditionEditorChild(
std::unique_ptr<ConditionEditor>&& condition_editor)
: condition_editor_(std::move(condition_editor)) {
container_.SetFlexDirection(ui::controls::FlexDirection::Horizontal);
container_.AddChild(&remove_button_);
remove_button_.SetChild(&remove_button_text_);
remove_button_text_.SetText(u"-");
container_.AddChild(condition_editor_->GetRootControl());
remove_button_.ClickEvent()->AddSpyOnlyHandler(
[this] { this->remove_event_.Raise(nullptr); });
}
CompoundConditionEditor::CompoundConditionEditor() {
GetContainer()->AddChild(&children_container_);
GetContainer()->AddChild(&add_child_button_);
add_child_button_.SetChild(&add_child_button_text_);
add_child_button_text_.SetText(u"+");
}
CompoundConditionEditor::~CompoundConditionEditor() {}
std::vector<ClonablePtr<ui::style::Condition>>
CompoundConditionEditor::GetChildren() {
std::vector<ClonablePtr<ui::style::Condition>> children;
for (auto& child : children_) {
children.push_back(child->GetConditionEditor()->GetCondition());
}
return children;
}
} // namespace cru::theme_builder::components::conditions
|