File tree 6 files changed +18
-1
lines changed
6 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -66,6 +66,11 @@ class QgsDataProvider : QObject
66
66
*/
67
67
virtual bool setSubsetString(QString subset);
68
68
69
+ /**
70
+ * provider supports setting of subset strings
71
+ * @note added in 1.4
72
+ */
73
+ virtual bool supportsSubsetString();
69
74
70
75
/**
71
76
* Returns the subset definition string (typically sql) currently in
Original file line number Diff line number Diff line change @@ -438,7 +438,7 @@ void QgsVectorLayerProperties::reset( void )
438
438
// on the builder. If the ability to enter a query directly into the box is required,
439
439
// a mechanism to check it must be implemented.
440
440
txtSubsetSQL->setEnabled ( false );
441
- pbnQueryBuilder->setEnabled ( true );
441
+ pbnQueryBuilder->setEnabled ( layer && layer-> dataProvider () && layer-> dataProvider ()-> supportsSubsetString () );
442
442
443
443
// get field list for display field combo
444
444
const QgsFieldMap& myFields = layer->pendingFields ();
Original file line number Diff line number Diff line change @@ -121,6 +121,12 @@ class CORE_EXPORT QgsDataProvider : public QObject
121
121
}
122
122
123
123
124
+ /* *
125
+ * provider supports setting of subset strings
126
+ * @note added in 1.4
127
+ */
128
+ virtual bool supportsSubsetString () { return false ; }
129
+
124
130
/* *
125
131
* Returns the subset definition string (typically sql) currently in
126
132
* use by the layer and used by the provider to limit the feature set.
Original file line number Diff line number Diff line change @@ -95,6 +95,8 @@ class QgsOgrProvider : public QgsVectorDataProvider
95
95
/* * Accessor for sql where clause used to limit dataset */
96
96
virtual QString subsetString ();
97
97
98
+ virtual bool supportsSubsetString () { return true ; }
99
+
98
100
/* * mutator for sql where clause used to limit dataset size */
99
101
virtual bool setSubsetString ( QString theSQL );
100
102
Original file line number Diff line number Diff line change @@ -255,6 +255,8 @@ class QgsPostgresProvider : public QgsVectorDataProvider
255
255
/* * mutator for sql where clause used to limit dataset size */
256
256
bool setSubsetString ( QString theSQL );
257
257
258
+ virtual bool supportsSubsetString () { return true ; }
259
+
258
260
/* *Returns a bitmask containing the supported capabilities*/
259
261
int capabilities () const ;
260
262
Original file line number Diff line number Diff line change @@ -81,6 +81,8 @@ class QgsSpatiaLiteProvider: public QgsVectorDataProvider
81
81
/* * mutator for sql where clause used to limit dataset size */
82
82
virtual bool setSubsetString ( QString theSQL );
83
83
84
+ virtual bool supportsSubsetString () { return true ; }
85
+
84
86
/* * Select features based on a bounding rectangle. Features can be retrieved with calls to nextFeature.
85
87
* @param fetchAttributes list of attributes which should be fetched
86
88
* @param rect spatial filter
You can’t perform that action at this time.
0 commit comments