Merge branch 'master' of https://github.com/qgis/QGIS into usr_bin_env

This commit is contained in:
lbartoletti 2018-01-29 13:13:03 +01:00
commit 1ce7dbad94
4574 changed files with 213343 additions and 256696 deletions

View File

@ -23,7 +23,11 @@ docker-compose --version
docker-compose -f $DOCKER_COMPOSE config
#docker pull ubuntu:16.04
docker pull "qgis/qgis3-build-deps:${DOCKER_TAG}" || true
docker build --cache-from "qgis/qgis3-build-deps:${DOCKER_TAG}" -t "qgis/qgis3-build-deps:${DOCKER_TAG}" .
if [[ $DOCKER_DEPS_IMAGE_REBUILD =~ true ]]; then
docker build --no-cache -t "qgis/qgis3-build-deps:${DOCKER_TAG}" .
else
docker build --cache-from "qgis/qgis3-build-deps:${DOCKER_TAG}" -t "qgis/qgis3-build-deps:${DOCKER_TAG}" .
fi
echo "travis_fold:end:docker"
# image should be pushed even if QGIS build fails
# but push is achieved only on branches (not for PRs)

View File

@ -30,7 +30,11 @@ PyQgsSpatialiteProvider
# Flaky, see https://travis-ci.org/qgis/QGIS/jobs/297708174
PyQgsServerAccessControl
# Flaky, see https://dash.orfeo-toolbox.org/testDetails.php?test=61670866&build=297397
PyQgsLocator
# Need a local postgres installation
PyQgsAuthManagerPKIPostgresTest
PyQgsAuthManagerPasswordPostgresTest
PyQgsAuthManagerOgrPostgresTest

View File

@ -58,10 +58,10 @@ echo "travis_fold:end:cmake"
#######
# Build
#######
echo "travis_fold:start:ninja-build.1"
# echo "travis_fold:start:ninja-build.1"
echo "${bold}Building QGIS...${endbold}"
${CTEST_BUILD_COMMAND}
echo "travis_fold:end:ninja-build.1"
# echo "travis_fold:end:ninja-build.1"
# Temporarily uncomment to debug ccache issues
# echo "travis_fold:start:ccache-debug"

View File

@ -12,7 +12,7 @@ RUN apt-get update \
ca-certificates \
ccache \
clang \
cmake \
# cmake \
curl \
dh-python \
flex \
@ -69,7 +69,6 @@ RUN apt-get update \
qt5keychain-dev \
qtbase5-dev \
qtpositioning5-dev \
qtscript5-dev \
qttools5-dev \
qttools5-dev-tools \
spawn-fcgi \
@ -89,7 +88,10 @@ RUN apt-get update \
future \
termcolor \
&& apt-get autoremove -y python3-pip python2.7 \
&& apt-get clean
&& apt-get clean \
&& curl -s -S -O https://cmake.org/files/v3.10/cmake-3.10.1-Linux-x86_64.tar.gz \
&& tar --strip-components=1 -zx -f cmake-3.10.1-Linux-x86_64.tar.gz -C /usr/local \
&& rm cmake-3.10.1-Linux-x86_64.tar.gz
RUN echo "alias python=python3" >> ~/.bash_aliases
@ -97,5 +99,6 @@ ENV CC=/usr/lib/ccache/clang
ENV CXX=/usr/lib/ccache/clang++
ENV QT_SELECT=5
ENV LANG=C.UTF-8
ENV PATH="/usr/local/bin:${PATH}"
CMD /root/QGIS/.ci/travis/linux/docker-build-test.sh

2
.gitignore vendored
View File

@ -23,7 +23,7 @@
/CMakeLists.txt.user
/CMakeLists.txt.user.*
api_doc
*build*
/build*
debian/*.debhelper
debian/*.substvars
desktop.ini

View File

@ -10,6 +10,7 @@ matrix:
- DOCKER_COMPOSE=${TRAVIS_BUILD_DIR}/.docker/docker-compose.travis.yml
- DOCKER_TAG=$( [[ $TRAVIS_REPO_SLUG =~ qgis/QGIS ]] && echo $TRAVIS_BRANCH | sed 's/master/latest/' || echo "latest" )
- DOCKER_PUSH=$( [[ $TRAVIS_REPO_SLUG =~ qgis/QGIS ]] && [[ $TRAVIS_PULL_REQUEST =~ false ]] && echo "true" || echo "false" )
- DOCKER_DEPS_IMAGE_REBUILD=$( [[ $TRAVIS_COMMIT_MESSAGE =~ '[docker] update dependencies' ]] && echo "true" || echo "false" )
- CCACHE_DIR=${HOME}/.ccache
dist: trusty
sudo: false

View File

@ -233,7 +233,7 @@ IF(WITH_CORE)
FIND_PACKAGE(LibZip REQUIRED)
IF (WITH_INTERNAL_QEXTSERIALPORT)
SET(QEXTSERIALPORT_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/core/gps/qextserialport)
SET(QEXTSERIALPORT_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/external/qextserialport)
ELSE (WITH_INTERNAL_QEXTSERIALPORT)
FIND_PACKAGE(Qextserialport REQUIRED)
ENDIF(WITH_INTERNAL_QEXTSERIALPORT)
@ -291,7 +291,6 @@ IF(WITH_CORE)
ENDIF(WITH_QTWEBKIT)
FIND_PACKAGE(Qt5Test REQUIRED)
FIND_PACKAGE(Qt5UiTools REQUIRED)
FIND_PACKAGE(Qt5Script REQUIRED)
FIND_PACKAGE(Qt5Sql REQUIRED)
IF (WITH_3D)
FIND_PACKAGE(Qt53DCore REQUIRED)
@ -463,12 +462,14 @@ ENDIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
IF (CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo)
MESSAGE (STATUS "Debug output enabled")
ADD_DEFINITIONS(-DQGISDEBUG=1)
SET(QGISDEBUG TRUE)
ELSE (CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo)
SET(QGISDEBUG FALSE)
ENDIF (CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo)
IF(MSVC)
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DQGISDEBUG=1")
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DQGISDEBUG=1")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
# disable macros that offend std::numeric_limits<T>::min()/max()
ADD_DEFINITIONS(-DNOMINMAX)
ENDIF(MSVC)

14
INSTALL
View File

@ -179,12 +179,12 @@ Now update your local sources database:
===============================
|| Distribution | install command for packages |
| stretch | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| xenial | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| yakkety | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| zesty | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| artful | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| sid | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| stretch | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| xenial | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| yakkety | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| zesty | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| artful | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| sid | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
(extracted from the control.in file in debian/)
@ -367,7 +367,7 @@ new subdirectory called `build` or `build-qt5` in it.
3.9.1. Install build dependencies
=================================
dnf install qt5-qtwebkit-devel qt5-qtlocation-devel qt5-qttools-static qt5-qtscript-devel qca-qt5-devel qca-qt5-ossl qt5-qt3d-devel python3-qt5-devel python3-qscintilla-qt5-devel qscintilla-qt5-devel python3-qscintilla-devel python3-qscintilla-qt5 clang flex bison geos-devel gdal-devel sqlite-devel libspatialite-devel qt5-qtsvg-devel qt5-qtxmlpatterns-devel spatialindex-devel expat-devel proj-devel qwt-qt5-devel gsl-devel postgresql-devel cmake python3-future gdal-python3 python3-psycopg2 python3-PyYAML python3-pygments python3-jinja2 python3-OWSLib qca-qt5-ossl qwt-qt5-devel qtkeychain-qt5-devel qwt-devel sip-devel libzip-devel
dnf install qt5-qtwebkit-devel qt5-qtlocation-devel qt5-qttools-static qca-qt5-devel qca-qt5-ossl qt5-qt3d-devel python3-qt5-devel python3-qscintilla-qt5-devel qscintilla-qt5-devel python3-qscintilla-devel python3-qscintilla-qt5 clang flex bison geos-devel gdal-devel sqlite-devel libspatialite-devel qt5-qtsvg-devel qt5-qtxmlpatterns-devel spatialindex-devel expat-devel proj-devel qwt-qt5-devel gsl-devel postgresql-devel cmake python3-future gdal-python3 python3-psycopg2 python3-PyYAML python3-pygments python3-jinja2 python3-OWSLib qca-qt5-ossl qwt-qt5-devel qtkeychain-qt5-devel qwt-devel sip-devel libzip-devel
To build QGIS server additional dependencies are required:

View File

@ -42,7 +42,7 @@ SET(SIP_DISABLE_FEATURES)
SET(SIP_EXTRA_OPTIONS)
SET(SIP_EXTRA_OBJECTS)
MACRO(GENERATE_SIP_PYTHON_MODULE_CODE MODULE_NAME MODULE_SIP CPP_FILES)
MACRO(GENERATE_SIP_PYTHON_MODULE_CODE MODULE_NAME MODULE_SIP SIP_FILES CPP_FILES)
STRING(REPLACE "." "/" _x ${MODULE_NAME})
GET_FILENAME_COMPONENT(_parent_module_path ${_x} PATH)
GET_FILENAME_COMPONENT(_child_module_name ${_x} NAME)
@ -52,6 +52,18 @@ MACRO(GENERATE_SIP_PYTHON_MODULE_CODE MODULE_NAME MODULE_SIP CPP_FILES)
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_module_path}) # Output goes in this dir.
# If this is not need anymore (using input configuration file for SIP files)
# SIP could be run in the source rather than in binary directory
SET(_configured_module_sip ${CMAKE_CURRENT_BINARY_DIR}/${_module_path}/${_module_path}.sip)
FOREACH (_sip_file ${SIP_FILES})
GET_FILENAME_COMPONENT(_sip_file_path ${_sip_file} PATH)
GET_FILENAME_COMPONENT(_sip_file_name_we ${_sip_file} NAME_WE)
FILE(RELATIVE_PATH _sip_file_relpath ${CMAKE_CURRENT_SOURCE_DIR} "${_sip_file_path}/${_sip_file_name_we}")
SET(_out_sip_file "${CMAKE_CURRENT_BINARY_DIR}/${_sip_file_relpath}.sip")
CONFIGURE_FILE(${_sip_file} ${_out_sip_file})
ENDFOREACH (_sip_file)
SET(_sip_includes)
FOREACH (_inc ${SIP_INCLUDES})
GET_FILENAME_COMPONENT(_abs_inc ${_inc} ABSOLUTE)
@ -99,13 +111,14 @@ MACRO(GENERATE_SIP_PYTHON_MODULE_CODE MODULE_NAME MODULE_SIP CPP_FILES)
ADD_DEFINITIONS( /bigobj )
ENDIF(MSVC)
SET(SIPCMD ${SIP_BINARY_PATH} ${_sip_tags} -w -e ${_sip_x} ${SIP_EXTRA_OPTIONS} -j ${SIP_CONCAT_PARTS} -c ${CMAKE_CURRENT_BINARY_DIR}/${_module_path} ${_sip_includes} ${_abs_module_sip})
SET(SIPCMD ${SIP_BINARY_PATH} ${_sip_tags} -w -e ${_sip_x} ${SIP_EXTRA_OPTIONS} -j ${SIP_CONCAT_PARTS} -c ${CMAKE_CURRENT_BINARY_DIR}/${_module_path} -I ${CMAKE_CURRENT_BINARY_DIR}/${_module_path} ${_sip_includes} ${_configured_module_sip})
ADD_CUSTOM_COMMAND(
OUTPUT ${_sip_output_files}
COMMAND ${CMAKE_COMMAND} -E echo ${message}
COMMAND ${CMAKE_COMMAND} -E touch ${_sip_output_files}
COMMAND ${SIPCMD}
DEPENDS ${_abs_module_sip} ${SIP_EXTRA_FILES_DEPEND}
MAIN_DEPENDENCY ${_configured_module_sip}
DEPENDS ${SIP_EXTRA_FILES_DEPEND}
VERBATIM
)

View File

@ -62,5 +62,7 @@
#cmakedefine USE_THREAD_LOCAL
#cmakedefine QGISDEBUG
#endif

3
debian/control vendored
View File

@ -20,7 +20,7 @@ Build-Depends:
libspatialite-dev,
libsqlite3-dev,
libspatialindex-dev,
qtbase5-dev, qttools5-dev-tools, qttools5-dev, qtscript5-dev, qtpositioning5-dev,
qtbase5-dev, qttools5-dev-tools, qttools5-dev, qtpositioning5-dev,
libqt5svg5-dev, libqt5xmlpatterns5-dev, libqt5webkit5-dev, libqt5opengl5-dev, libqt5sql5-sqlite, libqt5scintilla2-dev,
libqwt-qt5-dev, libqca-qt5-2-dev, libqca-qt5-2-plugins,
python3-dev, python3-all-dev, python3-sip, python3-sip-dev,
@ -203,7 +203,6 @@ Depends:
libqt5webkit5-dev,
libqca-qt5-2-dev,
libqwt-qt5-dev,
qtscript5-dev,
qtpositioning5-dev,
pyqt5-dev-tools,
python3-pyqt5,

39
debian/control.in vendored
View File

@ -13,7 +13,7 @@ Build-Depends:
libexpat1-dev,
libfcgi-dev,
libgdal-dev (>= 1.11),
#sid stretch xenial yakkety zesty artful# libgsl-dev,
#sid stretch xenial yakkety zesty artful bionic# libgsl-dev,
libgeos-dev (>= 3.0.0),
libpq-dev,
libproj-dev,
@ -21,7 +21,7 @@ Build-Depends:
libsqlite3-dev,
libspatialindex-dev,
libzip-dev,
qtbase5-dev, qttools5-dev-tools, qttools5-dev, qtscript5-dev, qtpositioning5-dev, qt5keychain-dev,
qtbase5-dev, qttools5-dev-tools, qttools5-dev, qtpositioning5-dev, qt5keychain-dev,
libqt5svg5-dev, libqt5xmlpatterns5-dev, libqt5webkit5-dev, libqt5opengl5-dev, libqt5sql5-sqlite, libqt5scintilla2-dev,
libqwt-qt5-dev, libqca-qt5-2-dev, libqca-qt5-2-plugins,
python3-dev, python3-all-dev, python3-sip, python3-sip-dev,
@ -38,12 +38,12 @@ Build-Depends:
graphviz,
xvfb, xauth,
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable,
#artful sid# libosgearth-dev, qt3d5-dev, qt3d-assimpsceneimport-plugin, qt3d-defaultgeometryloader-plugin, qt3d-gltfsceneio-plugin, qt3d-scene2d-plugin,
#sid artful bionic# libosgearth-dev, qt3d5-dev, qt3d-assimpsceneimport-plugin, qt3d-defaultgeometryloader-plugin, qt3d-gltfsceneio-plugin, qt3d-scene2d-plugin,
#oracle# oracle-instantclient12.1-devel, oracle-instantclient12.1-basiclite, qtbase5-private-dev,
locales, ca-certificates, ninja-build
Build-Conflicts: libqgis-dev, qgis-dev
#sid stretch xenial yakkety zesty artful#Standards-Version: 3.9.7
# xenial yakkety zesty artful#XS-Python-Version: current
#sid stretch xenial yakkety zesty artful bionic#Standards-Version: 3.9.7
# xenial yakkety zesty artful bionic#XS-Python-Version: current
Vcs-Browser: https://github.com/qgis/QGIS/
Vcs-Git: https://github.com/qgis/QGIS.git
Homepage: http://qgis.org/
@ -145,19 +145,19 @@ Description: QGIS - shared native gui library
.
This package contains the shared native gui library.
#artful sid#Package: libqgis-3d{QGIS_ABI}
#artful sid#Architecture: any
#artful sid#Section: libs
#artful sid#Depends:
#artful sid# qt3d-assimpsceneimport-plugin, qt3d-defaultgeometryloader-plugin, qt3d-gltfsceneio-plugin, qt3d-scene2d-plugin,
#artful sid# ${shlibs:Depends},
#artful sid# ${misc:Depends}
#artful sid#Description: QGIS - shared 3d library
#artful sid# QGIS is a Geographic Information System (GIS) which manages, analyzes and
#artful sid# display databases of geographic information.
#artful sid# .
#artful sid# This package contains the shared 3d library.
#artful sid#
#artful bionic sid#Package: libqgis-3d{QGIS_ABI}
#artful bionic sid#Architecture: any
#artful bionic sid#Section: libs
#artful bionic sid#Depends:
#artful bionic sid# qt3d-assimpsceneimport-plugin, qt3d-defaultgeometryloader-plugin, qt3d-gltfsceneio-plugin, qt3d-scene2d-plugin,
#artful bionic sid# ${shlibs:Depends},
#artful bionic sid# ${misc:Depends}
#artful bionic sid#Description: QGIS - shared 3d library
#artful bionic sid# QGIS is a Geographic Information System (GIS) which manages, analyzes and
#artful bionic sid# display databases of geographic information.
#artful bionic sid# .
#artful bionic sid# This package contains the shared 3d library.
#artful bionic sid#
Package: libqgisgrass{GRASSVER}-{QGIS_ABI}
Architecture: any
Section: libs
@ -214,7 +214,7 @@ Depends:
libexpat1-dev,
libgdal-dev (>= 1.11),
libgeos-dev (>= 3.0.0),
#sid stretch xenial yakkety zesty artful# libgsl-dev,
#sid stretch xenial yakkety zesty artful bionic# libgsl-dev,
libpq-dev,
libproj-dev,
libqgis-app{QGIS_ABI} (= ${binary:Version}),
@ -232,7 +232,6 @@ Depends:
libqt5webkit5-dev,
libqca-qt5-2-dev,
libqwt-qt5-dev,
qtscript5-dev,
qtpositioning5-dev,
pyqt5-dev-tools,
python3-pyqt5,

40
debian/copyright vendored
View File

@ -166,9 +166,9 @@ Comment: Voronoi diagram calculator/ Delaunay triangulator
Steve Fortune's homepage: http://netlib.bell-labs.com/cm/cs/who/sjf/index.html
License: GPL-2+
Files: src/app/gps/qwtpolar-0.1/*
src/app/gps/qwtpolar-1.0/*
src/app/gps/qwtpolar-1.1.1/*
Files: external//qwtpolar-0.1/*
external//qwtpolar-1.0/*
external//qwtpolar-1.1.1/*
Copyright: 2008, Uwe Rathmann
Comment: This library is free software; you can redistribute it and/or
modify it under the terms of the Qwt License, Version 1.0
@ -185,23 +185,23 @@ Comment: Artistic Style is maintained and updated by Jim Pattee.
The original author was Tal Davidson, Israel.
License: LGPL-2.1+
Files: src/core/gps/config.h
src/core/gps/context.c
src/core/gps/context.h
src/core/gps/gmath.c
src/core/gps/gmath.h
src/core/gps/info.c
src/core/gps/info.h
src/core/gps/nmeatime.h
src/core/gps/parse.c
src/core/gps/parse.h
src/core/gps/parser.h
src/core/gps/sentence.c
src/core/gps/sentence.h
src/core/gps/time.c
src/core/gps/tok.c
src/core/gps/tok.h
src/core/gps/units.h
Files: external/nmea/config.h
external/nmea/context.c
external/nmea/context.h
external/nmea/gmath.c
external/nmea/gmath.h
external/nmea/info.c
external/nmea/info.h
external/nmea/nmeatime.h
external/nmea/parse.c
external/nmea/parse.h
external/nmea/parser.h
external/nmea/sentence.c
external/nmea/sentence.h
external/nmea/time.c
external/nmea/tok.c
external/nmea/tok.h
external/nmea/units.h
Copyright: Tim <xtimor@gmail.com>
License: LGPL-2+

View File

@ -18,4 +18,7 @@ usr/share/qgis/i18n/*
usr/share/qgis/images/*
usr/share/qgis/resources/spatialite.db
usr/share/qgis/resources/themes/*
usr/share/qgis/resources/data/*
usr/share/qgis/resources/metadata-ISO/*
usr/share/qgis/resources/2to3migration.txt
usr/share/qgis/qgis_global_settings.ini

7
debian/rules vendored
View File

@ -36,7 +36,7 @@ endif
QT_PLUGINS_DIR = usr/lib/$(DEB_BUILD_MULTIARCH)/qt5/plugins
ifneq ($(DISTRIBUTION),$(findstring $(DISTRIBUTION),"stretch xenial yakkety zesty artful"))
ifneq ($(DISTRIBUTION),$(findstring $(DISTRIBUTION),"stretch xenial yakkety zesty artful bionic"))
DISTRIBUTION := sid
endif
@ -102,7 +102,7 @@ ifneq (,$(findstring $(DISTRIBUTION),"sid stretch"))
CMAKE_OPTS += -DPOSTGRES_LIBRARY=/usr/lib/$(DEB_BUILD_MULTIARCH)/libpq.so
endif
ifneq (,$(findstring $(DISTRIBUTION),"artful sid"))
ifneq (,$(findstring $(DISTRIBUTION),"artful bionic sid"))
CMAKE_OPTS += \
-DWITH_3D=TRUE \
-DGEOS_LIBRARY=/usr/lib/$(DEB_BUILD_MULTIARCH)/libgeos_c.so
@ -266,6 +266,9 @@ override_dh_auto_install:
$(RM) $(CURDIR)/debian/tmp/usr/share/qgis/doc/LICENSE
$(RM) $(CURDIR)/debian/tmp/usr/share/qgis/python/plugins/db_manager/LICENSE
$(RM) $(CURDIR)/debian/tmp/usr/share/qgis/python/plugins/MetaSearch/LICENSE.txt
$(RM) $(CURDIR)/debian/tmp/usr/bin/qgis_wcstest
$(RM) $(CURDIR)/debian/tmp/usr/bin/qgis_bench
$(RM) $(CURDIR)/debian/tmp/usr/share/qgis/resources/wcs-servers.json
# Man pages are installed by dh_installman
$(RM) $(CURDIR)/debian/tmp/usr/man/man1/qgis.1

View File

@ -56,7 +56,6 @@ IF(WITH_APIDOC)
${CMAKE_SOURCE_DIR}/src/core/3d
${CMAKE_SOURCE_DIR}/src/core/annotations
${CMAKE_SOURCE_DIR}/src/core/auth
${CMAKE_SOURCE_DIR}/src/core/composer
${CMAKE_SOURCE_DIR}/src/core/diagram
${CMAKE_SOURCE_DIR}/src/core/dxf
${CMAKE_SOURCE_DIR}/src/core/effects

View File

@ -310,27 +310,27 @@ sudo apt-get update
</TR>
<TR>
<TD>stretch</TD>
<TD><CODE>apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb</CODE></TD>
<TD><CODE>apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb</CODE></TD>
</TR>
<TR>
<TD>xenial</TD>
<TD><CODE>apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb</CODE></TD>
<TD><CODE>apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb</CODE></TD>
</TR>
<TR>
<TD>yakkety</TD>
<TD><CODE>apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb</CODE></TD>
<TD><CODE>apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb</CODE></TD>
</TR>
<TR>
<TD>zesty</TD>
<TD><CODE>apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb</CODE></TD>
<TD><CODE>apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb</CODE></TD>
</TR>
<TR>
<TD>artful</TD>
<TD><CODE>apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb</CODE></TD>
<TD><CODE>apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb</CODE></TD>
</TR>
<TR>
<TD>sid</TD>
<TD><CODE>apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb</CODE></TD>
<TD><CODE>apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb</CODE></TD>
</TR>
</TABLE>
@ -601,7 +601,7 @@ new subdirectory called `build` or `build-qt5` in it.
<H3>3.9.1. Install build dependencies</H3>
<div class="code"><PRE>
dnf install qt5-qtwebkit-devel qt5-qtlocation-devel qt5-qttools-static qt5-qtscript-devel qca-qt5-devel qca-qt5-ossl qt5-qt3d-devel python3-qt5-devel python3-qscintilla-qt5-devel qscintilla-qt5-devel python3-qscintilla-devel python3-qscintilla-qt5 clang flex bison geos-devel gdal-devel sqlite-devel libspatialite-devel qt5-qtsvg-devel qt5-qtxmlpatterns-devel spatialindex-devel expat-devel proj-devel qwt-qt5-devel gsl-devel postgresql-devel cmake python3-future gdal-python3 python3-psycopg2 python3-PyYAML python3-pygments python3-jinja2 python3-OWSLib qca-qt5-ossl qwt-qt5-devel qtkeychain-qt5-devel qwt-devel sip-devel libzip-devel
dnf install qt5-qtwebkit-devel qt5-qtlocation-devel qt5-qttools-static qca-qt5-devel qca-qt5-ossl qt5-qt3d-devel python3-qt5-devel python3-qscintilla-qt5-devel qscintilla-qt5-devel python3-qscintilla-devel python3-qscintilla-qt5 clang flex bison geos-devel gdal-devel sqlite-devel libspatialite-devel qt5-qtsvg-devel qt5-qtxmlpatterns-devel spatialindex-devel expat-devel proj-devel qwt-qt5-devel gsl-devel postgresql-devel cmake python3-future gdal-python3 python3-psycopg2 python3-PyYAML python3-pygments python3-jinja2 python3-OWSLib qca-qt5-ossl qwt-qt5-devel qtkeychain-qt5-devel qwt-devel sip-devel libzip-devel
</PRE></div>
<P>

View File

@ -75,9 +75,6 @@ Renamed Classes {#qgis_api_break_3_0_renamed_classes}
<tr><td>QgsCentroidFillSymbolLayerV2Widget<td>QgsCentroidFillSymbolLayerWidget
<tr><td>QgsCircularStringV2<td>QgsCircularString
<tr><td>QgsColorButtonV2<td>QgsColorButton
<tr><td>QgsComposerLegendStyle<td>QgsLegendStyle
<tr><td>QgsComposerSymbolV2Item<td>QgsComposerSymbolItem
<tr><td>QgsComposerTableAvailableSortProxyModelV2<td>QgsComposerTableAvailableSortProxyModel
<tr><td>QgsCompoundCurveV2<td>QgsCompoundCurve
<tr><td>QgsCoordinateSequenceV2<td>QgsCoordinateSequence
<tr><td>QgsCptCityColorRampV2<td>QgsCptCityColorRamp
@ -100,6 +97,10 @@ Renamed Classes {#qgis_api_break_3_0_renamed_classes}
<tr><td>QgsFontMarkerSymbolLayerV2Widget<td>QgsFontMarkerSymbolLayerWidget
<tr><td>QgsGeometryCollectionV2<td>QgsGeometryCollection
<tr><td>QgsGeometryGeneratorSymbolLayerV2<td>QgsGeometryGeneratorSymbolLayer
<tr><td>QgsGPSConnection<td>QgsGpsConnection
<tr><td>QgsGPSConnectionRegistry<td>QgsGpsConnectionRegistry
<tr><td>QgsGPSDetector<td>QgsGpsDetector
<tr><td>QgsGPSInformation<td>QgsGpsInformation
<tr><td>QgsGradientFillSymbolLayerV2<td>QgsGradientFillSymbolLayer
<tr><td>QgsGradientFillSymbolLayerV2Widget<td>QgsGradientFillSymbolLayerWidget
<tr><td>QgsGraduatedSymbolRendererV2<td>QgsGraduatedSymbolRenderer
@ -128,6 +129,7 @@ Renamed Classes {#qgis_api_break_3_0_renamed_classes}
<tr><td>QgsMultiPolyline<td>QgsPolylineXY
<tr><td>QgsMultiPolylineV2<td>QgsPolyline
<tr><td>QgsMultiSurfaceV2<td>QgsMultiSurface
<tr><td>QgsNMEAConnection<td>QgsNmeaConnection
<tr><td>QgsNumericScaleBarStyle<td>QgsNumericScaleBarRenderer
<tr><td>QgsPoint<td>QgsPointXY
<tr><td>QgsPointSequenceV2<td>QgsPointSequence
@ -196,6 +198,7 @@ Renamed Classes {#qgis_api_break_3_0_renamed_classes}
<tr><td>QgsSymbolV2SelectorWidget<td>QgsSymbolSelectorWidget
<tr><td>QgsTicksScaleBarStyle<td>QgsTicksScaleBarRenderer
<tr><td>QgsTINInterpolator<td>QgsTinInterpolator
<tr><td>QgsUserInputDockWidget<td>QgsUserInputWidget
<tr><td>QgsVectorColorBrewerColorRampV2<td>QgsColorBrewerColorRamp
<tr><td>QgsVectorColorBrewerColorRampV2Dialog<td>QgsColorBrewerColorRampDialog
<tr><td>QgsVectorColorBrewerColorRampV2DialogBase<td>QgsColorBrewerColorRampDialogBase
@ -227,7 +230,6 @@ Renamed Classes {#qgis_api_break_3_0_renamed_classes}
<tr><td>QgsAnnotation<td>mapPositionFixed<td>hasFixedMapPosition
<tr><td>QgsApplication<td>defaultStyleV2Path<td>defaultStylePath
<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 <!--#spellok-->
<tr><td>QgsSymbolLayerUtils<td>createSymbolLayerV2ListFromSld<td>createSymbolLayerListFromSld
@ -238,7 +240,6 @@ Renamed Classes {#qgis_api_break_3_0_renamed_classes}
<tr><td>QgsVectorLayer<td>rendererV2<td>renderer
<tr><td>QgsVectorLayer<td>selectedFeaturesIds<td>selectedFeatureIds
<tr><td>QgsVectorLayerEditUtils<td>deleteVertexV2<td>deleteVertex
<tr><td>QgsComposerSymbolItem<td>symbolV2<td>symbol
<tr><td>QgsServerInterface<td>capabiblitiesCache<td>capabilitiesCache
<tr><td>QgsGraphEdge<td>property<td>cost
<tr><td>QgsGraphEdge<td>properties<td>strategies
@ -267,18 +268,14 @@ Removed Classes {#qgis_api_break_3_0_removed_classes}
- QgsColorDialog was removed, and QgsColorDialogV2 was renamed to QgsColorDialog. Hence, QgsColorButtonV2 does not exist anymore.
All the functionality from the old QgsColorDialog has been moved to the new class.
- QgsColorRampComboBox was removed, replaced by QgsColorRampButton
- QgsComposerAttributeTable and associated classes (eg QgsComposerAttributeTableCompare,
QgsComposerAttributeTableColumnModel, QgsComposerTableSortColumnsProxyModel) were removed.
Use QgsComposerAttributeTableV2 instead.
- QgsComposerLegendItem and subclasses were removed (QgsComposerSymbolItem, QgsComposerRasterSymbolItem, QgsComposerLayerItem, QgsComposerGroupItem, QgsComposerStyleItem).
- QgsComposerTable was removed. Use QgsComposerAttributeTableV2 instead.
- ComposerTextTable was removed. Use ComposerTextTableV2 instead.
- QgsCRSCache was removed. QgsCoordinateReferenceSystem now internally uses a cache for CRS creation,
so there is no longer a need for the separate cache class. Code which previously called QgsCRSCache::updateCRSCache()
should now call QgsCoordinateReferenceSystem::invalidateCache() and QgsCoordinateTransformCache::instance()->invalidateCrs( authid ).
- QgsCoordinateTransformCache was removed. QgsCoordinateTransform now transparently caches transforms.
- QgsDataDefined was removed. Use the QgsProperty framework instead.
- QgsDataDefinedButton was removed. Use QgsPropertyOverrideButton instead.
- QgsDataDefinedSymbolDialog was removed. Code using this dialog should be reworked to use QgsPropertyOverrideButton
- QgsDatumTransformStore. Use QgsCoordinateTransformContext instead.
- QgsDefaultPluginLayerLegend was removed. Use QgsMapLayer::setLegend() to provide legend nodes for plugin layers.
- DualEdgeTriangulation
- QgsFileNameWidgetWrapper was removed. Use QgsExternalResourceWidgetWrapper instead.
@ -353,6 +350,14 @@ General changes {#qgis_api_break_3_0_global}
- Network analysis library has been merged into analysis library
Composer {#qgis_api_break_3_0_Composer}
--------
All composer related methods have been removed from the public API and Python bindings. These classes
have been replaced with the new layouts engine, based on QgsLayout, QgsLayoutItem, and the other
related classes.
Labeling {#qgis_api_break_3_0_Labeling}
--------
@ -425,14 +430,6 @@ QgisInterface {#qgis_api_break_3_0_QgisInterface}
- fileMenu() has been removed, use projectMenu() instead.
- actionRemoveLayer was removed as it no longer exists.
- actionTouch was removed, as the corresponding action no longer exists (see notes on QgsMapToolTouch)
- activeComposers(), createNewComposer(), duplicateComposer(), deleteComposer(), composerAdded(),
composerWillBeRemoved(), composerRemoved() were all removed. Composer windows are now only created
on demand, and destroyed when the window is closed. The new interface methods openComposers(),
openComposer(), closeComposer(), composerOpened(), composerWillBeClosed() and composerClosed()
are similar, but only apply to composer windows when they exist. To access all compositions
from a project, the new QgsProject.instance().layoutManager() class should be used instead.
Additionally, the new interface methods work with QgsComposerInterface objects instead
of QgsComposerView objects.
- interaction with the main window status bar should no longer use the native Qt statusBar() method.
Instead iface.statusBarIface() should be used.
@ -507,22 +504,7 @@ QgsApplication {#qgis_api_break_3_0_QgsApplication}
- srsDbFilePath() was renamed to srsDatabaseFilePath()
- setAuthDbDirPath() was renamed to setAuthDatabaseDirPath()
- createDB() was renamed to createDatabase()
QgsAtlasComposition {#qgis_api_break_3_0_QgsAtlasComposition}
-------------------
- readXMLMapSettings() was removed. QGIS no longer supports upgrading pre 2.2 compositions and if this is a
requirement the projects should first be upgraded by opening and saving in 2.18.
- composerMap() and setComposerMap() were removed. Use QgsComposerMap::atlasDriven() and setAtlasDriven()
instead
- fixedScale() and setFixedScale() were removed. Use QgsComposerMap::atlasScalingMode() and setAtlasScalingMode()
instead
- margin() and setMargin() were removed. Use QgsComposerMap::atlasMargin() and setAtlasMargin()
instead
- setSortKeyAttributeIndex() and sortKeyAttributeIndex() were removed. Use sortKeyAttributeName()
and setSortKeyAttributeName() instead.
- currentFeature() was removed. Use feature() instead.
- composerTemplatePaths() was renamed to layoutTemplatePaths()
QgsAttributeDialog {#qgis_api_break_3_0_QgsAttributeDialog}
@ -652,12 +634,14 @@ QgsColorButton {#qgis_api_break_3_0_QgsColorButton}
- Behaviour enum and its corresponding setter/getter have been renamed to Behavior <!--#spellok-->
- setAllowAlpha() and allowAlpha() were removed. Use setAllowOpacity() and allowOpacity() instead.
- acceptLiveUpdates() and setAcceptLiveUpdates() were removed. This functionality is no longer supported.
QgsColorDialog {#qgis_api_break_3_0_QgsColorDialog}
--------------
- setAllowAlpha() was removed. Use setAllowOpacity() instead.
- getLiveColor() was removed. This functionality is no longer supported.
QgsColorEffect {#qgis_api_break_3_0_QgsColorEffect}
@ -678,208 +662,6 @@ 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}
----------------
- setOutlineWidth(), outlineWidth(), arrowColor() and setArrowColor() were removed.
Use setArrowHeadOutlineWidth(), arrowHeadOutlineWidth(), arrowHeadOutlineColor(),
setArrowHeadOutlineColor(), arrowHeadFillColor(), setArrowHeadFillColor(),
setLineSymbol() or lineSymbol() instead.
QgsComposerAttributeTableV2 {#qgis_api_break_3_0_QgsComposerAttributeTableV2}
---------------------------
- setDisplayAttributes() was removed. Use setDisplayedFields() instead.
QgsComposerItem {#qgis_api_break_3_0_QgsComposerItem}
---------------
- zoomContent( int delta, double x, double y ) was removed. Use zoomContent( double, QPointF, ZoomMode )
instead.
- drawText(), textWidthMillimeters(), fontHeightCharacterMM(), fontAscentMillimeters(),
fontDescentMillimeters(), fontHeightMillimeters(), pixelFontSize(), scaledFontPixelSize(),
drawArrowHead(), angle(), largestRotatedRectWithinBounds(), and rotate() were removed.
Use the corresponding methods in QgsComposerUtils instead.
- rotation() and setRotation() were removed. Use itemRotation() and setItemRotation()
instead.
- lockSymbolSize(), imageSizeConsideringRotation(), cornerPointOnRotatedAndScaledRect(),
sizeChangedByRotation() were removed. No replacement is offered for these methods.
- transparency() and setTransparency() were removed. Use itemOpacity() and setItemOpacity() instead.
QgsComposerItemCommand {#qgis_api_break_3_0_QgsComposerItemCommand}
----------------------
- ItemTransparency was removed. Use ItemOpacity instead.
QgsComposerLabel {#qgis_api_break_3_0_QgsComposerLabel}
----------------
- setExpressionContext() has been removed. Setup the composition using an atlas and with
expression variables in the composer label item instead.
- setSubstitutions has been removed. Use expression context variables in the composer
label item instead.
- margin() was removed. Use marginX() and marginY() instead.
QgsComposerLegend {#qgis_api_break_3_0_QgsComposerLegend}
-----------------
- model() now returns the new QgsLegendModel (previously QgsLegendModelV2, see \ref qgis_api_break_3_0_renamed_classes).
- modelV2() has been renamed to model().
QgsComposerLegendItem {#qgis_api_break_3_0_QgsComposerLegendItem}
---------------------
- writeXMLChildren() has been renamed to writeXmlChildren()
QgsComposerMap {#qgis_api_break_3_0_QgsComposerMap}
--------------
- layerSet() and setLayerSet() have been replaced by layers() and setLayers() which work with list of layers instead of layer IDs
- containsWMSLayer() has been renamed to containsWmsLayer()
- mapRenderer() has been removed. Use mapSettings() instead.
- All grid style and format enums were moved to QgsComposerMapGrid.
- All grid property getters and setters were moved to QgsComposerMapGrid,
and should be accessed using QgsComposerMap::grid() or QgsComposerMap::grids().
- All overview property getters and setters were moved to QgsComposerMapOverview,
and should be accessed using QgsComposerMap::overview() or QgsComposerMap::overviews().
- overviewExtentChanged() was moved to QgsComposerMapOverview.
- toggleAtlasPreview(), connectMapOverviewSignals() were no longer required and are removed.
- setRotation() and rotation() were removed. Use setMapRotation() and mapRotation()
instead.
- atlasFixedScale() and setAtlasFixedScale() were removed. Use atlasScalingMode()
and setAtlasScalingMode() instead.
- storeCurrentLayerSet() was removed. Use setLayers() instead.
- The layersChanged() slot was removed.
- setMapCanvas() was removed. This is no longer required to draw map annotations, which are instead retrieved from the composition's
associated project's annotationManager()
- setDrawCanvasItems() and drawCanvasItems() were renamed to setDrawAnnotations() and drawAnnotations()
- setCacheUpdated(), updateCachedImage(), renderModeUpdateCachedImage() and cache() were removed. Use invalidateCache() instead.
- The PreviewMode mode enums were removed. These are no longer used.
- previewMode() and setPreviewMode() were removed. These are no longer required.
QgsComposerMapGrid {#qgis_api_break_3_0_QgsComposerMapGrid}
------------------
- The annotation position Disabled was removed. QgsComposerMapGrid::HideAll
should be used instead.
QgsComposerMultiFrame {#qgis_api_break_3_0_QgsComposerMultiFrame}
---------------------
- render( QPainter* p, const QRectF& renderExtent ) was removed. Use
render( QPainter* painter, const QRectF& renderExtent, const int frameIndex )
instead.
- render( QPainter* painter, const QRectF& renderExtent, const int frameIndex )
was made pure virtual.
QgsComposerNodesItem {#qgis_api_break_3_0_QgsComposerNodesItem}
--------------------
- _readXMLStyle() has been renamed to _readXmlStyle()
- _writeXMLStyle() has been renamed to _writeXMLStyle()
- unselectNode() has been renamed to deselectNode() <!--#spellok-->
QgsComposerObject {#qgis_api_break_3_0_QgsComposerObject}
-----------------
- dataDefinedProperty() and setDataDefinedProperty() no longer use QgsDataDefined objects.
Instead these methods have been ported to the QgsProperty framework.
- dataDefinedEvaluate() was removed. Use the QgsProperty evaluation methods instead.
QgsComposerPicture {#qgis_api_break_3_0_QgsComposerPicture}
------------------
- setPictureFile() and pictureFile() were removed. Use setPicturePath()
and picturePath() instead.
- rotation() and setRotation() were removed. Use pictureRotation()
and setPictureRotation() instead.
- usePictureExpression() and pictureExpression() were removed. Use
QgsComposerObject::dataDefinedProperty instead.
- setUsePictureExpression() was removed. Use
QgsComposerObject::setDataDefinedProperty() instead.
- updatePictureExpression() was removed.
QgsComposerScaleBar {#qgis_api_break_3_0_QgsComposerScaleBar}
-------------------
- The Alignment and SegmentSizeMode enums were moved to QgsScaleBarSettings
- The ScaleBarUnits enum was removed. Use QgsUnitTypes::DistanceUnit instead.
- setBrush() was removed. Use setFillColor() instead.
- setBrush2() was removed. Use setFillColor2() instead.
- setPen() was removed. Use setLineColor() and setLineWidth() instead.
- segmentMillimeters() and firstLabelString() were removed.
QgsComposerTable {#qgis_api_break_3_0_QgsComposerTable}
----------------
- tableWriteXML() has been renamed to tableWriteXml()
- tableReadXML() has been renamed to tableReadXml()
QgsComposerTableV2 {#qgis_api_break_3_0_QgsComposerTableV2}
------------------
- rowsVisible(), rowRange(), drawHorizontalGridLines() and
drawVerticalGridLines() were removed.
- WrapBehaviour enum and its setter and getter methods has been renamed to WrapBehavior <!--#spellok-->
- EmptyTableBehaviour enum and its setter and getter methods has been renamed to EmptyTableBehavior <!--#spellok-->
QgsComposerView {#qgis_api_break_3_0_QgsComposerView}
--------------------
- unselectNode() has been renamed to deselectNode() <!--#spellok-->
QgsComposerUtils {#qgis_api_break_3_0_QgsComposerUtils}
-----------------
- readDataDefinedPropertyMap() was renamed to readOldDataDefinedPropertyMap() and the signature has changed
to use a QgsPropertyCollection object.
- readDataDefinedProperty() was renamed to readOldDataDefinedProperty() and the signature has changed
to use the QgsProperty framework objects.
- writeDataDefinedPropertyMap() was removed. This is now handled by QgsPropertyCollection::writeXml()
QgsComposition {#qgis_api_break_3_0_QgsComposition}
--------------
- The constructor no longer takes a reference to a QgsMapSettings object. This is no longer
used by compositions. To set the layers to show in composer maps, the QgsComposerMap::setLayers()
method should be used instead.
- constructor requires QgsProject instance
- 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.
- setSnapGridTolerance(), setAlignmentSnapTolerance(), alignmentSnapTolerance() and snapGridTolerance()
were removed. Use setSnapTolerance() and snapTolerance() instead.
- getComposerHtmlByItem() was removed. Use QgsComposerFrame::multiFrame() instead.
- pixelFontSize(), pointFontSize(), relativeResizeRect(), relativePosition() were removed. Use the corresponding methods in QgsComposerUtils instead.
- sortZList() was removed. Use refreshZList() instead.
- addComposerTable(), composerTableAdded() were removed.
- setAllUnselected() has been renamed to setAllDeselected. <!--#spellok-->
- worldFileMap() and setWorldFileMap() have been renamed to referenceMap() and setReferenceMap()
- dataDefinedProperty() and setDataDefinedProperty() now use the QgsProperty framework instead
of QgsDataDefined objects.
- mapSettings() was removed. Use QgsComposerMap::mapSettings() instead.
- The composerArrowAdded, composerPolygonAdded, composerPolylineAdded, composerHtmlFrameAdded, composerItemGroupAdded,
composerLabelAdded, composerMapAdded, composerScaleBarAdded, composerLegendAdded, composerPictureAdded,
composerShapeAdded, and composerTableFrameAdded were removed. Use the general itemAdded signal instead to catch
all these item added events.
- addComposerMap no longer takes a setDefaultPreviewStyle argument.
- the mapsToRestore parameter has been removed from addItemsFromXml
QgsCompoundColorWidget {#qgis_api_break_3_0_QgsCompoundColorWidget}
----------------------
@ -914,11 +696,12 @@ called if changes are made to the CRS database.
QgsCoordinateTransform {#qgis_api_break_3_0_QgsCoordinateTransform}
----------------------
- QgsCoordinateTransform is no longer a QObject. readXml, writeXml and initialize are all normal public members now,
- QgsCoordinateTransform is no longer a QObject. Initialize is a normal public members now,
not slots. The invalidTransformInput() signal has been removed.
- The extra QgsCoordinateTransform constructors (those not taking QgsCoordinateReferenceSystem arguments) have been
removed. Now, QgsCoordinateTransform must be created using an already existing source and destination
QgsCoordinateReferenceSystem object.
QgsCoordinateReferenceSystem object, and either a QgsCoordinateTransformContext object or a reference to the
current project instance.
- QgsCoordinateTransform::clone() has been removed. Just use direct copies instead.
- sourceCrs() and destCrs() now return a copy instead of a reference to the CRS. This has no effect on PyQGIS code, but c++
plugins calling these methods will need to be updated.
@ -930,7 +713,15 @@ plugins calling these methods will need to be updated.
- 'p' argument in transform() has been renamed to 'point', 'theRect' to 'rectangle', 'poly' to 'polygon'
- setDestCRSID has been removed, use setDestinationCrs() instead
- 'theNode', 'theDoc' parameters in readXML and writeXML have been renamed to 'node' and 'document' respectively
- readXML() and writeXML() have been renamed to readXml() and writeXml() for consistency
- readXML() and writeXML() have been removed.
- initialize() was removed, calls to this method can safely be omitted.
- datumTransformations() was moved to QgsDatumTransform, and now returns a list of QgsDatumTransform.TransformPair instead of a list of lists.
- datumTransformString() was moved to QgsDatumTransform and renamed to datumTransformToProj()
- datumTransformCrsInfo() was moved to QgsDatumTransform and renamed to datumTransformInfo(), and now returns a QgsDatumTransform.TransformInfo object.
- sourceDatumTransform() was renamed to sourceDatumTransformId()
- setSourceDatumTransform() was renamed to setSourceDatumTransformId()
- destinationDatumTransform() was renamed to destinationDatumTransformId()
- setDestinationDatumTransform() was renamed to setDestinationDatumTransformId()
QgsCoordinateTransformCache {#qgis_api_break_3_0_QgsCoordinateTransformCache}
@ -1117,7 +908,8 @@ ellipsoid to 'NONE' to disable ellipsoidal calculations.
- ellipsoidalEnabled() was removed. Ellipsoidal calculations are now enabled whenever a valid ellipsoid() is set. Check
willUseEllipsoid() to determine whether ellipsoidal calculations will be performed.
- sourceCrs() now returns a QgsCoordinateReferenceSystem instead of the crs ID.
- setSourceCrs() now requires a QgsCoordinateReferenceSystem instead of crs ID.
- setSourceCrs() now requires a QgsCoordinateReferenceSystem instead of crs ID, and requires a QgsCoordinateTransformContext object. PyQGIS code
can use QgsProject.instance().transformContext() for the QgsCoordinateTransformContext argument.
- setSourceAuthId() was removed. Use setSourceCrs() instead.
- geographic() was removed. Check sourceCrs().isGeographic() instead.
- measure() has been removed. Use measureArea() or measureLength() instead.
@ -1164,6 +956,8 @@ QgsEditorWidgetWrapper {#qgis_api_break_3_0_QgsEditorWidgetWrapper}
- constraintStatusChanged now reports a QgsEditorWidgetWrapper::ConstraintResult instead of the previous boolean value for the constraint status
- The boolean constraintValid argument for updateConstraintWidgetStatus has been changed to a QgsEditorWidgetWrapper::ConstraintResult value
- All `valueChanged( value )` slots have been removed. Use `emit valueChanged( value )` instead.
- The `valueChanged()` slot has been renamed to `emitValueChanged()`.
QgsExpression {#qgis_api_break_3_0_QgsExpression}
@ -1342,6 +1136,8 @@ maintains Z or M dimensions from the input points and is more efficient.
- exportToWkt() was renamed to asWkt()
- exportToGeoJSON() was renamed to asJson()
- closestSegmentWithContext() now returns an extra value, indicating whether the point is to the left of the geometry
- equals() now performs a fast, strict equality check, where geometries are considered equal only if they have the
exact same type, vertices and order. The slower topological test can be performed by calling isGeosEqual instead.
QgsGeometryAnalyzer {#qgis_api_break_3_0_QgsGeometryAnalyzer}
@ -1453,6 +1249,10 @@ QgsGeometryUtils {#qgis_api_break_3_0_QgsGeometryUtils}
- componentType enum has been renamed to ComponentType and its members were CamelCased too: VERTEX, RING and PART become Vertex, Ring and Part, respectively.
- adjacentVertices was removed - use QgsAbstractGeometry.adjacentVertices instead.
- segmentIntersection takes an optional boolean parameter "acceptImproperIntersection" returning true even if the intersection is improper.
Takes another boolean argument "isIntersection" returning if there is an intersection or not. The "inter" parameter has been renamed "intersectionPoint".
- projPointOnSegment has been renamed to projectPointOnSegment
- getSelfIntersections has been renamed to selfIntersections
QgsGPSConnectionRegistry {#qgis_api_break_3_0_QgsGPSConnectionRegistry}
@ -1636,6 +1436,7 @@ QgsMapCanvas {#qgis_api_break_3_0_QgsMapCanvas}
- setCrsTransformEnabled(), hasCrsTransformEnabled(), hasCrsTransformEnabledChanged() were removed. CRS transformation is now always enabled.
- setMapUnits() was removed. The map units are dictated by the units for the destination CRS.
- The mapUnitsChanged() signal was removed. Listen for the destinationCrsChanged() signal instead, as the destination CRS dictates the map units.
- layerCrsChange() slot was removed. Datum transforms are now handled in QgisApp.
QgsMapCanvasItem {#qgis_api_break_3_0_QgsMapCanvasItem}
----------------
@ -1988,7 +1789,8 @@ QgsPointLocator {#qgis_api_break_3_0_QgsPointLocator}
---------------
- The constructor now takes a reference rather than a pointer to a CRS. This has no effect on PyQGIS code, but c++
plugins calling this method will need to be updated.
plugins calling this method will need to be updated. The constructor now requires a QgsCoordinateTransformContext argument
when a destination crs is specified.
- The destCRS parameter in the constructor has been renamed to destinationCrs.
- destCRS() has been renamed to destinationCrs()
- destinationCrs() now returns a copy instead of a reference to the CRS. This has no effect on PyQGIS code, but c++
@ -2075,6 +1877,9 @@ QgsRasterDataProvider {#qgis_api_break_3_0_QgsRasterDataProvider}
- draw() has been removed from the interface as it was not used anywhere.
- The progress and progressUpdate signals were removed. Methods which previously emitted these
signals now accept a QgsRasterBlockFeedback argument for reporting progress updates.
- metadata() was renamed to htmlMetadata()
- makeTableCell() has been removed
- makeTableCells() has been removed, look for the new class QgsHtmlUtils
QgsRasterFileWriter {#qgis_api_break_3_0_QgsRasterFileWriter}
@ -2116,6 +1921,12 @@ loadDefaultStyle argument.
signals now accept a QgsRasterBlockFeedback argument for reporting progress updates.
QgsRasterLayerSaveAsDialog {#qgis_api_break_3_0_QgsRasterLayerSaveAsDialog}
--------------------------
- The currentExtent and currentCrs arguments have been dropped from the constructor. Use setMapCanvas() instead.
QgsRasterProjector {#qgis_api_break_3_0_QgsRasterProjector}
------------------
@ -2507,6 +2318,8 @@ QgsTracer {#qgis_api_break_3_0_QgsTracer}
---------
- hasCrsTransformEnabled() and setCrsTransformEnabled() were removed. CRS transformation is now always enabled when required.
- setDestinationCrs() now requires a QgsCoordinateTransformContext argument.
QgsTransaction {#qgis_api_break_3_0_QgsTransaction}
--------------
@ -2630,6 +2443,10 @@ displayExpression instead. For the map tip use mapTipTemplate() instead.
- addPart() now returns QgsGeometry::OperationResult enum, integer representation of returned values may have changed
- splitParts() now returns QgsGeometry::OperationResult enum, integer representation of returned values may have changed
- splitFeatured() now returns QgsGeometry::OperationResult enum, integer representation of returned values may have changed
- pendingFields() was dropped. Use fields() instead.
- pendingAllAttributesList() was dropped. Use allAttributes() instead.
- pendingPkAttributesList() and pkAttributeList() were dropped. Use primaryKeyAttributes() instead.
- pendingFeatureCount() was dropped. Use featureCount() instead.
QgsVectorLayerEditBuffer {#qgis_api_break_3_0_QgsVectorLayerEditBuffer}

View File

@ -8,7 +8,7 @@
"Committer": "Yes",
"First Commit Message": "Initial revision",
"First Commit Date": "06-07-2002",
"GIT Nickname": "gsherman"
"GIT Nickname": "g-sherman"
},
"geometry": {
"type": "Point",
@ -141,7 +141,7 @@
"Committer": "Yes",
"First Commit Message": "some dutch translations for git testing",
"First Commit Date": "4-9-2011",
"GIT Nickname": "duiv"
"GIT Nickname": "rduivenvoorde"
},
"geometry": {
"type": "Point",
@ -277,7 +277,7 @@
"Committer": "Yes",
"First Commit Message": "some bugfixes",
"First Commit Date": "07-04-2004",
"GIT Nickname": "rabla,rblazek,blazek"
"GIT Nickname": "blazek"
},
"geometry": {
"type": "Point",
@ -334,7 +334,7 @@
"type": "Point",
"coordinates": [
104.9110,
11.5582
11.5582
]
}
},
@ -581,8 +581,8 @@
"geometry": {
"type": "Point",
"coordinates": [
6.86121,
46.47796
-70.413406,
19.745284
]
}
},
@ -644,7 +644,7 @@
"Committer": "Yes",
"First Commit Message": "Patch to allow setting extents from cli on startup",
"First Commit Date": "03-06-2005",
"GIT Nickname": "wonder"
"GIT Nickname": "wonder-sk"
},
"geometry": {
"type": "Point",

View File

@ -17,14 +17,23 @@
<script>
var developersMapTiles = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
maxZooom: 18,
attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
});
$.getJSON($('link[rel="points"]').attr("href"), function(data) {
var nameString = '';
var geojson = L.geoJson(data, {
onEachFeature: function (feature, layer) {
layer.bindPopup("<b>Name:</b> " + feature.properties.Name +
"<br><b>Committer:</b> " + feature.properties.Committer);
if (feature.properties['GIT Nickname'] !== undefined){
nameString = "<a href='https://github.com/" +
feature.properties['GIT Nickname'] + "' target='_blank' >" +
feature.properties.Name + "</a>";
} else {
nameString = feature.properties.Name;
}
layer.bindPopup(nameString + "<br>" +
(feature.properties.Committer == "Yes" ?
"Core committer" : "Core contributor" ));
}
});
var map = L.map('developers-map').fitBounds(geojson.getBounds());

View File

@ -44,12 +44,12 @@ sudo apt-get update
== Install build dependencies ==
|| Distribution | install command for packages |
| stretch | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| xenial | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| yakkety | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| zesty | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| artful | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| sid | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| stretch | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| xenial | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| yakkety | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| zesty | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| artful | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
| sid | ``apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex gdal-bin git graphviz grass-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libosgearth-dev libpq-dev libproj-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqt5opengl5-dev libqt5scintilla2-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libzip-dev lighttpd locales ninja-build pkg-config poppler-utils pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools spawn-fcgi txt2tags xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb`` |
(extracted from the control.in file in ``debian/``)
@ -259,7 +259,7 @@ new subdirectory called `build` or `build-qt5` in it.
=== Install build dependencies ===
```
dnf install qt5-qtwebkit-devel qt5-qtlocation-devel qt5-qttools-static qt5-qtscript-devel qca-qt5-devel qca-qt5-ossl qt5-qt3d-devel python3-qt5-devel python3-qscintilla-qt5-devel qscintilla-qt5-devel python3-qscintilla-devel python3-qscintilla-qt5 clang flex bison geos-devel gdal-devel sqlite-devel libspatialite-devel qt5-qtsvg-devel qt5-qtxmlpatterns-devel spatialindex-devel expat-devel proj-devel qwt-qt5-devel gsl-devel postgresql-devel cmake python3-future gdal-python3 python3-psycopg2 python3-PyYAML python3-pygments python3-jinja2 python3-OWSLib qca-qt5-ossl qwt-qt5-devel qtkeychain-qt5-devel qwt-devel sip-devel libzip-devel
dnf install qt5-qtwebkit-devel qt5-qtlocation-devel qt5-qttools-static qca-qt5-devel qca-qt5-ossl qt5-qt3d-devel python3-qt5-devel python3-qscintilla-qt5-devel qscintilla-qt5-devel python3-qscintilla-devel python3-qscintilla-qt5 clang flex bison geos-devel gdal-devel sqlite-devel libspatialite-devel qt5-qtsvg-devel qt5-qtxmlpatterns-devel spatialindex-devel expat-devel proj-devel qwt-qt5-devel gsl-devel postgresql-devel cmake python3-future gdal-python3 python3-psycopg2 python3-PyYAML python3-pygments python3-jinja2 python3-OWSLib qca-qt5-ossl qwt-qt5-devel qtkeychain-qt5-devel qwt-devel sip-devel libzip-devel
```
To build QGIS server additional dependencies are required:

View File

@ -1,5 +1,5 @@
// ASBeautifier.cpp
// Copyright (c) 2017 by Jim Pattee <jimp03@email.com>.
// Copyright (c) 2018 by Jim Pattee <jimp03@email.com>.
// This code is licensed under the MIT License.
// License.md describes the conditions under which this software may be distributed.
@ -38,7 +38,7 @@ ASBeautifier::ASBeautifier()
headerStack = nullptr;
tempStacks = nullptr;
squareBracketDepthStack = nullptr;
parenDepthStack = nullptr;
blockStatementStack = nullptr;
parenStatementStack = nullptr;
braceBlockStateStack = nullptr;
@ -106,8 +106,8 @@ ASBeautifier::ASBeautifier(const ASBeautifier& other) : ASBase(other)
tempStacks = copyTempStacks(other);
squareBracketDepthStack = new vector<int>;
*squareBracketDepthStack = *other.squareBracketDepthStack;
parenDepthStack = new vector<int>;
*parenDepthStack = *other.parenDepthStack;
blockStatementStack = new vector<bool>;
*blockStatementStack = *other.blockStatementStack;
@ -131,7 +131,7 @@ ASBeautifier::ASBeautifier(const ASBeautifier& other) : ASBase(other)
*preprocIndentStack = *other.preprocIndentStack;
// Copy the pointers to vectors.
// This is OK because the original ASBeautifier object
// This is ok because the original ASBeautifier object
// is not deleted until end of job.
beautifierFileType = other.beautifierFileType;
headers = other.headers;
@ -200,6 +200,7 @@ ASBeautifier::ASBeautifier(const ASBeautifier& other) : ASBase(other)
isInEnum = other.isInEnum;
isInEnumTypeID = other.isInEnumTypeID;
isInLet = other.isInLet;
isInTrailingReturnType = other.isInTrailingReturnType;
modifierIndent = other.modifierIndent;
switchIndent = other.switchIndent;
caseIndent = other.caseIndent;
@ -273,7 +274,7 @@ ASBeautifier::~ASBeautifier()
deleteContainer(activeBeautifierStackLengthStack);
deleteContainer(headerStack);
deleteTempStacksContainer(tempStacks);
deleteContainer(squareBracketDepthStack);
deleteContainer(parenDepthStack);
deleteContainer(blockStatementStack);
deleteContainer(parenStatementStack);
deleteContainer(braceBlockStateStack);
@ -312,7 +313,7 @@ void ASBeautifier::init(ASSourceIterator* iter)
initTempStacksContainer(tempStacks, new vector<vector<const string*>*>);
tempStacks->emplace_back(new vector<const string*>);
initContainer(squareBracketDepthStack, new vector<int>);
initContainer(parenDepthStack, new vector<int>);
initContainer(blockStatementStack, new vector<bool>);
initContainer(parenStatementStack, new vector<bool>);
initContainer(braceBlockStateStack, new vector<bool>);
@ -356,6 +357,7 @@ void ASBeautifier::init(ASSourceIterator* iter)
isInHeader = false;
isInTemplate = false;
isInConditional = false;
isInTrailingReturnType = false;
indentCount = 0;
spaceIndentCount = 0;
@ -538,7 +540,7 @@ void ASBeautifier::setMaxContinuationIndentLength(int max)
maxContinuationIndent = max;
}
// retained for compatability with release 2.06
// retained for compatibility with release 2.06
// "MaxInStatementIndent" has been changed to "MaxContinuationIndent" in 3.0
// it is referenced only by the old "MaxInStatementIndent" options
void ASBeautifier::setMaxInStatementIndentLength(int max)
@ -1010,9 +1012,12 @@ string ASBeautifier::beautify(const string& originalLine)
if (isInDefineDefinition && !isInDefine)
{
isInDefineDefinition = false;
ASBeautifier* defineBeautifier = activeBeautifierStack->back();
activeBeautifierStack->pop_back();
delete defineBeautifier;
if (!activeBeautifierStack->empty())
{
ASBeautifier* defineBeautifier = activeBeautifierStack->back();
activeBeautifierStack->pop_back();
delete defineBeautifier;
}
}
}
if (emptyLineFill && !isInQuoteContinuation)
@ -1128,6 +1133,9 @@ string ASBeautifier::beautify(const string& originalLine)
if (!backslashEndsPrevLine && isInDefineDefinition && !isInDefine)
{
isInDefineDefinition = false;
// this could happen with invalid input
if (activeBeautifierStack->empty())
return originalLine;
ASBeautifier* defineBeautifier = activeBeautifierStack->back();
activeBeautifierStack->pop_back();
@ -1278,6 +1286,7 @@ string ASBeautifier::preLineWS(int lineIndentCount, int lineSpaceIndentCount) co
void ASBeautifier::registerContinuationIndent(const string& line, int i, int spaceIndentCount_,
int tabIncrementIn, int minIndent, bool updateParenStack)
{
assert(i >= -1);
int remainingCharNum = line.length() - i;
int nextNonWSChar = getNextProgramCharDistance(line, i);
@ -1298,7 +1307,11 @@ void ASBeautifier::registerContinuationIndent(const string& line, int i, int spa
}
if (updateParenStack)
{
parenIndentStack->emplace_back(i + spaceIndentCount_ - runInIndentContinuation);
if (parenIndentStack->back() < 0)
parenIndentStack->back() = 0;
}
int tabIncrement = tabIncrementIn;
@ -1328,7 +1341,7 @@ void ASBeautifier::registerContinuationIndent(const string& line, int i, int spa
continuationIndentCount = continuationIndentStack->back();
// the block opener is not indented for a NonInStatementArray
if ((isNonInStatementArray && line[i] == '{')
if ((isNonInStatementArray && i >= 0 && line[i] == '{')
&& !isInEnum && !braceBlockStateStack->empty() && braceBlockStateStack->back())
continuationIndentCount = 0;
@ -1348,7 +1361,7 @@ void ASBeautifier::registerContinuationIndentColon(const string& line, int i, in
if (firstChar == (size_t) i) // firstChar is ':'
{
size_t firstWord = line.find_first_not_of(" \t", firstChar + 1);
if (firstChar != string::npos)
if (firstWord != string::npos)
{
int continuationIndentCount = firstWord + spaceIndentCount + tabIncrementIn;
continuationIndentStack->emplace_back(continuationIndentCount);
@ -1735,7 +1748,7 @@ int ASBeautifier::getContinuationIndentAssign(const string& line, size_t currPos
int start; // start of the previous word
for (start = end; start > -1; start--)
{
if (!isLegalNameChar(line[start]) || line[start] == '.')
if (!isLegalNameChar(line[start]))
break;
}
start++;
@ -1869,11 +1882,11 @@ bool ASBeautifier::isPreprocessorConditionalCplusplus(const string& line) const
{
charNum += 7;
charNum = preproc.find_first_not_of(" \t", charNum);
if (preproc.compare(charNum, 1, "(") == 0)
if (charNum != string::npos && preproc.compare(charNum, 1, "(") == 0)
{
++charNum;
charNum = preproc.find_first_not_of(" \t", charNum);
if (preproc.compare(charNum, 11, "__cplusplus") == 0)
if (charNum != string::npos && preproc.compare(charNum, 11, "__cplusplus") == 0)
return true;
}
}
@ -2276,7 +2289,7 @@ void ASBeautifier::adjustObjCMethodDefinitionIndentation(const string& line_)
if (shouldAlignMethodColon && objCColonAlignSubsequent != -1)
{
string convertedLine = getIndentedSpaceEquivalent(line_);
colonIndentObjCMethodAlignment = convertedLine.find(':');
colonIndentObjCMethodAlignment = findObjCColonAlignment(convertedLine);
int objCColonAlignSubsequentIndent = objCColonAlignSubsequent + indentLength;
if (objCColonAlignSubsequentIndent > colonIndentObjCMethodAlignment)
colonIndentObjCMethodAlignment = objCColonAlignSubsequentIndent;
@ -2310,7 +2323,7 @@ void ASBeautifier::adjustObjCMethodCallIndentation(const string& line_)
bracePosObjCMethodAlignment = convertedLine.find('[');
keywordIndentObjCMethodAlignment =
getObjCFollowingKeyword(convertedLine, bracePosObjCMethodAlignment);
colonIndentObjCMethodAlignment = convertedLine.find(':');
colonIndentObjCMethodAlignment = findObjCColonAlignment(convertedLine);
if (colonIndentObjCMethodAlignment >= 0)
{
int objCColonAlignSubsequentIndent = objCColonAlignSubsequent + indentLength;
@ -2322,7 +2335,7 @@ void ASBeautifier::adjustObjCMethodCallIndentation(const string& line_)
}
else
{
if (line_.find(':') != string::npos)
if (findObjCColonAlignment(line_) != -1)
{
if (colonIndentObjCMethodAlignment < 0)
spaceIndentCount += computeObjCColonAlignment(line_, objCColonAlignSubsequent);
@ -2371,6 +2384,34 @@ void ASBeautifier::clearObjCMethodDefinitionAlignment()
continuationIndentStack->pop_back();
}
/**
* Find the first alignment colon on a line.
* Ternary operators (?) are bypassed.
*/
int ASBeautifier::findObjCColonAlignment(const string& line) const
{
bool haveTernary = false;
for (size_t i = 0; i < line.length(); i++)
{
i = line.find_first_of(":?", i);
if (i == string::npos)
break;
if (line[i] == '?')
{
haveTernary = true;
continue;
}
if (haveTernary)
{
haveTernary = false;
continue;
}
return i;
}
return -1;
}
/**
* Compute the spaceIndentCount necessary to align the current line colon
* with the colon position in the argument.
@ -2379,14 +2420,17 @@ void ASBeautifier::clearObjCMethodDefinitionAlignment()
*/
int ASBeautifier::computeObjCColonAlignment(const string& line, int colonAlignPosition) const
{
int colonPosition = line.find(':');
int colonPosition = findObjCColonAlignment(line);
if (colonPosition < 0 || colonPosition > colonAlignPosition)
return indentLength;
return (colonAlignPosition - colonPosition);
}
/*
* Compute postition of the keyword following the method call object.
* Compute position of the keyword following the method call object.
* This is oversimplified to find unusual method calls.
* Use for now and see what happens.
* Most programmers will probably use align-method-colon anyway.
*/
int ASBeautifier::getObjCFollowingKeyword(const string& line, int bracePos) const
{
@ -2444,6 +2488,34 @@ string ASBeautifier::getIndentedSpaceEquivalent(const string& line_) const
return convertedLine;
}
/**
* Determine if an item is at a top level.
*/
bool ASBeautifier::isTopLevel() const
{
if (headerStack->empty())
return true;
else if (headerStack->back() == &AS_OPEN_BRACE
&& headerStack->size() >= 2)
{
if ((*headerStack)[headerStack->size() - 2] == &AS_NAMESPACE
|| (*headerStack)[headerStack->size() - 2] == &AS_MODULE
|| (*headerStack)[headerStack->size() - 2] == &AS_CLASS
|| (*headerStack)[headerStack->size() - 2] == &AS_INTERFACE
|| (*headerStack)[headerStack->size() - 2] == &AS_STRUCT
|| (*headerStack)[headerStack->size() - 2] == &AS_UNION)
return true;
}
else if (headerStack->back() == &AS_NAMESPACE
|| headerStack->back() == &AS_MODULE
|| headerStack->back() == &AS_CLASS
|| headerStack->back() == &AS_INTERFACE
|| headerStack->back() == &AS_STRUCT
|| headerStack->back() == &AS_UNION)
return true;
return false;
}
/**
* Parse the current line to update indentCount and spaceIndentCount.
*/
@ -2611,7 +2683,7 @@ void ASBeautifier::parseCurrentLine(const string& line)
}
isInComment = false;
i++;
blockCommentNoIndent = false; // OK to indent next comment
blockCommentNoIndent = false; // ok to indent next comment
continue;
}
// treat indented preprocessor lines as a line comment
@ -2752,7 +2824,7 @@ void ASBeautifier::parseCurrentLine(const string& line)
if (currentHeader != nullptr)
registerContinuationIndent(line, i, spaceIndentCount, tabIncrementIn, minConditionalIndent, true);
else
else if (!isInObjCMethodDefinition)
registerContinuationIndent(line, i, spaceIndentCount, tabIncrementIn, 0, true);
}
else if (ch == ')' || ch == ']')
@ -2803,6 +2875,7 @@ void ASBeautifier::parseCurrentLine(const string& line)
|| prevNonSpaceCh == ')'
|| prevNonSpaceCh == ';'
|| peekNextChar(line, i) == '{'
|| isInTrailingReturnType
|| foundPreCommandHeader
|| foundPreCommandMacro
|| isInClassHeader
@ -2829,25 +2902,7 @@ void ASBeautifier::parseCurrentLine(const string& line)
if (!isBlockOpener && !isContinuation && !isInClassInitializer && !isInEnum)
{
if (headerStack->empty())
isBlockOpener = true;
else if (headerStack->back() == &AS_OPEN_BRACE
&& headerStack->size() >= 2)
{
if ((*headerStack)[headerStack->size() - 2] == &AS_NAMESPACE
|| (*headerStack)[headerStack->size() - 2] == &AS_MODULE
|| (*headerStack)[headerStack->size() - 2] == &AS_CLASS
|| (*headerStack)[headerStack->size() - 2] == &AS_INTERFACE
|| (*headerStack)[headerStack->size() - 2] == &AS_STRUCT
|| (*headerStack)[headerStack->size() - 2] == &AS_UNION)
isBlockOpener = true;
}
else if (headerStack->back() == &AS_NAMESPACE
|| headerStack->back() == &AS_MODULE
|| headerStack->back() == &AS_CLASS
|| headerStack->back() == &AS_INTERFACE
|| headerStack->back() == &AS_STRUCT
|| headerStack->back() == &AS_UNION)
if (isTopLevel())
isBlockOpener = true;
}
@ -2917,12 +2972,13 @@ void ASBeautifier::parseCurrentLine(const string& line)
&& isInIndentableStruct)
(*headerStack).back() = &AS_CLASS;
squareBracketDepthStack->emplace_back(parenDepth);
// is a brace inside a paren?
parenDepthStack->emplace_back(parenDepth);
blockStatementStack->push_back(isContinuation);
if (!continuationIndentStack->empty())
{
// completely purge the inStatementIndentStack
// completely purge the continuationIndentStack
while (!continuationIndentStack->empty())
popLastContinuationIndent();
if (isInClassInitializer || isInClassHeaderTab)
@ -2938,6 +2994,7 @@ void ASBeautifier::parseCurrentLine(const string& line)
if (g_preprocessorCppExternCBrace == 3)
++g_preprocessorCppExternCBrace;
parenDepth = 0;
isInTrailingReturnType = false;
isInClassHeader = false;
isInClassHeaderTab = false;
isInClassInitializer = false;
@ -2963,6 +3020,10 @@ void ASBeautifier::parseCurrentLine(const string& line)
{
const string* newHeader = findHeader(line, i, headers);
// java can have a 'default' not in a switch
if (newHeader == &AS_DEFAULT
&& peekNextChar(line, (i + (*newHeader).length() - 1)) != ':')
newHeader = nullptr;
// Qt headers may be variables in C++
if (isCStyle()
&& (newHeader == &AS_FOREVER || newHeader == &AS_FOREACH))
@ -2970,8 +3031,14 @@ void ASBeautifier::parseCurrentLine(const string& line)
if (line.find_first_of("=;", i) != string::npos)
newHeader = nullptr;
}
else if (isSharpStyle()
&& (newHeader == &AS_GET || newHeader == &AS_SET))
{
if (getNextWord(line, i + (*newHeader).length()) == "is")
newHeader = nullptr;
}
else if (newHeader == &AS_USING
&& ASBeautifier::peekNextChar(line, i + (*newHeader).length() - 1) != '(')
&& peekNextChar(line, i + (*newHeader).length() - 1) != '(')
newHeader = nullptr;
if (newHeader != nullptr)
@ -2991,7 +3058,8 @@ void ASBeautifier::parseCurrentLine(const string& line)
// take care of the special case: 'else if (...)'
if (newHeader == &AS_IF && lastLineHeader == &AS_ELSE)
{
headerStack->pop_back();
if (!headerStack->empty())
headerStack->pop_back();
}
// take care of 'else'
@ -3121,7 +3189,9 @@ void ASBeautifier::parseCurrentLine(const string& line)
} // newHeader != nullptr
if (findHeader(line, i, preCommandHeaders) != nullptr)
foundPreCommandHeader = true;
// must be after function arguments
if (prevNonSpaceCh == ')')
foundPreCommandHeader = true;
// Objective-C NSException macros are preCommandHeaders
if (isCStyle() && findKeyword(line, i, AS_NS_DURING))
@ -3164,7 +3234,7 @@ void ASBeautifier::parseCurrentLine(const string& line)
if (i == 0)
indentCount += classInitializerIndents;
}
else if (isCStyle()
else if ((isCStyle() || isSharpStyle())
&& !isInCase
&& (prevNonSpaceCh == ')' || foundPreCommandHeader))
{
@ -3311,10 +3381,10 @@ void ASBeautifier::parseCurrentLine(const string& line)
if (!continuationIndentStackSizeStack->empty())
popLastContinuationIndent();
if (!squareBracketDepthStack->empty())
if (!parenDepthStack->empty())
{
parenDepth = squareBracketDepthStack->back();
squareBracketDepthStack->pop_back();
parenDepth = parenDepthStack->back();
parenDepthStack->pop_back();
isContinuation = blockStatementStack->back();
blockStatementStack->pop_back();
@ -3379,7 +3449,10 @@ void ASBeautifier::parseCurrentLine(const string& line)
}
if (parenDepth == 0 && ch == ';')
{
isContinuation = false;
isInClassInitializer = false;
}
if (isInObjCMethodDefinition)
{
@ -3408,7 +3481,7 @@ void ASBeautifier::parseCurrentLine(const string& line)
if (!isInTemplate && !(isCStyle() && parenDepth > 0))
{
const string* newHeader = findHeader(line, i, preBlockStatements);
// handle CORBA IDL module
// CORBA IDL module
if (newHeader == &AS_MODULE)
{
char nextChar = peekNextChar(line, i + newHeader->length() - 1);
@ -3416,7 +3489,10 @@ void ASBeautifier::parseCurrentLine(const string& line)
newHeader = nullptr;
}
if (newHeader != nullptr
&& !(isCStyle() && newHeader == &AS_CLASS && isInEnum)) // is not 'enum class'
&& !(isCStyle() && newHeader == &AS_CLASS && isInEnum) // is not 'enum class'
&& !(isCStyle() && newHeader == &AS_INTERFACE // CORBA IDL interface
&& (headerStack->empty()
|| headerStack->back() != &AS_OPEN_BRACE)))
{
if (!isSharpStyle())
headerStack->emplace_back(newHeader);
@ -3481,6 +3557,11 @@ void ASBeautifier::parseCurrentLine(const string& line)
continuationIndentStack->back() = 0;
}
if (isCStyle() && findKeyword(line, i, AS_AUTO) && isTopLevel())
{
isInTrailingReturnType = true;
}
if (isCStyle())
{
if (findKeyword(line, i, AS_ASM)
@ -3511,11 +3592,13 @@ void ASBeautifier::parseCurrentLine(const string& line)
// Handle Objective-C statements
if (ch == '@' && !isWhiteSpace(line[i + 1])
if (ch == '@'
&& line.length() > i + 1
&& !isWhiteSpace(line[i + 1])
&& isCharPotentialHeader(line, i + 1))
{
string curWord = getCurrentWord(line, i + 1);
if (curWord == AS_INTERFACE && headerStack->empty())
if (curWord == AS_INTERFACE)
{
isInObjCInterface = true;
string name = '@' + curWord;
@ -3550,8 +3633,10 @@ void ASBeautifier::parseCurrentLine(const string& line)
}
}
else if ((ch == '-' || ch == '+')
&& peekNextChar(line, i) == '('
&& headerStack->empty()
&& (prevNonSpaceCh == ';' || prevNonSpaceCh == '{'
|| headerStack->empty() || isInObjCInterface)
&& ASBase::peekNextChar(line, i) != '-'
&& ASBase::peekNextChar(line, i) != '+'
&& line.find_first_not_of(" \t") == i)
{
if (isInObjCInterface)
@ -3606,7 +3691,7 @@ void ASBeautifier::parseCurrentLine(const string& line)
|| foundNonAssignmentOp == &AS_LS_LS))
{
// this will be true if the line begins with the operator
if (i < 2 && spaceIndentCount == 0)
if (i < foundNonAssignmentOp->length() && spaceIndentCount == 0)
spaceIndentCount += 2 * indentLength;
// align to the beginning column of the operator
registerContinuationIndent(line, i - foundNonAssignmentOp->length(), spaceIndentCount, tabIncrementIn, 0, false);

View File

@ -1,5 +1,5 @@
// ASEnhancer.cpp
// Copyright (c) 2017 by Jim Pattee <jimp03@email.com>.
// Copyright (c) 2018 by Jim Pattee <jimp03@email.com>.
// This code is licensed under the MIT License.
// License.md describes the conditions under which this software may be distributed.
@ -679,7 +679,6 @@ size_t ASEnhancer::processSwitchBlock(string& line, size_t index)
if (line[i] == '}')
{
sw.switchBraceCount--;
assert(sw.switchBraceCount <= braceCount);
if (sw.switchBraceCount == 0) // if end of switch statement
{
int lineUnindent = sw.unindentDepth;

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
// ASLocalizer.cpp
// Copyright (c) 2017 by Jim Pattee <jimp03@email.com>.
// Copyright (c) 2018 by Jim Pattee <jimp03@email.com>.
// This code is licensed under the MIT License.
// License.md describes the conditions under which this software may be distributed.
//
@ -183,7 +183,7 @@ void ASLocalizer::setLanguageFromLCID(size_t lcid)
setTranslationClass();
}
#endif // _win32
#endif // _WIN32
string ASLocalizer::getLanguageID() const
// Returns the language ID in m_langID.
@ -350,6 +350,14 @@ string Translation::convertToMultiByte(const wstring& wideStr) const
return mbTranslation;
}
string Translation::getTranslationString(size_t i) const
// Return the translation ascii value. Used for testing.
{
if (i >= m_translation.size())
return string();
return m_translation[i].first;
}
size_t Translation::getTranslationVectorSize() const
// Return the translation vector size. Used for testing.
{
@ -403,18 +411,21 @@ Bulgarian::Bulgarian() // български
addPair("Formatted %s\n", L"Форматиран %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Непроменен %s\n"); // should align with formatted
addPair("Directory %s\n", L"директория %s\n");
addPair("Default option file %s\n", L"Файл с опции по подразбиране %s\n");
addPair("Project option file %s\n", L"Файл с опции за проекта %s\n");
addPair("Exclude %s\n", L"Изключвам %s\n");
addPair("Exclude (unmatched) %s\n", L"Изключване (несравнимо) %s\n");
addPair(" %s formatted %s unchanged ", L" %s форматиран %s hепроменен ");
addPair(" seconds ", L" секунди ");
addPair("%d min %d sec ", L"%d мин %d сек ");
addPair("%s lines\n", L"%s линии\n");
addPair("Using default options file %s\n", L"Използване на файла възможности по подразбиране %s\n");
addPair("Opening HTML documentation %s\n", L"Откриване HTML документация %s\n");
addPair("Invalid option file options:", L"Невалидни опции опция файлове:");
addPair("Invalid default options:", L"Невалидни опции по подразбиране:");
addPair("Invalid project options:", L"Невалидни опции за проекти:");
addPair("Invalid command line options:", L"Невалидни опции за командния ред:");
addPair("For help on options type 'astyle -h'", L"За помощ относно възможностите тип 'astyle -h'");
addPair("Cannot open options file", L"Не може да се отвори файл опции");
addPair("Cannot open default option file", L"Не може да се отвори файлът с опции по подразбиране");
addPair("Cannot open project option file", L"Не може да се отвори файла с опции за проекта");
addPair("Cannot open directory", L"Не може да се отвори директория");
addPair("Cannot open HTML file %s\n", L"Не може да се отвори HTML файл %s\n");
addPair("Command execute failure", L"Command изпълни недостатъчност");
@ -425,7 +436,7 @@ Bulgarian::Bulgarian() // български
addPair("No file to process %s\n", L"Не файл за обработка %s\n");
addPair("Did you intend to use --recursive", L"Знаете ли възнамерявате да използвате --recursive");
addPair("Cannot process UTF-32 encoding", L"Не може да са UTF-32 кодиране");
addPair("\nArtistic Style has terminated", L"\nArtistic Style е прекратено");
addPair("Artistic Style has terminated\n", L"Artistic Style е прекратено\n");
}
ChineseSimplified::ChineseSimplified() // 中文(简体)
@ -434,18 +445,21 @@ ChineseSimplified::ChineseSimplified() // 中文(简体)
addPair("Formatted %s\n", L"格式化 %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"未改变 %s\n"); // should align with formatted
addPair("Directory %s\n", L"目录 %s\n");
addPair("Default option file %s\n", L"默认选项文件 %s\n");
addPair("Project option file %s\n", L"项目选项文件 %s\n");
addPair("Exclude %s\n", L"排除 %s\n");
addPair("Exclude (unmatched) %s\n", L"排除(无匹配项) %s\n");
addPair(" %s formatted %s unchanged ", L" %s 格式化 %s 未改变 ");
addPair(" seconds ", L"");
addPair("%d min %d sec ", L"%d 分 %d 秒 ");
addPair("%s lines\n", L"%s 行\n");
addPair("Using default options file %s\n", L"使用默认配置文件 %s\n");
addPair("Opening HTML documentation %s\n", L"打开HTML文档 %s\n");
addPair("Invalid option file options:", L"无效的配置文件选项:");
addPair("Invalid default options:", L"默认选项无效:");
addPair("Invalid project options:", L"项目选项无效:");
addPair("Invalid command line options:", L"无效的命令行选项:");
addPair("For help on options type 'astyle -h'", L"输入 'astyle -h' 以获得有关命令行的帮助");
addPair("Cannot open options file", L"无法打开配置文件");
addPair("Cannot open default option file", L"无法打开默认选项文件");
addPair("Cannot open project option file", L"无法打开项目选项文件");
addPair("Cannot open directory", L"无法打开目录");
addPair("Cannot open HTML file %s\n", L"无法打开HTML文件 %s\n");
addPair("Command execute failure", L"执行命令失败");
@ -456,7 +470,7 @@ ChineseSimplified::ChineseSimplified() // 中文(简体)
addPair("No file to process %s\n", L"没有文件可处理 %s\n");
addPair("Did you intend to use --recursive", L"你打算使用 --recursive");
addPair("Cannot process UTF-32 encoding", L"不能处理UTF-32编码");
addPair("\nArtistic Style has terminated", L"\nArtistic Style 已经终止运行");
addPair("Artistic Style has terminated\n", L"Artistic Style 已经终止运行\n");
}
ChineseTraditional::ChineseTraditional() // 中文(繁體)
@ -465,18 +479,21 @@ ChineseTraditional::ChineseTraditional() // 中文(繁體)
addPair("Formatted %s\n", L"格式化 %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"未改變 %s\n"); // should align with formatted
addPair("Directory %s\n", L"目錄 %s\n");
addPair("Default option file %s\n", L"默認選項文件 %s\n");
addPair("Project option file %s\n", L"項目選項文件 %s\n");
addPair("Exclude %s\n", L"排除 %s\n");
addPair("Exclude (unmatched) %s\n", L"排除(無匹配項) %s\n");
addPair(" %s formatted %s unchanged ", L" %s 格式化 %s 未改變 ");
addPair(" seconds ", L"");
addPair("%d min %d sec ", L"%d 分 %d 秒 ");
addPair("%s lines\n", L"%s 行\n");
addPair("Using default options file %s\n", L"使用默認配置文件 %s\n");
addPair("Opening HTML documentation %s\n", L"打開HTML文檔 %s\n");
addPair("Invalid option file options:", L"無效的配置文件選項:");
addPair("Invalid default options:", L"默認選項無效:");
addPair("Invalid project options:", L"項目選項無效:");
addPair("Invalid command line options:", L"無效的命令行選項:");
addPair("For help on options type 'astyle -h'", L"輸入'astyle -h'以獲得有關命令行的幫助:");
addPair("Cannot open options file", L"無法打開配置文件");
addPair("Cannot open default option file", L"無法打開默認選項文件");
addPair("Cannot open project option file", L"無法打開項目選項文件");
addPair("Cannot open directory", L"無法打開目錄");
addPair("Cannot open HTML file %s\n", L"無法打開HTML文件 %s\n");
addPair("Command execute failure", L"執行命令失敗");
@ -487,7 +504,7 @@ ChineseTraditional::ChineseTraditional() // 中文(繁體)
addPair("No file to process %s\n", L"沒有文件可處理 %s\n");
addPair("Did you intend to use --recursive", L"你打算使用 --recursive");
addPair("Cannot process UTF-32 encoding", L"不能處理UTF-32編碼");
addPair("\nArtistic Style has terminated", L"\nArtistic Style 已經終止運行");
addPair("Artistic Style has terminated\n", L"Artistic Style 已經終止運行\n");
}
Dutch::Dutch() // Nederlandse
@ -496,18 +513,21 @@ Dutch::Dutch() // Nederlandse
addPair("Formatted %s\n", L"Geformatteerd %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Onveranderd %s\n"); // should align with formatted
addPair("Directory %s\n", L"Directory %s\n");
addPair("Default option file %s\n", L"Standaard optie bestand %s\n");
addPair("Project option file %s\n", L"Project optie bestand %s\n");
addPair("Exclude %s\n", L"Uitsluiten %s\n");
addPair("Exclude (unmatched) %s\n", L"Uitgesloten (ongeëvenaarde) %s\n");
addPair(" %s formatted %s unchanged ", L" %s geformatteerd %s onveranderd ");
addPair(" seconds ", L" seconden ");
addPair("%d min %d sec ", L"%d min %d sec ");
addPair("%s lines\n", L"%s lijnen\n");
addPair("Using default options file %s\n", L"Met behulp van standaard opties bestand %s\n");
addPair("Opening HTML documentation %s\n", L"Het openen van HTML-documentatie %s\n");
addPair("Invalid option file options:", L"Ongeldige optie file opties:");
addPair("Invalid default options:", L"Ongeldige standaardopties:");
addPair("Invalid project options:", L"Ongeldige projectopties:");
addPair("Invalid command line options:", L"Ongeldige command line opties:");
addPair("For help on options type 'astyle -h'", L"Voor hulp bij 'astyle-h' opties het type");
addPair("Cannot open options file", L"Kan niet worden geopend options bestand");
addPair("Cannot open default option file", L"Kan het standaardoptiesbestand niet openen");
addPair("Cannot open project option file", L"Kan het project optie bestand niet openen");
addPair("Cannot open directory", L"Kan niet open directory");
addPair("Cannot open HTML file %s\n", L"Kan HTML-bestand niet openen %s\n");
addPair("Command execute failure", L"Voeren commando falen");
@ -518,7 +538,7 @@ Dutch::Dutch() // Nederlandse
addPair("No file to process %s\n", L"Geen bestand te verwerken %s\n");
addPair("Did you intend to use --recursive", L"Hebt u van plan bent te gebruiken --recursive");
addPair("Cannot process UTF-32 encoding", L"Kan niet verwerken UTF-32 codering");
addPair("\nArtistic Style has terminated", L"\nArtistic Style heeft beëindigd");
addPair("Artistic Style has terminated\n", L"Artistic Style heeft beëindigd\n");
}
English::English()
@ -531,18 +551,21 @@ Estonian::Estonian() // Eesti
addPair("Formatted %s\n", L"Formaadis %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Muutumatu %s\n"); // should align with formatted
addPair("Directory %s\n", L"Kataloog %s\n");
addPair("Default option file %s\n", L"Vaikefunktsioonifail %s\n");
addPair("Project option file %s\n", L"Projekti valiku fail %s\n");
addPair("Exclude %s\n", L"Välista %s\n");
addPair("Exclude (unmatched) %s\n", L"Välista (tasakaalustamata) %s\n");
addPair(" %s formatted %s unchanged ", L" %s formaadis %s muutumatu ");
addPair(" seconds ", L" sekundit ");
addPair("%d min %d sec ", L"%d min %d sek ");
addPair("%s lines\n", L"%s read\n");
addPair("Using default options file %s\n", L"Kasutades selliseid vaikimisi valikuid faili %s\n");
addPair("Opening HTML documentation %s\n", L"Avamine HTML dokumentatsioon %s\n");
addPair("Invalid option file options:", L"Vale valik faili võimalusi:");
addPair("Invalid default options:", L"Vaikevalikud on sobimatud:");
addPair("Invalid project options:", L"Projekti valikud on sobimatud:");
addPair("Invalid command line options:", L"Vale käsureavõtmetega:");
addPair("For help on options type 'astyle -h'", L"Abiks võimaluste tüüp 'astyle -h'");
addPair("Cannot open options file", L"Ei saa avada võimalusi faili");
addPair("Cannot open default option file", L"Vaikimisi valitud faili ei saa avada");
addPair("Cannot open project option file", L"Projektivaliku faili ei saa avada");
addPair("Cannot open directory", L"Ei saa avada kataloogi");
addPair("Cannot open HTML file %s\n", L"Ei saa avada HTML-faili %s\n");
addPair("Command execute failure", L"Käsk täita rike");
@ -553,7 +576,7 @@ Estonian::Estonian() // Eesti
addPair("No file to process %s\n", L"No faili töötlema %s\n");
addPair("Did you intend to use --recursive", L"Kas te kavatsete kasutada --recursive");
addPair("Cannot process UTF-32 encoding", L"Ei saa töödelda UTF-32 kodeeringus");
addPair("\nArtistic Style has terminated", L"\nArtistic Style on lõpetatud");
addPair("Artistic Style has terminated\n", L"Artistic Style on lõpetatud\n");
}
Finnish::Finnish() // Suomeksi
@ -562,18 +585,21 @@ Finnish::Finnish() // Suomeksi
addPair("Formatted %s\n", L"Muotoiltu %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Ennallaan %s\n"); // should align with formatted
addPair("Directory %s\n", L"Directory %s\n");
addPair("Default option file %s\n", L"Oletusasetustiedosto %s\n");
addPair("Project option file %s\n", L"Projektin valintatiedosto %s\n");
addPair("Exclude %s\n", L"Sulkea %s\n");
addPair("Exclude (unmatched) %s\n", L"Sulkea (verraton) %s\n");
addPair(" %s formatted %s unchanged ", L" %s muotoiltu %s ennallaan ");
addPair(" seconds ", L" sekuntia ");
addPair("%d min %d sec ", L"%d min %d sek ");
addPair("%s lines\n", L"%s linjat\n");
addPair("Using default options file %s\n", L"Käyttämällä oletusasetuksia tiedosto %s\n");
addPair("Opening HTML documentation %s\n", L"Avaaminen HTML asiakirjat %s\n");
addPair("Invalid option file options:", L"Virheellinen vaihtoehto tiedosto vaihtoehtoja:");
addPair("Invalid default options:", L"Virheelliset oletusasetukset:");
addPair("Invalid project options:", L"Virheelliset hankevalinnat:");
addPair("Invalid command line options:", L"Virheellinen komentorivin:");
addPair("For help on options type 'astyle -h'", L"Apua vaihtoehdoista tyyppi 'astyle -h'");
addPair("Cannot open options file", L"Ei voi avata vaihtoehtoja tiedostoa");
addPair("Cannot open default option file", L"Et voi avata oletusasetustiedostoa");
addPair("Cannot open project option file", L"Projektin asetustiedostoa ei voi avata");
addPair("Cannot open directory", L"Ei Open Directory");
addPair("Cannot open HTML file %s\n", L"Ei voi avata HTML-tiedoston %s\n");
addPair("Command execute failure", L"Suorita komento vika");
@ -584,7 +610,7 @@ Finnish::Finnish() // Suomeksi
addPair("No file to process %s\n", L"Ei tiedostoa käsitellä %s\n");
addPair("Did you intend to use --recursive", L"Oliko aiot käyttää --recursive");
addPair("Cannot process UTF-32 encoding", L"Ei voi käsitellä UTF-32 koodausta");
addPair("\nArtistic Style has terminated", L"\nArtistic Style on päättynyt");
addPair("Artistic Style has terminated\n", L"Artistic Style on päättynyt\n");
}
French::French() // Française
@ -593,18 +619,21 @@ French::French() // Française
addPair("Formatted %s\n", L"Formaté %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Inchangée %s\n"); // should align with formatted
addPair("Directory %s\n", L"Répertoire %s\n");
addPair("Default option file %s\n", L"Fichier d'option par défaut %s\n");
addPair("Project option file %s\n", L"Fichier d'option de projet %s\n");
addPair("Exclude %s\n", L"Exclure %s\n");
addPair("Exclude (unmatched) %s\n", L"Exclure (non appariés) %s\n");
addPair(" %s formatted %s unchanged ", L" %s formaté %s inchangée ");
addPair(" seconds ", L" seconde ");
addPair("%d min %d sec ", L"%d min %d sec ");
addPair("%s lines\n", L"%s lignes\n");
addPair("Using default options file %s\n", L"Options par défaut utilisation du fichier %s\n");
addPair("Opening HTML documentation %s\n", L"Ouverture documentation HTML %s\n");
addPair("Invalid option file options:", L"Options Blancs option du fichier:");
addPair("Invalid default options:", L"Options par défaut invalides:");
addPair("Invalid project options:", L"Options de projet non valides:");
addPair("Invalid command line options:", L"Blancs options ligne de commande:");
addPair("For help on options type 'astyle -h'", L"Pour de l'aide sur les options tapez 'astyle -h'");
addPair("Cannot open options file", L"Impossible d'ouvrir le fichier d'options");
addPair("Cannot open default option file", L"Impossible d'ouvrir le fichier d'option par défaut");
addPair("Cannot open project option file", L"Impossible d'ouvrir le fichier d'option de projet");
addPair("Cannot open directory", L"Impossible d'ouvrir le répertoire");
addPair("Cannot open HTML file %s\n", L"Impossible d'ouvrir le fichier HTML %s\n");
addPair("Command execute failure", L"Exécuter échec de la commande");
@ -615,7 +644,7 @@ French::French() // Française
addPair("No file to process %s\n", L"Aucun fichier à traiter %s\n");
addPair("Did you intend to use --recursive", L"Avez-vous l'intention d'utiliser --recursive");
addPair("Cannot process UTF-32 encoding", L"Impossible de traiter codage UTF-32");
addPair("\nArtistic Style has terminated", L"\nArtistic Style a mis fin");
addPair("Artistic Style has terminated\n", L"Artistic Style a mis fin\n");
}
German::German() // Deutsch
@ -624,18 +653,21 @@ German::German() // Deutsch
addPair("Formatted %s\n", L"Formatiert %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Unverändert %s\n"); // should align with formatted
addPair("Directory %s\n", L"Verzeichnis %s\n");
addPair("Default option file %s\n", L"Standard-Optionsdatei %s\n");
addPair("Project option file %s\n", L"Projektoptionsdatei %s\n");
addPair("Exclude %s\n", L"Ausschließen %s\n");
addPair("Exclude (unmatched) %s\n", L"Ausschließen (unerreichte) %s\n");
addPair(" %s formatted %s unchanged ", L" %s formatiert %s unverändert ");
addPair(" seconds ", L" sekunden ");
addPair("%d min %d sec ", L"%d min %d sek ");
addPair("%s lines\n", L"%s linien\n");
addPair("Using default options file %s\n", L"Mit Standard-Optionen Dat %s\n");
addPair("Opening HTML documentation %s\n", L"Öffnen HTML-Dokumentation %s\n");
addPair("Invalid option file options:", L"Ungültige Option Datei-Optionen:");
addPair("Invalid default options:", L"Ungültige Standardoptionen:");
addPair("Invalid project options:", L"Ungültige Projektoptionen:");
addPair("Invalid command line options:", L"Ungültige Kommandozeilen-Optionen:");
addPair("For help on options type 'astyle -h'", L"Für Hilfe zu den Optionen geben Sie 'astyle -h'");
addPair("Cannot open options file", L"Kann nicht geöffnet werden Optionsdatei");
addPair("Cannot open default option file", L"Die Standardoptionsdatei kann nicht geöffnet werden");
addPair("Cannot open project option file", L"Die Projektoptionsdatei kann nicht geöffnet werden");
addPair("Cannot open directory", L"Kann nicht geöffnet werden Verzeichnis");
addPair("Cannot open HTML file %s\n", L"Kann nicht öffnen HTML-Datei %s\n");
addPair("Command execute failure", L"Execute Befehl Scheitern");
@ -646,7 +678,7 @@ German::German() // Deutsch
addPair("No file to process %s\n", L"Keine Datei zu verarbeiten %s\n");
addPair("Did you intend to use --recursive", L"Haben Sie verwenden möchten --recursive");
addPair("Cannot process UTF-32 encoding", L"Nicht verarbeiten kann UTF-32 Codierung");
addPair("\nArtistic Style has terminated", L"\nArtistic Style ist beendet");
addPair("Artistic Style has terminated\n", L"Artistic Style ist beendet\n");
}
Greek::Greek() // ελληνικά
@ -655,18 +687,21 @@ Greek::Greek() // ελληνικά
addPair("Formatted %s\n", L"Διαμορφωμένη %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Αμετάβλητος %s\n"); // should align with formatted
addPair("Directory %s\n", L"Κατάλογος %s\n");
addPair("Default option file %s\n", L"Προεπιλεγμένο αρχείο επιλογών %s\n");
addPair("Project option file %s\n", L"Αρχείο επιλογής έργου %s\n");
addPair("Exclude %s\n", L"Αποκλείω %s\n");
addPair("Exclude (unmatched) %s\n", L"Ausschließen (unerreichte) %s\n");
addPair(" %s formatted %s unchanged ", L" %s σχηματοποιημένη %s αμετάβλητες ");
addPair(" seconds ", L" δευτερόλεπτα ");
addPair("%d min %d sec ", L"%d λεπ %d δευ ");
addPair("%s lines\n", L"%s γραμμές\n");
addPair("Using default options file %s\n", L"Χρησιμοποιώντας το αρχείο προεπιλεγμένες επιλογές %s\n");
addPair("Opening HTML documentation %s\n", L"Εγκαίνια έγγραφα HTML %s\n");
addPair("Invalid option file options:", L"Μη έγκυρες επιλογές αρχείου επιλογή:");
addPair("Invalid default options:", L"Μη έγκυρες επιλογές προεπιλογής:");
addPair("Invalid project options:", L"Μη έγκυρες επιλογές έργου:");
addPair("Invalid command line options:", L"Μη έγκυρη επιλογές γραμμής εντολών:");
addPair("For help on options type 'astyle -h'", L"Για βοήθεια σχετικά με το είδος επιλογές 'astyle -h'");
addPair("Cannot open options file", L"Δεν μπορείτε να ανοίξετε το αρχείο επιλογών");
addPair("Cannot open default option file", L"Δεν είναι δυνατό να ανοίξει το προεπιλεγμένο αρχείο επιλογών");
addPair("Cannot open project option file", L"Δεν είναι δυνατό να ανοίξει το αρχείο επιλογής έργου");
addPair("Cannot open directory", L"Δεν μπορείτε να ανοίξετε τον κατάλογο");
addPair("Cannot open HTML file %s\n", L"Δεν μπορείτε να ανοίξετε το αρχείο HTML %s\n");
addPair("Command execute failure", L"Εντολή να εκτελέσει την αποτυχία");
@ -677,7 +712,7 @@ Greek::Greek() // ελληνικά
addPair("No file to process %s\n", L"Δεν υπάρχει αρχείο για την επεξεργασία %s\n");
addPair("Did you intend to use --recursive", L"Μήπως σκοπεύετε να χρησιμοποιήσετε --recursive");
addPair("Cannot process UTF-32 encoding", L"δεν μπορεί να επεξεργαστεί UTF-32 κωδικοποίηση");
addPair("\nArtistic Style has terminated", L"\nArtistic Style έχει λήξει");
addPair("Artistic Style has terminated\n", L"Artistic Style έχει λήξει\n");
}
Hindi::Hindi() // हिन्दी
@ -688,18 +723,21 @@ Hindi::Hindi() // हिन्दी
addPair("Formatted %s\n", L"स्वरूपित किया %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"अपरिवर्तित %s\n"); // should align with formatted
addPair("Directory %s\n", L"निर्देशिका %s\n");
addPair("Default option file %s\n", L"डिफ़ॉल्ट विकल्प फ़ाइल %s\n");
addPair("Project option file %s\n", L"प्रोजेक्ट विकल्प फ़ाइल %s\n");
addPair("Exclude %s\n", L"निकालना %s\n");
addPair("Exclude (unmatched) %s\n", L"अपवर्जित (बेजोड़) %s\n");
addPair(" %s formatted %s unchanged ", L" %s स्वरूपित किया %s अपरिवर्तित ");
addPair(" seconds ", L" सेकंड ");
addPair("%d min %d sec ", L"%d मिनट %d सेकंड ");
addPair("%s lines\n", L"%s लाइनों\n");
addPair("Using default options file %s\n", L"डिफ़ॉल्ट विकल्प का उपयोग कर फ़ाइल %s\n");
addPair("Opening HTML documentation %s\n", L"एचटीएमएल प्रलेखन खोलना %s\n");
addPair("Invalid option file options:", L"अवैध विकल्प फ़ाइल विकल्प हैं:");
addPair("Invalid default options:", L"अमान्य डिफ़ॉल्ट विकल्प:");
addPair("Invalid project options:", L"अमान्य प्रोजेक्ट विकल्प:");
addPair("Invalid command line options:", L"कमांड लाइन विकल्प अवैध:");
addPair("For help on options type 'astyle -h'", L"विकल्पों पर मदद के लिए प्रकार 'astyle -h'");
addPair("Cannot open options file", L"विकल्प फ़ाइल नहीं खोल सकता है");
addPair("Cannot open default option file", L"डिफ़ॉल्ट विकल्प फ़ाइल नहीं खोल सकता");
addPair("Cannot open project option file", L"परियोजना विकल्प फ़ाइल नहीं खोल सकता");
addPair("Cannot open directory", L"निर्देशिका नहीं खोल सकता");
addPair("Cannot open HTML file %s\n", L"HTML फ़ाइल नहीं खोल सकता %s\n");
addPair("Command execute failure", L"आदेश विफलता निष्पादित");
@ -710,7 +748,7 @@ Hindi::Hindi() // हिन्दी
addPair("No file to process %s\n", L"कोई फ़ाइल %s प्रक्रिया के लिए\n");
addPair("Did you intend to use --recursive", L"क्या आप उपयोग करना चाहते हैं --recursive");
addPair("Cannot process UTF-32 encoding", L"UTF-32 कूटबन्धन प्रक्रिया नहीं कर सकते");
addPair("\nArtistic Style has terminated", L"\nArtistic Style समाप्त किया है");
addPair("Artistic Style has terminated\n", L"Artistic Style समाप्त किया है\n");
}
Hungarian::Hungarian() // Magyar
@ -719,18 +757,21 @@ Hungarian::Hungarian() // Magyar
addPair("Formatted %s\n", L"Formázott %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Változatlan %s\n"); // should align with formatted
addPair("Directory %s\n", L"Címjegyzék %s\n");
addPair("Default option file %s\n", L"Alapértelmezett beállítási fájl %s\n");
addPair("Project option file %s\n", L"Projekt opciófájl %s\n");
addPair("Exclude %s\n", L"Kizár %s\n");
addPair("Exclude (unmatched) %s\n", L"Escludere (senza pari) %s\n");
addPair(" %s formatted %s unchanged ", L" %s formázott %s változatlan ");
addPair(" seconds ", L" másodperc ");
addPair("%d min %d sec ", L"%d jeg %d más ");
addPair("%s lines\n", L"%s vonalak\n");
addPair("Using default options file %s\n", L"Az alapértelmezett beállítások fájl %s\n");
addPair("Opening HTML documentation %s\n", L"Nyitó HTML dokumentáció %s\n");
addPair("Invalid option file options:", L"Érvénytelen opció fájlbeállítást:");
addPair("Invalid default options:", L"Érvénytelen alapértelmezett beállítások:");
addPair("Invalid project options:", L"Érvénytelen projektbeállítások:");
addPair("Invalid command line options:", L"Érvénytelen parancssori opciók:");
addPair("For help on options type 'astyle -h'", L"Ha segítségre van lehetőség típus 'astyle-h'");
addPair("Cannot open options file", L"Nem lehet megnyitni beállítási fájlban");
addPair("Cannot open default option file", L"Nem lehet megnyitni az alapértelmezett beállítási fájlt");
addPair("Cannot open project option file", L"Nem lehet megnyitni a projekt opció fájlt");
addPair("Cannot open directory", L"Nem lehet megnyitni könyvtár");
addPair("Cannot open HTML file %s\n", L"Nem lehet megnyitni a HTML fájlt %s\n");
addPair("Command execute failure", L"Command végre hiba");
@ -741,7 +782,7 @@ Hungarian::Hungarian() // Magyar
addPair("No file to process %s\n", L"Nincs fájl feldolgozása %s\n");
addPair("Did you intend to use --recursive", L"Esetleg a használni kívánt --recursive");
addPair("Cannot process UTF-32 encoding", L"Nem tudja feldolgozni UTF-32 kódolással");
addPair("\nArtistic Style has terminated", L"\nArtistic Style megszűnt");
addPair("Artistic Style has terminated\n", L"Artistic Style megszűnt\n");
}
Italian::Italian() // Italiano
@ -750,18 +791,21 @@ Italian::Italian() // Italiano
addPair("Formatted %s\n", L"Formattata %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Immutato %s\n"); // should align with formatted
addPair("Directory %s\n", L"Elenco %s\n");
addPair("Default option file %s\n", L"File di opzione predefinito %s\n");
addPair("Project option file %s\n", L"File di opzione del progetto %s\n");
addPair("Exclude %s\n", L"Escludere %s\n");
addPair("Exclude (unmatched) %s\n", L"Escludere (senza pari) %s\n");
addPair(" %s formatted %s unchanged ", L" %s ormattata %s immutato ");
addPair(" seconds ", L" secondo ");
addPair("%d min %d sec ", L"%d min %d seg ");
addPair("%s lines\n", L"%s linee\n");
addPair("Using default options file %s\n", L"Utilizzando file delle opzioni di default %s\n");
addPair("Opening HTML documentation %s\n", L"Apertura di documenti HTML %s\n");
addPair("Invalid option file options:", L"Opzione non valida file delle opzioni:");
addPair("Invalid default options:", L"Opzioni di default non valide:");
addPair("Invalid project options:", L"Opzioni di progetto non valide:");
addPair("Invalid command line options:", L"Opzioni della riga di comando non valido:");
addPair("For help on options type 'astyle -h'", L"Per informazioni sulle opzioni di tipo 'astyle-h'");
addPair("Cannot open options file", L"Impossibile aprire il file opzioni");
addPair("Cannot open default option file", L"Impossibile aprire il file di opzione predefinito");
addPair("Cannot open project option file", L"Impossibile aprire il file di opzione del progetto");
addPair("Cannot open directory", L"Impossibile aprire la directory");
addPair("Cannot open HTML file %s\n", L"Impossibile aprire il file HTML %s\n");
addPair("Command execute failure", L"Esegui fallimento comando");
@ -772,7 +816,7 @@ Italian::Italian() // Italiano
addPair("No file to process %s\n", L"Nessun file al processo %s\n");
addPair("Did you intend to use --recursive", L"Hai intenzione di utilizzare --recursive");
addPair("Cannot process UTF-32 encoding", L"Non è possibile processo di codifica UTF-32");
addPair("\nArtistic Style has terminated", L"\nArtistic Style ha terminato");
addPair("Artistic Style has terminated\n", L"Artistic Style ha terminato\n");
}
Japanese::Japanese() // 日本語
@ -781,18 +825,21 @@ Japanese::Japanese() // 日本語
addPair("Formatted %s\n", L"フォーマット済みの %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"変わりません %s\n"); // should align with formatted
addPair("Directory %s\n", L"ディレクトリ %s\n");
addPair("Default option file %s\n", L"デフォルトオプションファイル %s\n");
addPair("Project option file %s\n", L"プロジェクトオプションファイル %s\n");
addPair("Exclude %s\n", L"除外する %s\n");
addPair("Exclude (unmatched) %s\n", L"除外する(一致しません) %s\n");
addPair(" %s formatted %s unchanged ", L" %s フフォーマット済みの %s 変わりません ");
addPair(" seconds ", L"");
addPair("%d min %d sec ", L"%d 分 %d 秒 ");
addPair("%s lines\n", L"%s ライン\n");
addPair("Using default options file %s\n", L"デフォルトのオプションファイルを使用して、 %s\n");
addPair("Opening HTML documentation %s\n", L"オープニングHTMLドキュメント %s\n");
addPair("Invalid option file options:", L"無効なオプションファイルのオプション:");
addPair("Invalid default options:", L"無効なデフォルトオプション:");
addPair("Invalid project options:", L"無効なプロジェクトオプション:");
addPair("Invalid command line options:", L"無効なコマンドラインオプション:");
addPair("For help on options type 'astyle -h'", L"コオプションの種類のヘルプについて'astyle- h'を入力してください");
addPair("Cannot open options file", L"オプションファイルを開くことができません");
addPair("Cannot open default option file", L"デフォルトのオプションファイルを開くことができません");
addPair("Cannot open project option file", L"プロジェクトオプションファイルを開くことができません");
addPair("Cannot open directory", L"ディレクトリを開くことができません。");
addPair("Cannot open HTML file %s\n", L"HTMLファイルを開くことができません %s\n");
addPair("Command execute failure", L"コマンドが失敗を実行します");
@ -803,7 +850,7 @@ Japanese::Japanese() // 日本語
addPair("No file to process %s\n", L"いいえファイルは処理しないように %s\n");
addPair("Did you intend to use --recursive", L"あなたは--recursive使用するつもりでした");
addPair("Cannot process UTF-32 encoding", L"UTF - 32エンコーディングを処理できません");
addPair("\nArtistic Style has terminated", L"\nArtistic Style 終了しました");
addPair("Artistic Style has terminated\n", L"Artistic Style 終了しました\n");
}
Korean::Korean() // 한국의
@ -812,18 +859,21 @@ Korean::Korean() // 한국의
addPair("Formatted %s\n", L"수정됨 %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"변경없음 %s\n"); // should align with formatted
addPair("Directory %s\n", L"디렉토리 %s\n");
addPair("Default option file %s\n", L"기본 옵션 파일 %s\n");
addPair("Project option file %s\n", L"프로젝트 옵션 파일 %s\n");
addPair("Exclude %s\n", L"제외됨 %s\n");
addPair("Exclude (unmatched) %s\n", L"제외 (NO 일치) %s\n");
addPair(" %s formatted %s unchanged ", L" %s 수정됨 %s 변경없음 ");
addPair(" seconds ", L"");
addPair("%d min %d sec ", L"%d 분 %d 초 ");
addPair("%s lines\n", L"%s 라인\n");
addPair("Using default options file %s\n", L"기본 구성 파일을 사용 %s\n");
addPair("Opening HTML documentation %s\n", L"HTML 문서를 열기 %s\n");
addPair("Invalid option file options:", L"잘못된 구성 파일 옵션 :");
addPair("Invalid default options:", L"잘못된 기본 옵션:");
addPair("Invalid project options:", L"잘못된 프로젝트 옵션:");
addPair("Invalid command line options:", L"잘못된 명령줄 옵션 :");
addPair("For help on options type 'astyle -h'", L"도움말을 보려면 옵션 유형 'astyle - H'를 사용합니다");
addPair("Cannot open options file", L"구성 파일을 열 수 없습니다");
addPair("Cannot open default option file", L"기본 옵션 파일을 열 수 없습니다.");
addPair("Cannot open project option file", L"프로젝트 옵션 파일을 열 수 없습니다.");
addPair("Cannot open directory", L"디렉토리를 열지 못했습니다");
addPair("Cannot open HTML file %s\n", L"HTML 파일을 열 수 없습니다 %s\n");
addPair("Command execute failure", L"명령 실패를 실행");
@ -834,7 +884,7 @@ Korean::Korean() // 한국의
addPair("No file to process %s\n", L"처리할 파일이 없습니다 %s\n");
addPair("Did you intend to use --recursive", L"--recursive 를 사용하고자 하십니까");
addPair("Cannot process UTF-32 encoding", L"UTF-32 인코딩을 처리할 수 없습니다");
addPair("\nArtistic Style has terminated", L"\nArtistic Style를 종료합니다");
addPair("Artistic Style has terminated\n", L"Artistic Style를 종료합니다\n");
}
Norwegian::Norwegian() // Norsk
@ -843,18 +893,21 @@ Norwegian::Norwegian() // Norsk
addPair("Formatted %s\n", L"Formatert %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Uendret %s\n"); // should align with formatted
addPair("Directory %s\n", L"Katalog %s\n");
addPair("Default option file %s\n", L"Standard alternativfil %s\n");
addPair("Project option file %s\n", L"Prosjekt opsjonsfil %s\n");
addPair("Exclude %s\n", L"Ekskluder %s\n");
addPair("Exclude (unmatched) %s\n", L"Ekskluder (uovertruffen) %s\n");
addPair(" %s formatted %s unchanged ", L" %s formatert %s uendret ");
addPair(" seconds ", L" sekunder ");
addPair("%d min %d sec ", L"%d min %d sek? ");
addPair("%s lines\n", L"%s linjer\n");
addPair("Using default options file %s\n", L"Ved hjelp av standardalternativer fil %s\n");
addPair("Opening HTML documentation %s\n", L"Åpning HTML dokumentasjon %s\n");
addPair("Invalid option file options:", L"Ugyldige alternativ filalternativer:");
addPair("Invalid default options:", L"Ugyldige standardalternativer:");
addPair("Invalid project options:", L"Ugyldige prosjektalternativer:");
addPair("Invalid command line options:", L"Kommandolinjevalg Ugyldige:");
addPair("For help on options type 'astyle -h'", L"For hjelp til alternativer type 'astyle -h'");
addPair("Cannot open options file", L"Kan ikke åpne alternativer fil");
addPair("Cannot open default option file", L"Kan ikke åpne standardvalgsfilen");
addPair("Cannot open project option file", L"Kan ikke åpne prosjektvalgsfilen");
addPair("Cannot open directory", L"Kan ikke åpne katalog");
addPair("Cannot open HTML file %s\n", L"Kan ikke åpne HTML-fil %s\n");
addPair("Command execute failure", L"Command utføre svikt");
@ -865,7 +918,7 @@ Norwegian::Norwegian() // Norsk
addPair("No file to process %s\n", L"Ingen fil å behandle %s\n");
addPair("Did you intend to use --recursive", L"Har du tenkt å bruke --recursive");
addPair("Cannot process UTF-32 encoding", L"Kan ikke behandle UTF-32 koding");
addPair("\nArtistic Style has terminated", L"\nArtistic Style har avsluttet");
addPair("Artistic Style has terminated\n", L"Artistic Style har avsluttet\n");
}
Polish::Polish() // Polski
@ -874,18 +927,21 @@ Polish::Polish() // Polski
addPair("Formatted %s\n", L"Sformatowany %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Niezmienione %s\n"); // should align with formatted
addPair("Directory %s\n", L"Katalog %s\n");
addPair("Default option file %s\n", L"Domyślny plik opcji %s\n");
addPair("Project option file %s\n", L"Plik opcji projektu %s\n");
addPair("Exclude %s\n", L"Wykluczać %s\n");
addPair("Exclude (unmatched) %s\n", L"Wyklucz (niezrównany) %s\n");
addPair(" %s formatted %s unchanged ", L" %s sformatowany %s niezmienione ");
addPair(" seconds ", L" sekund ");
addPair("%d min %d sec ", L"%d min %d sek ");
addPair("%s lines\n", L"%s linii\n");
addPair("Using default options file %s\n", L"Korzystanie z domyślnej opcji %s plik\n");
addPair("Opening HTML documentation %s\n", L"Otwarcie dokumentacji HTML %s\n");
addPair("Invalid option file options:", L"Nieprawidłowy opcji pliku opcji:");
addPair("Invalid default options:", L"Nieprawidłowe opcje domyślne:");
addPair("Invalid project options:", L"Nieprawidłowe opcje projektu:");
addPair("Invalid command line options:", L"Nieprawidłowe opcje wiersza polecenia:");
addPair("For help on options type 'astyle -h'", L"Aby uzyskać pomoc od rodzaju opcji 'astyle -h'");
addPair("Cannot open options file", L"Nie można otworzyć pliku opcji");
addPair("Cannot open default option file", L"Nie można otworzyć pliku opcji domyślnych");
addPair("Cannot open project option file", L"Nie można otworzyć pliku opcji projektu");
addPair("Cannot open directory", L"Nie można otworzyć katalogu");
addPair("Cannot open HTML file %s\n", L"Nie można otworzyć pliku HTML %s\n");
addPair("Command execute failure", L"Wykonaj polecenia niepowodzenia");
@ -896,7 +952,7 @@ Polish::Polish() // Polski
addPair("No file to process %s\n", L"Brak pliku do procesu %s\n");
addPair("Did you intend to use --recursive", L"Czy masz zamiar używać --recursive");
addPair("Cannot process UTF-32 encoding", L"Nie można procesu kodowania UTF-32");
addPair("\nArtistic Style has terminated", L"\nArtistic Style został zakończony");
addPair("Artistic Style has terminated\n", L"Artistic Style został zakończony\n");
}
Portuguese::Portuguese() // Português
@ -905,18 +961,21 @@ Portuguese::Portuguese() // Português
addPair("Formatted %s\n", L"Formatado %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Inalterado %s\n"); // should align with formatted
addPair("Directory %s\n", L"Diretório %s\n");
addPair("Default option file %s\n", L"Arquivo de opção padrão %s\n");
addPair("Project option file %s\n", L"Arquivo de opção de projeto %s\n");
addPair("Exclude %s\n", L"Excluir %s\n");
addPair("Exclude (unmatched) %s\n", L"Excluir (incomparável) %s\n");
addPair(" %s formatted %s unchanged ", L" %s formatado %s inalterado ");
addPair(" seconds ", L" segundo ");
addPair("%d min %d sec ", L"%d min %d seg ");
addPair("%s lines\n", L"%s linhas\n");
addPair("Using default options file %s\n", L"Usando o arquivo de opções padrão %s\n");
addPair("Opening HTML documentation %s\n", L"Abrindo a documentação HTML %s\n");
addPair("Invalid option file options:", L"Opções de arquivo inválido opção:");
addPair("Invalid default options:", L"Opções padrão inválidas:");
addPair("Invalid project options:", L"Opções de projeto inválidas:");
addPair("Invalid command line options:", L"Opções de linha de comando inválida:");
addPair("For help on options type 'astyle -h'", L"Para obter ajuda sobre as opções de tipo 'astyle -h'");
addPair("Cannot open options file", L"Não é possível abrir arquivo de opções");
addPair("Cannot open default option file", L"Não é possível abrir o arquivo de opção padrão");
addPair("Cannot open project option file", L"Não é possível abrir o arquivo de opção do projeto");
addPair("Cannot open directory", L"Não é possível abrir diretório");
addPair("Cannot open HTML file %s\n", L"Não é possível abrir arquivo HTML %s\n");
addPair("Command execute failure", L"Executar falha de comando");
@ -927,7 +986,7 @@ Portuguese::Portuguese() // Português
addPair("No file to process %s\n", L"Nenhum arquivo para processar %s\n");
addPair("Did you intend to use --recursive", L"Será que você pretende usar --recursive");
addPair("Cannot process UTF-32 encoding", L"Não pode processar a codificação UTF-32");
addPair("\nArtistic Style has terminated", L"\nArtistic Style terminou");
addPair("Artistic Style has terminated\n", L"Artistic Style terminou\n");
}
Romanian::Romanian() // Română
@ -936,18 +995,21 @@ Romanian::Romanian() // Română
addPair("Formatted %s\n", L"Formatat %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Neschimbat %s\n"); // should align with formatted
addPair("Directory %s\n", L"Director %s\n");
addPair("Default option file %s\n", L"Fișier opțional implicit %s\n");
addPair("Project option file %s\n", L"Fișier opțiune proiect %s\n");
addPair("Exclude %s\n", L"Excludeți %s\n");
addPair("Exclude (unmatched) %s\n", L"Excludeți (necompensată) %s\n");
addPair(" %s formatted %s unchanged ", L" %s formatat %s neschimbat ");
addPair(" seconds ", L" secunde ");
addPair("%d min %d sec ", L"%d min %d sec ");
addPair("%s lines\n", L"%s linii\n");
addPair("Using default options file %s\n", L"Fișier folosind opțiunile implicite %s\n");
addPair("Opening HTML documentation %s\n", L"Documentație HTML deschidere %s\n");
addPair("Invalid option file options:", L"Opțiuni de opțiune de fișier nevalide:");
addPair("Invalid default options:", L"Opțiuni implicite nevalide:");
addPair("Invalid project options:", L"Opțiunile de proiect nevalide:");
addPair("Invalid command line options:", L"Opțiuni de linie de comandă nevalide:");
addPair("For help on options type 'astyle -h'", L"Pentru ajutor cu privire la tipul de opțiuni 'astyle -h'");
addPair("Cannot open options file", L"Nu se poate deschide fișierul de opțiuni");
addPair("Cannot open default option file", L"Nu se poate deschide fișierul cu opțiuni implicite");
addPair("Cannot open project option file", L"Nu se poate deschide fișierul cu opțiuni de proiect");
addPair("Cannot open directory", L"Nu se poate deschide directorul");
addPair("Cannot open HTML file %s\n", L"Nu se poate deschide fișierul HTML %s\n");
addPair("Command execute failure", L"Comandă executa eșec");
@ -958,7 +1020,7 @@ Romanian::Romanian() // Română
addPair("No file to process %s\n", L"Nu există un fișier pentru a procesa %s\n");
addPair("Did you intend to use --recursive", L"V-ați intenționați să utilizați --recursive");
addPair("Cannot process UTF-32 encoding", L"Nu se poate procesa codificarea UTF-32");
addPair("\nArtistic Style has terminated", L"\nArtistic Style a terminat");
addPair("Artistic Style has terminated\n", L"Artistic Style a terminat\n");
}
Russian::Russian() // русский
@ -967,18 +1029,21 @@ Russian::Russian() // русский
addPair("Formatted %s\n", L"Форматированный %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"без изменений %s\n"); // should align with formatted
addPair("Directory %s\n", L"каталог %s\n");
addPair("Default option file %s\n", L"Файл с опцией по умолчанию %s\n");
addPair("Project option file %s\n", L"Файл опций проекта %s\n");
addPair("Exclude %s\n", L"исключать %s\n");
addPair("Exclude (unmatched) %s\n", L"Исключить (непревзойденный) %s\n");
addPair(" %s formatted %s unchanged ", L" %s Форматированный %s без изменений ");
addPair(" seconds ", L" секунды ");
addPair("%d min %d sec ", L"%d мин %d сек ");
addPair("%s lines\n", L"%s линий\n");
addPair("Using default options file %s\n", L"Использование опции по умолчанию файл %s\n");
addPair("Opening HTML documentation %s\n", L"Открытие HTML документации %s\n");
addPair("Invalid option file options:", L"Недопустимый файл опций опцию:");
addPair("Invalid default options:", L"Недействительные параметры по умолчанию:");
addPair("Invalid project options:", L"Недопустимые параметры проекта:");
addPair("Invalid command line options:", L"Недопустимые параметры командной строки:");
addPair("For help on options type 'astyle -h'", L"Для получения справки по 'astyle -h' опций типа");
addPair("Cannot open options file", L"Не удается открыть файл параметров");
addPair("Cannot open default option file", L"Не удается открыть файл параметров по умолчанию");
addPair("Cannot open project option file", L"Не удается открыть файл опций проекта");
addPair("Cannot open directory", L"Не могу открыть каталог");
addPair("Cannot open HTML file %s\n", L"Не удается открыть файл HTML %s\n");
addPair("Command execute failure", L"Выполнить команду недостаточности");
@ -989,7 +1054,7 @@ Russian::Russian() // русский
addPair("No file to process %s\n", L"Нет файлов для обработки %s\n");
addPair("Did you intend to use --recursive", L"Неужели вы собираетесь использовать --recursive");
addPair("Cannot process UTF-32 encoding", L"Не удается обработать UTF-32 кодировке");
addPair("\nArtistic Style has terminated", L"\nArtistic Style прекратил");
addPair("Artistic Style has terminated\n", L"Artistic Style прекратил\n");
}
Spanish::Spanish() // Español
@ -998,18 +1063,21 @@ Spanish::Spanish() // Español
addPair("Formatted %s\n", L"Formato %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Inalterado %s\n"); // should align with formatted
addPair("Directory %s\n", L"Directorio %s\n");
addPair("Default option file %s\n", L"Archivo de opciones predeterminado %s\n");
addPair("Project option file %s\n", L"Archivo de opciones del proyecto %s\n");
addPair("Exclude %s\n", L"Excluir %s\n");
addPair("Exclude (unmatched) %s\n", L"Excluir (incomparable) %s\n");
addPair(" %s formatted %s unchanged ", L" %s formato %s inalterado ");
addPair(" seconds ", L" segundo ");
addPair("%d min %d sec ", L"%d min %d seg ");
addPair("%s lines\n", L"%s líneas\n");
addPair("Using default options file %s\n", L"Uso de las opciones por defecto del archivo %s\n");
addPair("Opening HTML documentation %s\n", L"Apertura de documentación HTML %s\n");
addPair("Invalid option file options:", L"Opción no válida opciones de archivo:");
addPair("Invalid default options:", L"Opciones predeterminadas no válidas:");
addPair("Invalid project options:", L"Opciones de proyecto no válidas:");
addPair("Invalid command line options:", L"No válido opciones de línea de comando:");
addPair("For help on options type 'astyle -h'", L"Para obtener ayuda sobre las opciones tipo 'astyle -h'");
addPair("Cannot open options file", L"No se puede abrir el archivo de opciones");
addPair("Cannot open default option file", L"No se puede abrir el archivo de opciones predeterminado");
addPair("Cannot open project option file", L"No se puede abrir el archivo de opciones del proyecto");
addPair("Cannot open directory", L"No se puede abrir el directorio");
addPair("Cannot open HTML file %s\n", L"No se puede abrir el archivo HTML %s\n");
addPair("Command execute failure", L"Ejecutar el fracaso de comandos");
@ -1020,7 +1088,7 @@ Spanish::Spanish() // Español
addPair("No file to process %s\n", L"No existe el fichero a procesar %s\n");
addPair("Did you intend to use --recursive", L"Se va a utilizar --recursive");
addPair("Cannot process UTF-32 encoding", L"No se puede procesar la codificación UTF-32");
addPair("\nArtistic Style has terminated", L"\nArtistic Style ha terminado");
addPair("Artistic Style has terminated\n", L"Artistic Style ha terminado\n");
}
Swedish::Swedish() // Svenska
@ -1029,18 +1097,21 @@ Swedish::Swedish() // Svenska
addPair("Formatted %s\n", L"Formaterade %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"Oförändrade %s\n"); // should align with formatted
addPair("Directory %s\n", L"Katalog %s\n");
addPair("Default option file %s\n", L"Standardalternativsfil %s\n");
addPair("Project option file %s\n", L"Projektalternativ fil %s\n");
addPair("Exclude %s\n", L"Uteslut %s\n");
addPair("Exclude (unmatched) %s\n", L"Uteslut (oöverträffad) %s\n");
addPair(" %s formatted %s unchanged ", L" %s formaterade %s oförändrade ");
addPair(" seconds ", L" sekunder ");
addPair("%d min %d sec ", L"%d min %d sek ");
addPair("%s lines\n", L"%s linjer\n");
addPair("Using default options file %s\n", L"Använda standardalternativ fil %s\n");
addPair("Opening HTML documentation %s\n", L"Öppna HTML-dokumentation %s\n");
addPair("Invalid option file options:", L"Ogiltigt alternativ fil alternativ:");
addPair("Invalid default options:", L"Ogiltiga standardalternativ:");
addPair("Invalid project options:", L"Ogiltiga projektalternativ:");
addPair("Invalid command line options:", L"Ogiltig kommandoraden alternativ:");
addPair("For help on options type 'astyle -h'", L"För hjälp om alternativ typ 'astyle -h'");
addPair("Cannot open options file", L"Kan inte öppna inställningsfilen");
addPair("Cannot open default option file", L"Kan inte öppna standardalternativsfilen");
addPair("Cannot open project option file", L"Kan inte öppna projektalternativsfilen");
addPair("Cannot open directory", L"Kan inte öppna katalog");
addPair("Cannot open HTML file %s\n", L"Kan inte öppna HTML-filen %s\n");
addPair("Command execute failure", L"Utför kommando misslyckande");
@ -1051,7 +1122,7 @@ Swedish::Swedish() // Svenska
addPair("No file to process %s\n", L"Ingen fil att bearbeta %s\n");
addPair("Did you intend to use --recursive", L"Har du för avsikt att använda --recursive");
addPair("Cannot process UTF-32 encoding", L"Kan inte hantera UTF-32 kodning");
addPair("\nArtistic Style has terminated", L"\nArtistic Style har upphört");
addPair("Artistic Style has terminated\n", L"Artistic Style har upphört\n");
}
Ukrainian::Ukrainian() // Український
@ -1060,18 +1131,21 @@ Ukrainian::Ukrainian() // Український
addPair("Formatted %s\n", L"форматований %s\n"); // should align with unchanged
addPair("Unchanged %s\n", L"без змін %s\n"); // should align with formatted
addPair("Directory %s\n", L"Каталог %s\n");
addPair("Default option file %s\n", L"Файл параметра за замовчуванням %s\n");
addPair("Project option file %s\n", L"Файл варіанту проекту %s\n");
addPair("Exclude %s\n", L"Виключити %s\n");
addPair("Exclude (unmatched) %s\n", L"Виключити (неперевершений) %s\n");
addPair(" %s formatted %s unchanged ", L" %s відформатований %s без змін ");
addPair(" seconds ", L" секунди ");
addPair("%d min %d sec ", L"%d хви %d cek ");
addPair("%s lines\n", L"%s ліній\n");
addPair("Using default options file %s\n", L"Використання файлів опцій за замовчуванням %s\n");
addPair("Opening HTML documentation %s\n", L"Відкриття HTML документації %s\n");
addPair("Invalid option file options:", L"Неприпустимий файл опцій опцію:");
addPair("Invalid default options:", L"Недійсні параметри за умовчанням:");
addPair("Invalid project options:", L"Недійсні параметри проекту:");
addPair("Invalid command line options:", L"Неприпустима параметри командного рядка:");
addPair("For help on options type 'astyle -h'", L"Для отримання довідки по 'astyle -h' опцій типу");
addPair("Cannot open options file", L"Не вдається відкрити файл параметрів");
addPair("Cannot open default option file", L"Неможливо відкрити файл параметрів за замовчуванням");
addPair("Cannot open project option file", L"Неможливо відкрити файл параметрів проекту");
addPair("Cannot open directory", L"Не можу відкрити каталог");
addPair("Cannot open HTML file %s\n", L"Не вдається відкрити файл HTML %s\n");
addPair("Command execute failure", L"Виконати команду недостатності");
@ -1082,7 +1156,7 @@ Ukrainian::Ukrainian() // Український
addPair("No file to process %s\n", L"Немає файлів для обробки %s\n");
addPair("Did you intend to use --recursive", L"Невже ви збираєтеся використовувати --recursive");
addPair("Cannot process UTF-32 encoding", L"Не вдається обробити UTF-32 кодуванні");
addPair("\nArtistic Style has terminated", L"\nArtistic Style припинив");
addPair("Artistic Style has terminated\n", L"Artistic Style припинив\n");
}

View File

@ -1,5 +1,5 @@
// ASLocalizer.h
// Copyright (c) 2017 by Jim Pattee <jimp03@email.com>.
// Copyright (c) 2018 by Jim Pattee <jimp03@email.com>.
// This code is licensed under the MIT License.
// License.md describes the conditions under which this software may be distributed.
@ -10,6 +10,13 @@
#include <string>
#include <vector>
// library builds do not need ASLocalizer
#ifdef ASTYLE_JNI
#ifndef ASTYLE_LIB // ASTYLE_LIB must be defined for ASTYLE_JNI
#define ASTYLE_LIB
#endif
#endif // ASTYLE_JNI
namespace astyle {
using namespace std;
@ -63,6 +70,7 @@ public:
Translation() {}
virtual ~Translation() {}
string convertToMultiByte(const wstring& wideStr) const;
string getTranslationString(size_t i) const;
size_t getTranslationVectorSize() const;
bool getWideTranslation(const string& stringIn, wstring& wideOut) const;
string& translate(const string& stringIn) const;

View File

@ -1,5 +1,5 @@
// ASResource.cpp
// Copyright (c) 2017 by Jim Pattee <jimp03@email.com>.
// Copyright (c) 2018 by Jim Pattee <jimp03@email.com>.
// This code is licensed under the MIT License.
// License.md describes the conditions under which this software may be distributed.
@ -36,6 +36,7 @@ const string ASResource::AS_ELSE = string("else");
const string ASResource::AS_END = string("end");
const string ASResource::AS_ENUM = string("enum");
const string ASResource::AS_EXTERN = string("extern");
const string ASResource::AS_FINAL = string("final");
const string ASResource::AS_FINALLY = string("finally");
const string ASResource::AS_FIXED = string("fixed");
const string ASResource::AS_FOR = string("for");
@ -593,10 +594,11 @@ void ASResource::buildPreCommandHeaders(vector<const string*>* preCommandHeaders
if (fileType == C_TYPE)
{
preCommandHeaders->emplace_back(&AS_CONST);
preCommandHeaders->emplace_back(&AS_VOLATILE);
preCommandHeaders->emplace_back(&AS_FINAL);
preCommandHeaders->emplace_back(&AS_INTERRUPT);
preCommandHeaders->emplace_back(&AS_NOEXCEPT);
preCommandHeaders->emplace_back(&AS_OVERRIDE);
preCommandHeaders->emplace_back(&AS_VOLATILE);
preCommandHeaders->emplace_back(&AS_SEALED); // Visual C only
preCommandHeaders->emplace_back(&AS_AUTORELEASEPOOL); // Obj-C only
}
@ -779,6 +781,8 @@ bool ASBase::isCharPotentialHeader(const string& line, size_t i) const
char prevCh = ' ';
if (i > 0)
prevCh = line[i - 1];
if (i > 1 && line[i - 2] == '\\')
prevCh = ' ';
if (!isLegalNameChar(prevCh) && isLegalNameChar(line[i]))
return true;
return false;

View File

@ -1,5 +1,5 @@
// astyle.h
// Copyright (c) 2017 by Jim Pattee <jimp03@email.com>.
// Copyright (c) 2018 by Jim Pattee <jimp03@email.com>.
// This code is licensed under the MIT License.
// License.md describes the conditions under which this software may be distributed.
@ -39,6 +39,10 @@
#pragma warn -8004 // variable is assigned a value that is never used
#endif
#ifdef __GNUC__
#pragma GCC diagnostic ignored "-Wconversion"
#endif
#ifdef __INTEL_COMPILER
#pragma warning(disable: 383) // value copied to temporary, reference to temporary used
#pragma warning(disable: 981) // operands are evaluated in unspecified order
@ -74,7 +78,7 @@ enum FormatStyle
STYLE_STROUSTRUP,
STYLE_WHITESMITH,
STYLE_VTK,
STYLE_BANNER,
STYLE_RATLIFF,
STYLE_GNU,
STYLE_LINUX,
STYLE_HORSTMANN,
@ -94,7 +98,7 @@ enum BraceMode
RUN_IN_MODE // broken braces
};
// maximun value for int is 16,384 (total value of 32,767)
// maximum value for int is 16,384 (total value of 32,767)
enum BraceType
{
NULL_TYPE = 0,
@ -151,9 +155,10 @@ enum ReferenceAlign
enum FileEncoding
{
ENCODING_8BIT,
ENCODING_8BIT, // includes UTF-8 without BOM
UTF_8BOM, // UTF-8 with BOM
UTF_16BE,
UTF_16LE, // Windows default
UTF_16LE, // Windows default
UTF_32BE,
UTF_32LE
};
@ -182,6 +187,7 @@ class ASSourceIterator
public:
ASSourceIterator() {}
virtual ~ASSourceIterator() {}
virtual streamoff getPeekStart() const = 0;
virtual int getStreamLength() const = 0;
virtual bool hasMoreLines() const = 0;
virtual string nextLine(bool emptyLineWasDeleted = false) = 0;
@ -250,7 +256,8 @@ public:
static const string AS_END;
static const string AS_SELECTOR;
static const string AS_EXTERN, AS_ENUM;
static const string AS_STATIC, AS_CONST, AS_SEALED, AS_OVERRIDE, AS_VOLATILE, AS_NEW, AS_DELETE;
static const string AS_FINAL, AS_OVERRIDE;
static const string AS_STATIC, AS_CONST, AS_SEALED, AS_VOLATILE, AS_NEW, AS_DELETE;
static const string AS_NOEXCEPT, AS_INTERRUPT, AS_AUTORELEASEPOOL;
static const string AS_WHERE, AS_LET, AS_SYNCHRONIZED;
static const string AS_OPERATOR, AS_TEMPLATE;
@ -421,6 +428,7 @@ private: // functions
int adjustIndentCountForBreakElseIfComments() const;
int computeObjCColonAlignment(const string& line, int colonAlignPosition) const;
int convertTabToSpaces(int i, int tabIncrementIn) const;
int findObjCColonAlignment(const string& line) const;
int getContinuationIndentAssign(const string& line, size_t currPos) const;
int getContinuationIndentComma(const string& line, size_t currPos) const;
int getObjCFollowingKeyword(const string& line, int bracePos) const;
@ -428,6 +436,7 @@ private: // functions
bool isLineEndComment(const string& line, int startPos) const;
bool isPreprocessorConditionalCplusplus(const string& line) const;
bool isInPreprocessorUnterminatedComment(const string& line);
bool isTopLevel() const;
bool statementEndsWithComma(const string& line, int index) const;
const string& getIndentedLineReturn(const string& newLine, const string& originalLine) const;
string getIndentedSpaceEquivalent(const string& line_) const;
@ -453,7 +462,7 @@ private: // variables
vector<int>* activeBeautifierStackLengthStack;
vector<const string*>* headerStack;
vector<vector<const string*>* >* tempStacks;
vector<int>* squareBracketDepthStack;
vector<int>* parenDepthStack;
vector<bool>* blockStatementStack;
vector<bool>* parenStatementStack;
vector<bool>* braceBlockStateStack;
@ -501,6 +510,7 @@ private: // variables
bool isInEnum;
bool isInEnumTypeID;
bool isInLet;
bool isInTrailingReturnType;
bool modifierIndent;
bool switchIndent;
bool caseIndent;
@ -679,6 +689,10 @@ public: // functions
void setCloseTemplatesMode(bool state);
void setCommaPaddingMode(bool state);
void setDeleteEmptyLinesMode(bool state);
void setBreakReturnType(bool state);
void setBreakReturnTypeDecl(bool state);
void setAttachReturnType(bool state);
void setAttachReturnTypeDecl(bool state);
void setIndentCol1CommentsMode(bool state);
void setLineEndFormat(LineEndFormat fmt);
void setMaxCodeLength(int max);
@ -698,7 +712,7 @@ public: // functions
size_t getChecksumOut() const;
int getChecksumDiff() const;
int getFormatterFileType() const;
// retained for compatability with release 2.06
// retained for compatibility with release 2.06
// "Brackets" have been changed to "Braces" in 3.0
// they are referenced only by the old "bracket" options
void setAddBracketsMode(bool state);
@ -738,10 +752,12 @@ private: // functions
bool isMultiStatementLine() const;
bool isNextWordSharpNonParenHeader(int startChar) const;
bool isNonInStatementArrayBrace() const;
bool isNumericVariable(string word) const;
bool isOkToSplitFormattedLine();
bool isPointerOrReference() const;
bool isPointerOrReferenceCentered() const;
bool isPointerOrReferenceVariable(const string& word) const;
bool isPointerToPointer(const string& line, int currPos) const;
bool isSharpStyleWithParen(const string* header) const;
bool isStructAccessModified(const string& firstLine, size_t index) const;
bool isIndentablePreprocessorBlock(const string& firstLine, size_t index);
@ -775,6 +791,7 @@ private: // functions
void clearFormattedLineSplitPoints();
void convertTabToSpaces();
void deleteContainer(vector<BraceType>*& container);
void findReturnTypeSplitPoint(const string& firstLine);
void formatArrayRunIn();
void formatRunIn();
void formatArrayBraces(BraceType braceType, bool isOpeningArrayBrace);
@ -865,6 +882,10 @@ private: // variables
size_t formattedLineCommentNum; // comment location on formattedLine
size_t leadingSpaces;
size_t maxCodeLength;
size_t methodAttachCharNum;
size_t methodAttachLineNum;
size_t methodBreakCharNum;
size_t methodBreakLineNum;
// possible split points
size_t maxSemi; // probably a 'for' statement
@ -966,10 +987,12 @@ private: // variables
bool isInObjCMethodDefinition;
bool isInObjCInterface;
bool isInObjCReturnType;
bool isInObjCParam;
bool isInObjCSelector;
bool breakCurrentOneLineBlock;
bool shouldRemoveNextClosingBrace;
bool isInBraceRunIn;
bool returnTypeChecked;
bool currentLineBeginsWithBrace;
bool attachClosingBraceMode;
bool shouldBreakOneLineBlocks;
@ -990,6 +1013,10 @@ private: // variables
bool shouldPadParamType;
bool shouldUnPadParamType;
bool shouldDeleteEmptyLines;
bool shouldBreakReturnType;
bool shouldBreakReturnTypeDecl;
bool shouldAttachReturnType;
bool shouldAttachReturnTypeDecl;
bool needHeaderOpeningBrace;
bool shouldBreakLineAtNextChar;
bool shouldKeepLineUnbroken;

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
// astyle_main.h
// Copyright (c) 2017 by Jim Pattee <jimp03@email.com>.
// Copyright (c) 2018 by Jim Pattee <jimp03@email.com>.
// This code is licensed under the MIT License.
// License.md describes the conditions under which this software may be distributed.
@ -57,9 +57,9 @@
#pragma warning(disable: 4996) // secure version deprecation warnings
#endif
// for namespace problem in version 5.0
#if defined(_MSC_VER) && _MSC_VER < 1200 // check for V6.0
#error - Use Microsoft compiler version 6 or higher
// for Visual Studio supported C++11 standard
#if defined(_MSC_VER) && _MSC_VER < 1600
#error Use Microsoft Visual Studio 2010 or higher
#endif
#ifdef __clang__
@ -101,8 +101,6 @@
#endif
#endif // #ifdef _WIN32
// define utf-16 bit text for the platform
typedef unsigned short utf16_t;
// define pointers to callback error handler and memory allocation
typedef void (STDCALL* fpError)(int errorNumber, const char* errorMessage);
typedef char* (STDCALL* fpAlloc)(unsigned long memoryNeeded);
@ -117,8 +115,9 @@ namespace astyle {
//
//----------------------------------------------------------------------------
// ASStreamIterator class
// typename will be istringstream for GUI and istream otherwise
// ASSourceIterator is an abstract class defined in astyle.h
// typename will be stringstream for AStyle
// it could be istream or wxChar for plug-ins
// ASSourceIterator is an inherited abstract class defined in astyle.h
//----------------------------------------------------------------------------
template<typename T>
@ -156,6 +155,7 @@ public: // inline functions
bool compareToInputBuffer(const string& nextLine_) const
{ return (nextLine_ == prevBuffer); }
const string& getOutputEOL() const { return outputEOL; }
streamoff getPeekStart() const { return peekStart; }
bool hasMoreLines() const { return !inStream->eof(); }
};
@ -167,7 +167,7 @@ public: // inline functions
class ASEncoding
{
private:
typedef unsigned short utf16; // 16 bits
typedef char16_t utf16; // 16 bits unsigned
typedef unsigned char utf8; // 8 bits
typedef unsigned char ubyte; // 8 bits
enum { SURROGATE_LEAD_FIRST = 0xD800 };
@ -203,7 +203,7 @@ public:
ASOptions(ASFormatter& formatterArg, ASConsole& consoleArg);
#endif
string getOptionErrors() const;
void importOptions(istream& in, vector<string>& optionsVector);
void importOptions(stringstream& in, vector<string>& optionsVector);
bool parseOptions(vector<string>& optionsVector, const string& errorInfo);
private:
@ -237,7 +237,8 @@ class ASConsole
{
private: // variables
ASFormatter& formatter; // reference to the ASFormatter object
ASLocalizer localizer; // ASLocalizer object
ASEncoding encode; // file encoding conversion
ASLocalizer localizer; // language translation
ostream* errorStream; // direct error messages to cerr or cout
// command line options
bool isRecursive; // recursive option
@ -249,7 +250,6 @@ private: // variables
bool isFormattedOnly; // formatted lines only option
bool ignoreExcludeErrors; // don't abort on unmatched excludes
bool ignoreExcludeErrorsDisplay; // don't display unmatched excludes
bool optionsFileRequired; // options= option
bool useAscii; // ascii option
// other variables
bool bypassBrowserOpen; // don't open the browser on html options
@ -261,12 +261,11 @@ private: // variables
bool lineEndsMixed; // output has mixed line ends
int linesOut; // number of output lines
ASEncoding utf8_16; // utf8/16 conversion methods
string outputEOL; // current line end
string prevEOL; // previous line end
string optionsFileName; // file path and name of the options file to use
string optionFileName; // file path and name of the options file
string origSuffix; // suffix= option
string projectOptionFileName; // file path and name of the project options file
string stdPathIn; // path to input from stdin=
string stdPathOut; // path to output from stdout=
string targetDirectory; // path to the directory being processed
@ -276,6 +275,7 @@ private: // variables
vector<bool> excludeHitsVector; // exclude flags for error reporting
vector<string> fileNameVector; // file paths and names from the command line
vector<string> optionsVector; // options from the command line
vector<string> projectOptionsVector;// project options from the project options file
vector<string> fileOptionsVector; // options from the options file
vector<string> fileName; // files to be processed including path
@ -288,6 +288,7 @@ public: // functions
void error(const char* why, const char* what) const;
void formatCinToCout();
vector<string> getArgvOptions(int argc, char** argv) const;
bool fileExists(const char* file) const;
bool fileNameVectorIsEmpty() const;
ostream* getErrorStream() const;
bool getFilesAreIdentical() const;
@ -305,10 +306,12 @@ public: // functions
string getLanguageID() const;
string getNumberFormat(int num, size_t lcid = 0) const;
string getNumberFormat(int num, const char* groupingArg, const char* separator) const;
string getOptionsFileName() const;
string getOptionFileName() const;
string getOrigSuffix() const;
string getProjectOptionFileName() const;
string getStdPathIn() const;
string getStdPathOut() const;
void getTargetFilenames(string& targetFilename_, vector<string>& targetFilenameVector) const;
void processFiles();
void processOptions(const vector<string>& argvOptions);
void setBypassBrowserOpen(bool state);
@ -321,9 +324,10 @@ public: // functions
void setIsRecursive(bool state);
void setIsVerbose(bool state);
void setNoBackup(bool state);
void setOptionsFileName(const string& name);
void setOptionFileName(const string& name);
void setOrigSuffix(const string& suffix);
void setPreserveDate(bool state);
void setProjectOptionFileName(const string& optfilepath);
void setStdPathIn(const string& path);
void setStdPathOut(const string& path);
void standardizePath(string& path, bool removeBeginningSeparator = false) const;
@ -333,6 +337,7 @@ public: // functions
vector<bool> getExcludeHitsVector() const;
vector<string> getFileNameVector() const;
vector<string> getOptionsVector() const;
vector<string> getProjectOptionsVector() const;
vector<string> getFileOptionsVector() const;
vector<string> getFileName() const;
@ -341,10 +346,14 @@ private: // functions
ASConsole& operator=(ASConsole&); // assignment operator not to be implemented
void correctMixedLineEnds(ostringstream& out);
void formatFile(const string& fileName_);
string getParentDirectory(const string& absPath) const;
string findProjectOptionFilePath(const string& fileName_) const;
string getCurrentDirectory(const string& fileName_) const;
void getFileNames(const string& directory, const string& wildcard);
void getFileNames(const string& directory, const vector<string>& wildcards);
void getFilePaths(const string& filePath);
string getFullPathName(const string& relativePath) const;
string getParam(const string& arg, const char* op);
bool isHomeOrInvalidAbsPath(const string& absPath) const;
void initializeOutputEOL(LineEndFormat lineEndFormat);
bool isOption(const string& arg, const char* op);
bool isOption(const string& arg, const char* a, const char* b);
@ -380,15 +389,15 @@ public:
ASLibrary() {}
virtual ~ASLibrary() {}
// virtual functions are mocked in testing
utf16_t* formatUtf16(const utf16_t*, const utf16_t*, fpError, fpAlloc) const;
virtual utf16_t* convertUtf8ToUtf16(const char* utf8In, fpAlloc fpMemoryAlloc) const;
virtual char* convertUtf16ToUtf8(const utf16_t* utf16In) const;
char16_t* formatUtf16(const char16_t*, const char16_t*, fpError, fpAlloc) const;
virtual char16_t* convertUtf8ToUtf16(const char* utf8In, fpAlloc fpMemoryAlloc) const;
virtual char* convertUtf16ToUtf8(const char16_t* utf16In) const;
private:
static char* STDCALL tempMemoryAllocation(unsigned long memoryNeeded);
private:
ASEncoding utf8_16; // utf8/16 conversion methods
ASEncoding encode; // file encoding conversion
};
#endif // ASTYLE_LIB
@ -420,10 +429,10 @@ jstring STDCALL Java_AStyleInterface_AStyleMain(JNIEnv* env,
//----------------------------------------------------------------------------
#ifdef ASTYLE_LIB
extern "C" EXPORT
utf16_t* STDCALL AStyleMainUtf16(const utf16_t* pSourceIn,
const utf16_t* pOptions,
fpError fpErrorHandler,
fpAlloc fpMemoryAlloc);
char16_t* STDCALL AStyleMainUtf16(const char16_t* pSourceIn,
const char16_t* pOptions,
fpError fpErrorHandler,
fpAlloc fpMemoryAlloc);
#endif // ASTYLE_LIB
//-----------------------------------------------------------------------------

83
external/libdxfrw/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,83 @@
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/src/core
${CMAKE_BINARY_DIR}/src/core
${Qt5Core_INCLUDE_DIRS}
)
ADD_LIBRARY(libdxfrw STATIC
drw_classes.cpp
drw_entities.cpp
drw_header.cpp
drw_objects.cpp
libdwgr.cpp
libdxfrw.cpp
intern/drw_dbg.cpp
intern/drw_textcodec.cpp
intern/dwgbuffer.cpp
intern/dwgreader.cpp
intern/dwgreader15.cpp
intern/dwgreader18.cpp
intern/dwgreader21.cpp
intern/dwgreader24.cpp
intern/dwgreader27.cpp
intern/dwgutil.cpp
intern/dxfreader.cpp
intern/dxfwriter.cpp
intern/rscodec.cpp
)
SET_PROPERTY(TARGET libdxfrw PROPERTY POSITION_INDEPENDENT_CODE ON)
IF(FALSE)
IF(DOXYGEN_FOUND)
ADD_CUSTOM_TARGET(doxygen-dxfrw ALL
COMMAND ${DOXYGEN_EXECUTABLE} libdxfrw.dox
drw_base.h
drw_classes.cpp
drw_classes.h
drw_entities.cpp
drw_entities.h
drw_header.cpp
drw_header.h
drw_interface.h
drw_objects.cpp
drw_objects.h
libdwgr.cpp
libdwgr.h
libdxfrw.cpp
libdxfrw.h
intern/drw_cptable932.h
intern/drw_cptable936.h
intern/drw_cptable949.h
intern/drw_cptable950.h
intern/drw_cptables.h
intern/drw_dbg.cpp
intern/drw_dbg.h
intern/drw_textcodec.cpp
intern/drw_textcodec.h
intern/dwgbuffer.cpp
intern/dwgbuffer.h
intern/dwgreader.cpp
intern/dwgreader.h
intern/dwgreader15.cpp
intern/dwgreader15.h
intern/dwgreader18.cpp
intern/dwgreader18.h
intern/dwgreader21.cpp
intern/dwgreader21.h
intern/dwgreader24.cpp
intern/dwgreader24.h
intern/dwgreader27.cpp
intern/dwgreader27.h
intern/dwgutil.cpp
intern/dwgutil.h
intern/dxfreader.cpp
intern/dxfreader.h
intern/dxfwriter.cpp
intern/dxfwriter.h
intern/rscodec.cpp
intern/rscodec.h
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS libdxfrw
COMMENT "Generating libdxfrw documentation" VERBATIM)
ENDIF(DOXYGEN_FOUND)
ENDIF(FALSE)

Some files were not shown because too many files have changed in this diff Show More