]> sigrok.org Git - pulseview.git/commitdiff
Signal: Added scale_handle_offset, scale_handle_dragged and scale_handle_released
authorJoel Holdsworth <redacted>
Tue, 1 Sep 2015 02:13:08 +0000 (20:13 -0600)
committerJoel Holdsworth <redacted>
Sun, 18 Oct 2015 21:32:29 +0000 (15:32 -0600)
pv/view/analogsignal.cpp
pv/view/analogsignal.hpp
pv/view/logicsignal.cpp
pv/view/logicsignal.hpp
pv/view/signal.hpp

index efde2941d9137041b0c3fcfa9b882d3d882c0ff8..df1edcf9739906316269259c9c9418947816625b 100644 (file)
@@ -82,6 +82,16 @@ std::pair<int, int> AnalogSignal::v_extents() const
        return make_pair(-NominalHeight / 2, NominalHeight / 2);
 }
 
+int AnalogSignal::scale_handle_offset() const
+{
+       return -NominalHeight / 3;
+}
+
+void AnalogSignal::scale_handle_dragged(int offset)
+{
+       (void)offset;
+}
+
 void AnalogSignal::paint_back(QPainter &p, const ViewItemPaintParams &pp)
 {
        if (channel_->enabled())
index 72ff23b366fa96ba44e795452cdad1acafae15f9..58c2d3cb7b622e419ce1fcb19d83ed5edf7480fb 100644 (file)
@@ -59,6 +59,17 @@ public:
         */
        std::pair<int, int> v_extents() const;
 
+       /**
+        * Returns the offset to show the drag handle.
+        */
+       int scale_handle_offset() const;
+
+       /**
+        * Handles the scale handle being dragged to an offset.
+        * @param offset the offset the scale handle was dragged to.
+        */
+       void scale_handle_dragged(int offset);
+
        /**
         * Paints the background layer of the signal with a QPainter
         * @param p the QPainter to paint into.
index d529cabfb80eab75edcb8ccce37d1b5033dd2f1a..573d1b780645dd4304295f1543f66f0fb76f4835 100644 (file)
@@ -150,6 +150,16 @@ std::pair<int, int> LogicSignal::v_extents() const
        return make_pair(-SignalHeight - SignalMargin, SignalMargin);
 }
 
+int LogicSignal::scale_handle_offset() const
+{
+       return SignalHeight;
+}
+
+void LogicSignal::scale_handle_dragged(int offset)
+{
+       (void)offset;
+}
+
 void LogicSignal::paint_back(QPainter &p, const ViewItemPaintParams &pp)
 {
        if (channel_->enabled())
index 0705613eb3b9252de57eb566d59505cba297ff1c..71dcc0361404648091532a767209b9d88e9170bc 100644 (file)
@@ -86,6 +86,17 @@ public:
         */
        std::pair<int, int> v_extents() const;
 
+       /**
+        * Returns the offset to show the drag handle.
+        */
+       int scale_handle_offset() const;
+
+       /**
+        * Handles the scale handle being dragged to an offset.
+        * @param offset the offset the scale handle was dragged to.
+        */
+       void scale_handle_dragged(int offset);
+
        /**
         * Paints the background layer of the signal with a QPainter
         * @param p the QPainter to paint into.
index d96a85cf3b82ca3854efcc1c99ff5bdf8759c9e4..714b44f6d9d27fcfc4881dc9e4850138f575b0a4 100644 (file)
@@ -81,6 +81,22 @@ public:
 
        void delete_pressed();
 
+       /**
+        * Returns the offset to show the drag handle.
+        */
+       virtual int scale_handle_offset() const = 0;
+
+       /**
+        * Handles the scale handle being dragged to an offset.
+        * @param offset the offset the scale handle was dragged to.
+        */
+       virtual void scale_handle_dragged(int offset) = 0;
+
+       /**
+        * Handles the scale handle being being released.
+        */
+       virtual void scale_handle_released() {};
+
 private Q_SLOTS:
        void on_disable();