aboutsummaryrefslogtreecommitdiff
path: root/src/theme_builder/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/theme_builder/components')
-rw-r--r--src/theme_builder/components/StyleRuleEditor.cpp17
-rw-r--r--src/theme_builder/components/StyleRuleEditor.h30
-rw-r--r--src/theme_builder/components/StyleRuleSetEditor.cpp10
-rw-r--r--src/theme_builder/components/StyleRuleSetEditor.h8
4 files changed, 65 insertions, 0 deletions
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