]> sigrok.org Git - pulseview.git/blobdiff - pv/view/viewitem.cpp
Change namespace for the trace view and implement ViewBase
[pulseview.git] / pv / view / viewitem.cpp
index 662c15de0a46d46392fc97ff6145488c85910533..7e581d952bcd00d8cc3f2ec4dd491fd74e5d24fb 100644 (file)
@@ -27,7 +27,8 @@
 #include <QPalette>
 
 namespace pv {
-namespace view {
+namespace views {
+namespace TraceView {
 
 const QSizeF ViewItem::LabelPadding(4, 0);
 const int ViewItem::HighlightRadius = 3;
@@ -49,6 +50,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 +62,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 +71,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 +106,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;
@@ -116,5 +136,6 @@ QColor ViewItem::select_text_colour(QColor background)
        return (background.lightness() > 110) ? Qt::black : Qt::white;
 }
 
-} // namespace view
+} // namespace TraceView
+} // namespace views
 } // namespace pv