2559 Commits

Author SHA1 Message Date
Nyall Dawson
6ffe50704f [composer] Remove support for upgrading pre 2.2 project atlas map
settings

Open the project in a recent 2.x release and resave to upgrade
the project
2017-01-14 19:14:48 +10:00
Nyall Dawson
b5480633e4 Standardise names for static variables
All non-const variables are prefixed with "s", all const
statics are ALL_CAPS
2017-01-14 16:40:24 +10:00
Nyall Dawson
231f6af0e1 Don't return const references to implicitly shared Qt classes
Instead return the inexpensive copies. Should provide extra safety
against issues like #14822

(refs #14822)
2017-01-14 15:53:45 +10:00
Denis Rouzaud
6c74e4ea5d spelling fixes 2017-01-12 22:01:50 +01:00
Nyall Dawson
b7706b358f Rename some static variables for consistency
Ensure non-const statics have "s" prefix and const statics
are in all caps
2017-01-12 15:17:47 +10:00
Denis Rouzaud
748be8de71 [spelling] replace behaviour by behavior 2017-01-11 11:35:19 +01:00
Nyall Dawson
e656c63ab7 Remove duplicate QgsFeature::setFeatureId method
Leave just QgsFeature::setId and document api break
2017-01-11 10:05:31 +01:00
Nyall Dawson
f2032ea268 [FEATURE] item_variables expression function inside compositions
This adds a new item_variables expression function when expressions
are used inside a composition context.

The function takes a single argument, the id for an item inside
the composition, and returns a map of variable name to value
for that item.

This allows you to do things like insert text in a label fetching
properties of another item in the composition, eg

Insert scale of map into a label:

map_get( item_variables( 'map'),'map_scale')

Insert x coordinate of map center into a label:

x(map_get( item_variables( 'map'),'map_extent_center'))
2017-01-11 12:26:32 +10:00
Nyall Dawson
d25fcec03d Add method to retrieve variables from a QgsExpressionContext as a QVariantMap 2017-01-11 12:25:37 +10:00
Nyall Dawson
ede452be85 [processing] Port feedback object to c++
Algorithms are now passed a QgsProcessingFeedback object
instead of the loosely defined progress parameter.
2017-01-11 11:11:10 +10:00
Nyall Dawson
bf484dafa8 [processing] Allow providers to return path to SVG icon 2017-01-11 10:55:16 +10:00
Nyall Dawson
dca697b427 [processing] New c++ QgsProcessingRegistry class
Intended as a registry for the various processing components,
including providers, algorithms and various parameters and outputs.

Currently handles only registration of providers, as a step toward
removing processing's algList (this requires first porting
the algorithm class to c++)

A QgsProcessingRegistry instance is attached to QgsApplication,
and is retrieved by QgsApplication::processingRegistry()
2017-01-11 10:55:15 +10:00
Nyall Dawson
bb24dfe245 [processing] c++ base class for providers
Nothing particularly exciting here yet, but this commit
moves the definition of the provider base class to a c++
QgsProcessingProvider abstract base class.

As part of this some existing python methods were renamed
to make their use clearer and to fit with the QGIS c++
api conventions:

- getName was renamed to id
- getDescription was renamed to name
- getIcon was renamed to icon

These API breaks are documented
2017-01-11 10:55:15 +10:00
Denis Rouzaud
37ebcdd1cd [spellcheck] allow inwords checks and line skipping
spell check will be done automatically in words by default (when some conditions are fulfilled)
possibility to avoid in words checking by adding :* at the end in spelling.dat

one can add #spellok at the end of a line of code to skip spell check on this line
2017-01-10 20:18:37 +01:00
Alexander Bruy
f77e677734 add missed SIP bindings 2017-01-10 17:55:52 +02:00
Alexander Bruy
b74aefd3c9 move QgsHelp to gui 2017-01-10 17:55:51 +02:00
Alexander Bruy
212406cd65 make all QgsHelp methods static 2017-01-10 17:55:51 +02:00
Alexander Bruy
6c3c5331dc add SIP bindings 2017-01-10 17:55:50 +02:00
Marco Hugentobler
17b51ab28f Change comment for QgsCurveV2::sumUpArea
(forward-port from 1c02dc7)
2017-01-10 09:09:45 +10:00
Martin Dobias
0513bb357c Make QgsGeometry independent from QgsProject + better avoid intersections API 2017-01-07 11:50:08 +08:00
Martin Dobias
8c340f7144 Make composition associated with QgsProject (#3957)
... rather than using project singleton within compositions
2017-01-06 17:22:34 +08:00
Martin Dobias
660867cb4e Explicitly pass QgsProject object when dealing with expression contexts
Continued effort to reduce number of uses of QgsProject as singleton...
2017-01-06 11:34:55 +08:00
Even Rouault
f67cdc3965 Merge pull request #3935 from rouault/group_visibility
[FEATURE] Change of ergonomy of the visibility of layers inside groups
2017-01-04 15:22:48 +01:00
Martin Dobias
46252b5cd0 fix doxygen warning 2017-01-04 20:58:21 +08:00
Martin Dobias
6c5956b22b QgsProject: cleanup of read/write method + removal of unused bad layer handler class 2017-01-04 20:29:53 +08:00
Nyall Dawson
0ce30217f1 Implement some QGIS 3 TODOs for diagram API 2017-01-04 18:17:22 +10:00
Even Rouault
60a1701377 [FEATURE] Change of ergonomy of the visibility of layers inside groups
See https://github.com/qgis/QGIS-Enhancement-Proposals/issues/86

- Checking/unchecking a group doesn't change the check state of its children.
A node is visible if and only if it is checked and all its parents too.
- There is no more a semi-checked state for a group
- Ctrl-clic on a unchecked group will check the group and all its descendants.
- Ctrl-clic on a unchecked layer will check the lager and all its parents.
- Ctrl-clic on a checked group will uncheck the group and all its descendants.
- Ctrl-clic on a checked layer will uncheck the layer and all its parents.
- Those actions are available in contextual menu items in the tree view.
- Invisible layers because they or their parent(s) is unchecked are greyed out.
2017-01-02 13:25:25 +01:00
Nyall Dawson
48e72999ab Cleanup QgsProjectProperty headers and docs 2017-01-02 15:20:08 +10:00
Nyall Dawson
89cfa68369 Rename QgsProperty to QgsProjectProperty
and QgsPropertyKey/Value to QgsProjectPropertyKey/Value

The QgsProperty names are too generic to be used in this
context
2017-01-02 13:09:20 +10:00
Nyall Dawson
8ebc73b495 Merge pull request #3914 from nyalldawson/bye_singletons
Remove some singletons by moving instances to QgsApplication
2017-01-02 09:00:58 +10:00
Juergen E. Fischer
c6fb25375c allow limiting snapping to a given area 2017-01-01 18:40:14 +01:00
Nyall Dawson
78134ee9dc Merge pull request #3921 from DelazJ/example
Spelling fix: Replace "eg" by "e.g." or "for example"
2016-12-30 11:42:33 +10:00
Harrissou Sant-anna
ef85cdcf83 Replace "eg" by "e.g." or "for example" 2016-12-30 00:03:22 +01:00
Harrissou Sant-anna
f09633cc6c Replace rasterise by rasterize 2016-12-30 00:02:07 +01:00
Harrissou Sant-anna
7911994097 Replace capitalise by capitalize 2016-12-30 00:02:06 +01:00
Harrissou Sant-anna
ee1abdc507 Replace flavour by flavor 2016-12-29 01:53:25 +01:00
Harrissou Sant-anna
8dca115b1c Replace prioritise by prioritize 2016-12-29 01:46:19 +01:00
Nyall Dawson
9d4adc1c70 Remove some singletons by moving instances to QgsApplication
- QgsColorSchemeRegistry
- QgsDataItemProviderRegistry
- QgsGPSConnectionRegistry
- QgsMessageLog
- QgsPaintEffectRegistry
- QgsPluginLayerRegistry
- QgsRasterRendererRegistry
- QgsRendererRegistry
- QgsSvgCache
- QgsSymbolLayerRegistry
2016-12-28 16:59:03 +10:00
Nyall Dawson
bc98a326c0 [FEATURE] Add QgsVectorDataProvider::truncate for clearing layers
Adds a new method to QgsVectorDataProvider to truncate the layer.
The base implementation requires DeleteFeatures capability and
is not optimised. Providers can return the FastTruncate capability
and override the base implementation with a provider specific
optimised version. This is done in this commit for the Postgres
and Spatialite providers.
2016-12-27 13:55:42 +10:00
nirvn
181f84b86f [raster] move pseudocolor renderer classification out of gui into core 2016-12-27 10:16:51 +07:00
Juergen E. Fischer
e5a4426dce more spelling fixes 2016-12-26 23:36:16 +01:00
Matthias Kuhn
33abb78ac5 Pass variable values as QVariant 2016-12-22 20:21:21 +01:00
Matthias Kuhn
79f32ab6b2 Rename QgsProject::variables to QgsProject::customVariables 2016-12-22 20:21:21 +01:00
Matthias Kuhn
b07ecfa106 Let QgsApplication manage global custom variables 2016-12-22 20:21:21 +01:00
Matthias Kuhn
cbac49b63b Add QgsProject::write( filename ) convenience function 2016-12-21 17:39:58 +01:00
Matthias Kuhn
dbbf062e5d Fix bindings and tests 2016-12-20 01:20:08 +01:00
Matthias Kuhn
95fedd082d Expose QgsSnappingConfig to QML
Sponsored by QField
2016-12-20 01:20:08 +01:00
Matthias Kuhn
d169487850 bindings 2016-12-20 01:20:08 +01:00
Matthias Kuhn
0190e506a6 Move QgsConfigurationMap to QgsXmlUtils 2016-12-20 01:20:08 +01:00
Matthias Kuhn
afacbb1320 Make sure attribute table doesn't use deleted field formatters 2016-12-20 01:20:08 +01:00