20 #ifndef PULSEVIEW_PV_VIEWS_TRACE_VIEWITEM_HPP 21 #define PULSEVIEW_PV_VIEWS_TRACE_VIEWITEM_HPP 25 #include <QMouseEvent> 60 virtual bool enabled()
const = 0;
65 virtual bool is_selectable(QPoint pos)
const;
70 bool selected()
const;
75 virtual void select(
bool select =
true);
80 virtual bool is_draggable(QPoint pos)
const;
85 bool dragging()
const;
95 virtual void drag_release();
101 virtual void drag_by(
const QPoint &delta) = 0;
107 virtual QPoint drag_point(
const QRect &rect)
const = 0;
115 virtual QRectF label_rect(
const QRectF &rect)
const;
131 virtual void paint_label(QPainter &p,
const QRect &rect,
bool hover);
160 static QColor select_text_color(QColor background);
163 virtual QMenu* create_header_context_menu(QWidget *parent);
165 virtual QMenu* create_view_context_menu(QWidget *parent, QPoint &click_pos);
169 virtual void delete_pressed();
171 virtual void hover_point_changed(
const QPoint &hp);
177 virtual void mouse_left_press_event(
const QMouseEvent* event);
180 static QPen highlight_pen();
194 #endif // PULSEVIEW_PV_VIEWS_TRACE_VIEWITEM_HPP
static const int HighlightRadius
QWidget * context_parent_
static const QSizeF LabelPadding