]> sigrok.org Git - pulseview.git/blobdiff - pv/view/viewitem.cpp
Add a mechanism to make ViewItem classes immovable.
[pulseview.git] / pv / view / viewitem.cpp
index 662c15de0a46d46392fc97ff6145488c85910533..e9602f8790ddcec61767509cd694524cbd3d8cd6 100644 (file)
@@ -49,6 +49,11 @@ void ViewItem::select(bool select)
        selected_ = select;
 }
 
+bool ViewItem::is_draggable() const
+{
+       return true;
+}
+
 bool ViewItem::dragging() const
 {
        return drag_point_.x() != INT_MIN && drag_point_.y() != INT_MIN;
@@ -56,7 +61,8 @@ bool ViewItem::dragging() const
 
 void ViewItem::drag()
 {
-       drag_point_ = point(QRect());
+       if (is_draggable())
+               drag_point_ = point(QRect());
 }
 
 void ViewItem::drag_release()
@@ -64,12 +70,18 @@ void ViewItem::drag_release()
        drag_point_ = QPoint(INT_MIN, INT_MIN);
 }
 
-QRectF ViewItem::hit_box_rect(const QRectF &rect) const
+QRectF ViewItem::label_rect(const QRectF &rect) const
 {
        (void)rect;
        return QRectF();
 }
 
+QRectF ViewItem::hit_box_rect(const ViewItemPaintParams &pp) const
+{
+       (void)pp;
+       return QRectF();
+}
+
 QMenu* ViewItem::create_context_menu(QWidget *parent)
 {
        context_parent_ = parent;
@@ -93,6 +105,13 @@ QPen ViewItem::highlight_pen()
                Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin);
 }
 
+void ViewItem::paint_label(QPainter &p, const QRect &rect, bool hover)
+{
+       (void)p;
+       (void)rect;
+       (void)hover;
+}
+
 void ViewItem::paint_back(QPainter &p, const ViewItemPaintParams &pp)
 {
        (void)p;