]> sigrok.org Git - pulseview.git/blobdiff - pv/view/rowitem.h
RowItemOwner: Replaced parent notification scheme
[pulseview.git] / pv / view / rowitem.h
index 2133db878188ba906f17619d2d8a1c06fb250f06..d068848a54be6faf30488187516354f7d650fdc0 100644 (file)
@@ -49,12 +49,27 @@ public:
        /**
         * Gets the vertical layout offset of this signal.
         */
-       int v_offset() const;
+       int layout_v_offset() const;
 
        /**
         * Sets the vertical layout offset of this signal.
         */
-       void set_v_offset(int v_offset);
+       void set_layout_v_offset(int v_offset);
+
+       /**
+        * Gets the vertical visual offset of this signal.
+        */
+       int visual_v_offset() const;
+
+       /**
+        * Sets the vertical visual offset of this signal.
+        */
+       void set_visual_v_offset(int v_offset);
+
+       /**
+        * Sets the visual and layout offset of this signal.
+        */
+       void force_to_v_offset(int v_offset);
 
        /**
         * Gets the owner this trace in the view trace hierachy.
@@ -68,15 +83,21 @@ public:
        void set_owner(pv::view::RowItemOwner *owner);
 
        /**
-        * Gets the y-offset of the axis.
+        * Gets the visual y-offset of the axis.
         */
-       int get_y() const;
+       int get_visual_y() const;
 
        /**
         * Gets the drag point of the row item.
         */
        QPoint point() const;
 
+       /**
+        * Computes the vertical extents of the contents of this row item.
+        * @return A pair containing the minimum and maximum y-values.
+        */
+       virtual std::pair<int, int> v_extents() const = 0;
+
        /**
         * Paints the background layer of the trace with a QPainter
         * @param p the QPainter to paint into.
@@ -121,13 +142,11 @@ public:
 public:
        virtual void hover_point_changed();
 
-Q_SIGNALS:
-       void appearance_changed();
-
 protected:
        pv::view::RowItemOwner *_owner;
 
-       int _v_offset;
+       int _layout_v_offset;
+       int _visual_v_offset;
 };
 
 } // namespace view