@@ -138,6 +138,7 @@ QgsVectorLayer::QgsVectorLayer( const QString& vectorLayerPath,
138138 , mLayerTransparency( 0 )
139139 , mVertexMarkerOnlyForSelection( false )
140140 , mEditorLayout( GeneratedLayout )
141+ , mEditFormInitUseCode( false )
141142 , mFeatureFormSuppress( SuppressDefault )
142143 , mCache( new QgsGeometryCache() )
143144 , mEditBuffer( 0 )
@@ -149,6 +150,7 @@ QgsVectorLayer::QgsVectorLayer( const QString& vectorLayerPath,
149150 , mLazyExtent( true )
150151 , mSymbolFeatureCounted( false )
151152 , mEditCommandActive( false )
153+
152154{
153155 mActions = new QgsAttributeAction ( this );
154156 mConditionalStyles = new QgsConditionalLayerStyles ();
@@ -1632,6 +1634,7 @@ bool QgsVectorLayer::writeXml( QDomNode & layer_node,
16321634 return writeSymbology ( layer_node, document, errorMsg );
16331635} // bool QgsVectorLayer::writeXml
16341636
1637+
16351638bool QgsVectorLayer::readSymbology ( const QDomNode& node, QString& errorMessage )
16361639{
16371640 emit readCustomSymbology ( node.toElement (), errorMessage );
@@ -1780,6 +1783,18 @@ bool QgsVectorLayer::readSymbology( const QDomNode& node, QString& errorMessage
17801783 mEditFormInit = editFormInitNode.toElement ().text ();
17811784 }
17821785
1786+ QDomNode editFormInitCodeNode = node.namedItem ( " editforminitcode" );
1787+ if ( !editFormInitCodeNode.isNull () )
1788+ {
1789+ mEditFormInitCode = editFormInitCodeNode.toElement ().text ();
1790+ }
1791+
1792+ QDomNode editFormInitUseCodeNode = node.namedItem ( " editforminitusecode" );
1793+ if ( !editFormInitCodeNode.isNull () )
1794+ {
1795+ mEditFormInitUseCode = ( bool ) editFormInitUseCodeNode.toElement ().text ().toInt ();
1796+ }
1797+
17831798 QDomNode fFSuppNode = node.namedItem ( " featformsuppress" );
17841799 if ( fFSuppNode .isNull () )
17851800 {
@@ -2042,6 +2057,14 @@ bool QgsVectorLayer::writeSymbology( QDomNode& node, QDomDocument& doc, QString&
20422057 efiField.appendChild ( doc.createTextNode ( mEditFormInit ) );
20432058 node.appendChild ( efiField );
20442059
2060+ QDomElement efiucField = doc.createElement ( " editforminitusecode" );
2061+ efiucField.appendChild ( doc.createTextNode ( mEditFormInitUseCode ? " 1" : " 0" ) );
2062+ node.appendChild ( efiucField );
2063+
2064+ QDomElement eficField = doc.createElement ( " editforminitcode" );
2065+ eficField.appendChild ( doc.createCDATASection ( mEditFormInitCode ) );
2066+ node.appendChild ( eficField );
2067+
20452068 QDomElement fFSuppElem = doc.createElement ( " featformsuppress" );
20462069 QDomText fFSuppText = doc.createTextNode ( QString::number ( featureFormSuppress () ) );
20472070 fFSuppElem .appendChild ( fFSuppText );
@@ -2825,11 +2848,31 @@ QString QgsVectorLayer::editFormInit()
28252848 return mEditFormInit ;
28262849}
28272850
2851+ QString QgsVectorLayer::editFormInitCode ()
2852+ {
2853+ return mEditFormInitCode ;
2854+ }
2855+
2856+ bool QgsVectorLayer::editFormInitUseCode ()
2857+ {
2858+ return mEditFormInitUseCode ;
2859+ }
2860+
28282861void QgsVectorLayer::setEditFormInit ( const QString& function )
28292862{
28302863 mEditFormInit = function;
28312864}
28322865
2866+ void QgsVectorLayer::setEditFormInitUseCode ( const bool useCode )
2867+ {
2868+ mEditFormInitUseCode = useCode;
2869+ }
2870+
2871+ void QgsVectorLayer::setEditFormInitCode ( const QString& code )
2872+ {
2873+ mEditFormInitCode = code;
2874+ }
2875+
28332876QMap< QString, QVariant > QgsVectorLayer::valueMap ( int idx )
28342877{
28352878 return editorWidgetV2Config ( idx );
0 commit comments