* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
-#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 <memory>
#include <QPoint>
#include <QWidget>
+#include <pv/util.hpp>
+
using std::shared_ptr;
using std::vector;
void mouseReleaseEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
+ void keyPressEvent(QKeyEvent *event);
+ void keyReleaseEvent(QKeyEvent *event);
+
void leaveEvent(QEvent *event);
public Q_SLOTS:
pv::views::trace::View &view_;
QPoint mouse_point_;
QPoint mouse_down_point_;
+ pv::util::Timestamp mouse_down_offset_;
shared_ptr<ViewItem> mouse_down_item_;
+
+ /// Keyboard modifiers that were active when mouse was last moved or clicked
+ Qt::KeyboardModifiers mouse_modifiers_;
+
bool item_dragging_;
};
} // namespace views
} // namespace pv
-#endif // PULSEVIEW_PV_VIEWWIDGET_HPP
+#endif // PULSEVIEW_PV_VIEWS_TRACE_VIEWWIDGET_HPP