X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fview%2Frowitem.h;h=2133db878188ba906f17619d2d8a1c06fb250f06;hb=dc747705ac06c9e9ab582b6b8b7cfc31003128e0;hp=130904a2251e0d6da130a26fd7e11e2447496bfb;hpb=eae6e30af53f6b3e42dc5be212c82870078276b0;p=pulseview.git diff --git a/pv/view/rowitem.h b/pv/view/rowitem.h index 130904a2..2133db87 100644 --- a/pv/view/rowitem.h +++ b/pv/view/rowitem.h @@ -21,6 +21,8 @@ #ifndef PULSEVIEW_PV_VIEW_HEADERITEM_H #define PULSEVIEW_PV_VIEW_HEADERITEM_H +#include + #include "selectableitem.h" namespace pv { @@ -28,8 +30,11 @@ namespace view { class RowItemOwner; -class RowItem : public SelectableItem +class RowItem : public SelectableItem, + public std::enable_shared_from_this { + Q_OBJECT + public: /** * Constructor. @@ -51,6 +56,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 +72,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 +116,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;