23 Commits

Author SHA1 Message Date
Denis Rouzaud
3652fa7e2b Revert "Revert "Revert "Remove virtual method from class which shouldn't be subclassed"""
This reverts commit 2a8555e13eb9a0e6bc0a24502ddb034f1aa1a3ac.

sorry for the noise
2017-04-24 08:09:13 +02:00
Denis Rouzaud
2a8555e13e Revert "Revert "Remove virtual method from class which shouldn't be subclassed""
This reverts commit cb68c982b829ecf94b19f9b9a030a269e1c2239f.
2017-04-24 08:07:56 +02:00
Nyall Dawson
cb68c982b8 Revert "Remove virtual method from class which shouldn't be subclassed"
This reverts commit 858129ddd3072d633e0abd97e1a45fe880f4cfb2.

I remember now... that was added to avoid a totally nonsense and
otherwise unfixable crash in the sip bindings...
2017-04-24 12:32:28 +10:00
Nyall Dawson
858129ddd3 Remove virtual method from class which shouldn't be subclassed 2017-04-24 11:02:03 +10:00
Matthias Kuhn
0170580019 Save QgsProperty related objects via QVariants 2017-03-09 20:54:44 +01:00
Nyall Dawson
3215173692 Fix failing equality operator test 2017-02-14 13:48:11 +10:00
Nyall Dawson
c4ec256dc2 Tweaked numeric assistant for rotation properties 2017-02-14 13:48:11 +10:00
Nyall Dawson
76e27818a5 [FEATURE] Interactive color assistant for data defined colors 2017-02-14 13:48:11 +10:00
Nyall Dawson
a380bda68b Show size assistant for stroke width properties 2017-02-14 13:48:11 +10:00
Nyall Dawson
b376ae103c Adds methods which attempt to parse expression based properties
as property transformers
2017-02-14 13:48:11 +10:00
Nyall Dawson
fa8189a53c Tweak property definitions for size type properties 2017-02-05 14:27:14 +10:00
Nyall Dawson
fa26b45736 Crazy fix to avoid shared data getting corrupted in sip bindings
Without this (should be unnecessary) virtual destructor the
shared data member for QgsProperty gets filled with garbage if
a QgsProperty is created from python code.

I can't explain it...!
2017-01-23 12:45:22 +10:00
Nyall Dawson
f0f01709bc Fix failing test 2017-01-23 12:45:22 +10:00
Nyall Dawson
0d9b223856 Fix unused variable warning 2017-01-23 12:45:22 +10:00
Nyall Dawson
ffaa40edc4 Refactor properties
Remove QgsAbstractProperty and subclasses, and instead use a single
QgsProperty class which covers the use of QgsAbstractProperty
and its subclasses. This simplifies the API and avoids pointer
handling. QgsProperty is implicitly shared for memory efficiency
and inexpensive copies.
2017-01-23 12:45:21 +10:00
Nyall Dawson
90e80c1353 Stronger definitions of properties in collections
Instead of defining the suitable field types and values for
properties when registering them to a data defined button,
now properties are fully defined when the valid
property keys are defined.
2017-01-23 12:45:21 +10:00
Nyall Dawson
ad2324021d Port symbology and composer to properties framework 2017-01-23 12:45:21 +10:00
Nyall Dawson
43bbf68943 Port labeling to properties framework 2017-01-23 12:45:21 +10:00
Nyall Dawson
93db66ed1f Allow properties/collections to be prepared in advance 2017-01-23 12:45:21 +10:00
Nyall Dawson
ef3f61fc17 Fix sip subclassing for properties 2017-01-23 12:45:21 +10:00
Nyall Dawson
53ba1a1f10 Add a common interface for QgsPropertyCollection/QgsPropertyCollectionStack 2017-01-23 12:45:21 +10:00
Nyall Dawson
c23de083ce Setting a property to null in collections removes property 2017-01-23 12:45:21 +10:00
Nyall Dawson
f1c1589550 Initial implementation of property system 2017-01-23 12:45:21 +10:00