#ifndef STORYVOLUMESOURCEEDIT_H #define STORYVOLUMESOURCEEDIT_H #include "SourceEditView.h" namespace Components { class StoryVolumeSourceEditFactory : public Core::FileExtensionFactory { // PluginFactory interface public: virtual Core::Extension *newInstance(Core::AppCore *core) override; virtual QList configs() const override; virtual QWidget *getNewPanel(Config::Configration *config) override; virtual QString extensionName() const override; virtual QList suffixPeers() const override; }; class StoryVolumeSourceEdit : public FormattedTextEdit { public: StoryVolumeSourceEdit(Core::FileExtensionFactory *factory); // Extension interface public: virtual Core::FileExtensionFactory *factory() const override; virtual void reload(QList configs) override; virtual void resetProcsType(const QString &suffix) override; // ModeView interface public: virtual void modeReset(const QString &type) const override; virtual QList modes() const override; virtual QString currentMode() const override; virtual QString title() const override; // VariedTextView interface public: virtual void setSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent) override; // FormattedTextEdit interface protected: virtual void rehighlighter() override; private: QSyntaxHighlighter *const words_highlighter; Core::FileExtensionFactory *const factory_ins; QFileInfo source_target; // VariedTextView interface public: virtual void jumpTo(const QList &path) override; }; } #endif // STORYVOLUMESOURCEEDIT_H