X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Ftracetreeitemowner.hpp;h=025c34edad69f6f421d9fc9264f60e46f81f7e7a;hp=b26b1e7e46d3e81846f96fb5b2682e19c48f857a;hb=c373f82810ad9c5376a7370118de9dd587ee0e43;hpb=21d5f19c7992046c7a1735096364138eb6de50cf diff --git a/pv/view/tracetreeitemowner.hpp b/pv/view/tracetreeitemowner.hpp index b26b1e7e..025c34ed 100644 --- a/pv/view/tracetreeitemowner.hpp +++ b/pv/view/tracetreeitemowner.hpp @@ -21,10 +21,8 @@ #ifndef PULSEVIEW_PV_VIEW_TRACETREEITEMOWNER_HPP #define PULSEVIEW_PV_VIEW_TRACETREEITEMOWNER_HPP -#include -#include - -#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 > item_list; - typedef RowItemIterator iterator; - typedef RowItemIterator 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. */ @@ -80,6 +73,12 @@ public: */ virtual const item_list& child_items() const; + /** + * Returns a list of row items owned by this object. + */ + std::vector< std::shared_ptr > + trace_tree_child_items() const; + /** * Clears the list of child items. */ @@ -95,43 +94,7 @@ public: */ void remove_child_item(std::shared_ptr 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; - - /** - * Creates a list of decendant signals filtered by type. - */ - template - std::vector< std::shared_ptr > list_by_type() { - std::vector< std::shared_ptr > items; - for (const auto &r : *this) { - std::shared_ptr p = std::dynamic_pointer_cast(r); - if (p) - items.push_back(p); - } - - return items; - } + virtual void restack_items(); /** * Computes the vertical extents of the contents of this row item owner. @@ -139,15 +102,10 @@ public: */ std::pair v_extents() const; - virtual void restack_items(); - 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