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;
2008class GUI_EXPORT QgsProcessingOutputWidgetWrapper : public QgsAbstractProcessingParameterWidgetWrapper, public QgsProcessingParameterWidgetFactoryInterface
2019 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2020 QVariant widgetValue() const override;
2021 QVariantMap customProperties() const override;
2024 QgsProcessingLayerOutputDestinationWidget *mOutputWidget =
nullptr;
2025 int mBlockSignals = 0;
2027 friend class TestProcessingGui;
2031class GUI_EXPORT QgsProcessingFeatureSinkWidgetWrapper : public QgsProcessingOutputWidgetWrapper
2039 QString parameterType()
const override;
2040 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2043 QString modelerExpressionFormatString()
const override;
2046 QgsProcessingContext mContext;
2049class GUI_EXPORT QgsProcessingVectorDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2057 QString parameterType()
const override;
2058 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2061 QString modelerExpressionFormatString()
const override;
2064class GUI_EXPORT QgsProcessingRasterDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2072 QString parameterType()
const override;
2073 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2076 QString modelerExpressionFormatString()
const override;
2079class GUI_EXPORT QgsProcessingPointCloudDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2087 QString parameterType()
const override;
2088 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2091 QString modelerExpressionFormatString()
const override;
2094class GUI_EXPORT QgsProcessingFileDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2102 QString parameterType()
const override;
2103 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2106 QString modelerExpressionFormatString()
const override;
2109class GUI_EXPORT QgsProcessingFolderDestinationWidgetWrapper :
public QgsProcessingOutputWidgetWrapper
2117 QString parameterType()
const override;
2118 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2121 QString modelerExpressionFormatString()
const override;
2124class GUI_EXPORT QgsProcessingPointCloudLayerWidgetWrapper :
public QgsProcessingMapLayerWidgetWrapper
2132 QString parameterType()
const override;
2133 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2134 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2135 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2139 QString modelerExpressionFormatString()
const override;
2143class GUI_EXPORT QgsProcessingAnnotationLayerWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2151 QString parameterType()
const override;
2152 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2153 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2154 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2156 void setWidgetContext(
const QgsProcessingParameterWidgetContext &context )
override;
2161 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2162 QVariant widgetValue() const override;
2164 QString modelerExpressionFormatString() const override;
2167 QPointer<QgsMapLayerComboBox> mComboBox;
2168 int mBlockSignals = 0;
2170 friend class TestProcessingGui;
2174class GUI_EXPORT QgsProcessingPointCloudAttributePanelWidget : public QWidget
2179 QgsProcessingPointCloudAttributePanelWidget( QWidget *parent =
nullptr,
const QgsProcessingParameterPointCloudAttribute *param =
nullptr );
2181 void setAttributes(
const QgsPointCloudAttributeCollection &attributes );
2183 QgsPointCloudAttributeCollection attributes()
const {
return mAttributes; }
2185 QVariant value()
const {
return mValue; }
2186 void setValue(
const QVariant &value );
2197 void updateSummaryText();
2199 QgsPointCloudAttributeCollection mAttributes;
2201 const QgsProcessingParameterPointCloudAttribute *mParam =
nullptr;
2202 QLineEdit *mLineEdit =
nullptr;
2203 QToolButton *mToolButton =
nullptr;
2205 QVariantList mValue;
2207 friend class TestProcessingGui;
2210class GUI_EXPORT QgsProcessingPointCloudAttributeParameterDefinitionWidget :
public QgsProcessingAbstractParameterDefinitionWidget
2214 QgsProcessingPointCloudAttributeParameterDefinitionWidget(
2215 QgsProcessingContext &context,
2216 const QgsProcessingParameterWidgetContext &widgetContext,
2217 const QgsProcessingParameterDefinition *definition =
nullptr,
2218 const QgsProcessingAlgorithm *
algorithm =
nullptr,
2224 QComboBox *mParentLayerComboBox =
nullptr;
2225 QLineEdit *mDefaultLineEdit =
nullptr;
2226 QCheckBox *mAllowMultipleCheckBox =
nullptr;
2227 QCheckBox *mDefaultToAllCheckBox =
nullptr;
2230class GUI_EXPORT QgsProcessingPointCloudAttributeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2238 QString parameterType()
const override;
2239 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2240 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2241 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2246 void postInitialize( const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers ) override;
2249 void setParentLayerWrapperValue( const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
2252 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2253 QVariant widgetValue() const override;
2255 QString modelerExpressionFormatString() const override;
2258 QgsPointCloudAttributeComboBox *mComboBox =
nullptr;
2259 QgsProcessingPointCloudAttributePanelWidget *mPanel =
nullptr;
2260 QLineEdit *mLineEdit =
nullptr;
2262 std::unique_ptr<QgsPointCloudLayer> mParentLayer;
2264 friend class TestProcessingGui;
2267class GUI_EXPORT QgsProcessingVectorTileDestinationWidgetWrapper : public QgsProcessingOutputWidgetWrapper
2275 QString parameterType()
const override;
2276 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2279 QString modelerExpressionFormatString()
const override;
2283class GUI_EXPORT QgsHeatmapPixelSizeWidget :
public QgsPanelWidget,
private Ui::QgsProcessingPixelSizeWidgetBase
2287 QgsHeatmapPixelSizeWidget( QWidget *parent =
nullptr );
2289 void setLayer( QgsVectorLayer *layer );
2290 QgsVectorLayer *layer();
2291 void setRadius(
double radius );
2292 void setRadiusField(
const QString &radiusField );
2294 double value()
const;
2295 void setValue(
double value );
2298 void valueChanged();
2301 void pixelSizeChanged();
2303 void columnsChanged();
2306 void recalculateBounds();
2308 QPointer<QgsVectorLayer> mLayer;
2309 QgsRectangle mLayerBounds;
2310 QgsRectangle mRasterBounds;
2311 double mRadius = 100.0;
2312 QString mRadiusField;
2314 friend class TestProcessingGui;
2317class GUI_EXPORT QgsProcessingHeatmapPixelSizeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2324 QString parameterType()
const override;
2325 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2326 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2327 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2331 QWidget *createWidget()
override;
2332 void postInitialize(
const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers )
override;
2335 void setParentLayerWrapperValue(
const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
2338 void setWidgetValue(
const QVariant &value, QgsProcessingContext &context )
override;
2339 QVariant widgetValue()
const override;
2340 const QgsVectorLayer *linkedVectorLayer()
const override;
2343 void radiusChanged( QgsAbstractProcessingParameterWidgetWrapper *wrapper );
2344 void radiusFieldChanged( QgsAbstractProcessingParameterWidgetWrapper *wrapper );
2347 QgsHeatmapPixelSizeWidget *mWidget =
nullptr;
2348 QgsDoubleSpinBox *mFallbackSpinBox =
nullptr;
2350 std::unique_ptr<QgsMapLayer> mParentLayer;
2352 friend class TestProcessingGui;
2356class GUI_EXPORT QgsReliefColorsWidget :
public QgsPanelWidget,
private Ui::QgsProcessingReliefColorsWidgetBase
2360 QgsReliefColorsWidget( QWidget *parent =
nullptr );
2362 void setLayer( QgsRasterLayer *layer );
2363 QgsRasterLayer *layer();
2365 QList< QgsRasterReliefColor > colors()
const;
2367 void setColors(
const QList< QgsRasterReliefColor > &colors );
2371 void autoCalculate();
2374 void valueChanged();
2378 void removeClicked();
2383 void itemDoubleClicked( QTreeWidgetItem *item,
int column );
2386 QPointer<QgsRasterLayer> mLayer;
2390class GUI_EXPORT QgsProcessingReliefColorsWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2397 QString parameterType()
const override;
2398 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2399 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2400 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2404 QWidget *createWidget()
override;
2405 void postInitialize(
const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers )
override;
2408 void setParentLayerWrapperValue(
const QgsAbstractProcessingParameterWidgetWrapper *parentWrapper );
2411 void setWidgetValue(
const QVariant &value, QgsProcessingContext &context )
override;
2412 QVariant widgetValue()
const override;
2413 QString modelerExpressionFormatString()
const override;
2416 QgsReliefColorsWidget *mWidget =
nullptr;
2417 QLineEdit *mFallbackLineEdit =
nullptr;
2419 std::unique_ptr<QgsRasterLayer> mParentLayer;
2421 friend class TestProcessingGui;
2424class GUI_EXPORT QgsExecuteSqlWidget :
public QWidget
2429 explicit QgsExecuteSqlWidget( QWidget *parent =
nullptr );
2430 void setValue(
const QString &text );
2431 QString value()
const;
2432 QgsFieldExpressionWidget *expressionWidget()
const {
return mExpressionWidget; }
2433 QPlainTextEdit *textEdit()
const {
return mTextEdit; }
2441 void insertExpression();
2444 QPlainTextEdit *mTextEdit =
nullptr;
2445 QgsFieldExpressionWidget *mExpressionWidget =
nullptr;
2446 QPushButton *mInsertButton =
nullptr;
2449class GUI_EXPORT QgsProcessingExecuteSqlWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2457 QString parameterType()
const override;
2458 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override SIP_FACTORY;
2463 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2464 QVariant widgetValue() const override;
2467 QgsExecuteSqlWidget *mExecuteSqlWidget =
nullptr;
2469 friend class TestProcessingGui;
2472class GUI_EXPORT QgsInterpolationSourceWidget : public QWidget, private Ui::QgsInterpolationSourceWidgetBase
2477 explicit QgsInterpolationSourceWidget( QWidget *parent =
nullptr );
2479 void setValue(
const QVariant &value, QgsProcessingContext &context );
2480 QVariant value()
const;
2489 void layerChanged( QgsVectorLayer *layer );
2492 void addLayerData( QgsVectorLayer *layer,
const QString &attribute );
2494 friend class TestProcessingGui;
2497class GUI_EXPORT QgsProcessingInterpolationSourceWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2504 QString parameterType()
const override;
2505 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2506 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2507 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2513 void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
2514 QVariant widgetValue() const override;
2517 QgsInterpolationSourceWidget *mWidget =
nullptr;
2519 friend class TestProcessingGui;
2523class GUI_EXPORT QgsInterpolationPixelSizeWidget : public QgsPanelWidget, private Ui::QgsProcessingPixelSizeWidgetBase
2527 QgsInterpolationPixelSizeWidget( QWidget *parent =
nullptr );
2529 void setSourceData(
const QString &sourceData, QgsProcessingContext &context );
2530 void setExtent(
const QgsRectangle &extent );
2532 double value()
const;
2533 void setValue(
double value );
2536 void valueChanged();
2539 void pixelSizeChanged();
2541 void columnsChanged();
2544 QgsRectangle mExtent;
2546 friend class TestProcessingGui;
2550class GUI_EXPORT QgsProcessingInterpolationPixelSizeWidgetWrapper :
public QgsAbstractProcessingParameterWidgetWrapper,
public QgsProcessingParameterWidgetFactoryInterface
2557 QString parameterType()
const override;
2558 QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper(
const QgsProcessingParameterDefinition *parameter,
Qgis::ProcessingMode type )
override;
2559 QgsProcessingAbstractParameterDefinitionWidget *createParameterDefinitionWidget(
2560 QgsProcessingContext &context,
const QgsProcessingParameterWidgetContext &widgetContext,
const QgsProcessingParameterDefinition *definition =
nullptr,
const QgsProcessingAlgorithm *
algorithm =
nullptr
2564 QWidget *createWidget()
override;
2565 void postInitialize(
const QList<QgsAbstractProcessingParameterWidgetWrapper *> &wrappers )
override;
2568 void setWidgetValue(
const QVariant &value, QgsProcessingContext &context )
override;
2569 QVariant widgetValue()
const override;
2572 void sourceChanged( QgsAbstractProcessingParameterWidgetWrapper *wrapper );
2573 void extentChanged( QgsAbstractProcessingParameterWidgetWrapper *wrapper );
2576 QgsInterpolationPixelSizeWidget *mWidget =
nullptr;
2577 QgsDoubleSpinBox *mFallbackSpinBox =
nullptr;
2579 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