mirror of
https://github.com/qgis/QGIS.git
synced 2025-12-10 00:08:20 -05:00
[processing] Port CRS widget wrapper to c++ classes
This commit is contained in:
parent
d79d91160d
commit
06d37fced4
@ -105,7 +105,7 @@ If no factory is registered which handles the given ``parameter``, a None will b
|
|||||||
|
|
||||||
QgsProcessingModelerParameterWidget *createModelerParameterWidget( QgsProcessingModelAlgorithm *model,
|
QgsProcessingModelerParameterWidget *createModelerParameterWidget( QgsProcessingModelAlgorithm *model,
|
||||||
const QString &childId,
|
const QString &childId,
|
||||||
const QgsProcessingParameterDefinition *parameter, const QgsProcessingContext &context ) /Factory/;
|
const QgsProcessingParameterDefinition *parameter, QgsProcessingContext &context ) /Factory/;
|
||||||
%Docstring
|
%Docstring
|
||||||
Creates a new modeler parameter widget for the given ``parameter``. This widget allows
|
Creates a new modeler parameter widget for the given ``parameter``. This widget allows
|
||||||
configuration of the parameter's value when used inside a Processing ``model``.
|
configuration of the parameter's value when used inside a Processing ``model``.
|
||||||
|
|||||||
@ -39,7 +39,7 @@ QgsGui.processingGuiRegistry()->createModelerParameterWidget().
|
|||||||
QgsProcessingModelerParameterWidget( QgsProcessingModelAlgorithm *model,
|
QgsProcessingModelerParameterWidget( QgsProcessingModelAlgorithm *model,
|
||||||
const QString &childId,
|
const QString &childId,
|
||||||
const QgsProcessingParameterDefinition *parameter,
|
const QgsProcessingParameterDefinition *parameter,
|
||||||
const QgsProcessingContext &context,
|
QgsProcessingContext &context,
|
||||||
QWidget *parent /TransferThis/ = 0 );
|
QWidget *parent /TransferThis/ = 0 );
|
||||||
%Docstring
|
%Docstring
|
||||||
Constructor for QgsProcessingModelerParameterWidget, for the specified
|
Constructor for QgsProcessingModelerParameterWidget, for the specified
|
||||||
|
|||||||
@ -73,7 +73,7 @@ Constructor for QgsAbstractProcessingParameterWidgetWrapper, for the specified
|
|||||||
Returns the dialog type for which widgets and labels will be created by this wrapper.
|
Returns the dialog type for which widgets and labels will be created by this wrapper.
|
||||||
%End
|
%End
|
||||||
|
|
||||||
QWidget *createWrappedWidget( const QgsProcessingContext &context ) /Factory/;
|
QWidget *createWrappedWidget( QgsProcessingContext &context ) /Factory/;
|
||||||
%Docstring
|
%Docstring
|
||||||
Creates and return a new wrapped widget which allows customization of the parameter's value.
|
Creates and return a new wrapped widget which allows customization of the parameter's value.
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ Returns the current wrapped label, if any.
|
|||||||
Returns the parameter definition associated with this wrapper.
|
Returns the parameter definition associated with this wrapper.
|
||||||
%End
|
%End
|
||||||
|
|
||||||
void setParameterValue( const QVariant &value, const QgsProcessingContext &context );
|
void setParameterValue( const QVariant &value, QgsProcessingContext &context );
|
||||||
%Docstring
|
%Docstring
|
||||||
Sets the current ``value`` for the parameter.
|
Sets the current ``value`` for the parameter.
|
||||||
|
|
||||||
@ -178,7 +178,7 @@ widget itself).
|
|||||||
.. seealso:: :py:func:`createWidget`
|
.. seealso:: :py:func:`createWidget`
|
||||||
%End
|
%End
|
||||||
|
|
||||||
virtual void setWidgetValue( const QVariant &value, const QgsProcessingContext &context ) = 0;
|
virtual void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) = 0;
|
||||||
%Docstring
|
%Docstring
|
||||||
Sets the current ``value`` for the parameter to show in the widget.
|
Sets the current ``value`` for the parameter to show in the widget.
|
||||||
|
|
||||||
@ -237,7 +237,7 @@ The ``type`` argument indicates the dialog type to create a wrapper for.
|
|||||||
virtual QgsProcessingModelerParameterWidget *createModelerWidgetWrapper( QgsProcessingModelAlgorithm *model,
|
virtual QgsProcessingModelerParameterWidget *createModelerWidgetWrapper( QgsProcessingModelAlgorithm *model,
|
||||||
const QString &childId,
|
const QString &childId,
|
||||||
const QgsProcessingParameterDefinition *parameter,
|
const QgsProcessingParameterDefinition *parameter,
|
||||||
const QgsProcessingContext &context );
|
QgsProcessingContext &context );
|
||||||
%Docstring
|
%Docstring
|
||||||
Creates a new modeler parameter widget for the given ``parameter``. This widget allows
|
Creates a new modeler parameter widget for the given ``parameter``. This widget allows
|
||||||
configuration of the parameter's value when used inside a Processing ``model``.
|
configuration of the parameter's value when used inside a Processing ``model``.
|
||||||
|
|||||||
@ -28,6 +28,7 @@ QgsProcessingGuiRegistry::QgsProcessingGuiRegistry()
|
|||||||
addAlgorithmConfigurationWidgetFactory( new QgsFilterAlgorithmConfigurationWidgetFactory() );
|
addAlgorithmConfigurationWidgetFactory( new QgsFilterAlgorithmConfigurationWidgetFactory() );
|
||||||
|
|
||||||
addParameterWidgetFactory( new QgsProcessingBooleanWidgetWrapper() );
|
addParameterWidgetFactory( new QgsProcessingBooleanWidgetWrapper() );
|
||||||
|
addParameterWidgetFactory( new QgsProcessingCrsWidgetWrapper() );
|
||||||
addParameterWidgetFactory( new QgsProcessingStringWidgetWrapper() );
|
addParameterWidgetFactory( new QgsProcessingStringWidgetWrapper() );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,7 +102,7 @@ QgsAbstractProcessingParameterWidgetWrapper *QgsProcessingGuiRegistry::createPar
|
|||||||
return mParameterWidgetFactories.value( parameterType )->createWidgetWrapper( parameter, type );
|
return mParameterWidgetFactories.value( parameterType )->createWidgetWrapper( parameter, type );
|
||||||
}
|
}
|
||||||
|
|
||||||
QgsProcessingModelerParameterWidget *QgsProcessingGuiRegistry::createModelerParameterWidget( QgsProcessingModelAlgorithm *model, const QString &childId, const QgsProcessingParameterDefinition *parameter, const QgsProcessingContext &context )
|
QgsProcessingModelerParameterWidget *QgsProcessingGuiRegistry::createModelerParameterWidget( QgsProcessingModelAlgorithm *model, const QString &childId, const QgsProcessingParameterDefinition *parameter, QgsProcessingContext &context )
|
||||||
{
|
{
|
||||||
if ( !parameter )
|
if ( !parameter )
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|||||||
@ -136,7 +136,7 @@ class GUI_EXPORT QgsProcessingGuiRegistry
|
|||||||
*/
|
*/
|
||||||
QgsProcessingModelerParameterWidget *createModelerParameterWidget( QgsProcessingModelAlgorithm *model,
|
QgsProcessingModelerParameterWidget *createModelerParameterWidget( QgsProcessingModelAlgorithm *model,
|
||||||
const QString &childId,
|
const QString &childId,
|
||||||
const QgsProcessingParameterDefinition *parameter, const QgsProcessingContext &context ) SIP_FACTORY;
|
const QgsProcessingParameterDefinition *parameter, QgsProcessingContext &context ) SIP_FACTORY;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
QgsProcessingModelerParameterWidget::QgsProcessingModelerParameterWidget( QgsProcessingModelAlgorithm *model,
|
QgsProcessingModelerParameterWidget::QgsProcessingModelerParameterWidget( QgsProcessingModelAlgorithm *model,
|
||||||
const QString &childId,
|
const QString &childId,
|
||||||
const QgsProcessingParameterDefinition *parameter, const QgsProcessingContext &context,
|
const QgsProcessingParameterDefinition *parameter, QgsProcessingContext &context,
|
||||||
QWidget *parent )
|
QWidget *parent )
|
||||||
: QWidget( parent )
|
: QWidget( parent )
|
||||||
, mModel( model )
|
, mModel( model )
|
||||||
|
|||||||
@ -77,7 +77,7 @@ class GUI_EXPORT QgsProcessingModelerParameterWidget : public QWidget
|
|||||||
QgsProcessingModelerParameterWidget( QgsProcessingModelAlgorithm *model,
|
QgsProcessingModelerParameterWidget( QgsProcessingModelAlgorithm *model,
|
||||||
const QString &childId,
|
const QString &childId,
|
||||||
const QgsProcessingParameterDefinition *parameter,
|
const QgsProcessingParameterDefinition *parameter,
|
||||||
const QgsProcessingContext &context,
|
QgsProcessingContext &context,
|
||||||
QWidget *parent SIP_TRANSFERTHIS = nullptr );
|
QWidget *parent SIP_TRANSFERTHIS = nullptr );
|
||||||
|
|
||||||
~QgsProcessingModelerParameterWidget() override;
|
~QgsProcessingModelerParameterWidget() override;
|
||||||
@ -150,7 +150,7 @@ class GUI_EXPORT QgsProcessingModelerParameterWidget : public QWidget
|
|||||||
QgsProcessingModelAlgorithm *mModel = nullptr;
|
QgsProcessingModelAlgorithm *mModel = nullptr;
|
||||||
const QString mChildId;
|
const QString mChildId;
|
||||||
const QgsProcessingParameterDefinition *mParameterDefinition = nullptr;
|
const QgsProcessingParameterDefinition *mParameterDefinition = nullptr;
|
||||||
const QgsProcessingContext &mContext;
|
QgsProcessingContext &mContext;
|
||||||
|
|
||||||
QVariant mStaticValue;
|
QVariant mStaticValue;
|
||||||
QString mModelInputParameterName;
|
QString mModelInputParameterName;
|
||||||
|
|||||||
@ -35,7 +35,7 @@ QgsProcessingGui::WidgetType QgsAbstractProcessingParameterWidgetWrapper::type()
|
|||||||
return mType;
|
return mType;
|
||||||
}
|
}
|
||||||
|
|
||||||
QWidget *QgsAbstractProcessingParameterWidgetWrapper::createWrappedWidget( const QgsProcessingContext &context )
|
QWidget *QgsAbstractProcessingParameterWidgetWrapper::createWrappedWidget( QgsProcessingContext &context )
|
||||||
{
|
{
|
||||||
if ( mWidget )
|
if ( mWidget )
|
||||||
return mWidget;
|
return mWidget;
|
||||||
@ -86,7 +86,7 @@ const QgsProcessingParameterDefinition *QgsAbstractProcessingParameterWidgetWrap
|
|||||||
return mParameterDefinition;
|
return mParameterDefinition;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QgsAbstractProcessingParameterWidgetWrapper::setParameterValue( const QVariant &value, const QgsProcessingContext &context )
|
void QgsAbstractProcessingParameterWidgetWrapper::setParameterValue( const QVariant &value, QgsProcessingContext &context )
|
||||||
{
|
{
|
||||||
if ( mPropertyButton && value.canConvert< QgsProperty >() )
|
if ( mPropertyButton && value.canConvert< QgsProperty >() )
|
||||||
{
|
{
|
||||||
@ -207,7 +207,7 @@ void QgsAbstractProcessingParameterWidgetWrapper::setDynamicParentLayerParameter
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QgsProcessingModelerParameterWidget *QgsProcessingParameterWidgetFactoryInterface::createModelerWidgetWrapper( QgsProcessingModelAlgorithm *model, const QString &childId, const QgsProcessingParameterDefinition *parameter, const QgsProcessingContext &context )
|
QgsProcessingModelerParameterWidget *QgsProcessingParameterWidgetFactoryInterface::createModelerWidgetWrapper( QgsProcessingModelAlgorithm *model, const QString &childId, const QgsProcessingParameterDefinition *parameter, QgsProcessingContext &context )
|
||||||
{
|
{
|
||||||
std::unique_ptr< QgsProcessingModelerParameterWidget > widget = qgis::make_unique< QgsProcessingModelerParameterWidget >( model, childId, parameter, context );
|
std::unique_ptr< QgsProcessingModelerParameterWidget > widget = qgis::make_unique< QgsProcessingModelerParameterWidget >( model, childId, parameter, context );
|
||||||
widget->populateSources( compatibleParameterTypes(), compatibleOutputTypes(), compatibleDataTypes() );
|
widget->populateSources( compatibleParameterTypes(), compatibleOutputTypes(), compatibleDataTypes() );
|
||||||
|
|||||||
@ -106,7 +106,7 @@ class GUI_EXPORT QgsAbstractProcessingParameterWidgetWrapper : public QObject
|
|||||||
*
|
*
|
||||||
* \see createWrappedLabel()
|
* \see createWrappedLabel()
|
||||||
*/
|
*/
|
||||||
QWidget *createWrappedWidget( const QgsProcessingContext &context ) SIP_FACTORY;
|
QWidget *createWrappedWidget( QgsProcessingContext &context ) SIP_FACTORY;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates and returns a new label to accompany widgets created by the wrapper.
|
* Creates and returns a new label to accompany widgets created by the wrapper.
|
||||||
@ -147,7 +147,7 @@ class GUI_EXPORT QgsAbstractProcessingParameterWidgetWrapper : public QObject
|
|||||||
*
|
*
|
||||||
* \see parameterValue()
|
* \see parameterValue()
|
||||||
*/
|
*/
|
||||||
void setParameterValue( const QVariant &value, const QgsProcessingContext &context );
|
void setParameterValue( const QVariant &value, QgsProcessingContext &context );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the current value of the parameter.
|
* Returns the current value of the parameter.
|
||||||
@ -209,7 +209,7 @@ class GUI_EXPORT QgsAbstractProcessingParameterWidgetWrapper : public QObject
|
|||||||
*
|
*
|
||||||
* \see widgetValue()
|
* \see widgetValue()
|
||||||
*/
|
*/
|
||||||
virtual void setWidgetValue( const QVariant &value, const QgsProcessingContext &context ) = 0;
|
virtual void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the current value of the parameter.
|
* Returns the current value of the parameter.
|
||||||
@ -293,7 +293,7 @@ class GUI_EXPORT QgsProcessingParameterWidgetFactoryInterface
|
|||||||
virtual QgsProcessingModelerParameterWidget *createModelerWidgetWrapper( QgsProcessingModelAlgorithm *model,
|
virtual QgsProcessingModelerParameterWidget *createModelerWidgetWrapper( QgsProcessingModelAlgorithm *model,
|
||||||
const QString &childId,
|
const QString &childId,
|
||||||
const QgsProcessingParameterDefinition *parameter,
|
const QgsProcessingParameterDefinition *parameter,
|
||||||
const QgsProcessingContext &context );
|
QgsProcessingContext &context );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|||||||
@ -18,6 +18,7 @@
|
|||||||
#include "qgsprocessingwidgetwrapperimpl.h"
|
#include "qgsprocessingwidgetwrapperimpl.h"
|
||||||
#include "qgsprocessingparameters.h"
|
#include "qgsprocessingparameters.h"
|
||||||
#include "qgsprocessingoutputs.h"
|
#include "qgsprocessingoutputs.h"
|
||||||
|
#include "qgsprojectionselectionwidget.h"
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QCheckBox>
|
#include <QCheckBox>
|
||||||
@ -85,7 +86,7 @@ QLabel *QgsProcessingBooleanWidgetWrapper::createLabel()
|
|||||||
return QgsAbstractProcessingParameterWidgetWrapper::createLabel();
|
return QgsAbstractProcessingParameterWidgetWrapper::createLabel();
|
||||||
}
|
}
|
||||||
|
|
||||||
void QgsProcessingBooleanWidgetWrapper::setWidgetValue( const QVariant &value, const QgsProcessingContext &context )
|
void QgsProcessingBooleanWidgetWrapper::setWidgetValue( const QVariant &value, QgsProcessingContext &context )
|
||||||
{
|
{
|
||||||
switch ( type() )
|
switch ( type() )
|
||||||
{
|
{
|
||||||
@ -162,6 +163,127 @@ QgsAbstractProcessingParameterWidgetWrapper *QgsProcessingBooleanWidgetWrapper::
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// QgsProcessingCrsWidgetWrapper
|
||||||
|
//
|
||||||
|
|
||||||
|
QgsProcessingCrsWidgetWrapper::QgsProcessingCrsWidgetWrapper( const QgsProcessingParameterDefinition *parameter, QgsProcessingGui::WidgetType type, QWidget *parent )
|
||||||
|
: QgsAbstractProcessingParameterWidgetWrapper( parameter, type, parent )
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
QWidget *QgsProcessingCrsWidgetWrapper::createWidget()
|
||||||
|
{
|
||||||
|
mProjectionSelectionWidget = new QgsProjectionSelectionWidget();
|
||||||
|
mProjectionSelectionWidget->setToolTip( parameterDefinition()->toolTip() );
|
||||||
|
|
||||||
|
if ( parameterDefinition()->flags() & QgsProcessingParameterDefinition::FlagOptional )
|
||||||
|
mProjectionSelectionWidget->setOptionVisible( QgsProjectionSelectionWidget::CrsNotSet, true );
|
||||||
|
else
|
||||||
|
mProjectionSelectionWidget->setOptionVisible( QgsProjectionSelectionWidget::CrsNotSet, false );
|
||||||
|
|
||||||
|
connect( mProjectionSelectionWidget, &QgsProjectionSelectionWidget::crsChanged, this, [ = ]
|
||||||
|
{
|
||||||
|
emit widgetValueHasChanged( this );
|
||||||
|
} );
|
||||||
|
|
||||||
|
switch ( type() )
|
||||||
|
{
|
||||||
|
case QgsProcessingGui::Standard:
|
||||||
|
case QgsProcessingGui::Batch:
|
||||||
|
{
|
||||||
|
return mProjectionSelectionWidget;
|
||||||
|
};
|
||||||
|
|
||||||
|
case QgsProcessingGui::Modeler:
|
||||||
|
{
|
||||||
|
QWidget *w = new QWidget();
|
||||||
|
w->setToolTip( parameterDefinition()->toolTip() );
|
||||||
|
|
||||||
|
QVBoxLayout *vl = new QVBoxLayout();
|
||||||
|
vl->setMargin( 0 );
|
||||||
|
vl->setContentsMargins( 0, 0, 0, 0 );
|
||||||
|
w->setLayout( vl );
|
||||||
|
|
||||||
|
mUseProjectCrsCheckBox = new QCheckBox( tr( "Use project CRS" ) );
|
||||||
|
mUseProjectCrsCheckBox->setToolTip( tr( "Always use the current project CRS when running the model" ) );
|
||||||
|
vl->addWidget( mUseProjectCrsCheckBox );
|
||||||
|
connect( mUseProjectCrsCheckBox, &QCheckBox::toggled, mProjectionSelectionWidget, &QgsProjectionSelectionWidget::setDisabled );
|
||||||
|
|
||||||
|
vl->addWidget( mProjectionSelectionWidget );
|
||||||
|
|
||||||
|
return w;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
void QgsProcessingCrsWidgetWrapper::setWidgetValue( const QVariant &value, QgsProcessingContext &context )
|
||||||
|
{
|
||||||
|
if ( mUseProjectCrsCheckBox )
|
||||||
|
{
|
||||||
|
if ( value.toString().compare( QLatin1String( "ProjectCrs" ), Qt::CaseInsensitive ) == 0 )
|
||||||
|
{
|
||||||
|
mUseProjectCrsCheckBox->setChecked( true );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mUseProjectCrsCheckBox->setChecked( false );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const QgsCoordinateReferenceSystem v = QgsProcessingParameters::parameterAsCrs( parameterDefinition(), value, context );
|
||||||
|
if ( mProjectionSelectionWidget )
|
||||||
|
mProjectionSelectionWidget->setCrs( v );
|
||||||
|
}
|
||||||
|
|
||||||
|
QVariant QgsProcessingCrsWidgetWrapper::widgetValue() const
|
||||||
|
{
|
||||||
|
if ( mUseProjectCrsCheckBox && mUseProjectCrsCheckBox->isChecked() )
|
||||||
|
return QStringLiteral( "ProjectCrs" );
|
||||||
|
else if ( mProjectionSelectionWidget )
|
||||||
|
return mProjectionSelectionWidget->crs().isValid() ? mProjectionSelectionWidget->crs() : QVariant();
|
||||||
|
else
|
||||||
|
return QVariant();
|
||||||
|
}
|
||||||
|
|
||||||
|
QStringList QgsProcessingCrsWidgetWrapper::compatibleParameterTypes() const
|
||||||
|
{
|
||||||
|
return QStringList()
|
||||||
|
<< QgsProcessingParameterCrs::typeName()
|
||||||
|
<< QgsProcessingParameterExpression::typeName()
|
||||||
|
<< QgsProcessingParameterString::typeName()
|
||||||
|
<< QgsProcessingParameterRasterLayer::typeName()
|
||||||
|
<< QgsProcessingParameterVectorLayer::typeName()
|
||||||
|
<< QgsProcessingParameterFeatureSource::typeName();
|
||||||
|
}
|
||||||
|
|
||||||
|
QStringList QgsProcessingCrsWidgetWrapper::compatibleOutputTypes() const
|
||||||
|
{
|
||||||
|
return QStringList() << QgsProcessingOutputVectorLayer::typeName()
|
||||||
|
<< QgsProcessingOutputRasterLayer::typeName()
|
||||||
|
<< QgsProcessingOutputMapLayer::typeName()
|
||||||
|
<< QgsProcessingOutputString::typeName();
|
||||||
|
}
|
||||||
|
|
||||||
|
QList<int> QgsProcessingCrsWidgetWrapper::compatibleDataTypes() const
|
||||||
|
{
|
||||||
|
return QList< int >();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString QgsProcessingCrsWidgetWrapper::parameterType() const
|
||||||
|
{
|
||||||
|
return QgsProcessingParameterCrs::typeName();
|
||||||
|
}
|
||||||
|
|
||||||
|
QgsAbstractProcessingParameterWidgetWrapper *QgsProcessingCrsWidgetWrapper::createWidgetWrapper( const QgsProcessingParameterDefinition *parameter, QgsProcessingGui::WidgetType type )
|
||||||
|
{
|
||||||
|
return new QgsProcessingCrsWidgetWrapper( parameter, type );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// QgsProcessingStringWidgetWrapper
|
// QgsProcessingStringWidgetWrapper
|
||||||
@ -219,7 +341,7 @@ QWidget *QgsProcessingStringWidgetWrapper::createWidget()
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QgsProcessingStringWidgetWrapper::setWidgetValue( const QVariant &value, const QgsProcessingContext &context )
|
void QgsProcessingStringWidgetWrapper::setWidgetValue( const QVariant &value, QgsProcessingContext &context )
|
||||||
{
|
{
|
||||||
const QString v = QgsProcessingParameters::parameterAsString( parameterDefinition(), value, context );
|
const QString v = QgsProcessingParameters::parameterAsString( parameterDefinition(), value, context );
|
||||||
if ( mLineEdit )
|
if ( mLineEdit )
|
||||||
|
|||||||
@ -26,7 +26,7 @@ class QCheckBox;
|
|||||||
class QComboBox;
|
class QComboBox;
|
||||||
class QLineEdit;
|
class QLineEdit;
|
||||||
class QPlainTextEdit;
|
class QPlainTextEdit;
|
||||||
|
class QgsProjectionSelectionWidget;
|
||||||
|
|
||||||
///@cond PRIVATE
|
///@cond PRIVATE
|
||||||
|
|
||||||
@ -49,7 +49,7 @@ class GUI_EXPORT QgsProcessingBooleanWidgetWrapper : public QgsAbstractProcessin
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
void setWidgetValue( const QVariant &value, const QgsProcessingContext &context ) override;
|
void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
|
||||||
QVariant widgetValue() const override;
|
QVariant widgetValue() const override;
|
||||||
|
|
||||||
QStringList compatibleParameterTypes() const override;
|
QStringList compatibleParameterTypes() const override;
|
||||||
@ -66,6 +66,40 @@ class GUI_EXPORT QgsProcessingBooleanWidgetWrapper : public QgsAbstractProcessin
|
|||||||
friend class TestProcessingGui;
|
friend class TestProcessingGui;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class GUI_EXPORT QgsProcessingCrsWidgetWrapper : public QgsAbstractProcessingParameterWidgetWrapper, public QgsProcessingParameterWidgetFactoryInterface
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
QgsProcessingCrsWidgetWrapper( const QgsProcessingParameterDefinition *parameter = nullptr,
|
||||||
|
QgsProcessingGui::WidgetType type = QgsProcessingGui::Standard, QWidget *parent = nullptr );
|
||||||
|
|
||||||
|
// QgsProcessingParameterWidgetFactoryInterface
|
||||||
|
QString parameterType() const override;
|
||||||
|
QgsAbstractProcessingParameterWidgetWrapper *createWidgetWrapper( const QgsProcessingParameterDefinition *parameter, QgsProcessingGui::WidgetType type ) override;
|
||||||
|
|
||||||
|
// QgsProcessingParameterWidgetWrapper interface
|
||||||
|
QWidget *createWidget() override SIP_FACTORY;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
|
||||||
|
QVariant widgetValue() const override;
|
||||||
|
|
||||||
|
QStringList compatibleParameterTypes() const override;
|
||||||
|
|
||||||
|
QStringList compatibleOutputTypes() const override;
|
||||||
|
|
||||||
|
QList< int > compatibleDataTypes() const override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
QgsProjectionSelectionWidget *mProjectionSelectionWidget = nullptr;
|
||||||
|
QCheckBox *mUseProjectCrsCheckBox = nullptr;
|
||||||
|
|
||||||
|
friend class TestProcessingGui;
|
||||||
|
};
|
||||||
|
|
||||||
class GUI_EXPORT QgsProcessingStringWidgetWrapper : public QgsAbstractProcessingParameterWidgetWrapper, public QgsProcessingParameterWidgetFactoryInterface
|
class GUI_EXPORT QgsProcessingStringWidgetWrapper : public QgsAbstractProcessingParameterWidgetWrapper, public QgsProcessingParameterWidgetFactoryInterface
|
||||||
{
|
{
|
||||||
@ -85,7 +119,7 @@ class GUI_EXPORT QgsProcessingStringWidgetWrapper : public QgsAbstractProcessing
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
void setWidgetValue( const QVariant &value, const QgsProcessingContext &context ) override;
|
void setWidgetValue( const QVariant &value, QgsProcessingContext &context ) override;
|
||||||
QVariant widgetValue() const override;
|
QVariant widgetValue() const override;
|
||||||
|
|
||||||
QStringList compatibleParameterTypes() const override;
|
QStringList compatibleParameterTypes() const override;
|
||||||
|
|||||||
@ -79,7 +79,7 @@ class TestWidgetWrapper : public QgsAbstractProcessingParameterWidgetWrapper
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setWidgetValue( const QVariant &, const QgsProcessingContext & ) override
|
void setWidgetValue( const QVariant &, QgsProcessingContext & ) override
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user