1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
#ifndef UISCRIPTINGEDIT_H
#define UISCRIPTINGEDIT_H
#include "uiloaderpropertyhandler.h"
#include "common/global.h"
#include "guiSQLiteStudio_global.h"
#include <QObject>
class QSyntaxHighlighter;
class GUI_API_EXPORT UiScriptingEdit : public UiLoaderPropertyHandler
{
public:
UiScriptingEdit();
const char* getPropertyName() const;
void handle(QWidget* widget, const QVariant& value);
private:
class EditUpdater : public QObject
{
public:
EditUpdater(QWidget* widget);
bool eventFilter(QObject* obj, QEvent* e);
private:
void installNewHighlighter(const QVariant& prop);
QWidget* watchedWidget = nullptr;
QString currentLang;
QSyntaxHighlighter* currentHighlighter = nullptr;
bool changingHighlighter = false;
};
};
#endif // UISCRIPTINGEDIT_H
|