[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