Move the QgsExpression::Interval class out to its own QgsInterval
class, extend with new methods and add tests
Add a typedef to keep API compatibility for 2.16
A "filled marker" is similar to the simple marker symbol layer, except
that it uses a fill sub symbol to render the marker. This allows use
of all the existing QGIS fill (and outline) styles for rendering
markers, eg gradient or shapeburst fills.
A new abstract class QgsSimpleMarkerSymbolLayerBase has been created
from which both QgsSimpleMarkerSymbolLayerV2 and
QgsFilledMarkerSymbolLayer derive. All common code has been moved to
this base class, allowing for easy addition of new shapes or features
to both simple markers and filled markers without duplication.
Also, adds a lot of missing docs to marker symbol layers.
- Closes https://hub.qgis.org/issues/14378
- Adds new virtual methods in QgsDataProvider(): enterUpdateMode() and leaveUpdateMode()
and implement them in the OGR provider. Limited to shapefiles and tabfiles
- Implements QgsOGRProvider:reloadData()
- Robustify OGR provider methods so they don't crash if dataset re-opening fails.
The original name was not representative for the scope of the class
and misleading at best.
The class manages actions for a given layer and it's not a single action
like the former name suggested.
There is a typedef introduced to keep it in the API until we can remove
it with QGIS 3.
When enabled, repeating locks are not automatically cleared when
a new point is added. They are handy when the same constraint
must be repeated for multiple points (eg adding vertices
which are always 50 meters apart)
(fix#12605)
constraint is locked
The previous behaviour was that the constraint had to be "relocked"
if the user manually altered the constraint value in the text
widgets. Now users can edit the constraint value after already
locking the constraint.
Usually QObjects must subclass and override methods like focusOutEvent
to handle focus events. Using this class as an event filter avoids
the need to subclass objects and the focus events can be directly
caught using the emitted signals.