19#ifndef QGSPROCESSINGWIDGETWRAPPERIMPL_H
20#define QGSPROCESSINGWIDGETWRAPPERIMPL_H
22#include "ui_qgsinterpolationsourcewidgetbase.h"
23#include "ui_qgsprocessingpixelsizewidgetbase.h"
24#include "ui_qgsprocessingreliefcolorswidgetbase.h"
37#include <QAbstractButton>
51class QgsProcessingMatrixParameterPanel;
73class QgsProcessingEnumModelerWidget;
74class QgsProcessingMatrixModelerWidget;
75class QgsProcessingMapLayerComboBox;
78class QgsProcessingLayerOutputDestinationWidget;
81class QgsProcessingPointCloudExpressionLineEdit;
82class QgsProcessingRasterCalculatorExpressionLineEdit;
95 QgsProcessingBooleanParameterDefinitionWidget(
105 QCheckBox *mDefaultCheckBox =
nullptr;
116 QString parameterType()
const override;
117 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
118 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
119 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
127 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
128 QVariant widgetValue() const override;
131 QCheckBox *mCheckBox =
nullptr;
132 QComboBox *mComboBox =
nullptr;
134 friend class TestProcessingGui;
138class GUI_EXPORT QgsProcessingCrsParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
142 QgsProcessingCrsParameterDefinitionWidget(
143 QgsProcessingContext &context,
144 const QgsProcessingParameterWidgetContext &widgetContext,
145 const QgsProcessingParameterDefinition *definition =
nullptr,
146 const QgsProcessingAlgorithm *
algorithm =
nullptr,
152 QgsProjectionSelectionWidget *mCrsSelector =
nullptr;
155class GUI_EXPORT QgsProcessingCrsWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
163 QString parameterType()
const override;
164 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
165 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
166 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
173 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
174 QVariant widgetValue() const override;
176 QString modelerExpressionFormatString() const override;
179 QgsProjectionSelectionWidget *mProjectionSelectionWidget =
nullptr;
180 QCheckBox *mUseProjectCrsCheckBox =
nullptr;
182 friend class TestProcessingGui;
186class GUI_EXPORT QgsProcessingStringParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
190 QgsProcessingStringParameterDefinitionWidget(
191 QgsProcessingContext &context,
192 const QgsProcessingParameterWidgetContext &widgetContext,
193 const QgsProcessingParameterDefinition *definition =
nullptr,
194 const QgsProcessingAlgorithm *
algorithm =
nullptr,
200 QLineEdit *mDefaultLineEdit =
nullptr;
201 QCheckBox *mMultiLineCheckBox =
nullptr;
204class GUI_EXPORT QgsProcessingStringWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
212 QString parameterType()
const override;
213 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
214 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
215 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
222 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
223 QVariant widgetValue() const override;
226 QLineEdit *mLineEdit =
nullptr;
227 QComboBox *mComboBox =
nullptr;
228 QPlainTextEdit *mPlainTextEdit =
nullptr;
230 friend class TestProcessingGui;
234class GUI_EXPORT QgsProcessingAuthConfigWidgetWrapper : public QgsAbstractProcessingParameterWidgetWrapper, public QgsProcessingParameterWidgetFactoryInterface
242 QString parameterType()
const override;
243 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
249 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
250 QVariant widgetValue() const override;
253 QgsAuthConfigSelect *mAuthConfigSelect =
nullptr;
255 friend class TestProcessingGui;
259class GUI_EXPORT QgsProcessingNumberParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
263 QgsProcessingNumberParameterDefinitionWidget(
264 QgsProcessingContext &context,
265 const QgsProcessingParameterWidgetContext &widgetContext,
266 const QgsProcessingParameterDefinition *definition =
nullptr,
267 const QgsProcessingAlgorithm *
algorithm =
nullptr,
273 QComboBox *mTypeComboBox =
nullptr;
274 QLineEdit *mMinLineEdit =
nullptr;
275 QLineEdit *mMaxLineEdit =
nullptr;
276 QLineEdit *mDefaultLineEdit =
nullptr;
280class GUI_EXPORT QgsProcessingNumericWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
288 QString parameterType()
const override;
289 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
290 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
291 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
298 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
299 QVariant widgetValue() const override;
302 QgsSpinBox *mSpinBox =
nullptr;
303 QgsDoubleSpinBox *mDoubleSpinBox =
nullptr;
306 static
double calculateStep(
double minimum,
double maximum );
308 bool mAllowingNull = false;
310 friend class TestProcessingGui;
314class GUI_EXPORT QgsProcessingDistanceParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
318 QgsProcessingDistanceParameterDefinitionWidget(
319 QgsProcessingContext &context,
320 const QgsProcessingParameterWidgetContext &widgetContext,
321 const QgsProcessingParameterDefinition *definition =
nullptr,
322 const QgsProcessingAlgorithm *
algorithm =
nullptr,
328 QComboBox *mParentLayerComboBox =
nullptr;
329 QLineEdit *mMinLineEdit =
nullptr;
330 QLineEdit *mMaxLineEdit =
nullptr;
331 QLineEdit *mDefaultLineEdit =
nullptr;
334class GUI_EXPORT QgsProcessingDistanceWidgetWrapper :
public QgsProcessingNumericWidgetWrapper
342 QString parameterType()
const override;
343 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
344 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
345 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
350 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
353 void setUnitParameterValue( const QVariant &value, const QgsAbstractProcessingParameterWidgetWrapper *unitParameterWrapper =
nullptr );
354 void setUnits( Qgis::DistanceUnit unit );
357 QVariant widgetValue() const override;
360 Qgis::DistanceUnit mBaseUnit = Qgis::DistanceUnit::Unknown;
361 QLabel *mLabel =
nullptr;
362 QWidget *mWarningLabel =
nullptr;
363 QComboBox *mUnitsCombo =
nullptr;
365 friend class TestProcessingGui;
368class GUI_EXPORT QgsProcessingAreaParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
372 QgsProcessingAreaParameterDefinitionWidget(
373 QgsProcessingContext &context,
374 const QgsProcessingParameterWidgetContext &widgetContext,
375 const QgsProcessingParameterDefinition *definition =
nullptr,
376 const QgsProcessingAlgorithm *
algorithm =
nullptr,
382 QComboBox *mParentLayerComboBox =
nullptr;
383 QLineEdit *mMinLineEdit =
nullptr;
384 QLineEdit *mMaxLineEdit =
nullptr;
385 QLineEdit *mDefaultLineEdit =
nullptr;
388class GUI_EXPORT QgsProcessingAreaWidgetWrapper :
public QgsProcessingNumericWidgetWrapper
396 QString parameterType()
const override;
397 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
398 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
399 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
404 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
407 void setUnitParameterValue( const QVariant &value, const QgsAbstractProcessingParameterWidgetWrapper *unitParameterWrapper =
nullptr );
408 void setUnits( Qgis::AreaUnit unit );
411 QVariant widgetValue() const override;
414 Qgis::AreaUnit mBaseUnit = Qgis::AreaUnit::Unknown;
415 QLabel *mLabel =
nullptr;
416 QWidget *mWarningLabel =
nullptr;
417 QComboBox *mUnitsCombo =
nullptr;
419 friend class TestProcessingGui;
423class GUI_EXPORT QgsProcessingVolumeParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
427 QgsProcessingVolumeParameterDefinitionWidget(
428 QgsProcessingContext &context,
429 const QgsProcessingParameterWidgetContext &widgetContext,
430 const QgsProcessingParameterDefinition *definition =
nullptr,
431 const QgsProcessingAlgorithm *
algorithm =
nullptr,
437 QComboBox *mParentLayerComboBox =
nullptr;
438 QLineEdit *mMinLineEdit =
nullptr;
439 QLineEdit *mMaxLineEdit =
nullptr;
440 QLineEdit *mDefaultLineEdit =
nullptr;
443class GUI_EXPORT QgsProcessingVolumeWidgetWrapper :
public QgsProcessingNumericWidgetWrapper
451 QString parameterType()
const override;
452 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
453 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
454 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
459 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
462 void setUnitParameterValue( const QVariant &value, const QgsAbstractProcessingParameterWidgetWrapper *unitParameterWrapper =
nullptr );
463 void setUnits( Qgis::VolumeUnit unit );
466 QVariant widgetValue() const override;
469 Qgis::VolumeUnit mBaseUnit = Qgis::VolumeUnit::Unknown;
470 QLabel *mLabel =
nullptr;
471 QWidget *mWarningLabel =
nullptr;
472 QComboBox *mUnitsCombo =
nullptr;
474 friend class TestProcessingGui;
478class GUI_EXPORT QgsProcessingDurationParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
482 QgsProcessingDurationParameterDefinitionWidget(
483 QgsProcessingContext &context,
484 const QgsProcessingParameterWidgetContext &widgetContext,
485 const QgsProcessingParameterDefinition *definition =
nullptr,
486 const QgsProcessingAlgorithm *
algorithm =
nullptr,
492 QLineEdit *mMinLineEdit =
nullptr;
493 QLineEdit *mMaxLineEdit =
nullptr;
494 QLineEdit *mDefaultLineEdit =
nullptr;
495 QComboBox *mUnitsCombo =
nullptr;
498class GUI_EXPORT QgsProcessingDurationWidgetWrapper :
public QgsProcessingNumericWidgetWrapper
506 QString parameterType()
const override;
507 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
508 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
509 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
517 QVariant widgetValue() const override;
518 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
521 Qgis::TemporalUnit mBaseUnit = Qgis::TemporalUnit::Milliseconds;
522 QComboBox *mUnitsCombo =
nullptr;
524 friend class TestProcessingGui;
527class GUI_EXPORT QgsProcessingScaleParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
531 QgsProcessingScaleParameterDefinitionWidget(
532 QgsProcessingContext &context,
533 const QgsProcessingParameterWidgetContext &widgetContext,
534 const QgsProcessingParameterDefinition *definition =
nullptr,
535 const QgsProcessingAlgorithm *
algorithm =
nullptr,
541 QLineEdit *mDefaultLineEdit =
nullptr;
544class GUI_EXPORT QgsProcessingScaleWidgetWrapper :
public QgsProcessingNumericWidgetWrapper
552 QString parameterType()
const override;
553 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
554 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
555 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
560 void setWidgetContext( const QgsProcessingParameterWidgetContext &context ) override;
563 QVariant widgetValue() const override;
564 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
567 QgsScaleWidget *mScaleWidget =
nullptr;
569 friend class TestProcessingGui;
573class GUI_EXPORT QgsProcessingRangeParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
577 QgsProcessingRangeParameterDefinitionWidget(
578 QgsProcessingContext &context,
579 const QgsProcessingParameterWidgetContext &widgetContext,
580 const QgsProcessingParameterDefinition *definition =
nullptr,
581 const QgsProcessingAlgorithm *
algorithm =
nullptr,
587 QComboBox *mTypeComboBox =
nullptr;
588 QLineEdit *mMinLineEdit =
nullptr;
589 QLineEdit *mMaxLineEdit =
nullptr;
592class GUI_EXPORT QgsProcessingRangeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
600 QString parameterType()
const override;
601 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
602 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
603 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
610 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
611 QVariant widgetValue() const override;
612 QString modelerExpressionFormatString() const override;
615 QgsDoubleSpinBox *mMinSpinBox =
nullptr;
616 QgsDoubleSpinBox *mMaxSpinBox =
nullptr;
619 int mBlockChangedSignal = 0;
620 bool mAllowingNull = false;
622 friend class TestProcessingGui;
625class GUI_EXPORT QgsProcessingMatrixParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
629 QgsProcessingMatrixParameterDefinitionWidget(
630 QgsProcessingContext &context,
631 const QgsProcessingParameterWidgetContext &widgetContext,
632 const QgsProcessingParameterDefinition *definition =
nullptr,
633 const QgsProcessingAlgorithm *
algorithm =
nullptr,
639 QgsProcessingMatrixModelerWidget *mMatrixWidget =
nullptr;
642class GUI_EXPORT QgsProcessingMatrixWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
650 QString parameterType()
const override;
651 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
652 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
653 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
660 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
661 QVariant widgetValue() const override;
663 QString modelerExpressionFormatString() const override;
666 QgsProcessingMatrixParameterPanel *mMatrixWidget =
nullptr;
668 friend class TestProcessingGui;
671class GUI_EXPORT QgsProcessingFileParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
675 QgsProcessingFileParameterDefinitionWidget(
676 QgsProcessingContext &context,
677 const QgsProcessingParameterWidgetContext &widgetContext,
678 const QgsProcessingParameterDefinition *definition =
nullptr,
679 const QgsProcessingAlgorithm *
algorithm =
nullptr,
685 QComboBox *mTypeComboBox =
nullptr;
686 QComboBox *mFilterComboBox =
nullptr;
687 QgsFileWidget *mDefaultFileWidget =
nullptr;
690class GUI_EXPORT QgsProcessingFileWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
698 QString parameterType()
const override;
699 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
700 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
701 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
708 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
709 QVariant widgetValue() const override;
711 QString modelerExpressionFormatString() const override;
714 QgsFileWidget *mFileWidget =
nullptr;
716 friend class TestProcessingGui;
720class GUI_EXPORT QgsProcessingExpressionParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
724 QgsProcessingExpressionParameterDefinitionWidget(
725 QgsProcessingContext &context,
726 const QgsProcessingParameterWidgetContext &widgetContext,
727 const QgsProcessingParameterDefinition *definition =
nullptr,
728 const QgsProcessingAlgorithm *
algorithm =
nullptr,
734 QComboBox *mParentLayerComboBox =
nullptr;
735 QgsExpressionLineEdit *mDefaultQgisLineEdit =
nullptr;
736 QgsProcessingPointCloudExpressionLineEdit *mDefaultPointCloudLineEdit =
nullptr;
737 QgsProcessingRasterCalculatorExpressionLineEdit *mDefaultRasterCalculatorLineEdit =
nullptr;
738 QComboBox *mExpressionTypeComboBox =
nullptr;
741class GUI_EXPORT QgsProcessingExpressionWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
749 QString parameterType()
const override;
750 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
751 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
752 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
757 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
758 void registerProcessingContextGenerator( QgsProcessingContextGenerator *generator ) override;
761 void setParentLayerWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
764 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
765 QVariant widgetValue() const override;
767 QString modelerExpressionFormatString() const override;
768 const QgsVectorLayer *linkedVectorLayer() const override;
771 QgsFieldExpressionWidget *mFieldExpWidget =
nullptr;
772 QgsExpressionBuilderWidget *mExpBuilderWidget =
nullptr;
773 QgsExpressionLineEdit *mExpLineEdit =
nullptr;
774 QgsProcessingPointCloudExpressionLineEdit *mPointCloudExpLineEdit =
nullptr;
775 QgsProcessingRasterCalculatorExpressionLineEdit *mRasterCalculatorExpLineEdit =
nullptr;
776 std::unique_ptr<QgsMapLayer> mParentLayer;
778 friend class TestProcessingGui;
782class GUI_EXPORT QgsProcessingEnumCheckboxPanelWidget : public QWidget
787 QgsProcessingEnumCheckboxPanelWidget( QWidget *parent =
nullptr,
const QgsProcessingParameterEnum *param =
nullptr,
int columns = 2 );
788 QVariant value()
const;
789 void setValue(
const QVariant &value );
797 void showPopupMenu();
802 const QgsProcessingParameterEnum *mParam =
nullptr;
803 QMap<QVariant, QAbstractButton *> mButtons;
804 QButtonGroup *mButtonGroup =
nullptr;
806 bool mBlockChangedSignal =
false;
808 friend class TestProcessingGui;
811class GUI_EXPORT QgsProcessingEnumPanelWidget :
public QWidget
816 QgsProcessingEnumPanelWidget( QWidget *parent =
nullptr,
const QgsProcessingParameterEnum *param =
nullptr );
817 QVariant value()
const {
return mValue; }
818 void setValue(
const QVariant &value );
829 void updateSummaryText();
831 const QgsProcessingParameterEnum *mParam =
nullptr;
832 QLineEdit *mLineEdit =
nullptr;
833 QToolButton *mToolButton =
nullptr;
837 friend class TestProcessingGui;
840class GUI_EXPORT QgsProcessingEnumParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
844 QgsProcessingEnumParameterDefinitionWidget(
845 QgsProcessingContext &context,
846 const QgsProcessingParameterWidgetContext &widgetContext,
847 const QgsProcessingParameterDefinition *definition =
nullptr,
848 const QgsProcessingAlgorithm *
algorithm =
nullptr,
854 QgsProcessingEnumModelerWidget *mEnumWidget =
nullptr;
857class GUI_EXPORT QgsProcessingEnumWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
865 QString parameterType()
const override;
866 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
867 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
868 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
875 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
876 QVariant widgetValue() const override;
878 QString modelerExpressionFormatString() const override;
881 QComboBox *mComboBox =
nullptr;
882 QgsProcessingEnumPanelWidget *mPanel =
nullptr;
883 QgsProcessingEnumCheckboxPanelWidget *mCheckboxPanel =
nullptr;
885 friend class TestProcessingGui;
889class GUI_EXPORT QgsProcessingLayoutWidgetWrapper : public QgsAbstractProcessingParameterWidgetWrapper, public QgsProcessingParameterWidgetFactoryInterface
897 QString parameterType()
const override;
898 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
904 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
905 QVariant widgetValue() const override;
906 void setWidgetContext( const QgsProcessingParameterWidgetContext &context ) override;
908 QString modelerExpressionFormatString() const override;
911 QgsLayoutComboBox *mComboBox =
nullptr;
912 QComboBox *mPlainComboBox =
nullptr;
914 friend class TestProcessingGui;
918class GUI_EXPORT QgsProcessingLayoutItemParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
922 QgsProcessingLayoutItemParameterDefinitionWidget(
923 QgsProcessingContext &context,
924 const QgsProcessingParameterWidgetContext &widgetContext,
925 const QgsProcessingParameterDefinition *definition =
nullptr,
926 const QgsProcessingAlgorithm *
algorithm =
nullptr,
932 QComboBox *mParentLayoutComboBox =
nullptr;
935class GUI_EXPORT QgsProcessingLayoutItemWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
943 QString parameterType()
const override;
944 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
945 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
946 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
951 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
955 void setLayoutParameterValue( const QVariant &value );
956 void setLayout( QgsPrintLayout *layout );
959 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
960 QVariant widgetValue() const override;
962 QString modelerExpressionFormatString() const override;
965 QgsLayoutItemComboBox *mComboBox =
nullptr;
966 QLineEdit *mLineEdit =
nullptr;
968 friend class TestProcessingGui;
971class GUI_EXPORT QgsProcessingPointMapTool : public QgsMapTool
975 QgsProcessingPointMapTool( QgsMapCanvas *canvas );
976 ~QgsProcessingPointMapTool()
override;
977 void deactivate()
override;
978 void canvasMoveEvent( QgsMapMouseEvent *e )
override;
979 void canvasPressEvent( QgsMapMouseEvent *e )
override;
980 void keyPressEvent( QKeyEvent *e )
override;
984 void clicked(
const QgsPointXY &point );
988 std::unique_ptr<QgsSnapIndicator> mSnapIndicator;
989 friend class TestProcessingGui;
992class GUI_EXPORT QgsProcessingPointPanel :
public QWidget
997 QgsProcessingPointPanel( QWidget *parent );
998 ~QgsProcessingPointPanel()
override;
999 void setMapCanvas( QgsMapCanvas *canvas );
1000 void setAllowNull(
bool allowNull );
1001 void setShowPointOnCanvas(
bool show );
1002 void setAllowSelectOnCanvas(
bool allow );
1004 QVariant value()
const;
1006 void setValue(
const QgsPointXY &point,
const QgsCoordinateReferenceSystem &crs );
1007 void showEvent( QShowEvent *event )
override;
1011 void toggleDialogVisibility(
bool visible );
1016 void selectOnCanvas();
1017 void updatePoint(
const QgsPointXY &point );
1019 void textChanged(
const QString &text );
1022 void updateRubberBand();
1024 QgsFilterLineEdit *mLineEdit =
nullptr;
1025 bool mShowPointOnCanvas =
false;
1026 bool mFirstShow =
true;
1027 bool mAllowSelectOnCanvas =
true;
1028 QToolButton *mButton =
nullptr;
1029 QgsMapCanvas *mCanvas =
nullptr;
1030 QgsCoordinateReferenceSystem mCrs;
1031 QPointer<QgsMapTool> mPrevTool;
1032 std::unique_ptr<QgsProcessingPointMapTool> mTool;
1034 QObjectUniquePtr<QgsRubberBand> mMapPointRubberBand;
1035 friend class TestProcessingGui;
1039class GUI_EXPORT QgsProcessingPointParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
1043 QgsProcessingPointParameterDefinitionWidget(
1044 QgsProcessingContext &context,
1045 const QgsProcessingParameterWidgetContext &widgetContext,
1046 const QgsProcessingParameterDefinition *definition =
nullptr,
1047 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1053 QLineEdit *mDefaultLineEdit =
nullptr;
1056class GUI_EXPORT QgsProcessingPointWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1064 QString parameterType()
const override;
1065 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1066 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1067 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1072 void setWidgetContext( const QgsProcessingParameterWidgetContext &context ) override;
1073 void setDialog( QWidget *dialog ) override;
1076 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1077 QVariant widgetValue() const override;
1079 QString modelerExpressionFormatString() const override;
1082 QgsProcessingPointPanel *mPanel =
nullptr;
1083 QLineEdit *mLineEdit =
nullptr;
1084 QWidget *mDialog =
nullptr;
1086 friend class TestProcessingGui;
1089class GUI_EXPORT QgsProcessingGeometryParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1093 QgsProcessingGeometryParameterDefinitionWidget(
1094 QgsProcessingContext &context,
1095 const QgsProcessingParameterWidgetContext &widgetContext,
1096 const QgsProcessingParameterDefinition *definition =
nullptr,
1097 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1103 QgsGeometryWidget *mGeometryWidget =
nullptr;
1106class GUI_EXPORT QgsProcessingGeometryWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1114 QString parameterType()
const override;
1115 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1116 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1117 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1124 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1125 QVariant widgetValue() const override;
1127 QString modelerExpressionFormatString() const override;
1130 QgsGeometryWidget *mGeometryWidget =
nullptr;
1132 friend class TestProcessingGui;
1135class GUI_EXPORT QgsProcessingExtentParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1139 QgsProcessingExtentParameterDefinitionWidget(
1140 QgsProcessingContext &context,
1141 const QgsProcessingParameterWidgetContext &widgetContext,
1142 const QgsProcessingParameterDefinition *definition =
nullptr,
1143 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1149 QgsExtentWidget *mDefaultWidget =
nullptr;
1152class GUI_EXPORT QgsProcessingExtentWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1160 QString parameterType()
const override;
1161 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1162 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1163 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1168 void setWidgetContext( const QgsProcessingParameterWidgetContext &context ) override;
1169 void setDialog( QWidget *dialog ) override;
1172 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1173 QVariant widgetValue() const override;
1175 QString modelerExpressionFormatString() const override;
1178 QgsExtentWidget *mExtentWidget =
nullptr;
1179 QWidget *mDialog =
nullptr;
1181 friend class TestProcessingGui;
1184class GUI_EXPORT QgsProcessingColorParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1188 QgsProcessingColorParameterDefinitionWidget(
1189 QgsProcessingContext &context,
1190 const QgsProcessingParameterWidgetContext &widgetContext,
1191 const QgsProcessingParameterDefinition *definition =
nullptr,
1192 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1198 QgsColorButton *mDefaultColorButton =
nullptr;
1199 QCheckBox *mAllowOpacity =
nullptr;
1202class GUI_EXPORT QgsProcessingColorWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1210 QString parameterType()
const override;
1211 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1212 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1213 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1220 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1221 QVariant widgetValue() const override;
1223 QString modelerExpressionFormatString() const override;
1226 QgsColorButton *mColorButton =
nullptr;
1227 friend class TestProcessingGui;
1231class GUI_EXPORT QgsProcessingCoordinateOperationParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1235 QgsProcessingCoordinateOperationParameterDefinitionWidget(
1236 QgsProcessingContext &context,
1237 const QgsProcessingParameterWidgetContext &widgetContext,
1238 const QgsProcessingParameterDefinition *definition =
nullptr,
1239 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1245 QLineEdit *mDefaultLineEdit =
nullptr;
1247 QComboBox *mSourceParamComboBox =
nullptr;
1248 QComboBox *mDestParamComboBox =
nullptr;
1250 QgsProjectionSelectionWidget *mStaticSourceWidget =
nullptr;
1251 QgsProjectionSelectionWidget *mStaticDestWidget =
nullptr;
1254class GUI_EXPORT QgsProcessingCoordinateOperationWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1262 QString parameterType()
const override;
1263 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1264 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1265 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1270 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
1271 void setWidgetContext( const QgsProcessingParameterWidgetContext &context ) override;
1274 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1275 QVariant widgetValue() const override;
1277 QString modelerExpressionFormatString() const override;
1280 void setSourceCrsParameterValue( const QVariant &value );
1281 void setDestinationCrsParameterValue( const QVariant &value );
1283 QgsCoordinateOperationWidget *mOperationWidget =
nullptr;
1284 QgsMapCanvas *mCanvas =
nullptr;
1285 QLineEdit *mLineEdit =
nullptr;
1286 QgsCoordinateReferenceSystem mSourceCrs;
1287 QgsCoordinateReferenceSystem mDestCrs;
1288 friend class TestProcessingGui;
1291class GUI_EXPORT QgsProcessingFieldPanelWidget : public QWidget
1296 QgsProcessingFieldPanelWidget( QWidget *parent =
nullptr,
const QgsProcessingParameterField *param =
nullptr );
1298 void setFields(
const QgsFields &fields );
1300 QgsFields fields()
const {
return mFields; }
1302 QVariant value()
const {
return mValue; }
1303 void setValue(
const QVariant &value );
1314 void updateSummaryText();
1318 const QgsProcessingParameterField *mParam =
nullptr;
1319 QLineEdit *mLineEdit =
nullptr;
1320 QToolButton *mToolButton =
nullptr;
1322 QVariantList mValue;
1324 friend class TestProcessingGui;
1327class GUI_EXPORT QgsProcessingFieldParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
1331 QgsProcessingFieldParameterDefinitionWidget(
1332 QgsProcessingContext &context,
1333 const QgsProcessingParameterWidgetContext &widgetContext,
1334 const QgsProcessingParameterDefinition *definition =
nullptr,
1335 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1341 QComboBox *mParentLayerComboBox =
nullptr;
1342 QComboBox *mDataTypeComboBox =
nullptr;
1343 QLineEdit *mDefaultLineEdit =
nullptr;
1344 QCheckBox *mAllowMultipleCheckBox =
nullptr;
1345 QCheckBox *mDefaultToAllCheckBox =
nullptr;
1348class GUI_EXPORT QgsProcessingFieldWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1356 QString parameterType()
const override;
1357 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1358 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1359 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1364 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
1367 void setParentLayerWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
1370 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1371 QVariant widgetValue() const override;
1373 QString modelerExpressionFormatString() const override;
1374 const QgsVectorLayer *linkedVectorLayer() const override;
1377 QgsFieldComboBox *mComboBox =
nullptr;
1378 QgsProcessingFieldPanelWidget *mPanel =
nullptr;
1379 QLineEdit *mLineEdit =
nullptr;
1381 std::unique_ptr<QgsVectorLayer> mParentLayer;
1383 QgsFields filterFields( const QgsFields &fields ) const;
1385 friend class TestProcessingGui;
1389class GUI_EXPORT QgsProcessingMapThemeParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1393 QgsProcessingMapThemeParameterDefinitionWidget(
1394 QgsProcessingContext &context,
1395 const QgsProcessingParameterWidgetContext &widgetContext,
1396 const QgsProcessingParameterDefinition *definition =
nullptr,
1397 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1403 QComboBox *mDefaultComboBox =
nullptr;
1406class GUI_EXPORT QgsProcessingMapThemeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1414 QString parameterType()
const override;
1415 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1416 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1417 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1424 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1425 QVariant widgetValue() const override;
1427 QString modelerExpressionFormatString() const override;
1430 QComboBox *mComboBox =
nullptr;
1432 friend class TestProcessingGui;
1436class GUI_EXPORT QgsProcessingDateTimeParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1440 QgsProcessingDateTimeParameterDefinitionWidget(
1441 QgsProcessingContext &context,
1442 const QgsProcessingParameterWidgetContext &widgetContext,
1443 const QgsProcessingParameterDefinition *definition =
nullptr,
1444 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1450 QComboBox *mTypeComboBox =
nullptr;
1453class GUI_EXPORT QgsProcessingDateTimeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1461 QString parameterType()
const override;
1462 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1466 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1467 QgsProcessingContext &context, const QgsProcessingParameterWidgetContext &widgetContext, const QgsProcessingParameterDefinition *definition =
nullptr, const QgsProcessingAlgorithm *
algorithm =
nullptr
1471 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1472 QVariant widgetValue() const override;
1474 QString modelerExpressionFormatString() const override;
1477 QgsDateTimeEdit *mDateTimeEdit =
nullptr;
1478 QgsDateEdit *mDateEdit =
nullptr;
1479 QgsTimeEdit *mTimeEdit =
nullptr;
1481 friend class TestProcessingGui;
1489class GUI_EXPORT QgsProcessingProviderConnectionParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1493 QgsProcessingProviderConnectionParameterDefinitionWidget(
1494 QgsProcessingContext &context,
1495 const QgsProcessingParameterWidgetContext &widgetContext,
1496 const QgsProcessingParameterDefinition *definition =
nullptr,
1497 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1503 QComboBox *mProviderComboBox =
nullptr;
1504 QLineEdit *mDefaultEdit =
nullptr;
1507class GUI_EXPORT QgsProcessingProviderConnectionWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1515 QString parameterType()
const override;
1516 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1521 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1522 QgsProcessingContext &context, const QgsProcessingParameterWidgetContext &widgetContext, const QgsProcessingParameterDefinition *definition =
nullptr, const QgsProcessingAlgorithm *
algorithm =
nullptr
1526 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1527 QVariant widgetValue() const override;
1529 QString modelerExpressionFormatString() const override;
1532 QgsProviderConnectionComboBox *mProviderComboBox =
nullptr;
1533 int mBlockSignals = 0;
1535 friend class TestProcessingGui;
1539class GUI_EXPORT QgsProcessingDatabaseSchemaParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1543 QgsProcessingDatabaseSchemaParameterDefinitionWidget(
1544 QgsProcessingContext &context,
1545 const QgsProcessingParameterWidgetContext &widgetContext,
1546 const QgsProcessingParameterDefinition *definition =
nullptr,
1547 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1553 QComboBox *mConnectionParamComboBox =
nullptr;
1554 QLineEdit *mDefaultEdit =
nullptr;
1557class GUI_EXPORT QgsProcessingDatabaseSchemaWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1565 QString parameterType()
const override;
1566 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1567 void postInitialize(
const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers )
override;
1572 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1573 QgsProcessingContext &context, const QgsProcessingParameterWidgetContext &widgetContext, const QgsProcessingParameterDefinition *definition =
nullptr, const QgsProcessingAlgorithm *
algorithm =
nullptr
1577 void setParentConnectionWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
1580 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1581 QVariant widgetValue() const override;
1583 QString modelerExpressionFormatString() const override;
1586 QgsDatabaseSchemaComboBox *mSchemaComboBox =
nullptr;
1587 int mBlockSignals = 0;
1589 friend class TestProcessingGui;
1593class GUI_EXPORT QgsProcessingDatabaseTableParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1597 QgsProcessingDatabaseTableParameterDefinitionWidget(
1598 QgsProcessingContext &context,
1599 const QgsProcessingParameterWidgetContext &widgetContext,
1600 const QgsProcessingParameterDefinition *definition =
nullptr,
1601 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1607 QComboBox *mConnectionParamComboBox =
nullptr;
1608 QComboBox *mSchemaParamComboBox =
nullptr;
1609 QLineEdit *mDefaultEdit =
nullptr;
1612class GUI_EXPORT QgsProcessingDatabaseTableWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1620 QString parameterType()
const override;
1621 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1622 void postInitialize(
const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers )
override;
1627 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1628 QgsProcessingContext &context, const QgsProcessingParameterWidgetContext &widgetContext, const QgsProcessingParameterDefinition *definition =
nullptr, const QgsProcessingAlgorithm *
algorithm =
nullptr
1632 void setParentConnectionWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
1633 void setParentSchemaWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
1636 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1637 QVariant widgetValue() const override;
1639 QString modelerExpressionFormatString() const override;
1642 QgsDatabaseTableComboBox *mTableComboBox =
nullptr;
1643 int mBlockSignals = 0;
1644 QString mConnection;
1648 friend class TestProcessingGui;
1651class GUI_EXPORT QgsProcessingMapLayerParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
1655 QgsProcessingMapLayerParameterDefinitionWidget(
1656 QgsProcessingContext &context,
1657 const QgsProcessingParameterWidgetContext &widgetContext,
1658 const QgsProcessingParameterDefinition *definition =
nullptr,
1659 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1665 QgsCheckableComboBox *mLayerTypeComboBox =
nullptr;
1668class GUI_EXPORT QgsProcessingMapLayerWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1676 QString parameterType()
const override;
1677 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1678 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1679 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1682 void setWidgetContext(
const QgsProcessingParameterWidgetContext &context )
override;
1687 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1688 QVariant widgetValue() const override;
1690 QString modelerExpressionFormatString() const override;
1691 Qgis::ProcessingModelChildParameterSource defaultModelSource( const QgsProcessingParameterDefinition *parameter ) const override;
1694 QPointer<QgsProcessingMapLayerComboBox> mComboBox;
1695 int mBlockSignals = 0;
1697 friend class TestProcessingGui;
1701class GUI_EXPORT QgsProcessingRasterLayerWidgetWrapper : public QgsProcessingMapLayerWidgetWrapper
1709 QString parameterType()
const override;
1710 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1711 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1712 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1716 QString modelerExpressionFormatString()
const override;
1720class GUI_EXPORT QgsProcessingVectorLayerParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
1724 QgsProcessingVectorLayerParameterDefinitionWidget(
1725 QgsProcessingContext &context,
1726 const QgsProcessingParameterWidgetContext &widgetContext,
1727 const QgsProcessingParameterDefinition *definition =
nullptr,
1728 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1734 QgsCheckableComboBox *mGeometryTypeComboBox =
nullptr;
1737class GUI_EXPORT QgsProcessingVectorLayerWidgetWrapper :
public QgsProcessingMapLayerWidgetWrapper
1745 QString parameterType()
const override;
1746 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1747 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1748 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1752 QString modelerExpressionFormatString()
const override;
1756class GUI_EXPORT QgsProcessingFeatureSourceParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
1760 QgsProcessingFeatureSourceParameterDefinitionWidget(
1761 QgsProcessingContext &context,
1762 const QgsProcessingParameterWidgetContext &widgetContext,
1763 const QgsProcessingParameterDefinition *definition =
nullptr,
1764 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1770 QgsCheckableComboBox *mGeometryTypeComboBox =
nullptr;
1773class GUI_EXPORT QgsProcessingFeatureSourceWidgetWrapper :
public QgsProcessingMapLayerWidgetWrapper
1781 QString parameterType()
const override;
1782 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1783 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1784 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1788 QString modelerExpressionFormatString()
const override;
1792class GUI_EXPORT QgsProcessingMeshLayerWidgetWrapper :
public QgsProcessingMapLayerWidgetWrapper
1800 QString parameterType()
const override;
1801 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1802 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1803 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1807 QString modelerExpressionFormatString()
const override;
1811class GUI_EXPORT QgsProcessingRasterBandPanelWidget :
public QWidget
1816 QgsProcessingRasterBandPanelWidget( QWidget *parent =
nullptr,
const QgsProcessingParameterBand *param =
nullptr );
1818 void setBands(
const QList<int> &bands );
1819 void setBandNames(
const QHash<int, QString> &names );
1820 QList<int> bands()
const {
return mBands; }
1822 QVariant value()
const {
return mValue; }
1823 void setValue(
const QVariant &value );
1834 void updateSummaryText();
1837 QHash<int, QString> mBandNames;
1839 const QgsProcessingParameterBand *mParam =
nullptr;
1840 QLineEdit *mLineEdit =
nullptr;
1841 QToolButton *mToolButton =
nullptr;
1843 QVariantList mValue;
1845 friend class TestProcessingGui;
1848class GUI_EXPORT QgsProcessingBandParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
1852 QgsProcessingBandParameterDefinitionWidget(
1853 QgsProcessingContext &context,
1854 const QgsProcessingParameterWidgetContext &widgetContext,
1855 const QgsProcessingParameterDefinition *definition =
nullptr,
1856 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1862 QComboBox *mParentLayerComboBox =
nullptr;
1863 QLineEdit *mDefaultLineEdit =
nullptr;
1864 QCheckBox *mAllowMultipleCheckBox =
nullptr;
1867class GUI_EXPORT QgsProcessingBandWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1875 QString parameterType()
const override;
1876 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1877 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1878 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1883 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
1886 void setParentLayerWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
1889 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1890 QVariant widgetValue() const override;
1892 QString modelerExpressionFormatString() const override;
1895 QgsRasterBandComboBox *mComboBox =
nullptr;
1896 QgsProcessingRasterBandPanelWidget *mPanel =
nullptr;
1897 QLineEdit *mLineEdit =
nullptr;
1899 std::unique_ptr<QgsRasterLayer> mParentLayer;
1901 friend class TestProcessingGui;
1905class GUI_EXPORT QgsProcessingMultipleLayerLineEdit : public QgsHighlightableLineEdit
1910 QgsProcessingMultipleLayerLineEdit( QWidget *parent =
nullptr,
const QgsProcessingParameterMultipleLayers *param =
nullptr );
1911 void dragEnterEvent( QDragEnterEvent *event )
override;
1912 void dragLeaveEvent( QDragLeaveEvent *event )
override;
1913 void dropEvent( QDropEvent *event )
override;
1917 void layersDropped(
const QVariantList &value );
1920 const QgsProcessingParameterMultipleLayers *mParam =
nullptr;
1923class GUI_EXPORT QgsProcessingMultipleLayerPanelWidget :
public QWidget
1928 QgsProcessingMultipleLayerPanelWidget( QWidget *parent =
nullptr,
const QgsProcessingParameterMultipleLayers *param =
nullptr );
1930 QVariant value()
const {
return mValue; }
1931 void setValue(
const QVariant &value );
1933 void setProject( QgsProject *project );
1934 void setModel( QgsProcessingModelAlgorithm *model,
const QString &modelChildAlgorithmID );
1945 void updateSummaryText();
1947 const QgsProcessingParameterMultipleLayers *mParam =
nullptr;
1948 QgsProcessingMultipleLayerLineEdit *mLineEdit =
nullptr;
1949 QToolButton *mToolButton =
nullptr;
1951 QVariantList mValue;
1952 QList<QgsProcessingModelChildParameterSource> mModelSources;
1953 QgsProcessingModelAlgorithm *mModel =
nullptr;
1955 QgsProject *mProject =
nullptr;
1957 friend class TestProcessingGui;
1960class GUI_EXPORT QgsProcessingMultipleLayerParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
1964 QgsProcessingMultipleLayerParameterDefinitionWidget(
1965 QgsProcessingContext &context,
1966 const QgsProcessingParameterWidgetContext &widgetContext,
1967 const QgsProcessingParameterDefinition *definition =
nullptr,
1968 const QgsProcessingAlgorithm *
algorithm =
nullptr,
1974 QComboBox *mLayerTypeComboBox =
nullptr;
1977class GUI_EXPORT QgsProcessingMultipleLayerWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
1985 QString parameterType()
const override;
1986 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
1987 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
1988 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
1993 void setWidgetContext( const QgsProcessingParameterWidgetContext &context ) override;
1996 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
1997 QVariant widgetValue() const override;
1999 QString modelerExpressionFormatString() const override;
2002 QgsProcessingMultipleLayerPanelWidget *mPanel =
nullptr;
2004 friend class TestProcessingGui;
2012class GUI_EXPORT QgsProcessingDestinationParameterDefinitionWidget : public QgsProcessingAbstractParameterDefinitionWidget
2017 QgsProcessingDestinationParameterDefinitionWidget(
2018 const QString &type,
2019 QgsProcessingContext &context,
2020 const QgsProcessingParameterWidgetContext &widgetContext,
2021 const QgsProcessingDestinationParameter *definition =
nullptr,
2022 const QgsProcessingAlgorithm *
algorithm =
nullptr,
2030 QgsProcessingLayerOutputDestinationWidget *mDestinationWidget =
nullptr;
2031 std::unique_ptr< QgsProcessingDestinationParameter > mExistingDestinationParameter;
2034class GUI_EXPORT QgsProcessingOutputWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2043 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2044 QgsProcessingContext &context, const QgsProcessingParameterWidgetContext &widgetContext, const QgsProcessingParameterDefinition *definition =
nullptr, const QgsProcessingAlgorithm *
algorithm =
nullptr
2048 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2049 QVariant widgetValue() const override;
2050 QVariantMap customProperties() const override;
2053 QgsProcessingLayerOutputDestinationWidget *mOutputWidget =
nullptr;
2054 int mBlockSignals = 0;
2056 friend class TestProcessingGui;
2060class GUI_EXPORT QgsProcessingFeatureSinkWidgetWrapper : public QgsProcessingOutputWidgetWrapper
2068 QString parameterType()
const override;
2069 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2072 QString modelerExpressionFormatString()
const override;
2075 QgsProcessingContext mContext;
2078class GUI_EXPORT QgsProcessingVectorDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2086 QString parameterType()
const override;
2087 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2090 QString modelerExpressionFormatString()
const override;
2093class GUI_EXPORT QgsProcessingRasterDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2101 QString parameterType()
const override;
2102 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2105 QString modelerExpressionFormatString()
const override;
2108class GUI_EXPORT QgsProcessingPointCloudDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2116 QString parameterType()
const override;
2117 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2120 QString modelerExpressionFormatString()
const override;
2123class GUI_EXPORT QgsProcessingFileDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2131 QString parameterType()
const override;
2132 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2135 QString modelerExpressionFormatString()
const override;
2138class GUI_EXPORT QgsProcessingFolderDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2146 QString parameterType()
const override;
2147 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2150 QString modelerExpressionFormatString()
const override;
2153class GUI_EXPORT QgsProcessingPointCloudLayerWidgetWrapper :
public QgsProcessingMapLayerWidgetWrapper
2161 QString parameterType()
const override;
2162 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2163 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2164 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2168 QString modelerExpressionFormatString()
const override;
2172class GUI_EXPORT QgsProcessingAnnotationLayerWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2180 QString parameterType()
const override;
2181 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2182 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2183 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2185 void setWidgetContext(
const QgsProcessingParameterWidgetContext &context )
override;
2190 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2191 QVariant widgetValue() const override;
2193 QString modelerExpressionFormatString() const override;
2196 QPointer<QgsMapLayerComboBox> mComboBox;
2197 int mBlockSignals = 0;
2199 friend class TestProcessingGui;
2203class GUI_EXPORT QgsProcessingPointCloudAttributePanelWidget : public QWidget
2208 QgsProcessingPointCloudAttributePanelWidget( QWidget *parent =
nullptr,
const QgsProcessingParameterPointCloudAttribute *param =
nullptr );
2210 void setAttributes(
const QgsPointCloudAttributeCollection &attributes );
2212 QgsPointCloudAttributeCollection attributes()
const {
return mAttributes; }
2214 QVariant value()
const {
return mValue; }
2215 void setValue(
const QVariant &value );
2226 void updateSummaryText();
2228 QgsPointCloudAttributeCollection mAttributes;
2230 const QgsProcessingParameterPointCloudAttribute *mParam =
nullptr;
2231 QLineEdit *mLineEdit =
nullptr;
2232 QToolButton *mToolButton =
nullptr;
2234 QVariantList mValue;
2236 friend class TestProcessingGui;
2239class GUI_EXPORT QgsProcessingPointCloudAttributeParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
2243 QgsProcessingPointCloudAttributeParameterDefinitionWidget(
2244 QgsProcessingContext &context,
2245 const QgsProcessingParameterWidgetContext &widgetContext,
2246 const QgsProcessingParameterDefinition *definition =
nullptr,
2247 const QgsProcessingAlgorithm *
algorithm =
nullptr,
2253 QComboBox *mParentLayerComboBox =
nullptr;
2254 QLineEdit *mDefaultLineEdit =
nullptr;
2255 QCheckBox *mAllowMultipleCheckBox =
nullptr;
2256 QCheckBox *mDefaultToAllCheckBox =
nullptr;
2259class GUI_EXPORT QgsProcessingPointCloudAttributeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2267 QString parameterType()
const override;
2268 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2269 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2270 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2275 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
2278 void setParentLayerWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
2281 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2282 QVariant widgetValue() const override;
2284 QString modelerExpressionFormatString() const override;
2287 QgsPointCloudAttributeComboBox *mComboBox =
nullptr;
2288 QgsProcessingPointCloudAttributePanelWidget *mPanel =
nullptr;
2289 QLineEdit *mLineEdit =
nullptr;
2291 std::unique_ptr<QgsPointCloudLayer> mParentLayer;
2293 friend class TestProcessingGui;
2296class GUI_EXPORT QgsProcessingVectorTileDestinationWidgetWrapper : public QgsProcessingOutputWidgetWrapper
2304 QString parameterType()
const override;
2305 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2308 QString modelerExpressionFormatString()
const override;
2312class GUI_EXPORT QgsHeatmapPixelSizeWidget :
public QgsPanelWidget,
private Ui::QgsProcessingPixelSizeWidgetBase
2316 QgsHeatmapPixelSizeWidget( QWidget *parent =
nullptr );
2318 void setLayer( QgsVectorLayer *layer );
2319 QgsVectorLayer *layer();
2320 void setRadius(
double radius );
2321 void setRadiusField(
const QString &radiusField );
2323 double value()
const;
2324 void setValue(
double value );
2327 void valueChanged();
2330 void pixelSizeChanged();
2332 void columnsChanged();
2335 void recalculateBounds();
2337 QPointer<QgsVectorLayer> mLayer;
2338 QgsRectangle mLayerBounds;
2339 QgsRectangle mRasterBounds;
2340 double mRadius = 100.0;
2341 QString mRadiusField;
2343 friend class TestProcessingGui;
2346class GUI_EXPORT QgsProcessingHeatmapPixelSizeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2353 QString parameterType()
const override;
2354 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2355 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2356 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2360 QWidget *createWidget()
override;
2361 void postInitialize(
const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers )
override;
2364 void setParentLayerWrapperValue(
const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
2367 void setWidgetValue(
const QVariant &value, QgsProcessingContext &context )
override;
2368 QVariant widgetValue()
const override;
2369 const QgsVectorLayer *linkedVectorLayer()
const override;
2372 void radiusChanged( QgsAbstractProcessingParameterWidgetWrapper *wrapper );
2373 void radiusFieldChanged( QgsAbstractProcessingParameterWidgetWrapper *wrapper );
2376 QgsHeatmapPixelSizeWidget *mWidget =
nullptr;
2377 QgsDoubleSpinBox *mFallbackSpinBox =
nullptr;
2379 std::unique_ptr<QgsMapLayer> mParentLayer;
2381 friend class TestProcessingGui;
2385class GUI_EXPORT QgsReliefColorsWidget :
public QgsPanelWidget,
private Ui::QgsProcessingReliefColorsWidgetBase
2389 QgsReliefColorsWidget( QWidget *parent =
nullptr );
2391 void setLayer( QgsRasterLayer *layer );
2392 QgsRasterLayer *layer();
2394 QList< QgsRasterReliefColor > colors()
const;
2396 void setColors(
const QList< QgsRasterReliefColor > &colors );
2400 void autoCalculate();
2403 void valueChanged();
2407 void removeClicked();
2412 void itemDoubleClicked( QTreeWidgetItem *item,
int column );
2415 QPointer<QgsRasterLayer> mLayer;
2419class GUI_EXPORT QgsProcessingReliefColorsWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2426 QString parameterType()
const override;
2427 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2428 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2429 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2433 QWidget *createWidget()
override;
2434 void postInitialize(
const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers )
override;
2437 void setParentLayerWrapperValue(
const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
2440 void setWidgetValue(
const QVariant &value, QgsProcessingContext &context )
override;
2441 QVariant widgetValue()
const override;
2442 QString modelerExpressionFormatString()
const override;
2445 QgsReliefColorsWidget *mWidget =
nullptr;
2446 QLineEdit *mFallbackLineEdit =
nullptr;
2448 std::unique_ptr<QgsRasterLayer> mParentLayer;
2450 friend class TestProcessingGui;
2453class GUI_EXPORT QgsExecuteSqlWidget :
public QWidget
2458 explicit QgsExecuteSqlWidget( QWidget *parent =
nullptr );
2459 void setValue(
const QString &text );
2460 QString value()
const;
2461 QgsFieldExpressionWidget *expressionWidget()
const {
return mExpressionWidget; }
2462 QPlainTextEdit *textEdit()
const {
return mTextEdit; }
2470 void insertExpression();
2473 QPlainTextEdit *mTextEdit =
nullptr;
2474 QgsFieldExpressionWidget *mExpressionWidget =
nullptr;
2475 QPushButton *mInsertButton =
nullptr;
2478class GUI_EXPORT QgsProcessingExecuteSqlWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2486 QString parameterType()
const override;
2487 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override SIP_FACTORY;
2492 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2493 QVariant widgetValue() const override;
2496 QgsExecuteSqlWidget *mExecuteSqlWidget =
nullptr;
2498 friend class TestProcessingGui;
2501class GUI_EXPORT QgsInterpolationSourceWidget : public QWidget, private Ui::QgsInterpolationSourceWidgetBase
2506 explicit QgsInterpolationSourceWidget( QWidget *parent =
nullptr );
2508 void setValue(
const QVariant &value, QgsProcessingContext &context );
2509 QVariant value()
const;
2518 void layerChanged( QgsVectorLayer *layer );
2521 void addLayerData( QgsVectorLayer *layer,
const QString &attribute );
2523 friend class TestProcessingGui;
2526class GUI_EXPORT QgsProcessingInterpolationSourceWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2533 QString parameterType()
const override;
2534 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2535 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2536 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2542 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2543 QVariant widgetValue() const override;
2546 QgsInterpolationSourceWidget *mWidget =
nullptr;
2548 friend class TestProcessingGui;
2552class GUI_EXPORT QgsInterpolationPixelSizeWidget : public QgsPanelWidget, private Ui::QgsProcessingPixelSizeWidgetBase
2556 QgsInterpolationPixelSizeWidget( QWidget *parent =
nullptr );
2558 void setSourceData(
const QString &sourceData, QgsProcessingContext &context );
2559 void setExtent(
const QgsRectangle &extent );
2561 double value()
const;
2562 void setValue(
double value );
2565 void valueChanged();
2568 void pixelSizeChanged();
2570 void columnsChanged();
2573 QgsRectangle mExtent;
2575 friend class TestProcessingGui;
2579class GUI_EXPORT QgsProcessingInterpolationPixelSizeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2586 QString parameterType()
const override;
2587 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2588 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2589 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2593 QWidget *createWidget()
override;
2594 void postInitialize(
const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers )
override;
2597 void setWidgetValue(
const QVariant &value, QgsProcessingContext &context )
override;
2598 QVariant widgetValue()
const override;
2601 void sourceChanged( QgsAbstractProcessingParameterWidgetWrapper *wrapper );
2602 void extentChanged( QgsAbstractProcessingParameterWidgetWrapper *wrapper );
2605 QgsInterpolationPixelSizeWidget *mWidget =
nullptr;
2606 QgsDoubleSpinBox *mFallbackSpinBox =
nullptr;
2608 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