]> sigrok.org Git - pulseview.git/blobdiff - pv/view/tracegroup.cpp
TraceView: Center traces more than once
[pulseview.git] / pv / view / tracegroup.cpp
index 87f1ff3dcab20fac2c065a5daadb0525534e56f8..e33bba4ea7aeb7aaad9d68abf0194ffb3768331c 100644 (file)
@@ -14,8 +14,7 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <extdef.h>
@@ -33,7 +32,8 @@ using std::shared_ptr;
 using std::vector;
 
 namespace pv {
-namespace view {
+namespace views {
+namespace TraceView {
 
 const int TraceGroup::Padding = 8;
 const int TraceGroup::Width = 12;
@@ -49,7 +49,7 @@ TraceGroup::~TraceGroup()
 bool TraceGroup::enabled() const
 {
        return std::any_of(child_items().begin(), child_items().end(),
-               [](const shared_ptr<TraceTreeItem> &r) { return r->enabled(); });
+               [](const shared_ptr<ViewItem> &r) { return r->enabled(); });
 }
 
 pv::Session& TraceGroup::session()
@@ -64,13 +64,13 @@ const pv::Session& TraceGroup::session() const
        return owner_->session();
 }
 
-pv::view::View* TraceGroup::view()
+View* TraceGroup::view()
 {
        assert(owner_);
        return owner_->view();
 }
 
-const pv::view::View* TraceGroup::view() const
+const View* TraceGroup::view() const
 {
        assert(owner_);
        return owner_->view();
@@ -115,7 +115,7 @@ void TraceGroup::paint_label(QPainter &p, const QRect &rect, bool hover)
 QRectF TraceGroup::label_rect(const QRectF &rect) const
 {
        QRectF child_rect;
-       for (const shared_ptr<TraceTreeItem> r : child_items())
+       for (const shared_ptr<ViewItem> r : child_items())
                if (r && r->enabled())
                        child_rect = child_rect.united(r->label_rect(rect));
 
@@ -157,15 +157,14 @@ int TraceGroup::owner_visual_v_offset() const
 
 void TraceGroup::restack_items()
 {
-       vector< shared_ptr<TraceTreeItem> > items(
-               child_items().begin(), child_items().end());
+       vector<shared_ptr<TraceTreeItem>> items(trace_tree_child_items());
 
        // Sort by the centre line of the extents
        stable_sort(items.begin(), items.end(),
                [](const shared_ptr<TraceTreeItem> &a, const shared_ptr<TraceTreeItem> &b) {
                        const auto aext = a->v_extents();
                        const auto bext = b->v_extents();
-                        return a->layout_v_offset() +
+                       return a->layout_v_offset() +
                                        (aext.first + aext.second) / 2 <
                                b->layout_v_offset() +
                                        (bext.first + bext.second) / 2;
@@ -197,8 +196,7 @@ unsigned int TraceGroup::depth() const
 
 void TraceGroup::ungroup()
 {
-       const vector< shared_ptr<TraceTreeItem> > items(
-               child_items().begin(), child_items().end());
+       const vector<shared_ptr<TraceTreeItem>> items(trace_tree_child_items());
        clear_child_items();
 
        for (shared_ptr<TraceTreeItem> r : items)
@@ -224,5 +222,6 @@ void TraceGroup::extents_changed(bool horz, bool vert)
                owner_->extents_changed(horz, vert);
 }
 
-} // namespace view
+} // namespace TraceView
+} // namespace views
 } // namespace pv