#ifndef PULSEVIEW_PV_DECODER_H
#define PULSEVIEW_PV_DECODER_H
+#include <vector>
+#include <map>
+
+#include <boost/shared_ptr.hpp>
+
#include <QComboBox>
#include <QDialog>
#include <QDialogButtonBox>
#include <QLabel>
#include <QVBoxLayout>
+#include <pv/prop/binding/decoderoptions.h>
+
struct srd_decoder;
namespace pv {
+
+namespace view {
+class LogicSignal;
+}
+
namespace dialogs {
class Decoder : public QDialog
{
public:
- Decoder(QWidget *parent, const srd_decoder *decoder);
+ Decoder(QWidget *parent, const srd_decoder *decoder,
+ const std::vector< boost::shared_ptr<view::LogicSignal> > &sigs,
+ GHashTable *options);
+
+ void accept();
+
+ std::map<const srd_probe*, boost::shared_ptr<view::LogicSignal> >
+ get_probes();
+
+private:
+ QComboBox* create_probe_selector(
+ QWidget *parent, const char *name);
private:
- const srd_decoder *const _decoder;
+ const std::vector< boost::shared_ptr<view::LogicSignal> > &_sigs;
+
+ std::map<const srd_probe*, QComboBox*> _probe_selector_map;
+
+ pv::prop::binding::DecoderOptions _binding;
QVBoxLayout _layout;