113 Commits

Author SHA1 Message Date
Nyall Dawson
826cbe37d6 [feature] Add an "interpretation" option for vector elevation profiles
Choices are "individual features" (the default behavior) or "continuous
surface". The new Continuous Surface option is designed for vector
layers which represent a continuous elevation surface, e.g contour
lines or surveyed elevation points. When selected, the elevation
chart will be rendered as a surface instead of separate features
by joining the sampled elevation results into a continuous line.

There's also the same option exposed as for raster and mesh layers
where the appearance can be toggled from a single line to a "fill
below" symbol.

Fixes #48341
2022-05-03 12:15:02 +10:00
Nyall Dawson
f0f7ae54a6 Enum class 2022-04-29 19:58:21 +10:00
Nyall Dawson
c35d17b6e4 Move useful point cloud renderer enums to Qgis namespace 2022-04-29 19:58:21 +10:00
Denis Rouzaud
3c0ecd38e8 move enum to Qgis + remove commented code 2022-04-29 07:57:25 +10:00
Nyall Dawson
bc7fa813e5 Only refine layers which benefit from refining (i.e. rasters) 2022-04-28 13:54:47 +10:00
Nyall Dawson
d83fd31815 [sipify] Correctly handle :: in enum comments 2022-04-28 13:54:47 +10:00
Nyall Dawson
940175fc66 [feature] Add option to render raster and mesh elevation surface levels
using a fill symbol below the elevation surface

This can be easier to interpret in some cases, and helps match expected
symbology conventions in certain disciplines.
2022-04-27 17:30:14 +10:00
Nyall Dawson
5e831971cc Cleanup light source handling in API 2022-04-27 11:50:13 +10:00
Denis Rouzaud
4045e51240 [settings] add option to save enum/flag as integer instead of text 2022-04-14 08:39:15 +02:00
Nyall Dawson
141f7bf9f2 Plot wip 2022-04-07 19:22:19 +10:00
Nyall Dawson
0b8e6abb22 Add QgsCoordinateReferenceSystemUtils class, with function to determine
most appropriate x/y or y/x coordinate order for a crs
2022-04-06 16:05:08 +10:00
Nyall Dawson
28bb05b0d5 Add method to retrieve axis order for a QgsCoordinateReferenceSystem 2022-04-06 11:45:32 +10:00
Mathieu Pellerin
5bbad02806 [nmea] Convert RMC mode indicator to its equivalent signal variant to provide accurate quality description 2022-03-28 13:57:22 +07:00
Nyall Dawson
67c00fc6e5 [feature] Add opt-in setting for projects for "Remember attribute table
windows and docks between sessions"

If checked for a project, then any opened attribute tables will be
saved into the project and immediately restored when loading that
project.

Designed to improve workflows when a user has constructed a project
with a particular set of attribute table configurations for their
requirements, and re-setting up these attribute tables is a hassle.
2022-03-24 15:03:16 +10:00
Nyall Dawson
618c7f2f73 [feature] Add opt-in setting in project properties for
"Remember editable layer status between sessions"

If checked, then any layers which are editable will be remembered
when saving that project and immediately made editable whenever
the project is restored.

This is an opt-in, per-project setting. The intended use case
is for users who are making complex, data-editing focused projects.
2022-03-22 10:48:57 +10:00
Nyall Dawson
9efe9f512c Change some boolean QgsProject properties to flags instead 2022-03-22 10:48:57 +10:00
NEDJIMAbelgacem
66b3c57f2b - Fix spelling & SIP
- Fix 3D -> 2D -> 3D sync
- Fix trapezoid setting saving
2022-03-21 07:56:39 -07:00
NEDJIMAbelgacem
60144d7645 switch to flag based approach for 2D/3D sync 2022-03-21 07:56:39 -07:00
NEDJIMAbelgacem
9141d05d59 - Change extent to trapezoid shape
- Visualize the viewed area using QgsRubberBand
-  Address reviews
2022-03-21 07:56:39 -07:00
Loïc Bartoletti
94a3744521
Merge pull request #46647 from Koyaani/advanced_snapping
[Feature] New soft constraints in the advanced digitizing dock
2022-03-18 10:11:49 +01:00
Nyall Dawson
71e450be03 Apply more flexible approach to match zoom levels expected for ESRI
tiles
2022-03-14 13:39:36 +10:00
Denis Rouzaud
761a20cac6 manual monkeypatching core->gui 2022-03-11 07:47:46 +01:00
Denis Rouzaud
f32ecd4730 move QgsMapToolCapture::CaptureTechnique enum to Qgis 2022-03-11 07:47:46 +01:00
Antoine
2dc440f804 move enums to qgis.h 2022-03-10 13:37:19 +01:00
Damiano Lombardi
32ca2e4741 Fix docstrings 2022-03-04 08:41:10 +01:00
Damiano Lombardi
22de7e8a69 Fix docstrings since QGIS 3.24 to 3.26 2022-03-04 08:41:10 +01:00
Damiano Lombardi
f3897d7a75 Buffered transactions commitErrors added already modified layers info 2022-03-04 08:41:10 +01:00
Damiano Lombardi
69f02e9f4c Applied suggestions from code review 2022-03-04 08:41:09 +01:00
Damiano Lombardi
ab3f2fca8a Transaction mode setting gui 2022-03-04 08:41:06 +01:00
Nyall Dawson
341c0d3933 Fix since 2022-03-03 06:15:10 +10:00
Nyall Dawson
5395d87d7f Move altitude clamping/binding enums to Qgis namespace, promote to enum
class
2022-03-03 06:15:10 +10:00
Denis Rouzaud
44681dc841 sipify 2022-03-01 12:09:47 +01:00
Denis Rouzaud
f004242a03 fix typo in compatibility code 2022-03-01 12:09:47 +01:00
Denis Rouzaud
36a933bb2b move QgsSnappingConfig::SnappingTypeFlag + SnappingMode enum/flags to Qgis 2022-03-01 12:09:47 +01:00
Denis Rouzaud
3f88bd5002 further simplifications of template and implementations 2022-03-01 12:09:47 +01:00
Denis Rouzaud
2778276ff7 move QgsSettingsEntry::SettingsType to Qgis + create Qgis::SettingsOptions flags 2022-03-01 12:09:47 +01:00
Nyall Dawson
caee2cabbd Add Qgis::MapLayerProperty flag for layers which should be considered
as "basemap" layers

This flag identifies if the layer is considered a 'basemap' layer, where
certain properties of the layer should be ignored when calculating
project-level properties. For instance, the extent of basemap layers
should be ignored when calculating the overall extent of a project,
as these layers are typically global and extend outside of a project's
area of interest.
2022-02-24 16:20:51 +10:00
Nyall Dawson
f8bbcab8bb Add flag for browser data item to indicate that children of the item
must be refreshed whenever the item is refreshed

This behaviour is not automatic. The new flag allows items to opt-in,
so that their children WILL be automatically refreshed when the
item is refreshed.

Should be used sparingly only to avoid expensive work
2022-02-20 06:48:03 +10:00
Nyall Dawson
2be52d9df9 Create QgsFieldDomain and subclasses which directly represent
the GDAL field domain coded value/range/glob domains
2022-02-20 06:48:03 +10:00
Vincent Cloarec
9965eccdce
Template parameter {usage} for XYZ raster and vector tiles (#46731) 2022-01-13 15:11:31 +01:00
Nyall Dawson
6e7e8d3d7d Promote CRS format enum to enum class, move to Qgis 2022-01-11 19:50:46 +10:00
nirvn
4131714907 [feature][api] Add a map settings / render context flag to skip symbol rendering 2021-12-28 20:04:49 +07:00
Nyall Dawson
6783347896 Implement framework for history providers
As per https://github.com/qgis/QGIS-Enhancement-Proposals/issues/130
2021-12-21 15:32:57 +10:00
Nyall Dawson
fadfb477d9 [api] Move text wrapping handling logic from layout table code to QgsTextRenderer
Allows other users of QgsTextRenderer to take advantage of the
automatic line wrapping behaviour
2021-11-29 13:03:13 +10:00
Nyall Dawson
bab7a911b2 [API] Add new map layer class "QgsGroupLayer"
A group layer is a map layer which consists of a set of
child layers, where all component layers are rendered as a single
flattened object during map renders.

This commit sets up the base framework for QgsGroupLayer only
(i.e. no rendering changes).
2021-11-23 16:08:05 +11:00
Nyall Dawson
4ae14dc546 Add since 2021-11-12 14:09:42 +11:00
Nyall Dawson
388a72abd8 [feature] Replace marker/hash line "on vertices" placement option
with "on inner vertices"

This new mode places the symbols on all inner vertices (ie all
vertices except the first or last). (We can safely do this now
that its easy for users to also set the symbols to show on
first/last vertex by clicking those checkboxes too!)

The motivation here is that when the "Vertex" mode puts the
symbols on the first/last vertex as well as inner vertices,
it's basically impossible to style a line with a different
marker on the first/last vertex to the rest of the line's
vertices. (The best you can get is just hiding the unwanted
first/last vertex by overlaying a second symbol layer on
the first/last vertices with a larger symbol)

Sponsored by North Road, thanks to SLYR
2021-11-12 14:09:42 +11:00
Nyall Dawson
aaafd786df
Make placement options in marker and hash line symbol layers checkboxes instead of mutually exclusive buttons
Makes it considerably quicker to create a marker line with the
markers on the first AND last vertex, amongst other things...

Fixes #18433

Sponsored by North Road, thanks to SLYR
2021-11-12 04:44:08 +10:00
Nyall Dawson
aaca87ca06 Move curve orientation enum (Clockwise/CounterClockwise) to Qgis and
generalise the name

These values are useful for more than just curve orientations
2021-11-10 18:42:42 +11:00
Nyall Dawson
dae69acc76 [feature] Support Small Caps style in labels/text renderer
Adds two new capitalization styles for labels and text symbols:

- Small Caps: Renders lowercase characters as small caps
- All Small Caps: Renders all characters as small caps (regardless
of their original case)

Requires Qt 6.3+, or Qt 5.15 using KDE's fork and the cmake
HAS_KDE_QT5_SMALL_CAPS_FIX switch defined during build.
2021-11-08 14:36:44 +11:00