23#include <QRegularExpression> 
   27  , mPyFunctionName( function )
 
   28  , mPyFormVarName( pyFormName )
 
   30  static int sLayerCounter = 0;
 
   31  mPyLayerVarName = QStringLiteral( 
"_qgis_layer_%1_%2" ).arg( 
form->
layer()->
id() ).arg( sLayerCounter++ );
 
   32  const thread_local QRegularExpression reClean( QRegularExpression( 
"[^a-zA-Z0-9_]" ) );
 
   33  mPyLayerVarName.replace( reClean, QStringLiteral( 
"_" ) ); 
 
   35  const QString initLayer = QStringLiteral( 
"%1 = sip.wrapinstance( %2, qgis.core.QgsVectorLayer )" )
 
   36                            .arg( mPyLayerVarName )
 
   44  const QString delLayer = QStringLiteral( 
"del %1" ).arg( mPyLayerVarName );
 
   50  QDialogButtonBox *buttonBox = 
form()->findChild<QDialogButtonBox *>();
 
   61  const QDateTime dt = QDateTime::currentDateTime();
 
   62  const QString pyFeatureVarName = QStringLiteral( 
"_qgis_feature_%1" ).arg( dt.toString( QStringLiteral( 
"yyyyMMddhhmmsszzz" ) ) );
 
   63  const QString initFeature = QStringLiteral( 
"%1 = sip.wrapinstance( %2, qgis.core.QgsFeature )" )
 
   64                              .arg( pyFeatureVarName )
 
   69  const QString expr = QStringLiteral( 
"%1( %2, %3, %4)" )
 
   70                       .arg( mPyFunctionName,
 
   77  const QString delFeature = QStringLiteral( 
"del %1" ).arg( pyFeatureVarName );
 
QString id() const
Returns the layer's unique ID, which is used to access this layer from QgsProject.
 
static bool run(const QString &command, const QString &messageOnError=QString())
Execute a Python statement.