]> sigrok.org Git - pulseview.git/blobdiff - pv/view/viewport.hpp
ViewWidget: Moved in event and touch_event
[pulseview.git] / pv / view / viewport.hpp
index 3cc59c9479d5e5a87abb48f078bfbface8d35aa4..43905337fefaad1c4b78cc6a71ef432212e15c11 100644 (file)
@@ -42,18 +42,35 @@ class Viewport : public ViewWidget
 public:
        explicit Viewport(View &parent);
 
-protected:
-       void paintEvent(QPaintEvent *event);
+private:
+       /**
+        * Gets the first view item which has a hit-box that contains @c pt .
+        * @param pt the point to search with.
+        * @return the view item that has been found, or and empty
+        *   @c shared_ptr if no item was found.
+        */
+       std::shared_ptr<pv::view::ViewItem> get_mouse_over_item(
+               const QPoint &pt);
+
+       /**
+        * Gets the items in the view widget.
+        */
+       std::vector< std::shared_ptr<pv::view::ViewItem> > items();
+
+       /**
+        * Handles touch begin update and end events.
+        * @param e the event that triggered this handler.
+        */
+       bool touch_event(QTouchEvent *e);
 
 private:
-       bool event(QEvent *event);
+       void paintEvent(QPaintEvent *event);
+
        void mousePressEvent(QMouseEvent *event);
        void mouseReleaseEvent(QMouseEvent *event);
        void mouseMoveEvent(QMouseEvent *event);
        void mouseDoubleClickEvent(QMouseEvent * event);
        void wheelEvent(QWheelEvent *event);
-       bool touchEvent(QTouchEvent *e);
-
 private:
        QPoint mouse_down_point_;
        double mouse_down_offset_;