Merged master fixed conflict.
@ -13,6 +13,7 @@ trans.cs = i18n/qgis_cs.ts
|
||||
trans.da = i18n/qgis_da.ts
|
||||
trans.de = i18n/qgis_de.ts
|
||||
trans.el = i18n/qgis_el.ts
|
||||
trans.eo = i18n/qgis_eo.ts
|
||||
trans.es = i18n/qgis_es.ts
|
||||
trans.et = i18n/qgis_et.ts
|
||||
trans.eu = i18n/qgis_eu.ts
|
||||
|
@ -564,32 +564,15 @@ IF(COMMAND cmake_policy)
|
||||
ENDIF(COMMAND cmake_policy)
|
||||
|
||||
IF (WIN32)
|
||||
SET(DLLIMPORT "__declspec(dllimport)")
|
||||
SET(DLLEXPORT "__declspec(dllexport)")
|
||||
ELSE (WIN32)
|
||||
IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
||||
SET(DLLEXPORT "__attribute__ ((visibility (\\\"default\\\")))")
|
||||
ELSE()
|
||||
SET(DLLEXPORT "")
|
||||
ENDIF()
|
||||
|
||||
IF(PEDANTIC AND NOT APPLE)
|
||||
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
|
||||
SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined")
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-undefined")
|
||||
ENDIF(PEDANTIC AND NOT APPLE)
|
||||
|
||||
ENDIF(WIN32)
|
||||
|
||||
ADD_DEFINITIONS("-DCORE_EXPORT=${DLLIMPORT}")
|
||||
ADD_DEFINITIONS("-DGUI_EXPORT=${DLLIMPORT}")
|
||||
ADD_DEFINITIONS("-DPYTHON_EXPORT=${DLLIMPORT}")
|
||||
ADD_DEFINITIONS("-DANALYSIS_EXPORT=${DLLIMPORT}")
|
||||
ADD_DEFINITIONS("-DAPP_EXPORT=${DLLIMPORT}")
|
||||
ADD_DEFINITIONS("-DCUSTOMWIDGETS_EXPORT=${DLLIMPORT}")
|
||||
ADD_DEFINITIONS("-DSERVER_EXPORT=${DLLIMPORT}")
|
||||
|
||||
SET(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
||||
INCLUDE(GenerateExportHeader)
|
||||
|
||||
#############################################################
|
||||
# user-changeable settings which can be used to customize
|
||||
|
59
INSTALL
@ -1,10 +1,10 @@
|
||||
QGIS
|
||||
Building QGIS from source - step by step
|
||||
Monday November 07, 2016
|
||||
Monday January 09, 2017
|
||||
|
||||
|
||||
Last Updated: Monday November 07, 2016
|
||||
Last Change : Monday November 07, 2016
|
||||
Last Updated: Monday January 09, 2017
|
||||
Last Change : Monday January 09, 2017
|
||||
|
||||
|
||||
1. Introduction
|
||||
@ -87,7 +87,7 @@ source directory.
|
||||
2. Overview
|
||||
===========
|
||||
|
||||
QGIS, like a number of major projects (eg. KDE 4.0), uses CMake
|
||||
QGIS, like a number of major projects (e.g., KDE 4.0), uses CMake
|
||||
(http://www.cmake.org) for building from source.
|
||||
|
||||
Following a summary of the required dependencies for building:
|
||||
@ -100,14 +100,17 @@ Required build tools:
|
||||
|
||||
Required build dependencies:
|
||||
|
||||
- Qt >= 4.8.0
|
||||
- Qt >= 5.3.0
|
||||
- Proj >= 4.4.x
|
||||
- GEOS >= 3.4
|
||||
- Sqlite3 >= 3.0.0
|
||||
- GDAL/OGR >= 1.4.x
|
||||
- SpatiaLite
|
||||
- libspatialindex
|
||||
- GDAL/OGR >= 2.0
|
||||
- Qwt >= 5.0 & (< 6.1 with internal QwtPolar)
|
||||
- expat >= 1.95
|
||||
- QScintilla2
|
||||
- QCA
|
||||
|
||||
Optional dependencies:
|
||||
|
||||
@ -118,14 +121,14 @@ Optional dependencies:
|
||||
- for georeferencer - GSL >= 1.8
|
||||
- for postgis support and SPIT plugin - PostgreSQL >= 8.0.x
|
||||
- for gps plugin - gpsbabel
|
||||
- for mapserver export and PyQGIS - Python >= 2.3 (2.5+ preferred)
|
||||
- for python support - SIP >= 4.12, PyQt >= 4.8.3 must match Qt version, Qscintilla2
|
||||
- for mapserver export and PyQGIS - Python >= 3.3
|
||||
- for python support - SIP >= 4.12, PyQt >= 5.3 must match Qt version, Qscintilla2
|
||||
- for qgis mapserver - FastCGI
|
||||
- for oracle provider - Oracle OCI library
|
||||
|
||||
Indirect dependencies:
|
||||
|
||||
Some proprietary formats (eg. ECW and MrSid) supported by GDAL require
|
||||
Some proprietary formats (e.g., ECW and MrSid) supported by GDAL require
|
||||
proprietary third party libraries. QGIS doesn't need any of those itself to
|
||||
build, but will only support those formats if GDAL is built accordingly. Refer
|
||||
to http://gdal.org/formats_list.html ff. for instructions how to include
|
||||
@ -262,27 +265,55 @@ interactive dialog.
|
||||
|
||||
Now on with the build:
|
||||
|
||||
make
|
||||
make install
|
||||
make -jX
|
||||
|
||||
It may take a little while to build depending on your platform.
|
||||
where X is the number of available cores. Depending on your platform,
|
||||
this can speed up the build time considerably.
|
||||
|
||||
Then you can directly run from the build directory:
|
||||
|
||||
./output/bin/qgis
|
||||
|
||||
Another option is to install to your system:
|
||||
|
||||
make install
|
||||
|
||||
After that you can try to run QGIS:
|
||||
|
||||
$HOME/apps/bin/qgis
|
||||
|
||||
If all has worked properly the QGIS application should start up and appear
|
||||
on your screen. If you get the error message "error while loading shared libraries",
|
||||
on your screen. If you get the error message "error while loading shared libraries",
|
||||
execute this command in your shell.
|
||||
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HOME}/apps/lib/
|
||||
|
||||
Optionally, if you already know what aspects you want in your custom build
|
||||
then you can skip the interactive ccmake .. part by using the cmake -D
|
||||
option for each aspect, e.g.:
|
||||
|
||||
cmake -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX=${HOME}/apps ..
|
||||
|
||||
Also, if you want to speed your build times, you can easily do it with ninja,
|
||||
an alternative to make with similar build options.
|
||||
|
||||
For example, to configure your build you can do either one of:
|
||||
|
||||
ccmake -G Ninja ..
|
||||
|
||||
cmake -G Ninja -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX=${HOME}/apps ..
|
||||
|
||||
Build and install with ninja:
|
||||
|
||||
ninja (uses all cores by default; also supports the above described -jX option)
|
||||
ninja install
|
||||
|
||||
|
||||
3.8. Building Debian packages
|
||||
=============================
|
||||
|
||||
Instead of creating a personal installation as in the previous step you can
|
||||
also create debian package. This is done from the QGIS root directory, where
|
||||
also create debian package. This is done from the QGIS root directory, where
|
||||
you'll find a debian directory.
|
||||
|
||||
First you need to install the debian packaging tools once:
|
||||
|
14
NEWS
@ -1,6 +1,6 @@
|
||||
QGIS News
|
||||
Change history for the QGIS Project
|
||||
Monday November 07, 2016
|
||||
Monday January 09, 2017
|
||||
|
||||
|
||||
------------------------------------------------------------------------
|
||||
@ -39,12 +39,12 @@ Monday November 07, 2016
|
||||
------------------------------------------------------------------------
|
||||
|
||||
|
||||
Last Updated: Monday November 07, 2016
|
||||
Last Change : Wednesday July 27, 2016
|
||||
Last Updated: Monday January 09, 2017
|
||||
Last Change : Sunday January 01, 2017
|
||||
|
||||
|
||||
1. What's new in Version 2.16 'Nødebo'?
|
||||
========================================
|
||||
=======================================
|
||||
|
||||
This release has following new features:
|
||||
|
||||
@ -814,7 +814,7 @@ changed so we will just provide a bullet list of key new features here.
|
||||
|
||||
- Optionally re-use entered attribute values for next digitized feature.
|
||||
- Allow merging/assigning attribute values to a set of features.-
|
||||
- Allow OGR 'save as' without attributes (for eg. DGN/DXF).
|
||||
- Allow OGR 'save as' without attributes (e.g., DGN/DXF).
|
||||
|
||||
|
||||
14.7. Api and Developer Centric
|
||||
@ -908,7 +908,7 @@ as' option, you can now specify OGR creation options.
|
||||
|
||||
|
||||
15.3. Labeling (New generation only)
|
||||
=====================================
|
||||
====================================
|
||||
|
||||
- Data defined label position in labeling-ng.
|
||||
- Line wrapping, data defined font and buffer settings for labeling-ng.
|
||||
@ -1055,7 +1055,7 @@ we recommend that you use a copy of QGIS from our Long Term Support (LTS)1.0.x
|
||||
release series. In all other cases we recommend that you use this version.
|
||||
|
||||
This release includes around 200 bug fixes, nearly 30 new features and has had
|
||||
a lot of love and attention poured in to it to take our favourite desktop GIS
|
||||
a lot of love and attention poured in to it to take our favorite desktop GIS
|
||||
application another step on the road to GIS nirvana! So much has happened in
|
||||
the 3 months since our last release that it is impossible to document
|
||||
everything here. Instead we will just highlight a couple of important new
|
||||
|
@ -13,4 +13,6 @@
|
||||
# #
|
||||
###########################################################################
|
||||
|
||||
ccache -s
|
||||
|
||||
[ -r /tmp/ctest-important.log ] && cat /tmp/ctest-important.log
|
||||
|
@ -20,6 +20,7 @@ ln -s ${HOME}/osgeo4travis/bin/ccache ${HOME}/osgeo4travis/bin/clang++-${LLVM_VE
|
||||
ln -s ${HOME}/osgeo4travis/bin/ccache ${HOME}/osgeo4travis/bin/clang-${LLVM_VERSION}
|
||||
|
||||
ccache -s
|
||||
ccache -z
|
||||
|
||||
export CXX="clang++-${LLVM_VERSION}"
|
||||
export CC="clang-${LLVM_VERSION}"
|
||||
@ -38,21 +39,39 @@ CLANG_WARNINGS=""
|
||||
# Include this line for debug reasons
|
||||
# -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
#
|
||||
cmake \
|
||||
-DCMAKE_PREFIX_PATH=/home/travis/osgeo4travis \
|
||||
-DWITH_STAGED_PLUGINS=ON \
|
||||
-DWITH_GRASS=ON \
|
||||
-DWITH_GRASS7=ON \
|
||||
-DGRASS_PREFIX7=/home/travis/osgeo4travis/grass-7.0.4 \
|
||||
-DSUPPRESS_QT_WARNINGS=ON \
|
||||
-DENABLE_MODELTEST=ON \
|
||||
-DENABLE_PGTEST=ON \
|
||||
-DWITH_QSPATIALITE=ON \
|
||||
-DWITH_QWTPOLAR=OFF \
|
||||
-DWITH_APIDOC=ON \
|
||||
-DWITH_ASTYLE=ON \
|
||||
-DWITH_SERVER=ON \
|
||||
-DWITH_INTERNAL_YAML=OFF \
|
||||
-DDISABLE_DEPRECATED=ON \
|
||||
-DCXX_EXTRA_FLAGS="$CLANG_WARNINGS" \
|
||||
..
|
||||
CMAKE_FLAGS="
|
||||
-DCMAKE_PREFIX_PATH=/home/travis/osgeo4travis
|
||||
-DWITH_STAGED_PLUGINS=ON
|
||||
-DWITH_GRASS=ON
|
||||
-DWITH_GRASS7=ON
|
||||
-DGRASS_PREFIX7=/home/travis/osgeo4travis/grass-7.0.4
|
||||
-DSUPPRESS_QT_WARNINGS=ON
|
||||
-DENABLE_MODELTEST=ON
|
||||
-DENABLE_PGTEST=ON
|
||||
-DWITH_QSPATIALITE=ON
|
||||
-DWITH_QWTPOLAR=OFF
|
||||
-DWITH_APIDOC=ON
|
||||
-DWITH_ASTYLE=ON
|
||||
-DWITH_INTERNAL_YAML=OFF
|
||||
-DDISABLE_DEPRECATED=ON
|
||||
-DCXX_EXTRA_FLAGS=${CLANG_WARNINGS}
|
||||
"
|
||||
|
||||
# The following options trigger a minimalized build to
|
||||
# reduce the travis build time so we don't time out and
|
||||
# have a chance of slowly filling the ccache.
|
||||
if [ "$CACHE_WARMING" = true ] ; then
|
||||
CMAKE_FLAGS="
|
||||
${CMAKE_FLAGS}
|
||||
-DWITH_DESKTOP=OFF
|
||||
-DWITH_SERVER=OFF
|
||||
"
|
||||
else
|
||||
CMAKE_FLAGS="
|
||||
${CMAKE_FLAGS}
|
||||
-DWITH_DESKTOP=ON
|
||||
-DWITH_SERVER=ON
|
||||
"
|
||||
fi
|
||||
|
||||
cmake $CMAKE_FLAGS ..
|
||||
|
@ -18,6 +18,7 @@ export PATH=${HOME}/osgeo4travis/bin:${HOME}/osgeo4travis/sbin:${HOME}/OTB-5.6.0
|
||||
export LD_LIBRARY_PATH=${HOME}/osgeo4travis/lib
|
||||
export CTEST_PARALLEL_LEVEL=1
|
||||
export CCACHE_TEMPDIR=/tmp
|
||||
ccache -M 2G
|
||||
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
@ -25,5 +26,11 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
export OTB_APPLICATION_PATH=${HOME}/OTB-5.6.0-Linux64/lib/otb/applications
|
||||
export LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so
|
||||
|
||||
xvfb-run ctest -V -E "qgis_filedownloader|qgis_openstreetmaptest|qgis_wcsprovidertest|PyQgsWFSProviderGUI|qgis_ziplayertest|$(cat ${DIR}/blacklist.txt | paste -sd '|' -)" -S ./qgis-test-travis.ctest --output-on-failure
|
||||
# xvfb-run ctest -V -E "qgis_openstreetmaptest|qgis_wcsprovidertest" -S ./qgis-test-travis.ctest --output-on-failure
|
||||
if [ "$CACHE_WARMING" = true ] ; then
|
||||
echo "WARNING: CACHE WARMING IS ACTIVE. SET CACHE_WARMING=false TO GET MEANINGFUL RESULTS."
|
||||
xvfb-run ctest -V -R NOTESTS -S ./qgis-test-travis.ctest --output-on-failure
|
||||
false
|
||||
else
|
||||
xvfb-run ctest -V -E "qgis_filedownloader|qgis_openstreetmaptest|qgis_wcsprovidertest|PyQgsWFSProviderGUI|qgis_ziplayertest|$(cat ${DIR}/blacklist.txt | paste -sd '|' -)" -S ./qgis-test-travis.ctest --output-on-failure
|
||||
fi
|
||||
|
@ -61,13 +61,9 @@ ELSE(WIN32)
|
||||
ENDIF (NOT GDAL_VERSION)
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1" GDAL_VERSION_MAJOR "${GDAL_VERSION}")
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\2" GDAL_VERSION_MINOR "${GDAL_VERSION}")
|
||||
IF (GDAL_VERSION_MAJOR LESS 1 OR (GDAL_VERSION EQUAL 1 AND GDAL_VERSION_MINOR LESS 4))
|
||||
MESSAGE (FATAL_ERROR "GDAL version is too old (${GDAL_VERSION}). Use 1.4.0 or higher.")
|
||||
ENDIF (GDAL_VERSION_MAJOR LESS 1 OR (GDAL_VERSION EQUAL 1 AND GDAL_VERSION_MINOR LESS 4))
|
||||
|
||||
IF (GDAL_VERSION_MAJOR LESS 1 OR (GDAL_VERSION_MAJOR EQUAL 1 AND GDAL_VERSION_MINOR LESS 11))
|
||||
MESSAGE (WARNING "GDAL version is too old (${GDAL_VERSION}) to support GeoPackage. 1.11.0 or higher is recommended.")
|
||||
ENDIF (GDAL_VERSION_MAJOR LESS 1 OR (GDAL_VERSION_MAJOR EQUAL 1 AND GDAL_VERSION_MINOR LESS 11))
|
||||
IF (GDAL_VERSION_MAJOR LESS 2)
|
||||
MESSAGE (FATAL_ERROR "GDAL version is too old (${GDAL_VERSION}). Use 2.0 or higher.")
|
||||
ENDIF (GDAL_VERSION_MAJOR LESS 2)
|
||||
|
||||
ENDIF (GDAL_LIBRARY)
|
||||
SET (CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_save} CACHE STRING "" FORCE)
|
||||
@ -105,14 +101,10 @@ ELSE(WIN32)
|
||||
|
||||
# check for gdal version
|
||||
# version 1.2.5 is known NOT to be supported (missing CPL_STDCALL macro)
|
||||
# According to INSTALL, 1.4.0+ is required
|
||||
IF (GDAL_VERSION_MAJOR LESS 1 OR (GDAL_VERSION_MAJOR EQUAL 1 AND GDAL_VERSION_MINOR LESS 4))
|
||||
MESSAGE (FATAL_ERROR "GDAL version is too old (${GDAL_VERSION}). Use 1.4.0 or higher.")
|
||||
ENDIF (GDAL_VERSION_MAJOR LESS 1 OR (GDAL_VERSION_MAJOR EQUAL 1 AND GDAL_VERSION_MINOR LESS 4))
|
||||
|
||||
IF (GDAL_VERSION_MAJOR LESS 1 OR (GDAL_VERSION_MAJOR EQUAL 1 AND GDAL_VERSION_MINOR LESS 11))
|
||||
MESSAGE (WARNING "GDAL version is too old (${GDAL_VERSION}) to support GeoPackage. 1.11.0 or higher is recommended.")
|
||||
ENDIF (GDAL_VERSION_MAJOR LESS 1 OR (GDAL_VERSION_MAJOR EQUAL 1 AND GDAL_VERSION_MINOR LESS 11))
|
||||
# According to INSTALL, 2.0+ is required
|
||||
IF (GDAL_VERSION_MAJOR LESS 2)
|
||||
MESSAGE (FATAL_ERROR "GDAL version is too old (${GDAL_VERSION}). Use 2.0 or higher.")
|
||||
ENDIF (GDAL_VERSION_MAJOR LESS 2)
|
||||
|
||||
# set INCLUDE_DIR to prefix+include
|
||||
EXEC_PROGRAM(${GDAL_CONFIG}
|
||||
|
@ -167,7 +167,7 @@ IF (UNIX)
|
||||
IF (GRASS_FIND_VERSION EQUAL 6)
|
||||
LIST(APPEND GRASS_PATHS /usr/lib64/grass64 /usr/lib/grass64)
|
||||
ELSEIF (GRASS_FIND_VERSION EQUAL 7)
|
||||
LIST(APPEND GRASS_PATHS /usr/lib64/grass70 /usr/lib/grass70 /usr/lib64/grass71 /usr/lib/grass71)
|
||||
LIST(APPEND GRASS_PATHS /usr/lib64/grass70 /usr/lib/grass70 /usr/lib64/grass71 /usr/lib/grass71 /usr/lib64/grass72 /usr/lib/grass72)
|
||||
ENDIF ()
|
||||
ENDIF (UNIX)
|
||||
|
||||
@ -181,6 +181,7 @@ IF (APPLE)
|
||||
LIST(APPEND GRASS_PATHS
|
||||
/Applications/GRASS-7.0.app/Contents/MacOS
|
||||
/Applications/GRASS-7.1.app/Contents/MacOS
|
||||
/Applications/GRASS-7.2.app/Contents/MacOS
|
||||
)
|
||||
ENDIF ()
|
||||
LIST(APPEND GRASS_PATHS /Applications/GRASS.app/Contents/Resources)
|
||||
|
@ -92,7 +92,7 @@ function(FIND_QCATOOL TOOL_REQUIRED)
|
||||
$ENV{OSGEO4W_ROOT}/bin
|
||||
)
|
||||
else()
|
||||
find_program(QCATOOL_EXECUTABLE NAMES qcatool qcatool2)
|
||||
find_program(QCATOOL_EXECUTABLE NAMES qcatool qcatool2 qcatool-qt5)
|
||||
endif()
|
||||
|
||||
if(NOT QCATOOL_EXECUTABLE)
|
||||
|
@ -42,7 +42,7 @@ MACRO(ADD_TXT2TAGS_FILES _sources)
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${_out}
|
||||
COMMAND ${TXT2TAGS_EXECUTABLE}
|
||||
ARGS -o${_out} -t txt ${_in}
|
||||
ARGS --encoding=utf-8 -o${_out} -t txt ${_in}
|
||||
DEPENDS ${_in}
|
||||
COMMENT "Building ${_out} from ${_in}"
|
||||
)
|
||||
|
@ -1448,7 +1448,7 @@ DOT_NUM_THREADS = 0
|
||||
|
||||
# By default doxygen will write a font called FreeSans.ttf to the output
|
||||
# directory and reference it in all dot files that doxygen generates. This
|
||||
# font does not include all possible unicode characters however, so when you need
|
||||
# font does not include all possible Unicode characters however, so when you need
|
||||
# these (or just want a differently looking font) you can specify the font name
|
||||
# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
|
||||
# which can be done by putting it in a standard location or by setting the
|
||||
|
2
debian/qgis.install
vendored
@ -1,8 +1,6 @@
|
||||
usr/lib/qgis/plugins/libgeorefplugin.so
|
||||
usr/lib/qgis/plugins/libgpsimporterplugin.so
|
||||
usr/lib/qgis/plugins/libinterpolationplugin.so
|
||||
usr/lib/qgis/plugins/libcoordinatecaptureplugin.so
|
||||
usr/lib/qgis/plugins/liboracleplugin.so
|
||||
usr/lib/qgis/plugins/libevis.so
|
||||
usr/lib/qgis/plugins/libspatialqueryplugin.so
|
||||
usr/lib/qgis/plugins/libofflineeditingplugin.so
|
||||
|
@ -53,6 +53,7 @@ IF(WITH_APIDOC)
|
||||
${CMAKE_SOURCE_DIR}/src/core/diagram
|
||||
${CMAKE_SOURCE_DIR}/src/core/dxf
|
||||
${CMAKE_SOURCE_DIR}/src/core/effects
|
||||
${CMAKE_SOURCE_DIR}/src/core/fieldformatter
|
||||
${CMAKE_SOURCE_DIR}/src/core/geometry
|
||||
${CMAKE_SOURCE_DIR}/src/core/gps
|
||||
${CMAKE_SOURCE_DIR}/src/core/layertree
|
||||
|
@ -77,13 +77,13 @@ label{ background-color: #FFFFCC;
|
||||
<DIV CLASS="header" ID="header">
|
||||
<H1>QGIS</H1>
|
||||
<H2>Building QGIS from source - step by step</H2>
|
||||
<H3>Monday November 07, 2016</H3>
|
||||
<H3>Monday January 09, 2017</H3>
|
||||
</DIV>
|
||||
|
||||
<DIV CLASS="body" ID="body">
|
||||
<P>
|
||||
Last Updated: Monday November 07, 2016
|
||||
Last Change : Monday November 07, 2016
|
||||
Last Updated: Monday January 09, 2017
|
||||
Last Change : Monday January 09, 2017
|
||||
</P>
|
||||
<DIV CLASS="toc">
|
||||
|
||||
@ -186,7 +186,7 @@ source directory.
|
||||
<H1>2. Overview</H1>
|
||||
|
||||
<P>
|
||||
QGIS, like a number of major projects (eg. KDE 4.0), uses CMake
|
||||
QGIS, like a number of major projects (e.g., KDE 4.0), uses CMake
|
||||
(<A HREF="http://www.cmake.org">http://www.cmake.org</A>) for building from source.
|
||||
</P>
|
||||
<P>
|
||||
@ -207,14 +207,17 @@ Required build dependencies:
|
||||
</P>
|
||||
|
||||
<UL>
|
||||
<LI>Qt >= 4.8.0
|
||||
<LI>Qt >= 5.3.0
|
||||
<LI>Proj >= 4.4.x
|
||||
<LI>GEOS >= 3.4
|
||||
<LI>Sqlite3 >= 3.0.0
|
||||
<LI>GDAL/OGR >= 1.4.x
|
||||
<LI>SpatiaLite
|
||||
<LI>libspatialindex
|
||||
<LI>GDAL/OGR >= 2.0
|
||||
<LI>Qwt >= 5.0 & (< 6.1 with internal QwtPolar)
|
||||
<LI>expat >= 1.95
|
||||
<LI>QScintilla2
|
||||
<LI>QCA
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
@ -229,8 +232,8 @@ Optional dependencies:
|
||||
<LI>for georeferencer - GSL >= 1.8
|
||||
<LI>for postgis support and SPIT plugin - PostgreSQL >= 8.0.x
|
||||
<LI>for gps plugin - gpsbabel
|
||||
<LI>for mapserver export and PyQGIS - Python >= 2.3 (2.5+ preferred)
|
||||
<LI>for python support - SIP >= 4.12, PyQt >= 4.8.3 must match Qt version, Qscintilla2
|
||||
<LI>for mapserver export and PyQGIS - Python >= 3.3
|
||||
<LI>for python support - SIP >= 4.12, PyQt >= 5.3 must match Qt version, Qscintilla2
|
||||
<LI>for qgis mapserver - FastCGI
|
||||
<LI>for oracle provider - Oracle OCI library
|
||||
</UL>
|
||||
@ -239,7 +242,7 @@ Optional dependencies:
|
||||
Indirect dependencies:
|
||||
</P>
|
||||
<P>
|
||||
Some proprietary formats (eg. ECW and MrSid) supported by GDAL require
|
||||
Some proprietary formats (e.g., ECW and MrSid) supported by GDAL require
|
||||
proprietary third party libraries. QGIS doesn't need any of those itself to
|
||||
build, but will only support those formats if GDAL is built accordingly. Refer
|
||||
to <A HREF="http://gdal.org/formats_list.html">http://gdal.org/formats_list.html</A> ff. for instructions how to include
|
||||
@ -434,13 +437,29 @@ Now on with the build:
|
||||
</P>
|
||||
|
||||
<div class="code"><PRE>
|
||||
make
|
||||
make install
|
||||
make -jX
|
||||
</PRE></div>
|
||||
|
||||
<P>
|
||||
It may take a little while to build depending on your platform.
|
||||
where X is the number of available cores. Depending on your platform,
|
||||
this can speed up the build time considerably.
|
||||
</P>
|
||||
<P>
|
||||
Then you can directly run from the build directory:
|
||||
</P>
|
||||
|
||||
<div class="code"><PRE>
|
||||
./output/bin/qgis
|
||||
</PRE></div>
|
||||
|
||||
<P>
|
||||
Another option is to install to your system:
|
||||
</P>
|
||||
|
||||
<div class="code"><PRE>
|
||||
make install
|
||||
</PRE></div>
|
||||
|
||||
<P>
|
||||
After that you can try to run QGIS:
|
||||
</P>
|
||||
@ -451,7 +470,7 @@ $HOME/apps/bin/qgis
|
||||
|
||||
<P>
|
||||
If all has worked properly the QGIS application should start up and appear
|
||||
on your screen. If you get the error message "error while loading shared libraries",
|
||||
on your screen. If you get the error message "error while loading shared libraries",
|
||||
execute this command in your shell.
|
||||
</P>
|
||||
|
||||
@ -459,12 +478,47 @@ execute this command in your shell.
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HOME}/apps/lib/
|
||||
</PRE></div>
|
||||
|
||||
<P>
|
||||
Optionally, if you already know what aspects you want in your custom build
|
||||
then you can skip the interactive ccmake .. part by using the cmake -D
|
||||
option for each aspect, e.g.:
|
||||
</P>
|
||||
|
||||
<div class="code"><PRE>
|
||||
cmake -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX=${HOME}/apps ..
|
||||
</PRE></div>
|
||||
|
||||
<P>
|
||||
Also, if you want to speed your build times, you can easily do it with ninja,
|
||||
an alternative to make with similar build options.
|
||||
</P>
|
||||
<P>
|
||||
For example, to configure your build you can do either one of:
|
||||
</P>
|
||||
|
||||
<div class="code"><PRE>
|
||||
ccmake -G Ninja ..
|
||||
</PRE></div>
|
||||
|
||||
<div class="code"><PRE>
|
||||
cmake -G Ninja -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX=${HOME}/apps ..
|
||||
</PRE></div>
|
||||
|
||||
<P>
|
||||
Build and install with ninja:
|
||||
</P>
|
||||
|
||||
<div class="code"><PRE>
|
||||
ninja (uses all cores by default; also supports the above described -jX option)
|
||||
ninja install
|
||||
</PRE></div>
|
||||
|
||||
<A NAME="toc11"></A>
|
||||
<H2>3.8. Building Debian packages</H2>
|
||||
|
||||
<P>
|
||||
Instead of creating a personal installation as in the previous step you can
|
||||
also create debian package. This is done from the QGIS root directory, where
|
||||
also create debian package. This is done from the QGIS root directory, where
|
||||
you'll find a debian directory.
|
||||
</P>
|
||||
<P>
|
||||
@ -549,7 +603,7 @@ subdirectory called `build` or `build-qt5` in it.
|
||||
<H3>3.10.1. Install build dependencies</H3>
|
||||
|
||||
<div class="code"><PRE>
|
||||
apt-get install git build-essential cmake flex bison pyqt5-dev qttools5-dev qtpositioning5-dev libqt5svg5-dev libqt5webkit5-dev libqt5gui5 libqt5scripttools5 qtscript5-dev libqca-qt5-2-dev grass-dev libgeos-dev libgdal-dev libqt5xmlpatterns5-dev libqt5scintilla2-dev pyqt5.qsci-dev python3-pyqt5.qsci libgsl-dev txt2tags libproj-dev libqwt-qt5-dev libspatialindex-dev pyqt5-dev-tools qttools5-dev-tools qt5-default python3-future python3-pyqt5.qtsql python3-psycopg2
|
||||
apt-get install git build-essential cmake flex bison pyqt5-dev qttools5-dev qtpositioning5-dev libqt5svg5-dev libqt5webkit5-dev libqt5gui5 libqt5scripttools5 qtscript5-dev libqca-qt5-2-dev grass-dev libgeos-dev libgdal-dev libqt5xmlpatterns5-dev libqt5scintilla2-dev pyqt5.qsci-dev python3-pyqt5.qsci libgsl-dev txt2tags libproj-dev libqwt-qt5-dev libspatialindex-dev pyqt5-dev-tools qttools5-dev-tools qt5-default python3-future python3-pyqt5.qtsql python3-psycopg2 python3-sip-dev
|
||||
</PRE></div>
|
||||
|
||||
<P>
|
||||
|
@ -50,14 +50,8 @@ Building QGIS from source - step by step
|
||||
%apply vim formatting to the whole document as it screws up some formatting
|
||||
%rather apply it selectively to paragraphs where needed.
|
||||
|
||||
% To generate the text version of this document:
|
||||
% txt2tags -t txt -o INSTALL INSTALL.t2t
|
||||
% To generate the mediawiki version of this document:
|
||||
% txt2tags -t wiki --no-enum-title -o INSTALL.wiki INSTALL.t2t
|
||||
% To generate the html version of this document:
|
||||
% txt2tags -t html -o INSTALL.html INSTALL.t2t
|
||||
% To generate the LaTeX version of this document:
|
||||
% txt2tags -t tex -o INSTALL.tex INSTALL.t2t; pdflatex INSTALL.tex
|
||||
% To generate output fies from this document:
|
||||
% cmake --build $YOURBUILDDIR --target t2tdoc
|
||||
|
||||
% End of comments
|
||||
% -------------------
|
||||
|
@ -37,4 +37,5 @@
|
||||
<tr><td><img src="qrc:/images/flags/ar.png"></td><td>Arabic</td><td><div title="finished:9301 unfinished:130 untranslated:8807" class="bartodo"><div class="bardone" style="width:51px">51.4</div></div></td><td>Ichaouia Amine, Hosham Munier</td></tr>
|
||||
<tr><td><img src="qrc:/images/flags/lv.png"></td><td>Latvian</td><td><div title="finished:9178 unfinished:200 untranslated:8860" class="bartodo"><div class="bardone" style="width:50px">50.9</div></div></td><td>Maris Nartiss, Pēteris Brūns</td></tr>
|
||||
<tr><td><img src="qrc:/images/flags/sk.png"></td><td>Slovak</td><td><div title="finished:7770 unfinished:806 untranslated:9662" class="bartodo"><div class="bardone" style="width:44px">44.8</div></div></td><td>Lubos Balazovic, Jana Kormanikova, Ivan Mincik</td></tr>
|
||||
<tr><td><img src="qrc:/images/flags/hr.png"></td><td>Croatian</td><td><div title="finished:7298 unfinished:133 untranslated:10807" class="bartodo"><div class="bardone" style="width:40px">40.4</div></div></td><td>Zoran Jankovic</td></tr></table>
|
||||
<tr><td><img src="qrc:/images/flags/hr.png"></td><td>Croatian</td><td><div title="finished:7298 unfinished:133 untranslated:10807" class="bartodo"><div class="bardone" style="width:40px">40.4</div></div></td><td>Zoran Jankovic</td></tr>
|
||||
<tr><td><img src="qrc:/images/flags/eo.png"></td><td>Esperanto</td><td><div title="finished:6918 unfinished:0 untranslated:12120" class="bartodo"><div class="bardone" style="width:36px">36.3</div></div></td><td>Augustin Roche, Nikolay Korotkiy</td></tr></table>
|
||||
|
@ -115,6 +115,9 @@ Renamed Classes {#qgis_api_break_3_0_renamed_classes}
|
||||
<tr><td>QgsMultiLineStringV2<td>QgsMultiLineString
|
||||
<tr><td>QgsMultiSurfaceV2<td>QgsMultiSurface
|
||||
<tr><td>QgsPointSequenceV2<td>QgsPointSequence
|
||||
<tr><td>QgsProperty<td>QgsProjectProperty
|
||||
<tr><td>QgsPropertyKey<td>QgsProjectPropertyKey
|
||||
<tr><td>QgsPropertyValue<td>QgsProjectPropertyValue
|
||||
<tr><td>QgsRandomColorsV2<td>QgsRandomColorRamp
|
||||
<tr><td>QgsRendererCategoryV2<td>QgsRendererCategory
|
||||
<tr><td>QgsRendererRangeV2<td>QgsRendererRange
|
||||
@ -202,6 +205,7 @@ Renamed Classes {#qgis_api_break_3_0_renamed_classes}
|
||||
<tr><td>QgsApplication<td>userStyleV2Path<td>userStylePath
|
||||
<tr><td>QgsComposerShape<td>setUseSymbolV2<td>setUseSymbol
|
||||
<tr><td>QgsIFeatureSelectionManager<td>selectedFeaturesIds<td>selectedFeatureIds
|
||||
<tr><td>QgsMapLayer<td>capitaliseLayerName<td>capitalizeLayerName
|
||||
<tr><td>QgsSymbolLayerUtils<td>createSymbolLayerV2ListFromSld<td>createSymbolLayerListFromSld
|
||||
<tr><td>QgsVectorLayer<td>editorWidgetV2Config<td>editorWidgetConfig
|
||||
<tr><td>QgsVectorLayer<td>editorWidgetV2Text<td>editorWidgetText
|
||||
@ -258,6 +262,7 @@ should now call QgsCoordinateReferenceSystem::invalidateCache() and QgsCoordinat
|
||||
- QgsMapLayerRegistry. Its functionality has been moved to QgsProject.
|
||||
- QgsMapRenderer. It has been replaced by QgsMapRendererJob with subclasses and QgsMapSettings.
|
||||
- QgsPseudoColorShader. This shader has been broken for some time and was replaced by QgsSingleBandPseudoColorRenderer.
|
||||
- QgsProjectBadLayerGuiHandler was removed. It was unused in QGIS code and barely useful. Implement your own QgsProjectBadLayerHandler subclass if needed.
|
||||
- QgsRendererV2DataDefinedMenus was removed. Use QgsDataDefinedButton instead.
|
||||
- QgsLegacyHelpers.
|
||||
- QgsProviderCountCalcEvent and QgsProviderExtentCalcEvent. These classes were unused in QGIS core and unmaintained.
|
||||
@ -309,7 +314,7 @@ Data Providers {#qgis_api_break_3_0_DataProviders}
|
||||
Qgis {#qgis_api_break_3_0_Qgis}
|
||||
----
|
||||
|
||||
- The QGis class was renamed to Qgis for capitalisation consistency with other class names
|
||||
- The QGis class was renamed to Qgis for capitalization consistency with other class names
|
||||
- permissiveToDouble() and permissiveToInt() where moved out of the QGis class and renamed to qgsPermissiveToDouble() and
|
||||
qgsPermissiveToInt()
|
||||
- The constants DEFAULT_IDENTIFY_RADIUS and MINIMUM_POINT_SIZE were removed
|
||||
@ -475,6 +480,12 @@ QgsColorRampShader {#qgis_api_break_3_0_QgsColorRampShader}
|
||||
------------------
|
||||
|
||||
- maximumColorCacheSize() and setMaximumColorCacheSize() were no longer used and are removed.
|
||||
- ColorRamp_TYPE enum was renamed to Type, and its value names decapitalized
|
||||
|
||||
QgsColorSchemeRegistry {#qgis_api_break_3_0_QgsColorSchemeRegistry}
|
||||
----------------------
|
||||
|
||||
- This class is no longer a singleton and instance() has been removed. Instead use QgsApplication::colorSchemeRegistry() to access an application-wide registry.
|
||||
|
||||
|
||||
QgsComposerArrow {#qgis_api_break_3_0_QgsComposerArrow}
|
||||
@ -604,6 +615,7 @@ QgsComposerTableV2 {#qgis_api_break_3_0_QgsComposerTableV2}
|
||||
QgsComposition {#qgis_api_break_3_0_QgsComposition}
|
||||
--------------
|
||||
|
||||
- constructor requires QgsProject instance as the second argument
|
||||
- addItemsFromXML() has been renamed to addItemsFromXml()
|
||||
- Constructor with QgsMapRenderer parameter has been removed. Use the variant with QgsMapSettings parameter.
|
||||
- mapRenderer() has been removed. Use mapSettings() instead.
|
||||
@ -680,6 +692,13 @@ QgsCptCitySelectionItem {#qgis_api_break_3_0_QgsCptCitySelectionItem}
|
||||
|
||||
- parseXML() has been renamed to parseXml()
|
||||
|
||||
|
||||
QgsCustomLayerOrderWidget {#qgis_api_break_3_0_QgsCustomLayerOrderWidget}
|
||||
-------------------------
|
||||
|
||||
- the signature of the visibilityChanged() signal is changed to visibilityChanged( QgsLayerTreeNode *node )
|
||||
|
||||
|
||||
QgsCRSCache {#qgis_api_break_3_0_QgsCRSCache}
|
||||
-----------
|
||||
|
||||
@ -726,6 +745,12 @@ QgsDataItem {#qgis_api_break_3_0_QgsDataItem}
|
||||
- emitBeginInsertItems(), emitEndInsertItems(), emitBeginRemoveItems(), emitEndRemoveItems(), emitDataChanged(), emitStateChanged() have been removed.
|
||||
- Favourites was renamed to Favorites
|
||||
|
||||
QgsDataItemProviderRegistry {#qgis_api_break_3_0_QgsDataItemProviderRegistry}
|
||||
---------------------------
|
||||
|
||||
- This class is no longer a singleton and instance() has been removed. Instead use QgsApplication::dataItemProviderRegistry() to access an application-wide registry.
|
||||
|
||||
|
||||
QgsDataProvider {#qgis_api_break_3_0_QgsDataProvider}
|
||||
---------------
|
||||
|
||||
@ -756,11 +781,15 @@ Use renderDiagram( const QgsFeature& feature, QgsRenderContext& c, const QgsDiag
|
||||
- The deprecated diagramSize( const QgsAttributes& attributes, const QgsRenderContext& c, const QgsDiagramSettings& s, const QgsDiagramInterpolationSettings& is ) method has been removed.
|
||||
Use diagramSize( const QgsFeature& feature, const QgsRenderContext& c, const QgsDiagramSettings& s, const QgsDiagramInterpolationSettings& is ) instead.
|
||||
|
||||
QgsDiagramInterpolationSettings {#qgis_api_break_3_0_QgsDiagramInterpolationSettings}
|
||||
-------------------------------
|
||||
- The classificationAttribute member variable was removed, and has been replaced by the classificationField variable which stores the string name.
|
||||
|
||||
|
||||
QgsDiagramRenderer {#qgis_api_break_3_0_QgsDiagramRenderer}
|
||||
------------------
|
||||
|
||||
- xform, fields were no longer required and are removed.
|
||||
- referencedFields() no longer takes a QgsFields argument.
|
||||
|
||||
|
||||
QgsDiagramLayerSettings {#qgis_api_break_3_0_QgsDiagramLayerSettings}
|
||||
@ -771,7 +800,15 @@ be returned in place of a null pointer.
|
||||
- setCoordinateTransform() now takes a QgsCoordinateTransform object, not a pointer. Use an invalid QgsCoordinateTransform in
|
||||
place of a null pointer.
|
||||
- The ct member has been removed. Use coordinateTransform() and setCoordinateTransform() instead.
|
||||
|
||||
- The LinePlacementFlags enum was renamed to LinePlacementFlag
|
||||
- The placement member variable was removed, and getPlacement() was renamed to placement()
|
||||
- The placementFlags member variable was removed
|
||||
- The priority member variable was removed, and getPriority() was renamed to priority()
|
||||
- The zIndex member variable was removed, and getZIndex() was renamed to zIndex()
|
||||
- The obstacle member variable was removed. setIsObstacle() and isObstacle() should be used instead.
|
||||
- The dist member variable was removed. setDistance() and distance() should be used instead.
|
||||
- The renderer member variable was removed, and getRenderer() was renamed to renderer()
|
||||
- The showAll member variable was removed. setShowAllDiagrams() and showAllDiagrams() should be used instead.
|
||||
|
||||
QgsDiagramSettings {#qgis_api_break_3_0_QgsDiagramSettings}
|
||||
------------------
|
||||
@ -851,6 +888,12 @@ QgsExpression::Function {#qgis_api_break_3_0_QgsExpression_Function}
|
||||
- `QgsExpression::Function::helptext()` has been renamed to `helpText()`
|
||||
|
||||
|
||||
QgsExpressionContextUtils {#qgis_api_break_3_0_QgsExpressionContextUtils}
|
||||
-------------------------
|
||||
|
||||
- projectScope(), setProjectVariable() and setProjectVariables() require pointer to QgsProject as the first argument.
|
||||
|
||||
|
||||
QgsFeature {#qgis_api_break_3_0_QgsFeature}
|
||||
----------
|
||||
|
||||
@ -923,6 +966,7 @@ method to determine if a geometry is valid.
|
||||
- static bool compare( const QgsPolygon& p1, const QgsPolygon& p2, double epsilon ) has been renamed to comparePolygons
|
||||
- static bool compare( const QgsMultiPolygon& p1, const QgsMultiPolygon& p2, double epsilon ) has been renamed to compareMultiPolygons
|
||||
- smoothLine and smoothPolygon are no longer public API (use smooth() instead)
|
||||
- avoidIntersections() got an extra argument: list of layers to include in the operation (previously read from active QgsProject)
|
||||
|
||||
|
||||
QgsGeometryAnalyzer {#qgis_api_break_3_0_QgsGeometryAnalyzer}
|
||||
@ -985,6 +1029,11 @@ QgsEditorWidgetFactory {#qgis_api_break_3_0_QgsEditorWidgetFactory}
|
||||
- `alignmentFlag` has been removed. Use QgsFieldFormatter::representValue() instead
|
||||
- `createCache` has been removed. Use QgsFieldFormatter::representValue() instead
|
||||
|
||||
QgsGPSConnectionRegistry {#qgis_api_break_3_0_QgsGPSConnectionRegistry}
|
||||
------------------------
|
||||
|
||||
- This class is no longer a singleton and instance() has been removed. Instead use QgsApplication::gpsConnectionRegistry() to access an application-wide registry.
|
||||
|
||||
|
||||
QgsGraduatedRenderer {#qgis_api_break_3_0_QgsGraduatedRenderer}
|
||||
--------------------
|
||||
@ -1041,12 +1090,16 @@ QgsLayerTreeGroup {#qgis_api_break_3_0_QgsLayerTreeGroup}
|
||||
-----------------
|
||||
|
||||
- readChildrenFromXML() has been renamed to readChildrenFromXml()
|
||||
|
||||
- isVisible() is moved to QgsLayerTreeNode
|
||||
- setVisible() is replaced by QgsLayerTreeNode::setItemVisibilityChecked()
|
||||
- protected methods updateVisibilityFromChildren() and updateChildVisibility() removed
|
||||
|
||||
QgsLayerTreeLayer {#qgis_api_break_3_0_QgsLayerTreeLayer}
|
||||
-----------------
|
||||
|
||||
- setLayerName(), layerName() were renamed to setName(), name()
|
||||
- isVisible() is moved to QgsLayerTreeNode
|
||||
- setVisible() is replaced by QgsLayerTreeNode::setItemVisibilityChecked()
|
||||
|
||||
|
||||
QgsLayerTreeModel {#qgis_api_break_3_0_QgsLayerTreeMode}
|
||||
@ -1072,7 +1125,7 @@ QgsLayerTreeNode {#qgis_api_break_3_0_QgsLayerTreeNode}
|
||||
|
||||
- readCommonXML() has been renamed to readCommonXml()
|
||||
- writeCommonXML() has been renamed to writeCommonXml()
|
||||
|
||||
- the signature of the visibilityChanged() signal is changed to visibilityChanged( QgsLayerTreeNode *node )
|
||||
|
||||
QgsLimitedRandomColorRampDialog {#qgis_api_break_3_0_QgsLimitedRandomRampDialog}
|
||||
-------------------------------
|
||||
@ -1082,6 +1135,13 @@ and the new ramp can be retrieved after executing the dialog by calling ramp().
|
||||
- Some internal methods which were previously public or protected were made private.
|
||||
|
||||
|
||||
QgsLinearlyInterpolatedDiagramRenderer {#qgis_api_break_3_0_QgsLinearlyInterpolatedDiagramRenderer}
|
||||
--------------------------------------
|
||||
|
||||
- The classificationAttribute() and setClassificationAttribute() methods were replace by
|
||||
classificationField() and setClassificationField() which use the field names instead of field
|
||||
indexes.
|
||||
|
||||
QgsMapCanvas {#qgis_api_break_3_0_QgsMapCanvas}
|
||||
------------
|
||||
|
||||
@ -1129,6 +1189,7 @@ screenUpdateRequested() were removed. These members have had no effect for a num
|
||||
- drawLabels() method was removed. It used old deprecated labeling. Replaced by labeling based on PAL library, see QgsLabelingEngine.
|
||||
- readLayerXML() was renamed to readLayerXml()
|
||||
- writeLayerXML() was renamed to writeLayerXml()
|
||||
- capitaliseLayerName() was renamed to capitalizeLayerName()
|
||||
|
||||
|
||||
QgsMapLayerRegistry {#qgis_api_break_3_0_QgsMapLayerRegistry}
|
||||
@ -1207,6 +1268,12 @@ QgsMarkerSymbolLayer {#qgis_api_break_3_0_QgsMarkerSymbolLayer}
|
||||
- bounds() is now pure virtual and must be implemented in all subclasses.
|
||||
|
||||
|
||||
QgsMessageLog {#qgis_api_break_3_0_QgsMessageLog}
|
||||
---------------------------
|
||||
|
||||
- This class is no longer a singleton and instance() has been removed. Instead use QgsApplication::messageLog() to access an application-wide log.
|
||||
|
||||
|
||||
QgsMimeDataUtils {#qgis_api_break_3_0_QgsMimeDataUtils}
|
||||
----------------
|
||||
|
||||
@ -1257,6 +1324,11 @@ QgsNumericSortTreeWidgetItem {#qgis_api_break_3_0_QgsNumericSortTreeWidge
|
||||
has improved sort capabilities including the ability to set custom sort values for items
|
||||
and for forcing certain items to always sort on top.
|
||||
|
||||
QgsPaintEffectRegistry {#qgis_api_break_3_0_QgsPaintEffectRegistry}
|
||||
----------------------
|
||||
|
||||
- This class is no longer a singleton and instance() has been removed. Instead use QgsApplication::paintEffectRegistry() to access an application-wide registry.
|
||||
|
||||
|
||||
QgsPalettedRasterRenderer {#qgis_api_break_3_0_QgsPalettedRasterRenderer}
|
||||
-------------------------
|
||||
@ -1299,6 +1371,12 @@ QgsPluginLayer {#qgis_api_break_3_0_QgsPluginLayer}
|
||||
- createMapRenderer(): default implementation (which called plugin's draw() method) has been removed. Plugin layers must implement createMapRenderer().
|
||||
|
||||
|
||||
QgsPluginLayerRegistry {#qgis_api_break_3_0_QgsPluginLayerRegistry}
|
||||
----------------------
|
||||
|
||||
- This class is no longer a singleton and instance() has been removed. Instead use QgsApplication::pluginLayerRegistry() to access an application-wide registry.
|
||||
|
||||
|
||||
QgsPointDisplacementRenderer {#qgis_api_break_3_0_QgsPointDisplacementRenderer}
|
||||
----------------------------
|
||||
|
||||
@ -1323,8 +1401,16 @@ QgsProject {#qgis_api_break_3_0_QgsProject}
|
||||
- title( const QString & title ) was removed. Use setTitle() instead.
|
||||
- dirty( bool b ) was removed. Use setDirty() instead.
|
||||
- clearProperties() was removed. Use clear() instead.
|
||||
- read( QDomNode& layerNode ) was renamed to readLayer( const QDomNode& layerNode ).
|
||||
- read( const QFileInfo& file ) was replaced by read( const QString& filename ).
|
||||
- write( const QFileInfo& file ) was replaced by write( const QString& filename ).
|
||||
|
||||
|
||||
QgsProjectPropertyValue {#qgis_api_break_3_0_QgsProjectPropertyValue}
|
||||
-----------------------
|
||||
|
||||
- The unused count() and entryList() methods were removed.
|
||||
|
||||
QgsRaster {#qgis_api_break_3_0_QgsRaster}
|
||||
---------
|
||||
|
||||
@ -1404,6 +1490,12 @@ be returned instead of a null pointer if no transformation is required.
|
||||
- setCoordinateTransform() now takes a QgsCoordinateTransform reference, not a pointer. An invalid QgsCoordinateTransform should be used instead of a null pointer if no transformation is required.
|
||||
|
||||
|
||||
QgsRendererRegistry {#qgis_api_break_3_0_QgsRendererRegistry}
|
||||
----------------------
|
||||
|
||||
- This class is no longer a singleton and instance() has been removed. Instead use QgsApplication::rendererRegistry() to access an application-wide registry.
|
||||
|
||||
|
||||
QgsRendererWidget {#qgis_api_break_3_0_QgsRendererWidget}
|
||||
-----------------
|
||||
|
||||
@ -1465,6 +1557,7 @@ QgsSingleSymbolRendererWidget {#qgis_api_break_3_0_QgsSingleSymbolRendere
|
||||
-----------------------------
|
||||
|
||||
- sizeScaleFieldChanged() and scaleMethodChanged() were removed. These settings are no longer exposed in the widget's GUI.
|
||||
- The Mode enum was removed.
|
||||
|
||||
|
||||
QgsSnapper {#qgis_api_break_3_0_QgsSnapper}
|
||||
@ -1484,6 +1577,7 @@ QgsSublayersDialog {#qgis_api_break_3_0_QgsSublayersDialog}
|
||||
QgsSvgCache {#qgis_api_break_3_0_QgsSvgCache}
|
||||
-----------
|
||||
|
||||
- This class is no longer a singleton and instance() has been removed. Instead use QgsApplication::svgCache() to access an application-wide cache.
|
||||
- containsParamsV2() was removed. Use containsParamsV3() instead.
|
||||
|
||||
QgsStyle (renamed from QgsStyleV2) {#qgis_api_break_3_0_QgsStyle}
|
||||
@ -1517,6 +1611,11 @@ the variant which takes QgsSymbolRenderContext instead.
|
||||
- evaluateDataDefinedProperty( const QString& property, const QgsFeature* feature ) was removed. Use the variant which takes QgsSymbolRenderContext instead.
|
||||
- expression() was removed. Use getDataDefinedProperty or evaluateDataDefinedProperty instead.
|
||||
|
||||
QgsSymbolLayerRegistry {#qgis_api_break_3_0_QgsSymbolLayerRegistry}
|
||||
----------------------
|
||||
|
||||
- This class is no longer a singleton and instance() has been removed. Instead use QgsApplication::symbolLayerRegistry() to access an application-wide registry.
|
||||
|
||||
|
||||
QgsSymbolLayerWidget {#qgis_api_break_3_0_QgsSymbolLayerWidget}
|
||||
--------------------
|
||||
|
@ -177,6 +177,12 @@ div.header {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
#main-nav {
|
||||
width: 80%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
div.qindex, div.navpath {
|
||||
width: 80%;
|
||||
margin-left: auto;
|
||||
|
21
doc/build.sh
@ -1,21 +0,0 @@
|
||||
#!/bin/bash
|
||||
###########################################################################
|
||||
# build.sh
|
||||
# ---------------------
|
||||
# Date : November 2010
|
||||
# Copyright : (C) 2010 by Tim Sutton
|
||||
# Email : tim at kartoza dot com
|
||||
###########################################################################
|
||||
# #
|
||||
# This program is free software; you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
# the Free Software Foundation; either version 2 of the License, or #
|
||||
# (at your option) any later version. #
|
||||
# #
|
||||
###########################################################################
|
||||
|
||||
txt2tags -o ../INSTALL -t txt INSTALL.t2t
|
||||
txt2tags -o INSTALL.html -t html INSTALL.t2t
|
||||
txt2tags -o INSTALL.tex -t tex INSTALL.t2t
|
||||
pdflatex INSTALL.tex
|
||||
mv INSTALL.pdf ..
|
@ -135,8 +135,8 @@ Now on with the build:
|
||||
make -jX
|
||||
```
|
||||
|
||||
where X is the number of available cores. Without the -j option
|
||||
it may take a little while to build depending on your platform.
|
||||
where X is the number of available cores. Depending on your platform,
|
||||
this can speed up the build time considerably.
|
||||
|
||||
Then you can directly run from the build directory:
|
||||
|
||||
@ -164,6 +164,33 @@ execute this command in your shell.
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HOME}/apps/lib/
|
||||
```
|
||||
|
||||
Optionally, if you already know what aspects you want in your custom build
|
||||
then you can skip the interactive ccmake .. part by using the cmake -D
|
||||
option for each aspect, e.g.:
|
||||
|
||||
```
|
||||
cmake -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX=${HOME}/apps ..
|
||||
```
|
||||
|
||||
Also, if you want to speed your build times, you can easily do it with ninja,
|
||||
an alternative to make with similar build options.
|
||||
|
||||
For example, to configure your build you can do either one of:
|
||||
|
||||
```
|
||||
ccmake -G Ninja ..
|
||||
```
|
||||
|
||||
```
|
||||
cmake -G Ninja -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX=${HOME}/apps ..
|
||||
```
|
||||
|
||||
Build and install with ninja:
|
||||
|
||||
```
|
||||
ninja (uses all cores by default; also supports the above described -jX option)
|
||||
ninja install
|
||||
```
|
||||
|
||||
== Building Debian packages ==
|
||||
|
||||
|
@ -174,7 +174,7 @@ This release has following new features:
|
||||
<LI>Map Composer: Parameterized svg support for composer svg images
|
||||
<LI>Map Composer: Easier use of HTML in labels
|
||||
<LI>Map Composer: Relative links in composer labels
|
||||
<LI>Map Composer: Georeference outputs (eg PDF) from composer
|
||||
<LI>Map Composer: Georeference outputs (e.g., PDF) from composer
|
||||
<LI>Map Composer: Composer maps now auto-update with presets
|
||||
<LI>Analysis tools: Named parameters in expressions
|
||||
<LI>Analysis tools: More distance units
|
||||
@ -935,7 +935,7 @@ changed so we will just provide a bullet list of key new features here.
|
||||
<UL>
|
||||
<LI>Optionally re-use entered attribute values for next digitized feature.
|
||||
<LI>Allow merging/assigning attribute values to a set of features.-
|
||||
<LI>Allow OGR 'save as' without attributes (for eg. DGN/DXF).
|
||||
<LI>Allow OGR 'save as' without attributes (e.g., DGN/DXF).
|
||||
</UL>
|
||||
</UL>
|
||||
|
||||
|
@ -795,7 +795,7 @@ changed so we will just provide a bullet list of key new features here.
|
||||
|
||||
- Optionally re-use entered attribute values for next digitized feature.
|
||||
- Allow merging/assigning attribute values to a set of features.-
|
||||
- Allow OGR 'save as' without attributes (for eg. DGN/DXF).
|
||||
- Allow OGR 'save as' without attributes (e.g., DGN/DXF).
|
||||
-
|
||||
-
|
||||
|
||||
@ -1023,7 +1023,7 @@ release series. In all other cases we recommend that you use this version.
|
||||
|
||||
|
||||
This release includes around 200 bug fixes, nearly 30 new features and has had
|
||||
a lot of love and attention poured in to it to take our favourite desktop GIS
|
||||
a lot of love and attention poured in to it to take our favorite desktop GIS
|
||||
application another step on the road to GIS nirvana! So much has happened in
|
||||
the 3 months since our last release that it is impossible to document
|
||||
everything here. Instead we will just highlight a couple of important new
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
= Overview =
|
||||
|
||||
QGIS, like a number of major projects (eg. KDE 4.0), uses CMake
|
||||
QGIS, like a number of major projects (e.g., KDE 4.0), uses CMake
|
||||
(http://www.cmake.org) for building from source.
|
||||
|
||||
Following a summary of the required dependencies for building:
|
||||
@ -15,14 +15,17 @@ Required build tools:
|
||||
|
||||
Required build dependencies:
|
||||
|
||||
- Qt >= 4.8.0
|
||||
- Qt >= 5.3.0
|
||||
- Proj >= 4.4.x
|
||||
- GEOS >= 3.4
|
||||
- Sqlite3 >= 3.0.0
|
||||
- GDAL/OGR >= 1.4.x
|
||||
- SpatiaLite
|
||||
- libspatialindex
|
||||
- GDAL/OGR >= 2.0
|
||||
- Qwt >= 5.0 & (< 6.1 with internal QwtPolar)
|
||||
- expat >= 1.95
|
||||
- QScintilla2
|
||||
- QCA
|
||||
-
|
||||
|
||||
Optional dependencies:
|
||||
@ -34,15 +37,15 @@ Optional dependencies:
|
||||
- for georeferencer - GSL >= 1.8
|
||||
- for postgis support and SPIT plugin - PostgreSQL >= 8.0.x
|
||||
- for gps plugin - gpsbabel
|
||||
- for mapserver export and PyQGIS - Python >= 2.3 (2.5+ preferred)
|
||||
- for python support - SIP >= 4.12, PyQt >= 4.8.3 must match Qt version, Qscintilla2
|
||||
- for mapserver export and PyQGIS - Python >= 3.3
|
||||
- for python support - SIP >= 4.12, PyQt >= 5.3 must match Qt version, Qscintilla2
|
||||
- for qgis mapserver - FastCGI
|
||||
- for oracle provider - Oracle OCI library
|
||||
-
|
||||
|
||||
Indirect dependencies:
|
||||
|
||||
Some proprietary formats (eg. ECW and MrSid) supported by GDAL require
|
||||
Some proprietary formats (e.g., ECW and MrSid) supported by GDAL require
|
||||
proprietary third party libraries. QGIS doesn't need any of those itself to
|
||||
build, but will only support those formats if GDAL is built accordingly. Refer
|
||||
to http://gdal.org/formats_list.html ff. for instructions how to include
|
||||
|
BIN
images/flags/eo.png
Normal file
After Width: | Height: | Size: 269 B |
@ -8,6 +8,7 @@
|
||||
<file>flags/de.png</file>
|
||||
<file>flags/en_GB.png</file>
|
||||
<file>flags/en_US.png</file>
|
||||
<file>flags/eo.png</file>
|
||||
<file>flags/es.png</file>
|
||||
<file>flags/fa.png</file>
|
||||
<file>flags/fi.png</file>
|
||||
@ -109,6 +110,7 @@
|
||||
<file>themes/default/mActionEditNodesItem.svg</file>
|
||||
<file>themes/default/mActionEditHelpContent.svg</file>
|
||||
<file>themes/default/mActionIncreaseFont.svg</file>
|
||||
<file>themes/default/mActionInterfaceCustomization.svg</file>
|
||||
<file>themes/default/mActionDecreaseFont.svg</file>
|
||||
<file>themes/default/mActionAddNodesItem.svg</file>
|
||||
<file>themes/default/mActionAddPolygon.svg</file>
|
||||
@ -210,9 +212,9 @@
|
||||
<file>themes/default/mActionIncreaseContrast.svg</file>
|
||||
<file>themes/default/mActionInOverview.svg</file>
|
||||
<file>themes/default/mActionInvertSelection.svg</file>
|
||||
<file>themes/default/mActionKeyboardShortcuts.svg</file>
|
||||
<file>themes/default/mActionLabel.svg</file>
|
||||
<file>themes/default/mActionLabeling.svg</file>
|
||||
<file>themes/default/mActionDiagramProperties.svg</file>
|
||||
<file>themes/default/mActionLocalCumulativeCutStretch.svg</file>
|
||||
<file>themes/default/mActionLocalHistogramStretch.svg</file>
|
||||
<file>themes/default/mActionLowerItems.svg</file>
|
||||
@ -343,7 +345,6 @@
|
||||
<file>themes/default/mIconExpand.png</file>
|
||||
<file>themes/default/mIconExpandSmall.svg</file>
|
||||
<file>themes/default/mIconExpression.svg</file>
|
||||
<file>themes/default/mIconExpressionEditorOpen.svg</file>
|
||||
<file>themes/default/mIconExpressionFilter.svg</file>
|
||||
<file>themes/default/mIconExpressionPreview.svg</file>
|
||||
<file>themes/default/mIconExpressionSelect.svg</file>
|
||||
|
Before Width: | Height: | Size: 405 KiB After Width: | Height: | Size: 463 KiB |
@ -1,7 +0,0 @@
|
||||
<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg">
|
||||
<g stroke-linecap="round" stroke-linejoin="round" stroke-width=".75" transform="translate(0 -16)">
|
||||
<path d="m8 16.5c-1.7024958 0-3.2724385.575419-4.53125 1.53125l4.53125 4.53125 4.53125-4.53125c-1.258812-.955831-2.828754-1.53125-4.53125-1.53125z" fill="#ef2929" overflow="visible" stroke="#a40000"/>
|
||||
<path d="m2.03125 19.46875c-.9558315 1.258811-1.53125 2.828754-1.53125 4.53125 0 3.804875 2.8281132 6.950887 6.5 7.4375l0-7-4.96875-4.96875z" fill="#8ae234" overflow="visible" stroke="#4e9a06"/>
|
||||
<path d="m13.96875 19.46875l-4.75 4.75a1.016466 1.016466 0 0 1 -.21875.15625l0 7.0625c3.671887-.486613 6.5-3.632625 6.5-7.4375 0-1.702496-.575419-3.272439-1.53125-4.53125z" fill="#fce94f" overflow="visible" stroke="#c4a000"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 797 B |
1
images/themes/default/mActionInterfaceCustomization.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="24" viewBox="0 0 24 24" width="24"><defs><linearGradient id="b"><stop offset="0" stop-color="#888a85"/><stop offset="1" stop-color="#888a85" stop-opacity="0"/></linearGradient><linearGradient id="a"><stop offset="0" stop-color="#eeeeec"/><stop offset="1" stop-color="#eeeeec" stop-opacity="0"/></linearGradient><linearGradient xlink:href="#a" id="d" x1="17.474" y1="10.948" x2="22.004" y2="10.948" gradientUnits="userSpaceOnUse"/><linearGradient xlink:href="#b" id="c" x1="14.31" y1="5.519" x2="21.788" y2="5.519" gradientUnits="userSpaceOnUse"/></defs><path d="M2 5v13h20v-1H3V6h19V5H2z" fill="url(#c)"/><path fill="url(#d)" d="M3 6h19v11H3z"/><path fill="#fff" stroke="#c6c6c7" d="M5.5 8.5h3v6h-3z"/><path fill="#fcd94f" stroke="#d7b942" d="M10.5 8.5h3v6h-3z"/><path fill="#6c96c2" stroke="#5d7691" d="M15.5 8.5h3v6h-3z"/></svg>
|
After Width: | Height: | Size: 921 B |
1
images/themes/default/mActionKeyboardShortcuts.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#eeeeec" stroke="#888a85" stroke-linecap="round" d="M7.5 1.5h9v9h-9zM1.5 13.5h9v9h-9zM13.5 13.5h9v9h-9z"/><path d="M8.513 10L8.5 2.5l7.5.02" fill="none" stroke="#fff" stroke-linecap="square"/><path fill="none" stroke="#888a85" stroke-linecap="round" d="M7.5 1.5h9v9h-9z"/><path d="M2.513 22L2.5 14.5c0-.287-.28 0 0 0l7.5.02" fill="none" stroke="#fff" stroke-linecap="square" stroke-linejoin="round"/><path fill="none" stroke="#888a85" stroke-linecap="round" d="M1.5 13.5h9v9h-9z"/><path d="M14.513 22l-.013-7.5c0-.287-.28 0 0 0l7.5.02" fill="none" stroke="#fff" stroke-linecap="square" stroke-linejoin="round"/><path fill="none" stroke="#888a85" stroke-linecap="round" d="M13.5 13.5h9v9h-9z"/></svg>
|
After Width: | Height: | Size: 774 B |
@ -1,24 +1 @@
|
||||
<svg height="24" width="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<linearGradient id="a" gradientTransform="matrix(-.10786508 .87849049 .87408031 .10732357 -1.811623 758.65836)" gradientUnits="userSpaceOnUse" x1="304.76001" x2="335.29999" y1="64.294998" y2="81.926003">
|
||||
<stop offset="0" stop-color="#d3d7cf"/>
|
||||
<stop offset=".18304" stop-color="#babdb6"/>
|
||||
<stop offset=".31893" stop-color="#fff"/>
|
||||
<stop offset=".87644" stop-color="#babdb6"/>
|
||||
<stop offset="1" stop-color="#eeeeec"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="b" gradientTransform="matrix(-.34112292 .26690344 .34708506 .44633485 7.3860378 1027.6433)" gradientUnits="userSpaceOnUse" x1="-6.3077998" x2="-9.7747002" y1="44.229" y2="44.139999">
|
||||
<stop offset="0"/>
|
||||
<stop offset="1" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="c" gradientTransform="matrix(-.67481701 .52736572 .29432462 .37835898 77.717559 981.12162)" gradientUnits="userSpaceOnUse" x1="97.442001" x2="90.221001" y1="35.152" y2="35.078999">
|
||||
<stop offset="0" stop-color="#f8e27e"/>
|
||||
<stop offset="1" stop-color="#e3d189"/>
|
||||
</linearGradient>
|
||||
<g transform="matrix(.95173995 -.16781744 .16781744 .95173995 -182.66392 -973.84964)">
|
||||
<path d="m10.457382 1032.309c-.0557-.8562.634116-.2492.875491 0 1.024776.7434 2.030407 1.5156 3.067343 2.2407.725037.2552 1.421475-.3125 1.904389-.793.69153-.772 1.365424-1.7692 1.239142-2.855-.0999-.5511-.678194-.7556-1.060023-1.087-.948649-.7006-1.905189-1.3938-2.848652-2.099.0499-.5363.921102-.4312 1.352206-.4538 1.799481.032 3.760889.6193 4.847708 2.1483.893786 1.2432 1.095967 2.9098.645088 4.3593.248756 1.355.749129 2.6839 1.605411 3.7751-1.055028.7755-2.110005 1.5509-3.165032 2.3264-.74403-.9699-1.666431-1.8128-2.743678-2.3982-1.597268.2334-3.230567-.5195-4.193648-1.7921-.762442-.9748-1.327479-2.1438-1.525916-3.3671z" style="fill-rule:evenodd;stroke:#1f1b1e;stroke-width:1.0266068;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:.3612;fill:url(#a)"/>
|
||||
<path d="m20.569654 1038.9536c-.377958.2957-.449831.8327-.161152 1.2039l5.276506 7.7275c.288677.3713 1.28112.076 1.659095-.2199.377957-.2957.905829-1.1891.617119-1.5603l-6.181727-7.0148c-.288677-.3712-.825389-.432-1.203364-.1363z" fill="url(#b)" opacity=".23106001"/>
|
||||
<path d="m10.776308 1032.3503c.0041.017.02652.01.02736 0l3.280939 2.4093c.441955.3249 1.026164.2014 1.532663-.063.511499-.2667 1.030216-.7135 1.465827-1.3248.436534-.6127.691989-1.2801.782256-1.8547.09008-.5733-.0071-1.1337-.432392-1.4464l-3.308254-2.4126c-.000327-.012.0053-.029.0034-.028-.02145.016.01356.01.02736 0 1.60773-.1726 3.391001.2382 4.500933 1.0542 1.518297 1.1161 2.06238 3.1241 1.496172 4.9767-.567334 1.8439-2.398541 3.2549-4.002325 3.466-1.037771.1302-2.105965-.1107-2.984774-.7566-1.106711-.8138-2.046256-2.4203-2.389076-4.0275h-.000093z" fill="#f0f3f2" fill-rule="evenodd"/>
|
||||
<path d="m21.969626 1036.9102l9.581585 11.1009c.570734.7337-.03271 2.1379-1.34119 3.1605-1.308483 1.0226-2.814237 1.2668-3.384954.5331l-8.399386-12.0247 3.546142-2.7701zm6.345662 11.8213c-.650481.5084-.785855 1.4312-.461469 1.8482.324412.4169 1.282238.4855 1.932707-.023.650479-.5084.754739-1.407.430357-1.8239-.324413-.417-1.251126-.5098-1.901595 0z" style="stroke:#1d1b21;stroke-width:.86699998;stroke-linecap:round;stroke-linejoin:round;stroke-dashoffset:.7;fill:url(#c)"/>
|
||||
<path d="m-679.10767 874.67072h3.5710487v.5771094h-3.5710487z" fill="#fff" fill-opacity=".57758622" stroke="#1f1b1e" stroke-width="1.28935945" transform="matrix(.82455744 -.56577825 .66205623 .74945417 0 0)"/>
|
||||
</g>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><linearGradient id="a" gradientTransform="matrix(-.10787 .8785 .87408 .10732 -1.812 758.658)" gradientUnits="userSpaceOnUse" x1="304.76" x2="335.3" y1="64.295" y2="81.926"><stop offset="0" stop-color="#d3d7cf"/><stop offset=".183" stop-color="#babdb6"/><stop offset=".319" stop-color="#fff"/><stop offset=".876" stop-color="#babdb6"/><stop offset="1" stop-color="#eeeeec"/></linearGradient><linearGradient id="b" gradientTransform="matrix(-.34112 .2669 .3471 .44633 7.386 1027.643)" gradientUnits="userSpaceOnUse" x1="-6.308" x2="-9.775" y1="44.229" y2="44.14"><stop offset="0"/><stop offset="1" stop-opacity="0"/></linearGradient><linearGradient id="c" gradientTransform="matrix(-.67482 .52737 .29432 .37836 77.718 981.122)" gradientUnits="userSpaceOnUse" x1="97.442" x2="90.221" y1="35.152" y2="35.079"><stop offset="0" stop-color="#f8e27e"/><stop offset="1" stop-color="#e3d189"/></linearGradient><path d="M10.457 1032.31c-.055-.857.634-.25.876 0 1.025.742 2.03 1.515 3.067 2.24.725.255 1.422-.313 1.905-.793.69-.772 1.365-1.77 1.24-2.855-.1-.55-.68-.756-1.06-1.087-.95-.7-1.906-1.394-2.85-2.1.05-.536.92-.43 1.352-.453 1.8.032 3.76.62 4.848 2.148.894 1.243 1.096 2.91.645 4.36.25 1.355.75 2.683 1.605 3.775l-3.165 2.326c-.744-.97-1.666-1.812-2.743-2.397-1.597.233-3.23-.52-4.194-1.792-.762-.974-1.327-2.143-1.526-3.366z" fill-rule="evenodd" stroke="#404040" stroke-width="1.027" stroke-linecap="round" stroke-linejoin="round" stroke-dashoffset=".361" fill="url(#a)" transform="rotate(-10 -5656.895 557.073) scale(.96642)"/><path d="M20.57 1038.954c-.378.295-.45.832-.16 1.204l5.275 7.727c.29.37 1.28.076 1.66-.22.377-.296.905-1.19.616-1.56l-6.18-7.015c-.29-.37-.826-.432-1.204-.136z" fill="url(#b)" opacity=".231" transform="rotate(-10 -5656.895 557.073) scale(.96642)"/><path d="M.827 6.872c.006.016.026.005.026-.004L4.38 8.61c.475.235 1.01.02 1.448-.317.442-.34.86-.852 1.172-1.507.313-.656.444-1.334.434-1.897-.01-.56-.197-1.078-.655-1.305l-3.554-1.74c-.002-.012 0-.03-.002-.028-.017.02.015.008.027-.004 1.502-.434 3.268-.343 4.46.248C9.344 2.87 10.2 4.69 9.97 6.547c-.23 1.85-1.736 3.5-3.227 3.97-.966.3-2.023.25-2.968-.22-1.19-.588-2.354-1.96-2.95-3.43z" fill="#f0f3f2" fill-rule="evenodd"/><path d="M21.97 1036.91l9.58 11.1c.572.735-.03 2.14-1.34 3.162-1.308 1.022-2.814 1.266-3.385.533l-8.4-12.025 3.547-2.77zm6.345 11.82c-.65.51-.786 1.433-.46 1.85.323.417 1.28.485 1.932-.023.65-.51.754-1.407.43-1.824-.325-.417-1.25-.51-1.902 0z" stroke="#404040" stroke-width=".867" stroke-linecap="round" stroke-linejoin="round" stroke-dashoffset=".7" fill="url(#c)" transform="rotate(-10 -5656.895 557.073) scale(.96642)"/><path d="M-679.108 874.67h3.57v.578h-3.57z" fill="#fff" fill-opacity=".578" stroke="#404040" stroke-width="1.289" transform="matrix(.68982 -.67685 .75588 .60218 -182.664 -973.85)"/></svg>
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 2.8 KiB |
@ -1,9 +0,0 @@
|
||||
<svg enable-background="new 4 8 24 16" height="16" viewBox="4 8 24 16" width="24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m9.393 15.346c-1.628-.579-2.443-1.457-2.443-2.63 0-.927.43-1.667 1.289-2.222.868-.553 1.943-.831 3.224-.831 1.163 0 2.086.195 2.772.583.688.381 1.03.841 1.03 1.378 0 .281-.106.528-.323.744-.213.207-.462.311-.743.311-.463 0-.844-.323-1.142-.968-.411-.893-1.028-1.34-1.854-1.34-.652 0-1.191.215-1.613.645-.423.43-.634 1.03-.634 1.8 0 1.513.783 2.271 2.346 2.271.164 0 .354-.017.567-.05.372-.049.66-.073.867-.073.502 0 .755.144.755.434 0 .323-.256.483-.769.483-.181 0-.452-.028-.814-.086-.273-.05-.483-.074-.631-.074-1.655 0-2.481.84-2.481 2.524 0 .818.22 1.48.659 1.985.438.496 1.052.745 1.835.745.981 0 1.63-.51 1.954-1.527.165-.537.347-.91.545-1.117.208-.206.48-.31.82-.31.281 0 .531.104.756.31.232.199.348.455.348.77 0 .753-.422 1.378-1.266 1.875-.845.486-1.863.73-3.059.73-1.313 0-2.484-.313-3.508-.941-1.017-.63-1.526-1.47-1.526-2.52 0-1.316 1.013-2.28 3.039-2.899" fill="#5c3566"/>
|
||||
<path d="m8.364 11.736c-1.534 1.657-1.185-.272-.266-.938.953-.688 1.487-.671 1.48-.461-.008.247-.73.878-1.214 1.399z" fill="#fff" opacity=".5"/>
|
||||
<path d="m7.849 17.074c-1.536 1.655-1.272.124-.351-.537.951-.685 1.486-.669 1.479-.458-.009.245-.647.478-1.128.995z" fill="#fff" opacity=".5"/>
|
||||
<path d="m14.591 18.925c-1.481 1.653-1.368.083-.417-.526.728-.464.942-.062.417.526z" fill="#fff" opacity=".5"/>
|
||||
<circle cx="19.018" cy="20.257" fill="#1a1a1a" r=".689"/>
|
||||
<circle cx="22.172" cy="20.257" fill="#1a1a1a" r=".689"/>
|
||||
<circle cx="25.327" cy="20.257" fill="#1a1a1a" r=".689"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.6 KiB |
@ -91,10 +91,10 @@ set CMAKE_OPT=^
|
||||
-D CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS=TRUE
|
||||
|
||||
:cmake
|
||||
for /f "usebackq tokens=1" %%a in (`%OSGEO4W_ROOT%\bin\grass70 --config path`) do set GRASS70_PATH=%%a
|
||||
for %%i in ("%GRASS70_PATH%") do set GRASS70_VERSION=%%~nxi
|
||||
set GRASS70_VERSION=%GRASS70_VERSION:grass-=%
|
||||
set GRASS_VERSIONS=%GRASS6_VERSION% %GRASS70_VERSION%
|
||||
for /f "usebackq tokens=1" %%a in (`%OSGEO4W_ROOT%\bin\grass72 --config path`) do set GRASS72_PATH=%%a
|
||||
for %%i in ("%GRASS72_PATH%") do set GRASS72_VERSION=%%~nxi
|
||||
set GRASS72_VERSION=%GRASS72_VERSION:grass-=%
|
||||
set GRASS_VERSIONS=%GRASS6_VERSION% %GRASS72_VERSION%
|
||||
|
||||
set PYTHONPATH=
|
||||
path %PF86%\CMake\bin;%PATH%;c:\cygwin\bin
|
||||
@ -168,7 +168,7 @@ cmake -G Ninja ^
|
||||
-D WITH_GRASS6=TRUE ^
|
||||
-D WITH_GRASS7=TRUE ^
|
||||
-D GRASS_PREFIX=%O4W_ROOT%/apps/grass/grass-%GRASS6_VERSION% ^
|
||||
-D GRASS_PREFIX7=%GRASS70_PATH:\=/% ^
|
||||
-D GRASS_PREFIX7=%GRASS72_PATH:\=/% ^
|
||||
-D WITH_GLOBE=TRUE ^
|
||||
-D WITH_TOUCH=TRUE ^
|
||||
-D WITH_ORACLE=TRUE ^
|
||||
|
@ -85,10 +85,10 @@ set CMAKE_OPT=^
|
||||
-D CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS=TRUE
|
||||
|
||||
:cmake
|
||||
for /f "usebackq tokens=1" %%a in (`%OSGEO4W_ROOT%\bin\grass70 --config path`) do set GRASS70_PATH=%%a
|
||||
for %%i in ("%GRASS70_PATH%") do set GRASS70_VERSION=%%~nxi
|
||||
set GRASS70_VERSION=%GRASS70_VERSION:grass-=%
|
||||
set GRASS_VERSIONS=%GRASS6_VERSION% %GRASS70_VERSION%
|
||||
for /f "usebackq tokens=1" %%a in (`%OSGEO4W_ROOT%\bin\grass72 --config path`) do set GRASS72_PATH=%%a
|
||||
for %%i in ("%GRASS72_PATH%") do set GRASS72_VERSION=%%~nxi
|
||||
set GRASS72_VERSION=%GRASS72_VERSION:grass-=%
|
||||
set GRASS_VERSIONS=%GRASS6_VERSION% %GRASS72_VERSION%
|
||||
|
||||
set PYTHONPATH=
|
||||
path %PF86%\CMake\bin;%PATH%;c:\cygwin\bin
|
||||
@ -159,7 +159,7 @@ cmake -G Ninja ^
|
||||
-D WITH_GRASS6=TRUE ^
|
||||
-D WITH_GRASS7=TRUE ^
|
||||
-D GRASS_PREFIX=%O4W_ROOT%/apps/grass/grass-%GRASS6_VERSION% ^
|
||||
-D GRASS_PREFIX7=%GRASS70_PATH:\=/% ^
|
||||
-D GRASS_PREFIX7=%GRASS72_PATH:\=/% ^
|
||||
-D WITH_GLOBE=TRUE ^
|
||||
-D WITH_TOUCH=TRUE ^
|
||||
-D WITH_ORACLE=TRUE ^
|
||||
@ -385,9 +385,7 @@ tar -C %OSGEO4W_ROOT% -cjf %ARCH%/release/qgis/%PACKAGENAME%/%PACKAGENAME%-%VERS
|
||||
"apps/%PACKAGENAME%/plugins/evis.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/georefplugin.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/gpsimporterplugin.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/interpolationplugin.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/offlineeditingplugin.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/oracleplugin.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/spatialqueryplugin.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/topolplugin.dll" ^
|
||||
"apps/%PACKAGENAME%/plugins/geometrycheckerplugin.dll" ^
|
||||
|
@ -14,9 +14,7 @@ WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "georefplugin" "true
|
||||
WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "globeplugin" "false"
|
||||
WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "gpsimporterplugin" "true"
|
||||
WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "grassplugin" "true"
|
||||
WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "interpolationplugin" "true"
|
||||
WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "offlineeditingplugin" "true"
|
||||
WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "oracleplugin" "true"
|
||||
WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "spatialqueryplugin" "true"
|
||||
WriteRegStr HKEY_CURRENT_USER "Software\QGIS\QGIS3\Plugins" "topolplugin" "true"
|
||||
|
||||
|
@ -120,6 +120,8 @@ INCLUDE_DIRECTORIES(
|
||||
sip_helpers
|
||||
|
||||
${CMAKE_BINARY_DIR} # qgsconfig.h, qgsversion.h
|
||||
${CMAKE_BINARY_DIR}/src/core
|
||||
${CMAKE_BINARY_DIR}/src/analysis
|
||||
)
|
||||
|
||||
IF(NOT ANDROID)
|
||||
|
@ -15,6 +15,7 @@ SET(PYQT_COMPAT_FILES
|
||||
QtTest.py
|
||||
QtSvg.py
|
||||
Qsci.py
|
||||
Qt.py
|
||||
uic/__init__.py
|
||||
uic/pyuic.py
|
||||
uic/properties.py
|
||||
|
@ -531,10 +531,10 @@ class Editor(QsciScintilla):
|
||||
try:
|
||||
## set creationflags for running command without shell window
|
||||
if sys.platform.startswith('win'):
|
||||
p = subprocess.Popen(['python', filename], shell=False, stdin=subprocess.PIPE,
|
||||
p = subprocess.Popen(['python3', filename], shell=False, stdin=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE, stdout=subprocess.PIPE, creationflags=0x08000000)
|
||||
else:
|
||||
p = subprocess.Popen(['python', filename], shell=False, stdin=subprocess.PIPE,
|
||||
p = subprocess.Popen(['python3', filename], shell=False, stdin=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE, stdout=subprocess.PIPE)
|
||||
out, _traceback = p.communicate()
|
||||
|
||||
|
@ -246,7 +246,7 @@ def fromFunction(description, function, *args, on_finished=None, flags=QgsTask.A
|
||||
|
||||
task = QgsTask.fromFunction('my task', calculate,
|
||||
on_finished=calculation_finished)
|
||||
QgsTaskManager.instance().addTask(task)
|
||||
QgsApplication.taskManager().addTask(task)
|
||||
|
||||
"""
|
||||
|
||||
|
@ -76,7 +76,7 @@ class QgsComposerAttributeTableV2 : QgsComposerTableV2
|
||||
*/
|
||||
ContentSource source() const;
|
||||
|
||||
/** Returns the source layer for the table, considering the table source mode. Eg,
|
||||
/** Returns the source layer for the table, considering the table source mode. For example,
|
||||
* if the table is set to atlas feature mode, then the source layer will be the
|
||||
* atlas coverage layer. If the table is set to layer attributes mode, then
|
||||
* the source layer will be the user specified vector layer.
|
||||
|
@ -416,7 +416,7 @@ class QgsComposerItem : QgsComposerObject, QGraphicsRectItem
|
||||
*/
|
||||
void setTransparency( const int transparency );
|
||||
|
||||
/** Returns whether effects (eg blend modes) are enabled for the item
|
||||
/** Returns whether effects (e.g., blend modes) are enabled for the item
|
||||
* @returns true if effects are enabled
|
||||
* @see setEffectsEnabled
|
||||
* @see transparency
|
||||
@ -424,7 +424,7 @@ class QgsComposerItem : QgsComposerObject, QGraphicsRectItem
|
||||
*/
|
||||
bool effectsEnabled() const;
|
||||
|
||||
/** Sets whether effects (eg blend modes) are enabled for the item
|
||||
/** Sets whether effects (e.g., blend modes) are enabled for the item
|
||||
* @param effectsEnabled set to true to enable effects
|
||||
* @see effectsEnabled
|
||||
* @see setTransparency
|
||||
@ -508,7 +508,7 @@ class QgsComposerItem : QgsComposerObject, QGraphicsRectItem
|
||||
/** Sets visibility for item.
|
||||
* @param visible set to true to show item, false to hide item
|
||||
* @note QGraphicsItem::setVisible should not be called directly
|
||||
* on a QgsComposerItem, as some item types (eg groups) need to override
|
||||
* on a QgsComposerItem, as some item types (e.g., groups) need to override
|
||||
* the visibility toggle.
|
||||
* @note added in version 2.5
|
||||
*/
|
||||
|
@ -1,6 +1,6 @@
|
||||
/** \ingroup core
|
||||
* \class QgsComposerMapItem
|
||||
* \brief An item which is drawn inside a QgsComposerMap, eg a grid or map overview.
|
||||
* \brief An item which is drawn inside a QgsComposerMap, e.g., a grid or map overview.
|
||||
*/
|
||||
class QgsComposerMapItem : QgsComposerObject
|
||||
{
|
||||
|
@ -205,7 +205,7 @@ class QgsComposerMultiFrame: QgsComposerObject
|
||||
|
||||
/** Creates a new frame and adds it to the multi frame and composition.
|
||||
* @param currentFrame an existing QgsComposerFrame from which to copy the size
|
||||
* and general frame properties (eg frame style, background, rendering settings).
|
||||
* and general frame properties (e.g., frame style, background, rendering settings).
|
||||
* @param pos position of top-left corner of the new frame
|
||||
* @param size size of the new frame
|
||||
* @returns new QgsComposerFrame
|
||||
|
@ -40,7 +40,7 @@ class QgsComposition : QGraphicsScene, QgsExpressionContextGenerator
|
||||
Landscape
|
||||
};
|
||||
|
||||
explicit QgsComposition( const QgsMapSettings& mapSettings );
|
||||
explicit QgsComposition( const QgsMapSettings& mapSettings, QgsProject* project );
|
||||
|
||||
/** Composition atlas modes*/
|
||||
enum AtlasMode
|
||||
@ -52,6 +52,14 @@ class QgsComposition : QGraphicsScene, QgsExpressionContextGenerator
|
||||
|
||||
~QgsComposition();
|
||||
|
||||
/**
|
||||
* The project associated with the composition. Used to get access to layers, map themes,
|
||||
* relations and various other bits. It is never null.
|
||||
*
|
||||
* \note Added in QGIS 3.0
|
||||
*/
|
||||
QgsProject* project() const;
|
||||
|
||||
/** Changes size of paper item.
|
||||
* @param width page width in mm
|
||||
* @param height page height in mm
|
||||
@ -732,7 +740,7 @@ class QgsComposition : QGraphicsScene, QgsExpressionContextGenerator
|
||||
|
||||
/** Calculates the bounds of all non-gui items in the composition. Ignores snap lines and mouse handles.
|
||||
* @param ignorePages set to true to ignore page items
|
||||
* @param margin optional marginal (in percent, eg 0.05 = 5% ) to add around items
|
||||
* @param margin optional marginal (in percent, e.g., 0.05 = 5% ) to add around items
|
||||
*/
|
||||
QRectF compositionBounds( bool ignorePages = false, double margin = 0.0 ) const;
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/** \ingroup core
|
||||
* \class QgsColorEffect
|
||||
* \brief A paint effect which alters the colors (eg brightness, contrast) in a
|
||||
* \brief A paint effect which alters the colors (e.g., brightness, contrast) in a
|
||||
* source picture.
|
||||
*
|
||||
* \note Added in version 2.9
|
||||
|
@ -245,7 +245,7 @@ class QgsPaintEffect
|
||||
*
|
||||
* The draw source effect can be used to draw an unaltered copy of the original source
|
||||
* picture. Minor changes like lowering the opacity and applying a blend mode are
|
||||
* supported, however these changes will force the resultant output to be rasterised.
|
||||
* supported, however these changes will force the resultant output to be rasterized.
|
||||
* If no alterations are performed then the original picture will be rendered as a vector.
|
||||
*
|
||||
* \note Added in version 2.9
|
||||
|
@ -67,9 +67,8 @@ class QgsPaintEffectRegistry
|
||||
|
||||
public:
|
||||
|
||||
/** Returns a reference to the singleton instance of the paint effect registry.
|
||||
*/
|
||||
static QgsPaintEffectRegistry* instance();
|
||||
QgsPaintEffectRegistry();
|
||||
~QgsPaintEffectRegistry();
|
||||
|
||||
/** Returns the metadata for a specific effect.
|
||||
* @param name unique string name for paint effect class
|
||||
@ -120,10 +119,6 @@ class QgsPaintEffectRegistry
|
||||
*/
|
||||
static bool isDefaultStack( QgsPaintEffect* effect );
|
||||
|
||||
protected:
|
||||
QgsPaintEffectRegistry();
|
||||
~QgsPaintEffectRegistry();
|
||||
|
||||
private:
|
||||
QgsPaintEffectRegistry( const QgsPaintEffectRegistry& rh );
|
||||
};
|
||||
|
@ -398,7 +398,7 @@ class QgsAbstractGeometry
|
||||
*/
|
||||
virtual QgsRectangle calculateBoundingBox() const;
|
||||
|
||||
/** Clears any cached parameters associated with the geometry, eg bounding boxes
|
||||
/** Clears any cached parameters associated with the geometry, e.g., bounding boxes
|
||||
*/
|
||||
virtual void clearCache() const;
|
||||
};
|
||||
|
@ -54,8 +54,7 @@ class QgsCurve: public QgsAbstractGeometry
|
||||
*/
|
||||
virtual int numPoints() const = 0;
|
||||
|
||||
/** Calculates the area of the curve. Derived classes should override this
|
||||
* to return the correct area of the curve.
|
||||
/** Sums up the area of the curve by iterating over the vertices (shoelace formula).
|
||||
*/
|
||||
virtual void sumUpArea( double& sum ) const = 0;
|
||||
|
||||
|
@ -551,7 +551,7 @@ class QgsGeometry
|
||||
|
||||
/**
|
||||
* Returns a point guaranteed to lie on the surface of a geometry. While the centroid()
|
||||
* of a geometry may be located outside of the geometry itself (eg for concave shapes),
|
||||
* of a geometry may be located outside of the geometry itself (e.g., for concave shapes),
|
||||
* the point on surface will always be inside the geometry.
|
||||
* @see centroid()
|
||||
* @see poleOfInaccessibility()
|
||||
@ -741,10 +741,11 @@ class QgsGeometry
|
||||
* 1 if geometry is not of polygon type,
|
||||
* 2 if avoid intersection would change the geometry type,
|
||||
* 3 other error during intersection removal
|
||||
* @param avoidIntersectionsLayers list of layers to check for intersections
|
||||
* @param ignoreFeatures possibility to give a list of features where intersections should be ignored (not available in python bindings)
|
||||
* @note added in 1.5
|
||||
*/
|
||||
int avoidIntersections();
|
||||
int avoidIntersections( const QList<QgsVectorLayer*>& avoidIntersectionsLayers );
|
||||
|
||||
class Error
|
||||
{
|
||||
@ -892,7 +893,7 @@ class QgsGeometry
|
||||
* @param iterations number of smoothing iterations to run. More iterations results
|
||||
* in a smoother geometry
|
||||
* @param offset fraction of line to create new vertices along, between 0 and 1.0
|
||||
* eg the default value of 0.25 will create new vertices 25% and 75% along each line segment
|
||||
* For example, the default value of 0.25 will create new vertices 25% and 75% along each line segment
|
||||
* of the geometry for each iteration. Smaller values result in "tighter" smoothing.
|
||||
* @param minimumDistance minimum segment length to apply smoothing to
|
||||
* @param maxAngle maximum angle at node (0-180) at which smoothing will be applied
|
||||
|
@ -25,7 +25,7 @@ class QgsPointV2: public QgsAbstractGeometry
|
||||
*/
|
||||
explicit QgsPointV2( QPointF p );
|
||||
|
||||
/** Construct a point with a specified type (eg PointZ, PointM) and initial x, y, z, and m values.
|
||||
/** Construct a point with a specified type (e.g., PointZ, PointM) and initial x, y, z, and m values.
|
||||
* @param type point type
|
||||
* @param x x-coordinate of point
|
||||
* @param y y-coordinate of point
|
||||
@ -140,8 +140,8 @@ class QgsPointV2: public QgsAbstractGeometry
|
||||
|
||||
/**
|
||||
* Returns the distance between this point and a specified x, y coordinate. In certain
|
||||
* cases it may be more appropriate to call the faster distanceSquared() method, eg
|
||||
* when comparing distances.
|
||||
* cases it may be more appropriate to call the faster distanceSquared() method,
|
||||
* e.g., when comparing distances.
|
||||
* @note added in QGIS 3.0
|
||||
* @see distanceSquared()
|
||||
*/
|
||||
@ -149,8 +149,8 @@ class QgsPointV2: public QgsAbstractGeometry
|
||||
|
||||
/**
|
||||
* Returns the 2D distance between this point and another point. In certain
|
||||
* cases it may be more appropriate to call the faster distanceSquared() method, eg
|
||||
* when comparing distances.
|
||||
* cases it may be more appropriate to call the faster distanceSquared() method,
|
||||
* e.g., when comparing distances.
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
double distance( const QgsPointV2& other ) const;
|
||||
|
@ -75,14 +75,14 @@ class QgsWkbTypes
|
||||
NullGeometry
|
||||
};
|
||||
|
||||
/** Returns the single type for a WKB type. Eg, for MultiPolygon WKB types the single type would be Polygon.
|
||||
/** Returns the single type for a WKB type. For example, for MultiPolygon WKB types the single type would be Polygon.
|
||||
* @see isSingleType()
|
||||
* @see multiType()
|
||||
* @see flatType()
|
||||
*/
|
||||
static Type singleType( Type type );
|
||||
|
||||
/** Returns the multi type for a WKB type. Eg, for Polygon WKB types the multi type would be MultiPolygon.
|
||||
/** Returns the multi type for a WKB type. For example, for Polygon WKB types the multi type would be MultiPolygon.
|
||||
* @see isMultiType()
|
||||
* @see singleType()
|
||||
* @see flatType()
|
||||
@ -90,7 +90,7 @@ class QgsWkbTypes
|
||||
static Type multiType( Type type );
|
||||
|
||||
/** Returns the flat type for a WKB type. This is the WKB type minus any Z or M dimensions.
|
||||
* Eg, for PolygonZM WKB types the single type would be Polygon.
|
||||
* For example, for PolygonZM WKB types the single type would be Polygon.
|
||||
* @see singleType()
|
||||
* @see multiType()
|
||||
*/
|
||||
@ -137,12 +137,12 @@ class QgsWkbTypes
|
||||
*/
|
||||
static int coordDimensions( Type type );
|
||||
|
||||
/** Returns the geometry type for a WKB type, eg both MultiPolygon and CurvePolygon would have a
|
||||
/** Returns the geometry type for a WKB type, e.g., both MultiPolygon and CurvePolygon would have a
|
||||
* PolygonGeometry geometry type.
|
||||
*/
|
||||
static GeometryType geometryType( Type type );
|
||||
|
||||
/** Returns a display string type for a WKB type, eg the geometry name used in WKT geometry representations.
|
||||
/** Returns a display string type for a WKB type, e.g., the geometry name used in WKT geometry representations.
|
||||
*/
|
||||
static QString displayString( Type type );
|
||||
|
||||
|
@ -6,7 +6,7 @@ class QgsGPSConnectionRegistry
|
||||
#include <qgsgpsconnectionregistry.h>
|
||||
%End
|
||||
public:
|
||||
static QgsGPSConnectionRegistry* instance();
|
||||
QgsGPSConnectionRegistry();
|
||||
~QgsGPSConnectionRegistry();
|
||||
|
||||
/** Inserts a connection into the registry. The connection is owned by the registry class until it is unregistered again*/
|
||||
@ -16,9 +16,6 @@ class QgsGPSConnectionRegistry
|
||||
|
||||
QList< QgsGPSConnection *> connectionList() const;
|
||||
|
||||
protected:
|
||||
QgsGPSConnectionRegistry();
|
||||
|
||||
private:
|
||||
|
||||
QgsGPSConnectionRegistry( const QgsGPSConnectionRegistry& rh );
|
||||
|
@ -71,11 +71,6 @@ class QgsLayerTreeGroup : QgsLayerTreeNode
|
||||
//! Return a clone of the group. The children are cloned too.
|
||||
virtual QgsLayerTreeGroup* clone() const /Factory/;
|
||||
|
||||
//! Return the check state of the group node
|
||||
Qt::CheckState isVisible() const;
|
||||
//! Set check state of the group node - will also update children
|
||||
void setVisible( Qt::CheckState state );
|
||||
|
||||
//! Return whether the group is mutually exclusive (only one child can be checked at a time)
|
||||
//! @note added in 2.12
|
||||
bool isMutuallyExclusive() const;
|
||||
@ -86,14 +81,10 @@ class QgsLayerTreeGroup : QgsLayerTreeNode
|
||||
void setIsMutuallyExclusive( bool enabled, int initialChildIndex = -1 );
|
||||
|
||||
protected slots:
|
||||
void layerDestroyed();
|
||||
void nodeVisibilityChanged( QgsLayerTreeNode* node );
|
||||
|
||||
protected:
|
||||
//! Set check state of this group from its children
|
||||
void updateVisibilityFromChildren();
|
||||
//! Set check state of children (when this group's check state changes) - if not mutually exclusive
|
||||
void updateChildVisibility();
|
||||
|
||||
//! Set check state of children - if mutually exclusive
|
||||
void updateChildVisibilityMutuallyExclusive();
|
||||
|
||||
|
@ -38,9 +38,6 @@ class QgsLayerTreeLayer : QgsLayerTreeNode
|
||||
//! @note added in 3.0
|
||||
void setName( const QString& n );
|
||||
|
||||
Qt::CheckState isVisible() const;
|
||||
void setVisible( Qt::CheckState visible );
|
||||
|
||||
static QgsLayerTreeLayer* readXml( QDomElement& element ) /Factory/;
|
||||
virtual void writeXml( QDomElement& parentElement );
|
||||
|
||||
|
@ -61,6 +61,7 @@ class QgsLayerTreeModel : QAbstractItemModel
|
||||
AllowNodeRename, //!< Allow renaming of groups and layers
|
||||
AllowNodeChangeVisibility, //!< Allow user to set node visibility with a check box
|
||||
AllowLegendChangeState, //!< Allow check boxes for legend nodes (if supported by layer's legend)
|
||||
ActionHierarchical, //!< Check/uncheck action has consequences on children (or parents for leaf node)
|
||||
};
|
||||
typedef QFlags<QgsLayerTreeModel::Flag> Flags;
|
||||
|
||||
|
@ -94,6 +94,34 @@ class QgsLayerTreeNode : QObject
|
||||
//! Create a copy of the node. Returns new instance
|
||||
virtual QgsLayerTreeNode *clone() const = 0 /Factory/;
|
||||
|
||||
//! Returns whether a node is really visible (ie checked and all its ancestors checked as well)
|
||||
//! @note added in 3.0
|
||||
bool isVisible() const;
|
||||
|
||||
//! Returns whether a node is checked (independantly of its ancestors or children)
|
||||
//! @note added in 3.0
|
||||
bool itemVisibilityChecked() const;
|
||||
|
||||
//! Check or uncheck a node (independantly of its ancestors or children)
|
||||
//! @note added in 3.0
|
||||
void setItemVisibilityChecked( bool checked );
|
||||
|
||||
//! Check or uncheck a node and all its children (taking into account exclusion rules)
|
||||
//! @note added in 3.0
|
||||
virtual void setItemVisibilityCheckedRecursive( bool checked );
|
||||
|
||||
//! Check or uncheck a node and all its parents
|
||||
//! @note added in 3.0
|
||||
void setItemVisibilityCheckedParentRecursive( bool checked );
|
||||
|
||||
//! Return whether this node is checked and all its children.
|
||||
//! @note added in 3.0
|
||||
bool isItemVisibilityCheckedRecursive() const;
|
||||
|
||||
//! Return whether this node is unchecked and all its children.
|
||||
//! @note added in 3.0
|
||||
bool isItemVisibilityUncheckedRecursive() const;
|
||||
|
||||
//! Return whether the node should be shown as expanded or collapsed in GUI
|
||||
bool isExpanded() const;
|
||||
//! Set whether the node should be shown as expanded or collapsed in GUI
|
||||
@ -121,7 +149,7 @@ class QgsLayerTreeNode : QObject
|
||||
//! Emitted when one or more nodes has been removed from a node within the tree
|
||||
void removedChildren( QgsLayerTreeNode *node, int indexFrom, int indexTo );
|
||||
//! Emitted when check state of a node within the tree has been changed
|
||||
void visibilityChanged( QgsLayerTreeNode *node, Qt::CheckState state );
|
||||
void visibilityChanged( QgsLayerTreeNode *node );
|
||||
//! Emitted when a custom property of a node within the tree has been changed or removed
|
||||
void customPropertyChanged( QgsLayerTreeNode *node, const QString& key );
|
||||
//! Emitted when the collapsed/expanded state of a node within the tree has been changed
|
||||
|
@ -104,7 +104,7 @@ class Qgis
|
||||
static double SCALE_PRECISION;
|
||||
};
|
||||
|
||||
/** Converts a string to a double in a permissive way, eg allowing for incorrect
|
||||
/** Converts a string to a double in a permissive way, e.g., allowing for incorrect
|
||||
* numbers of digits between thousand separators
|
||||
* @param string string to convert
|
||||
* @param ok will be set to true if conversion was successful
|
||||
@ -114,7 +114,7 @@ class Qgis
|
||||
*/
|
||||
double qgsPermissiveToDouble( QString string, bool& ok );
|
||||
|
||||
/** Converts a string to an integer in a permissive way, eg allowing for incorrect
|
||||
/** Converts a string to an integer in a permissive way, e.g., allowing for incorrect
|
||||
* numbers of digits between thousand separators
|
||||
* @param string string to convert
|
||||
* @param ok will be set to true if conversion was successful
|
||||
|
@ -248,7 +248,7 @@ static void qtgui_UpdatePyArgv(PyObject *argvlist, int argc, char **argv)
|
||||
*/
|
||||
static QString osName();
|
||||
|
||||
/** Returns the QGIS platform name, eg "desktop" or "server".
|
||||
/** Returns the QGIS platform name, e.g., "desktop" or "server".
|
||||
* @note added in QGIS 2.14
|
||||
* @see osName()
|
||||
*/
|
||||
@ -381,6 +381,62 @@ static void qtgui_UpdatePyArgv(PyObject *argvlist, int argc, char **argv)
|
||||
*/
|
||||
static QgsTaskManager* taskManager();
|
||||
|
||||
/**
|
||||
* Returns the application's color scheme registry, used for managing color schemes.
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
static QgsColorSchemeRegistry* colorSchemeRegistry();
|
||||
|
||||
/**
|
||||
* Returns the application's paint effect registry, used for managing paint effects.
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
static QgsPaintEffectRegistry* paintEffectRegistry();
|
||||
|
||||
/**
|
||||
* Returns the application's renderer registry, used for managing vector layer renderers.
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
static QgsRendererRegistry* rendererRegistry();
|
||||
|
||||
/**
|
||||
* Returns the application's data item provider registry, which keeps a list of data item
|
||||
* providers that may add items to the browser tree.
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
static QgsDataItemProviderRegistry* dataItemProviderRegistry();
|
||||
|
||||
/**
|
||||
* Returns the application's SVG cache, used for caching SVG images and handling parameter replacement
|
||||
* within SVG files.
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
static QgsSvgCache* svgCache();
|
||||
|
||||
/**
|
||||
* Returns the application's symbol layer registry, used for managing symbol layers.
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
static QgsSymbolLayerRegistry* symbolLayerRegistry();
|
||||
|
||||
/**
|
||||
* Returns the application's GPS connection registry, used for managing GPS connections.
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
static QgsGPSConnectionRegistry* gpsConnectionRegistry();
|
||||
|
||||
/**
|
||||
* Returns the application's plugin layer registry, used for managing plugin layer types.
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
static QgsPluginLayerRegistry* pluginLayerRegistry();
|
||||
|
||||
/**
|
||||
* Returns the application's message log.
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
static QgsMessageLog* messageLog();
|
||||
|
||||
%If(ANDROID)
|
||||
//dummy method to workaround sip generation issue issue
|
||||
bool x11EventFilter ( XEvent * event );
|
||||
@ -406,24 +462,13 @@ static void qtgui_UpdatePyArgv(PyObject *argvlist, int argc, char **argv)
|
||||
static QgsFieldFormatterRegistry* fieldFormatterRegistry();
|
||||
static QString nullRepresentation();
|
||||
static void setNullRepresentation( const QString& nullRepresentation );
|
||||
public slots:
|
||||
|
||||
/** Causes the application instance to emit the settingsChanged() signal. This should
|
||||
* be called whenever global, application-wide settings are altered to advise listeners
|
||||
* that they may need to update their state.
|
||||
* @see settingsChanged()
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
void emitSettingsChanged();
|
||||
|
||||
static QVariantMap customVariables();
|
||||
static void setCustomVariables( const QVariantMap& customVariables );
|
||||
static void setCustomVariable( const QString& name, const QVariant& value );
|
||||
signals:
|
||||
//! @note not available in python bindings
|
||||
// void preNotify( QObject * receiver, QEvent * event, bool * done );
|
||||
|
||||
/** Emitted whenever any global, application-wide settings are changed.
|
||||
* @note added in QGIS 3.0
|
||||
* @see emitSettingsChanged()
|
||||
*/
|
||||
void settingsChanged();
|
||||
void customVariablesChanged();
|
||||
void nullRepresentationChanged();
|
||||
};
|
||||
|
@ -183,12 +183,12 @@ class QgsGradientColorRamp : QgsColorRamp
|
||||
*/
|
||||
QgsGradientStopsList stops() const;
|
||||
|
||||
/** Returns any additional info attached to the gradient ramp (eg authorship notes)
|
||||
/** Returns any additional info attached to the gradient ramp (e.g., authorship notes)
|
||||
* @see setInfo()
|
||||
*/
|
||||
QgsStringMap info() const;
|
||||
|
||||
/** Sets additional info to attach to the gradient ramp (eg authorship notes)
|
||||
/** Sets additional info to attach to the gradient ramp (e.g., authorship notes)
|
||||
* @param info map of string info to attach
|
||||
* @see info()
|
||||
*/
|
||||
|
@ -14,10 +14,6 @@ class QgsColorSchemeRegistry
|
||||
%End
|
||||
public:
|
||||
|
||||
/** Returns the global instance pointer, creating the object on the first call.
|
||||
*/
|
||||
static QgsColorSchemeRegistry * instance();
|
||||
|
||||
/** Constructor for an empty color scheme registry
|
||||
*/
|
||||
QgsColorSchemeRegistry();
|
||||
|
@ -129,9 +129,9 @@
|
||||
* Caveats
|
||||
* =======
|
||||
*
|
||||
* There are two different flavours of WKT: one is defined by OGC, the other is the standard
|
||||
* There are two different flavors of WKT: one is defined by OGC, the other is the standard
|
||||
* used by ESRI. They look very similar, but they are not the same. QGIS is able to consume
|
||||
* both flavours.
|
||||
* both flavors.
|
||||
*
|
||||
* \see QgsCoordinateTransform
|
||||
*/
|
||||
@ -186,7 +186,7 @@ class QgsCoordinateReferenceSystem
|
||||
// static creators
|
||||
|
||||
/** Creates a CRS from a given OGC WMS-format Coordinate Reference System string.
|
||||
* @param ogcCrs OGR compliant CRS definition, eg "EPSG:4326"
|
||||
* @param ogcCrs OGR compliant CRS definition, e.g., "EPSG:4326"
|
||||
* @returns matching CRS, or an invalid CRS if string could not be matched
|
||||
* @note added in QGIS 3.0
|
||||
* @see createFromOgcWmsCrs()
|
||||
@ -416,9 +416,9 @@ class QgsCoordinateReferenceSystem
|
||||
|
||||
/** Returns the authority identifier for the CRS.
|
||||
*
|
||||
* The identifier includes both the authority (eg EPSG) and the CRS number (eg 4326).
|
||||
* The identifier includes both the authority (e.g., EPSG) and the CRS number (e.g., 4326).
|
||||
* This is the best method to use when showing a very short CRS identifier to a user,
|
||||
* eg "EPSG:4326".
|
||||
* e.g., "EPSG:4326".
|
||||
*
|
||||
* If CRS object is a custom CRS (not found in database), the method will return
|
||||
* internal QGIS CRS ID with "QGIS" authority, for example "QGIS:100005"
|
||||
@ -427,7 +427,7 @@ class QgsCoordinateReferenceSystem
|
||||
*/
|
||||
QString authid() const;
|
||||
|
||||
/** Returns the descriptive name of the CRS, eg "WGS 84" or "GDA 94 / Vicgrid94". In most
|
||||
/** Returns the descriptive name of the CRS, e.g., "WGS 84" or "GDA 94 / Vicgrid94". In most
|
||||
* cases this is the best method to use when showing a friendly identifier for the CRS to a
|
||||
* user.
|
||||
* @returns descriptive name of the CRS
|
||||
@ -472,7 +472,7 @@ class QgsCoordinateReferenceSystem
|
||||
*/
|
||||
bool isGeographic() const;
|
||||
|
||||
/** Returns whether axis is inverted (eg. for WMS 1.3) for the CRS.
|
||||
/** Returns whether axis is inverted (e.g., for WMS 1.3) for the CRS.
|
||||
* @returns true if CRS axis is inverted
|
||||
*/
|
||||
bool hasAxisInverted() const;
|
||||
|
@ -11,8 +11,7 @@ class QgsDataItemProviderRegistry
|
||||
#include <qgsdataitemproviderregistry.h>
|
||||
%End
|
||||
public:
|
||||
static QgsDataItemProviderRegistry * instance();
|
||||
|
||||
QgsDataItemProviderRegistry();
|
||||
~QgsDataItemProviderRegistry();
|
||||
|
||||
//! Get list of available providers
|
||||
@ -25,7 +24,7 @@ class QgsDataItemProviderRegistry
|
||||
void removeProvider( QgsDataItemProvider* provider );
|
||||
|
||||
private:
|
||||
QgsDataItemProviderRegistry();
|
||||
|
||||
QgsDataItemProviderRegistry( const QgsDataItemProviderRegistry& rh );
|
||||
|
||||
};
|
||||
|
@ -37,13 +37,13 @@ class QgsDateTimeStatisticalSummary
|
||||
QgsDateTimeStatisticalSummary( QgsDateTimeStatisticalSummary::Statistics stats = All );
|
||||
|
||||
/** Returns flags which specify which statistics will be calculated. Some statistics
|
||||
* are always calculated (eg count).
|
||||
* are always calculated (e.g., count).
|
||||
* @see setStatistics
|
||||
*/
|
||||
Statistics statistics() const;
|
||||
|
||||
/** Sets flags which specify which statistics will be calculated. Some statistics
|
||||
* are always calculated (eg count).
|
||||
* are always calculated (e.g., count).
|
||||
* @param stats flags for statistics to calculate
|
||||
* @see statistics
|
||||
*/
|
||||
|
@ -25,13 +25,14 @@ class QgsDiagramLayerSettings
|
||||
};
|
||||
|
||||
//! Line placement flags for controlling line based placements
|
||||
enum LinePlacementFlags
|
||||
enum LinePlacementFlag
|
||||
{
|
||||
OnLine,
|
||||
AboveLine,
|
||||
BelowLine,
|
||||
MapOrientation,
|
||||
};
|
||||
typedef QFlags<QgsDiagramLayerSettings::LinePlacementFlag> LinePlacementFlags;
|
||||
|
||||
QgsDiagramLayerSettings();
|
||||
|
||||
@ -44,8 +45,7 @@ class QgsDiagramLayerSettings
|
||||
* @see setPlacement()
|
||||
* @note added in QGIS 2.16
|
||||
*/
|
||||
//TODO QGIS 3.0 - rename getter to placement()
|
||||
Placement getPlacement() const;
|
||||
Placement placement() const;
|
||||
|
||||
/** Sets the diagram placement.
|
||||
* @param value placement value
|
||||
@ -54,16 +54,12 @@ class QgsDiagramLayerSettings
|
||||
*/
|
||||
void setPlacement( Placement value );
|
||||
|
||||
//! Diagram placement
|
||||
//TODO QGIS 3.0 - make private, rename to mPlacement
|
||||
Placement placement;
|
||||
|
||||
/** Returns the diagram placement flags. These are only used if the diagram placement
|
||||
* is set to a line type.
|
||||
* @see setLinePlacementFlags()
|
||||
* @note added in QGIS 2.16
|
||||
*/
|
||||
unsigned int linePlacementFlags() const;
|
||||
LinePlacementFlags linePlacementFlags() const;
|
||||
|
||||
/** Sets the the diagram placement flags. These are only used if the diagram placement
|
||||
* is set to a line type.
|
||||
@ -71,11 +67,7 @@ class QgsDiagramLayerSettings
|
||||
* @see getPlacement()
|
||||
* @note added in QGIS 2.16
|
||||
*/
|
||||
void setLinePlacementFlags( unsigned int flags );
|
||||
|
||||
//! Diagram placement flags
|
||||
// TODO QGIS 3.0 - make private, rename to mPlacementFlags, use QFlags
|
||||
unsigned int placementFlags;
|
||||
void setLinePlacementFlags( LinePlacementFlags flags );
|
||||
|
||||
/** Returns the diagram priority.
|
||||
* @returns diagram priority, where 0 = low and 10 = high
|
||||
@ -84,8 +76,7 @@ class QgsDiagramLayerSettings
|
||||
* @see setPriority()
|
||||
* @note added in QGIS 2.16
|
||||
*/
|
||||
//TODO QGIS 3.0 - rename getter to priority()
|
||||
int getPriority() const;
|
||||
int priority() const;
|
||||
|
||||
/** Sets the diagram priority.
|
||||
* @param value priority, where 0 = low and 10 = high
|
||||
@ -94,12 +85,6 @@ class QgsDiagramLayerSettings
|
||||
*/
|
||||
void setPriority( int value );
|
||||
|
||||
//! Placement priority, where 0 = low and 10 = high
|
||||
//! @note placement priority is shared with labeling, so diagrams with a high priority may displace labels
|
||||
//! and vice-versa
|
||||
// TODO QGIS 3.0 - make private, rename to mPriority
|
||||
int priority;
|
||||
|
||||
/** Returns the diagram z-index. Diagrams (or labels) with a higher z-index are drawn over diagrams
|
||||
* with a lower z-index.
|
||||
* @note z-index ordering is shared with labeling, so diagrams with a high z-index may be drawn over labels
|
||||
@ -107,8 +92,7 @@ class QgsDiagramLayerSettings
|
||||
* @see setZIndex()
|
||||
* @note added in QGIS 2.16
|
||||
*/
|
||||
//TODO QGIS 3.0 - rename getter to zIndex()
|
||||
double getZIndex() const;
|
||||
double zIndex() const;
|
||||
|
||||
/** Sets the diagram z-index. Diagrams (or labels) with a higher z-index are drawn over diagrams
|
||||
* with a lower z-index.
|
||||
@ -118,10 +102,6 @@ class QgsDiagramLayerSettings
|
||||
*/
|
||||
void setZIndex( double index );
|
||||
|
||||
//! Z-index of diagrams, where diagrams with a higher z-index are drawn on top of diagrams with a lower z-index
|
||||
// TODO QGIS 3.0 - rename to mZIndex, make private
|
||||
double zIndex;
|
||||
|
||||
/** Returns whether the feature associated with a diagram acts as an obstacle for other labels or diagrams.
|
||||
* @see setIsObstacle()
|
||||
* @note added in QGIS 2.16
|
||||
@ -135,10 +115,6 @@ class QgsDiagramLayerSettings
|
||||
*/
|
||||
void setIsObstacle( bool isObstacle );
|
||||
|
||||
//! Whether associated feature acts as an obstacle for other labels or diagrams
|
||||
// TODO QGIS 3.0 - rename to mObstacle, make private
|
||||
bool obstacle;
|
||||
|
||||
/** Returns the distance between the diagram and the feature (in mm).
|
||||
* @see setDistance()
|
||||
* @note added in QGIS 2.16
|
||||
@ -152,35 +128,25 @@ class QgsDiagramLayerSettings
|
||||
*/
|
||||
void setDistance( double distance );
|
||||
|
||||
//! Distance between diagram and the feature (in mm)
|
||||
// TODO QGIS 3.0 - make private, rename to mDistance
|
||||
double dist;
|
||||
/** Returns the diagram renderer associated with the layer.
|
||||
* @see setRenderer()
|
||||
* @note added in QGIS 2.16
|
||||
*/
|
||||
QgsDiagramRenderer* renderer();
|
||||
|
||||
/** Returns the diagram renderer associated with the layer.
|
||||
* @see setRenderer()
|
||||
* @note added in QGIS 2.16
|
||||
*/
|
||||
// TODO QGIS 3.0 - rename to renderer()
|
||||
QgsDiagramRenderer* getRenderer();
|
||||
|
||||
/** Returns the diagram renderer associated with the layer.
|
||||
* @see setRenderer()
|
||||
* @note added in QGIS 2.16
|
||||
*/
|
||||
// TODO QGIS 3.0 - rename to renderer()
|
||||
//const QgsDiagramRenderer* getRenderer() const;
|
||||
//const QgsDiagramRenderer* renderer() const;
|
||||
|
||||
/** Sets the diagram renderer associated with the layer.
|
||||
* @param diagramRenderer diagram renderer. Ownership is transferred to the object.
|
||||
* @see getRenderer()
|
||||
* @see renderer()
|
||||
* @note added in QGIS 2.16
|
||||
*/
|
||||
void setRenderer( QgsDiagramRenderer* diagramRenderer /Transfer/ );
|
||||
|
||||
//! Associated diagram renderer. Owned by this object.
|
||||
// TODO QGIS 3.0 - make private, rename to mRenderer
|
||||
QgsDiagramRenderer* renderer;
|
||||
|
||||
/** Returns the coordinate transform associated with the layer, or an
|
||||
* invalid transform if no transformation is required.
|
||||
* @see setCoordinateTransform()
|
||||
@ -214,10 +180,6 @@ class QgsDiagramLayerSettings
|
||||
*/
|
||||
void setShowAllDiagrams( bool showAllDiagrams );
|
||||
|
||||
//! Whether to show all diagrams, including overlapping diagrams
|
||||
// TODO QGIS 3.0 - make private, rename to mShowAll
|
||||
bool showAll;
|
||||
|
||||
void readXml( const QDomElement& elem, const QgsVectorLayer* layer );
|
||||
void writeXml( QDomElement& layerElem, QDomDocument& doc, const QgsVectorLayer* layer ) const;
|
||||
|
||||
@ -329,8 +291,8 @@ class QgsDiagramInterpolationSettings
|
||||
QSizeF upperSize;
|
||||
double lowerValue;
|
||||
double upperValue;
|
||||
/** Index of the classification attribute*/
|
||||
int classificationAttribute;
|
||||
//! Name of the field for classification
|
||||
QString classificationField;
|
||||
QString classificationAttributeExpression;
|
||||
bool classificationAttributeIsExpression;
|
||||
};
|
||||
@ -368,8 +330,7 @@ class QgsDiagramRenderer
|
||||
* @param fields layer fields
|
||||
* @note added in QGIS 2.16
|
||||
*/
|
||||
//TODO QGIS 3.0 - remove need for fields parameter
|
||||
virtual QSet< QString > referencedFields( const QgsExpressionContext& context = QgsExpressionContext(), const QgsFields& fields = QgsFields() ) const;
|
||||
virtual QSet< QString > referencedFields( const QgsExpressionContext& context = QgsExpressionContext() ) const;
|
||||
|
||||
void renderDiagram( const QgsFeature& feature, QgsRenderContext& c, QPointF pos );
|
||||
|
||||
@ -511,7 +472,7 @@ class QgsLinearlyInterpolatedDiagramRenderer : QgsDiagramRenderer
|
||||
|
||||
QList<QString> diagramAttributes() const;
|
||||
|
||||
virtual QSet< QString > referencedFields( const QgsExpressionContext& context = QgsExpressionContext(), const QgsFields& fields = QgsFields() ) const;
|
||||
virtual QSet< QString > referencedFields( const QgsExpressionContext& context = QgsExpressionContext() ) const;
|
||||
|
||||
QString rendererName() const;
|
||||
|
||||
@ -527,8 +488,19 @@ class QgsLinearlyInterpolatedDiagramRenderer : QgsDiagramRenderer
|
||||
void setUpperSize( QSizeF s );
|
||||
QSizeF upperSize() const;
|
||||
|
||||
int classificationAttribute() const;
|
||||
void setClassificationAttribute( int index );
|
||||
/**
|
||||
* Returns the field name used for interpolating the diagram size.
|
||||
* @see setClassificationField()
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
QString classificationField() const;
|
||||
|
||||
/**
|
||||
* Sets the field name used for interpolating the diagram size.
|
||||
* @see classificationField()
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
void setClassificationField( const QString& field );
|
||||
|
||||
QString classificationAttributeExpression() const;
|
||||
void setClassificationAttributeExpression( const QString& expression );
|
||||
|
@ -167,7 +167,7 @@ class QgsDistanceArea
|
||||
* @param distance distance to format
|
||||
* @param decimals number of decimal places to show
|
||||
* @param unit unit of distance
|
||||
* @param keepBaseUnit set to false to allow conversion of large distances to more suitable units, eg meters to
|
||||
* @param keepBaseUnit set to false to allow conversion of large distances to more suitable units, e.g., meters to
|
||||
* kilometers
|
||||
* @returns formatted distance string
|
||||
* @note added in QGIS 2.16
|
||||
@ -179,7 +179,7 @@ class QgsDistanceArea
|
||||
* @param area area to format
|
||||
* @param decimals number of decimal places to show
|
||||
* @param unit unit of area
|
||||
* @param keepBaseUnit set to false to allow conversion of large areas to more suitable units, eg square meters to
|
||||
* @param keepBaseUnit set to false to allow conversion of large areas to more suitable units, e.g., square meters to
|
||||
* square kilometers
|
||||
* @returns formatted area string
|
||||
* @note added in QGIS 2.14
|
||||
|
@ -140,21 +140,21 @@ class QgsExpression
|
||||
*/
|
||||
void setGeomCalculator( const QgsDistanceArea* calc );
|
||||
|
||||
/** Returns the desired distance units for calculations involving geomCalculator(), eg "$length" and "$perimeter".
|
||||
/** Returns the desired distance units for calculations involving geomCalculator(), e.g., "$length" and "$perimeter".
|
||||
* @note distances are only converted when a geomCalculator() has been set
|
||||
* @note added in QGIS 2.14
|
||||
* @see setDistanceUnits()
|
||||
*/
|
||||
QgsUnitTypes::DistanceUnit distanceUnits() const;
|
||||
|
||||
/** Sets the desired distance units for calculations involving geomCalculator(), eg "$length" and "$perimeter".
|
||||
/** Sets the desired distance units for calculations involving geomCalculator(), e.g., "$length" and "$perimeter".
|
||||
* @note distances are only converted when a geomCalculator() has been set
|
||||
* @note added in QGIS 2.14
|
||||
* @see distanceUnits()
|
||||
*/
|
||||
void setDistanceUnits( QgsUnitTypes::DistanceUnit unit );
|
||||
|
||||
/** Returns the desired areal units for calculations involving geomCalculator(), eg "$area".
|
||||
/** Returns the desired areal units for calculations involving geomCalculator(), e.g., "$area".
|
||||
* @note areas are only converted when a geomCalculator() has been set
|
||||
* @note added in QGIS 2.14
|
||||
* @see setAreaUnits()
|
||||
@ -162,7 +162,7 @@ class QgsExpression
|
||||
*/
|
||||
QgsUnitTypes::AreaUnit areaUnits() const;
|
||||
|
||||
/** Sets the desired areal units for calculations involving geomCalculator(), eg "$area".
|
||||
/** Sets the desired areal units for calculations involving geomCalculator(), e.g., "$area".
|
||||
* @note areas are only converted when a geomCalculator() has been set
|
||||
* @note added in QGIS 2.14
|
||||
* @see areaUnits()
|
||||
@ -362,7 +362,7 @@ class QgsExpression
|
||||
virtual bool usesGeometry( const QgsExpression::NodeFunction* node ) const;
|
||||
|
||||
/** Returns a list of possible aliases for the function. These include
|
||||
* other permissible names for the function, eg deprecated names.
|
||||
* other permissible names for the function, e.g., deprecated names.
|
||||
* @return list of known aliases
|
||||
* @note added in QGIS 2.9
|
||||
*/
|
||||
@ -835,7 +835,7 @@ class QgsExpression
|
||||
static QString group( const QString& group );
|
||||
|
||||
/** Formats an expression result for friendly display to the user. Truncates the result to a sensible
|
||||
* length, and presents text representations of non numeric/text types (eg geometries and features).
|
||||
* length, and presents text representations of non numeric/text types (e.g., geometries and features).
|
||||
* @param value expression result to format
|
||||
* @returns formatted string, may contain HTML formatting characters
|
||||
* @note added in QGIS 2.14
|
||||
|
@ -217,6 +217,12 @@ class QgsExpressionContext
|
||||
|
||||
QgsExpressionContext();
|
||||
|
||||
/** Initializes the context with given list of scopes.
|
||||
* Ownership of the scopes is transferred to the stack.
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
explicit QgsExpressionContext( const QList<QgsExpressionContextScope*>& scopes /Transfer/ );
|
||||
|
||||
/** Copy constructor
|
||||
*/
|
||||
QgsExpressionContext( const QgsExpressionContext& other );
|
||||
@ -359,6 +365,14 @@ class QgsExpressionContext
|
||||
*/
|
||||
void appendScope( QgsExpressionContextScope* scope /Transfer/ );
|
||||
|
||||
/** Appends a list of scopes to the end of the context. This scopes will override
|
||||
* any matching variables or functions provided by existing scopes within the
|
||||
* context. Ownership of the scopes is transferred to the stack.
|
||||
* @param scopes scopes to append to context
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
void appendScopes( const QList<QgsExpressionContextScope*>& scopes /Transfer/ );
|
||||
|
||||
/**
|
||||
* Removes the last scope from the expression context and return it.
|
||||
*/
|
||||
@ -466,7 +480,7 @@ class QgsExpressionContext
|
||||
/** \ingroup core
|
||||
* \class QgsExpressionContextUtils
|
||||
* \brief Contains utilities for working with QgsExpressionContext objects, including methods
|
||||
* for creating scopes for specific uses (eg project scopes, layer scopes).
|
||||
* for creating scopes for specific uses (e.g., project scopes, layer scopes).
|
||||
* \note added in QGIS 2.12
|
||||
*/
|
||||
|
||||
@ -482,52 +496,22 @@ class QgsExpressionContextUtils
|
||||
* @see setGlobalVariable()
|
||||
*/
|
||||
static QgsExpressionContextScope* globalScope() /Factory/;
|
||||
|
||||
/** Sets a global context variable. This variable will be contained within scopes retrieved via
|
||||
* globalScope().
|
||||
* @param name variable name
|
||||
* @param value variable value
|
||||
* @see setGlobalVariable()
|
||||
* @see globalScope()
|
||||
*/
|
||||
static void setGlobalVariable( const QString& name, const QVariant& value );
|
||||
|
||||
/** Sets all global context variables. Existing global variables will be removed and replaced
|
||||
* with the variables specified.
|
||||
* @param variables new set of global variables
|
||||
* @see setGlobalVariable()
|
||||
* @see globalScope()
|
||||
*/
|
||||
static void setGlobalVariables( const QgsStringMap& variables );
|
||||
|
||||
/** Creates a new scope which contains variables and functions relating to the current QGIS project.
|
||||
* For instance, project path and title, and variables specified through the project properties.
|
||||
* @see setProjectVariable()
|
||||
*/
|
||||
static QgsExpressionContextScope* projectScope() /Factory/;
|
||||
|
||||
/** Sets a project context variable. This variable will be contained within scopes retrieved via
|
||||
* projectScope().
|
||||
* @param name variable name
|
||||
* @param value variable value
|
||||
* @see setProjectVariables()
|
||||
* @see projectScope()
|
||||
*/
|
||||
static void setProjectVariable( const QString& name, const QVariant& value );
|
||||
|
||||
/** Sets all project context variables. Existing project variables will be removed and replaced
|
||||
* with the variables specified.
|
||||
* @param variables new set of project variables
|
||||
* @see setProjectVariable()
|
||||
* @see projectScope()
|
||||
*/
|
||||
static void setProjectVariables( const QgsStringMap& variables );
|
||||
static void setGlobalVariables( const QVariantMap& variables );
|
||||
static QgsExpressionContextScope* projectScope( const QgsProject* project ) /Factory/;
|
||||
static void setProjectVariable( QgsProject* project, const QString& name, const QVariant& value );
|
||||
static void setProjectVariables( QgsProject* project, const QVariantMap& variables );
|
||||
|
||||
/** Creates a new scope which contains variables and functions relating to a QgsMapLayer.
|
||||
* For instance, layer name, id and fields.
|
||||
*/
|
||||
static QgsExpressionContextScope* layerScope( const QgsMapLayer *layer ) /Factory/;
|
||||
|
||||
/** Creates a list of three scopes: global, layer's project and layer.
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
static QList<QgsExpressionContextScope*> globalProjectLayerScopes( const QgsMapLayer* layer ) /Factory/;
|
||||
|
||||
/** Sets a layer context variable. This variable will be contained within scopes retrieved via
|
||||
* layerScope().
|
||||
* @param layer map layer
|
||||
@ -537,15 +521,7 @@ class QgsExpressionContextUtils
|
||||
* @see layerScope()
|
||||
*/
|
||||
static void setLayerVariable( QgsMapLayer* layer, const QString& name, const QVariant& value );
|
||||
|
||||
/** Sets all layer context variables. Existing layer variables will be removed and replaced
|
||||
* with the variables specified.
|
||||
* @param layer map layer
|
||||
* @param variables new set of layer variables
|
||||
* @see setLayerVariable()
|
||||
* @see layerScope()
|
||||
*/
|
||||
static void setLayerVariables( QgsMapLayer* layer, const QgsStringMap& variables );
|
||||
static void setLayerVariables( QgsMapLayer* layer, const QVariantMap& variables );
|
||||
|
||||
/** Creates a new scope which contains variables and functions relating to a QgsMapSettings object.
|
||||
* For instance, map scale and rotation.
|
||||
@ -575,26 +551,8 @@ class QgsExpressionContextUtils
|
||||
* @see compositionScope()
|
||||
*/
|
||||
static void setCompositionVariable( QgsComposition* composition, const QString& name, const QVariant& value );
|
||||
|
||||
/** Sets all composition context variables. Existing composition variables will be removed and replaced
|
||||
* with the variables specified.
|
||||
* @param composition target composition
|
||||
* @param variables new set of layer variables
|
||||
* @see setCompositionVariable()
|
||||
* @see compositionScope()
|
||||
*/
|
||||
static void setCompositionVariables( QgsComposition* composition, const QgsStringMap& variables );
|
||||
|
||||
/** Creates a new scope which contains variables and functions relating to a QgsAtlasComposition.
|
||||
* For instance, current page name and number.
|
||||
* @param atlas source atlas. If null, a set of default atlas variables will be added to the scope.
|
||||
*/
|
||||
static void setCompositionVariables( QgsComposition* composition, const QVariantMap& variables );
|
||||
static QgsExpressionContextScope* atlasScope( const QgsAtlasComposition* atlas ) /Factory/;
|
||||
|
||||
/** Creates a new scope which contains variables and functions relating to a QgsComposerItem.
|
||||
* For instance, item size and position.
|
||||
* @param composerItem source composer item
|
||||
*/
|
||||
static QgsExpressionContextScope* composerItemScope( const QgsComposerItem *composerItem ) /Factory/;
|
||||
|
||||
/** Sets a composer item context variable. This variable will be contained within scopes retrieved via
|
||||
@ -606,20 +564,7 @@ class QgsExpressionContextUtils
|
||||
* @see composerItemScope()
|
||||
*/
|
||||
static void setComposerItemVariable( QgsComposerItem* composerItem, const QString& name, const QVariant& value );
|
||||
|
||||
/** Sets all composition context variables. Existing compositoin variables will be removed and replaced
|
||||
* with the variables specified.
|
||||
* @param composerItem target composer item
|
||||
* @param variables new set of layer variables
|
||||
* @see setComposerItemVariable()
|
||||
* @see composerItemScope()
|
||||
*/
|
||||
static void setComposerItemVariables( QgsComposerItem* composerItem, const QgsStringMap& variables );
|
||||
|
||||
/** Helper function for creating an expression context which contains just a feature and fields
|
||||
* collection. Generally this method should not be used as the created context does not include
|
||||
* standard scopes such as the global and project scopes.
|
||||
*/
|
||||
static void setComposerItemVariables( QgsComposerItem* composerItem, const QVariantMap& variables );
|
||||
static QgsExpressionContext createFeatureBasedContext( const QgsFeature& feature, const QgsFields& fields );
|
||||
|
||||
/** Registers all known core functions provided by QgsExpressionContextScope objects.
|
||||
|
@ -18,12 +18,12 @@ class QgsField
|
||||
/** Constructor. Constructs a new QgsField object.
|
||||
* @param name Field name
|
||||
* @param type Field variant type, currently supported: String / Int / Double
|
||||
* @param typeName Field type (eg. char, varchar, text, int, serial, double).
|
||||
* @param typeName Field type (e.g., char, varchar, text, int, serial, double).
|
||||
* Field types are usually unique to the source and are stored exactly
|
||||
* as returned from the data store.
|
||||
* @param len Field length
|
||||
* @param prec Field precision. Usually decimal places but may also be
|
||||
* used in conjunction with other fields types (eg. variable character fields)
|
||||
* used in conjunction with other fields types (e.g., variable character fields)
|
||||
* @param comment Comment for the field
|
||||
* @param subType If the field is a collection, its element's type. When
|
||||
* all the elements don't need to have the same type, leave
|
||||
|
@ -115,9 +115,9 @@ class QgsFontUtils
|
||||
* @param font QFont to convert
|
||||
* @param pointToPixelMultiplier scaling factor to apply to convert point sizes to pixel font sizes.
|
||||
* The CSS returned by this function will always use pixels for font sizes, so this parameter
|
||||
* should be set to a suitable value to convert point sizes to pixels (eg taking into account
|
||||
* should be set to a suitable value to convert point sizes to pixels (e.g., taking into account
|
||||
* desination DPI)
|
||||
* @returns partial CSS string, eg "font-family: Comic Sans; font-size: 12px;"
|
||||
* @returns partial CSS string, e.g., "font-family: Comic Sans; font-size: 12px;"
|
||||
* @note added in QGIS 2.16
|
||||
*/
|
||||
static QString asCSS( const QFont& font, double pointToPixelMultiplier = 1.0 );
|
||||
|
@ -395,8 +395,8 @@ class QgsMapLayer : QObject
|
||||
/** Sets layer's spatial reference system */
|
||||
void setCrs( const QgsCoordinateReferenceSystem& srs, bool emitSignal = true );
|
||||
|
||||
/** A convenience function to (un)capitalise the layer name */
|
||||
static QString capitaliseLayerName( const QString& name );
|
||||
/** A convenience function to (un)capitalize the layer name */
|
||||
static QString capitalizeLayerName( const QString& name );
|
||||
|
||||
/** Retrieve the style URI for this layer
|
||||
* (either as a .qml file on disk or as a
|
||||
|
@ -5,7 +5,7 @@ class QgsMessageLog : QObject
|
||||
%End
|
||||
|
||||
public:
|
||||
static QgsMessageLog *instance();
|
||||
QgsMessageLog();
|
||||
|
||||
enum MessageLevel
|
||||
{
|
||||
@ -20,8 +20,6 @@ class QgsMessageLog : QObject
|
||||
signals:
|
||||
void messageReceived( const QString& message, const QString& tag, MessageLevel level );
|
||||
|
||||
private:
|
||||
QgsMessageLog();
|
||||
};
|
||||
|
||||
|
||||
|
@ -128,7 +128,7 @@ class QgsPalLayerSettings
|
||||
Curved, /** Arranges candidates following the curvature of a line feature. Applies to line layers only.*/
|
||||
Horizontal, /**< Arranges horizontal candidates scattered throughout a polygon feature. Applies to polygon layers only.*/
|
||||
Free, /**< Arranges candidates scattered throughout a polygon feature. Candidates are rotated to respect the polygon's orientation. Applies to polygon layers only.*/
|
||||
OrderedPositionsAroundPoint, /**< Candidates are placed in predefined positions around a point. Peference is given to positions with greatest cartographic appeal, eg top right, bottom right, etc. Applies to point layers only.*/
|
||||
OrderedPositionsAroundPoint, /**< Candidates are placed in predefined positions around a point. Preference is given to positions with greatest cartographic appeal, e.g., top right, bottom right, etc. Applies to point layers only.*/
|
||||
PerimeterCurved, /** Arranges candidates following the curvature of a polygon's boundary. Applies to polygon layers only.*/
|
||||
};
|
||||
|
||||
@ -173,7 +173,7 @@ class QgsPalLayerSettings
|
||||
respects the direction of the line feature, so a line from right to left labels will have labels
|
||||
placed placed above the line feature. */
|
||||
MapOrientation, /**< Signifies that the AboveLine and BelowLine flags should respect the map's orientation rather
|
||||
than the feature's orientation. Eg, AboveLine will always result in label's being placed
|
||||
than the feature's orientation. For example, AboveLine will always result in label's being placed
|
||||
above a line, regardless of the line's direction. */
|
||||
};
|
||||
|
||||
@ -209,7 +209,7 @@ class QgsPalLayerSettings
|
||||
MultiLeft,
|
||||
MultiCenter,
|
||||
MultiRight,
|
||||
MultiFollowPlacement /*!< Alignment follows placement of label, eg labels to the left of a feature
|
||||
MultiFollowPlacement /*!< Alignment follows placement of label, e.g., labels to the left of a feature
|
||||
will be drawn with right alignment*/
|
||||
};
|
||||
|
||||
@ -366,7 +366,7 @@ class QgsPalLayerSettings
|
||||
|
||||
QString fieldName;
|
||||
|
||||
/** Is this label made from a expression string eg FieldName || 'mm'
|
||||
/** Is this label made from a expression string, e.g., FieldName || 'mm'
|
||||
*/
|
||||
bool isExpression;
|
||||
|
||||
@ -408,7 +408,7 @@ class QgsPalLayerSettings
|
||||
bool centroidInside; // whether centroid-point calculated must be inside polygon
|
||||
|
||||
/** Ordered list of predefined label positions for points. Positions earlier
|
||||
* in the list will be prioritised over later positions. Only used when the placement
|
||||
* in the list will be prioritized over later positions. Only used when the placement
|
||||
* is set to QgsPalLayerSettings::OrderedPositionsAroundPoint.
|
||||
* @note not available in Python bindings
|
||||
*/
|
||||
@ -487,7 +487,7 @@ class QgsPalLayerSettings
|
||||
* @param labelFeature if using QgsLabelingEngine, this will receive the label feature. Not available
|
||||
* in Python bindings.
|
||||
* @param obstacleGeometry optional obstacle geometry, if a different geometry to the feature's geometry
|
||||
* should be used as an obstacle for labels (eg, if the feature has been rendered with an offset point
|
||||
* should be used as an obstacle for labels (e.g., if the feature has been rendered with an offset point
|
||||
* symbol, the obstacle geometry should represent the bounds of the offset symbol). If not set,
|
||||
* the feature's original geometry will be used as an obstacle for labels. Not available
|
||||
* in Python bindings.
|
||||
@ -569,13 +569,13 @@ class QgsPalLayerSettings
|
||||
*/
|
||||
// QMap<QgsPalLayerSettings::DataDefinedProperties, QPair<QString, int> > dataDefinedNames() const;
|
||||
|
||||
/** Returns the label text formatting settings, eg font settings, buffer settings, etc.
|
||||
/** Returns the label text formatting settings, e.g., font settings, buffer settings, etc.
|
||||
* @see setFormat()
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
const QgsTextFormat& format() const;
|
||||
|
||||
/** Sets the label text formatting settings, eg font settings, buffer settings, etc.
|
||||
/** Sets the label text formatting settings, e.g., font settings, buffer settings, etc.
|
||||
* @param format label text format
|
||||
* @see format()
|
||||
* @note added in QGIS 3.0
|
||||
@ -727,7 +727,7 @@ class QgsPalLabeling
|
||||
|
||||
/** Splits a text string to a list of graphemes, which are the smallest allowable character
|
||||
* divisions in the string. This accounts for scripts were individual characters are not
|
||||
* allowed to be split apart (eg Arabic and Indic based scripts)
|
||||
* allowed to be split apart (e.g., Arabic and Indic based scripts)
|
||||
* @param text string to split
|
||||
* @returns list of graphemes
|
||||
* @note added in QGIS 2.10
|
||||
|
@ -37,8 +37,7 @@ class QgsPluginLayerRegistry
|
||||
|
||||
public:
|
||||
|
||||
/** Means of accessing canonical single instance */
|
||||
static QgsPluginLayerRegistry* instance();
|
||||
QgsPluginLayerRegistry();
|
||||
|
||||
~QgsPluginLayerRegistry();
|
||||
|
||||
@ -62,8 +61,6 @@ class QgsPluginLayerRegistry
|
||||
|
||||
private:
|
||||
|
||||
/** Private since instance() creates it */
|
||||
QgsPluginLayerRegistry();
|
||||
QgsPluginLayerRegistry( const QgsPluginLayerRegistry& rh );
|
||||
|
||||
};
|
||||
|
@ -185,10 +185,10 @@ class QgsPoint
|
||||
* Its up to the calling function to ensure that this point can
|
||||
* be meaningfully represented in this form.
|
||||
* @param thePrecision number of decimal points to use for seconds
|
||||
* @param useSuffix set to true to include a direction suffix (eg 'N'),
|
||||
* @param useSuffix set to true to include a direction suffix (e.g., 'N'),
|
||||
* set to false to use a "-" prefix for west and south coordinates
|
||||
* @param padded set to true to force minutes and seconds to use two decimals,
|
||||
* eg, '05' instead of '5'.
|
||||
* e.g., '05' instead of '5'.
|
||||
*/
|
||||
QString toDegreesMinutesSeconds( int thePrecision, const bool useSuffix = true, const bool padded = false ) const;
|
||||
|
||||
@ -196,10 +196,10 @@ class QgsPoint
|
||||
* Its up to the calling function to ensure that this point can
|
||||
* be meaningfully represented in this form.
|
||||
* @param thePrecision number of decimal points to use for minutes
|
||||
* @param useSuffix set to true to include a direction suffix (eg 'N'),
|
||||
* @param useSuffix set to true to include a direction suffix (e.g., 'N'),
|
||||
* set to false to use a "-" prefix for west and south coordinates
|
||||
* @param padded set to true to force minutes to use two decimals,
|
||||
* eg, '05' instead of '5'.
|
||||
* e.g., '05' instead of '5'.
|
||||
*/
|
||||
QString toDegreesMinutes( int thePrecision, const bool useSuffix = true, const bool padded = false ) const;
|
||||
|
||||
|
@ -86,7 +86,7 @@ class QgsProject : QObject, QgsExpressionContextGenerator
|
||||
void setCrs( const QgsCoordinateReferenceSystem& crs );
|
||||
|
||||
/**
|
||||
* Returns a proj string representing the project's ellipsoid setting, eg "WGS84".
|
||||
* Returns a proj string representing the project's ellipsoid setting, e.g., "WGS84".
|
||||
* @see setEllipsoid()
|
||||
* @see crs()
|
||||
* @note added in QGIS 2.18
|
||||
@ -94,7 +94,7 @@ class QgsProject : QObject, QgsExpressionContextGenerator
|
||||
QString ellipsoid() const;
|
||||
|
||||
/**
|
||||
* Sets the project's ellipsoid from a proj string representation, eg "WGS84".
|
||||
* Sets the project's ellipsoid from a proj string representation, e.g., "WGS84".
|
||||
* @see ellipsoid()
|
||||
* @see setCrs()
|
||||
* @note added in QGIS 2.18
|
||||
@ -106,52 +106,37 @@ class QgsProject : QObject, QgsExpressionContextGenerator
|
||||
*/
|
||||
void clear();
|
||||
|
||||
/** Reads a project file.
|
||||
* @param file name of project file to read
|
||||
* @note Any current plug-in state is erased
|
||||
* @note Calling read() performs the following operations:
|
||||
*
|
||||
* - Gets the extents
|
||||
* - Creates maplayers
|
||||
* - Registers maplayers
|
||||
*
|
||||
* @note it's presumed that the caller has already reset the map canvas, map registry, and legend
|
||||
/** Reads given project file from the given file.
|
||||
* @param filename name of project file to read
|
||||
* @returns true if project file has been read successfully
|
||||
*/
|
||||
bool read( const QFileInfo& file );
|
||||
bool read( const QString& filename );
|
||||
|
||||
/** Reads the current project file.
|
||||
* @note Any current plug-in state is erased
|
||||
* @note Calling read() performs the following operations:
|
||||
*
|
||||
* - Gets the extents
|
||||
* - Creates maplayers
|
||||
* - Registers maplayers
|
||||
*
|
||||
* @note it's presumed that the caller has already reset the map canvas, map registry, and legend
|
||||
/** Reads the project from its currently associated file (see fileName() ).
|
||||
* @returns true if project file has been read successfully
|
||||
*/
|
||||
bool read();
|
||||
|
||||
/** Reads the layer described in the associated DOM node.
|
||||
*
|
||||
* @note This method is mainly for use by QgsProjectBadLayerHandler subclasses
|
||||
* that may fix definition of bad layers with the user's help in GUI. Calling
|
||||
* this method with corrected DOM node adds the layer back to the project.
|
||||
*
|
||||
* @param layerNode represents a QgsProject DOM node that encodes a specific layer.
|
||||
*
|
||||
* QgsProject raises an exception when one of the QgsProject::read()
|
||||
* implementations fails. Since the read()s are invoked from qgisapp,
|
||||
* then qgisapp handles the exception. It prompts the user for the new
|
||||
* location of the data, if any. If there is a new location, the DOM
|
||||
* node associated with the layer has its datasource tag corrected.
|
||||
* Then that node is passed to this member function to be re-opened.
|
||||
*
|
||||
*/
|
||||
bool read( QDomNode& layerNode );
|
||||
bool readLayer( const QDomNode& layerNode );
|
||||
|
||||
/** Writes the project to a file.
|
||||
* @param file destination file
|
||||
/**
|
||||
* Writes the project to a file.
|
||||
* @param filename destination file
|
||||
* @note calling this implicitly sets the project's filename (see setFileName() )
|
||||
* @note isDirty() will be set to false if project is successfully written
|
||||
* @returns true if project was written successfully
|
||||
*
|
||||
* \note Added in QGIS 3.0
|
||||
*/
|
||||
bool write( const QFileInfo& file );
|
||||
bool write( const QString& filename );
|
||||
|
||||
/** Writes the project to its current associated file (see fileName() ).
|
||||
* @note isDirty() will be set to false if project is successfully written
|
||||
@ -411,33 +396,16 @@ class QgsProject : QObject, QgsExpressionContextGenerator
|
||||
*
|
||||
* @note Added in QGIS 3.0
|
||||
*/
|
||||
QStringList avoidIntersectionsList() const;
|
||||
QList<QgsVectorLayer*> avoidIntersectionsLayers() const;
|
||||
|
||||
/**
|
||||
* A list of layers with which intersections should be avoided.
|
||||
*
|
||||
* @note Added in QGIS 3.0
|
||||
*/
|
||||
void setAvoidIntersectionsList( const QStringList& avoidIntersectionsList );
|
||||
|
||||
/**
|
||||
* A map of custom project variables.
|
||||
* To get all available variables including generated ones
|
||||
* use QgsExpressionContextUtils::projectScope() instead.
|
||||
*/
|
||||
QgsStringMap variables() const;
|
||||
|
||||
/**
|
||||
* A map of custom project variables.
|
||||
* Be careful not to set generated variables.
|
||||
*/
|
||||
void setVariables( const QgsStringMap& variables );
|
||||
|
||||
//
|
||||
// Functionality from QgsMapLayerRegistry
|
||||
//
|
||||
|
||||
//! Returns the number of registered layers.
|
||||
void setAvoidIntersectionsLayers( const QList<QgsVectorLayer*>& layers );
|
||||
QVariantMap customVariables() const;
|
||||
void setCustomVariables( const QVariantMap& customVariables );
|
||||
int count() const;
|
||||
|
||||
/** Retrieve a pointer to a registered layer by layer ID.
|
||||
@ -660,7 +628,7 @@ class QgsProject : QObject, QgsExpressionContextGenerator
|
||||
/** Emitted whenever the expression variables stored in the project have been changed.
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
void variablesChanged();
|
||||
void customVariablesChanged();
|
||||
|
||||
/**
|
||||
* Emitted whenever a new transaction group has been created or a
|
||||
@ -678,11 +646,11 @@ class QgsProject : QObject, QgsExpressionContextGenerator
|
||||
void topologicalEditingChanged();
|
||||
|
||||
/**
|
||||
* Emitted whenever avoidIntersectionsList has changed.
|
||||
* Emitted whenever avoidIntersectionsLayers has changed.
|
||||
*
|
||||
* @note Added in QGIS 3.0
|
||||
*/
|
||||
void avoidIntersectionsListChanged();
|
||||
void avoidIntersectionsLayersChanged();
|
||||
|
||||
/**
|
||||
* Emitted when the map theme collection changes.
|
||||
|
@ -32,7 +32,6 @@ class QgsProjectBadLayerHandler
|
||||
* log.
|
||||
*
|
||||
* @note Added in QGIS 3.0
|
||||
* @see QgsProjectBadLayerGuiHandler
|
||||
*/
|
||||
virtual void handleBadLayers( const QList<QDomNode>& layers );
|
||||
virtual ~QgsProjectBadLayerHandler();
|
||||
|
@ -1,12 +1,12 @@
|
||||
class QgsProperty
|
||||
class QgsProjectProperty
|
||||
{
|
||||
%TypeHeaderCode
|
||||
#include <qgsprojectproperty.h>
|
||||
%End
|
||||
|
||||
public:
|
||||
QgsProperty();
|
||||
virtual ~QgsProperty();
|
||||
QgsProjectProperty();
|
||||
virtual ~QgsProjectProperty();
|
||||
|
||||
/** Dumps out the keys and values
|
||||
*
|
||||
@ -34,7 +34,7 @@ class QgsProperty
|
||||
*
|
||||
* Used for restoring properties from project file
|
||||
*/
|
||||
virtual bool readXml( QDomNode & keyNode ) = 0;
|
||||
virtual bool readXml( const QDomNode& keyNode ) = 0;
|
||||
|
||||
/**
|
||||
* adds property hierarchy to given Dom element
|
||||
@ -63,16 +63,16 @@ class QgsProperty
|
||||
}; // class QgsProperty
|
||||
|
||||
|
||||
class QgsPropertyValue : QgsProperty
|
||||
class QgsProjectPropertyValue : QgsProjectProperty
|
||||
{
|
||||
%TypeHeaderCode
|
||||
#include <qgsprojectproperty.h>
|
||||
%End
|
||||
|
||||
public:
|
||||
QgsPropertyValue();
|
||||
QgsPropertyValue( const QVariant &value );
|
||||
virtual ~QgsPropertyValue();
|
||||
QgsProjectPropertyValue();
|
||||
QgsProjectPropertyValue( const QVariant &value );
|
||||
virtual ~QgsProjectPropertyValue();
|
||||
|
||||
/** Returns true if is a QgsPropertyKey */
|
||||
virtual bool isKey() const;
|
||||
@ -91,30 +91,23 @@ class QgsPropertyValue : QgsProperty
|
||||
|
||||
void dump( int tabs = 0 ) const;
|
||||
|
||||
bool readXml( QDomNode & keyNode );
|
||||
bool readXml( const QDomNode& keyNode );
|
||||
|
||||
bool writeXml( const QString & nodeName,
|
||||
QDomElement & element,
|
||||
QDomDocument & document );
|
||||
|
||||
int count() const;
|
||||
|
||||
/** Return keys that do not contain other keys
|
||||
* Since QgsPropertyValue isn't a key, don't do anything.
|
||||
*/
|
||||
void entryList( QStringList & keyName, QStringList & entries ) const;
|
||||
|
||||
};
|
||||
|
||||
class QgsPropertyKey : QgsProperty
|
||||
class QgsProjectPropertyKey : QgsProjectProperty
|
||||
{
|
||||
%TypeHeaderCode
|
||||
#include <qgsprojectproperty.h>
|
||||
%End
|
||||
|
||||
public:
|
||||
QgsPropertyKey( const QString& name = QString() );
|
||||
virtual ~QgsPropertyKey();
|
||||
QgsProjectPropertyKey( const QString& name = QString() );
|
||||
virtual ~QgsProjectPropertyKey();
|
||||
|
||||
/**
|
||||
* The name of the property is used as identifier.
|
||||
@ -133,7 +126,7 @@ class QgsPropertyKey : QgsProperty
|
||||
|
||||
|
||||
/// add the given property key
|
||||
QgsPropertyKey * addKey( const QString & keyName );
|
||||
QgsProjectPropertyKey * addKey( const QString & keyName );
|
||||
|
||||
/// remove the given key
|
||||
void removeKey( const QString & keyName );
|
||||
@ -143,19 +136,19 @@ class QgsPropertyKey : QgsProperty
|
||||
* @param value is the value to set
|
||||
* @return pointer to property value
|
||||
*/
|
||||
QgsPropertyValue * setValue( const QString & name, const QVariant & value );
|
||||
QgsProjectPropertyValue * setValue( const QString & name, const QVariant & value );
|
||||
|
||||
/** Set the value associated with this key
|
||||
*
|
||||
* @note that the single value node associated with each key is always
|
||||
* stored keyed by the current key name
|
||||
*/
|
||||
QgsPropertyValue * setValue( const QVariant & value );
|
||||
QgsProjectPropertyValue * setValue( const QVariant & value );
|
||||
|
||||
|
||||
void dump( int tabs = 0 ) const;
|
||||
|
||||
bool readXml( QDomNode & keyNode );
|
||||
bool readXml( const QDomNode& keyNode );
|
||||
|
||||
bool writeXml( const QString &nodeName, QDomElement & element, QDomDocument & document );
|
||||
|
||||
@ -189,5 +182,5 @@ class QgsPropertyKey : QgsProperty
|
||||
/// delete any sub-nodes
|
||||
virtual void clearKeys();
|
||||
|
||||
QgsProperty * find( QString & propertyName );
|
||||
QgsProjectProperty * find( QString & propertyName );
|
||||
}; // class QgsPropertyKey
|
||||
|
@ -47,7 +47,8 @@ class QgsSnappingUtils : QObject
|
||||
{
|
||||
IndexAlwaysFull, //!< For all layers build index of full extent. Uses more memory, but queries are faster.
|
||||
IndexNeverFull, //!< For all layers only create temporary indexes of small extent. Low memory usage, slower queries.
|
||||
IndexHybrid //!< For "big" layers using IndexNeverFull, for the rest IndexAlwaysFull. Compromise between speed and memory usage.
|
||||
IndexHybrid, //!< For "big" layers using IndexNeverFull, for the rest IndexAlwaysFull. Compromise between speed and memory usage.
|
||||
IndexExtent //!< For all layer build index of extent given in map settings
|
||||
};
|
||||
|
||||
/** Set a strategy for indexing geometry data - determines how fast and memory consuming the data structures will be */
|
||||
|
@ -49,13 +49,13 @@ class QgsStatisticalSummary
|
||||
virtual ~QgsStatisticalSummary();
|
||||
|
||||
/** Returns flags which specify which statistics will be calculated. Some statistics
|
||||
* are always calculated (eg sum, min and max).
|
||||
* are always calculated (e.g., sum, min and max).
|
||||
* @see setStatistics
|
||||
*/
|
||||
QgsStatisticalSummary::Statistics statistics() const;
|
||||
|
||||
/** Sets flags which specify which statistics will be calculated. Some statistics
|
||||
* are always calculated (eg sum, min and max).
|
||||
* are always calculated (e.g., sum, min and max).
|
||||
* @param stats flags for statistics to calculate
|
||||
* @see statistics
|
||||
*/
|
||||
|
@ -42,13 +42,13 @@ class QgsStringStatisticalSummary
|
||||
QgsStringStatisticalSummary( QgsStringStatisticalSummary::Statistics stats = All );
|
||||
|
||||
/** Returns flags which specify which statistics will be calculated. Some statistics
|
||||
* are always calculated (eg count).
|
||||
* are always calculated (e.g., count).
|
||||
* @see setStatistics
|
||||
*/
|
||||
Statistics statistics() const;
|
||||
|
||||
/** Sets flags which specify which statistics will be calculated. Some statistics
|
||||
* are always calculated (eg count).
|
||||
* are always calculated (e.g., count).
|
||||
* @param stats flags for statistics to calculate
|
||||
* @see statistics
|
||||
*/
|
||||
|
@ -152,7 +152,7 @@ class QgsStringUtils
|
||||
static int levenshteinDistance( const QString &string1, const QString &string2, bool caseSensitive = false );
|
||||
|
||||
/** Returns the longest common substring between two strings. This substring is the longest
|
||||
* string that is a substring of the two input strings. Eg, the longest common substring
|
||||
* string that is a substring of the two input strings. For example, the longest common substring
|
||||
* of "ABABC" and "BABCA" is "ABC".
|
||||
* @param string1 first string
|
||||
* @param string2 second string
|
||||
@ -178,7 +178,7 @@ class QgsStringUtils
|
||||
*/
|
||||
static QString soundex( const QString &string );
|
||||
|
||||
/** Returns a string with any URL (eg http(s)/ftp) and mailto: text converted to valid HTML <a ...>
|
||||
/** Returns a string with any URL (e.g., http(s)/ftp) and mailto: text converted to valid HTML <a ...>
|
||||
* links.
|
||||
* @param string string to insert links into
|
||||
* @param foundLinks if specified, will be set to true if any links were inserted into the string
|
||||
|
@ -181,7 +181,7 @@ class QgsTask : QObject
|
||||
|
||||
/**
|
||||
* Will be emitted by task if it has terminated for any reason
|
||||
* other then completion (eg when a task has been cancelled or encountered
|
||||
* other then completion (e.g., when a task has been cancelled or encountered
|
||||
* an internal error).
|
||||
* @note derived classes should not emit this signal directly, it will automatically
|
||||
* be emitted
|
||||
|
@ -215,12 +215,12 @@ class QgsTextBackgroundSettings
|
||||
*/
|
||||
void setEnabled( bool enabled );
|
||||
|
||||
/** Returns the type of background shape (eg square, ellipse, SVG).
|
||||
/** Returns the type of background shape (e.g., square, ellipse, SVG).
|
||||
* @see setType()
|
||||
*/
|
||||
ShapeType type() const;
|
||||
|
||||
/** Sets the type of background shape to draw (eg square, ellipse, SVG).
|
||||
/** Sets the type of background shape to draw (e.g., square, ellipse, SVG).
|
||||
* @param type shape type
|
||||
* @see type()
|
||||
*/
|
||||
@ -238,14 +238,14 @@ class QgsTextBackgroundSettings
|
||||
*/
|
||||
void setSvgFile( const QString& file );
|
||||
|
||||
/** Returns the method used to determine the size of the background shape (eg fixed size or buffer
|
||||
/** Returns the method used to determine the size of the background shape (e.g., fixed size or buffer
|
||||
* around text).
|
||||
* @see setSizeType()
|
||||
* @see size()
|
||||
*/
|
||||
SizeType sizeType() const;
|
||||
|
||||
/** Sets the method used to determine the size of the background shape (eg fixed size or buffer
|
||||
/** Sets the method used to determine the size of the background shape (e.g., fixed size or buffer
|
||||
* around text).
|
||||
* @param type size method
|
||||
* @see sizeType()
|
||||
@ -253,8 +253,8 @@ class QgsTextBackgroundSettings
|
||||
*/
|
||||
void setSizeType( SizeType type );
|
||||
|
||||
/** Returns the size of the background shape. The meaning of the size depends on the current sizeType()
|
||||
* eg, for size types of QgsTextBackgroundSettings::SizeFixed the size will represent the actual width and
|
||||
/** Returns the size of the background shape. The meaning of the size depends on the current sizeType(),
|
||||
* e.g., for size types of QgsTextBackgroundSettings::SizeFixed the size will represent the actual width and
|
||||
* height of the shape, for QgsTextBackgroundSettings::SizeBuffer the size will represent the horizontal
|
||||
* and vertical margins to add to the text when calculating the size of the shape.
|
||||
* @see setSize()
|
||||
@ -262,8 +262,8 @@ class QgsTextBackgroundSettings
|
||||
*/
|
||||
QSizeF size() const;
|
||||
|
||||
/** Sets the size of the background shape. The meaning of the size depends on the current sizeType()
|
||||
* eg, for size types of QgsTextBackgroundSettings::SizeFixed the size will represent the actual width and
|
||||
/** Sets the size of the background shape. The meaning of the size depends on the current sizeType(),
|
||||
* e.g., for size types of QgsTextBackgroundSettings::SizeFixed the size will represent the actual width and
|
||||
* height of the shape, for QgsTextBackgroundSettings::SizeBuffer the size will represent the horizontal
|
||||
* and vertical margins to add to the text when calculating the size of the shape.
|
||||
* @param size QSizeF representing horizontal and vertical size components for shape
|
||||
@ -589,14 +589,14 @@ class QgsTextShadowSettings
|
||||
void setEnabled( bool enabled );
|
||||
|
||||
/** Returns the placement for the drop shadow. The placement determines
|
||||
* both the z-order stacking position for the shadow and the what shape (eg text,
|
||||
* both the z-order stacking position for the shadow and the what shape (e.g., text,
|
||||
* background shape) is used for casting the shadow.
|
||||
* @see setShadowPlacement()
|
||||
*/
|
||||
QgsTextShadowSettings::ShadowPlacement shadowPlacement() const;
|
||||
|
||||
/** Sets the placement for the drop shadow. The placement determines
|
||||
* both the z-order stacking position for the shadow and the what shape (eg text,
|
||||
* both the z-order stacking position for the shadow and the what shape (e.g., text,
|
||||
* background shape) is used for casting the shadow.
|
||||
* @param placement shadow placement
|
||||
* @see shadowPlacement()
|
||||
@ -874,14 +874,14 @@ class QgsTextFormat
|
||||
*/
|
||||
void setFont( const QFont& font );
|
||||
|
||||
/** Returns the named style for the font used for rendering text (eg "bold").
|
||||
/** Returns the named style for the font used for rendering text (e.g., "bold").
|
||||
* @see setNamedStyle()
|
||||
* @see font()
|
||||
*/
|
||||
QString namedStyle() const;
|
||||
|
||||
/** Sets the named style for the font used for rendering text.
|
||||
* @param style named style, eg "bold"
|
||||
* @param style named style, e.g., "bold"
|
||||
* @see namedStyle()
|
||||
* @see setFont()
|
||||
*/
|
||||
@ -1115,7 +1115,7 @@ class QgsTextRenderer
|
||||
* @param context render context
|
||||
* @param format text format
|
||||
* @param part component of text to draw. Note that Shadow parts cannot be drawn
|
||||
* individually and instead are drawn with their associated part (eg drawn together
|
||||
* individually and instead are drawn with their associated part (e.g., drawn together
|
||||
* with the text or background parts)
|
||||
* @param drawAsOutlines set to false to render text as text. This allows outputs to
|
||||
* formats like SVG to maintain text as text objects, but at the cost of degraded
|
||||
|
@ -30,7 +30,7 @@ class QgsUnitTypes
|
||||
enum DistanceUnitType
|
||||
{
|
||||
Standard, /*!< unit is a standard measurement unit */
|
||||
Geographic, /*!< unit is a geographic (eg degree based) unit */
|
||||
Geographic, /*!< unit is a geographic (e.g., degree based) unit */
|
||||
UnknownType, /*!< unknown unit type */
|
||||
};
|
||||
|
||||
@ -67,8 +67,8 @@ class QgsUnitTypes
|
||||
RenderMillimeters, //!< millimeters
|
||||
RenderMapUnits, //!< map units
|
||||
RenderPixels, //!< pixels
|
||||
RenderPercentage, //!< percentage of another measurement (eg canvas size, feature size)
|
||||
RenderPoints, //! points (eg for font sizes)
|
||||
RenderPercentage, //!< percentage of another measurement (e.g., canvas size, feature size)
|
||||
RenderPoints, //! points (e.g., for font sizes)
|
||||
RenderUnknownUnit, //!< mixed or unknown units
|
||||
};
|
||||
|
||||
@ -153,7 +153,7 @@ class QgsUnitTypes
|
||||
*/
|
||||
static double fromUnitToUnitFactor( AreaUnit fromUnit, AreaUnit toUnit );
|
||||
|
||||
/** Converts a distance unit to its corresponding area unit, eg meters to square meters
|
||||
/** Converts a distance unit to its corresponding area unit, e.g., meters to square meters
|
||||
* @param distanceUnit distance unit to convert
|
||||
* @return matching areal unit
|
||||
*/
|
||||
|
@ -49,6 +49,8 @@ class QgsVectorDataProvider : QgsDataProvider
|
||||
ChangeFeatures,
|
||||
/** Supports renaming attributes (fields). Added in QGIS 2.16 */
|
||||
RenameAttributes,
|
||||
//! Supports fast truncation of the layer (removing all features). Added in QGIS 3.0
|
||||
FastTruncate,
|
||||
};
|
||||
typedef QFlags<QgsVectorDataProvider::Capability> Capabilities;
|
||||
|
||||
@ -191,11 +193,21 @@ class QgsVectorDataProvider : QgsDataProvider
|
||||
virtual bool addFeatures( QList<QgsFeature> &flist /In,Out/ );
|
||||
|
||||
/**
|
||||
* Deletes one or more features
|
||||
* Deletes one or more features from the provider. This requires the DeleteFeatures capability.
|
||||
* @param id list containing feature ids to delete
|
||||
* @return true in case of success and false in case of failure
|
||||
* @see truncate()
|
||||
*/
|
||||
virtual bool deleteFeatures( const QSet<qint64> &id );
|
||||
virtual bool deleteFeatures( const QgsFeatureIds &id );
|
||||
|
||||
/**
|
||||
* Removes all features from the layer. This requires either the FastTruncate or DeleteFeatures capability.
|
||||
* Providers with the FastTruncate capability will use an optimised method to truncate the layer.
|
||||
* @returns true in case of success and false in case of failure.
|
||||
* @note added in QGIS 3.0
|
||||
* @see deleteFeatures()
|
||||
*/
|
||||
virtual bool truncate();
|
||||
|
||||
/**
|
||||
* Adds new attributes
|
||||
@ -241,8 +253,8 @@ class QgsVectorDataProvider : QgsDataProvider
|
||||
* Returns any literal default values which are present at the provider for a specified
|
||||
* field index. Important - this should ONLY be called when creating an attribute to insert
|
||||
* directly into the database. Do not call this method for non-feature creation or modification,
|
||||
* eg when validating an attribute or to compare it against an existing value, as calling it
|
||||
* can cause changes to the underlying data source (eg Postgres provider where the default value
|
||||
* e.g., when validating an attribute or to compare it against an existing value, as calling it
|
||||
* can cause changes to the underlying data source (e.g., Postgres provider where the default value
|
||||
* is calculated as a result of a sequence). It is recommended that you instead use the methods
|
||||
* in QgsVectorLayerUtils such as QgsVectorLayerUtils::createFeature()
|
||||
* so that default value handling and validation is automatically carried out.
|
||||
@ -253,7 +265,7 @@ class QgsVectorDataProvider : QgsDataProvider
|
||||
/**
|
||||
* Returns any default value clauses which are present at the provider for a specified
|
||||
* field index. These clauses are usually SQL fragments which must be evaluated by the
|
||||
* provider, eg sequence values.
|
||||
* provider, e.g., sequence values.
|
||||
* @see defaultValue()
|
||||
* @note added in QGIS 3.0
|
||||
*/
|
||||
@ -268,7 +280,7 @@ class QgsVectorDataProvider : QgsDataProvider
|
||||
QgsFieldConstraints::Constraints fieldConstraints( int fieldIndex ) const;
|
||||
|
||||
/**
|
||||
* Returns true if a constraint check should be skipped for a specified field (eg if
|
||||
* Returns true if a constraint check should be skipped for a specified field (e.g., if
|
||||
* the value returned by defaultValue() is trusted implicitly. An optional attribute value can be
|
||||
* passed which can help refine the skip constraint check.
|
||||
* @note added in QGIS 3.0
|
||||
|
@ -352,7 +352,7 @@ class QgsVectorLayer : QgsMapLayer, QgsExpressionContextGenerator
|
||||
* @param path The path or url of the parameter. Typically this encodes
|
||||
* parameters used by the data provider as url query items.
|
||||
* @param baseName The name used to represent the layer in the legend
|
||||
* @param providerLib The name of the data provider, eg "memory", "postgres"
|
||||
* @param providerLib The name of the data provider, e.g., "memory", "postgres"
|
||||
* @param loadDefaultStyleFlag whether to load the default style
|
||||
*
|
||||
*/
|
||||
|
@ -38,7 +38,7 @@ class QgsVectorLayerUtils
|
||||
|
||||
/**
|
||||
* Creates a new feature ready for insertion into a layer. Default values and constraints
|
||||
* (eg unique constraints) will automatically be handled. An optional attribute map can be
|
||||
* (e.g., unique constraints) will automatically be handled. An optional attribute map can be
|
||||
* passed for the new feature to copy as many attribute values as possible from the map,
|
||||
* assuming that they respect the layer's constraints. Note that the created feature is not
|
||||
* automatically inserted into the layer.
|
||||
|
@ -5,7 +5,31 @@ class QgsColorRampShader : QgsRasterShaderFunction
|
||||
%End
|
||||
|
||||
public:
|
||||
QgsColorRampShader( double theMinimumValue = 0.0, double theMaximumValue = 255.0 );
|
||||
//! Supported methods for color interpolation.
|
||||
enum Type
|
||||
{
|
||||
Interpolated, //!< Interpolates the color between two class breaks linearly.
|
||||
Discrete, //!< Assigns the color of the higher class for every pixel between two class breaks.
|
||||
Exact //!< Assigns the color of the exact matching value in the color ramp item list
|
||||
};
|
||||
|
||||
//! Classification modes used to create the color ramp shader
|
||||
enum ClassificationMode
|
||||
{
|
||||
Continuous = 1, //!< Uses breaks from color palette
|
||||
EqualInterval = 2, //!< Uses equal interval
|
||||
Quantile = 3 //!< Uses quantile (i.e. equal pixel) count
|
||||
};
|
||||
|
||||
/** Creates a new color ramp shader.
|
||||
* @param theMinimumValue minimum value for the raster shader
|
||||
* @param theMaximumValue maximum value for the raster shader
|
||||
* @param theType interpolation type used
|
||||
* @param theClassificationMode method used to classify the color ramp shader
|
||||
* @param theColorRamp vector color ramp used to classify the color ramp shader
|
||||
* @returns new QgsColorRampShader
|
||||
*/
|
||||
QgsColorRampShader( double theMinimumValue = 0.0, double theMaximumValue = 255.0, QgsColorRamp* theColorRamp = nullptr, Type theType = Interpolated, ClassificationMode theClassificationMode = Continuous );
|
||||
|
||||
~QgsColorRampShader();
|
||||
|
||||
@ -28,19 +52,11 @@ class QgsColorRampShader : QgsRasterShaderFunction
|
||||
bool operator<( const QgsColorRampShader::ColorRampItem& other ) const;
|
||||
};
|
||||
|
||||
/** Supported methods for color interpolation. */
|
||||
enum ColorRamp_TYPE
|
||||
{
|
||||
INTERPOLATED, //!< Interpolates the color between two class breaks linearly.
|
||||
DISCRETE, //!< Assigns the color of the higher class for every pixel between two class breaks.
|
||||
EXACT //!< Assigns the color of the exact matching value in the color ramp item list
|
||||
};
|
||||
|
||||
/** \brief Get the custom colormap*/
|
||||
QList<QgsColorRampShader::ColorRampItem> colorRampItemList() const;
|
||||
|
||||
/** \brief Get the color ramp type */
|
||||
QgsColorRampShader::ColorRamp_TYPE colorRampType() const;
|
||||
Type colorRampType() const;
|
||||
|
||||
/** Get the source color ramp
|
||||
* @note added in QGIS 3.0
|
||||
@ -61,11 +77,27 @@ class QgsColorRampShader : QgsRasterShaderFunction
|
||||
void setColorRampItemList( const QList<QgsColorRampShader::ColorRampItem>& theList ); //TODO: sort on set
|
||||
|
||||
/** \brief Set the color ramp type*/
|
||||
void setColorRampType( QgsColorRampShader::ColorRamp_TYPE theColorRampType );
|
||||
void setColorRampType( QgsColorRampShader::Type theColorRampType );
|
||||
|
||||
/** \brief Set the color ramp type*/
|
||||
void setColorRampType( const QString& theType );
|
||||
|
||||
/** Classify color ramp shader
|
||||
* @param classes number of classes
|
||||
* @param band raster band used in classification (only used in quantile mode)
|
||||
* @param extent extent used in classification (only used in quantile mode)
|
||||
* @param input raster input used in classification (only used in quantile mode)
|
||||
*/
|
||||
void classifyColorRamp( const int classes = 0, const int band = -1, const QgsRectangle& extent = QgsRectangle(), QgsRasterInterface* input = nullptr );
|
||||
|
||||
/** Classify color ramp shader
|
||||
* @param band raster band used in classification (only used in quantile mode)
|
||||
* @param extent extent used in classification (only used in quantile mode)
|
||||
* @param input raster input used in classification (only used in quantile mode)
|
||||
*/
|
||||
void classifyColorRamp( const int band = -1, const QgsRectangle& extent = QgsRectangle(), QgsRasterInterface* input = nullptr ) /PyName=classifyColorRampV2/;
|
||||
|
||||
|
||||
/** \brief Generates and new RGB value based on one input value */
|
||||
bool shade( double, int* /Out/, int* /Out/, int* /Out/, int* /Out/ );
|
||||
|
||||
@ -74,6 +106,12 @@ class QgsColorRampShader : QgsRasterShaderFunction
|
||||
|
||||
void legendSymbologyItems( QList< QPair< QString, QColor > >& symbolItems ) const;
|
||||
|
||||
//! Sets classification mode
|
||||
void setClassificationMode( ClassificationMode classificationMode );
|
||||
|
||||
//! Returns the classification mode
|
||||
ClassificationMode classificationMode() const;
|
||||
|
||||
/** Sets whether the shader should not render values out of range.
|
||||
* @param clip set to true to clip values which are out of range.
|
||||
* @see clip()
|
||||
|
@ -211,7 +211,7 @@ class QgsRasterInterface
|
||||
|
||||
/** \brief Get histogram. Histograms are cached in providers.
|
||||
* @param theBandNo The band (number).
|
||||
* @param theBinCount Number of bins (intervals,buckets). If 0, the number of bins is decided automaticaly according to data type, raster size etc.
|
||||
* @param theBinCount Number of bins (intervals,buckets). If 0, the number of bins is decided automatically according to data type, raster size etc.
|
||||
* @param theMinimum Minimum value, if NaN, raster minimum value will be used.
|
||||
* @param theMaximum Maximum value, if NaN, raster minimum value will be used.
|
||||
* @param theExtent Extent used to calc histogram, if empty, whole raster extent is used.
|
||||
|
@ -4,6 +4,7 @@ class QgsSingleBandPseudoColorRenderer: QgsRasterRenderer
|
||||
#include "qgssinglebandpseudocolorrenderer.h"
|
||||
%End
|
||||
public:
|
||||
|
||||
/** Note: takes ownership of QgsRasterShader*/
|
||||
QgsSingleBandPseudoColorRenderer( QgsRasterDataProvider* provider, int band, QgsRasterShader* shader /Transfer/ );
|
||||
~QgsSingleBandPseudoColorRenderer();
|
||||
@ -15,10 +16,22 @@ class QgsSingleBandPseudoColorRenderer: QgsRasterRenderer
|
||||
|
||||
/** Takes ownership of the shader*/
|
||||
void setShader( QgsRasterShader* shader /Transfer/ );
|
||||
|
||||
QgsRasterShader* shader();
|
||||
|
||||
//! @note available in python as constShader
|
||||
const QgsRasterShader* shader() const /PyName=constShader/;
|
||||
|
||||
/** Creates a color ramp shader
|
||||
* @param colorRamp vector color ramp
|
||||
* @param colorRampType type of color ramp shader
|
||||
* @param classificationMode classification mode
|
||||
* @param classes number of classes
|
||||
* @param clip clip out of range values
|
||||
* @param extent extent used in classification (only used in quantile mode)
|
||||
*/
|
||||
void createShader( QgsColorRamp* colorRamp = nullptr, QgsColorRampShader::Type colorRampType = QgsColorRampShader::Interpolated, QgsColorRampShader::ClassificationMode classificationMode = QgsColorRampShader::Continuous, int classes = 0, bool clip = false, const QgsRectangle& extent = QgsRectangle() );
|
||||
|
||||
void writeXml( QDomDocument& doc, QDomElement& parentElem ) const;
|
||||
|
||||
void legendSymbologyItems( QList< QPair< QString, QColor > >& symbolItems ) const;
|
||||
|
@ -174,7 +174,7 @@ class QgsGradientFillSymbolLayer : QgsFillSymbolLayer
|
||||
|
||||
double estimateMaxBleed() const;
|
||||
|
||||
/** Type of gradient, eg linear or radial*/
|
||||
/** Type of gradient, e.g., linear or radial*/
|
||||
GradientType gradientType() const;
|
||||
void setGradientType( GradientType gradientType );
|
||||
|
||||
|
@ -218,7 +218,7 @@ class QgsSimpleMarkerSymbolLayer : QgsSimpleMarkerSymbolLayerBase
|
||||
*/
|
||||
void setBorderColor( const QColor& color );
|
||||
|
||||
/** Returns the marker's outline style (eg solid, dashed, etc)
|
||||
/** Returns the marker's outline style (e.g., solid, dashed, etc)
|
||||
* @note added in 2.4
|
||||
* @see setOutlineStyle()
|
||||
* @see borderColor()
|
||||
@ -226,7 +226,7 @@ class QgsSimpleMarkerSymbolLayer : QgsSimpleMarkerSymbolLayerBase
|
||||
*/
|
||||
Qt::PenStyle outlineStyle() const;
|
||||
|
||||
/** Sets the marker's outline style (eg solid, dashed, etc)
|
||||
/** Sets the marker's outline style (e.g., solid, dashed, etc)
|
||||
* @param outlineStyle style
|
||||
* @note added in 2.4
|
||||
* @see outlineStyle()
|
||||
@ -235,7 +235,7 @@ class QgsSimpleMarkerSymbolLayer : QgsSimpleMarkerSymbolLayerBase
|
||||
*/
|
||||
void setOutlineStyle( Qt::PenStyle outlineStyle );
|
||||
|
||||
/** Returns the marker's outline join style (eg miter, bevel, etc).
|
||||
/** Returns the marker's outline join style (e.g., miter, bevel, etc).
|
||||
* @note added in 2.16
|
||||
* @see setPenJoinStyle()
|
||||
* @see borderColor()
|
||||
@ -243,7 +243,7 @@ class QgsSimpleMarkerSymbolLayer : QgsSimpleMarkerSymbolLayerBase
|
||||
*/
|
||||
Qt::PenJoinStyle penJoinStyle() const;
|
||||
|
||||
/** Sets the marker's outline join style (eg miter, bevel, etc).
|
||||
/** Sets the marker's outline join style (e.g., miter, bevel, etc).
|
||||
* @param style join style
|
||||
* @note added in 2.16
|
||||
* @see penJoinStyle()
|
||||
|
@ -1,6 +1,6 @@
|
||||
/** \class QgsPointDistanceRenderer
|
||||
* \ingroup core
|
||||
* An abstract base class for distance based point renderers (eg clusterer and displacement renderers).
|
||||
* An abstract base class for distance based point renderers (e.g., clusterer and displacement renderers).
|
||||
* QgsPointDistanceRenderer handles calculation of point clusters using a distance based threshold.
|
||||
* Subclasses must implement drawGroup() to handle the rendering of individual point clusters
|
||||
* in the desired style.
|
||||
|
@ -100,13 +100,13 @@ class QgsRendererRegistry
|
||||
|
||||
public:
|
||||
|
||||
//! Returns a pointer to the QgsRendererRegistry singleton
|
||||
static QgsRendererRegistry* instance();
|
||||
QgsRendererRegistry();
|
||||
~QgsRendererRegistry();
|
||||
|
||||
//! Adds a renderer to the registry. Takes ownership of the metadata object.
|
||||
//! @param metadata renderer metadata
|
||||
//! @returns true if renderer was added successfully, or false if renderer could not
|
||||
//! be added (eg a renderer with a duplicate name already exists)
|
||||
//! be added (e.g., a renderer with a duplicate name already exists)
|
||||
bool addRenderer( QgsRendererAbstractMetadata* metadata /Transfer/ );
|
||||
|
||||
//! Removes a renderer from registry.
|
||||
@ -128,11 +128,6 @@ class QgsRendererRegistry
|
||||
//! @note added in QGIS 2.16
|
||||
QStringList renderersList( const QgsVectorLayer* layer ) const;
|
||||
|
||||
protected:
|
||||
//! protected constructor
|
||||
QgsRendererRegistry();
|
||||
~QgsRendererRegistry();
|
||||
|
||||
private:
|
||||
QgsRendererRegistry( const QgsRendererRegistry& rh );
|
||||
//QgsRendererRegistry& operator=( const QgsRendererRegistry& rh );
|
||||
|
@ -65,7 +65,8 @@ class QgsSvgCache : QObject
|
||||
|
||||
public:
|
||||
|
||||
static QgsSvgCache* instance();
|
||||
QgsSvgCache( QObject * parent /TransferThis/ = 0 );
|
||||
|
||||
~QgsSvgCache();
|
||||
|
||||
/** Get SVG as QImage.
|
||||
@ -151,8 +152,6 @@ class QgsSvgCache : QObject
|
||||
void statusChanged( const QString& theStatusQString );
|
||||
|
||||
protected:
|
||||
//! protected constructor
|
||||
QgsSvgCache( QObject * parent /TransferThis/ = 0 );
|
||||
|
||||
/** Creates new cache entry and returns pointer to it
|
||||
* @param file Absolute or relative path to SVG file. If the path is relative the file is searched by QgsSymbolLayerUtils::symbolNameToPath() in SVG paths.
|
||||
|
@ -155,7 +155,7 @@ class QgsSymbol
|
||||
void toSld( QDomDocument &doc, QDomElement &element, QgsStringMap props ) const;
|
||||
|
||||
/** Returns the units to use for sizes and widths within the symbol. Individual
|
||||
* symbol layer definitions will interpret this in different ways, eg a marker symbol
|
||||
* symbol layer definitions will interpret this in different ways, e.g., a marker symbol
|
||||
* may use it to specify the units for the marker size, while a line symbol
|
||||
* may use it to specify the units for the line width.
|
||||
* @returns output unit, or QgsUnitTypes::RenderUnknownUnit if the symbol contains mixed units
|
||||
@ -164,7 +164,7 @@ class QgsSymbol
|
||||
QgsUnitTypes::RenderUnit outputUnit() const;
|
||||
|
||||
/** Sets the units to use for sizes and widths within the symbol. Individual
|
||||
* symbol definitions will interpret this in different ways, eg a marker symbol
|
||||
* symbol definitions will interpret this in different ways, e.g., a marker symbol
|
||||
* may use it to specify the units for the marker size, while a line symbol
|
||||
* may use it to specify the units for the line width.
|
||||
* @param unit output units
|
||||
|
@ -148,13 +148,13 @@ class QgsSymbolLayer
|
||||
bool isLocked() const;
|
||||
|
||||
/** Returns the estimated maximum distance which the layer style will bleed outside
|
||||
the drawn shape. Eg, polygons drawn with an outline will draw half the width
|
||||
the drawn shape. For example, polygons drawn with an outline will draw half the width
|
||||
of the outline outside of the polygon. This amount is estimated, since it may
|
||||
be affected by data defined symbology rules.*/
|
||||
virtual double estimateMaxBleed() const;
|
||||
|
||||
/** Sets the units to use for sizes and widths within the symbol layer. Individual
|
||||
* symbol layer subclasses will interpret this in different ways, eg a marker symbol
|
||||
* symbol layer subclasses will interpret this in different ways, e.g., a marker symbol
|
||||
* layer may use it to specify the units for the marker size, while a line symbol
|
||||
* layer may use it to specify the units for the line width.
|
||||
* @param unit output units
|
||||
@ -163,7 +163,7 @@ class QgsSymbolLayer
|
||||
virtual void setOutputUnit( QgsUnitTypes::RenderUnit unit );
|
||||
|
||||
/** Returns the units to use for sizes and widths within the symbol layer. Individual
|
||||
* symbol layer subclasses will interpret this in different ways, eg a marker symbol
|
||||
* symbol layer subclasses will interpret this in different ways, e.g., a marker symbol
|
||||
* layer may use it to specify the units for the marker size, while a line symbol
|
||||
* layer may use it to specify the units for the line width.
|
||||
* @returns output unit, or QgsUnitTypes::RenderUnknownUnit if the symbol layer contains mixed units
|
||||
|
@ -54,8 +54,8 @@ class QgsSymbolLayerRegistry
|
||||
|
||||
public:
|
||||
|
||||
//! return the single instance of this class (instantiate it if not exists)
|
||||
static QgsSymbolLayerRegistry* instance();
|
||||
QgsSymbolLayerRegistry();
|
||||
~QgsSymbolLayerRegistry();
|
||||
|
||||
//! return metadata for specified symbol layer. Returns NULL if not found
|
||||
QgsSymbolLayerAbstractMetadata* symbolLayerMetadata( const QString& name ) const;
|
||||
@ -75,10 +75,6 @@ class QgsSymbolLayerRegistry
|
||||
//! create a new instance of symbol layer for specified symbol type with default settings
|
||||
static QgsSymbolLayer* defaultSymbolLayer( QgsSymbol::SymbolType type ) /Factory/;
|
||||
|
||||
protected:
|
||||
QgsSymbolLayerRegistry();
|
||||
~QgsSymbolLayerRegistry();
|
||||
|
||||
private:
|
||||
QgsSymbolLayerRegistry( const QgsSymbolLayerRegistry& rh );
|
||||
|
||||
|
@ -82,13 +82,13 @@ class QgsSearchWidgetWrapper : QgsWidgetWrapper
|
||||
};
|
||||
typedef QFlags<QgsSearchWidgetWrapper::FilterFlag> FilterFlags;
|
||||
|
||||
/** Returns a list of exclusive filter flags, which cannot be combined with other flags (eg EqualTo/NotEqualTo)
|
||||
/** Returns a list of exclusive filter flags, which cannot be combined with other flags (e.g., EqualTo/NotEqualTo)
|
||||
* @note added in QGIS 2.16
|
||||
* @see nonExclusiveFilterFlags()
|
||||
*/
|
||||
static QList< QgsSearchWidgetWrapper::FilterFlag > exclusiveFilterFlags();
|
||||
|
||||
/** Returns a list of non-exclusive filter flags, which can be combined with other flags (eg CaseInsensitive)
|
||||
/** Returns a list of non-exclusive filter flags, which can be combined with other flags (e.g., CaseInsensitive)
|
||||
* @note added in QGIS 2.16
|
||||
* @see exclusiveFilterFlags()
|
||||
*/
|
||||
|