]> sigrok.org Git - pulseview.git/blobdiff - pv/view/logicsignal.h
Added trigger buttons to LogicSignal context bar.
[pulseview.git] / pv / view / logicsignal.h
index e20f13c7a9fdb803a285d19c1fd19657f3476513..c1b83d0ba5a64259624f21e62271dc3799e4f458 100644 (file)
@@ -42,22 +42,28 @@ private:
        static const QColor HighColour;
        static const QColor LowColour;
 
-       static const QColor LogicSignalColours[10];
+       static const QColor SignalColours[10];
 
 public:
-       LogicSignal(QString name,
-               boost::shared_ptr<pv::data::Logic> data,
-               int probe_index);
+       LogicSignal(const sr_probe *const probe,
+               boost::shared_ptr<pv::data::Logic> data);
+
+       virtual ~LogicSignal();
+
+       const std::list<QAction*> get_context_bar_actions();
 
        /**
         * Paints the signal with a QPainter
         * @param p the QPainter to paint into.
-        * @param rect the rectangular area to draw the trace into.
+        * @param y the y-coordinate to draw the signal at.
+        * @param left the x-coordinate of the left edge of the signal.
+        * @param right the x-coordinate of the right edge of the signal.
         * @param scale the scale in seconds per pixel.
         * @param offset the time to show at the left hand edge of
         *   the view in seconds.
         **/
-       void paint(QPainter &p, const QRect &rect, double scale, double offset);
+       void paint(QPainter &p, int y, int left, int right, double scale,
+               double offset);
 
 private:
 
@@ -66,15 +72,23 @@ private:
                bool level, double samples_per_pixel, double pixels_offset,
                float x_offset, float y_offset);
 
-       /**
-        * When painting into the rectangle, calculate the y
-        * offset of the zero point.
-        **/
-       int get_nominal_offset(const QRect &rect) const;
-
 private:
-       int _probe_index;
        boost::shared_ptr<pv::data::Logic> _data;
+
+       QAction _separator;
+
+       QIcon _icon_trigger_none;
+       QAction _trigger_none;
+       QIcon _icon_trigger_rising;
+       QAction _trigger_rising;
+       QIcon _icon_trigger_high;
+       QAction _trigger_high;
+       QIcon _icon_trigger_falling;
+       QAction _trigger_falling;
+       QIcon _icon_trigger_low;
+       QAction _trigger_low;
+       QIcon _icon_trigger_change;
+       QAction _trigger_change;
 };
 
 } // namespace view