X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fview%2Fdecodesignal.h;h=efa3449575942e1a4b69170276c3094b770c8256;hb=ad50ac1af2b9e8bc0a8c520d80debfd8ad95c904;hp=95459d68fd7da43faa97474610f94a6a89d0aa7b;hpb=e0fc58100fbcd6c3bfd5aecb213d7541a3436622;p=pulseview.git diff --git a/pv/view/decodesignal.h b/pv/view/decodesignal.h index 95459d68..efa34495 100644 --- a/pv/view/decodesignal.h +++ b/pv/view/decodesignal.h @@ -18,8 +18,8 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef PULSEVIEW_PV_DECODESIGNAL_H -#define PULSEVIEW_PV_DECODESIGNAL_H +#ifndef PULSEVIEW_PV_VIEW_DECODESIGNAL_H +#define PULSEVIEW_PV_VIEW_DECODESIGNAL_H #include "trace.h" @@ -37,33 +37,48 @@ class DecodeSignal : public Trace { Q_OBJECT +private: + static const QColor DecodeColours[4]; + static const QColor ErrorBgColour; + public: DecodeSignal(pv::SigSession &session, - boost::shared_ptr decoder); - - void init_context_bar_actions(QWidget *parent); + boost::shared_ptr decoder, int index); bool enabled() const; + const boost::shared_ptr& decoder() const; + void set_view(pv::view::View *view); /** - * Paints the trace with a QPainter + * Paints the background layer of the trace with a QPainter + * @param p the QPainter to paint into. + * @param left the x-coordinate of the left edge of the signal. + * @param right the x-coordinate of the right edge of the signal. + **/ + void paint_back(QPainter &p, int left, int right); + + /** + * Paints the mid-layer of the trace with a QPainter * @param p the QPainter to paint into. * @param left the x-coordinate of the left edge of the signal * @param right the x-coordinate of the right edge of the signal **/ - void paint(QPainter &p, int left, int right); + void paint_mid(QPainter &p, int left, int right); + + QMenu* create_context_menu(QWidget *parent); - const std::list get_context_bar_actions(); + void delete_pressed(); private: + void draw_error(QPainter &p, const QString &message, + int left, int right); - /** - * When painting into the rectangle, calculate the y - * offset of the zero point. - **/ - int get_nominal_offset(const QRect &rect) const; +private slots: + void on_new_decode_data(); + + void on_delete(); private: boost::shared_ptr _decoder; @@ -74,4 +89,4 @@ private: } // namespace view } // namespace pv -#endif // PULSEVIEW_PV_DECODESIGNAL_H +#endif // PULSEVIEW_PV_VIEW_DECODESIGNAL_H