51 Commits

Author SHA1 Message Date
Matthias Kuhn
7428516d20
Less executable files in codebase 2017-10-04 14:38:27 +02:00
Martin Dobias
9778e85159 Add 3d to doxygen, do not verify indentation of included poly2tri lib 2017-09-15 12:36:44 +02:00
Nyall Dawson
742f3e5b4d Merge pull request #5112 from nyalldawson/locator_core
Move locator non-gui classes to core
2017-09-13 18:50:28 +10:00
Nyall Dawson
d7fff83b38 Include geonode folder in doxyden search folders
Required to build the docs for this folder, and correctly
include the classes in the documentation coverage test
2017-09-13 05:47:53 +10:00
Nyall Dawson
a8e1d335bb Move locator non-gui classes to core
Allows reuse in projects which don't build QGIS gui, e.g.
QField
2017-09-03 16:15:20 +10:00
Denis Rouzaud
06f9842637 rename symbology-ng to symbology 2017-08-06 14:18:57 +02:00
Nyall Dawson
6a54130f0b [layout] Add layout measurement and size classes
These classes are used for storing measurements for a layout
(QgsLayoutMeasurement), sizes for a layout (QgsLayoutSize)
and points in a layout (QgsLayoutPoint)

They support storing a measurement unit alongside a measurement
length/size. A new class QgsLayoutMeasurementConverter handles
conversion between different units, including converting to and
from pixels via a specified DPI property.
2017-06-23 18:00:17 +10:00
Denis Rouzaud
fa5bd491fc run code_layout build from top CMakeLists
instead of adding an extra CMakeLists in .ci/travis/code_layout to build API doc, astyle and run tests (indentation, spelling, sip, doc coverage), the top CMakeLists has been adapted to allow not building core libraries and possibly just the static code layout
* astyle has been moved from /src/astyle to /lib/astyle (I would propose to move all external libraries, and possibly add git submodules)
2017-06-05 22:19:20 +02:00
Denis Rouzaud
281daee0ba run Doxygen and doc coverage test on static Travis config 2017-06-05 22:19:20 +02:00
Alexander Bruy
b8d369a79a Merge pull request #4575 from alexbruy/qgis-sponsors
remove QgsSponsors widget. Instead open sponsors page in the webbrowser (fix #16169)
2017-05-18 13:05:15 +03:00
Nyall Dawson
71f7872251 [FEATURE] Implement a QtCreator style locator bar in the QGIS status bar
This adds a new "locator" bar to the QGIS status bar. If you're not
familiar with QtCreator's locator, it's a quick search bar
(activated by Ctrl+K) which displays matching search results
from any number of registered search filters.

Search filters are subclassed from QgsLocatorFilter, and
added to the app's locator via iface.registerLocatorFilter(...)

Searching is handled using threads, so that results always
become available as quickly as possible, regardless of whether
any slow search filters may be installed. They also appear
as soon as each result is encountered by each filter, which means
that e.g. a file search filter will show results one by one
as the file tree is scanned. This ensures that the UI is always
responsive even if a very slow search filter is present (e.g.
one which uses an online service).

This framework is designed to be extended by plugins, such as
OSM nominatim searches, direct database searching (i.e. Discovery
plugin), layer catalog searches, etc...
2017-05-17 21:33:47 +10:00
Alexander Bruy
5112a0dc88 remove QgsSponsors widget. Instead open sponsors page in the webbrowser
(fix #16169)
2017-05-17 12:06:20 +03:00
Nyall Dawson
5511b07e40 Move memory provider to core
This commit introduces basic support for non-library based
data providers, and moves the memory provider from a library
based provider to a core provider.

The memory provider is used so frequently throughout QGIS that
it has become integral to QGIS functionality and must be
available wherever the QGIS core library is used.

The changes here (while not exposed yet to Python) could potentially
be built on to allow creation of pure Python data providers.
2017-05-06 12:05:12 +10:00
Nyall Dawson
998ca4a8ce Preparation for metadata directory 2017-05-04 07:29:56 +10: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
Denis Rouzaud
448d2fddd3 [doxygen] add include path to allow macro retrieval 2017-04-25 13:28:01 +02:00
Nyall Dawson
c853f4fe89 Refactor annotations
Splits the rendering component of annotations out from map
canvas item component.

A new core abstract base class QgsAnnotation handles the
management of the common properties associated with an
annotation, and handles rendering the annotation onto a
QgsRenderContext destination.

Existing annotation classes have been ported to this, and
with the exception of the form annotation moved into core.
Form annotations are dependant on editor widgets and must
remain in GUI.

A new QgsMapCanvasAnnotationItem item class implements
a QgsMapCanvasItem which draws an annotation inside the
canvas, and handles synchronising the position and size
of the canvas item with the QgsAnnotation position/size.

This allows annotations to be safely used in a multi-canvas
environment, with a single QgsAnnotation being displayed
in multiple canvases (even if the canvases have different
extent/crs/etc).

Additionally it allows annotations to be directly rendered
to a map (eg in composer) without going through the
gui based Qt graphics scene framework.

Also removes lots of duplicate code, and adds some basic
unit tests for annotations.
2017-01-30 08:36:19 +10:00
David Marteau
e17a7d4e21 Move wcs as service module 2017-01-17 22:02:02 +01:00
Nyall Dawson
bb24dfe245 [processing] c++ base class for providers
Nothing particularly exciting here yet, but this commit
moves the definition of the provider base class to a c++
QgsProcessingProvider abstract base class.

As part of this some existing python methods were renamed
to make their use clearer and to fit with the QGIS c++
api conventions:

- getName was renamed to id
- getDescription was renamed to name
- getIcon was renamed to icon

These API breaks are documented
2017-01-11 10:55:15 +10:00
Alexander Bruy
9a94da8521 new QgsHelp class that uses QGIS User Guide as help source 2017-01-10 17:55:50 +02:00
Nyall Dawson
f7ae653f88 Add missing folder to doxygen build 2017-01-08 01:26:48 +01:00
Juergen E. Fischer
b4f3126be0 debian packages
* remove outdated conditionals
* switch to ninja
2016-10-06 13:31:17 +02:00
Juergen E. Fischer
50b04c5cd9 only include server bindings in sip coverage tests if they are built 2016-10-01 13:23:36 +02:00
Juergen E. Fischer
17090b9092 debian packaging update: add experimental build 2016-09-25 19:23:20 +02:00
Juergen E. Fischer
56a23e9f9a rebuild api documentation only when necessary 2016-09-21 23:43:30 +02:00
Matthias Kuhn
9a10047b3c Update Qt docs link to version 5 2016-09-21 08:55:21 +02:00
Tim Sutton
6103669391 Added sponsors generated from changelog site (#3264)
* Added sponsors generated from changelog site
* Use a single rule for including sponsor images rather. Remove terrelogiche duplication. Remove old sponsor images
* Fix indentations and remove sponsors from images.qrc
2016-07-03 23:28:29 +02:00
Juergen E. Fischer
3ac9364f35 * debian packaging update
* include qch download link on api index page
2016-05-19 10:18:38 +02:00
Nyall Dawson
45f0cff256 Allow generation of Qt QHP help files from doxygen
This adds a new cmake option GENERATE_QHP. If the api docs are
set to being built (ie doxygen is available and WITH_APIDOC is true)
then setting GENERATE_QHP to true will cause doxygen to create
a compiled Qt help file from the QGIS docs.

This QHP file can then be used by QtCreator to show the QGIS
api directly within the QtCreator help (ie, press F1 on a class
or member to see the docs).

To do this, you need to:
- make sure doxygen is installed, WITH_APIDOC is true and
GENERATE_QHP is true
- build to generate the docs
- In QtCreator, go to Tools -> Options -> Help, switch to the
"Documentation" tab and click "Add". Point it to your generate
QHP file (should be in the build folder doc\api\qch folder)
- Restart QtCreator, wait a bit, and then you should have the
api docs available under the "Help" tab and by pressing F1
on a QGIS class/method
2016-05-19 13:55:11 +10:00
Juergen E. Fischer
cbf7b5c0df fix 7454d87 2016-04-14 01:02:52 +02:00
Tom Chadwin
2eb660a00c Bump Doxygen to support HTML_EXTRA_STYLESHEET
This is the minimum version required - happy to bump it higher if
preferred
2016-03-30 12:10:32 +01:00
Matthias Kuhn
a630205f70 Fixup 7b0837f 2015-11-24 16:47:38 +01:00
Juergen E. Fischer
7408151916 remove whatsnew from api and install (followup 95c377a) 2015-10-04 09:51:00 +02:00
Salvatore Larosa
84a40368d8 [welcomepage] include whatsnew.html in cmakelist file 2015-08-26 16:29:41 +02:00
Nyall Dawson
10e738ba5f Allow linking API docs to Qt docs through the use of qt doxygen tagfiles.
This is done using the new QT_TAG_FILE and QT_DOC_URL cmake options.
QT_TAG_FILE should be set to the path of the qt.tags tagfile. In ubuntu
this file is provided by the qt4-doc-html package, and is located at
/usr/share/qt4/doc/html/qt.tags
QT_DOC_URL should be currently set to http://doc.qt.io/qt-4.8/
2015-06-02 20:26:09 +10:00
Salvatore Larosa
9952fc8aa6 Add Developers Map in About dialog 2014-12-21 21:56:41 +01:00
Juergen E. Fischer
e9f43c4909 debian packaging update: merge downstream debian changes 2014-04-06 12:41:03 +02:00
Juergen E. Fischer
3327cdc996 fix typos, indentation and some warnings 2014-01-18 21:41:27 +01:00
Nathan Woodrow
f1ed4ae41b Add ERDAS ECW licence terms. New licence tab in about dialog 2013-08-07 22:02:56 +10:00
Werner Macho
640f6a067b rename our CHANGELOG to NEWS and add new ChangeLog according to GNU Standards 2012-04-15 14:26:48 +02:00
Juergen E. Fischer
70a3bcc9f9 debian packaging update 2011-09-25 09:39:37 +02:00
Tim Sutton
93a190a382 Fix some more merge confglicts after merging updates from 1.7 brnach 2011-09-25 00:32:43 +02:00
Tim Sutton
38cb294411 Resolved merge conflicts from applying 29f93f1b01ebf9799256ab55557370fbf051df44 to master 2011-09-24 17:27:10 +02:00
Juergen E. Fischer
32801ed25f make pdf generation for txt2tags doc optional 2011-05-27 22:56:42 +02:00
jef
364297f944 txt2tags should have been optional
git-svn-id: http://svn.osgeo.org/qgis/trunk@15375 c8812cc2-4d05-0410-92ff-de0c093fc19c
2011-03-06 23:15:18 +00:00
jef
3f3c21e6f4 restore documentation used in about box
git-svn-id: http://svn.osgeo.org/qgis/trunk@15356 c8812cc2-4d05-0410-92ff-de0c093fc19c
2011-03-06 08:46:40 +00:00
jef
0cd4317bc0 [FEATURE] documentation improvements
replace AUTHORS, CONTRIBUTORS, DONORS, SPONSORS and TRANSLATOR with t2t version
in doc, run txt2tags within the build and install documentation.  Optionally
build and install api documentation


git-svn-id: http://svn.osgeo.org/qgis/trunk@15348 c8812cc2-4d05-0410-92ff-de0c093fc19c
2011-03-06 02:09:21 +00:00
jef
b6f51c367e fix #1477
git-svn-id: http://svn.osgeo.org/qgis/trunk@9932 c8812cc2-4d05-0410-92ff-de0c093fc19c
2009-01-06 21:50:18 +00:00
timlinux
c3dede4800 Install fixes for doc (removed install.pdf and reinstated other docs)
git-svn-id: http://svn.osgeo.org/qgis/trunk@7726 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-12-07 03:28:13 +00:00
timlinux
1e33ab407b Fix error caused by doc removals - the make install line here needs to be reinstated before release
git-svn-id: http://svn.osgeo.org/qgis/trunk@7709 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-12-03 15:18:16 +00:00