237 Commits

Author SHA1 Message Date
Nyall Dawson
a9c80e5740 Code shuffle
Move vector, project and network related core .cpp/.h files into
dedicated subdirectories.

An attempt to organise src/core better to make things easier to find.
2020-12-29 11:38:11 +10:00
Nyall Dawson
8d45910535 Move QgsArcGisRestUtils to core, cleanup API, add docs and selectively
expose to Python
2020-12-18 18:14:49 +10:00
Denis Rouzaud
eddf6feb45 modernize CMakeLists.txt files 2020-11-12 07:14:46 +10:00
Nyall Dawson
4f6f163ead Move geocoder classes to core 2020-10-30 14:31:04 +10:00
Nyall Dawson
94f3ea0d14 Add interface API for geocoders 2020-10-30 09:19:48 +10:00
Peter Petrik
de6f4d6ad8 hook point cloud layer type to the rest of the code 2020-10-27 05:29:14 +10:00
Nyall Dawson
1bafa2f66f Code shuffle: move QgsCodeEditor classes to their own folder 2020-10-06 17:11:34 +10:00
vcloarec
09c73433dd move QgsMeshLayerProperties to GUI 2020-09-14 15:55:18 +10:00
NEDJIMAbelgacem
5be696d33f Fix compilation error for ubuntu system packages users 2020-08-05 10:45:51 +01:00
Nyall Dawson
c87a8f6afb Code shuffle to move all material classes to separate subdirectory 2020-08-03 16:34:10 +10:00
Dmitry Shachnev
d0c4e0de9d Use SIP_INCLUDE_DIR and SIP_MODULE_DIR only with SIP v4 2020-07-21 21:21:21 +03:00
Blottiere Paul
cc19c5fb7f Fix MappedType error 2020-06-12 08:45:13 +10:00
Nyall Dawson
1f835dfa9a [3d] Expose 3d algorithms provider to Python
Otherwise this provider cannot be initialized from standalone Python
scripts

Fixes #36661

Also cleanup 3d sip generation by correctly defining SIP_NO_FILE
in headers we don't want to expose, so that the sip_include script
can do its magic
2020-05-29 03:44:55 +10:00
Nyall Dawson
e4b201a414 Code shuffle 2020-05-12 10:33:30 +10:00
Tom Palan
3dad4882a7 Do not build python analysis when WITH_ANALYSIS=FALSE 2020-05-10 13:03:42 +10:00
Tom Palan
4b27b5fdc1 Compile python processing plugins even when WITH_GUI=FALSE 2020-05-08 06:36:53 +10:00
Tom Palan
5fa93549df Fix compilation with option WITH_GUI=FALSE
Fixes #29185
2020-05-08 06:36:53 +10:00
Martin Dobias
53075848ce
Merge pull request #35341 from wonder-sk/vector-tile-layer
[FEATURE] Vector tile layer - part 1
2020-04-02 16:06:30 +02:00
Martin Dobias
8105ad1fe5 Initial work on vector tile layer support 2020-03-25 13:27:11 +01:00
Nyall Dawson
bab86e9af3 Start on classes for dev tool widgets and dev tool widget factory 2020-03-25 20:03:18 +10:00
Sandro Mani
84bd5797f7 Move QgsVectorLayerProperties and dependencies to GUI 2020-03-09 10:29:34 +01:00
Nyall Dawson
cd6d51181b [processing] Port some model designer graphic item internals to c++
for stability and re-usability from c++ code
2020-03-01 19:12:25 +10:00
Sandro Mani
3b9ccf375a Make it configurable whether to install the sip source files 2020-01-17 11:38:16 +01:00
Sandro Mani
d573e3be95
Merge pull request #33764 from kadas-albireo/install_sip
Install source sip files
2020-01-17 00:23:15 +01:00
Sandro Mani
666b839517 Install source sip files 2020-01-15 19:43:03 +01:00
Nyall Dawson
387787b539 Add interactive editor dialog for layout manual table items 2020-01-14 19:08:20 +13:00
Nyall Dawson
591e1a28e0 Start on GUI work 2020-01-08 16:20:43 +13:00
Nyall Dawson
d0b5a01729 [api] Add registry and interface for QgsNumericFormats
QgsNumericFormat subclasses provide a means to format a numeric value
as a string, applying various formatting options. E.g. a default
string to value formatter (included here) includes settings for
controlling the number of decimal places, whether a thousands separator
should be shown, whether a leading + sign should be shown, whether
trailing zeros should be shown.

This PR also includes a formatter for bearings, allowing various
formats of numeric bearings to be applied (e.g. control over decimal
places, etc + control over whether direction E/W suffixes are shown,
or whether values should be limited to either the +/- 180 range or
0-360 degree range)

When formatting values, a QgsNumericFormatContext class is used
to provide context. Currently, this includes the thousands and
decimal separators to apply when formatting (which are taken by
default from the user's locale).

A registry of formatters is included to allow easy addition of
other formats in future (e.g. currencies, percentages, scientific
notation, etc...) and to allow plugin based formats.

The intention is to follow this up with gui configuration widgets
for the formats, and then expose them in various places through
the qgis ui (e.g. in the range editor widget for fields, in scalebar
numbers, as an option for formatting numeric labels, etc)
2020-01-08 16:20:43 +13:00
Peter Petrik
229245ce65 fix building on macos due to missing include of spatialite 2019-12-13 12:56:07 +01:00
Nyall Dawson
d3da0e0281 Also move labeling gui files to dedicated subdirectory 2019-12-11 14:05:44 +10:00
Nyall Dawson
a8adb2d6c2 Code shuffle: move all labeling related code into src/core/labeling
So that these files are all grouped together, making it easier to locate
all the components of the labeling engine and hopefully making things
easier to navigate
2019-12-11 14:05:44 +10:00
Denis Rouzaud
8ef8efa7fb
include nlohmann/json_fwd.hpp in core source headers (#32294)
the file was manually added later to the installted headers, but not on mac

it is not possible to install a file in a Headers subfolder within a framework if the original header is not in the same cmake current directory

installing a header in a subdirectory is achieved by setting the MACOSX_PACKAGE_LOCATION property of the source file
but setting a property can only be achieved if it is in the same cmake directory (from the docs: Source file properties are visible only to targets added in the same directory [0])

[0] https://cmake.org/cmake/help/latest/command/set_source_files_properties.html
2019-10-18 09:08:12 +02:00
Denis Rouzaud
68a9ea5d70 move src/core/symbology/classification to src/core/classification 2019-09-02 09:46:40 +02:00
Denis Rouzaud
41495058d1 run sipify 2019-08-30 12:45:37 +02:00
Alessandro Pasotti
92ac7a2e93
[server] Server api and WFS3 (#10016)
Implementation of OGC API and WFS3 core draft specification
2019-08-06 16:38:21 +02:00
Nyall Dawson
b298a197e7 Start on registry 2019-07-11 13:03:12 +10:00
Nyall Dawson
fb1a610007 Early prototype of label callouts 2019-07-11 13:03:12 +10:00
Tom Elwertowski
35da038860 macOS needs path to GEOS framework for PAL 2019-06-21 07:04:11 +10:00
Alessandro Pasotti
63711510b6 Dear Qt, I love you but ...
... you are too slow and QJson API is so ugly.

Now using this wonderful json lib:
https://github.com/nlohmann/json

Results in release mode (QJson tests are not shown but
QJson was even slower than string concat).

PASS   : TestQgsJsonUtils::testExportAttributesJson(Use json)
RESULT : TestQgsJsonUtils::testExportAttributesJson():"Use json":
     0.0022 msecs per iteration (total: 75, iterations: 32768)
PASS   : TestQgsJsonUtils::testExportAttributesJson(Use old string concat)
RESULT : TestQgsJsonUtils::testExportAttributesJson():"Use old string concat":
     0.0032 msecs per iteration (total: 54, iterations: 16384)
PASS   : TestQgsJsonUtils::testExportFeatureJson(Use json)
RESULT : TestQgsJsonUtils::testExportFeatureJson():"Use json":
     0.011 msecs per iteration (total: 96, iterations: 8192)
PASS   : TestQgsJsonUtils::testExportFeatureJson(Use old string concat)
RESULT : TestQgsJsonUtils::testExportFeatureJson():"Use old string concat":
     0.015 msecs per iteration (total: 64, iterations: 4096)
PASS   : TestQgsJsonUtils::testExportGeomToJson(Use json)
RESULT : TestQgsJsonUtils::testExportGeomToJson():"Use json":
     0.76 msecs per iteration (total: 98, iterations: 128)
PASS   : TestQgsJsonUtils::testExportGeomToJson(Use old string concat)
RESULT : TestQgsJsonUtils::testExportGeomToJson():"Use old string concat":
     0.85 msecs per iteration (total: 55, iterations: 64)
PASS   : TestQgsJsonUtils::cleanupTestCase()
2019-04-18 17:04:30 +02:00
Peter Petrik
cd9a84e11c [feature] [mesh] Mesh Calculator
Similarly to raster calculator, mesh calculator can take dataset groups from current mesh layer and
combine them with various aritmentic/logical operators to new dataset group.
2019-01-14 12:32:36 +01:00
Nyall Dawson
7ccaa3df32 [FEATURE][API] Add flexible framework for custom "validity checks"
Adds a new interface QgsAbstractValidityCheck which defines
a single "check" which can be performed on a given QgsValidityCheckContext.
A new application-wide QgsValidityCheckRegistry registers
and manages instances of all known checks, and allows running
of all registered checks of a specific type at once.

Initially the framework is focused toward print layout validity
checks, but the interface has been designed to be generic enough
to allow alternative types of validity checks (e.g. project save
validity checks, processing model validity checks, etc.).

The API is designed to be used both by internal validity checks
and also to be extended by custom, organisation-specific
validity checks. E.g., for print layout validity checks we could have:
2019-01-03 04:53:07 +10:00
Nathan Woodrow
87d2da13fb
[FEATURE][needs-docs] Add new @alg decorator for nicer python processing scripts. (#8586)
@alg()
@alg.help()
@alg.input()
@alg.output()
2018-12-10 16:35:52 +10:00
Juergen E. Fischer
4464089487 auto-detect name of sip module used by PyQt5 2018-10-24 13:38:03 +02:00
Nyall Dawson
fee1f95a1c Make sip import path configurable, default to upstream path 2018-10-24 08:10:50 +10:00
Nyall Dawson
0fad3e5731 Fix build with newer sip versions
Fixes #19476
2018-10-24 08:10:50 +10:00
Salvatore Larosa
3cb9ef2294 fix build without server and 3d 2018-10-16 18:45:25 +02:00
Salvatore Larosa
20c9a5da33 add 3d module to API file 2018-10-16 12:52:48 +02:00
Martin Dobias
88cb8313c8 Python bindings for QGIS 3D library 2018-10-13 22:05:39 +02:00
Matthias Kuhn
bee5470e10
Python bindings for QgsGeometryCheck and co
Adds

 - python bindings
 - geometry check factory
 - geometry check registry
 - QgsFeedback for geometry checks (lots of potential still)
 - An IsValid geometry check
 - Splits classes into their own files
 - Decouples feature pools from the configuration context
2018-09-28 13:33:24 +02:00
Denis Rouzaud
3ceecbf806
no override in SIP 2018-09-19 20:13:29 -04:00