2022-11-17 08:26:05 +00:00
|
|
|
#ifndef SOURCEEDITVIEW_H
|
|
|
|
#define SOURCEEDITVIEW_H
|
|
|
|
|
|
|
|
#include "SensitiveCore.h"
|
|
|
|
#include "ContentPresent.h"
|
|
|
|
#include <QSyntaxHighlighter>
|
|
|
|
|
|
|
|
|
|
|
|
#include <QTextEdit>
|
|
|
|
|
|
|
|
namespace Components {
|
2022-11-18 23:47:32 +00:00
|
|
|
class FormattedTextEdit : public MakeTools::VariedTextView,
|
|
|
|
public ContentPresent::ModeView, public Core::ConfigHost
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
FormattedTextEdit(const QFileInfo &file, QWidget *parent = nullptr);
|
|
|
|
virtual ~FormattedTextEdit() = default;
|
|
|
|
|
|
|
|
// ModeView interface
|
|
|
|
public:
|
|
|
|
virtual Core::ConfigHost *getConfigHost() const override;
|
|
|
|
|
|
|
|
// VariedTextView interface
|
|
|
|
public:
|
|
|
|
virtual QWidget *textView() const override;
|
|
|
|
virtual QString textContent() const override;
|
|
|
|
virtual void textContentReset(const QString &value) override;
|
|
|
|
|
|
|
|
// ConfigHost interface
|
|
|
|
public:
|
|
|
|
virtual QList<Core::Scale> configs() const override;
|
|
|
|
virtual void reload(QList<Config::Configration *> configs) override;
|
|
|
|
virtual QWidget *getPanel(Config::Configration *config) override;
|
|
|
|
|
|
|
|
private:
|
|
|
|
QTextEdit *const edit_square;
|
|
|
|
QFileInfo source_target;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
QList<Config::Configration*> configrations_host;
|
|
|
|
|
|
|
|
virtual void rehighlighter() = 0;
|
|
|
|
};
|
|
|
|
|
2022-11-17 08:26:05 +00:00
|
|
|
/**
|
|
|
|
* @brief StoryChain源码编辑器
|
|
|
|
*/
|
|
|
|
class StoryChainSourceEdit : public MakeTools::VariedTextView, public ContentPresent::ModeView
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
StoryChainSourceEdit(const QFileInfo &file, QWidget *parent = nullptr);
|
|
|
|
virtual ~StoryChainSourceEdit() = default;
|
|
|
|
|
|
|
|
// ModeView interface
|
|
|
|
public:
|
|
|
|
virtual void modeReset(const QString &) const override;
|
|
|
|
virtual QList<QString> modes() const override;
|
|
|
|
virtual QString currentMode() const override;
|
|
|
|
virtual QString title() const override;
|
2022-11-18 23:47:32 +00:00
|
|
|
virtual Core::ConfigHost *getConfigHost() const override;
|
2022-11-17 08:26:05 +00:00
|
|
|
|
|
|
|
// VariedTextView interface
|
|
|
|
public:
|
|
|
|
virtual void reset(Parse::Result::DocCore *syntax_base) override;
|
|
|
|
virtual QWidget *textView() const override;
|
|
|
|
virtual QString textContent() const override;
|
|
|
|
virtual void textContentReset(const QString &value) override;
|
|
|
|
|
|
|
|
private:
|
|
|
|
QTextEdit *const edit_square;
|
|
|
|
QSyntaxHighlighter *const highter_ins;
|
|
|
|
Parse::Result::DocCore * core_ins;
|
2022-11-18 23:47:32 +00:00
|
|
|
|
2022-11-17 08:26:05 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2022-11-18 23:47:32 +00:00
|
|
|
class TextContentEdit : public FormattedTextEdit
|
2022-11-17 08:26:05 +00:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
TextContentEdit(const QFileInfo &refer, QWidget *parent = nullptr);
|
|
|
|
virtual ~TextContentEdit() = default;
|
|
|
|
|
|
|
|
// ModeView interface
|
|
|
|
public:
|
|
|
|
virtual void modeReset(const QString &) const override;
|
|
|
|
virtual QList<QString> modes() const override;
|
|
|
|
virtual QString currentMode() const override;
|
|
|
|
virtual QString title() const override;
|
|
|
|
|
|
|
|
// VariedTextView interface
|
|
|
|
public:
|
|
|
|
virtual void reset(Parse::Result::DocCore *syntax_base) override;
|
|
|
|
|
|
|
|
private:
|
|
|
|
QFileInfo source_target;
|
2022-11-18 23:47:32 +00:00
|
|
|
|
|
|
|
// FormattedTextEdit interface
|
|
|
|
protected:
|
|
|
|
virtual void rehighlighter() override;
|
2022-11-17 08:26:05 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief StoryUnit源码编辑器
|
|
|
|
*/
|
|
|
|
class StoryUnitSourceEdit : public MakeTools::VariedTextView, public ContentPresent::ModeView
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
StoryUnitSourceEdit(const QFileInfo &refer, QWidget *parent = nullptr);
|
|
|
|
virtual ~StoryUnitSourceEdit() = default;
|
|
|
|
|
|
|
|
// ModeView interface
|
|
|
|
public:
|
|
|
|
virtual void modeReset(const QString &) const override;
|
|
|
|
virtual QList<QString> modes() const override;
|
|
|
|
virtual QString currentMode() const override;
|
|
|
|
virtual QString title() const override;
|
2022-11-18 23:47:32 +00:00
|
|
|
virtual Core::ConfigHost *getConfigHost() const override;
|
2022-11-17 08:26:05 +00:00
|
|
|
|
|
|
|
// VariedTextView interface
|
|
|
|
public:
|
|
|
|
virtual void reset(Parse::Result::DocCore *syntax_base) override;
|
|
|
|
virtual QWidget *textView() const override;
|
|
|
|
virtual QString textContent() const override;
|
|
|
|
virtual void textContentReset(const QString &value) override;
|
|
|
|
|
|
|
|
private:
|
2022-11-18 23:47:32 +00:00
|
|
|
QSyntaxHighlighter *const words_highlighter;
|
2022-11-17 08:26:05 +00:00
|
|
|
QTextEdit *const edit_square;
|
|
|
|
QFileInfo source_target;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
class StoryBoardSourceEdit : public MakeTools::VariedTextView, public ContentPresent::ModeView
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
StoryBoardSourceEdit(const QFileInfo &refer, QWidget *parent = nullptr);
|
|
|
|
virtual ~StoryBoardSourceEdit() = default;
|
|
|
|
|
|
|
|
// ModeView interface
|
|
|
|
public:
|
|
|
|
virtual void modeReset(const QString &) const override;
|
|
|
|
virtual QList<QString> modes() const override;
|
|
|
|
virtual QString currentMode() const override;
|
|
|
|
virtual QString title() const override;
|
2022-11-18 23:47:32 +00:00
|
|
|
virtual Core::ConfigHost *getConfigHost() const override;
|
2022-11-17 08:26:05 +00:00
|
|
|
|
|
|
|
// VariedTextView interface
|
|
|
|
public:
|
|
|
|
virtual void reset(Parse::Result::DocCore *syntax_base) override;
|
|
|
|
virtual QWidget *textView() const override;
|
|
|
|
virtual QString textContent() const override;
|
|
|
|
virtual void textContentReset(const QString &value) override;
|
|
|
|
|
|
|
|
private:
|
2022-11-18 23:47:32 +00:00
|
|
|
QSyntaxHighlighter *const words_highlighter;
|
2022-11-17 08:26:05 +00:00
|
|
|
QTextEdit *const edit_square;
|
|
|
|
QFileInfo source_target;
|
|
|
|
};
|
|
|
|
class StoryVolumeSourceEdit : public MakeTools::VariedTextView, public ContentPresent::ModeView
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
StoryVolumeSourceEdit(const QFileInfo &refer, QWidget *parent = nullptr);
|
|
|
|
virtual ~StoryVolumeSourceEdit() = default;
|
|
|
|
|
|
|
|
// ModeView interface
|
|
|
|
public:
|
|
|
|
virtual void modeReset(const QString &) const override;
|
|
|
|
virtual QList<QString> modes() const override;
|
|
|
|
virtual QString currentMode() const override;
|
|
|
|
virtual QString title() const override;
|
2022-11-18 23:47:32 +00:00
|
|
|
virtual Core::ConfigHost *getConfigHost() const override;
|
2022-11-17 08:26:05 +00:00
|
|
|
|
|
|
|
// VariedTextView interface
|
|
|
|
public:
|
|
|
|
virtual void reset(Parse::Result::DocCore *syntax_base) override;
|
|
|
|
virtual QWidget *textView() const override;
|
|
|
|
virtual QString textContent() const override;
|
|
|
|
virtual void textContentReset(const QString &value) override;
|
|
|
|
|
|
|
|
private:
|
2022-11-18 23:47:32 +00:00
|
|
|
QSyntaxHighlighter *const words_highlighter;
|
2022-11-17 08:26:05 +00:00
|
|
|
QTextEdit *const edit_square;
|
|
|
|
QFileInfo source_target;
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#endif // SOURCEEDITVIEW_H
|