117 Commits

Author SHA1 Message Date
Nyall Dawson
ca7b504e5c Fix Travis warnings and missing docs/sip 2016-09-30 08:42:16 +10:00
Nyall Dawson
fd0c5ef950 Refactor symbol/renderer widgets to use QgsSymbolWidgetContext
instead of individually setting map canvas, expression context, etc

Will make it more easy in future to add additional parameters
to the widget context
2016-09-30 08:42:16 +10:00
Nyall Dawson
962a4e975f Expose renderer variables to users 2016-09-30 08:42:16 +10:00
Hugo Mercier
67c05b51c2 Fix some /Transfer/ annotations 2016-09-23 15:35:37 +02:00
Nyall Dawson
b7111775e8 Fix some QGIS 3.0 symbology todos 2016-09-14 09:33:58 +10:00
Nyall Dawson
041ceeaf9a Remove unused size/scale slots from renderer widgets 2016-09-13 11:05:45 +10:00
Nyall Dawson
ae9023fe0f Remove last deprecated methods from symbology 2016-09-13 11:05:45 +10:00
Nyall Dawson
b7716aa7fb Docs + cleanups for color ramp dialogs 2016-08-24 21:01:03 +10:00
Nyall Dawson
cf9292cc6d Color ramp dialogs no longer edit ramps in place
Now the dialogs use a copy of the ramp, and the edited
ramp is retrieved by calling ramp() on the dialog after
it is executed.

Avoids pointer lifetime issues by storing and working
on a ramp pointer which the dialog does not have ownership
on.

Also fix a bunch of leaks relating to cloning color ramps.
2016-08-24 21:01:03 +10:00
Nyall Dawson
7413db79b0 Rename color ramp dialogs to match new ramp class names 2016-08-24 21:01:03 +10:00
Nyall Dawson
932e469e5f Rename color ramp classes to more sensible names
QgsVectorColorRamp -> QgsColorRamp
QgsVectorGradientColorRamp -> QgsGradientColorRamp
QgsRandomColors -> QgsRandomColorRamp
QgsRandomColorRamp -> QgsLimitedRandomColorRamp
QgsVectorColorBrewerColorRamp -> QgsColorBrewerColorRamp

These color ramps are used throughout all of QGIS (not
just in vector symbology) and the current names are
misleading.
2016-08-24 21:01:03 +10:00
Matthias Kuhn
58ea21124e Streamline expression context generation (#3350)
* Save more data to QML

 * Virtual fields
 * Map tips
 * Display expression
 * Read only flag

* Streamline expression context generation

Whenever an object is able to generate an expression context it
implements the method createExpressionContext() declared in
QgsExpressionContextGenerator.

This makes a cleaner API and allows using QgsFieldExpressionWidget and
QgsDataDefinedButton from python because standard OO programming
approaches are used instead of callbacks and void pointers.

* Colorize output of doc and sip tests

* Fix build

* Fix sip complaints

* Fix rebase problems

* Workaround failing bindings test
2016-08-10 19:44:30 +02:00
Juergen E. Fischer
3f22a7a77f another scripts/replacev2.sh with minor manual fixes 2016-08-10 12:12:28 +02:00
Juergen E. Fischer
0688621046 scripts/replacev2.sh run 2016-08-10 12:08:52 +02:00
Denis Rouzaud
f2c3fb003e renamed QgsSymbolLevelsV2Dialog to QgsSymbolLevelsDialog 2016-08-05 08:22:43 +02:00
Denis Rouzaud
275736de92 removed V2 from QgsSymbolV2* 2016-08-05 08:22:21 +02:00
Denis Rouzaud
c16d1393a2 removed V2 from QgsSymbolLayerV2* 2016-08-05 08:18:01 +02:00
Matthias Kuhn
bb79d13e82 Remove deprecated Qgis::WKBType and API cleanup (#3325)
* Remove deprecated Qgis::WKBType and API cleanup

Renames QgsWKBTypes to QgsWkbTypes

Replaces usage of the enums:

* Qgis::WKBType with QgsWkbTypes::Type
* Qgis::GeometryType with QgsWkbTypes::GeometryType

Their values should be forward compatible (a fact that was already
explited up to now by casting between the types)

Renames some SSLxxx to SslXxx and URIxxx to UriXxx

* Fix build warnings and simplify type handling

* Add a fixer to rewrite imports

* The forgotten rebase conflictThe forgotten rebase conflicts

* QgsDataSourcURI > QgsDataSourceUri

* QgsWKBTypes > QgsWkbTypes

* Qgis.WKBGeom > QgsWkbTypes.Geom

* Further python fixes

* Guess what... Qgis::wkbDimensions != QgsWkbTypes::wkbDimensions

* Fix tests

* Python 3 updates

* [travis] pull request caching cannot be disabled

so at least use it in r/w mode

* Fix python3 print in plugins
2016-08-04 09:10:08 +02:00
Nyall Dawson
185ad05102 Remove deprecated QgsDataDefinedSymbolDialog class (#3315)
It's not used anymore, and QgsDataDefinedButton should be used
in its place.
2016-07-20 21:18:20 +10:00
Nathan Woodrow
8e2c201a16 Fix build 2016-06-21 17:00:03 +10:00
Nathan Woodrow
1072d9681e [styledock] Inline edit panel for rules 2016-06-21 16:26:23 +10:00
Nathan Woodrow
7a572c4ff8 [style dock] Refactor API. Move back button outside scrollarea.
Clean up API. Remove QgsPanelWidgetPage - no longer needed
QgsPanelWidgetStack widget manages back button and breadcrumb.
QgsPanelWidget manages state of active widget.
2016-06-20 10:48:53 +10:00
Nathan Woodrow
a555f91a46 Clean up showPanel API. Open dialog if not in dock mode 2016-06-15 22:07:25 +10:00
Nathan Woodrow
e926e2d0aa [style dock] Add better API for panels 2016-06-13 18:07:39 +10:00
Nyall Dawson
31c572f0ad Fix style dock forgets expanded state of rendering group (fix #14864)
Also fix a memory leak
2016-06-09 11:10:34 +10:00
Nyall Dawson
c5b8060b4b Fix warnings, missing docs+bindings 2016-06-07 07:59:44 +10:00
Nathan
4556a0d288 [styledock] inline effects widget 2016-06-06 22:34:22 +10:00
Nyall Dawson
17f4b4c0c0 Fix doxygen warnings, missing docs+sip 2016-06-04 19:07:11 +10:00
Matthias Kuhn
95f81391d3 sip bindings 2016-06-03 15:13:42 +02:00
Matthias Kuhn
514b03c9ee Fix missing bindings, headers and build 2016-06-03 09:25:10 +02:00
Nathan
223262e2db Add missing sip file 2016-06-03 17:15:33 +10:00
Juergen E. Fischer
840022d772 fix indentation and some typos 2016-06-02 21:29:35 +02:00
Nyall Dawson
6886ea0d0c [FEATURE] Redesigned interactive gradient editor
Uses new gradient editor widget and color controls for easier
manipulation of gradients. Also adds an interactive plot
for modifying gradient stops via the color HSV or RGB values.

Fix #8383

Sponsored by North Road
2016-05-12 21:03:59 +10:00
Nathan Woodrow
ca914f118e [FEATURE] Add style/history tab to style dock 2016-05-10 10:32:30 +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
nirvn
9735c13e33 [FEATURE] add outline settings to font markers 2016-04-22 09:09:00 +07: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
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
Juergen E. Fischer
a90be95f7b sip sync 2016-02-14 03:50:49 +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
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
Matthias Kuhn
0c02f1812e [FEATURE] Add 2.5D Renderer
This adds a configuration interface and renderer that makes it easy to
put all the pieces together which are required to get a 2.5D effect.

It allow for configuring some of the styling and is meant to create an
easy-to-use setup.

Since every part of the system is built around QGIS' internal rendering
and symbology engine, there is much to fine tune. To get all the
possibilities, just change the renderer to a graduated, categorized or
single symbol renderer upon creation and you will find full access to
improve the style to your needs.

Funded by
 * Regional Council of Picardy
 * ADUGA
 * Ville de Nyon
 * Wetu GIT cc
2016-01-15 12:37:50 +01:00
nirvn
653a1e655f [ui] move the save symbol button 2016-01-07 12:09:35 +07:00
Nyall Dawson
9d63022e4e Merge pull request #2638 from SebDieBln/FixStyleManagerUI
Fix some UI issues in style manager
2016-01-07 11:17:58 +11:00
Sebastian Dietrich
3b30a8c630 [StyleManager] change context-menu handling to signal/slot mechanism
Both context-menus affected: Group-Tree and Item-List
2016-01-07 00:27:18 +01:00
Nyall Dawson
f76babf634 [FEATURE] Add duplicate button to symbol properties
Allows easy duplication of a symbol layer
2016-01-06 16:04:14 +11:00
Sebastian Dietrich
b32f124488 [StyleManager] enable/disable appropriate buttons and menu entries 2016-01-06 02:56:32 +01:00
Nyall Dawson
d10680c5fc Followup 881074 2016-01-05 12:18:02 +11:00
Nyall Dawson
881074b194 Boost coverage of SIP bindings
Now all classes and members are either exposed to bindings or marked
as "not available in Python bindings" in the docs.

Drop test thresholds to 0. Now it should be much easier to determine
what missing members have been added which are causing test
failures.
2016-01-05 11:16:15 +11:00