diff options
Diffstat (limited to 'include/cru/ui/components/Component.h')
-rw-r--r-- | include/cru/ui/components/Component.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/cru/ui/components/Component.h b/include/cru/ui/components/Component.h index e889ae97..8861f30b 100644 --- a/include/cru/ui/components/Component.h +++ b/include/cru/ui/components/Component.h @@ -17,5 +17,16 @@ class CRU_UI_API Component : public Object { ~Component() = default; virtual controls::Control* GetRootControl() = 0; + + bool IsDeleteByParent() const { return delete_by_parent_; } + void SetDeleteByParent(bool delete_by_parent) { + delete_by_parent_ = delete_by_parent; + } + void DeleteIfDeleteByParent() const { + if (delete_by_parent_) delete this; + } + + private: + bool delete_by_parent_; }; } // namespace cru::ui::components |