+ QWidget *parent = nullptr);
+
+ ~MainWindow();
+
+ shared_ptr<views::ViewBase> get_active_view() const;
+
+ shared_ptr<views::ViewBase> add_view(const QString &title,
+ views::ViewType type, Session &session);
+
+ void remove_view(shared_ptr<views::ViewBase> view);
+
+ shared_ptr<Session> add_session();
+
+ void remove_session(shared_ptr<Session> session);