X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fviewwidget.hpp;h=ef3cfa2fc303d9692d84e596d486191888cda143;hb=0bb3dd25421a8638afb881d46799a13378d3f00b;hp=e4fb73c8255debedb73963acddc0984e635a0433;hpb=1573bf16ba50d1c023ad3a9ce596f0ab6eaeacff;p=pulseview.git
diff --git a/pv/views/trace/viewwidget.hpp b/pv/views/trace/viewwidget.hpp
index e4fb73c8..ef3cfa2f 100644
--- a/pv/views/trace/viewwidget.hpp
+++ b/pv/views/trace/viewwidget.hpp
@@ -17,13 +17,16 @@
* along with this program; if not, see .
*/
-#ifndef PULSEVIEW_PV_VIEWWIDGET_HPP
-#define PULSEVIEW_PV_VIEWWIDGET_HPP
+#ifndef PULSEVIEW_PV_VIEWS_TRACE_VIEWWIDGET_HPP
+#define PULSEVIEW_PV_VIEWS_TRACE_VIEWWIDGET_HPP
#include
+#include
#include
+#include
+
using std::shared_ptr;
using std::vector;
@@ -49,7 +52,7 @@ protected:
* if no view item is being hovered over.
* @remarks the default implementation does nothing.
*/
- virtual void item_hover(const shared_ptr &item);
+ virtual void item_hover(const shared_ptr &item, QPoint pos);
/**
* Indicates the event an a view item has been clicked.
@@ -130,6 +133,9 @@ protected:
void mouseReleaseEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
+ void keyPressEvent(QKeyEvent *event);
+ void keyReleaseEvent(QKeyEvent *event);
+
void leaveEvent(QEvent *event);
public Q_SLOTS:
@@ -142,7 +148,12 @@ protected:
pv::views::trace::View &view_;
QPoint mouse_point_;
QPoint mouse_down_point_;
+ pv::util::Timestamp mouse_down_offset_;
shared_ptr mouse_down_item_;
+
+ /// Keyboard modifiers that were active when mouse was last moved or clicked
+ Qt::KeyboardModifiers mouse_modifiers_;
+
bool item_dragging_;
};
@@ -150,4 +161,4 @@ protected:
} // namespace views
} // namespace pv
-#endif // PULSEVIEW_PV_VIEWWIDGET_HPP
+#endif // PULSEVIEW_PV_VIEWS_TRACE_VIEWWIDGET_HPP