]> sigrok.org Git - pulseview.git/blobdiff - pv/view/tracetreeitemowner.hpp
Minor whitespace and Doxygen fixes.
[pulseview.git] / pv / view / tracetreeitemowner.hpp
index 905746d6c5f956ab2787886efcb4b14ccfeea5a1..6d4b6d19ba733b2e3cf606b479941ad6309b254f 100644 (file)
 #ifndef PULSEVIEW_PV_VIEW_TRACETREEITEMOWNER_HPP
 #define PULSEVIEW_PV_VIEW_TRACETREEITEMOWNER_HPP
 
-#include <memory>
-#include <vector>
-
-#include "rowitemiterator.hpp"
+#include "viewitemowner.hpp"
+#include "tracetreeitem.hpp"
 
 namespace pv {
 
@@ -35,24 +33,9 @@ namespace view {
 class TraceTreeItem;
 class View;
 
-class TraceTreeItemOwner
+class TraceTreeItemOwner : public ViewItemOwner
 {
 public:
-       typedef std::vector< std::shared_ptr<TraceTreeItem> > item_list;
-       typedef RowItemIterator<TraceTreeItemOwner, TraceTreeItem> iterator;
-       typedef RowItemIterator<const TraceTreeItemOwner, TraceTreeItem> const_iterator;
-
-public:
-       /**
-        * Returns the session of the onwer.
-        */
-       virtual pv::Session& session() = 0;
-
-       /**
-        * Returns the session of the owner.
-        */
-       virtual const pv::Session& session() const = 0;
-
        /**
         * Returns the view of the owner.
         */
@@ -65,6 +48,16 @@ public:
 
        virtual int owner_visual_v_offset() const = 0;
 
+       /**
+        * Returns the session of the onwer.
+        */
+       virtual pv::Session& session() = 0;
+
+       /**
+        * Returns the session of the owner.
+        */
+       virtual const pv::Session& session() const = 0;
+
        /**
         * Returns the number of nested parents that this row item owner has.
         */
@@ -73,12 +66,13 @@ public:
        /**
         * Returns a list of row items owned by this object.
         */
-       virtual item_list& child_items();
+       virtual const item_list& child_items() const;
 
        /**
         * Returns a list of row items owned by this object.
         */
-       virtual const item_list& child_items() const;
+       std::vector< std::shared_ptr<TraceTreeItem> >
+       trace_tree_child_items() const;
 
        /**
         * Clears the list of child items.
@@ -95,40 +89,7 @@ public:
         */
        void remove_child_item(std::shared_ptr<TraceTreeItem> item);
 
-       /**
-        * Returns a depth-first iterator at the beginning of the child TraceTreeItem
-        * tree.
-        */
-       iterator begin();
-
-       /**
-        * Returns a depth-first iterator at the end of the child TraceTreeItem tree.
-        */
-       iterator end();
-
-       /**
-        * Returns a constant depth-first iterator at the beginning of the
-        * child TraceTreeItem tree.
-        */
-       const_iterator begin() const;
-
-       /**
-        * Returns a constant depth-first iterator at the end of the child
-        * TraceTreeItem tree.
-        */
-       const_iterator end() const;
-
-       /**
-        * Makes a list of row item owners of all the row items that are
-        * decendants of this item.
-        */
-       std::set< TraceTreeItemOwner* > 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();
+       virtual void restack_items();
 
        /**
         * Computes the vertical extents of the contents of this row item owner.
@@ -136,15 +97,18 @@ public:
         */
        std::pair<int, int> v_extents() const;
 
-       virtual void restack_items();
+       /*
+        * Reassigns background color states to all its children, thereby
+        * providing them with alternating backgrounds.
+        * @param next_bgcolour_state First brightness state to use.
+        * @return The next brightness state to use.
+        */
+       bool reassign_bgcolour_states(bool next_bgcolour_state);
 
 public:
        virtual void row_item_appearance_changed(bool label, bool content) = 0;
 
        virtual void extents_changed(bool horz, bool vert) = 0;
-
-private:
-       item_list items_;
 };
 
 } // view