21#ifndef OPENSWMMVIS_UI_DIALOGS_LABELEXPRESSIONDIALOG_H
22#define OPENSWMMVIS_UI_DIALOGS_LABELEXPRESSIONDIALOG_H
31class QDialogButtonBox;
49 const QVector<OpenSWMM::Render::AttributeField> &fields,
50 const QString &initial,
51 QWidget *
parent =
nullptr);
69 [[nodiscard]]
static QString
resolve(
const QString &expr,
71 const QVariantMap &attrs);
77 const QVector<OpenSWMM::Render::AttributeField> &fields);
80 void insertToken(
const QString &
token);
81 void refreshPreview();
83 QVector<OpenSWMM::Render::AttributeField> m_fields;
85 QVariantMap m_sampleAttrs;
87 QPlainTextEdit *m_edit =
nullptr;
88 QTreeWidget *m_fieldTree =
nullptr;
89 QLabel *m_preview =
nullptr;
90 QLabel *m_status =
nullptr;
91 QDialogButtonBox *m_buttons =
nullptr;
Definition labelexpressiondialog.h:39
void setSampleFeature(const QString &name, const QVariantMap &attrs)
Sample values used by the preview, keyed by attribute name.
Definition labelexpressiondialog.cpp:178
static QString resolve(const QString &expr, const QString &name, const QVariantMap &attrs)
Definition labelexpressiondialog.cpp:192
QString expression() const
Definition labelexpressiondialog.cpp:173
static QStringList unknownTokens(const QString &expr, const QVector< OpenSWMM::Render::AttributeField > &fields)
Definition labelexpressiondialog.cpp:217
const char * token
Definition diagramspec.cpp:20
Layer-side seam for "what attributes can I theme by?" — Slice DM.1.
Definition openswmmvislayer.h:43
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
QString name
Definition sectionmodelbuilders.cpp:474