]> sigrok.org Git - pulseview.git/blobdiff - pv/view/rowitemowner.hpp
ViewItemPaintParams: Added missing include
[pulseview.git] / pv / view / rowitemowner.hpp
index 8c63aa565da3eb372df1a215a8a81d4db9784481..f64b25920f3c06960436accccf8f4fbff5677a73 100644 (file)
@@ -18,8 +18,8 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#ifndef PULSEVIEW_PV_VIEW_ROWITEMOWNER_H
-#define PULSEVIEW_PV_VIEW_ROWITEMOWNER_H
+#ifndef PULSEVIEW_PV_VIEW_ROWITEMOWNER_HPP
+#define PULSEVIEW_PV_VIEW_ROWITEMOWNER_HPP
 
 #include <memory>
 #include <vector>
@@ -28,7 +28,7 @@
 
 namespace pv {
 
-class SigSession;
+class Session;
 
 namespace view {
 
@@ -46,12 +46,12 @@ public:
        /**
         * Returns the session of the onwer.
         */
-       virtual pv::SigSession& session() = 0;
+       virtual pv::Session& session() = 0;
 
        /**
         * Returns the session of the owner.
         */
-       virtual const pv::SigSession& session() const = 0;
+       virtual const pv::Session& session() const = 0;
 
        /**
         * Returns the view of the owner.
@@ -118,6 +118,18 @@ public:
         */
        const_iterator end() const;
 
+       /**
+        * Makes a list of row item owners of all the row items that are
+        * decendants of this item.
+        */
+       std::set< RowItemOwner* > list_row_item_owners();
+
+       /**
+        * Creates a list of decendant signals filtered by type.
+        */
+       template<class T>
+       std::set< std::shared_ptr<T> > list_by_type();
+
        /**
         * Computes the vertical extents of the contents of this row item owner.
         * @return A pair containing the minimum and maximum y-values.
@@ -127,7 +139,7 @@ public:
        virtual void restack_items();
 
 public:
-       virtual void appearance_changed(bool label, bool content) = 0;
+       virtual void row_item_appearance_changed(bool label, bool content) = 0;
 
        virtual void extents_changed(bool horz, bool vert) = 0;
 
@@ -138,4 +150,4 @@ private:
 } // view
 } // pv
 
-#endif // PULSEVIEW_PV_VIEW_ROWITEMOWNER_H
+#endif // PULSEVIEW_PV_VIEW_ROWITEMOWNER_HPP