19#ifndef QGSPROCESSINGWIDGETWRAPPERIMPL_H
20#define QGSPROCESSINGWIDGETWRAPPERIMPL_H
22#include "ui_qgsinterpolationsourcewidgetbase.h"
23#include "ui_qgsprocessingpixelsizewidgetbase.h"
24#include "ui_qgsprocessingreliefcolorswidgetbase.h"
25#include "ui_qgsprocessingtileextentmaxzoomwidgetbase.h"
39#include <QAbstractButton>
53class QgsProcessingMatrixParameterPanel;
75class QgsProcessingEnumModelerWidget;
76class QgsProcessingMatrixModelerWidget;
77class QgsProcessingMapLayerComboBox;
80class QgsProcessingLayerOutputDestinationWidget;
83class QgsProcessingPointCloudExpressionLineEdit;
84class QgsProcessingRasterCalculatorExpressionLineEdit;
98 QgsProcessingBooleanParameterDefinitionWidget(
108 QCheckBox *mDefaultCheckBox =
nullptr;
119 QString parameterType()
const override;
120 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
121 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
122 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
130 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
131 QVariant widgetValue() const override;
134 QCheckBox *mCheckBox =
nullptr;
135 QComboBox *mComboBox =
nullptr;
137 friend class TestProcessingGui;
141class GUI_EXPORT QgsProcessingCrsParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
145 QgsProcessingCrsParameterDefinitionWidget(
146 QgsProcessingContext &context,
147 const QgsProcessingParameterWidgetContext &widgetContext,
148 const QgsProcessingParameterDefinition *definition =
nullptr,
149 const QgsProcessingAlgorithm *
algorithm =
nullptr,
155 QgsProjectionSelectionWidget *mCrsSelector =
nullptr;
158class GUI_EXPORT QgsProcessingCrsWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
166 QString parameterType()
const override;
167 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
168 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
169 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
176 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
177 QVariant widgetValue() const override;
179 QString modelerExpressionFormatString() const override;
182 QgsProjectionSelectionWidget *mProjectionSelectionWidget =
nullptr;
183 QCheckBox *mUseProjectCrsCheckBox =
nullptr;
185 friend class TestProcessingGui;
189class GUI_EXPORT QgsProcessingStringParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
193 QgsProcessingStringParameterDefinitionWidget(
194 QgsProcessingContext &context,
195 const QgsProcessingParameterWidgetContext &widgetContext,
196 const QgsProcessingParameterDefinition *definition =
nullptr,
197 const QgsProcessingAlgorithm *
algorithm =
nullptr,
203 QLineEdit *mDefaultLineEdit =
nullptr;
204 QCheckBox *mMultiLineCheckBox =
nullptr;
207class GUI_EXPORT QgsProcessingStringWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
215 QString parameterType()
const override;
216 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
217 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
218 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
225 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
226 QVariant widgetValue() const override;
229 QLineEdit *mLineEdit =
nullptr;
230 QComboBox *mComboBox =
nullptr;
231 QPlainTextEdit *mPlainTextEdit =
nullptr;
233 friend class TestProcessingGui;
237class GUI_EXPORT QgsProcessingAuthConfigWidgetWrapper : public QgsAbstractProcessingParameterWidgetWrapper, public QgsProcessingParameterWidgetFactoryInterface
245 QString parameterType()
const override;
246 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
252 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
253 QVariant widgetValue() const override;
256 QgsAuthConfigSelect *mAuthConfigSelect =
nullptr;
258 friend class TestProcessingGui;
262class GUI_EXPORT QgsProcessingNumberParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
266 QgsProcessingNumberParameterDefinitionWidget(
267 QgsProcessingContext &context,
268 const QgsProcessingParameterWidgetContext &widgetContext,
269 const QgsProcessingParameterDefinition *definition =
nullptr,
270 const QgsProcessingAlgorithm *
algorithm =
nullptr,
276 QComboBox *mTypeComboBox =
nullptr;
277 QLineEdit *mMinLineEdit =
nullptr;
278 QLineEdit *mMaxLineEdit =
nullptr;
279 QLineEdit *mDefaultLineEdit =
nullptr;
283class GUI_EXPORT QgsProcessingNumericWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
291 QString parameterType()
const override;
292 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
293 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
294 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
301 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
302 QVariant widgetValue() const override;
305 QgsSpinBox *mSpinBox =
nullptr;
306 QgsDoubleSpinBox *mDoubleSpinBox =
nullptr;
309 static
double calculateStep(
double minimum,
double maximum );
311 bool mAllowingNull = false;
313 friend class TestProcessingGui;
317class GUI_EXPORT QgsProcessingDistanceParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
321 QgsProcessingDistanceParameterDefinitionWidget(
322 QgsProcessingContext &context,
323 const QgsProcessingParameterWidgetContext &widgetContext,
324 const QgsProcessingParameterDefinition *definition =
nullptr,
325 const QgsProcessingAlgorithm *
algorithm =
nullptr,
331 QComboBox *mParentLayerComboBox =
nullptr;
332 QLineEdit *mMinLineEdit =
nullptr;
333 QLineEdit *mMaxLineEdit =
nullptr;
334 QLineEdit *mDefaultLineEdit =
nullptr;
337class GUI_EXPORT QgsProcessingDistanceWidgetWrapper :
public QgsProcessingNumericWidgetWrapper
345 QString parameterType()
const override;
346 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
347 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
348 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
353 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
356 void setUnitParameterValue( const QVariant &value, const QgsAbstractProcessingParameterWidgetWrapper *unitParameterWrapper =
nullptr );
357 void setUnits( Qgis::DistanceUnit unit );
360 QVariant widgetValue() const override;
363 Qgis::DistanceUnit mBaseUnit = Qgis::DistanceUnit::Unknown;
364 QLabel *mLabel =
nullptr;
365 QWidget *mWarningLabel =
nullptr;
366 QComboBox *mUnitsCombo =
nullptr;
368 friend class TestProcessingGui;
371class GUI_EXPORT QgsProcessingAreaParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
375 QgsProcessingAreaParameterDefinitionWidget(
376 QgsProcessingContext &context,
377 const QgsProcessingParameterWidgetContext &widgetContext,
378 const QgsProcessingParameterDefinition *definition =
nullptr,
379 const QgsProcessingAlgorithm *
algorithm =
nullptr,
385 QComboBox *mParentLayerComboBox =
nullptr;
386 QLineEdit *mMinLineEdit =
nullptr;
387 QLineEdit *mMaxLineEdit =
nullptr;
388 QLineEdit *mDefaultLineEdit =
nullptr;
391class GUI_EXPORT QgsProcessingAreaWidgetWrapper :
public QgsProcessingNumericWidgetWrapper
399 QString parameterType()
const override;
400 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
401 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
402 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
407 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
410 void setUnitParameterValue( const QVariant &value, const QgsAbstractProcessingParameterWidgetWrapper *unitParameterWrapper =
nullptr );
411 void setUnits( Qgis::AreaUnit unit );
414 QVariant widgetValue() const override;
417 Qgis::AreaUnit mBaseUnit = Qgis::AreaUnit::Unknown;
418 QLabel *mLabel =
nullptr;
419 QWidget *mWarningLabel =
nullptr;
420 QComboBox *mUnitsCombo =
nullptr;
422 friend class TestProcessingGui;
426class GUI_EXPORT QgsProcessingVolumeParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
430 QgsProcessingVolumeParameterDefinitionWidget(
431 QgsProcessingContext &context,
432 const QgsProcessingParameterWidgetContext &widgetContext,
433 const QgsProcessingParameterDefinition *definition =
nullptr,
434 const QgsProcessingAlgorithm *
algorithm =
nullptr,
440 QComboBox *mParentLayerComboBox =
nullptr;
441 QLineEdit *mMinLineEdit =
nullptr;
442 QLineEdit *mMaxLineEdit =
nullptr;
443 QLineEdit *mDefaultLineEdit =
nullptr;
446class GUI_EXPORT QgsProcessingVolumeWidgetWrapper :
public QgsProcessingNumericWidgetWrapper
454 QString parameterType()
const override;
455 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
456 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
457 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
462 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
465 void setUnitParameterValue( const QVariant &value, const QgsAbstractProcessingParameterWidgetWrapper *unitParameterWrapper =
nullptr );
466 void setUnits( Qgis::VolumeUnit unit );
469 QVariant widgetValue() const override;
472 Qgis::VolumeUnit mBaseUnit = Qgis::VolumeUnit::Unknown;
473 QLabel *mLabel =
nullptr;
474 QWidget *mWarningLabel =
nullptr;
475 QComboBox *mUnitsCombo =
nullptr;
477 friend class TestProcessingGui;
481class GUI_EXPORT QgsProcessingDurationParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
485 QgsProcessingDurationParameterDefinitionWidget(
486 QgsProcessingContext &context,
487 const QgsProcessingParameterWidgetContext &widgetContext,
488 const QgsProcessingParameterDefinition *definition =
nullptr,
489 const QgsProcessingAlgorithm *
algorithm =
nullptr,
495 QLineEdit *mMinLineEdit =
nullptr;
496 QLineEdit *mMaxLineEdit =
nullptr;
497 QLineEdit *mDefaultLineEdit =
nullptr;
498 QComboBox *mUnitsCombo =
nullptr;
501class GUI_EXPORT QgsProcessingDurationWidgetWrapper :
public QgsProcessingNumericWidgetWrapper
509 QString parameterType()
const override;
510 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
511 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
512 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
520 QVariant widgetValue() const override;
521 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
524 Qgis::TemporalUnit mBaseUnit = Qgis::TemporalUnit::Milliseconds;
525 QComboBox *mUnitsCombo =
nullptr;
527 friend class TestProcessingGui;
530class GUI_EXPORT QgsProcessingScaleParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
534 QgsProcessingScaleParameterDefinitionWidget(
535 QgsProcessingContext &context,
536 const QgsProcessingParameterWidgetContext &widgetContext,
537 const QgsProcessingParameterDefinition *definition =
nullptr,
538 const QgsProcessingAlgorithm *
algorithm =
nullptr,
544 QLineEdit *mDefaultLineEdit =
nullptr;
547class GUI_EXPORT QgsProcessingScaleWidgetWrapper :
public QgsProcessingNumericWidgetWrapper
555 QString parameterType()
const override;
556 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
557 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
558 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
563 void setWidgetContext( const QgsProcessingParameterWidgetContext &context ) override;
566 QVariant widgetValue() const override;
567 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
570 QgsScaleWidget *mScaleWidget =
nullptr;
572 friend class TestProcessingGui;
576class GUI_EXPORT QgsProcessingRangeParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
580 QgsProcessingRangeParameterDefinitionWidget(
581 QgsProcessingContext &context,
582 const QgsProcessingParameterWidgetContext &widgetContext,
583 const QgsProcessingParameterDefinition *definition =
nullptr,
584 const QgsProcessingAlgorithm *
algorithm =
nullptr,
590 QComboBox *mTypeComboBox =
nullptr;
591 QLineEdit *mMinLineEdit =
nullptr;
592 QLineEdit *mMaxLineEdit =
nullptr;
595class GUI_EXPORT QgsProcessingRangeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
603 QString parameterType()
const override;
604 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
605 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
606 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
613 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
614 QVariant widgetValue() const override;
615 QString modelerExpressionFormatString() const override;
618 QgsDoubleSpinBox *mMinSpinBox =
nullptr;
619 QgsDoubleSpinBox *mMaxSpinBox =
nullptr;
622 int mBlockChangedSignal = 0;
623 bool mAllowingNull = false;
625 friend class TestProcessingGui;
628class GUI_EXPORT QgsProcessingMatrixParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
632 QgsProcessingMatrixParameterDefinitionWidget(
633 QgsProcessingContext &context,
634 const QgsProcessingParameterWidgetContext &widgetContext,
635 const QgsProcessingParameterDefinition *definition =
nullptr,
636 const QgsProcessingAlgorithm *
algorithm =
nullptr,
642 QgsProcessingMatrixModelerWidget *mMatrixWidget =
nullptr;
645class GUI_EXPORT QgsProcessingMatrixWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
653 QString parameterType()
const override;
654 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
655 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
656 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
663 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
664 QVariant widgetValue() const override;
666 QString modelerExpressionFormatString() const override;
669 QgsProcessingMatrixParameterPanel *mMatrixWidget =
nullptr;
671 friend class TestProcessingGui;
674class GUI_EXPORT QgsProcessingFileParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
678 QgsProcessingFileParameterDefinitionWidget(
679 QgsProcessingContext &context,
680 const QgsProcessingParameterWidgetContext &widgetContext,
681 const QgsProcessingParameterDefinition *definition =
nullptr,
682 const QgsProcessingAlgorithm *
algorithm =
nullptr,
688 QComboBox *mTypeComboBox =
nullptr;
689 QComboBox *mFilterComboBox =
nullptr;
690 QgsFileWidget *mDefaultFileWidget =
nullptr;
693class GUI_EXPORT QgsProcessingFileWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
701 QString parameterType()
const override;
702 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
703 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
704 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
711 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
712 QVariant widgetValue() const override;
714 QString modelerExpressionFormatString() const override;
717 QgsFileWidget *mFileWidget =
nullptr;
719 friend class TestProcessingGui;
723class GUI_EXPORT QgsProcessingExpressionParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
727 QgsProcessingExpressionParameterDefinitionWidget(
728 QgsProcessingContext &context,
729 const QgsProcessingParameterWidgetContext &widgetContext,
730 const QgsProcessingParameterDefinition *definition =
nullptr,
731 const QgsProcessingAlgorithm *
algorithm =
nullptr,
737 QComboBox *mParentLayerComboBox =
nullptr;
738 QgsExpressionLineEdit *mDefaultQgisLineEdit =
nullptr;
739 QgsProcessingPointCloudExpressionLineEdit *mDefaultPointCloudLineEdit =
nullptr;
740 QgsProcessingRasterCalculatorExpressionLineEdit *mDefaultRasterCalculatorLineEdit =
nullptr;
741 QComboBox *mExpressionTypeComboBox =
nullptr;
744class GUI_EXPORT QgsProcessingExpressionWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
752 QString parameterType()
const override;
753 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
754 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
755 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
760 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
761 void registerProcessingContextGenerator( QgsProcessingContextGenerator *generator ) override;
764 void setParentLayerWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
767 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
768 QVariant widgetValue() const override;
770 QString modelerExpressionFormatString() const override;
771 const QgsVectorLayer *linkedVectorLayer() const override;
774 QgsFieldExpressionWidget *mFieldExpWidget =
nullptr;
775 QgsExpressionBuilderWidget *mExpBuilderWidget =
nullptr;
776 QgsExpressionLineEdit *mExpLineEdit =
nullptr;
777 QgsProcessingPointCloudExpressionLineEdit *mPointCloudExpLineEdit =
nullptr;
778 QgsProcessingRasterCalculatorExpressionLineEdit *mRasterCalculatorExpLineEdit =
nullptr;
779 std::unique_ptr<QgsMapLayer> mParentLayer;
781 friend class TestProcessingGui;
785class GUI_EXPORT QgsProcessingEnumCheckboxPanelWidget : public QWidget
790 QgsProcessingEnumCheckboxPanelWidget( QWidget *parent =
nullptr,
const QgsProcessingParameterEnum *param =
nullptr,
int columns = 2 );
791 QVariant value()
const;
792 void setValue(
const QVariant &value );
800 void showPopupMenu();
805 const QgsProcessingParameterEnum *mParam =
nullptr;
806 QMap<QVariant, QAbstractButton *> mButtons;
807 QButtonGroup *mButtonGroup =
nullptr;
809 bool mBlockChangedSignal =
false;
811 friend class TestProcessingGui;
814class GUI_EXPORT QgsProcessingEnumPanelWidget :
public QWidget
819 QgsProcessingEnumPanelWidget( QWidget *parent =
nullptr,
const QgsProcessingParameterEnum *param =
nullptr );
820 QVariant value()
const {
return mValue; }
821 void setValue(
const QVariant &value );
832 void updateSummaryText();
834 const QgsProcessingParameterEnum *mParam =
nullptr;
835 QLineEdit *mLineEdit =
nullptr;
836 QToolButton *mToolButton =
nullptr;
840 friend class TestProcessingGui;
843class GUI_EXPORT QgsProcessingEnumParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
847 QgsProcessingEnumParameterDefinitionWidget(
848 QgsProcessingContext &context,
849 const QgsProcessingParameterWidgetContext &widgetContext,
850 const QgsProcessingParameterDefinition *definition =
nullptr,
851 const QgsProcessingAlgorithm *
algorithm =
nullptr,
857 QgsProcessingEnumModelerWidget *mEnumWidget =
nullptr;
860class GUI_EXPORT QgsProcessingEnumWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
868 QString parameterType()
const override;
869 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
870 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
871 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
878 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
879 QVariant widgetValue() const override;
881 QString modelerExpressionFormatString() const override;
884 QComboBox *mComboBox =
nullptr;
885 QgsProcessingEnumPanelWidget *mPanel =
nullptr;
886 QgsProcessingEnumCheckboxPanelWidget *mCheckboxPanel =
nullptr;
888 friend class TestProcessingGui;
892class GUI_EXPORT QgsProcessingLayoutWidgetWrapper : public QgsAbstractProcessingParameterWidgetWrapper, public QgsProcessingParameterWidgetFactoryInterface
900 QString parameterType()
const override;
901 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
907 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
908 QVariant widgetValue() const override;
909 void setWidgetContext( const QgsProcessingParameterWidgetContext &context ) override;
911 QString modelerExpressionFormatString() const override;
914 QgsLayoutComboBox *mComboBox =
nullptr;
915 QComboBox *mPlainComboBox =
nullptr;
917 friend class TestProcessingGui;
921class GUI_EXPORT QgsProcessingLayoutItemParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
925 QgsProcessingLayoutItemParameterDefinitionWidget(
926 QgsProcessingContext &context,
927 const QgsProcessingParameterWidgetContext &widgetContext,
928 const QgsProcessingParameterDefinition *definition =
nullptr,
929 const QgsProcessingAlgorithm *
algorithm =
nullptr,
935 QComboBox *mParentLayoutComboBox =
nullptr;
938class GUI_EXPORT QgsProcessingLayoutItemWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
946 QString parameterType()
const override;
947 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
948 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
949 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
954 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
958 void setLayoutParameterValue( const QVariant &value );
959 void setLayout( QgsPrintLayout *layout );
962 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
963 QVariant widgetValue() const override;
965 QString modelerExpressionFormatString() const override;
968 QgsLayoutItemComboBox *mComboBox =
nullptr;
969 QLineEdit *mLineEdit =
nullptr;
971 friend class TestProcessingGui;
974class GUI_EXPORT QgsProcessingPointMapTool : public QgsMapTool
978 QgsProcessingPointMapTool( QgsMapCanvas *canvas );
979 ~QgsProcessingPointMapTool()
override;
980 void deactivate()
override;
981 void canvasMoveEvent( QgsMapMouseEvent *e )
override;
982 void canvasPressEvent( QgsMapMouseEvent *e )
override;
983 void keyPressEvent( QKeyEvent *e )
override;
987 void clicked(
const QgsPointXY &point );
991 std::unique_ptr<QgsSnapIndicator> mSnapIndicator;
992 friend class TestProcessingGui;
995class GUI_EXPORT QgsProcessingPointPanel :
public QWidget
1000 QgsProcessingPointPanel( QWidget *parent );
1001 ~QgsProcessingPointPanel()
override;
1002 void setMapCanvas( QgsMapCanvas *canvas );
1003 void setAllowNull(
bool allowNull );
1004 void setShowPointOnCanvas(
bool show );
1005 void setAllowSelectOnCanvas(
bool allow );
1007 QVariant value()
const;
1009 void setValue(
const QgsPointXY &point,
const QgsCoordinateReferenceSystem &crs );
1010 void showEvent( QShowEvent *event )
override;
1014 void toggleDialogVisibility(
bool visible );
1019 void selectOnCanvas();
1020 void updatePoint(
const QgsPointXY &point );
1022 void textChanged(
const QString &text );
1025 void updateRubberBand();
1027 QgsFilterLineEdit *mLineEdit =
nullptr;
1028 bool mShowPointOnCanvas =
false;
1029 bool mFirstShow =
true;
1030 bool mAllowSelectOnCanvas =
true;
1031 QToolButton *mButton =
nullptr;
1032 QgsMapCanvas *mCanvas =
nullptr;
1033 QgsCoordinateReferenceSystem mCrs;
1034 QPointer<QgsMapTool> mPrevTool;
1035 std::unique_ptr<QgsProcessingPointMapTool> mTool;
1037 QObjectUniquePtr<QgsRubberBand> mMapPointRubberBand;
1038 friend class TestProcessingGui;
1042class GUI_EXPORT QgsProcessingPointParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
1046 QgsProcessingPointParameterDefinitionWidget(
1047 QgsProcessingContext &context,
1048 const QgsProcessingParameterWidgetContext &widgetContext,
1049 const QgsProcessingParameterDefinition *definition =
nullptr,
1050 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1056 QLineEdit *mDefaultLineEdit =
nullptr;
1059class GUI_EXPORT QgsProcessingPointWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1067 QString parameterType()
const override;
1068 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1069 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1070 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1075 void setWidgetContext( const QgsProcessingParameterWidgetContext &context ) override;
1076 void setDialog( QWidget *dialog ) override;
1079 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1080 QVariant widgetValue() const override;
1082 QString modelerExpressionFormatString() const override;
1085 QgsProcessingPointPanel *mPanel =
nullptr;
1086 QLineEdit *mLineEdit =
nullptr;
1087 QWidget *mDialog =
nullptr;
1089 friend class TestProcessingGui;
1092class GUI_EXPORT QgsProcessingGeometryParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1096 QgsProcessingGeometryParameterDefinitionWidget(
1097 QgsProcessingContext &context,
1098 const QgsProcessingParameterWidgetContext &widgetContext,
1099 const QgsProcessingParameterDefinition *definition =
nullptr,
1100 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1106 QgsGeometryWidget *mGeometryWidget =
nullptr;
1109class GUI_EXPORT QgsProcessingGeometryWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1117 QString parameterType()
const override;
1118 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1119 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1120 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1127 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1128 QVariant widgetValue() const override;
1130 QString modelerExpressionFormatString() const override;
1133 QgsGeometryWidget *mGeometryWidget =
nullptr;
1135 friend class TestProcessingGui;
1138class GUI_EXPORT QgsProcessingExtentParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1142 QgsProcessingExtentParameterDefinitionWidget(
1143 QgsProcessingContext &context,
1144 const QgsProcessingParameterWidgetContext &widgetContext,
1145 const QgsProcessingParameterDefinition *definition =
nullptr,
1146 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1152 QgsExtentWidget *mDefaultWidget =
nullptr;
1155class GUI_EXPORT QgsProcessingExtentWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1163 QString parameterType()
const override;
1164 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1165 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1166 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1171 void setWidgetContext( const QgsProcessingParameterWidgetContext &context ) override;
1172 void setDialog( QWidget *dialog ) override;
1175 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1176 QVariant widgetValue() const override;
1178 QString modelerExpressionFormatString() const override;
1181 QgsExtentWidget *mExtentWidget =
nullptr;
1182 QWidget *mDialog =
nullptr;
1184 friend class TestProcessingGui;
1187class GUI_EXPORT QgsProcessingColorParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1191 QgsProcessingColorParameterDefinitionWidget(
1192 QgsProcessingContext &context,
1193 const QgsProcessingParameterWidgetContext &widgetContext,
1194 const QgsProcessingParameterDefinition *definition =
nullptr,
1195 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1201 QgsColorButton *mDefaultColorButton =
nullptr;
1202 QCheckBox *mAllowOpacity =
nullptr;
1205class GUI_EXPORT QgsProcessingColorWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1213 QString parameterType()
const override;
1214 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1215 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1216 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1223 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1224 QVariant widgetValue() const override;
1226 QString modelerExpressionFormatString() const override;
1229 QgsColorButton *mColorButton =
nullptr;
1230 friend class TestProcessingGui;
1234class GUI_EXPORT QgsProcessingCoordinateOperationParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1238 QgsProcessingCoordinateOperationParameterDefinitionWidget(
1239 QgsProcessingContext &context,
1240 const QgsProcessingParameterWidgetContext &widgetContext,
1241 const QgsProcessingParameterDefinition *definition =
nullptr,
1242 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1248 QLineEdit *mDefaultLineEdit =
nullptr;
1250 QComboBox *mSourceParamComboBox =
nullptr;
1251 QComboBox *mDestParamComboBox =
nullptr;
1253 QgsProjectionSelectionWidget *mStaticSourceWidget =
nullptr;
1254 QgsProjectionSelectionWidget *mStaticDestWidget =
nullptr;
1257class GUI_EXPORT QgsProcessingCoordinateOperationWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1265 QString parameterType()
const override;
1266 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1267 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1268 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1273 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
1274 void setWidgetContext( const QgsProcessingParameterWidgetContext &context ) override;
1277 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1278 QVariant widgetValue() const override;
1280 QString modelerExpressionFormatString() const override;
1283 void setSourceCrsParameterValue( const QVariant &value );
1284 void setDestinationCrsParameterValue( const QVariant &value );
1286 QgsCoordinateOperationWidget *mOperationWidget =
nullptr;
1287 QgsMapCanvas *mCanvas =
nullptr;
1288 QLineEdit *mLineEdit =
nullptr;
1289 QgsCoordinateReferenceSystem mSourceCrs;
1290 QgsCoordinateReferenceSystem mDestCrs;
1291 friend class TestProcessingGui;
1294class GUI_EXPORT QgsProcessingFieldPanelWidget : public QWidget
1299 QgsProcessingFieldPanelWidget( QWidget *parent =
nullptr,
const QgsProcessingParameterField *param =
nullptr );
1301 void setFields(
const QgsFields &fields );
1303 QgsFields fields()
const {
return mFields; }
1305 QVariant value()
const {
return mValue; }
1306 void setValue(
const QVariant &value );
1317 void updateSummaryText();
1321 const QgsProcessingParameterField *mParam =
nullptr;
1322 QLineEdit *mLineEdit =
nullptr;
1323 QToolButton *mToolButton =
nullptr;
1325 QVariantList mValue;
1327 friend class TestProcessingGui;
1330class GUI_EXPORT QgsProcessingFieldParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
1334 QgsProcessingFieldParameterDefinitionWidget(
1335 QgsProcessingContext &context,
1336 const QgsProcessingParameterWidgetContext &widgetContext,
1337 const QgsProcessingParameterDefinition *definition =
nullptr,
1338 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1344 QComboBox *mParentLayerComboBox =
nullptr;
1345 QComboBox *mDataTypeComboBox =
nullptr;
1346 QLineEdit *mDefaultLineEdit =
nullptr;
1347 QCheckBox *mAllowMultipleCheckBox =
nullptr;
1348 QCheckBox *mDefaultToAllCheckBox =
nullptr;
1351class GUI_EXPORT QgsProcessingFieldWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1359 QString parameterType()
const override;
1360 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1361 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1362 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1367 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
1370 void setParentLayerWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
1373 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1374 QVariant widgetValue() const override;
1376 QString modelerExpressionFormatString() const override;
1377 const QgsVectorLayer *linkedVectorLayer() const override;
1380 QgsFieldComboBox *mComboBox =
nullptr;
1381 QgsProcessingFieldPanelWidget *mPanel =
nullptr;
1382 QLineEdit *mLineEdit =
nullptr;
1384 std::unique_ptr<QgsVectorLayer> mParentLayer;
1386 QgsFields filterFields( const QgsFields &fields ) const;
1388 friend class TestProcessingGui;
1392class GUI_EXPORT QgsProcessingMapThemeParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1396 QgsProcessingMapThemeParameterDefinitionWidget(
1397 QgsProcessingContext &context,
1398 const QgsProcessingParameterWidgetContext &widgetContext,
1399 const QgsProcessingParameterDefinition *definition =
nullptr,
1400 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1406 QComboBox *mDefaultComboBox =
nullptr;
1409class GUI_EXPORT QgsProcessingMapThemeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1417 QString parameterType()
const override;
1418 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1419 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1420 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1427 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1428 QVariant widgetValue() const override;
1430 QString modelerExpressionFormatString() const override;
1433 QComboBox *mComboBox =
nullptr;
1435 friend class TestProcessingGui;
1439class GUI_EXPORT QgsProcessingDateTimeParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1443 QgsProcessingDateTimeParameterDefinitionWidget(
1444 QgsProcessingContext &context,
1445 const QgsProcessingParameterWidgetContext &widgetContext,
1446 const QgsProcessingParameterDefinition *definition =
nullptr,
1447 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1453 QComboBox *mTypeComboBox =
nullptr;
1456class GUI_EXPORT QgsProcessingDateTimeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1464 QString parameterType()
const override;
1465 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1469 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1470 QgsProcessingContext &context, const QgsProcessingParameterWidgetContext &widgetContext, const QgsProcessingParameterDefinition *definition =
nullptr, const QgsProcessingAlgorithm *
algorithm =
nullptr
1474 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1475 QVariant widgetValue() const override;
1477 QString modelerExpressionFormatString() const override;
1480 QgsDateTimeEdit *mDateTimeEdit =
nullptr;
1481 QgsDateEdit *mDateEdit =
nullptr;
1482 QgsTimeEdit *mTimeEdit =
nullptr;
1484 friend class TestProcessingGui;
1492class GUI_EXPORT QgsProcessingProviderConnectionParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1496 QgsProcessingProviderConnectionParameterDefinitionWidget(
1497 QgsProcessingContext &context,
1498 const QgsProcessingParameterWidgetContext &widgetContext,
1499 const QgsProcessingParameterDefinition *definition =
nullptr,
1500 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1506 QComboBox *mProviderComboBox =
nullptr;
1507 QLineEdit *mDefaultEdit =
nullptr;
1510class GUI_EXPORT QgsProcessingProviderConnectionWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1518 QString parameterType()
const override;
1519 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1524 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1525 QgsProcessingContext &context, const QgsProcessingParameterWidgetContext &widgetContext, const QgsProcessingParameterDefinition *definition =
nullptr, const QgsProcessingAlgorithm *
algorithm =
nullptr
1529 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1530 QVariant widgetValue() const override;
1532 QString modelerExpressionFormatString() const override;
1535 QgsProviderConnectionComboBox *mProviderComboBox =
nullptr;
1536 int mBlockSignals = 0;
1538 friend class TestProcessingGui;
1542class GUI_EXPORT QgsProcessingDatabaseSchemaParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1546 QgsProcessingDatabaseSchemaParameterDefinitionWidget(
1547 QgsProcessingContext &context,
1548 const QgsProcessingParameterWidgetContext &widgetContext,
1549 const QgsProcessingParameterDefinition *definition =
nullptr,
1550 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1556 QComboBox *mConnectionParamComboBox =
nullptr;
1557 QLineEdit *mDefaultEdit =
nullptr;
1560class GUI_EXPORT QgsProcessingDatabaseSchemaWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1568 QString parameterType()
const override;
1569 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1570 void postInitialize(
const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers )
override;
1575 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1576 QgsProcessingContext &context, const QgsProcessingParameterWidgetContext &widgetContext, const QgsProcessingParameterDefinition *definition =
nullptr, const QgsProcessingAlgorithm *
algorithm =
nullptr
1580 void setParentConnectionWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
1583 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1584 QVariant widgetValue() const override;
1586 QString modelerExpressionFormatString() const override;
1589 QgsDatabaseSchemaComboBox *mSchemaComboBox =
nullptr;
1590 int mBlockSignals = 0;
1592 friend class TestProcessingGui;
1596class GUI_EXPORT QgsProcessingDatabaseTableParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1600 QgsProcessingDatabaseTableParameterDefinitionWidget(
1601 QgsProcessingContext &context,
1602 const QgsProcessingParameterWidgetContext &widgetContext,
1603 const QgsProcessingParameterDefinition *definition =
nullptr,
1604 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1610 QComboBox *mConnectionParamComboBox =
nullptr;
1611 QComboBox *mSchemaParamComboBox =
nullptr;
1612 QLineEdit *mDefaultEdit =
nullptr;
1615class GUI_EXPORT QgsProcessingDatabaseTableWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1623 QString parameterType()
const override;
1624 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1625 void postInitialize(
const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers )
override;
1630 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1631 QgsProcessingContext &context, const QgsProcessingParameterWidgetContext &widgetContext, const QgsProcessingParameterDefinition *definition =
nullptr, const QgsProcessingAlgorithm *
algorithm =
nullptr
1635 void setParentConnectionWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
1636 void setParentSchemaWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
1639 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1640 QVariant widgetValue() const override;
1642 QString modelerExpressionFormatString() const override;
1645 QgsDatabaseTableComboBox *mTableComboBox =
nullptr;
1646 int mBlockSignals = 0;
1647 QString mConnection;
1651 friend class TestProcessingGui;
1654class GUI_EXPORT QgsProcessingMapLayerParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1658 QgsProcessingMapLayerParameterDefinitionWidget(
1659 QgsProcessingContext &context,
1660 const QgsProcessingParameterWidgetContext &widgetContext,
1661 const QgsProcessingParameterDefinition *definition =
nullptr,
1662 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1668 QgsCheckableComboBox *mLayerTypeComboBox =
nullptr;
1671class GUI_EXPORT QgsProcessingMapLayerWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1679 QString parameterType()
const override;
1680 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1681 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1682 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1685 void setWidgetContext(
const QgsProcessingParameterWidgetContext &context )
override;
1690 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1691 QVariant widgetValue() const override;
1693 QString modelerExpressionFormatString() const override;
1694 Qgis::ProcessingModelChildParameterSource defaultModelSource( const QgsProcessingParameterDefinition *parameter ) const override;
1697 QPointer<QgsProcessingMapLayerComboBox> mComboBox;
1698 int mBlockSignals = 0;
1700 friend class TestProcessingGui;
1704class GUI_EXPORT QgsProcessingRasterLayerWidgetWrapper : public QgsProcessingMapLayerWidgetWrapper
1712 QString parameterType()
const override;
1713 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1714 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1715 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1719 QString modelerExpressionFormatString()
const override;
1723class GUI_EXPORT QgsProcessingVectorLayerParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
1727 QgsProcessingVectorLayerParameterDefinitionWidget(
1728 QgsProcessingContext &context,
1729 const QgsProcessingParameterWidgetContext &widgetContext,
1730 const QgsProcessingParameterDefinition *definition =
nullptr,
1731 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1737 QgsCheckableComboBox *mGeometryTypeComboBox =
nullptr;
1740class GUI_EXPORT QgsProcessingVectorLayerWidgetWrapper :
public QgsProcessingMapLayerWidgetWrapper
1748 QString parameterType()
const override;
1749 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1750 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1751 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1755 QString modelerExpressionFormatString()
const override;
1759class GUI_EXPORT QgsProcessingFeatureSourceParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
1763 QgsProcessingFeatureSourceParameterDefinitionWidget(
1764 QgsProcessingContext &context,
1765 const QgsProcessingParameterWidgetContext &widgetContext,
1766 const QgsProcessingParameterDefinition *definition =
nullptr,
1767 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1773 QgsCheckableComboBox *mGeometryTypeComboBox =
nullptr;
1776class GUI_EXPORT QgsProcessingFeatureSourceWidgetWrapper :
public QgsProcessingMapLayerWidgetWrapper
1784 QString parameterType()
const override;
1785 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1786 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1787 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1791 QString modelerExpressionFormatString()
const override;
1795class GUI_EXPORT QgsProcessingMeshLayerWidgetWrapper :
public QgsProcessingMapLayerWidgetWrapper
1803 QString parameterType()
const override;
1804 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1805 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1806 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1810 QString modelerExpressionFormatString()
const override;
1814class GUI_EXPORT QgsProcessingRasterBandPanelWidget :
public QWidget
1819 QgsProcessingRasterBandPanelWidget( QWidget *parent =
nullptr,
const QgsProcessingParameterBand *param =
nullptr );
1821 void setBands(
const QList<int> &bands );
1822 void setBandNames(
const QHash<int, QString> &names );
1823 QList<int> bands()
const {
return mBands; }
1825 QVariant value()
const {
return mValue; }
1826 void setValue(
const QVariant &value );
1837 void updateSummaryText();
1840 QHash<int, QString> mBandNames;
1842 const QgsProcessingParameterBand *mParam =
nullptr;
1843 QLineEdit *mLineEdit =
nullptr;
1844 QToolButton *mToolButton =
nullptr;
1846 QVariantList mValue;
1848 friend class TestProcessingGui;
1851class GUI_EXPORT QgsProcessingBandParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
1855 QgsProcessingBandParameterDefinitionWidget(
1856 QgsProcessingContext &context,
1857 const QgsProcessingParameterWidgetContext &widgetContext,
1858 const QgsProcessingParameterDefinition *definition =
nullptr,
1859 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1865 QComboBox *mParentLayerComboBox =
nullptr;
1866 QLineEdit *mDefaultLineEdit =
nullptr;
1867 QCheckBox *mAllowMultipleCheckBox =
nullptr;
1870class GUI_EXPORT QgsProcessingBandWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1878 QString parameterType()
const override;
1879 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1880 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1881 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1886 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
1889 void setParentLayerWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
1892 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1893 QVariant widgetValue() const override;
1895 QString modelerExpressionFormatString() const override;
1898 QgsRasterBandComboBox *mComboBox =
nullptr;
1899 QgsProcessingRasterBandPanelWidget *mPanel =
nullptr;
1900 QLineEdit *mLineEdit =
nullptr;
1902 std::unique_ptr<QgsRasterLayer> mParentLayer;
1904 friend class TestProcessingGui;
1908class GUI_EXPORT QgsProcessingMultipleLayerLineEdit : public QgsHighlightableLineEdit
1913 QgsProcessingMultipleLayerLineEdit( QWidget *parent =
nullptr,
const QgsProcessingParameterMultipleLayers *param =
nullptr );
1914 void dragEnterEvent( QDragEnterEvent *event )
override;
1915 void dragLeaveEvent( QDragLeaveEvent *event )
override;
1916 void dropEvent( QDropEvent *event )
override;
1920 void layersDropped(
const QVariantList &value );
1923 const QgsProcessingParameterMultipleLayers *mParam =
nullptr;
1926class GUI_EXPORT QgsProcessingMultipleLayerPanelWidget :
public QWidget
1931 QgsProcessingMultipleLayerPanelWidget( QWidget *parent =
nullptr,
const QgsProcessingParameterMultipleLayers *param =
nullptr );
1933 QVariant value()
const {
return mValue; }
1934 void setValue(
const QVariant &value );
1936 void setProject( QgsProject *project );
1937 void setModel( QgsProcessingModelAlgorithm *model,
const QString &modelChildAlgorithmID );
1948 void updateSummaryText();
1950 const QgsProcessingParameterMultipleLayers *mParam =
nullptr;
1951 QgsProcessingMultipleLayerLineEdit *mLineEdit =
nullptr;
1952 QToolButton *mToolButton =
nullptr;
1954 QVariantList mValue;
1955 QList<QgsProcessingModelChildParameterSource> mModelSources;
1956 QgsProcessingModelAlgorithm *mModel =
nullptr;
1958 QgsProject *mProject =
nullptr;
1960 friend class TestProcessingGui;
1963class GUI_EXPORT QgsProcessingMultipleLayerParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
1967 QgsProcessingMultipleLayerParameterDefinitionWidget(
1968 QgsProcessingContext &context,
1969 const QgsProcessingParameterWidgetContext &widgetContext,
1970 const QgsProcessingParameterDefinition *definition =
nullptr,
1971 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1977 QComboBox *mLayerTypeComboBox =
nullptr;
1980class GUI_EXPORT QgsProcessingMultipleLayerWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1988 QString parameterType()
const override;
1989 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1990 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1991 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1996 void setWidgetContext( const QgsProcessingParameterWidgetContext &context ) override;
1999 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2000 QVariant widgetValue() const override;
2002 QString modelerExpressionFormatString() const override;
2005 QgsProcessingMultipleLayerPanelWidget *mPanel =
nullptr;
2007 friend class TestProcessingGui;
2015class GUI_EXPORT QgsProcessingDestinationParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
2020 QgsProcessingDestinationParameterDefinitionWidget(
2021 const QString &type,
2022 QgsProcessingContext &context,
2023 const QgsProcessingParameterWidgetContext &widgetContext,
2024 const QgsProcessingDestinationParameter *definition =
nullptr,
2025 const QgsProcessingAlgorithm *
algorithm =
nullptr,
2033 QgsProcessingLayerOutputDestinationWidget *mDestinationWidget =
nullptr;
2034 std::unique_ptr< QgsProcessingDestinationParameter > mExistingDestinationParameter;
2037class GUI_EXPORT QgsProcessingOutputWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2046 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2047 QgsProcessingContext &context, const QgsProcessingParameterWidgetContext &widgetContext, const QgsProcessingParameterDefinition *definition =
nullptr, const QgsProcessingAlgorithm *
algorithm =
nullptr
2051 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2052 QVariant widgetValue() const override;
2053 QVariantMap customProperties() const override;
2056 QgsProcessingLayerOutputDestinationWidget *mOutputWidget =
nullptr;
2057 int mBlockSignals = 0;
2059 friend class TestProcessingGui;
2063class GUI_EXPORT QgsProcessingFeatureSinkWidgetWrapper : public QgsProcessingOutputWidgetWrapper
2071 QString parameterType()
const override;
2072 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2075 QString modelerExpressionFormatString()
const override;
2078 QgsProcessingContext mContext;
2081class GUI_EXPORT QgsProcessingVectorDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2089 QString parameterType()
const override;
2090 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2093 QString modelerExpressionFormatString()
const override;
2096class GUI_EXPORT QgsProcessingRasterDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2104 QString parameterType()
const override;
2105 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2108 QString modelerExpressionFormatString()
const override;
2111class GUI_EXPORT QgsProcessingPointCloudDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2119 QString parameterType()
const override;
2120 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2123 QString modelerExpressionFormatString()
const override;
2126class GUI_EXPORT QgsProcessingFileDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2134 QString parameterType()
const override;
2135 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2138 QString modelerExpressionFormatString()
const override;
2141class GUI_EXPORT QgsProcessingFolderDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2149 QString parameterType()
const override;
2150 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2153 QString modelerExpressionFormatString()
const override;
2156class GUI_EXPORT QgsProcessingPointCloudLayerWidgetWrapper :
public QgsProcessingMapLayerWidgetWrapper
2164 QString parameterType()
const override;
2165 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2166 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2167 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2171 QString modelerExpressionFormatString()
const override;
2175class GUI_EXPORT QgsProcessingAnnotationLayerWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2183 QString parameterType()
const override;
2184 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2185 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2186 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2188 void setWidgetContext(
const QgsProcessingParameterWidgetContext &context )
override;
2193 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2194 QVariant widgetValue() const override;
2196 QString modelerExpressionFormatString() const override;
2199 QPointer<QgsMapLayerComboBox> mComboBox;
2200 int mBlockSignals = 0;
2202 friend class TestProcessingGui;
2206class GUI_EXPORT QgsProcessingPointCloudAttributePanelWidget : public QWidget
2211 QgsProcessingPointCloudAttributePanelWidget( QWidget *parent =
nullptr,
const QgsProcessingParameterPointCloudAttribute *param =
nullptr );
2213 void setAttributes(
const QgsPointCloudAttributeCollection &attributes );
2215 QgsPointCloudAttributeCollection attributes()
const {
return mAttributes; }
2217 QVariant value()
const {
return mValue; }
2218 void setValue(
const QVariant &value );
2229 void updateSummaryText();
2231 QgsPointCloudAttributeCollection mAttributes;
2233 const QgsProcessingParameterPointCloudAttribute *mParam =
nullptr;
2234 QLineEdit *mLineEdit =
nullptr;
2235 QToolButton *mToolButton =
nullptr;
2237 QVariantList mValue;
2239 friend class TestProcessingGui;
2242class GUI_EXPORT QgsProcessingPointCloudAttributeParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
2246 QgsProcessingPointCloudAttributeParameterDefinitionWidget(
2247 QgsProcessingContext &context,
2248 const QgsProcessingParameterWidgetContext &widgetContext,
2249 const QgsProcessingParameterDefinition *definition =
nullptr,
2250 const QgsProcessingAlgorithm *
algorithm =
nullptr,
2256 QComboBox *mParentLayerComboBox =
nullptr;
2257 QLineEdit *mDefaultLineEdit =
nullptr;
2258 QCheckBox *mAllowMultipleCheckBox =
nullptr;
2259 QCheckBox *mDefaultToAllCheckBox =
nullptr;
2262class GUI_EXPORT QgsProcessingPointCloudAttributeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2270 QString parameterType()
const override;
2271 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2272 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2273 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2278 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
2281 void setParentLayerWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
2284 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2285 QVariant widgetValue() const override;
2287 QString modelerExpressionFormatString() const override;
2290 QgsPointCloudAttributeComboBox *mComboBox =
nullptr;
2291 QgsProcessingPointCloudAttributePanelWidget *mPanel =
nullptr;
2292 QLineEdit *mLineEdit =
nullptr;
2294 std::unique_ptr<QgsPointCloudLayer> mParentLayer;
2296 friend class TestProcessingGui;
2299class GUI_EXPORT QgsProcessingVectorTileDestinationWidgetWrapper : public QgsProcessingOutputWidgetWrapper
2307 QString parameterType()
const override;
2308 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2311 QString modelerExpressionFormatString()
const override;
2315class GUI_EXPORT QgsHeatmapPixelSizeWidget :
public QgsPanelWidget,
private Ui::QgsProcessingPixelSizeWidgetBase
2319 QgsHeatmapPixelSizeWidget( QWidget *parent =
nullptr );
2321 void setLayer( QgsVectorLayer *layer );
2322 QgsVectorLayer *layer();
2323 void setRadius(
double radius );
2324 void setRadiusField(
const QString &radiusField );
2326 double value()
const;
2327 void setValue(
double value );
2330 void valueChanged();
2333 void pixelSizeChanged();
2335 void columnsChanged();
2338 void recalculateBounds();
2340 QPointer<QgsVectorLayer> mLayer;
2341 QgsRectangle mLayerBounds;
2342 QgsRectangle mRasterBounds;
2343 double mRadius = 100.0;
2344 QString mRadiusField;
2346 friend class TestProcessingGui;
2349class GUI_EXPORT QgsProcessingHeatmapPixelSizeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2356 QString parameterType()
const override;
2357 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2358 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2359 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2363 QWidget *createWidget()
override;
2364 void postInitialize(
const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers )
override;
2367 void setParentLayerWrapperValue(
const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
2370 void setWidgetValue(
const QVariant &value, QgsProcessingContext &context )
override;
2371 QVariant widgetValue()
const override;
2372 const QgsVectorLayer *linkedVectorLayer()
const override;
2375 void radiusChanged( QgsAbstractProcessingParameterWidgetWrapper *wrapper );
2376 void radiusFieldChanged( QgsAbstractProcessingParameterWidgetWrapper *wrapper );
2379 QgsHeatmapPixelSizeWidget *mWidget =
nullptr;
2380 QgsDoubleSpinBox *mFallbackSpinBox =
nullptr;
2382 std::unique_ptr<QgsMapLayer> mParentLayer;
2384 friend class TestProcessingGui;
2388class GUI_EXPORT QgsReliefColorsWidget :
public QgsPanelWidget,
private Ui::QgsProcessingReliefColorsWidgetBase
2392 QgsReliefColorsWidget( QWidget *parent =
nullptr );
2394 void setLayer( QgsRasterLayer *layer );
2395 QgsRasterLayer *layer();
2397 QList< QgsRasterReliefColor > colors()
const;
2399 void setColors(
const QList< QgsRasterReliefColor > &colors );
2403 void autoCalculate();
2406 void valueChanged();
2410 void removeClicked();
2415 void itemDoubleClicked( QTreeWidgetItem *item,
int column );
2418 QPointer<QgsRasterLayer> mLayer;
2422class GUI_EXPORT QgsProcessingReliefColorsWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2429 QString parameterType()
const override;
2430 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2431 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2432 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2436 QWidget *createWidget()
override;
2437 void postInitialize(
const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers )
override;
2440 void setParentLayerWrapperValue(
const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
2443 void setWidgetValue(
const QVariant &value, QgsProcessingContext &context )
override;
2444 QVariant widgetValue()
const override;
2445 QString modelerExpressionFormatString()
const override;
2448 QgsReliefColorsWidget *mWidget =
nullptr;
2449 QLineEdit *mFallbackLineEdit =
nullptr;
2451 std::unique_ptr<QgsRasterLayer> mParentLayer;
2453 friend class TestProcessingGui;
2456class GUI_EXPORT QgsExecuteSqlWidget :
public QWidget
2461 explicit QgsExecuteSqlWidget( QWidget *parent =
nullptr );
2462 void setValue(
const QString &text );
2463 QString value()
const;
2464 QgsFieldExpressionWidget *expressionWidget()
const {
return mExpressionWidget; }
2465 QPlainTextEdit *textEdit()
const {
return mTextEdit; }
2473 void insertExpression();
2476 QPlainTextEdit *mTextEdit =
nullptr;
2477 QgsFieldExpressionWidget *mExpressionWidget =
nullptr;
2478 QPushButton *mInsertButton =
nullptr;
2481class GUI_EXPORT QgsProcessingExecuteSqlWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2489 QString parameterType()
const override;
2490 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override SIP_FACTORY;
2495 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2496 QVariant widgetValue() const override;
2499 QgsExecuteSqlWidget *mExecuteSqlWidget =
nullptr;
2501 friend class TestProcessingGui;
2504class GUI_EXPORT QgsInterpolationSourceWidget : public QWidget, private Ui::QgsInterpolationSourceWidgetBase
2509 explicit QgsInterpolationSourceWidget( QWidget *parent =
nullptr );
2511 void setValue(
const QVariant &value, QgsProcessingContext &context );
2512 QVariant value()
const;
2521 void layerChanged( QgsVectorLayer *layer );
2524 void addLayerData( QgsVectorLayer *layer,
const QString &attribute );
2526 friend class TestProcessingGui;
2529class GUI_EXPORT QgsProcessingInterpolationSourceWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2536 QString parameterType()
const override;
2537 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2538 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2539 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2545 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2546 QVariant widgetValue() const override;
2549 QgsInterpolationSourceWidget *mWidget =
nullptr;
2551 friend class TestProcessingGui;
2555class GUI_EXPORT QgsInterpolationPixelSizeWidget : public QgsPanelWidget, private Ui::QgsProcessingPixelSizeWidgetBase
2559 QgsInterpolationPixelSizeWidget( QWidget *parent =
nullptr );
2561 void setSourceData(
const QString &sourceData, QgsProcessingContext &context );
2562 void setExtent(
const QgsRectangle &extent );
2564 double value()
const;
2565 void setValue(
double value );
2568 void valueChanged();
2571 void pixelSizeChanged();
2573 void columnsChanged();
2576 QgsRectangle mExtent;
2578 friend class TestProcessingGui;
2582class GUI_EXPORT QgsProcessingInterpolationPixelSizeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2589 QString parameterType()
const override;
2590 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2591 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2592 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2596 QWidget *createWidget()
override;
2597 void postInitialize(
const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers )
override;
2600 void setWidgetValue(
const QVariant &value, QgsProcessingContext &context )
override;
2601 QVariant widgetValue()
const override;
2604 void sourceChanged( QgsAbstractProcessingParameterWidgetWrapper *wrapper );
2605 void extentChanged( QgsAbstractProcessingParameterWidgetWrapper *wrapper );
2608 QgsInterpolationPixelSizeWidget *mWidget =
nullptr;
2609 QgsDoubleSpinBox *mFallbackSpinBox =
nullptr;
2611 friend class TestProcessingGui;
2615class GUI_EXPORT QgsTileExtentMaxZoomWidget :
public QgsPanelWidget,
private Ui::QgsProcessingTileExtentMaxZoomWidgetBase
2619 QgsTileExtentMaxZoomWidget(
const QgsProcessingParameterTileExtentMaxZoomList *param );
2620 ~QgsTileExtentMaxZoomWidget()
override;
2622 QList< QgsTileExtentMaxZoomRegion > regions()
const;
2624 void setRegions(
const QList< QgsTileExtentMaxZoomRegion > ®ions );
2626 void setMapCanvas( QgsMapCanvas *canvas );
2629 void valueChanged();
2630 void toggleDialogVisibility(
bool visible );
2634 void removeClicked();
2635 void itemDoubleClicked( QTreeWidgetItem *item,
int column );
2636 void extentDrawn(
const QgsRectangle &extent );
2637 void mapToolDeactivated();
2640 const QgsProcessingParameterTileExtentMaxZoomList *mParam =
nullptr;
2642 QPointer<QgsMapCanvas> mMapCanvas;
2644 static QString regionToString(
const QgsReferencedRectangle ®ion );
2646 std::unique_ptr<QgsMapToolExtent> mMapToolExtent;
2647 QPointer<QgsMapTool> mMapToolPrevious =
nullptr;
2650class GUI_EXPORT QgsProcessingTileExtentMaxZoomParameterPanel :
public QWidget
2655 QgsProcessingTileExtentMaxZoomParameterPanel(
const QgsProcessingParameterTileExtentMaxZoomList *param );
2657 QVariant value()
const;
2659 void setValue(
const QVariant &value, QgsProcessingContext &context );
2660 void setRegions(
const QList< QgsTileExtentMaxZoomRegion > ®ions );
2662 void setMapCanvas( QgsMapCanvas *canvas );
2667 void toggleDialogVisibility(
bool visible );
2674 void updateSummaryText();
2675 const QgsProcessingParameterTileExtentMaxZoomList *mParam =
nullptr;
2676 QLineEdit *mLineEdit =
nullptr;
2677 QToolButton *mToolButton =
nullptr;
2679 QList<QgsTileExtentMaxZoomRegion> mRegions;
2680 QPointer< QgsTileExtentMaxZoomWidget > mPanelWidget;
2681 QPointer<QgsMapCanvas> mMapCanvas;
2684 friend class TestProcessingGui;
2688class GUI_EXPORT QgsProcessingTileExtentMaxZoomWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2695 QString parameterType()
const override;
2696 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2697 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2698 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2702 QWidget *createWidget()
override;
2703 void setWidgetContext(
const QgsProcessingParameterWidgetContext &context )
override;
2704 void setDialog( QWidget *dialog )
override;
2707 void setWidgetValue(
const QVariant &value, QgsProcessingContext &context )
override;
2708 QVariant widgetValue()
const override;
2709 QString modelerExpressionFormatString()
const override;
2712 QgsProcessingTileExtentMaxZoomParameterPanel *mWidget =
nullptr;
2713 QLineEdit *mFallbackLineEdit =
nullptr;
2714 QWidget *mDialog =
nullptr;
2716 friend class TestProcessingGui;
ProcessingMode
Types of modes which Processing widgets can be created for.
@ Standard
Standard (single-run) algorithm mode.
QFlags< ProcessingParameterFlag > ProcessingParameterFlags
Flags which dictate the behavior of Processing parameters.
Selector widget for authentication configs.
QComboBox subclass which allows selecting multiple items.
A combo box which displays the list of schemas for a specific database connection.
A combobox which displays the list of tables for a specific database connection.
A QDateEdit widget with the capability of setting/reading null dates.
A QDateTimeEdit with the capability of setting/reading null date/times.
The QgsSpinBox is a spin box with a clear button that will set the value to the defined clear value.
A widget which includes a line edit for entering expressions together with a button to open the expre...
A combobox which displays the list of fields of a given layer.
QLineEdit subclass with built in support for clearing the widget's value and handling custom null val...
A QgsFilterLineEdit subclass with the ability to "highlight" the edges of the widget.
A combobox which displays available layouts from a QgsLayoutManager.
A combo box which displays items of a matching type from a layout.
A combobox which displays a dynamic list of layers from a QGIS project.
A combobox which displays the list of attributes of a given point cloud layer.
Print layout, a QgsLayout subclass for static or atlas-based layouts.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
Base class for the definition of processing parameters.
An enum based parameter for processing algorithms, allowing for selection from predefined values.
Contains settings which reflect the context in which a Processing parameter widget is shown.
A combo box which displays the list of connections registered for a given provider.
A combobox widget which displays the bands present in a raster layer.
Responsible for drawing transient features (e.g.
Shows a snapping marker on map canvas for the current snapping match.
A spin box with a clear button that will set the value to the defined clear value.
A QTimeEdit widget with the capability of setting/reading null date/times.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into allowing algorithms to be written in pure substantial changes are required in order to port existing x Processing algorithms for QGIS x The most significant changes are outlined not GeoAlgorithm For algorithms which operate on features one by consider subclassing the QgsProcessingFeatureBasedAlgorithm class This class allows much of the boilerplate code for looping over features from a vector layer to be bypassed and instead requires implementation of a processFeature method Ensure that your algorithm(or algorithm 's parent class) implements the new pure virtual createInstance(self) call