//#ifndef MAINWINDOW_H //#define MAINWINDOW_H //#include "DocsManager.h" //#include "manager_docs.h" //#include "MessageView.h" //#include "parsebridge.h" //#include "PresentContainer.h" //#include "ProjectView.h" //#include "viewsession.h" //#include "viewstackedbar.h" //#include "welcomepanel.h" //#include "xapp.h" //#include //#include //#include //#include //#include //#include //#include //class MainWindow : public QMainWindow , public Project::ManagerListener{ // Q_OBJECT //public: // MainWindow(XApp *core, const QString &layout, QWidget *parent = nullptr); // virtual ~MainWindow(); // SplitFrame::SplitPanel *bindPresent() const; // QString layoutName() const; // void resetLayoutName(const QString &name); //private: // QString layout_name_store; // // model ============================================ // XApp *const core_bind; // SplitFrame::SplitPanel *const present_host; // Core::ViewSession *const session_service; // // view ============================================= // QToolBar *const actions_stack; // Components::ViewStackedBar *const views_bar; // Components::PresentContainer *const center_frame; // Components::ProjectView *const project_present; // // menu ============================================= // QMenu *project; // QAction *project_open; // QAction *project_new; // QAction *project_close; // QAction *project_newpath; // QMenu *project_newfile; // QAction *project_save; // QAction *software_exit; // QMenu *edit; // QAction *edit_undo; // QAction *edit_redo; // QAction *edit_find; // QAction *edit_replace; // QMenu *view; // QMenu *view_area; // QAction *view_area_toolbar; // QAction *view_area_statusbar; // QAction *view_config; // QMenu *tool; // QAction *tool_console; // QMenu *tool_wcheck; // QAction *tool_wcheck_setting; // QAction *tool_wcheck_wordslist; // QMenu *tool_version; // QAction *tool_version_enable; // QAction *tool_version_setting; // QAction *tool_version_commit; // QAction *tool_version_rollback; // QMenu *tool_inout; // QAction *tool_inout_outline_in; // QAction *tool_inout_outline_out; // QAction *tool_inout_outline_webout; // QAction *tool_inout_storytxt_out; // QAction *tool_inout_storyepub_out; // QMenu *window; // QMenu *window_winnew; // QAction *window_winclose; // QAction *window_layout_store; // QMenu *window_layout_load; // QMenu *window_layout_del; // QMenu *system; // QAction *system_active; // QAction *system_info; // QAction *system_about; // // 内部逻辑 =========================================== // void initial_menubar(QMenuBar *mbar); // void build_project_menu(QMenu *pmenu); // void build_edit_menu(QMenu *pmenu); // void build_view_menu(QMenu *pmenu); // void build_tools_menu(QMenu *pmenu); // void build_window_menu(QMenu *pmenu); // // QWidget interface //protected: // virtual void closeEvent(QCloseEvent *event) override; // // QObject interface // public: // virtual bool eventFilter(QObject *watched, QEvent *event) override; // // Project::ManagerListener interface //public: // virtual void ProjectNEW(const QString &project_file) override; // virtual void ProjectOPEN(const QString &project_file) override; // virtual void hasBeenSAVE() override; // virtual void hasBeenCLOSE() override; // virtual void hasBeenRENAME(const QModelIndex &path, const QString &new_name) override; // virtual void hasBeenAPPEND(const QModelIndex &new_path) override; // virtual void hasBeenMOVE(const QModelIndex &new_path) override; // virtual void aboutToBeSAVE() override; // virtual void aboutToBeCLOSE() override; // virtual void aboutToBeDELETE(const QModelIndex &path) override; // virtual void aboutToBeMOVE(const QModelIndex &old_path) override; //}; //#endif // MAINWINDOW_H