Skip to content

Commit b4fde40

Browse files
committedMay 18, 2011
QgsLayerItem::layerInfo replaced by mapLayerType, providerKey and uri methods
1 parent 022be6e commit b4fde40

File tree

8 files changed

+41
-44
lines changed

8 files changed

+41
-44
lines changed
 

‎src/browser/qgsbrowser.cpp

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -193,11 +193,12 @@ bool QgsBrowser::layerClicked(QgsLayerItem* ptr)
193193
{
194194
mActionSetProjection->setEnabled ( ptr->capabilities() & QgsLayerItem::SetCrs );
195195

196-
QgsMapLayer::LayerType type;
197-
QString providerKey;
198-
QString uri;
199-
if ( ptr->layerInfo(type, providerKey, uri) )
196+
QString uri = ptr->uri();
197+
if ( !uri.isEmpty() )
200198
{
199+
QgsMapLayer::LayerType type = ptr->mapLayerType();
200+
QString providerKey = ptr->providerKey();
201+
201202
QgsDebugMsg ( providerKey + " : " + uri );
202203
if ( type == QgsMapLayer::VectorLayer )
203204
{
@@ -214,15 +215,15 @@ bool QgsBrowser::layerClicked(QgsLayerItem* ptr)
214215
QString crs;
215216
for ( int i = 1 ; i < URIParts.size(); i++ )
216217
{
217-
QString part = URIParts.at( i );
218-
int pos = part.indexOf( "=" );
219-
QString field = part.left( pos );
220-
QString value = part.mid( pos + 1 );
221-
222-
if ( field == "layers" ) layers = value.split(",");
223-
if ( field == "styles" ) styles = value.split(",");
224-
if ( field == "format" ) format = value;
225-
if ( field == "crs" ) crs = value;
218+
QString part = URIParts.at( i );
219+
int pos = part.indexOf( "=" );
220+
QString field = part.left( pos );
221+
QString value = part.mid( pos + 1 );
222+
223+
if ( field == "layers" ) layers = value.split(",");
224+
if ( field == "styles" ) styles = value.split(",");
225+
if ( field == "format" ) format = value;
226+
if ( field == "crs" ) crs = value;
226227
}
227228
QgsDebugMsg ( "rasterLayerPath = " + rasterLayerPath );
228229
QgsDebugMsg ( "layers = " + layers.join(" " ) );

‎src/core/qgsdataitem.h

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ class CORE_EXPORT QgsLayerItem : public QgsDataItem
123123
public:
124124
enum LayerType
125125
{
126+
NoType,
126127
Vector,
127128
Raster,
128129
Point,
@@ -147,10 +148,14 @@ class CORE_EXPORT QgsLayerItem : public QgsDataItem
147148

148149
// --- New virtual methods for layer item derived classes ---
149150

150-
// Sets info about layer which can be created for this item
151-
// returns true if layer can be created
152-
virtual bool layerInfo ( QgsMapLayer::LayerType & type,
153-
QString & providerKey, QString & uri ) { return false; }
151+
// Returns QgsMapLayer::LayerType
152+
virtual QgsMapLayer::LayerType mapLayerType() { return QgsMapLayer::VectorLayer; }
153+
154+
// Returns layer uri or empty string if layer cannot be created
155+
virtual QString uri() { return QString(); }
156+
157+
// Returns provider key
158+
virtual QString providerKey() { return QString(); }
154159

155160
// This will _write_ selected crs in data source
156161
virtual bool setCrs ( QgsCoordinateReferenceSystem crs ) { return false; }

‎src/providers/gdal/qgsgdalprovider.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1884,14 +1884,9 @@ QgsGdalLayerItem::~QgsGdalLayerItem ()
18841884
{
18851885
}
18861886

1887-
bool QgsGdalLayerItem::layerInfo(QgsMapLayer::LayerType & type,
1888-
QString & providerKey, QString & uri )
1887+
QString QgsGdalLayerItem::uri()
18891888
{
1890-
QgsDebugMsg ( "Entered" );
1891-
type = QgsMapLayer::RasterLayer;
1892-
providerKey = "gdal";
1893-
uri = mUri;
1894-
return true;
1889+
return mUri;
18951890
}
18961891

18971892
QgsLayerItem::Capability QgsGdalLayerItem::capabilities()

‎src/providers/gdal/qgsgdalprovider.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -293,8 +293,10 @@ class QgsGdalLayerItem : public QgsLayerItem
293293
QString name, QString path, QString uri );
294294
~QgsGdalLayerItem ();
295295

296-
bool layerInfo ( QgsMapLayer::LayerType & type,
297-
QString & providerKey, QString & uri );
296+
QgsMapLayer::LayerType mapLayerType() { return QgsMapLayer::RasterLayer; }
297+
QString uri();
298+
QString providerKey() { return "gdal"; }
299+
298300
bool setCrs ( QgsCoordinateReferenceSystem crs );
299301
Capability capabilities();
300302
};

‎src/providers/ogr/qgsogrprovider.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2140,14 +2140,9 @@ QgsOgrLayerItem::~QgsOgrLayerItem ()
21402140
{
21412141
}
21422142

2143-
bool QgsOgrLayerItem::layerInfo ( QgsMapLayer::LayerType & type,
2144-
QString & providerKey, QString & uri )
2143+
QString QgsOgrLayerItem::uri()
21452144
{
2146-
QgsDebugMsg ( "Entered" );
2147-
type = QgsMapLayer::VectorLayer;
2148-
providerKey = "ogr";
2149-
uri = mUri;
2150-
return true;
2145+
return mUri;
21512146
}
21522147

21532148
QgsLayerItem::Capability QgsOgrLayerItem::capabilities()

‎src/providers/ogr/qgsogrprovider.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,8 +312,9 @@ class QgsOgrLayerItem : public QgsLayerItem
312312
QgsOgrLayerItem ( QgsDataItem* parent, QString name, QString path, QString uri, LayerType layerType );
313313
~QgsOgrLayerItem ();
314314

315-
bool layerInfo ( QgsMapLayer::LayerType & type,
316-
QString & providerKey, QString & uri );
315+
QgsMapLayer::LayerType mapLayerType() { return QgsMapLayer::VectorLayer; }
316+
QString uri();
317+
QString providerKey() { return "ogr"; }
317318
bool setCrs ( QgsCoordinateReferenceSystem crs );
318319
Capability capabilities();
319320
};

‎src/providers/wms/qgswmsprovider.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3133,13 +3133,10 @@ QgsWMSLayerItem::~QgsWMSLayerItem ()
31333133
{
31343134
}
31353135

3136-
bool QgsWMSLayerItem::layerInfo(QgsMapLayer::LayerType & type,
3137-
QString & providerKey, QString & uri )
3136+
QString QgsWMSLayerItem::uri()
31383137
{
3139-
if ( mLayerProperty.name.isEmpty() ) return false; // layer collection
3140-
3141-
type = QgsMapLayer::RasterLayer;
3142-
providerKey = "wms";
3138+
QString uri;
3139+
if ( mLayerProperty.name.isEmpty() ) return uri; // layer collection
31433140

31443141
QString rasterLayerPath = mConnInfo;
31453142
QString baseName = mLayerProperty.name;
@@ -3186,7 +3183,7 @@ bool QgsWMSLayerItem::layerInfo(QgsMapLayer::LayerType & type,
31863183
}
31873184
uri = rasterLayerPath + "|layers=" + layers.join(",") + "|styles=" + styles.join(",") + "|format=" + format + "|crs=" + crs;
31883185

3189-
return true;
3186+
return uri;
31903187
}
31913188

31923189
// ---------------------------------------------------------------------------

‎src/providers/wms/qgswmsprovider.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -990,8 +990,9 @@ class QgsWMSLayerItem : public QgsLayerItem
990990
QgsWmsCapabilitiesProperty capabilitiesProperty, QString connInfo, QgsWmsLayerProperty layerProperties );
991991
~QgsWMSLayerItem ();
992992

993-
bool layerInfo ( QgsMapLayer::LayerType & type,
994-
QString & providerKey, QString & uri );
993+
QgsMapLayer::LayerType mapLayerType() { return QgsMapLayer::RasterLayer; }
994+
QString uri();
995+
QString providerKey() { return "wms"; }
995996

996997
QgsWmsCapabilitiesProperty mCapabilitiesProperty;
997998
QString mConnInfo;

0 commit comments

Comments
 (0)
Please sign in to comment.