X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fdecodesignal.h;h=7977c1c3ab40cd25497a548888d8958bc1b80de5;hb=4e5a4405482a296ebb6014e627298ad156c78d55;hp=271937b831d87410d202776f83bfd5c6bc0e0033;hpb=fe08b6e8a85c80ae738757f7d85aa38ef7c4bdc3;p=pulseview.git diff --git a/pv/view/decodesignal.h b/pv/view/decodesignal.h index 271937b..7977c1c 100644 --- a/pv/view/decodesignal.h +++ b/pv/view/decodesignal.h @@ -18,13 +18,21 @@ * 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" +#include + #include +#include + +struct srd_probe; + +class QComboBox; + namespace pv { namespace data { @@ -37,14 +45,18 @@ 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); /** @@ -63,23 +75,39 @@ public: **/ void paint_mid(QPainter &p, int left, int right); - const std::list get_context_bar_actions(); + void populate_popup_form(QWidget *parent, QFormLayout *form); + + QMenu* create_context_menu(QWidget *parent); + + 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; + QComboBox* create_probe_selector( + QWidget *parent, const srd_probe *const probe); + + void commit_probes(); + +private slots: + void on_new_decode_data(); + + void on_delete(); + + void on_probe_selected(int); private: boost::shared_ptr _decoder; uint64_t _decode_start, _decode_end; + + pv::prop::binding::DecoderOptions _binding; + + std::map _probe_selector_map; }; } // namespace view } // namespace pv -#endif // PULSEVIEW_PV_DECODESIGNAL_H +#endif // PULSEVIEW_PV_VIEW_DECODESIGNAL_H