X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fmainwindow.h;h=001c28b037033d5394088b94455b046198799e2f;hb=b08d7222556b0a56b4fc61782faa4664a0368d59;hp=ac48852e4949e452c86e64d13051d4ff128f44e2;hpb=18203d86e200131f50e9830c4f16a9edba96d669;p=pulseview.git diff --git a/pv/mainwindow.h b/pv/mainwindow.h index ac48852e..001c28b0 100644 --- a/pv/mainwindow.h +++ b/pv/mainwindow.h @@ -23,6 +23,8 @@ #include +#include + #include #include "sigsession.h" @@ -37,7 +39,12 @@ class QWidget; namespace pv { +class DeviceManager; + +namespace toolbars { +class ContextBar; class SamplingBar; +} namespace view { class View; @@ -48,17 +55,56 @@ class MainWindow : public QMainWindow Q_OBJECT public: - explicit MainWindow(const char *open_file_name = NULL, + explicit MainWindow(DeviceManager &device_manager, + const char *open_file_name = NULL, QWidget *parent = 0); private: void setup_ui(); - void scan_devices(); + + void session_error(const QString text, const QString info_text); + + /** + * Updates the device list in the sampling bar, and updates the + * selection. + * @param selected_device The device to select, or NULL if the + * first device in the device list should be selected. + */ + void update_device_list( + struct sr_dev_inst *selected_device = NULL); + +private slots: + void load_file(QString file_name); + + + void show_session_error( + const QString text, const QString info_text); + + void on_actionOpen_triggered(); + void on_actionQuit_triggered(); + + void on_actionConnect_triggered(); + + void on_actionViewZoomIn_triggered(); + + void on_actionViewZoomOut_triggered(); + + void on_actionViewShowCursors_triggered(); + + void on_actionAbout_triggered(); + + void device_selected(); + + void run_stop(); + + void capture_state_changed(int state); + + void view_selection_changed(); private: + DeviceManager &_device_manager; SigSession _session; - std::list _devices; pv::view::View *_view; @@ -80,27 +126,8 @@ private: QVBoxLayout *_vertical_layout; QToolBar *_toolbar; - SamplingBar *_sampling_bar; - -private slots: - void load_file(QString file_name); - - void on_actionOpen_triggered(); - void on_actionQuit_triggered(); - - void on_actionConnect_triggered(); - - void on_actionViewZoomIn_triggered(); - - void on_actionViewZoomOut_triggered(); - - void on_actionViewShowCursors_triggered(); - - void on_actionAbout_triggered(); - - void run_stop(); - - void capture_state_changed(int state); + toolbars::SamplingBar *_sampling_bar; + toolbars::ContextBar *_context_bar; }; } // namespace pv