* Creates a list of decendant signals filtered by type.
*/
template<class T>
- std::set< std::shared_ptr<T> > list_by_type();
+ std::vector< std::shared_ptr<T> > list_by_type() {
+ std::vector< std::shared_ptr<T> > items;
+ for (const auto &r : *this) {
+ std::shared_ptr<T> p = std::dynamic_pointer_cast<T>(r);
+ if (p)
+ items.push_back(p);
+ }
+
+ return items;
+ }
/**
* Computes the vertical extents of the contents of this row item owner.