QtNovelUI/WordsIDE/storyvolumesourceedit.h

60 lines
1.8 KiB
C++

#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<Core::Scale> configs() const override;
virtual QWidget *getNewPanel(Config::Configration *config) override;
virtual QString extensionName() const override;
virtual QList<QString> 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<Config::Configration *> configs) override;
virtual void resetProcsType(const QString &suffix) override;
// ModeView interface
public:
virtual void modeReset(const QString &type) const override;
virtual QList<QString> 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<QString> &path) override;
};
}
#endif // STORYVOLUMESOURCEEDIT_H