X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;ds=inline;f=pv%2Fview%2Fviewport.hpp;h=be3e7d32b719a7d80ca87df69216fbde735b963f;hb=e9e4e5e7ea46132262fbd53f708dafc039b3b24f;hp=1171a70730c8ed9490e5de549c19b46b250de8a0;hpb=2acdb232d6bb452cfdfaea3ef5218fb4da592329;p=pulseview.git diff --git a/pv/view/viewport.hpp b/pv/view/viewport.hpp index 1171a70..be3e7d3 100644 --- a/pv/view/viewport.hpp +++ b/pv/view/viewport.hpp @@ -22,29 +22,43 @@ #define PULSEVIEW_PV_VIEW_VIEWPORT_H #include -#include #include +#include "viewwidget.hpp" + class QPainter; class QPaintEvent; -class SigSession; +class Session; namespace pv { 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_;