aboutsummaryrefslogtreecommitdiff
path: root/src/theme_builder/components/conditions
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-02-26 21:13:52 +0800
committercrupest <crupest@outlook.com>2022-02-26 21:13:52 +0800
commit38221428a5ea4bc71f03508dafdc6ad65ebfbea1 (patch)
tree3248edb39faf98aa19647f30477bcc6cf734ebb3 /src/theme_builder/components/conditions
parent8da596f7b5fdbcf11fbda4aa66efc87a219f58ae (diff)
downloadcru-38221428a5ea4bc71f03508dafdc6ad65ebfbea1.tar.gz
cru-38221428a5ea4bc71f03508dafdc6ad65ebfbea1.tar.bz2
cru-38221428a5ea4bc71f03508dafdc6ad65ebfbea1.zip
...
Diffstat (limited to 'src/theme_builder/components/conditions')
-rw-r--r--src/theme_builder/components/conditions/CompoundConditionEditor.cpp19
-rw-r--r--src/theme_builder/components/conditions/CompoundConditionEditor.h2
-rw-r--r--src/theme_builder/components/conditions/ConditionEditor.cpp5
-rw-r--r--src/theme_builder/components/conditions/ConditionEditor.h3
4 files changed, 25 insertions, 4 deletions
diff --git a/src/theme_builder/components/conditions/CompoundConditionEditor.cpp b/src/theme_builder/components/conditions/CompoundConditionEditor.cpp
index b7f54f77..beede667 100644
--- a/src/theme_builder/components/conditions/CompoundConditionEditor.cpp
+++ b/src/theme_builder/components/conditions/CompoundConditionEditor.cpp
@@ -5,6 +5,9 @@
#include "FocusConditionEditor.h"
#include "NoConditionEditor.h"
#include "cru/common/ClonablePtr.h"
+#include "cru/platform/Color.h"
+#include "cru/ui/ThemeManager.h"
+#include "cru/ui/controls/FlexLayout.h"
#include "cru/ui/style/Condition.h"
namespace cru::theme_builder::components::conditions {
@@ -14,8 +17,12 @@ CompoundConditionEditorChild::CompoundConditionEditorChild(
container_.SetFlexDirection(ui::controls::FlexDirection::Horizontal);
container_.AddChild(&remove_button_);
+ remove_button_.GetStyleRuleSet()->SetParent(
+ ui::ThemeManager::GetInstance()->GetResourceStyleRuleSet(
+ u"cru.theme_builder.icon-button.style"));
remove_button_.SetChild(&remove_button_text_);
- remove_button_text_.SetText(u"-");
+ remove_button_text_.SetText(u"x");
+ remove_button_text_.SetTextColor(ui::colors::red);
container_.AddChild(condition_editor_->GetRootControl());
@@ -29,8 +36,16 @@ CompoundConditionEditor::CompoundConditionEditor() {
SetLabel(u"Compound Condition");
GetContainer()->AddChild(&children_container_);
- GetContainer()->AddChild(add_child_button_.GetRootControl());
+ children_container_.SetItemCrossAlign(
+ ui::controls::FlexCrossAlignment::Start);
+
+ GetHeadContainer()->AddChild(add_child_button_.GetRootControl());
+
+ add_child_button_.GetButton()->GetStyleRuleSet()->SetParent(
+ ui::ThemeManager::GetInstance()->GetResourceStyleRuleSet(
+ u"cru.theme_builder.icon-button.style"));
add_child_button_.SetButtonText(u"+");
+ add_child_button_.SetButtonTextColor(ui::colors::green);
add_child_button_.SetMenuItems({u"And Condition", u"Or Condition",
u"Click State Condition", u"Focus Condition",
u"Checked Condition", u"No Condition"});
diff --git a/src/theme_builder/components/conditions/CompoundConditionEditor.h b/src/theme_builder/components/conditions/CompoundConditionEditor.h
index 771d694f..471087ae 100644
--- a/src/theme_builder/components/conditions/CompoundConditionEditor.h
+++ b/src/theme_builder/components/conditions/CompoundConditionEditor.h
@@ -43,8 +43,8 @@ class CompoundConditionEditor : public ConditionEditor {
bool trigger_change = true);
private:
- ui::controls::FlexLayout children_container_;
ui::components::PopupMenuTextButton add_child_button_;
+ ui::controls::FlexLayout children_container_;
std::vector<std::unique_ptr<CompoundConditionEditorChild>> children_;
};
diff --git a/src/theme_builder/components/conditions/ConditionEditor.cpp b/src/theme_builder/components/conditions/ConditionEditor.cpp
index 2840b250..3babe19c 100644
--- a/src/theme_builder/components/conditions/ConditionEditor.cpp
+++ b/src/theme_builder/components/conditions/ConditionEditor.cpp
@@ -10,7 +10,10 @@
namespace cru::theme_builder::components::conditions {
ConditionEditor::ConditionEditor() {
container_.SetFlexDirection(ui::controls::FlexDirection::Vertical);
- container_.AddChild(&label_);
+ container_.AddChild(&head_container_);
+
+ head_container_.SetFlexDirection(ui::controls::FlexDirection::Horizontal);
+ head_container_.AddChild(&label_);
}
ConditionEditor::~ConditionEditor() {}
diff --git a/src/theme_builder/components/conditions/ConditionEditor.h b/src/theme_builder/components/conditions/ConditionEditor.h
index 426e6ba8..35bac560 100644
--- a/src/theme_builder/components/conditions/ConditionEditor.h
+++ b/src/theme_builder/components/conditions/ConditionEditor.h
@@ -16,6 +16,8 @@ class ConditionEditor : public Editor {
ui::controls::FlexLayout* GetContainer() { return &container_; }
+ ui::controls::FlexLayout* GetHeadContainer() { return &head_container_; }
+
String GetLabel() const { return label_.GetText(); }
void SetLabel(String label) { label_.SetText(std::move(label)); }
@@ -23,6 +25,7 @@ class ConditionEditor : public Editor {
private:
ui::controls::FlexLayout container_;
+ ui::controls::FlexLayout head_container_;
ui::controls::TextBlock label_;
};