diff options
author | crupest <crupest@outlook.com> | 2018-10-01 23:20:39 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2018-10-01 23:20:39 +0800 |
commit | c9a423ef94f684ff21e79526f77f8ddc31a2100d (patch) | |
tree | e8c1e66748ad5200be81439370b3cf409c9e95dc /src | |
parent | 88765aab936724cb01fa2ffd86d65181182a1cd2 (diff) | |
download | cru-c9a423ef94f684ff21e79526f77f8ddc31a2100d.tar.gz cru-c9a423ef94f684ff21e79526f77f8ddc31a2100d.tar.bz2 cru-c9a423ef94f684ff21e79526f77f8ddc31a2100d.zip |
Add comment for BorderDelegate and add destructor for it.
Diffstat (limited to 'src')
-rw-r--r-- | src/ui/controls/border_delegate.cpp | 5 | ||||
-rw-r--r-- | src/ui/controls/border_delegate.h | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/ui/controls/border_delegate.cpp b/src/ui/controls/border_delegate.cpp index 4e841a8c..4031d787 100644 --- a/src/ui/controls/border_delegate.cpp +++ b/src/ui/controls/border_delegate.cpp @@ -51,6 +51,11 @@ namespace cru::ui::controls border_property_->AddPropertyChangedListener(border_property_changed_listener_); } + BorderDelegate::~BorderDelegate() + { + border_property_->RemovePropertyChangedListener(border_property_changed_listener_); + } + void BorderDelegate::SetBorderProperty(std::shared_ptr<BorderProperty> border_property) { border_property_->RemovePropertyChangedListener(border_property_changed_listener_); diff --git a/src/ui/controls/border_delegate.h b/src/ui/controls/border_delegate.h index f22b303f..12c5444a 100644 --- a/src/ui/controls/border_delegate.h +++ b/src/ui/controls/border_delegate.h @@ -60,6 +60,10 @@ namespace cru::ui::controls float radius_y_ = 0.0f; }; + + // BorderDelegate is a delegate for border painting and layout. + // It must bind a control and not change the binding. + // But multiple BorderDelegate may share a common BorderProperty. class BorderDelegate : public Object { public: @@ -69,7 +73,7 @@ namespace cru::ui::controls BorderDelegate(BorderDelegate&& other) = delete; BorderDelegate& operator=(const BorderDelegate& other) = delete; BorderDelegate& operator=(BorderDelegate&& other) = delete; - ~BorderDelegate() override = default; + ~BorderDelegate() override; std::shared_ptr<BorderProperty> GetBorderProperty() const { |