]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/viewport.hpp
Make AnalogSignal inherit LogicSignal
[pulseview.git] / pv / views / trace / viewport.hpp
index a49084b43ebe901f6e9cd7bb6ab2ad199e41e580..8c82354ea8dcfb6f2e75ddeb8a34b35932087ef5 100644 (file)
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef PULSEVIEW_PV_VIEWS_TRACEVIEW_VIEWPORT_HPP
-#define PULSEVIEW_PV_VIEWS_TRACEVIEW_VIEWPORT_HPP
+#ifndef PULSEVIEW_PV_VIEWS_TRACE_VIEWPORT_HPP
+#define PULSEVIEW_PV_VIEWS_TRACE_VIEWPORT_HPP
 
 #include <boost/optional.hpp>
 
+#include <QPoint>
 #include <QTimer>
 #include <QTouchEvent>
 
+#include <pv/globalsettings.hpp>
+
 #include "pv/util.hpp"
 #include "viewwidget.hpp"
 
@@ -41,12 +44,13 @@ namespace trace {
 
 class View;
 
-class Viewport : public ViewWidget
+class Viewport : public ViewWidget, public GlobalSettingsInterface
 {
        Q_OBJECT
 
 public:
        explicit Viewport(View &parent);
+       ~Viewport();
 
        /**
         * Gets the first view item which has a hit-box that contains @c pt .
@@ -62,7 +66,7 @@ private:
         * @param item The item that is being hovered over, or @c nullptr
         * if no view item is being hovered over.
         */
-       void item_hover(const shared_ptr<ViewItem> &item);
+       void item_hover(const shared_ptr<ViewItem> &item, QPoint pos);
 
        /**
         * Sets this item into the dragged state.
@@ -91,15 +95,18 @@ private:
         */
        bool touch_event(QTouchEvent *event);
 
-private:
        void paintEvent(QPaintEvent *event);
 
        void mouseDoubleClickEvent(QMouseEvent *event);
+
        void wheelEvent(QWheelEvent *event);
 
+       void on_setting_changed(const QString &key, const QVariant &value);
+
 private:
        boost::optional<pv::util::Timestamp> drag_offset_;
        int drag_v_offset_;
+       bool allow_vertical_dragging_;
 
        double pinch_offset0_;
        double pinch_offset1_;
@@ -110,4 +117,4 @@ private:
 } // namespace views
 } // namespace pv
 
-#endif // PULSEVIEW_PV_VIEWS_TRACEVIEW_VIEWPORT_HPP
+#endif // PULSEVIEW_PV_VIEWS_TRACE_VIEWPORT_HPP