QtNovelUI/WordsIDE/storyunitsourceedit.h

77 lines
2.3 KiB
C
Raw Normal View History

#ifndef STORYUNITSOURCEEDIT_H
#define STORYUNITSOURCEEDIT_H
#include "SourceEditView.h"
#include <QSplitter>
#include <QTableView>
namespace Components {
class StoryUnitSourceEditFactory : public Core::FileExtensionFactory
{
// PluginFactory interface
public:
2022-11-25 01:18:54 +00:00
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;
2022-11-25 01:32:42 +00:00
virtual QList<QString> suffixPeers() const override;
};
class StoryUnitSourceEdit : public FormattedTextEdit
{
public:
StoryUnitSourceEdit(Core::FileExtensionFactory *factory);
2023-01-01 05:10:31 +00:00
virtual ~StoryUnitSourceEdit();
// Plugin interface
public:
virtual Core::FileExtensionFactory *factory() const override;
2022-11-29 03:47:12 +00:00
virtual void reloadConfigrations(QList<Config::Configration *> configs) 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;
// FormattedTextEdit interface
protected:
virtual void rehighlighter() override;
// VariedTextView interface
public:
2022-11-29 03:47:12 +00:00
virtual void initSource(Core::AppCore *core, const QFileInfo &src, QWidget *parent=nullptr) override;
private:
QTableView *const refers_descriptions;
QStandardItemModel *const refers_model;
QSplitter *const split;
QSyntaxHighlighter *const words_highlighter;
Core::FileExtensionFactory *const factory_ins;
QFileInfo source_target;
Core::AppCore *core_ins;
void cursor_contex_query();
void present_refersed_tips(const QString &unit, const QString &frag);
// VariedTextView interface
public:
virtual void jumpTo(const QList<QString> &path) override;
// Extension interface
public:
virtual void resetProcsType(const QString &suffix) override;
// VariedTextView interface
public:
virtual QWidget *textView() const override;
};
}
#endif // STORYUNITSOURCEEDIT_H