X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fmainwindow.h;h=47d3e66d0cad0efa131b7a72b4d796026966eb34;hp=61a8456fe802582b80b1b22e982eaa18d40d1520;hb=140181a46034cf65739ba4bf0bf1260ab94ac736;hpb=4f04b82aaa829fca0198380bb430f7b906f5c9f4 diff --git a/pv/mainwindow.h b/pv/mainwindow.h index 61a8456f..47d3e66d 100644 --- a/pv/mainwindow.h +++ b/pv/mainwindow.h @@ -21,6 +21,8 @@ #ifndef PULSEVIEW_PV_MAINWINDOW_H #define PULSEVIEW_PV_MAINWINDOW_H +#include + #include #include "sigsession.h" @@ -35,7 +37,9 @@ class QWidget; namespace pv { +namespace toolbars { class SamplingBar; +} namespace view { class View; @@ -46,36 +50,26 @@ class MainWindow : public QMainWindow Q_OBJECT public: - explicit MainWindow(QWidget *parent = 0); + explicit MainWindow(const char *open_file_name = NULL, + QWidget *parent = 0); private: void setup_ui(); + void scan_devices(); -private: - - SigSession _session; - pv::view::View *_view; - - QAction *_action_open; - QAction *_action_view_zoom_in; - QAction *_action_view_zoom_out; - QAction *_action_view_show_cursors; - QAction *_action_about; + void session_error(const QString text, const QString info_text); - QMenuBar *_menu_bar; - QMenu *_menu_file; - QMenu *_menu_view; - QMenu *_menu_help; - - QWidget *_central_widget; - QVBoxLayout *_vertical_layout; +private slots: + void load_file(QString file_name); - QToolBar *_toolbar; - SamplingBar *_sampling_bar; -private slots: + 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(); @@ -88,6 +82,33 @@ private slots: void run_stop(); void capture_state_changed(int state); + +private: + + SigSession _session; + std::list _devices; + + pv::view::View *_view; + + QMenuBar *_menu_bar; + QMenu *_menu_file; + QAction *_action_open; + QAction *_action_connect; + QAction *_action_quit; + + QMenu *_menu_view; + QAction *_action_view_zoom_in; + QAction *_action_view_zoom_out; + QAction *_action_view_show_cursors; + + QMenu *_menu_help; + QAction *_action_about; + + QWidget *_central_widget; + QVBoxLayout *_vertical_layout; + + QToolBar *_toolbar; + toolbars::SamplingBar *_sampling_bar; }; } // namespace pv