18#ifndef QGSPROCESSINGRASTERCALCULATOREXPRESSIONLINEEDIT_H
19#define QGSPROCESSINGRASTERCALCULATOREXPRESSIONLINEEDIT_H
28#include "ui_qgsprocessingrastercalculatorexpressiondialogbase.h"
44class GUI_EXPORT QgsProcessingRasterCalculatorExpressionLineEdit :
public QWidget
54 explicit QgsProcessingRasterCalculatorExpressionLineEdit( QWidget *parent
SIP_TRANSFERTHIS =
nullptr );
55 ~QgsProcessingRasterCalculatorExpressionLineEdit()
override;
60 void setLayers(
const QVariantList &layers );
66 QString expression()
const;
74 void expressionChanged(
const QString &expression );
83 void setExpression(
const QString &expression );
87 void expressionEdited(
const QString &expression );
88 void expressionEdited();
91 void editExpression();
95 QToolButton *mButton =
nullptr;
105class GUI_EXPORT QgsProcessingRasterCalculatorExpressionDialog :
public QDialog,
private Ui::QgsProcessingRasterCalculatorExpressionDialogBase
114 QgsProcessingRasterCalculatorExpressionDialog(
const QVariantList &layers,
const QString &startExpression = QString(), QWidget *parent =
nullptr );
121 void setExpression(
const QString &text );
127 QString expression();
130 void mLayersList_itemDoubleClicked( QListWidgetItem *item );
133 void mBtnPlus_clicked();
134 void mBtnMinus_clicked();
135 void mBtnMultiply_clicked();
136 void mBtnDivide_clicked();
137 void mBtnPower_clicked();
138 void mBtnSqrt_clicked();
139 void mBtnOpenBracket_clicked();
140 void mBtnCloseBracket_clicked();
141 void mBtnGreater_clicked();
142 void mBtnGreaterEqual_clicked();
143 void mBtnLess_clicked();
144 void mBtnLessEqual_clicked();
145 void mBtnEqual_clicked();
146 void mBtnNotEqual_clicked();
147 void mBtnAnd_clicked();
148 void mBtnOr_clicked();
149 void mBtnIf_clicked();
150 void mBtnMin_clicked();
151 void mBtnMax_clicked();
152 void mBtnAbs_clicked();
153 void mBtnSin_clicked();
154 void mBtnCos_clicked();
155 void mBtnTan_clicked();
156 void mBtnLog_clicked();
157 void mBtnAsin_clicked();
158 void mBtnAcos_clicked();
159 void mBtnAtan_clicked();
160 void mBtnLn_clicked();
164 void populateLayers();
166 static QString quoteBandEntry(
const QString &layerName );
168 QVariantList mLayers;
169 const QString mInitialText;
QLineEdit subclass with built in support for clearing the widget's value and handling custom null val...
Base class for all map layer types.