#ifndef SRCEDIT_DEFAULTTEXT_H #define SRCEDIT_DEFAULTTEXT_H #include "DocsManager.h" #include #include #include namespace Presents { /** * @brief Text默认文本编辑视图 */ class DefaultTextEdit : public Presents::FilePresent { DECL_PRESENT(DefaultTextEdit); public: DefaultTextEdit(Core::DocumentsManager *mgr, const Core::Route &path, QObject *parent); virtual ~DefaultTextEdit() = default; private: Core::DocumentsManager *const mgr_inst; Core::Route path_store; QTextEdit * edit_square; QFileInfo source_target; QString name_store; QString target_file_path; // FilePresent interface public: virtual QWidget *widget() const override; virtual void applySetting(const QString &name) override; virtual QString name() const override; virtual void load(const QFileInfo &target_file) override; virtual void saveAs(const QString &path) override; virtual QString relativeTargetPath(const QDir &base) const override; virtual bool isModified() const override; virtual QString absoluteTargetPath() const override; virtual void jumpTo(const QList &path) override; virtual Core::Route accessPath() const override; // PresentBase interface public: virtual void beforeClose() override; virtual Core::DocumentsManager *docsManager() const override; }; class DefaultTextEditFactory : public Presents::TypedPresentFactory { public: virtual ~DefaultTextEditFactory() = default; // PresentFactory interface public: virtual void create(const QFileInfo &target) override; }; } // namespace Presents #endif // SRCEDIT_DEFAULTTEXT_H