X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fmainwindow.hpp;h=9a66b3452dc00292151d7c054b6be5627af6cc6c;hp=208cbe4367e163062b59fb8fc05e6e3695da219a;hb=d290e89f9b28f90b898a57c9f5e288602367cb3d;hpb=0fb9d6454c286869d71621b69515802903735057 diff --git a/pv/mainwindow.hpp b/pv/mainwindow.hpp index 208cbe43..9a66b345 100644 --- a/pv/mainwindow.hpp +++ b/pv/mainwindow.hpp @@ -30,6 +30,7 @@ #include #include "session.hpp" +#include "view/viewwidget.hpp" struct srd_decoder; @@ -82,6 +83,8 @@ public: std::string open_file_format = std::string(), QWidget *parent = 0); + ~MainWindow(); + QAction* action_open() const; QAction* action_save_as() const; QAction* action_save_selection_as() const; @@ -100,6 +103,11 @@ public: QMenu* menu_decoder_add() const; #endif + std::shared_ptr get_active_view() const; + + std::shared_ptr add_view(const QString &title, + view::ViewType type, Session &session); + void run_stop(); void select_device(std::shared_ptr device); @@ -140,6 +148,8 @@ private: void keyReleaseEvent(QKeyEvent *event); + virtual QMenu* createPopupMenu(); + private Q_SLOTS: void show_session_error( const QString text, const QString info_text); @@ -181,10 +191,8 @@ private: Session session_; - pv::view::View *view_; - - QWidget *central_widget_; - QVBoxLayout *vertical_layout_; + std::map< std::shared_ptr, + std::shared_ptr > view_docks_; toolbars::MainBar *main_bar_;