Canvas::Item container operations need to be virtual; add parented() virtual method for lazy child positioning

This commit is contained in:
Paul Davis 2017-08-24 22:07:32 -04:00
parent 5a4b76d1f9
commit 9d8920b4cd

View file

@ -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<Item*> 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 ();