2005 Commits

Author SHA1 Message Date
Nyall Dawson
8ce9930f4a Fix leak in add map tool 2015-09-01 16:07:10 +10:00
Nyall Dawson
d7ab102daf Fix some leaks in symbology widgets 2015-09-01 16:06:35 +10:00
Nathan Woodrow
46139d6591 Fix icon loading for themes 2015-08-31 21:16:19 +10:00
Matthias Kuhn
1e6f673a23 Update email address 2015-08-30 13:00:15 +02:00
Matthias Kuhn
aeeca48ac9 Provide a public API for invalidating connections.
QgsVectorDataProvider::forceReload() is the virtual method. It is implemented
in the OGR provider.
See here for reference:
http://gis.stackexchange.com/questions/159950/make-a-qgis-layer-update-from-a-changed-data-source
2015-08-29 20:50:58 +02:00
Matthias Kuhn
0099f2293c Remove const from return-by-value functions 2015-08-28 16:52:11 +02:00
Nathan Woodrow
da3f7beeb0 Add UI theme support.
- Add dark theme (Night Mapping)
- Themes loaded from resources\themes and ~\.qgis2\themes
- Themes need folder + style.qss
2015-08-28 21:29:06 +10:00
Nyall Dawson
87022a4efd Add mode for drawing just label rects for debugging
Sponsored by City of Uster
2015-08-28 11:01:46 +10:00
Nyall Dawson
e04f4018d1 Fix warnings 2015-08-26 06:52:02 +10:00
Nathan Woodrow
9094575b80 Merge branch 'master' of https://github.com/qgis/QGIS
Conflicts:
	src/gui/attributetable/qgsfieldconditionalformatwidget.cpp
2015-08-25 22:45:05 +10:00
Nyall Dawson
24b8405d58 Ensure standard expressions functions are deleted on exit
(Avoids a lot of LeakSanitiser noise)
2015-08-25 21:40:32 +10:00
Nathan Woodrow
01d635a9ae Merge remote-tracking branch 'origin' 2015-08-25 21:39:52 +10:00
Nathan Woodrow
2f60a5f85c [Conditional Styles] Better defaults
Add QgsConditionalLayerStyles to hold row and field styles
2015-08-25 21:08:55 +10:00
mhugent
5807875797 Merge pull request #2268 from mhugent/curve_capture_tool
Curve capture tool
2015-08-24 18:18:40 +02:00
Nathan Woodrow
83115cd16a Merge row style support for attribute table
Conflicts:
	python/core/qgsconditionalstyle.sip
	python/core/qgsfielduiproperties.sip
	src/core/qgsfielduiproperties.cpp
	src/core/qgsfielduiproperties.h
	src/gui/attributetable/qgsattributetablemodel.cpp
	src/ui/qgsfieldconditionalformatwidget.ui
	tests/src/python/test_qgsconditionalstyle.py
2015-08-23 12:35:29 +10:00
Nathan Woodrow
b87073e146 Refresh attribute table for row styles. Tests 2015-08-23 10:53:03 +10:00
Juergen E. Fischer
b39055b39c indentation update (now including autopep8) 2015-08-22 14:29:41 +02:00
Juergen E. Fischer
93d45a0452 fix translation string 2015-08-22 14:12:29 +02:00
Nyall Dawson
4bf8b131e3 Port conditional styles to expression contexts 2015-08-22 19:01:43 +10:00
Nyall Dawson
85bda6c05f Add method for highlighting variables in the expression builder 2015-08-22 19:01:42 +10:00
Nyall Dawson
f74db81b9a Hide contextual functions from builder unless provided by context 2015-08-22 19:01:42 +10:00
Nyall Dawson
6487f1716c Add help text for variables 2015-08-22 19:01:42 +10:00
Nyall Dawson
a7d8519c7f Ensure context is available to builders from data defined buttons 2015-08-22 19:01:42 +10:00
Nyall Dawson
bfc8f56ad4 Display variables and functions from contexts in expression builder 2015-08-22 19:01:42 +10:00
Nyall Dawson
c9c12bc7f9 Fix warnings 2015-08-22 19:01:41 +10:00
Nyall Dawson
430303dfc9 Port diagrams to expression contexts 2015-08-22 19:01:40 +10:00
Nyall Dawson
3b6f5915e7 Port iterators to expression contexts 2015-08-22 19:01:40 +10:00
Nyall Dawson
43bcc0c2a5 Finish porting composer to expression contexts 2015-08-22 19:01:40 +10:00
Nyall Dawson
d6d6827b6e Port symbols to expression contexts 2015-08-22 19:01:40 +10:00
Nyall Dawson
1a7acb0d98 Port labelling to expression contexts 2015-08-22 19:01:40 +10:00
Nyall Dawson
5e03016b3a Update QgsDataDefined for expression contexts 2015-08-22 19:01:40 +10:00
Nyall Dawson
2bb1c8a31b Start on implementing contexts for render operations 2015-08-22 19:01:39 +10:00
Nyall Dawson
a0e35a3893 Switch some composer expressions to contexts 2015-08-22 19:01:39 +10:00
Nyall Dawson
c1adf623af Port field calculator to contexts 2015-08-22 19:01:39 +10:00
Nyall Dawson
d6542276e7 Add a bunch of layer related variables, including things like
metadata, extent, crs, feature count, geometry types, etc...
2015-08-22 19:01:39 +10:00
Nyall Dawson
f6e0ce788e New framework for context based expressions
This commit adds the ability for expressions to be evaluated against
specific contexts. It replaces the previous behaviour where
expressions were evaluated against a specific feature and could
utilise fragile global "special columns".

Now, expressions are instead evaluated using a context designed for
each individual expression. This is done via QgsExpressionContext
and QgsExpressionContextScope objects.

A QgsExpressionContextScope encapsulates the variables and functions
relating to a specific context. For instance, scopes can be created
for "global" variables (such as QGIS version, platform, and user-set
variables specified within the QGIS options dialog. Think things
like user name, work department, etc), or for "project" variables
(eg project path, title, filename, and user-set variables set
through the project properties dialog. Project version, reference
number, that kind of thing). Many more scopes are planned, including
map layer scopes (variables for layer name, id, user-set variables
through the layer properties dialog), composer scopes, etc...

QgsExpressionContextScopes are 'stacked' into a QgsExpressionContext
object. Scopes added later to a QgsExpressionContext will override
any variables or functions provided by earlier scopes, so for
instance a user could override their global 'author' variable set
within QGIS options with a different 'author' set via the project
properties dialog.

The intended use is that a QgsExpressionContext is created before
a batch set of QgsExpression evaluations. Scopes are then added to
the context based on what makes sense for that particular
expression. Eg, almost all contexts will consist of the global
scope and project scope, and then additional scopes as required.
So a composer label would be evaluated against a context
consisting of the global scope, project scope, composition scope
and finally composer item scope. The batch set of expression
evaluations would then be performed using this context, after which
the context is discarded. In other words, a context is designed
for use for one specific set of expression evaluations only.
2015-08-22 19:01:39 +10:00
Nyall Dawson
f5de32779f Add missing sip changes 2015-08-22 19:01:39 +10:00
Nyall Dawson
57669e71c0 Make QgsRenderContext available to more renderer methods 2015-08-22 19:01:38 +10:00
Nyall Dawson
6a3357fab8 Fix warnings, add missing sip bindings 2015-08-21 05:45:49 +10:00
Nathan Woodrow
faa32f36cf [FEATURE] Conditional formatting for attribute table cells 2015-08-20 23:06:31 +10:00
Nyall Dawson
b87e5f7573 [FEATURE][composer] Data defined style preset for composer maps
Sponsored by City of Uster
2015-08-19 20:43:19 +10:00
Nyall Dawson
0e567cd83b Fix doxygen warning 2015-08-19 20:00:37 +10:00
Nyall Dawson
73522dce7e Refactor visibility presets, so that all non-app specific
methods are now in core

A new QgsVisibilityPresetCollection object has been created
which stores a set of visibility presets. QgsProject now
contains a preset collection object.

This allows plugins and other core objects to retrieve and
modify visibility presets.
2015-08-19 19:07:23 +10:00
Nyall Dawson
612df6ae14 [FEATURE][composer] Auto wrapping for text in fixed width columns
in attribute tables

Sponsored by City of Uster
2015-08-19 06:08:22 +10:00
Nyall Dawson
b78564899a [FEATURE][composer] Option for 'wrap text on' for attribute tables
Fix #8006

Sponsored by City of Uster
2015-08-19 05:16:12 +10:00
Nyall Dawson
759f842bc3 [FEATURE][composer] Vertical alignment control for attribute tables
Sponsored by City of Uster
2015-08-19 05:16:12 +10:00
Nyall Dawson
372534eb89 [composer] Add proper handling of multiline text in attribute tables
Previously multi-line text would overflow onto neighbouring cells.
Now rows will be expanded to fit required height of text.
Fix #10273.

Sponsored by City of Uster
2015-08-19 05:16:12 +10:00
Nyall Dawson
29cc0642a4 [composer] Add method for calculating height of text
Sponsored by City of Uster
2015-08-19 05:16:12 +10:00
Marco Hugentobler
c39ffe9fc2 [FEATURE]: Tool to add circular strings with start point, curve point and end point 2015-08-17 17:14:05 +02:00
Nyall Dawson
7527638d43 [FEATURE][composer] Data defined control over map layers
Adds new data defined control for the map layers to show in a
composer map. Expression result should be a | delimited list of
layer names which will be shown in the map.

Sponsored by City of Uster
2015-08-17 23:46:13 +10:00