[QGIS Commit] r11328 - trunk/qgis/src/plugins/grass

svn_qgis at osgeo.org svn_qgis at osgeo.org
Mon Aug 10 10:55:28 EDT 2009


Author: rugginoso
Date: 2009-08-10 10:55:27 -0400 (Mon, 10 Aug 2009)
New Revision: 11328

Modified:
   trunk/qgis/src/plugins/grass/qgsgrassmodule.cpp
   trunk/qgis/src/plugins/grass/qgsgrassmodule.h
Log:
Added the possibility to unselect an optional (required="no" into interface-description of the grass module) to fix #1134.


Modified: trunk/qgis/src/plugins/grass/qgsgrassmodule.cpp
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassmodule.cpp	2009-08-10 10:53:58 UTC (rev 11327)
+++ trunk/qgis/src/plugins/grass/qgsgrassmodule.cpp	2009-08-10 14:55:27 UTC (rev 11328)
@@ -1992,7 +1992,7 @@
     : QgsGrassModuleGroupBoxItem( module, key, qdesc, gdesc, gnode, parent ),
     mModuleStandardOptions( options ),
     mGeometryTypeOption( 0 ), mVectorLayerOption( 0 ),
-    mRegionButton( 0 ), mUpdate( false )
+    mRegionButton( 0 ), mUpdate( false ), mRequired( false )
 {
   QgsDebugMsg( "called." );
   mGeometryTypeMask = GV_POINT | GV_LINE | GV_AREA;
@@ -2003,6 +2003,13 @@
   }
   adjustTitle();
 
+  // Check if this parameter is required
+   if (gnode.toElement().attribute("required") == "yes") {
+      mRequired = true;
+  } else {
+      mRequired = false;
+  }
+
   QDomNode promptNode = gnode.namedItem( "gisprompt" );
   QDomElement promptElem = promptNode.toElement();
   QString element = promptElem.attribute( "element" );
@@ -2212,6 +2219,15 @@
   mMapLayers.resize( 0 );
   mVectorFields.resize( 0 );
 
+  // If not required, add an empty item to combobox and a padding item into
+  // layer containers.
+  if (!mRequired){
+      mMaps.push_back(QString(""));
+      mVectorLayerNames.push_back(QString(""));
+      mMapLayers.push_back(NULL);
+      mLayerComboBox->addItem(tr("Select a layer"), QVariant());
+  }
+
   QgsMapCanvas *canvas = mModule->qgisIface()->mapCanvas();
 
   // Find map option

Modified: trunk/qgis/src/plugins/grass/qgsgrassmodule.h
===================================================================
--- trunk/qgis/src/plugins/grass/qgsgrassmodule.h	2009-08-10 10:53:58 UTC (rev 11327)
+++ trunk/qgis/src/plugins/grass/qgsgrassmodule.h	2009-08-10 14:55:27 UTC (rev 11328)
@@ -638,6 +638,9 @@
 
     //! Uses region
     bool mUsesRegion;
+    
+    //! Required field
+    bool mRequired;
 };
 
 /*********************** QgsGrassModuleGdalInput **********************/



More information about the QGIS-commit mailing list