diff options
Diffstat (limited to 'src/theme_builder/components/conditions/FocusConditionEditor.cpp')
-rw-r--r-- | src/theme_builder/components/conditions/FocusConditionEditor.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/theme_builder/components/conditions/FocusConditionEditor.cpp b/src/theme_builder/components/conditions/FocusConditionEditor.cpp new file mode 100644 index 00000000..d5d864e1 --- /dev/null +++ b/src/theme_builder/components/conditions/FocusConditionEditor.cpp @@ -0,0 +1,23 @@ +#include "FocusConditionEditor.h" +#include "cru/common/ClonablePtr.h" +#include "cru/ui/style/Condition.h" + +namespace cru::theme_builder::components::conditions { +FocusConditionEditor::FocusConditionEditor() { + GetContainer()->AddChild(focus_check_box_.GetRootControl()); + + focus_check_box_.ChangeEvent()->AddSpyOnlyHandler( + [this] { change_event_.Raise(nullptr); }); +} + +FocusConditionEditor::~FocusConditionEditor() {} + +ClonablePtr<ui::style::FocusCondition> FocusConditionEditor::GetValue() const { + return ui::style::FocusCondition::Create(focus_check_box_.GetValue()); +} + +void FocusConditionEditor::SetValue( + const ClonablePtr<ui::style::FocusCondition> &value, bool trigger_change) { + focus_check_box_.SetValue(value->IsHasFocus(), trigger_change); +} +} // namespace cru::theme_builder::components::conditions |