+ 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);
+
+ void add_session_with_file(string open_file_name, string open_file_format);
+
+ void add_default_session();