]> sigrok.org Git - pulseview.git/blobdiff - pv/mainwindow.h
Rename 'probe' to 'channel' (libsigrokdecode change).
[pulseview.git] / pv / mainwindow.h
index b4b64f779de1419ac4686defedd67566c942aa5c..1f9dd528af7a22d152adace7342cb827882197da 100644 (file)
 #include <boost/weak_ptr.hpp>
 
 #include <QMainWindow>
-#include <QSignalMapper>
 
 #include "sigsession.h"
 
-class QAction;
-class QMenuBar;
-class QMenu;
+struct srd_decoder;
+
 class QVBoxLayout;
-class QStatusBar;
-class QToolBar;
-class QWidget;
 
 namespace pv {
 
 class DeviceManager;
 
+namespace device {
+class DevInst;
+}
+
 namespace toolbars {
 class ContextBar;
 class SamplingBar;
@@ -51,6 +50,10 @@ namespace view {
 class View;
 }
 
+namespace widgets {
+class DecoderMenu;
+}
+
 class MainWindow : public QMainWindow
 {
        Q_OBJECT
@@ -66,16 +69,9 @@ private:
        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.
+        * Updates the device list in the sampling bar
         */
-       void update_device_list(
-               struct sr_dev_inst *selected_device = NULL);
-
-       static gint decoder_name_cmp(gconstpointer a, gconstpointer b);
-       void setup_add_decoders(QMenu *parent);
+       void update_device_list();
 
 private slots:
        void load_file(QString file_name);
@@ -85,6 +81,7 @@ private slots:
                const QString text, const QString info_text);
 
        void on_actionOpen_triggered();
+       void on_actionSaveAs_triggered();
        void on_actionQuit_triggered();
 
        void on_actionConnect_triggered();
@@ -93,20 +90,20 @@ private slots:
 
        void on_actionViewZoomOut_triggered();
 
+       void on_actionViewZoomFit_triggered();
+
+       void on_actionViewZoomOneToOne_triggered();
+
        void on_actionViewShowCursors_triggered();
 
        void on_actionAbout_triggered();
 
-       void device_selected();
-
-       void add_decoder(QObject *action);
+       void add_decoder(srd_decoder *decoder);
 
        void run_stop();
 
        void capture_state_changed(int state);
 
-       void view_selection_changed();
-
 private:
        DeviceManager &_device_manager;
 
@@ -114,30 +111,10 @@ private:
 
        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_decoders;
-       QMenu *_menu_decoders_add;
-       QSignalMapper _decoders_add_mapper;
-
-       QMenu *_menu_help;
-       QAction *_action_about;
-
        QWidget *_central_widget;
        QVBoxLayout *_vertical_layout;
 
-       QToolBar *_toolbar;
        toolbars::SamplingBar *_sampling_bar;
-       toolbars::ContextBar *_context_bar;
 };
 
 } // namespace pv