Skip to content

Commit

Permalink
[GRASS][feature] delete vector layer browser action
Browse files Browse the repository at this point in the history
  • Loading branch information
blazek committed May 4, 2015
1 parent f800ac6 commit 9e09646
Show file tree
Hide file tree
Showing 9 changed files with 306 additions and 101 deletions.
46 changes: 15 additions & 31 deletions src/plugins/grass/qgsgrassbrowser.cpp
Expand Up @@ -447,38 +447,22 @@ void QgsGrassBrowser::deleteMap()
QString mapset = mModel->itemMapset( *it ); QString mapset = mModel->itemMapset( *it );
QString map = mModel->itemMap( *it ); QString map = mModel->itemMap( *it );


QString typeName;
if ( type == QgsGrassModel::Raster )
typeName = "rast";
else if ( type == QgsGrassModel::Vector )
typeName = "vect";
else if ( type == QgsGrassModel::Region )
typeName = "region";

if ( mapset != QgsGrass::getDefaultMapset() ) if ( mapset != QgsGrass::getDefaultMapset() )
{ {
continue; // should not happen continue; // should not happen
} }


QString module = "g.remove"; QgsGrassObject::Type mapType;
#ifdef WIN32 if ( type == QgsGrassModel::Raster )
module.append( ".exe" ); mapType = QgsGrassObject::Raster;
#endif else if ( type == QgsGrassModel::Vector )
QProcess process( this ); mapType = QgsGrassObject::Vector;
QStringList args( typeName + "=" + map ); else if ( type == QgsGrassModel::Region )
process.start( module, QStringList( typeName + "=" + map ) ); mapType = QgsGrassObject::Region;
if ( !process.waitForFinished() || process.exitCode() != 0 )
{ QgsGrassObject object( gisbase, location, mapset, map, mapType );
QString output( process.readAllStandardOutput() );
QString error( process.readAllStandardError() ); if ( QgsGrass::deleteObject( object ) )
QMessageBox::warning( 0, tr( "Warning" ),
tr( "Cannot delete map %1" )
.arg( map )
+ tr( "<br>command: %1 %2<br>%3<br>%4" )
.arg( map ).arg( module ).arg( args.join( " " ) )
.arg( output ).arg( error ) );
}
else
{ {
refresh(); refresh();
} }
Expand Down Expand Up @@ -528,17 +512,17 @@ bool QgsGrassBrowser::getItemRegion( const QModelIndex & index, struct Cell_head
QString mapset = mModel->itemMapset( index ); QString mapset = mModel->itemMapset( index );
QString map = mModel->itemMap( index ); QString map = mModel->itemMap( index );


int mapType = QgsGrass::Raster; //default in case no case matches QgsGrassObject::Type mapType = QgsGrassObject::Raster; //default in case no case matches
switch ( type ) switch ( type )
{ {
case QgsGrassModel::Raster : case QgsGrassModel::Raster :
mapType = QgsGrass::Raster; mapType = QgsGrassObject::Raster;
break; break;
case QgsGrassModel::Vector : case QgsGrassModel::Vector :
mapType = QgsGrass::Vector; mapType = QgsGrassObject::Vector;
break; break;
case QgsGrassModel::Region : case QgsGrassModel::Region :
mapType = QgsGrass::Region; mapType = QgsGrassObject::Region;
break; break;
default: default:
break; break;
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/grass/qgsgrassmapcalc.cpp
Expand Up @@ -512,7 +512,7 @@ QStringList QgsGrassMapcalc::checkRegion()
if ( mm.size() > 1 ) if ( mm.size() > 1 )
mapset = mm.at( 1 ); mapset = mm.at( 1 );


if ( !QgsGrass::mapRegion( QgsGrass::Raster, if ( !QgsGrass::mapRegion( QgsGrassObject::Raster,
QgsGrass::getDefaultGisdbase(), QgsGrass::getDefaultGisdbase(),
QgsGrass::getDefaultLocation(), mapset, map, QgsGrass::getDefaultLocation(), mapset, map,
&window ) ) &window ) )
Expand Down Expand Up @@ -570,7 +570,7 @@ bool QgsGrassMapcalc::inputRegion( struct Cell_head *window, QgsCoordinateRefere
if ( mm.size() > 1 ) if ( mm.size() > 1 )
mapset = mm.at( 1 ); mapset = mm.at( 1 );


if ( !QgsGrass::mapRegion( QgsGrass::Raster, if ( !QgsGrass::mapRegion( QgsGrassObject::Raster,
QgsGrass::getDefaultGisdbase(), QgsGrass::getDefaultGisdbase(),
QgsGrass::getDefaultLocation(), mapset, map, QgsGrass::getDefaultLocation(), mapset, map,
&mapWindow ) ) &mapWindow ) )
Expand Down
12 changes: 6 additions & 6 deletions src/plugins/grass/qgsgrassmodule.cpp
Expand Up @@ -986,14 +986,14 @@ QStringList QgsGrassModuleStandardOptions::checkRegion()
if ( !item ) if ( !item )
continue; continue;


QgsGrass::MapType mapType = QgsGrass::Vector; QgsGrassObject::Type mapType = QgsGrassObject::Vector;
switch ( item->type() ) switch ( item->type() )
{ {
case QgsGrassModuleInput::Raster : case QgsGrassModuleInput::Raster :
mapType = QgsGrass::Raster; mapType = QgsGrassObject::Raster;
break; break;
case QgsGrassModuleInput::Vector : case QgsGrassModuleInput::Vector :
mapType = QgsGrass::Vector; mapType = QgsGrassObject::Vector;
break; break;
} }


Expand Down Expand Up @@ -1165,15 +1165,15 @@ bool QgsGrassModuleStandardOptions::inputRegion( struct Cell_head *window, QgsCo
if ( !all && !item->useRegion() ) if ( !all && !item->useRegion() )
continue; continue;


QgsGrass::MapType mapType = QgsGrass::Vector; QgsGrassObject::Type mapType = QgsGrassObject::Vector;


switch ( item->type() ) switch ( item->type() )
{ {
case QgsGrassModuleInput::Raster : case QgsGrassModuleInput::Raster :
mapType = QgsGrass::Raster; mapType = QgsGrassObject::Raster;
break; break;
case QgsGrassModuleInput::Vector : case QgsGrassModuleInput::Vector :
mapType = QgsGrass::Vector; mapType = QgsGrassObject::Vector;
break; break;
} }


Expand Down
7 changes: 4 additions & 3 deletions src/providers/grass/CMakeLists.txt
Expand Up @@ -20,9 +20,9 @@ MACRO(ADD_GRASSLIB GRASS_BUILD_VERSION)
SET(GRASS_MAJOR_VERSION ${GRASS_MAJOR_VERSION${GRASS_BUILD_VERSION}}) SET(GRASS_MAJOR_VERSION ${GRASS_MAJOR_VERSION${GRASS_BUILD_VERSION}})
SET(GRASS_MINOR_VERSION ${GRASS_MINOR_VERSION${GRASS_BUILD_VERSION}}) SET(GRASS_MINOR_VERSION ${GRASS_MINOR_VERSION${GRASS_BUILD_VERSION}})


QT4_WRAP_CPP(GRASS_PROVIDER_MOC_SRCS ../qgsgrassprovider.h) QT4_WRAP_CPP(GRASS_LIBRARY_MOC_SRCS ../qgsgrassprovider.h)


ADD_LIBRARY(qgisgrass${GRASS_BUILD_VERSION} SHARED ../qgsgrass.cpp ../qgsgrassfeatureiterator.cpp ../qgsgrassprovider.cpp ${GRASS_PROVIDER_MOC_SRCS}) ADD_LIBRARY(qgisgrass${GRASS_BUILD_VERSION} SHARED ../qgsgrass.cpp ../qgsgrassfeatureiterator.cpp ../qgsgrassprovider.cpp ${GRASS_LIBRARY_MOC_SRCS})


SET_TARGET_PROPERTIES(qgisgrass${GRASS_BUILD_VERSION} PROPERTIES SET_TARGET_PROPERTIES(qgisgrass${GRASS_BUILD_VERSION} PROPERTIES
CLEAN_DIRECT_OUTPUT 1 CLEAN_DIRECT_OUTPUT 1
Expand Down Expand Up @@ -78,7 +78,8 @@ MACRO(ADD_GRASSLIB GRASS_BUILD_VERSION)
# #
# GRASS vector provider # GRASS vector provider
# #
ADD_LIBRARY(grassprovider${GRASS_BUILD_VERSION} MODULE ../qgsgrassprovidermodule.cpp) QT4_WRAP_CPP(GRASS_PROVIDER_MOC_SRCS ../qgsgrassprovidermodule.h)
ADD_LIBRARY(grassprovider${GRASS_BUILD_VERSION} MODULE ../qgsgrassprovidermodule.cpp ${GRASS_PROVIDER_MOC_SRCS})
SET_TARGET_PROPERTIES(grassprovider${GRASS_BUILD_VERSION} PROPERTIES SET_TARGET_PROPERTIES(grassprovider${GRASS_BUILD_VERSION} PROPERTIES
COMPILE_FLAGS "-DGRASS_BASE=\\\"${GRASS_PREFIX}\\\" \"-DGRASS_EXPORT=${DLLEXPORT}\" \"-DGRASS_LIB_EXPORT=${DLLIMPORT}\"" COMPILE_FLAGS "-DGRASS_BASE=\\\"${GRASS_PREFIX}\\\" \"-DGRASS_EXPORT=${DLLEXPORT}\" \"-DGRASS_LIB_EXPORT=${DLLIMPORT}\""
) )
Expand Down

0 comments on commit 9e09646

Please sign in to comment.