]> sigrok.org Git - pulseview.git/blobdiff - pv/dialogs/decoder.h
Fixes for clang build on OS X
[pulseview.git] / pv / dialogs / decoder.h
index 9d61202fcb7d447fa55b867f96eb1ca0c680576f..56f02aa4480bf627d52d66883ed6cfc2ae8940ec 100644 (file)
 #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 <QFormLayout>
+#include <QLabel>
 #include <QVBoxLayout>
 
+#include <pv/prop/binding/decoderoptions.h>
+
+struct srd_decoder;
+
 namespace pv {
+
+namespace view {
+class Signal;
+}
+
 namespace dialogs {
 
 class Decoder : public QDialog
 {
 public:
-       Decoder(QWidget *parent);
+       Decoder(QWidget *parent, const srd_decoder *decoder,
+               const std::vector< boost::shared_ptr<view::Signal> > &sigs,
+               GHashTable *options);
+
+       void accept();
+
+       std::map<const srd_probe*, boost::shared_ptr<view::Signal> >
+               get_probes();
+
+private:
+       QComboBox* create_probe_selector(
+               QWidget *parent, const char *name);
 
 private:
+       const std::vector< boost::shared_ptr<view::Signal> > &_sigs;
+
+       std::map<const srd_probe*, QComboBox*> _probe_selector_map;
+
+       pv::prop::binding::DecoderOptions _binding;
+
        QVBoxLayout _layout;
 
        QWidget _form;
        QFormLayout _form_layout;
 
+       QLabel _heading;
        QDialogButtonBox _button_box;
 };