@@ -118,6 +118,7 @@ QString QgsGrassModelItem::info()
118118 break ;
119119 case QgsGrassModel::Vectors:
120120 case QgsGrassModel::Rasters:
121+ case QgsGrassModel::Regions:
121122 return QObject::tr ( " Location: %1<br>Mapset: %2" ).arg ( mLocation ).arg ( mMapset );
122123 break ;
123124 case QgsGrassModel::Raster:
@@ -367,6 +368,60 @@ QString QgsGrassModelItem::info()
367368 return str;
368369 }
369370 break ;
371+
372+ case QgsGrassModel::Region:
373+ {
374+ QString str = tblStart;
375+ str += htmlTableRow ( QObject::tr ( " <b>Region</b>" ), QString ( " <b>%1</b>" ).arg ( mMap ) );
376+
377+ struct Cell_head window;
378+ QgsGrass::setLocation ( mGisbase , mLocation );
379+ if ( G__get_window ( &window, " windows" , mMap .toLocal8Bit ().data (), mMapset .toLocal8Bit ().data ()) != NULL )
380+ {
381+ str += " <tr><td colspan=2>" + QObject::tr ( " Cannot open region header" ) + " </td></tr>" ;
382+ }
383+ else
384+ {
385+ QString proj;
386+ switch (window.proj ){
387+ case PROJECTION_XY:
388+ proj = QObject::tr (" XY" );
389+ break ;
390+ case PROJECTION_UTM:
391+ proj = QObject::tr (" UTM" );
392+ break ;
393+ case PROJECTION_SP:
394+ proj = QObject::tr (" SP" );
395+ break ;
396+ case PROJECTION_LL:
397+ proj = QObject::tr (" LL" );
398+ break ;
399+ default :
400+ proj = QObject::tr (" Other" );
401+ }
402+ str += htmlTableRow ( QObject::tr ( " Projection Type" ), proj );
403+ if ( window.proj == PROJECTION_UTM)
404+ str += htmlTableRow ( QObject::tr ( " Zone" ), QString::number ( window.zone ) );
405+ str += htmlTableRow ( QObject::tr ( " North" ), QString::number ( window.north , ' f' , 8 ) );
406+ str += htmlTableRow ( QObject::tr ( " South" ), QString::number ( window.south , ' f' , 8 ) );
407+ str += htmlTableRow ( QObject::tr ( " East" ), QString::number ( window.east , ' f' , 8 ) );
408+ str += htmlTableRow ( QObject::tr ( " West" ), QString::number ( window.west , ' f' , 8 ) );
409+ str += htmlTableRow ( QObject::tr ( " Columns" ), QString::number ( window.cols ) );
410+ str += htmlTableRow ( QObject::tr ( " Rows" ), QString::number ( window.rows ) );
411+ str += htmlTableRow ( QObject::tr ( " E-W resolution" ), QString::number ( window.ew_res , ' f' , 8 ) );
412+ str += htmlTableRow ( QObject::tr ( " N-S resolution" ), QString::number ( window.ns_res , ' f' , 8 ) );
413+ str += htmlTableRow ( QObject::tr ( " Top" ), QString::number ( window.top ) );
414+ str += htmlTableRow ( QObject::tr ( " Bottom" ), QString::number ( window.bottom ) );
415+ str += htmlTableRow ( QObject::tr ( " 3D Cols" ), QString::number ( window.cols3 ) );
416+ str += htmlTableRow ( QObject::tr ( " 3D Rows" ), QString::number ( window.rows3 ) );
417+ str += htmlTableRow ( QObject::tr ( " Depths" ), QString::number ( window.depths ) );
418+ str += htmlTableRow ( QObject::tr ( " E-W 3D resolution" ), QString::number ( window.ew_res3 , ' f' , 8 ) );
419+ str += htmlTableRow ( QObject::tr ( " N-S 3D resolution" ), QString::number ( window.ns_res3 , ' f' , 8 ) );
420+ }
421+ str += " </table>" ;
422+ return str;
423+ }
424+ break ;
370425 }
371426 return QString ();
372427}
0 commit comments