]> 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 1492d14d8d1d45851769dadb6f9af9278c50ae98..7e581d952bcd00d8cc3f2ec4dd491fd74e5d24fb 100644 (file)
 #include <QPalette>
 
 namespace pv {
-namespace view {
+namespace views {
+namespace TraceView {
 
 const QSizeF ViewItem::LabelPadding(4, 0);
 const int ViewItem::HighlightRadius = 3;
 
 ViewItem::ViewItem() :
-       context_parent_(NULL),
+       context_parent_(nullptr),
        drag_point_(INT_MIN, INT_MIN),
        selected_(false)
 {
@@ -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,18 +71,30 @@ 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;
        return new QMenu(parent);
 }
 
+widgets::Popup* ViewItem::create_popup(QWidget *parent)
+{
+       (void)parent;
+       return nullptr;
+}
+
 void ViewItem::delete_pressed()
 {
 }
@@ -87,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;
@@ -107,8 +133,9 @@ void ViewItem::paint_fore(QPainter &p, const ViewItemPaintParams &pp)
 
 QColor ViewItem::select_text_colour(QColor background)
 {
-       return (background.lightness() > 64) ? Qt::black : Qt::white;
+       return (background.lightness() > 110) ? Qt::black : Qt::white;
 }
 
-} // namespace view
+} // namespace TraceView
+} // namespace views
 } // namespace pv