#define PULSEVIEW_PV_MAINWINDOW_HPP
#include <list>
+#include <map>
#include <memory>
+#include <glibmm/variant.h>
+
#include <QMainWindow>
#include "session.hpp"
class QVBoxLayout;
namespace sigrok {
-class Device;
+class InputFormat;
class OutputFormat;
}
namespace widgets {
#ifdef ENABLE_DECODE
class DecoderMenu;
-#endif /* ENABLE_DECODE */
+#endif
}
class MainWindow : public QMainWindow
#ifdef ENABLE_DECODE
QMenu* menu_decoder_add() const;
-#endif /* ENABLE_DECODE */
+#endif
void run_stop();
- void select_device(std::shared_ptr<sigrok::Device> device);
+ void select_device(std::shared_ptr<devices::Device> device);
public Q_SLOTS:
void export_file(std::shared_ptr<sigrok::OutputFormat> format);
+ void import_file(std::shared_ptr<sigrok::InputFormat> format);
private:
void setup_ui();
void keyReleaseEvent(QKeyEvent *event);
private Q_SLOTS:
- void load_file(QString file_name);
+ void load_file(QString file_name,
+ std::shared_ptr<sigrok::InputFormat> format = nullptr,
+ const std::map<std::string, Glib::VariantBase> &options =
+ std::map<std::string, Glib::VariantBase>());
void show_session_error(
const QString text, const QString info_text);
#ifdef ENABLE_DECODE
QMenu *const menu_decoders_add_;
-#endif /* ENABLE_DECODE */
+#endif
};
} // namespace pv