diff options
author | crupest <crupest@outlook.com> | 2022-02-08 21:13:01 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-02-08 21:13:01 +0800 |
commit | fa1764d7cb77aa683c6049f915a46b981f9161f7 (patch) | |
tree | e5b54620d3b84f5391e995ab483647214152ca99 /src/theme_builder | |
parent | 74bb9cd27242b9320f99ff4d2b50c3051576cc14 (diff) | |
download | cru-fa1764d7cb77aa683c6049f915a46b981f9161f7.tar.gz cru-fa1764d7cb77aa683c6049f915a46b981f9161f7.tar.bz2 cru-fa1764d7cb77aa683c6049f915a46b981f9161f7.zip |
...
Diffstat (limited to 'src/theme_builder')
-rw-r--r-- | src/theme_builder/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/theme_builder/components/StyleRuleEditor.cpp | 17 | ||||
-rw-r--r-- | src/theme_builder/components/StyleRuleEditor.h | 30 | ||||
-rw-r--r-- | src/theme_builder/components/StyleRuleSetEditor.cpp | 10 | ||||
-rw-r--r-- | src/theme_builder/components/StyleRuleSetEditor.h | 8 |
5 files changed, 66 insertions, 0 deletions
diff --git a/src/theme_builder/CMakeLists.txt b/src/theme_builder/CMakeLists.txt index 0ec34e39..194e857b 100644 --- a/src/theme_builder/CMakeLists.txt +++ b/src/theme_builder/CMakeLists.txt @@ -1,6 +1,7 @@ add_executable(cru_theme_builder main.cpp components/MainWindow.cpp + components/StyleRuleEditor.cpp components/StyleRuleSetEditor.cpp ) diff --git a/src/theme_builder/components/StyleRuleEditor.cpp b/src/theme_builder/components/StyleRuleEditor.cpp new file mode 100644 index 00000000..8b9df6db --- /dev/null +++ b/src/theme_builder/components/StyleRuleEditor.cpp @@ -0,0 +1,17 @@ +#include "StyleRuleEditor.h" + +namespace cru::theme_builder { +StyleRuleEditor::StyleRuleEditor() { + main_layout_ = ui::controls::FlexLayout::Create(); +} + +StyleRuleEditor::~StyleRuleEditor() {} + +void StyleRuleEditor::BindStyleRule(ui::style::StyleRule *rule) { + style_rule_ = rule; + UpdateView(); +} + +void StyleRuleEditor::UpdateView() {} + +} // namespace cru::theme_builder diff --git a/src/theme_builder/components/StyleRuleEditor.h b/src/theme_builder/components/StyleRuleEditor.h new file mode 100644 index 00000000..181ff0ef --- /dev/null +++ b/src/theme_builder/components/StyleRuleEditor.h @@ -0,0 +1,30 @@ +#pragma once +#include "cru/ui/components/Component.h" +#include "cru/ui/controls/Control.h" +#include "cru/ui/controls/FlexLayout.h" +#include "cru/ui/style/StyleRule.h" + +namespace cru::theme_builder { +class StyleRuleEditor : public ui::components::Component { + public: + StyleRuleEditor(); + + CRU_DELETE_COPY(StyleRuleEditor) + CRU_DELETE_MOVE(StyleRuleEditor) + + ~StyleRuleEditor() override; + + public: + ui::controls::Control* GetRootControl() override { return main_layout_; } + + void BindStyleRule(ui::style::StyleRule* rule); + + private: + void UpdateView(); + + private: + ui::controls::FlexLayout* main_layout_; + + ui::style::StyleRule* style_rule_; +}; +} // namespace cru::theme_builder diff --git a/src/theme_builder/components/StyleRuleSetEditor.cpp b/src/theme_builder/components/StyleRuleSetEditor.cpp index 933706a3..cfb2ad56 100644 --- a/src/theme_builder/components/StyleRuleSetEditor.cpp +++ b/src/theme_builder/components/StyleRuleSetEditor.cpp @@ -4,4 +4,14 @@ namespace cru::theme_builder { StyleRuleSetEditor::StyleRuleSetEditor() {} StyleRuleSetEditor::~StyleRuleSetEditor() {} + +void StyleRuleSetEditor::BindStyleRuleSet( + std::shared_ptr<ui::style::StyleRuleSet> rule_set) { + style_rule_set_ = std::move(rule_set); + UpdateView(); +} + +void StyleRuleSetEditor::UpdateView() { + +} } // namespace cru::theme_builder diff --git a/src/theme_builder/components/StyleRuleSetEditor.h b/src/theme_builder/components/StyleRuleSetEditor.h index ecb3ee95..50f1c80d 100644 --- a/src/theme_builder/components/StyleRuleSetEditor.h +++ b/src/theme_builder/components/StyleRuleSetEditor.h @@ -2,6 +2,7 @@ #include "cru/ui/components/Component.h" #include "cru/ui/controls/Control.h" #include "cru/ui/controls/FlexLayout.h" +#include "cru/ui/style/StyleRuleSet.h" namespace cru::theme_builder { class StyleRuleSetEditor : public ui::components::Component { @@ -16,7 +17,14 @@ class StyleRuleSetEditor : public ui::components::Component { public: ui::controls::Control* GetRootControl() override { return main_layout_; } + void BindStyleRuleSet(std::shared_ptr<ui::style::StyleRuleSet> rule_set); + + private: + void UpdateView(); + private: ui::controls::FlexLayout* main_layout_; + + std::shared_ptr<ui::style::StyleRuleSet> style_rule_set_; }; } // namespace cru::theme_builder |