projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
MainWindow: Use a QTabWidget to display the QDockWidgets
[pulseview.git]
/
pv
/
mainwindow.hpp
diff --git
a/pv/mainwindow.hpp
b/pv/mainwindow.hpp
index 2e4c6bbdcd5e5d00f921acdb741016fb2a581f37..e9cecfb1deab73c4fcf3cb81578b3d5829c71c65 100644
(file)
--- a/
pv/mainwindow.hpp
+++ b/
pv/mainwindow.hpp
@@
-26,9
+26,10
@@
#include <memory>
#include <QMainWindow>
#include <memory>
#include <QMainWindow>
+#include <QTabWidget>
#include "session.hpp"
#include "session.hpp"
-#include "view
/viewwidget
.hpp"
+#include "view
s/viewbase
.hpp"
struct srd_decoder;
struct srd_decoder;
@@
-57,6
+58,9
@@
class MainWindow : public QMainWindow
{
Q_OBJECT
{
Q_OBJECT
+private:
+ static const QString WindowTitle;
+
public:
explicit MainWindow(DeviceManager &device_manager,
std::string open_file_name = std::string(),
public:
explicit MainWindow(DeviceManager &device_manager,
std::string open_file_name = std::string(),
@@
-69,13
+73,15
@@
public:
QAction* action_view_coloured_bg() const;
QAction* action_about() const;
QAction* action_view_coloured_bg() const;
QAction* action_about() const;
- std::shared_ptr<
pv::view::View
> get_active_view() const;
+ std::shared_ptr<
views::ViewBase
> get_active_view() const;
- std::shared_ptr<
pv::view::View
> add_view(const QString &title,
- view::ViewType type, Session &session);
+ std::shared_ptr<
views::ViewBase
> add_view(const QString &title,
+ view
s
::ViewType type, Session &session);
std::shared_ptr<Session> add_session();
std::shared_ptr<Session> add_session();
+ void remove_session(std::shared_ptr<Session> session);
+
private:
void setup_ui();
private:
void setup_ui();
@@
-91,6
+97,16
@@
private:
virtual bool restoreState(const QByteArray &state, int version = 0);
private Q_SLOTS:
virtual bool restoreState(const QByteArray &state, int version = 0);
private Q_SLOTS:
+ void on_add_view(const QString &title, views::ViewType type,
+ Session *session);
+
+ void on_focus_changed();
+
+ void on_new_session();
+ void on_session_name_changed();
+ void on_new_view(Session *session);
+ void on_view_close_clicked();
+
void on_actionViewStickyScrolling_triggered();
void on_actionViewColouredBg_triggered();
void on_actionViewStickyScrolling_triggered();
void on_actionViewColouredBg_triggered();
@@
-100,10
+116,14
@@
private Q_SLOTS:
private:
DeviceManager &device_manager_;
private:
DeviceManager &device_manager_;
- std::
vector
< std::shared_ptr<Session> > sessions_;
+ std::
list
< std::shared_ptr<Session> > sessions_;
std::map< std::shared_ptr<QDockWidget>,
std::map< std::shared_ptr<QDockWidget>,
- std::shared_ptr<pv::view::View> > view_docks_;
+ std::shared_ptr<views::ViewBase> > view_docks_;
+
+ std::map< std::shared_ptr<Session>, QMainWindow*> session_windows_;
+
+ QTabWidget session_selector_;
QAction *const action_view_sticky_scrolling_;
QAction *const action_view_coloured_bg_;
QAction *const action_view_sticky_scrolling_;
QAction *const action_view_coloured_bg_;