3616 Commits

Author SHA1 Message Date
Nyall Dawson
1537d393e3 Add framework for retrieving the temporary results of a in-progress
edit operation on an annotation item

This is used for the item to return a representative geometry
of what the item would look like if the operation were to be
applied. It's used to generate a rubber band showing a preview
of the modification during interactive editing operations on
an annotation item.
2021-09-10 15:01:26 +10:00
Nyall Dawson
1fe874315a Add method to apply a annotation item edit operation directly
onto a QgsAnnotationLayer
2021-09-10 15:01:26 +10:00
Nyall Dawson
631343265d Allow QgsAnnotationItemEditOperationMoveNode operations to be
applied to annotation items to move nodes in the item
2021-09-10 15:01:26 +10:00
Nyall Dawson
a87206dbdf Create QgsAbstractAnnotationItemEditOperation as base class for
edit operations on annotation layers, with initial implementation
as QgsAnnotationItemEditOperationMoveNode

This class encapsulates edit operations which apply to annotation
layers/items
2021-09-10 15:01:26 +10:00
Nyall Dawson
5ed05fadca Add an id number to QgsAnnotationItemNode 2021-09-10 15:01:26 +10:00
Martin Dobias
1a8ff84791 [feature] Transactions in MSSQL provider 2021-09-09 08:07:21 -07:00
Vincent Cloarec
be3a9e7564
reindex/renumbering mesh layer (#44969)
[mesh] [feature] reindex/renumbering mesh layer

Co-authored-by: PeterPetrik <zilolv@gmail.com>
2021-09-09 12:18:31 +02:00
Vincent Cloarec
46013949fb
Force mesh by polylines (#44962)
[mesh] [feature] allow modify mesh frame elevation by force/break lines
2021-09-09 10:26:32 +02:00
Vincent Cloarec
45e07dd72f
Select mesh elements by expression UI (#44835)
[mesh] [feature] Select mesh elements by expression
2021-09-09 08:29:45 +02:00
Nyall Dawson
b8f65cbf01 Promote temporal related enums to enum classes, move to Qgis 2021-09-09 14:56:47 +10:00
Richard Duivenvoorde
b5952c1638 Sipify all 2021-09-09 08:07:48 +10:00
Richard Duivenvoorde
9b1894cf46 Sipify and indentation 2021-09-09 08:07:48 +10:00
David Marteau
f7cc194efd xpose single vector tile encoding method 2021-09-07 04:51:34 -07:00
Nyall Dawson
6d926d4ffe Add method to create rubber band geometry for an annotation item 2021-09-07 15:48:17 +10:00
Nyall Dawson
8d1f2bf7a6 Add a method to transform QgsAnnotationItems using a QTransform
transform
2021-09-07 15:48:17 +10:00
Nyall Dawson
46f1957cee [api] Annotation items can have their symbology reference scale set
This is especially important for annotation items, where users will
want to create text items with text which scales up and down with
the map.
2021-09-07 14:57:57 +10:00
Nyall Dawson
837dd24858 Make it easier for annotation item subclasses to correctly
copy/read/write common base class properties
2021-09-07 14:57:57 +10:00
Nyall Dawson
9b477ba10d Fix crash when very large coordinates are stored in
QgsRenderedItemResults spatial index
2021-09-07 12:56:04 +10:00
Nyall Dawson
ae17baa737 Add method to erase results from specific layers to
QgsRenderedItemResults
2021-09-07 12:56:04 +10:00
Nyall Dawson
38b8b82674 Add method to replace an existing item in an annotation layer 2021-09-07 10:35:02 +10:00
Nyall Dawson
c7c7b6dd1e [api] Create annotation item gui registry
This registry is attached to QgsGui and handles registration of
functions which create widgets for modifying QgsAnnotationItems

Modeled heavily off the print layout API
2021-09-07 10:35:02 +10:00
Matthias Kuhn
0555d11042
Merge pull request #44266 from domi4484/labelRotationUnit
[labeling] specify unit for data defined label rotation
2021-09-06 10:45:00 +02:00
Damiano Lombardi
3ce3a2bfa1 Better decimals parameter description 2021-09-06 08:33:18 +02:00
Nyall Dawson
1d73ea86a6 [api] Add method to add additional layers to QgsMapLayerModel 2021-09-06 16:24:15 +10:00
Nyall Dawson
40bef07264 Correctly handle rendered item results stored when map canvas redraw
partially uses cached layer results
2021-09-06 12:38:33 +10:00
Nyall Dawson
8f2eb9238f Qgis::HttpMethod should be an enum class 2021-09-06 11:28:04 +10:00
Vincent Cloarec
9ce295ebbd
Mesh transform by expression (#44873)
[feature] [mesh] allows the user to make geom transformation of mesh frame by changing the vertices coordinates by expression. Each coordinates (X,Y,Z) of selected vertices can be calculated with an expression allowing transformation of the mesh while the mesh is still valid.

Co-authored-by: Harrissou Sant-anna <delazj@gmail.com>
2021-09-03 08:48:41 +02:00
Etienne Trimaille
8b18399704 Add a POST parameter in the FileDownloader processing algorithm 2021-09-03 11:35:46 +10:00
Nyall Dawson
4ff1e55a21 [api] Add method to retrieve the nodes for an annotation item
For now all nodes just directly represent vertices in the item,
but the intention here is that they can represent any form of handle
which can be used to manipulate an item (e.g. a bezier curve point,
some "smart shape" handle for resizing or rotating an item, etc)
2021-09-03 08:06:48 +10:00
Nyall Dawson
f5bd9ccaee
[annotations] Implement scale dependent bounding box calculation for marker items 2021-09-02 14:45:18 +10:00
Nyall Dawson
21699794bd [api] Allow annotation layers to be included in filtered map layer proxy models 2021-09-01 17:27:25 +10:00
Damiano Lombardi
07e49fdabe QgsUnitTypes::FormatAngle show appropriate number of decimals 2021-09-01 07:54:10 +02:00
Damiano Lombardi
51a945ce1b Map rotate too display rotation unit 2021-09-01 07:54:10 +02:00
Damiano Lombardi
0874a6a4e3 QgsMapToolRotateLabel respect rotation unit 2021-09-01 07:54:10 +02:00
Damiano Lombardi
b19b39637e [labeling] test for rotation unit 2021-09-01 07:54:09 +02:00
Damiano Lombardi
44fb7d6714 [labeling] specify unit for data defined label rotation 2021-09-01 07:54:09 +02:00
Nyall Dawson
660433d9a9 [api] Add framework for collecting rendered item details during map
renderer operations

This follow a similar pattern as how labeling results could be collected
after a map render job, but generalises the API so that it can be
used for storing details of rendered items of any type.

It's currently used for storing details of rendered annotation items,
so that map tools can retrieve details of annotation items visible
in the canvas in an optimised way.
2021-08-31 11:04:29 +10:00
Nyall Dawson
b09994abcc Add a minimal data provider for annotation layers
Required for some nice things, like avoiding rendering slower
annotation layers in canvas preview jobs
2021-08-31 11:04:29 +10:00
Nyall Dawson
47bcf09af6 Rework annotation layer index handling
Because some annotation items have scale dependent bounding boxes,
we can only index items which have a fixed bounding box. Other
item bounds need to be dynamically determined based on a specific
render context. So rework the annotation layer index handling
to only index appropriate items and store other items in a non-indexed
item set.

This isn't ideal, because it means we need to clone ALL non-indexed
items upfront whenever we render an annotation layer (it's too expensive
to calculate their actual bounding box and selectively clone them,
as it's a process which blocks the main thread).

Hopefully we can think of an alternative approach to this down
the line so that we DO have some form of spatial index for scale
dependent items, unlocking better performance for annotation layers
with 10,000s of items. But we'll ignore that situation for now ;)
2021-08-31 11:04:29 +10:00
Nyall Dawson
b4acffbb31 Add flag for scale dependent bounding boes 2021-08-31 11:04:29 +10:00
Nyall Dawson
ff302ca075 Fix api 2021-08-26 12:56:45 +10:00
Nyall Dawson
136faab91f Fix system tables disappear from dialog after task runs 2021-08-26 12:56:45 +10:00
Nyall Dawson
f2f40096ab Add support for filtering system tables in QgsProviderSublayerProxyModel 2021-08-26 12:56:45 +10:00
Nyall Dawson
7f090f64d1 [api] Add flags to QgsProviderSublayerDetails, to indicate that
a sublayer is a system or internal table
2021-08-26 12:56:45 +10:00
Denis Rouzaud
3208b51102
Merge pull request #44709 from troopa81/feat_dms_connexion_webdav
[ExternalStorage] add WebDAV external storage implementation
2021-08-25 11:01:33 +02:00
Nyall Dawson
f3ffe7683d Add note to QgsFeatureRequest::setSubsetOfAttributes methods
to indicate that providers may ignore the subset in certain
circumstances

Refs #44621
2021-08-25 12:54:57 +10:00
Vincent Cloarec
bc192a60b2
Mesh expressions: add $vertex_as_point and $vertex_z functions (#44786)
* mesh expression $vertex_as_point $vertex_Z_value

* functions help

* SIP, doc and indentation

* fix SIP

* fix help file

* change function name and add Meshes group description

* fix typo

* fix strings and docs

* typo
2021-08-24 20:56:16 +02:00
Julien Cabieces
ff08ad4733 adds finished signal and deprecates downloadFinished 2021-08-24 11:04:26 +02:00
nirvn
2a2eace0e1 Move generalHtmlMetadata to QgsMapLayer class, guard from null data provider, harmonize looks and details ordering across map layer types 2021-08-24 14:52:40 +10:00
nirvn
0ab3442ead [FEATURE][ui] Show dataset file size and last modified information in the layer properties window 2021-08-24 14:52:40 +10:00