700 Commits

Author SHA1 Message Date
Nyall Dawson
56783c915e Merge pull request #3051 from nyalldawson/cad_fixes
Improvements and fixes to advanced digitising dock
2016-05-09 21:38:37 +10:00
Nyall Dawson
ea20149239 [FEATURE] New "Filled marker" symbol layer type
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.
2016-05-07 22:06:10 +10:00
Matthias Kuhn
f03a94f650 Fix crash 2016-05-02 18:25:58 +02:00
Matthias Kuhn
c369aabac4 Doxygen and sip bindings 2016-05-02 18:25:57 +02:00
Matthias Kuhn
dd88fa99f3 [feature] New configuration options for attribute table
* Allow reordering the attribute table columns
 * Allow adding a new column to trigger an action to the attribute table
2016-05-02 18:25:57 +02:00
Matthias Kuhn
2faaf1cd9c Rename QgsAttributeAction to QgsActionManager
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.
2016-05-02 18:25:57 +02:00
Matthias Kuhn
ff4ad50809 Rename QgsFilterTableFields to QgsOrganizeTableColumns 2016-05-02 18:25:57 +02:00
Stéphane Brunner
d4ccc77f27 Add a possibility to hide a column in the attribute table 2016-05-02 18:25:56 +02:00
Nyall Dawson
3a543e4fb8 Doxygen fixes 2016-05-02 21:50:40 +10:00
Nyall Dawson
e53cb6ef3c [FEATURE][cad] Implement "repeating" locking mode for constraints
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)
2016-05-02 21:50:40 +10:00
Nyall Dawson
bd305885c2 [cad] update constraint when user changes values in widgets while
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.
2016-05-02 21:50:40 +10:00
Nyall Dawson
5654886933 New class QgsFocusWatcher for easier handling of focus events
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.
2016-05-02 21:50:40 +10:00
Nyall Dawson
afdb6c78c0 Merge pull request #3031 from rouault/gpkg_improvements
GeoPackage support related improvements
2016-05-02 18:35:28 +10:00
Denis Rouzaud
8071acd064 move PyQt compat folder to python/qgis 2016-04-29 14:10:26 +02:00
Even Rouault
3ba86d48a9 Add a 'Layer / Create Layer / Create GeoPackage layer' menu item 2016-04-23 19:36:16 +02:00
nirvn
9735c13e33 [FEATURE] add outline settings to font markers 2016-04-22 09:09:00 +07:00
Hugo Mercier
e849cad11d Merge pull request #2955 from mhugo/arrows
[Feature] Arrow symbol layer
2016-04-19 09:23:33 +02:00
Nathan Woodrow
831e7cd236 [FEATURE][styles] Add new style dock for interactive styling 2016-04-19 13:55:34 +10:00
Hugo Mercier
34b7ebc2b5 Add a new "arrow" symbol layer
The "arrow" symbol layer is a symbol layer allowing to draw straight
or curved arrows from a line layer.
2016-04-18 11:36:12 +02:00
Nyall Dawson
91524aafd8 Fix doxygen warning 2016-04-18 15:59:47 +10:00
Nyall Dawson
66b51d4a81 [FEATURE] Edit attributes of multiple features simultaneously
This change allows the attributes of multiple features to be edited
simultaneously. It is enabled when the attribute table dialog is in
"form mode", via a new "multi edit" button on the toolbar.

In this mode, attribute value changes will apply to all selected
features. New widgets appear next to each editor widget allowing for
display of the current multi-edit state and for rolling back changes
on a field-by-field basis.

Changes are made as a single edit command, so pressing undo will
rollback the attribute changes for all selected features at once.

Multiedit mode is only available for auto generated and drag and
drop forms - it is not supported by custom ui forms.

Sponsored by Kanton Basel Stadt
2016-04-18 15:15:11 +10:00
Nyall Dawson
1b4bd47076 [composer] New QSortFilterProxyModel for filtering items by type
and new widget QgsComposerItemComboBox for showing matching composer
items.

Swap existing comboboxes to use the new widget, which removes a lot
of fragile code designed to allow selection of items. Additionally
the combobox now show the correct item id rather than always showing
"Map 0/1/..."
2016-04-09 09:38:09 +10:00
Nyall Dawson
d464f86290 [FEATURE] Null ("No symbol") renderer
Using this renderer no symbol will be drawn for features, but labeling,
diagrams and other non-symbol parts will still be shown.

Selections can still be made on the layer in the canvas and selected
features will be rendered with a default symbol. Features being edited
will also be shown.

This is intended as a handy shortcut for layers which you only want
to show labels or diagrams for, and avoids the need to render
symbols with totally transparent fill/border to achieve this.

(fix #12131)
2016-04-06 20:55:26 +10:00
Matthias Kuhn
226339cc9c Allow adding a new entry from the relation reference widget 2016-04-06 09:01:35 +02:00
Nyall Dawson
acb9281956 Add missing binding 2016-04-05 18:23:11 +10:00
Nyall Dawson
22f1a1dee7 Implement QgsEditorWidgetWrapper::showIndeterminateState() for setting
editor widgets into an indeterminant "unknown value" state

Works for all editor widgets except date time, range and uuid widgets.
2016-04-05 13:06:25 +10:00
Matthias Kuhn
b1aa20b50c Add QgsTableWidgetItem for easier sorting of checkbox tables 2016-03-29 08:29:00 +02:00
Matthias Kuhn
ae7b657da3 Add a new filter for WritableLayers to QgsMapLayerProxyModel 2016-03-29 08:27:53 +02:00
Matthias Kuhn
d06c4f8f31 Make QgsMapLayerProxyModel::exceptedLayers a property 2016-03-29 08:27:53 +02:00
Juergen E. Fischer
271750fd53 switch bindings to pyqt wrappers 2016-03-21 17:00:26 +01:00
Patrick Valsecchi
4f18701d31 Add check to make sure minScale<=maxScale.
Those two fields are present in the vector layer properties. It
was possible to set a minScale bigger than the maxScale.
Now, the maxScale is forced to minScale if the user tries to
set it to a lower value.
2016-03-18 08:12:16 +01:00
Nyall Dawson
5bb17235c5 Fix doxygen/sip binding test failures 2016-03-09 11:33:37 +01:00
Matthias Kuhn
ee46ece2da QgsMapLayerModel: allow direct retrieval of map layer 2016-03-09 11:33:37 +01:00
Nyall Dawson
d11e66749b Quote fields in size/width assistant (fix #14257) 2016-02-24 11:32:54 +11:00
Nyall Dawson
a1672da17c Fix some test failures, warnings in nightlies
Add more tolerance to distance area tests, fix doxygen param option
2016-02-22 13:48:10 +11:00
Juergen E. Fischer
5c4bf99ce2 debian packaging update: manually merge some changes from PR#2818 and
some spelling fixes.
2016-02-20 16:55:16 +01:00
Nyall Dawson
dfdcec8922 Fix project unit confusion (pt 3): add area unit settings with a
ton of available area units (eg m2, km2, mi2, ft2, yd2, ha, ac,
etc)

Adds a new option in both the QGIS setting and project properties to
set the units used for area measurements. Just like the distance
setting, this defaults to the units set in QGIS options, but can
then be overridden for specific projects.

The setting is respected for area calculations in:
- Attribute table field update bar
- Field calculator calculations
- Identify tool derived length and perimeter values

Also adds unit tests to ensure that area calculated by attribute table
update bar, field calculator and identify tool are consistent wrt
ellipsoidal calculations and area units.

TODO: make measure tool respect area setting

(refs #13209, #4252 and fixes #12939, #2402, #4857)
2016-02-15 12:47:36 +11:00
Nyall Dawson
ddbdcf8ab1 Fix project unit confusion (pt 2): add project distance unit setting
Adds a new option in project properties to set the units used for
distance measurements. This setting defaults to the units set in
QGIS options, but can then be overridden for specific projects.

The setting is respected for length and perimeter calculations in:
- Attribute table field update bar
- Field calculator calculations
- Identify tool derived length and perimeter values
- Default unit shown in measure dialog

Also adds unit tests to ensure that length and perimeter calculated
by attribute table update bar, field calculator and identify tool
are consistent wrt ellipsoidal calculations and distance units.

(refs #13209, #12939, #2402, #4857, #4252)
2016-02-14 21:04:41 +11:00
Juergen E. Fischer
a90be95f7b sip sync 2016-02-14 03:50:49 +01:00
Daan Goedkoop
384da5665e Fix floating point inaccuracies when digitizing (to fix bug #13745) 2016-02-11 21:05:34 +01:00
Hugo Mercier
e2123c79e5 Fix addFeature and addPart maptool for layers with a Z 2016-02-09 10:44:41 +01:00
Nyall Dawson
c3a57434d9 Fix clazy 'pass small and trivially-copyable type by value' warnings 2016-02-02 19:47:21 +11:00
Nyall Dawson
f3c7ab61e6 Spelling fixes, updates to chkspelling.sh 2016-02-02 19:47:21 +11:00
Nyall Dawson
24d9c65494 Fix more classes which violate the rule-of-three
Also remove some empty destructors
2016-01-26 14:24:45 +11:00
Juergen E. Fischer
ae52aabd70 more spelling fixes 2016-01-24 20:16:28 +01:00
Nyall Dawson
752f6bd150 Fix classes which violate rule of three, by implementing required
copy/= operators or making them private

This revealed (and fixes) some issues, including a potential crash
using server access control (refs #13919), and a potential crash with
diagrams
2016-01-22 18:45:45 +11:00
Matthias Kuhn
8d72f13a57 [25d] Improve convertability to other layers
* Move height and angle expressions for 2.5D renderer to layer
 * Apply color based on main symbol color

This makes the transition to other renderers easy.

Fixes #14132
2016-01-21 22:37:51 +01:00
Juergen E. Fischer
00633811c9 spelling fixes 2016-01-21 10:42:25 +01:00
Martin Dobias
7a5df7ada6 Move tracing action creation to qgis app 2016-01-19 18:03:15 +01:00
mhugent
f4bdaad59f Merge pull request #2666 from mhugent/symbology_brush_transform
Symbology brush transform
2016-01-19 16:19:09 +01:00