]> sigrok.org Git - pulseview.git/blobdiff - pv/view/rowitem.h
Header: Keep a shared_ptr of the clicked item
[pulseview.git] / pv / view / rowitem.h
index 130904a2251e0d6da130a26fd7e11e2447496bfb..6b23162f5808a56c8526115fdfe2c8a7b7fb0b5d 100644 (file)
@@ -30,6 +30,8 @@ class RowItemOwner;
 
 class RowItem : public SelectableItem
 {
+       Q_OBJECT
+
 public:
        /**
         * Constructor.
@@ -51,6 +53,11 @@ public:
         */
        void set_v_offset(int v_offset);
 
+       /**
+        * Gets the owner this trace in the view trace hierachy.
+        */
+       pv::view::RowItemOwner* owner() const;
+
        /**
         * Sets the owner this trace in the view trace hierachy.
         * @param The new owner of the trace.
@@ -62,6 +69,11 @@ public:
         */
        int get_y() const;
 
+       /**
+        * Gets the drag point of the row item.
+        */
+       QPoint point() const;
+
        /**
         * Paints the background layer of the trace with a QPainter
         * @param p the QPainter to paint into.
@@ -101,11 +113,14 @@ public:
         *      area.
         * @return Returns the rectangle of the signal label.
         */
-       virtual QRectF label_rect(int right) = 0;
+       virtual QRectF label_rect(int right) const = 0;
 
 public:
        virtual void hover_point_changed();
 
+Q_SIGNALS:
+       void appearance_changed();
+
 protected:
        pv::view::RowItemOwner *_owner;