373 Commits

Author SHA1 Message Date
Denis Rouzaud
90e5196996 run sipify 2017-12-19 14:55:46 -04:00
Denis Rouzaud
c604d2dda6 run sipify 2017-12-15 22:13:44 -04:00
Nyall Dawson
8802482778 Remove redundant overridden default destructor implementations 2017-12-16 08:50:55 +10:00
Nyall Dawson
4da1ce8404 Drop redundant virtual keywords on overrides
Run clang-tidy modernize-use-override to remove all the redundant
virtual keywords from overridden methods, and add some missing
overrides.

Another benefit is that this has also added the overrides
on destructors, which will cause a build failure if a base
class is missing a virtual destructor.
2017-12-16 08:49:36 +10:00
Denis Rouzaud
f2b3ed0a9b run sipify 2017-12-15 11:12:19 -04:00
Nyall Dawson
a15b54d997 Swap missing 0->nullptr and add missing overrides 2017-12-12 21:14:58 +11:00
Nyall Dawson
89420fccd6 Sipify 2017-12-07 08:51:52 +10:00
Nyall Dawson
66b4b45177 Try to fix issues with sip casting collisions between layout and
compositions
2017-12-07 08:50:01 +10:00
Nyall Dawson
3a0b751698 Port duplicate layout functionality 2017-12-07 08:49:54 +10:00
Nyall Dawson
f60da58256 Add some unit tests 2017-12-07 08:49:33 +10:00
Denis Rouzaud
e48cf98edb run sipify 2017-12-06 07:19:50 -04:00
Alessandro Pasotti
7aa24f6906 [bugfix] Pass QgsReadWriteContext into project XML r/w
Or we miss the path resolver and we do not read/write
relative paths correctly

Fixes #17116
2017-11-07 18:17:48 +01:00
Nyall Dawson
d3430e4d42 Port legend item 2017-11-07 11:32:39 +10:00
Nyall Dawson
83f177c1d2 Start porting label item 2017-11-07 11:32:39 +10:00
Denis Rouzaud
6e14854f90 [sipify] remove redundant private sections 2017-10-09 09:51:40 +02:00
Nyall Dawson
42676dc93c Move some getters which are incorrectly marked as slots,
remove some unnecessary 'const's from signals

Thanks to clazy const-signal-or-slot check
2017-10-09 11:53:06 +10:00
Nyall Dawson
49b426d951 Make doxygen_space script convert multiline //! comments
Because:
- the /** format is much more prevalent throughout QGIS
- sipify works correctly with /**
2017-10-06 07:55:52 +10:00
Nyall Dawson
92af1dacaf Replace default constructors/destructors with = default 2017-10-01 06:52:14 +10:00
Nyall Dawson
60b8ec5488 Sip sync 2017-09-25 17:11:46 +10:00
Nyall Dawson
cdb0ace28e Try to fix sip item casting clashing between composer items and layout items
Add a temporary hack to QgsComposerItem subclassing to handle this
for now.
2017-07-25 12:54:58 +10:00
Denis Rouzaud
54c6291378 script to write include SIP files 2017-06-28 10:45:51 +02:00
Denis Rouzaud
009e47e369 fix tests 2017-06-20 15:36:04 +02:00
Denis Rouzaud
eddd258725 sipify core composer part 4 2017-06-20 15:36:04 +02:00
Denis Rouzaud
c9a75090bc sipify core composer part 3 2017-06-20 15:36:04 +02:00
Denis Rouzaud
b52f7c2975 sipify core composer part 2 2017-06-20 15:36:04 +02:00
Denis Rouzaud
01ffc4edc7 sipify core composer part 1* 2017-06-20 15:36:04 +02:00
Mathieu Pellerin
7fff6cf029 [atlas] move file format for image export to atlas widget
Two big wins:
- remember file format across sessions (no more accidental
.bmp atlas export!)
- use native directory picker
2017-06-20 10:53:31 +07:00
Nyall Dawson
b2e102d2f5 Improve API docs 2017-06-09 11:56:14 +10:00
Nyall Dawson
aaddfedda8 [composer] Allow map rotation from -360 to 360
Fix #15823

Also reenable instant map refresh as map rotation changes. Since
map refresh is done in the background now, this is safe to reenable.
2017-05-30 17:18:41 +10:00
Nyall Dawson
39146517d2 Change QgsComposerItem to use opacity instead of transparency 2017-05-30 08:48:54 +10:00
Denis Rouzaud
922b162b86 attachment widget: data defined button for document type 2017-05-15 17:57:25 +02:00
Nyall Dawson
29c87de679 [needs-docs][composer] Remove Render/Cache modes from composer maps
Make maps invalidate cache whenever layer order changes. Cache mode
is now identical to Render mode, so  all mode switching has been
removed from composer maps. This should greatly simplify the learning
curve and usability of composer maps.
2017-05-08 19:31:55 +10:00
Nyall Dawson
5e3b903955 [needs-docs][composer] Remove Rectangle mode from composer maps
No longer required - the Cache mode is now performant enough
that we don't have to rely on the old rectangle preview
when desiring responsive composers
2017-05-08 17:10:07 +10:00
Nyall Dawson
491abc2b66 sipify QgsComposerMap 2017-05-08 17:10:02 +10:00
Denis Rouzaud
85f3b81b55 remove double spaces in sip files
fix indentation
2017-05-03 08:02:14 +02:00
Denis Rouzaud
7d459149c7 [sip] align missing bits and replace nullptr by 0 2017-05-02 08:09:53 +02:00
Denis Rouzaud
7b60d89d6c align pointer and reference in sip files batch 2 2017-05-01 20:00:51 +02:00
Nyall Dawson
b40bc0c1f7 Refactor scale bar rendering
Move all scalebar rendering code out of composer and ensure that
all scalebar rendering is done independant of QgsComposerScaleBar

This allows scalebar rendering code to be reused by plugins
and by non-composer code.

Also rename QgsScaleBarStyle -> QgsScaleBarRenderer, (and all
subclasses too). This name better reflects what these classes do.
2017-04-26 11:46:51 +10:00
Matthias Kuhn
f33aabd90a Completely move layer order to core 2017-03-23 15:29:12 +01:00
Nyall Dawson
77706a6447 Avoid multiple map/legend renders while loading compositions 2017-03-21 10:32:53 +10:00
Nyall Dawson
041129d507 Fix loading composition triggers render of all composer maps
Also cleanup some more unused API methods
2017-03-21 10:32:53 +10:00
Nyall Dawson
54d1a93c17 Add missing TransferThis annotation 2017-03-21 10:32:53 +10:00
Nyall Dawson
885269ee78 Only create composer item config widgets on demand
Instead of creating them for all items when composer window
is opened, instead just create and destroy them when
required. None are too heavy to have a noticable delay
when selecting items, but in contrast keeping them around
forever is wasteful on memory.

Also clean up a lot of duplicate composer/composition
code and remove unnecessary signals from api (use a single
itemAdded signal instead of multiple signals for every
item type)
2017-03-21 10:32:53 +10:00
Nyall Dawson
53160c7b21 [composer] Port composer manager to layout manager
Also switch to using a proper model to show/edit compositions
in the dialog.
2017-03-21 10:32:53 +10:00
Nyall Dawson
148e2bcf52 Better method to autogenerate composer names 2017-03-21 10:32:53 +10:00
Nyall Dawson
8c8ac61512 Port composer template saving and duplicating to layout manager 2017-03-21 10:32:52 +10:00
Nyall Dawson
3a1ac1a995 [composer] Attach compositions to QgsProject
This adds a new QgsLayoutManager class which is used for
storage and serializing/deserializing of compositions.

A QgsLayoutManager is attached to QgsProject. This allows
core code to access the compositions attached to a project.
The intention is to move all handling of compositions from
app to core, making it easy for server to access project
compositions without resorting to fragile xml parsing.
2017-03-21 10:32:52 +10:00
Nyall Dawson
ae45d8d490 Move composer title to composition name
Allows the name to be retrieved from core code
2017-03-15 15:19:13 +10:00
Nyall Dawson
47683fca4f [needs-docs] Rename Outline and Border -> Stroke
This change is being driven by:

- need for consistent terminology in the api. Currently there's
a confusing mix of border/outline used
- need for consistent terminology in the gui - we have a mix
of "border"/"outline"/"pen"
- bringing QGIS into line with the standard terminology used
in other graphic editing programs
2017-02-22 19:22:45 +10:00
Denis Rouzaud
7812d4fb17 remove the-prefix from source code
this might result in variables having the same name as some methods
2017-02-21 18:14:58 +01:00