X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fviewport.hpp;h=be3e7d32b719a7d80ca87df69216fbde735b963f;hb=e9e4e5e7ea46132262fbd53f708dafc039b3b24f;hp=07bfcad9c5263a49b2fa5d22e9992dbf0541add5;hpb=2b81ae4682ade4109ffa442794de36ceb32045eb;p=pulseview.git diff --git a/pv/view/viewport.hpp b/pv/view/viewport.hpp index 07bfcad..be3e7d3 100644 --- a/pv/view/viewport.hpp +++ b/pv/view/viewport.hpp @@ -22,9 +22,10 @@ #define PULSEVIEW_PV_VIEW_VIEWPORT_H #include -#include #include +#include "viewwidget.hpp" + class QPainter; class QPaintEvent; class Session; @@ -34,17 +35,30 @@ namespace view { class View; -class Viewport : public QWidget +class Viewport : public ViewWidget { Q_OBJECT public: explicit Viewport(View &parent); -protected: +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 get_mouse_over_item( + const QPoint &pt); + + /** + * Gets the items in the view widget. + */ + std::vector< std::shared_ptr > items(); + void paintEvent(QPaintEvent *event); -private: bool event(QEvent *event); void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); @@ -53,12 +67,7 @@ private: void wheelEvent(QWheelEvent *event); bool touchEvent(QTouchEvent *e); -private Q_SLOTS: - void on_signals_moved(); - private: - View &view_; - QPoint mouse_down_point_; double mouse_down_offset_; bool mouse_down_valid_;