diff --git a/libs/canvas/canvas/item.h b/libs/canvas/canvas/item.h index 1b5a24d794..3f4f597b1d 100644 --- a/libs/canvas/canvas/item.h +++ b/libs/canvas/canvas/item.h @@ -209,10 +209,10 @@ public: void* get_data (std::string const &) const; /* nested item ("grouping") API */ - void add (Item *); - void add_front (Item *); - void remove (Item *); - void clear (bool with_delete = false); + virtual void add (Item *); + virtual void add_front (Item *); + virtual void remove (Item *); + virtual void clear_children (bool with_delete = false); std::list const & items () const { return _items; } @@ -321,6 +321,11 @@ protected: Duple scroll_offset() const; Duple position_offset() const; + /* called when _parent is set to a non-null value. Containers can use + this to do size calculations less frequently. + */ + virtual void parented() {} + private: void init ();