#ifndef SOURCECODEEDITOR_H #define SOURCECODEEDITOR_H #include "SourceEditView.h" #include "appcore.h" #include namespace Components { class SourceCodeEditorFactory : public Core::FileExtensionFactory { // ExtensionFactory 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; // FileExtensionFactory interface public: virtual QList suffixPeers() const override; }; class SourceCodeEditor : public FormattedTextEdit { public: SourceCodeEditor(Core::FileExtensionFactory *factory); private: Core::FileExtensionFactory *const factory_ins; QSyntaxHighlighter *const highlighter_ins; Core::AppCore *core_ins; QString procs_type; void concept_jump(const QList &path); // Extension interface public: virtual Core::ExtensionFactory *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; // VariedTextView interface public: virtual void jumpTo(const QList &path) override; virtual void setSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent) override; // FormattedTextEdit interface protected: virtual void rehighlighter() override; }; } #endif // SOURCECODEEDITOR_H