diff --git a/include/libpdraw/gui/widgets/basecontainer.hpp b/include/libpdraw/gui/widgets/basecontainer.hpp index f7e2a9d..098d936 100644 --- a/include/libpdraw/gui/widgets/basecontainer.hpp +++ b/include/libpdraw/gui/widgets/basecontainer.hpp @@ -26,6 +26,13 @@ public: CBaseContainer(std::string name = "unnamed", IWidget* parent = nullptr); virtual ~CBaseContainer(); + template + T* Add(Args... args) { + auto* ret = new T(this, args...); + this->m_children.push_back(ret); + return ret; + }; + void AddChild(IWidget* child); int ChildCount(); virtual IWidget* ChildByIndex(int idx);