aboutsummaryrefslogtreecommitdiff
path: root/src/theme_builder/components/styler
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-02-14 22:51:37 +0800
committercrupest <crupest@outlook.com>2022-02-14 22:51:37 +0800
commit21c1c3281cd4186d9810d68122e9e8e92da714ad (patch)
treea458a6329b82145dbd7e255cf11f203c9116dafe /src/theme_builder/components/styler
parent6593a25baa01687b9462f792ce91bd46909df229 (diff)
downloadcru-21c1c3281cd4186d9810d68122e9e8e92da714ad.tar.gz
cru-21c1c3281cd4186d9810d68122e9e8e92da714ad.tar.bz2
cru-21c1c3281cd4186d9810d68122e9e8e92da714ad.zip
...
Diffstat (limited to 'src/theme_builder/components/styler')
-rw-r--r--src/theme_builder/components/styler/BorderStylerEditor.cpp95
-rw-r--r--src/theme_builder/components/styler/BorderStylerEditor.h41
2 files changed, 0 insertions, 136 deletions
diff --git a/src/theme_builder/components/styler/BorderStylerEditor.cpp b/src/theme_builder/components/styler/BorderStylerEditor.cpp
deleted file mode 100644
index 819e67c0..00000000
--- a/src/theme_builder/components/styler/BorderStylerEditor.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-#include "BorderStylerEditor.h"
-#include "cru/common/ClonablePtr.h"
-#include "cru/platform/graphics/Brush.h"
-#include "cru/platform/graphics/Factory.h"
-#include "cru/platform/gui/UiApplication.h"
-#include "cru/ui/style/ApplyBorderStyleInfo.h"
-#include "cru/ui/style/Styler.h"
-
-namespace cru::theme_builder::components::styler {
-BorderStylerEditor::BorderStylerEditor() {
- container_.AddChild(corner_radius_editor_.GetRootControl());
- container_.AddChild(thickness_editor_.GetRootControl());
- container_.AddChild(brush_editor_.GetRootControl());
- container_.AddChild(foreground_brush_editor_.GetRootControl());
- container_.AddChild(background_brush_editor_.GetRootControl());
-
- auto connect = [this](IEvent<std::nullptr_t>* event) {
- event->AddHandler(
- [this](std::nullptr_t) { this->change_event_.Raise(nullptr); });
- };
-
- connect(corner_radius_editor_.ChangeEvent());
- connect(thickness_editor_.ChangeEvent());
- connect(brush_editor_.ChangeEvent());
- connect(foreground_brush_editor_.ChangeEvent());
- connect(background_brush_editor_.ChangeEvent());
-}
-
-BorderStylerEditor::~BorderStylerEditor() { container_.RemoveFromParent(); }
-
-ClonablePtr<ui::style::BorderStyler> BorderStylerEditor::GetValue() {
- auto graphics_factory =
- platform::gui::IUiApplication::GetInstance()->GetGraphicsFactory();
-
- ui::style::ApplyBorderStyleInfo border_style;
- border_style.border_radius = corner_radius_editor_.GetValue();
- border_style.border_thickness = thickness_editor_.GetValue();
-
- if (brush_editor_.IsEnabled()) {
- border_style.border_brush = graphics_factory->CreateSolidColorBrush(
- brush_editor_.GetEditor()->GetValue());
- }
-
- if (foreground_brush_editor_.IsEnabled()) {
- border_style.foreground_brush = graphics_factory->CreateSolidColorBrush(
- foreground_brush_editor_.GetEditor()->GetValue());
- }
-
- if (background_brush_editor_.IsEnabled()) {
- border_style.background_brush = graphics_factory->CreateSolidColorBrush(
- background_brush_editor_.GetEditor()->GetValue());
- }
-
- return ui::style::BorderStyler::Create(border_style);
-}
-
-void BorderStylerEditor::SetValue(
- const ClonablePtr<ui::style::BorderStyler>& styler) {
- Expects(styler);
-
- auto border_style = styler->GetBorderStyle();
- corner_radius_editor_.SetValue(border_style.border_radius, false);
- thickness_editor_.SetValue(border_style.border_thickness, false);
-
- brush_editor_.SetEnabled(border_style.border_brush.has_value(), false);
- if (border_style.border_brush.has_value()) {
- brush_editor_.GetEditor()->SetValue(
- std::dynamic_pointer_cast<platform::graphics::ISolidColorBrush>(
- border_style.border_brush.value())
- ->GetColor(),
- false);
- }
-
- foreground_brush_editor_.SetEnabled(border_style.foreground_brush.has_value(),
- false);
- if (border_style.foreground_brush.has_value()) {
- foreground_brush_editor_.GetEditor()->SetValue(
- std::dynamic_pointer_cast<platform::graphics::ISolidColorBrush>(
- border_style.foreground_brush.value())
- ->GetColor(),
- false);
- }
-
- background_brush_editor_.SetEnabled(border_style.background_brush.has_value(),
- false);
- if (border_style.background_brush.has_value()) {
- background_brush_editor_.GetEditor()->SetValue(
- std::dynamic_pointer_cast<platform::graphics::ISolidColorBrush>(
- border_style.background_brush.value())
- ->GetColor(),
- false);
- }
-}
-
-} // namespace cru::theme_builder::components::styler
diff --git a/src/theme_builder/components/styler/BorderStylerEditor.h b/src/theme_builder/components/styler/BorderStylerEditor.h
deleted file mode 100644
index 991647e7..00000000
--- a/src/theme_builder/components/styler/BorderStylerEditor.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#pragma once
-#include "../properties/ColorPropertyEditor.h"
-#include "../properties/CornerRadiusPropertyEditor.h"
-#include "../properties/OptionalPropertyEditor.h"
-#include "../properties/ThicknessPropertyEditor.h"
-#include "cru/common/ClonablePtr.h"
-#include "cru/common/Event.h"
-#include "cru/ui/components/Component.h"
-#include "cru/ui/controls/CheckBox.h"
-#include "cru/ui/controls/FlexLayout.h"
-#include "cru/ui/style/Styler.h"
-
-namespace cru::theme_builder::components::styler {
-class BorderStylerEditor : public ui::components::Component {
- public:
- BorderStylerEditor();
- ~BorderStylerEditor() override;
-
- ui::controls::Control* GetRootControl() override { return nullptr; }
-
- ClonablePtr<ui::style::BorderStyler> GetValue();
- void SetValue(const ClonablePtr<ui::style::BorderStyler>& styler);
-
- IEvent<std::nullptr_t>* ChangeEvent() { return &change_event_; }
-
- private:
- ui::controls::FlexLayout container_;
- properties::OptionalPropertyEditor<properties::CornerRadiusPropertyEditor>
- corner_radius_editor_;
- properties::OptionalPropertyEditor<properties::ThicknessPropertyEditor>
- thickness_editor_;
- properties::OptionalPropertyEditor<properties::ColorPropertyEditor>
- brush_editor_;
- properties::OptionalPropertyEditor<properties::ColorPropertyEditor>
- foreground_brush_editor_;
- properties::OptionalPropertyEditor<properties::ColorPropertyEditor>
- background_brush_editor_;
-
- Event<std::nullptr_t> change_event_;
-};
-} // namespace cru::theme_builder::components::styler