29 , mPyFunctionName( function )
30 , mPyFormVarName( pyFormName )
32 static int sLayerCounter = 0;
33 mPyLayerVarName = u
"_qgis_layer_%1_%2"_s.arg(
form->layer()->id() ).arg( sLayerCounter++ );
34 const thread_local QRegularExpression reClean( QRegularExpression(
"[^a-zA-Z0-9_]" ) );
35 mPyLayerVarName.replace( reClean, u
"_"_s );
37 const QString initLayer = u
"%1 = sip.wrapinstance( %2, qgis.core.QgsVectorLayer )"_s.arg( mPyLayerVarName ).arg( ( quint64 )
form->layer() );
50 QDialogButtonBox *buttonBox =
form()->findChild<QDialogButtonBox *>();
61 const QDateTime dt = QDateTime::currentDateTime();
62 const QString pyFeatureVarName = u
"_qgis_feature_%1"_s.arg( dt.toString( u
"yyyyMMddhhmmsszzz"_s ) );
63 const QString initFeature = u
"%1 = sip.wrapinstance( %2, qgis.core.QgsFeature )"_s.arg( pyFeatureVarName ).arg( ( quint64 ) &
form()->
feature() );
67 const QString expr = u
"%1( %2, %3, %4)"_s.arg( mPyFunctionName, mPyFormVarName, mPyLayerVarName, pyFeatureVarName );
71 const QString delFeature = u
"del %1"_s.arg( pyFeatureVarName );