19#ifndef OPENSWMMVIS_UI_REACTIONEXPRESSIONEDIT_H
20#define OPENSWMMVIS_UI_REACTIONEXPRESSIONEDIT_H
25#include <QStyledItemDelegate>
26#include <QSyntaxHighlighter>
27#include <QTextCharFormat>
57 void rebuildFormats_();
60 QSet<QString> m_modelIdents;
61 QTextCharFormat m_fmtVariable;
62 QTextCharFormat m_fmtModelIdent;
63 QTextCharFormat m_fmtFunction;
64 QTextCharFormat m_fmtOperator;
65 QTextCharFormat m_fmtNumber;
66 QTextCharFormat m_fmtUnknown;
79 QWidget *
parent =
nullptr);
81 [[nodiscard]] QString
expression()
const {
return toPlainText(); }
100 void showCompleter_(
const QString &prefix);
101 void insertCompletion_(
const QString &completion);
102 [[nodiscard]] QString textUnderCursor_()
const;
104 void *m_engine =
nullptr;
107 QCompleter *m_completer =
nullptr;
108 class QTimer *m_debounce =
nullptr;
123 QObject *
parent =
nullptr);
126 const QModelIndex &
index)
const override;
128 void setModelData(QWidget *editor, QAbstractItemModel *model,
129 const QModelIndex &
index)
const override;
135 void *m_engine =
nullptr;
136 int m_defaultScope = 1;
Definition reactionexpressionedit.h:115
QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override
Definition reactionexpressionedit.cpp:380
void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override
Definition reactionexpressionedit.cpp:408
static constexpr int ScopeRole
Model data role carrying the cell's SWMM_RXN_SCOPE_* (int).
Definition reactionexpressionedit.h:120
void setEditorData(QWidget *editor, const QModelIndex &index) const override
Definition reactionexpressionedit.cpp:398
void validationChanged(bool ok, const QString &msg, int col) const
Definition reactionexpressionedit.h:73
QString expression() const
Definition reactionexpressionedit.h:81
void keyPressEvent(QKeyEvent *e) override
Definition reactionexpressionedit.cpp:324
void focusInEvent(QFocusEvent *e) override
Definition reactionexpressionedit.cpp:318
void validateNow()
Definition reactionexpressionedit.cpp:277
void refreshVocabulary()
Definition reactionexpressionedit.cpp:258
void editingFinished()
Enter/Return pressed (single-line commit)
void setExpression(const QString &text)
Definition reactionexpressionedit.cpp:271
void validationChanged(bool ok, const QString &msg, int col)
Definition reactionexpressionedit.h:37
static QStringList functionNames()
Definition reactionexpressionedit.cpp:37
void setModelIdentifiers(const QSet< QString > &names)
Definition reactionexpressionedit.cpp:56
void setPalette(const QPalette &palette)
Definition reactionexpressionedit.cpp:62
void highlightBlock(const QString &text) override
Definition reactionexpressionedit.cpp:107
static QStringList hydVarNames()
Static vocabulary from the compiler's own tables (engine-less).
Definition reactionexpressionedit.cpp:25
int e
Definition inpmeshreader.cpp:41
bool ok
Definition inpmeshwriter.cpp:575
int index
Position in m_quadRegions / m_quadReports.
Definition meshgenerator.cpp:153
Definition openswmmvislayer.h:43
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
QString text
Definition queryparser.cpp:35