+ QWidget *parent = nullptr);
+
+ ~MainWindow();
+
+ static void show_session_error(const QString text, const QString info_text);
+
+ shared_ptr<views::ViewBase> get_active_view() const;
+
+ shared_ptr<views::ViewBase> add_view(ViewType type, Session &session);
+
+ void remove_view(shared_ptr<ViewBase> view);
+
+ shared_ptr<subwindows::SubWindowBase> add_subwindow(
+ subwindows::SubWindowType type, Session &session);
+
+ 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,
+ string open_setup_file_name);
+
+ void add_default_session();
+
+ void save_sessions();
+ void restore_sessions();