aboutsummaryrefslogtreecommitdiff
path: root/src/theme_builder/components/properties/FontPropertyEditor.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-03-10 18:03:49 +0800
committercrupest <crupest@outlook.com>2022-03-10 18:03:49 +0800
commit1cf1002f1d3cd81ddb920eb7196a067b566f11e2 (patch)
tree8a299d16f0f5074d876175a602190f477bd498ea /src/theme_builder/components/properties/FontPropertyEditor.cpp
parent51f87e3ff980e62f9cb5ee656e5591412e2766eb (diff)
downloadcru-1cf1002f1d3cd81ddb920eb7196a067b566f11e2.tar.gz
cru-1cf1002f1d3cd81ddb920eb7196a067b566f11e2.tar.bz2
cru-1cf1002f1d3cd81ddb920eb7196a067b566f11e2.zip
...
Diffstat (limited to 'src/theme_builder/components/properties/FontPropertyEditor.cpp')
-rw-r--r--src/theme_builder/components/properties/FontPropertyEditor.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/theme_builder/components/properties/FontPropertyEditor.cpp b/src/theme_builder/components/properties/FontPropertyEditor.cpp
index b4f5fa06..927ada7d 100644
--- a/src/theme_builder/components/properties/FontPropertyEditor.cpp
+++ b/src/theme_builder/components/properties/FontPropertyEditor.cpp
@@ -24,13 +24,14 @@ FontPropertyEditor::FontPropertyEditor() {
font_size_container_.SetFlexDirection(FlexDirection::Horizontal);
font_size_container_.AddChild(&font_size_label_);
- font_size_container_.AddChild(&font_size_text_);
+ font_size_container_.AddChild(font_size_input_.GetRootControl());
font_size_label_.SetText(u"Font Size");
+ font_size_input_.SetMin(0.0f);
font_family_text_.TextChangeEvent()->AddSpyOnlyHandler(
[this] { RaiseChangeEvent(); });
- font_size_text_.TextChangeEvent()->AddSpyOnlyHandler(
+ font_size_input_.ChangeEvent()->AddSpyOnlyHandler(
[this] { RaiseChangeEvent(); });
}
@@ -42,8 +43,18 @@ std::shared_ptr<platform::graphics::IFont> FontPropertyEditor::GetValue()
const {
return platform::gui::IUiApplication::GetInstance()
->GetGraphicsFactory()
- ->CreateFont(font_family_text_.GetText(),
- font_size_text_.GetText().ParseToFloat());
+ ->CreateFont(font_family_text_.GetText(), font_size_input_.GetValue());
}
+void FontPropertyEditor::SetValue(
+ std::shared_ptr<platform::graphics::IFont> value, bool trigger_change) {
+ SuppressNextChangeEvent();
+ font_family_text_.SetText(value->GetFontName());
+ SuppressNextChangeEvent();
+ font_size_input_.SetValue(value->GetFontSize());
+
+ if (trigger_change) {
+ RaiseChangeEvent();
+ }
+}
} // namespace cru::theme_builder::components::properties