aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/components/Component.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/ui/components/Component.h')
-rw-r--r--include/cru/ui/components/Component.h11
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