mirror of
https://github.com/qgis/QGIS.git
synced 2025-07-04 00:02:42 -04:00
Compare commits
101 Commits
5a59e91e17
...
5029b328b0
Author | SHA1 | Date | |
---|---|---|---|
|
5029b328b0 | ||
|
b927df884f | ||
|
fe299930cd | ||
|
8c7edbeec2 | ||
|
ce2c8ac21f | ||
|
faf4afcba7 | ||
|
4bad76d876 | ||
|
1f6c1277dd | ||
|
ae463d8b75 | ||
|
fb0d20942d | ||
|
1680a6cd2e | ||
|
6fd32d92fd | ||
|
74549aad26 | ||
|
eac401c009 | ||
|
1f0166d35e | ||
|
ada589bb1d | ||
|
08dd318614 | ||
|
ac9051e2b6 | ||
|
a940543035 | ||
|
d1528ee83d | ||
|
d49bfa66ee | ||
|
d31b74c0ae | ||
|
231929e6e3 | ||
|
8133424f5e | ||
|
d8d7d5480e | ||
|
42e2fbfc09 | ||
|
6c9e71fae2 | ||
|
d2377a0c48 | ||
|
432e29a504 | ||
|
cc17d79bd7 | ||
|
cbee242034 | ||
|
e5ee5686c1 | ||
|
8c0a4221e1 | ||
|
174c548d40 | ||
|
19ded7be74 | ||
|
89dbd40b8f | ||
|
429500187c | ||
|
cd7a0f9ce4 | ||
|
700ba50d15 | ||
|
4edb67501a | ||
|
b1c8ef3265 | ||
|
b32ddd8972 | ||
|
e388375c71 | ||
|
e13978d61f | ||
|
852d84a8c8 | ||
|
7e1d3bb944 | ||
|
c36d211e8b | ||
|
4a0477af3c | ||
|
c637e42516 | ||
|
ea4fa041e8 | ||
|
b9c2611153 | ||
|
b3920f056f | ||
|
e06fec0084 | ||
|
37449ae90f | ||
|
85637da1f1 | ||
|
ced6fd5280 | ||
|
2b1c9fe053 | ||
|
4fa4a323ff | ||
|
244746fde0 | ||
|
99ff547e69 | ||
|
ae81584a3f | ||
|
f4cf09d4b0 | ||
|
9db58e3726 | ||
|
379a3ee48b | ||
|
755fe2dec0 | ||
|
0a5242ac96 | ||
|
551aa20f20 | ||
|
c849544816 | ||
|
42dc01b772 | ||
|
0632f2edbb | ||
|
b2538d2259 | ||
|
8f16dcfa73 | ||
|
4f1f3056b6 | ||
|
a6c084fb17 | ||
|
b357daacd5 | ||
|
a116c74164 | ||
|
2380db7f18 | ||
|
8f86f2e22e | ||
|
caf413d3ad | ||
|
707b54f739 | ||
|
0c45184799 | ||
|
d4b0cc7819 | ||
|
f89c2b0364 | ||
|
62f0f5c94e | ||
|
dadbf039ea | ||
|
fb449b1cfc | ||
|
2a7a329347 | ||
|
31e6fe6906 | ||
|
5a17c9c7bc | ||
|
a97bc042d5 | ||
|
98adc45f3b | ||
|
c3b62d98b9 | ||
|
a160613e9b | ||
|
cdc03196db | ||
|
37be88f82c | ||
|
0cb2a6573b | ||
|
f57367d269 | ||
|
1973267cb3 | ||
|
b426450728 | ||
|
b6798e1d92 | ||
|
a156c43f7b |
@ -1,4 +1,4 @@
|
|||||||
ARG DISTRO_VERSION=39
|
ARG DISTRO_VERSION=42
|
||||||
|
|
||||||
FROM fedora:${DISTRO_VERSION} AS binary-for-oracle
|
FROM fedora:${DISTRO_VERSION} AS binary-for-oracle
|
||||||
LABEL org.opencontainers.image.authors="Matthias Kuhn <matthias@opengis.ch>"
|
LABEL org.opencontainers.image.authors="Matthias Kuhn <matthias@opengis.ch>"
|
||||||
|
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -1,2 +1,3 @@
|
|||||||
*.sip export-subst
|
*.sip export-subst
|
||||||
*.py export-subst
|
*.py export-subst
|
||||||
|
tests/testdata/auth_system/certs_keys/donald_key_DSA_crlf.pem text eol=crlf
|
||||||
|
@ -26,7 +26,7 @@ runs:
|
|||||||
SHORT_SHA=$(echo ${{ github.sha }} | cut -c1-7)
|
SHORT_SHA=$(echo ${{ github.sha }} | cut -c1-7)
|
||||||
BRANCH_NAME=${GITHUB_REF#refs/heads/}
|
BRANCH_NAME=${GITHUB_REF#refs/heads/}
|
||||||
ID="$BRANCH_NAME-$SHORT_SHA"
|
ID="$BRANCH_NAME-$SHORT_SHA"
|
||||||
DISPLAY_ID="$BRANCH_NAME build $SHORT_SHA"
|
DISPLAY_ID="$BRANCH_NAME-$SHORT_SHA"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set outputs
|
# Set outputs
|
||||||
|
@ -10,7 +10,7 @@ def extract_packages(data):
|
|||||||
for line in lines:
|
for line in lines:
|
||||||
# Regex to match the package format and capture features inside brackets
|
# Regex to match the package format and capture features inside brackets
|
||||||
match = re.match(
|
match = re.match(
|
||||||
r"\s*\*\s+([^\[\]:]+)(?:\[(.*?)\])?:([^\[\]@]+)@([^\s]+)\s+--", line
|
r"\s*\*?\s+([^\[\]:]+)(?:\[(.*?)\])?:([^\[\]@]+)@([^\s]+)\s+--", line
|
||||||
)
|
)
|
||||||
if match:
|
if match:
|
||||||
package_name = match.group(1)
|
package_name = match.group(1)
|
||||||
|
18
.github/workflows/build-macos-qt6.yml
vendored
18
.github/workflows/build-macos-qt6.yml
vendored
@ -67,8 +67,8 @@ jobs:
|
|||||||
uses: hendrikmuhs/ccache-action@v1.2
|
uses: hendrikmuhs/ccache-action@v1.2
|
||||||
with:
|
with:
|
||||||
max-size: 500M
|
max-size: 500M
|
||||||
key: build-ccache-win64-qt6-${{ github.event.pull_request.base.ref || github.ref_name }}
|
key: build-ccache-${{ matrix.triplet }}-qt6-${{ github.event.pull_request.base.ref || github.ref_name }}
|
||||||
# save: ${{ github.event_name == 'push' }}
|
save: ${{ github.event_name == 'push' }}
|
||||||
|
|
||||||
- name: 🛍️ Tune ccache configuration
|
- name: 🛍️ Tune ccache configuration
|
||||||
shell: bash
|
shell: bash
|
||||||
@ -136,14 +136,14 @@ jobs:
|
|||||||
|
|
||||||
- name: Archive app
|
- name: Archive app
|
||||||
run: |
|
run: |
|
||||||
gtar -cpvzf qgis-app-${{steps.workflow-artifact-ids.outputs.display-name}}-${{ matrix.triplet }}.tar.gz ./build/_CPack_Packages/Darwin/External/*/*.app
|
gtar -cpvzf qgis-app-${{steps.workflow-artifact-ids.outputs.filename}}-${{ matrix.triplet }}.tar.gz ./build/_CPack_Packages/Darwin/External/*/*.app
|
||||||
|
|
||||||
- name: 📤 Upload app
|
- name: 📤 Upload app
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: qgis-app-${{steps.workflow-artifact-ids.outputs.display-name}}-${{ matrix.triplet }}
|
name: qgis-app-${{steps.workflow-artifact-ids.outputs.filename}}-${{ matrix.triplet }}
|
||||||
path: |
|
path: |
|
||||||
qgis-app-${{steps.workflow-artifact-ids.outputs.display-name}}-${{ matrix.triplet }}.tar.gz
|
qgis-app-${{steps.workflow-artifact-ids.outputs.filename}}-${{ matrix.triplet }}.tar.gz
|
||||||
|
|
||||||
schedule_download_comment:
|
schedule_download_comment:
|
||||||
name: Create dmg
|
name: Create dmg
|
||||||
@ -165,16 +165,16 @@ jobs:
|
|||||||
- name: 📤 Download app
|
- name: 📤 Download app
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
pattern: qgis-app-${{steps.workflow-artifact-ids.outputs.display-name}}-*
|
pattern: qgis-app-${{steps.workflow-artifact-ids.outputs.filename}}-*
|
||||||
path: |
|
path: |
|
||||||
artifacts
|
artifacts
|
||||||
|
|
||||||
- name: Create universal app
|
- name: Create universal app
|
||||||
run: |
|
run: |
|
||||||
mkdir -p x64
|
mkdir -p x64
|
||||||
gtar --strip-components=5 -zxf ./artifacts/qgis-app-${{steps.workflow-artifact-ids.outputs.display-name}}-x64-osx-dynamic-release/qgis-app-${{steps.workflow-artifact-ids.outputs.display-name}}-x64-osx-dynamic-release.tar.gz -C x64
|
gtar --strip-components=5 -zxf ./artifacts/qgis-app-${{steps.workflow-artifact-ids.outputs.filename}}-x64-osx-dynamic-release/qgis-app-${{steps.workflow-artifact-ids.outputs.filename}}-x64-osx-dynamic-release.tar.gz -C x64
|
||||||
mkdir -p arm64
|
mkdir -p arm64
|
||||||
gtar --strip-components=5 -zxf ./artifacts/qgis-app-${{steps.workflow-artifact-ids.outputs.display-name}}-arm64-osx-dynamic-release/qgis-app-${{steps.workflow-artifact-ids.outputs.display-name}}-arm64-osx-dynamic-release.tar.gz -C arm64
|
gtar --strip-components=5 -zxf ./artifacts/qgis-app-${{steps.workflow-artifact-ids.outputs.filename}}-arm64-osx-dynamic-release/qgis-app-${{steps.workflow-artifact-ids.outputs.filename}}-arm64-osx-dynamic-release.tar.gz -C arm64
|
||||||
|
|
||||||
pip install lipomerge
|
pip install lipomerge
|
||||||
lipomerge ./x64 ./arm64 universal
|
lipomerge ./x64 ./arm64 universal
|
||||||
@ -198,7 +198,7 @@ jobs:
|
|||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
id: artifact-mac-qt6
|
id: artifact-mac-qt6
|
||||||
with:
|
with:
|
||||||
name: qgis-${{steps.workflow-artifact-ids.outputs.display-name}}-dmg
|
name: qgis-${{steps.workflow-artifact-ids.outputs.filename}}-dmg
|
||||||
path: |
|
path: |
|
||||||
*.dmg
|
*.dmg
|
||||||
|
|
||||||
|
10
.github/workflows/code_layout.yml
vendored
10
.github/workflows/code_layout.yml
vendored
@ -24,10 +24,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Set up Python 3.10
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.10'
|
python-version: '3.13'
|
||||||
- name: Install requirements
|
- name: Install requirements
|
||||||
run: |
|
run: |
|
||||||
wget https://www.doxygen.nl/files/doxygen-${DOXYGEN_VERSION}.linux.bin.tar.gz
|
wget https://www.doxygen.nl/files/doxygen-${DOXYGEN_VERSION}.linux.bin.tar.gz
|
||||||
@ -176,10 +176,10 @@ jobs:
|
|||||||
sip_check:
|
sip_check:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Set up Python 3.12
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.12'
|
python-version: '3.13'
|
||||||
- name: Install Requirements
|
- name: Install Requirements
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip
|
||||||
@ -214,6 +214,6 @@ jobs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.12'
|
python-version: '3.13'
|
||||||
- name: Run Check
|
- name: Run Check
|
||||||
run: python3 scripts/includemocs.py src --dry-run
|
run: python3 scripts/includemocs.py src --dry-run
|
||||||
|
4
.github/workflows/run-tests.yml
vendored
4
.github/workflows/run-tests.yml
vendored
@ -59,7 +59,7 @@ jobs:
|
|||||||
experimental: false
|
experimental: false
|
||||||
unity-builds: ON
|
unity-builds: ON
|
||||||
|
|
||||||
- distro-version: '39'
|
- distro-version: '42'
|
||||||
qt-version: 6
|
qt-version: 6
|
||||||
run-tests: true
|
run-tests: true
|
||||||
with-qt6: ON
|
with-qt6: ON
|
||||||
@ -251,7 +251,7 @@ jobs:
|
|||||||
docker-target: binary-only
|
docker-target: binary-only
|
||||||
|
|
||||||
- qt-version: 6
|
- qt-version: 6
|
||||||
distro-version: 39
|
distro-version: 42
|
||||||
docker-target: binary-only
|
docker-target: binary-only
|
||||||
|
|
||||||
- qt-version: 5
|
- qt-version: 5
|
||||||
|
2
.github/workflows/sipify-bot.yml
vendored
2
.github/workflows/sipify-bot.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
|||||||
|
|
||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.12'
|
python-version: '3.13'
|
||||||
|
|
||||||
- name: Install Requirements
|
- name: Install Requirements
|
||||||
run: pip install nose2 mock termcolor pyyaml
|
run: pip install nose2 mock termcolor pyyaml
|
||||||
|
@ -67,11 +67,7 @@ set(COMPLETE_VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINO
|
|||||||
set(RELEASE_NAME "Master")
|
set(RELEASE_NAME "Master")
|
||||||
project(qgis VERSION ${COMPLETE_VERSION})
|
project(qgis VERSION ${COMPLETE_VERSION})
|
||||||
|
|
||||||
if (APPLE)
|
set(QGIS_APP_NAME "qgis" CACHE STRING "The main app name and bundle name")
|
||||||
set(QGIS_APP_NAME "QGIS" CACHE STRING "The main app name and bundle name")
|
|
||||||
else()
|
|
||||||
set(QGIS_APP_NAME "qgis")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Note the version no is Mmmpp for Major/minor/patch, 0-padded, thus '10100' for 1.1.0
|
# Note the version no is Mmmpp for Major/minor/patch, 0-padded, thus '10100' for 1.1.0
|
||||||
math(EXPR QGIS_VERSION_INT "${CPACK_PACKAGE_VERSION_MAJOR}*10000+${CPACK_PACKAGE_VERSION_MINOR}*100+${CPACK_PACKAGE_VERSION_PATCH}")
|
math(EXPR QGIS_VERSION_INT "${CPACK_PACKAGE_VERSION_MAJOR}*10000+${CPACK_PACKAGE_VERSION_MINOR}*100+${CPACK_PACKAGE_VERSION_PATCH}")
|
||||||
@ -899,7 +895,7 @@ if( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" ST
|
|||||||
include("cmake/modules/linker.cmake")
|
include("cmake/modules/linker.cmake")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(MIN_PYTHON_VERSION "3.9")
|
set(MIN_PYTHON_VERSION "3.11")
|
||||||
set(Python_FIND_FRAMEWORK "LAST")
|
set(Python_FIND_FRAMEWORK "LAST")
|
||||||
|
|
||||||
if (WITH_BINDINGS)
|
if (WITH_BINDINGS)
|
||||||
@ -983,7 +979,31 @@ if (WITH_CORE)
|
|||||||
else()
|
else()
|
||||||
# UNIX
|
# UNIX
|
||||||
set (DEFAULT_BIN_SUBDIR bin)
|
set (DEFAULT_BIN_SUBDIR bin)
|
||||||
set (DEFAULT_CGIBIN_SUBDIR bin)
|
|
||||||
|
# From https://www.cyberciti.biz/faq/how-do-i-find-the-url-for-my-cgi-bin/
|
||||||
|
execute_process(COMMAND lsb_release -a OUTPUT_VARIABLE LSB_RELEASE_A)
|
||||||
|
if(EXISTS "/etc/fedora-release")
|
||||||
|
# in /var/www/cgi-bin
|
||||||
|
set (DEFAULT_CGIBIN_SUBDIR www/cgi-bin)
|
||||||
|
|
||||||
|
elseif (${CMAKE_HOST_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||||
|
# in /usr/local/www/cgi-bin/
|
||||||
|
set (DEFAULT_CGIBIN_SUBDIR www/cgi-bin)
|
||||||
|
|
||||||
|
elseif (${CMAKE_HOST_SYSTEM_NAME} MATCHES "BSD")
|
||||||
|
# in /usr/local/libexec/cgi-bin/
|
||||||
|
set (DEFAULT_CGIBIN_SUBDIR libexec/cgi-bin)
|
||||||
|
|
||||||
|
elseif ("${LSB_RELEASE_A}" MATCHES "Ubuntu" OR "${LSB_RELEASE_A}" MATCHES "Debian" OR "${LSB_RELEASE_A}" MATCHES "Mint")
|
||||||
|
# in /usr/lib/cgi-bin/
|
||||||
|
set (DEFAULT_CGIBIN_SUBDIR lib/cgi-bin)
|
||||||
|
|
||||||
|
else()
|
||||||
|
# others: Red Hat/CentOS/Rocky/Alma Linux
|
||||||
|
# in /var/www/cgi-bin/
|
||||||
|
set (DEFAULT_CGIBIN_SUBDIR www/cgi-bin)
|
||||||
|
endif()
|
||||||
|
|
||||||
set (DEFAULT_LIB_SUBDIR lib${LIB_SUFFIX})
|
set (DEFAULT_LIB_SUBDIR lib${LIB_SUFFIX})
|
||||||
set (DEFAULT_DATA_SUBDIR share/qgis)
|
set (DEFAULT_DATA_SUBDIR share/qgis)
|
||||||
set (DEFAULT_LIBEXEC_SUBDIR lib${LIB_SUFFIX}/qgis)
|
set (DEFAULT_LIBEXEC_SUBDIR lib${LIB_SUFFIX}/qgis)
|
||||||
|
@ -102,7 +102,7 @@ Required build tools:
|
|||||||
* CMake >= 3.12.0
|
* CMake >= 3.12.0
|
||||||
* Flex >= 2.5.6
|
* Flex >= 2.5.6
|
||||||
* Bison >= 2.4
|
* Bison >= 2.4
|
||||||
* Python >= 3.7
|
* Python >= 3.11
|
||||||
|
|
||||||
Required build dependencies:
|
Required build dependencies:
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ set(CPACK_OUTPUT_CONFIG_FILE "${CMAKE_BINARY_DIR}/BundleConfig.cmake")
|
|||||||
add_custom_target(bundle
|
add_custom_target(bundle
|
||||||
COMMAND ${CMAKE_CPACK_COMMAND} "--config" "${CMAKE_BINARY_DIR}/BundleConfig.cmake" "--verbose"
|
COMMAND ${CMAKE_CPACK_COMMAND} "--config" "${CMAKE_BINARY_DIR}/BundleConfig.cmake" "--verbose"
|
||||||
COMMENT "Running CPACK. Please wait..."
|
COMMENT "Running CPACK. Please wait..."
|
||||||
DEPENDS "${QGIS_APP_NAME}")
|
DEPENDS qgis)
|
||||||
|
|
||||||
if(WIN32 AND NOT UNIX)
|
if(WIN32 AND NOT UNIX)
|
||||||
set (CREATE_NSIS FALSE CACHE BOOL "Create an installer using NSIS")
|
set (CREATE_NSIS FALSE CACHE BOOL "Create an installer using NSIS")
|
||||||
|
@ -52,7 +52,7 @@ add_custom_target (translations ALL DEPENDS ${QM_FILES} ${MD_FILES})
|
|||||||
|
|
||||||
# first compile sources, then compile translations
|
# first compile sources, then compile translations
|
||||||
if (WITH_DESKTOP)
|
if (WITH_DESKTOP)
|
||||||
add_dependencies (translations ${QGIS_APP_NAME})
|
add_dependencies (translations qgis)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install (FILES ${QM_FILES}
|
install (FILES ${QM_FILES}
|
||||||
|
@ -336,14 +336,11 @@
|
|||||||
<string>zh_CN</string>
|
<string>zh_CN</string>
|
||||||
<string>zh_TW</string>
|
<string>zh_TW</string>
|
||||||
</array>
|
</array>
|
||||||
<key>LSEnvironment</key>
|
|
||||||
<dict>
|
|
||||||
<key>QT_AUTO_SCREEN_SCALE_FACTOR</key>
|
|
||||||
<string>1</string>
|
|
||||||
</dict>
|
|
||||||
<key>NSPrincipalClass</key>
|
<key>NSPrincipalClass</key>
|
||||||
<string>NSApplication</string>
|
<string>NSApplication</string>
|
||||||
<key>NSHighResolutionCapable</key>
|
<key>NSHighResolutionCapable</key>
|
||||||
<string>True</string>
|
<string>True</string>
|
||||||
|
<key>NSLocalNetworkUsageDescription</key>
|
||||||
|
<string>QGIS needs local network access to communicate with devices on your network.</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
@ -62,7 +62,7 @@ Returns intensity of the light
|
|||||||
Sets intensity of the light
|
Sets intensity of the light
|
||||||
%End
|
%End
|
||||||
|
|
||||||
bool operator==( const QgsDirectionalLightSettings &other );
|
bool operator==( const QgsDirectionalLightSettings &other ) const;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ Returns quadratic attenuation (A_2)
|
|||||||
Sets quadratic attenuation (A_2)
|
Sets quadratic attenuation (A_2)
|
||||||
%End
|
%End
|
||||||
|
|
||||||
bool operator==( const QgsPointLightSettings &other );
|
bool operator==( const QgsPointLightSettings &other ) const;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -153,7 +153,7 @@ pointing towards north. The angle should range from 0 to 360.
|
|||||||
%Docstring
|
%Docstring
|
||||||
Writes camera configuration to the given DOM element
|
Writes camera configuration to the given DOM element
|
||||||
%End
|
%End
|
||||||
void readXml( const QDomElement &elem );
|
void readXml( const QDomElement &elem, QgsVector3D savedOrigin );
|
||||||
%Docstring
|
%Docstring
|
||||||
Reads camera configuration from the given DOM element
|
Reads camera configuration from the given DOM element
|
||||||
%End
|
%End
|
||||||
|
@ -62,7 +62,7 @@ Returns intensity of the light
|
|||||||
Sets intensity of the light
|
Sets intensity of the light
|
||||||
%End
|
%End
|
||||||
|
|
||||||
bool operator==( const QgsDirectionalLightSettings &other );
|
bool operator==( const QgsDirectionalLightSettings &other ) const;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ Returns quadratic attenuation (A_2)
|
|||||||
Sets quadratic attenuation (A_2)
|
Sets quadratic attenuation (A_2)
|
||||||
%End
|
%End
|
||||||
|
|
||||||
bool operator==( const QgsPointLightSettings &other );
|
bool operator==( const QgsPointLightSettings &other ) const;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -153,7 +153,7 @@ pointing towards north. The angle should range from 0 to 360.
|
|||||||
%Docstring
|
%Docstring
|
||||||
Writes camera configuration to the given DOM element
|
Writes camera configuration to the given DOM element
|
||||||
%End
|
%End
|
||||||
void readXml( const QDomElement &elem );
|
void readXml( const QDomElement &elem, QgsVector3D savedOrigin );
|
||||||
%Docstring
|
%Docstring
|
||||||
Reads camera configuration from the given DOM element
|
Reads camera configuration from the given DOM element
|
||||||
%End
|
%End
|
||||||
|
@ -10135,6 +10135,9 @@ QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUs
|
|||||||
QgsLayoutRenderContext.Flag.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUseGlobalMasks
|
QgsLayoutRenderContext.Flag.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUseGlobalMasks
|
||||||
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.is_monkey_patched = True
|
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.is_monkey_patched = True
|
||||||
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.__doc__ = "When applying clipping paths for selective masking, always use global (\"entire map\") paths, instead of calculating local clipping paths per rendered feature. This results in considerably more complex layout exports in all current Qt versions. This flag only applies to vector layout exports. \n.. versionadded:: 3.38"
|
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.__doc__ = "When applying clipping paths for selective masking, always use global (\"entire map\") paths, instead of calculating local clipping paths per rendered feature. This results in considerably more complex layout exports in all current Qt versions. This flag only applies to vector layout exports. \n.. versionadded:: 3.38"
|
||||||
|
QgsLayoutRenderContext.LimitCoverageLayerRenderToCurrentFeature = Qgis.LayoutRenderFlag.LimitCoverageLayerRenderToCurrentFeature
|
||||||
|
QgsLayoutRenderContext.LimitCoverageLayerRenderToCurrentFeature.is_monkey_patched = True
|
||||||
|
QgsLayoutRenderContext.LimitCoverageLayerRenderToCurrentFeature.__doc__ = "Limit coverage layer rendering to the current atlas feature. \n.. versionadded:: 4.0"
|
||||||
Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendered.
|
Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendered.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
@ -10200,6 +10203,10 @@ Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendere
|
|||||||
|
|
||||||
Available as ``QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks`` in older QGIS releases.
|
Available as ``QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks`` in older QGIS releases.
|
||||||
|
|
||||||
|
* ``LimitCoverageLayerRenderToCurrentFeature``: Limit coverage layer rendering to the current atlas feature.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
# --
|
# --
|
||||||
@ -11498,6 +11505,10 @@ Qgis.MouseHandlesAction.ResizeLeftUp.__doc__ = "Resize left up (Top left handle)
|
|||||||
Qgis.MouseHandlesAction.ResizeRightUp.__doc__ = "Resize right up (Top right handle)"
|
Qgis.MouseHandlesAction.ResizeRightUp.__doc__ = "Resize right up (Top right handle)"
|
||||||
Qgis.MouseHandlesAction.ResizeLeftDown.__doc__ = "Resize left down (Bottom left handle)"
|
Qgis.MouseHandlesAction.ResizeLeftDown.__doc__ = "Resize left down (Bottom left handle)"
|
||||||
Qgis.MouseHandlesAction.ResizeRightDown.__doc__ = "Resize right down (Bottom right handle)"
|
Qgis.MouseHandlesAction.ResizeRightDown.__doc__ = "Resize right down (Bottom right handle)"
|
||||||
|
Qgis.MouseHandlesAction.RotateTopLeft.__doc__ = "Rotate from top left handle. \n.. versionadded:: 4.0"
|
||||||
|
Qgis.MouseHandlesAction.RotateTopRight.__doc__ = "Rotate from top right handle. \n.. versionadded:: 4.0"
|
||||||
|
Qgis.MouseHandlesAction.RotateBottomLeft.__doc__ = "Rotate from bottom left handle. \n.. versionadded:: 4.0"
|
||||||
|
Qgis.MouseHandlesAction.RotateBottomRight.__doc__ = "Rotate right bottom right handle. \n.. versionadded:: 4.0"
|
||||||
Qgis.MouseHandlesAction.SelectItem.__doc__ = "Select item"
|
Qgis.MouseHandlesAction.SelectItem.__doc__ = "Select item"
|
||||||
Qgis.MouseHandlesAction.NoAction.__doc__ = "No action"
|
Qgis.MouseHandlesAction.NoAction.__doc__ = "No action"
|
||||||
Qgis.MouseHandlesAction.__doc__ = """Action to be performed by the mouse handles
|
Qgis.MouseHandlesAction.__doc__ = """Action to be performed by the mouse handles
|
||||||
@ -11513,6 +11524,22 @@ Qgis.MouseHandlesAction.__doc__ = """Action to be performed by the mouse handles
|
|||||||
* ``ResizeRightUp``: Resize right up (Top right handle)
|
* ``ResizeRightUp``: Resize right up (Top right handle)
|
||||||
* ``ResizeLeftDown``: Resize left down (Bottom left handle)
|
* ``ResizeLeftDown``: Resize left down (Bottom left handle)
|
||||||
* ``ResizeRightDown``: Resize right down (Bottom right handle)
|
* ``ResizeRightDown``: Resize right down (Bottom right handle)
|
||||||
|
* ``RotateTopLeft``: Rotate from top left handle.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
|
||||||
|
* ``RotateTopRight``: Rotate from top right handle.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
|
||||||
|
* ``RotateBottomLeft``: Rotate from bottom left handle.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
|
||||||
|
* ``RotateBottomRight``: Rotate right bottom right handle.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
|
||||||
* ``SelectItem``: Select item
|
* ``SelectItem``: Select item
|
||||||
* ``NoAction``: No action
|
* ``NoAction``: No action
|
||||||
|
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
# The following has been generated automatically from src/core/qgsfeatureexpressionfilterprovider.h
|
||||||
|
try:
|
||||||
|
QgsFeatureExpressionFilterProvider.__overridden_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
|
||||||
|
except (NameError, AttributeError):
|
||||||
|
pass
|
@ -1,5 +1,6 @@
|
|||||||
# The following has been generated automatically from src/core/qgsfeaturefilterprovider.h
|
# The following has been generated automatically from src/core/qgsfeaturefilterprovider.h
|
||||||
try:
|
try:
|
||||||
QgsFeatureFilterProvider.__abstract_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
|
QgsFeatureFilterProvider.__virtual_methods__ = ['isFilterThreadSafe', 'filterFeatures']
|
||||||
|
QgsFeatureFilterProvider.__abstract_methods__ = ['layerAttributes', 'clone']
|
||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
# The following has been generated automatically from src/core/qgsgroupedfeaturefilterprovider.h
|
||||||
|
try:
|
||||||
|
QgsGroupedFeatureFilterProvider.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
|
||||||
|
except (NameError, AttributeError):
|
||||||
|
pass
|
@ -73,6 +73,26 @@ Sets whether the coverage layer should be hidden in map items in the
|
|||||||
layouts.
|
layouts.
|
||||||
|
|
||||||
.. seealso:: :py:func:`hideCoverage`
|
.. seealso:: :py:func:`hideCoverage`
|
||||||
|
%End
|
||||||
|
|
||||||
|
bool limitCoverageLayerRenderToCurrentFeature() const;
|
||||||
|
%Docstring
|
||||||
|
Returns ``True`` if the atlas is set to limit rendering on the coverage
|
||||||
|
layer to the current feature.
|
||||||
|
|
||||||
|
.. seealso:: :py:func:`setHideCoverage`
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
%End
|
||||||
|
|
||||||
|
void setLimitCoverageLayerRenderToCurrentFeature( bool limit );
|
||||||
|
%Docstring
|
||||||
|
Sets whether the rendering of the coverage layer should be limited to
|
||||||
|
the current feature.
|
||||||
|
|
||||||
|
.. seealso:: :py:func:`hideCoverage`
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
%End
|
%End
|
||||||
|
|
||||||
QString filenameExpression() const;
|
QString filenameExpression() const;
|
||||||
|
@ -2912,6 +2912,7 @@ The development version
|
|||||||
LosslessImageRendering,
|
LosslessImageRendering,
|
||||||
SynchronousLegendGraphics,
|
SynchronousLegendGraphics,
|
||||||
AlwaysUseGlobalMasks,
|
AlwaysUseGlobalMasks,
|
||||||
|
LimitCoverageLayerRenderToCurrentFeature,
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef QFlags<Qgis::LayoutRenderFlag> LayoutRenderFlags;
|
typedef QFlags<Qgis::LayoutRenderFlag> LayoutRenderFlags;
|
||||||
@ -3346,6 +3347,10 @@ The development version
|
|||||||
ResizeRightUp,
|
ResizeRightUp,
|
||||||
ResizeLeftDown,
|
ResizeLeftDown,
|
||||||
ResizeRightDown,
|
ResizeRightDown,
|
||||||
|
RotateTopLeft,
|
||||||
|
RotateTopRight,
|
||||||
|
RotateBottomLeft,
|
||||||
|
RotateBottomRight,
|
||||||
SelectItem,
|
SelectItem,
|
||||||
NoAction
|
NoAction
|
||||||
};
|
};
|
||||||
|
@ -0,0 +1,57 @@
|
|||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsfeatureexpressionfilterprovider.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class QgsFeatureExpressionFilterProvider : QgsFeatureFilterProvider
|
||||||
|
{
|
||||||
|
%Docstring(signature="appended")
|
||||||
|
A feature filter provider allowing to set filter expressions on a
|
||||||
|
per-layer basis.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
%End
|
||||||
|
|
||||||
|
%TypeHeaderCode
|
||||||
|
#include "qgsfeatureexpressionfilterprovider.h"
|
||||||
|
%End
|
||||||
|
public:
|
||||||
|
QgsFeatureExpressionFilterProvider();
|
||||||
|
%Docstring
|
||||||
|
Constructor
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
|
||||||
|
|
||||||
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||||
|
|
||||||
|
virtual QgsFeatureExpressionFilterProvider *clone() const /Factory/;
|
||||||
|
|
||||||
|
|
||||||
|
void setFilter( const QString &layerId, const QgsExpression &expression );
|
||||||
|
%Docstring
|
||||||
|
Set a filter for the given layer.
|
||||||
|
|
||||||
|
:param layerId: the layer to filter
|
||||||
|
:param expression: the filter expression
|
||||||
|
%End
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsfeatureexpressionfilterprovider.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
93
python/PyQt6/core/auto_generated/qgsfeaturefilter.sip.in
Normal file
93
python/PyQt6/core/auto_generated/qgsfeaturefilter.sip.in
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsfeaturefilter.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class QgsFeatureFilter : QgsFeatureFilterProvider
|
||||||
|
{
|
||||||
|
%Docstring(signature="appended")
|
||||||
|
A feature filter provider allowing to set filter expressions on a
|
||||||
|
per-layer basis.
|
||||||
|
%End
|
||||||
|
|
||||||
|
%TypeHeaderCode
|
||||||
|
#include "qgsfeaturefilter.h"
|
||||||
|
%End
|
||||||
|
public:
|
||||||
|
QgsFeatureFilter();
|
||||||
|
%Docstring
|
||||||
|
Constructor
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||||
|
|
||||||
|
%Docstring
|
||||||
|
Filter the features of the layer
|
||||||
|
|
||||||
|
:param layer: the layer to control
|
||||||
|
:param filterFeatures: the request to fill
|
||||||
|
|
||||||
|
.. deprecated:: 4.0
|
||||||
|
|
||||||
|
Use the layer ID variant.
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
|
||||||
|
|
||||||
|
%Docstring
|
||||||
|
Filter the features of the layer
|
||||||
|
|
||||||
|
:param layerId: the layer ID to control
|
||||||
|
:param filterFeatures: the request to fill
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||||
|
|
||||||
|
|
||||||
|
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
||||||
|
|
||||||
|
%Docstring
|
||||||
|
Returns a clone of the object
|
||||||
|
|
||||||
|
:return: A clone
|
||||||
|
%End
|
||||||
|
|
||||||
|
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression ) /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||||
|
%Docstring
|
||||||
|
Set a filter for the given layer.
|
||||||
|
|
||||||
|
:param layer: the layer to filter
|
||||||
|
:param expression: the filter expression
|
||||||
|
|
||||||
|
.. deprecated:: 4.0
|
||||||
|
|
||||||
|
Use the layer ID variant.
|
||||||
|
%End
|
||||||
|
|
||||||
|
void setFilter( const QString &layerId, const QgsExpression &expression );
|
||||||
|
%Docstring
|
||||||
|
Set a filter for the given layer.
|
||||||
|
|
||||||
|
:param layerId: the layer to filter
|
||||||
|
:param expression: the filter expression
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
%End
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsfeaturefilter.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
@ -30,7 +30,17 @@ also available.
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest ) const = 0;
|
virtual bool isFilterThreadSafe() const /Deprecated="Since 4.0. "/;
|
||||||
|
%Docstring
|
||||||
|
Returns ``True`` if the filterFeature function is thread safe, which
|
||||||
|
will lead to reliance on layer ID instead of the raw layer pointer.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
|
||||||
|
.. deprecated:: 4.0
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||||
%Docstring
|
%Docstring
|
||||||
Add additional filters to the feature request to further restrict the
|
Add additional filters to the feature request to further restrict the
|
||||||
features returned by the request. Derived classes must implement this
|
features returned by the request. Derived classes must implement this
|
||||||
@ -38,6 +48,22 @@ method.
|
|||||||
|
|
||||||
:param layer: the layer to filter
|
:param layer: the layer to filter
|
||||||
:param featureRequest: the feature request to update
|
:param featureRequest: the feature request to update
|
||||||
|
|
||||||
|
.. deprecated:: 4.0
|
||||||
|
|
||||||
|
Use the layer ID variant.
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &featureRequest ) const;
|
||||||
|
%Docstring
|
||||||
|
Add additional filters to the feature request to further restrict the
|
||||||
|
features returned by the request. Derived classes must implement this
|
||||||
|
method.
|
||||||
|
|
||||||
|
:param layerId: the layer ID to filter
|
||||||
|
:param featureRequest: the feature request to update
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
%End
|
%End
|
||||||
|
|
||||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const = 0;
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const = 0;
|
||||||
|
@ -0,0 +1,81 @@
|
|||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsfeaturefilterprovidergroup.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class QgsFeatureFilterProviderGroup : QgsFeatureFilterProvider
|
||||||
|
{
|
||||||
|
%Docstring(signature="appended")
|
||||||
|
A filter filter provider grouping several filter providers.
|
||||||
|
%End
|
||||||
|
|
||||||
|
%TypeHeaderCode
|
||||||
|
#include "qgsfeaturefilterprovidergroup.h"
|
||||||
|
%End
|
||||||
|
public:
|
||||||
|
QgsFeatureFilterProviderGroup();
|
||||||
|
%Docstring
|
||||||
|
Constructor
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||||
|
|
||||||
|
%Docstring
|
||||||
|
Filter the features of the layer.
|
||||||
|
|
||||||
|
:param layer: the layer to control
|
||||||
|
:param filterFeatures: the request to fill
|
||||||
|
|
||||||
|
.. deprecated:: 4.0
|
||||||
|
|
||||||
|
Use the layer ID variant.
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
|
||||||
|
|
||||||
|
%Docstring
|
||||||
|
Filter the features of the layer.
|
||||||
|
|
||||||
|
:param layerId: the layer ID to control
|
||||||
|
:param filterFeatures: the request to fill
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||||
|
|
||||||
|
|
||||||
|
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
||||||
|
|
||||||
|
%Docstring
|
||||||
|
Returns a clone of the object
|
||||||
|
|
||||||
|
:return: A clone
|
||||||
|
%End
|
||||||
|
|
||||||
|
QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
|
||||||
|
%Docstring
|
||||||
|
Add another filter provider to the group
|
||||||
|
|
||||||
|
:param provider: The provider to add
|
||||||
|
|
||||||
|
:return: itself
|
||||||
|
%End
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsfeaturefilterprovidergroup.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
@ -0,0 +1,60 @@
|
|||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsgroupedfeaturefilterprovider.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class QgsGroupedFeatureFilterProvider : QgsFeatureFilterProvider
|
||||||
|
{
|
||||||
|
%Docstring(signature="appended")
|
||||||
|
A filter filter provider grouping several filter providers.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
%End
|
||||||
|
|
||||||
|
%TypeHeaderCode
|
||||||
|
#include "qgsgroupedfeaturefilterprovider.h"
|
||||||
|
%End
|
||||||
|
public:
|
||||||
|
QgsGroupedFeatureFilterProvider();
|
||||||
|
%Docstring
|
||||||
|
Constructor
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual bool isFilterThreadSafe() const /Deprecated/;
|
||||||
|
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
|
||||||
|
|
||||||
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||||
|
|
||||||
|
virtual QgsGroupedFeatureFilterProvider *clone() const /Factory/;
|
||||||
|
|
||||||
|
|
||||||
|
QgsGroupedFeatureFilterProvider &addProvider( const QgsFeatureFilterProvider *provider );
|
||||||
|
%Docstring
|
||||||
|
Add another filter provider to the group
|
||||||
|
|
||||||
|
:param provider: The provider to add
|
||||||
|
|
||||||
|
:return: itself
|
||||||
|
%End
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsgroupedfeaturefilterprovider.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
@ -1,14 +1,14 @@
|
|||||||
Qgis.defaultProjectScales: src/core/qgis.h#L6067
|
Qgis.defaultProjectScales: src/core/qgis.h#L6072
|
||||||
Qgis.devVersion: src/core/qgis.h#L89
|
Qgis.devVersion: src/core/qgis.h#L89
|
||||||
Qgis.geoNone: src/core/qgis.h#L6112
|
Qgis.geoNone: src/core/qgis.h#L6117
|
||||||
Qgis.geoProj4: src/core/qgis.h#L6142
|
Qgis.geoProj4: src/core/qgis.h#L6147
|
||||||
Qgis.geoWkt: src/core/qgis.h#L6133
|
Qgis.geoWkt: src/core/qgis.h#L6138
|
||||||
Qgis.geographicCrsAuthId: src/core/qgis.h#L6122
|
Qgis.geographicCrsAuthId: src/core/qgis.h#L6127
|
||||||
Qgis.geosVersion: src/core/qgis.h#L6102
|
Qgis.geosVersion: src/core/qgis.h#L6107
|
||||||
Qgis.geosVersionInt: src/core/qgis.h#L6074
|
Qgis.geosVersionInt: src/core/qgis.h#L6079
|
||||||
Qgis.geosVersionMajor: src/core/qgis.h#L6081
|
Qgis.geosVersionMajor: src/core/qgis.h#L6086
|
||||||
Qgis.geosVersionMinor: src/core/qgis.h#L6088
|
Qgis.geosVersionMinor: src/core/qgis.h#L6093
|
||||||
Qgis.geosVersionPatch: src/core/qgis.h#L6095
|
Qgis.geosVersionPatch: src/core/qgis.h#L6100
|
||||||
Qgis.releaseName: src/core/qgis.h#L79
|
Qgis.releaseName: src/core/qgis.h#L79
|
||||||
Qgis.version: src/core/qgis.h#L65
|
Qgis.version: src/core/qgis.h#L65
|
||||||
Qgis.versionInt: src/core/qgis.h#L72
|
Qgis.versionInt: src/core/qgis.h#L72
|
||||||
@ -4268,6 +4268,12 @@ QgsFeature.setGeometry: src/core/qgsfeature.h#L873
|
|||||||
QgsFeature.setId: src/core/qgsfeature.h#L530
|
QgsFeature.setId: src/core/qgsfeature.h#L530
|
||||||
QgsFeature.setValid: src/core/qgsfeature.h#L813
|
QgsFeature.setValid: src/core/qgsfeature.h#L813
|
||||||
QgsFeature: src/core/qgsfeature.h#L57
|
QgsFeature: src/core/qgsfeature.h#L57
|
||||||
|
QgsFeatureExpressionFilterProvider.clone: src/core/qgsfeatureexpressionfilterprovider.h#L43
|
||||||
|
QgsFeatureExpressionFilterProvider.filterFeatures: src/core/qgsfeatureexpressionfilterprovider.h#L40
|
||||||
|
QgsFeatureExpressionFilterProvider.filterFeatures: src/core/qgsfeatureexpressionfilterprovider.h#L41
|
||||||
|
QgsFeatureExpressionFilterProvider.layerAttributes: src/core/qgsfeatureexpressionfilterprovider.h#L42
|
||||||
|
QgsFeatureExpressionFilterProvider.setFilter: src/core/qgsfeatureexpressionfilterprovider.h#L50
|
||||||
|
QgsFeatureExpressionFilterProvider: src/core/qgsfeatureexpressionfilterprovider.h#L34
|
||||||
QgsFeatureFilterModel.QgsFeatureFilterModel: src/core/qgsfeaturefiltermodel.h#L48
|
QgsFeatureFilterModel.QgsFeatureFilterModel: src/core/qgsfeaturefiltermodel.h#L48
|
||||||
QgsFeatureFilterModel.extraIdentifierValues: src/core/qgsfeaturefiltermodel.h#L85
|
QgsFeatureFilterModel.extraIdentifierValues: src/core/qgsfeaturefiltermodel.h#L85
|
||||||
QgsFeatureFilterModel.extraIdentifierValuesChanged: src/core/qgsfeaturefiltermodel.h#L107
|
QgsFeatureFilterModel.extraIdentifierValuesChanged: src/core/qgsfeaturefiltermodel.h#L107
|
||||||
@ -4279,9 +4285,11 @@ QgsFeatureFilterModel.setExtraIdentifierValueToNull: src/core/qgsfeaturefiltermo
|
|||||||
QgsFeatureFilterModel.setExtraIdentifierValues: src/core/qgsfeaturefiltermodel.h#L92
|
QgsFeatureFilterModel.setExtraIdentifierValues: src/core/qgsfeaturefiltermodel.h#L92
|
||||||
QgsFeatureFilterModel.setIdentifierFields: src/core/qgsfeaturefiltermodel.h#L71
|
QgsFeatureFilterModel.setIdentifierFields: src/core/qgsfeaturefiltermodel.h#L71
|
||||||
QgsFeatureFilterModel: src/core/qgsfeaturefiltermodel.h#L27
|
QgsFeatureFilterModel: src/core/qgsfeaturefiltermodel.h#L27
|
||||||
QgsFeatureFilterProvider.clone: src/core/qgsfeaturefilterprovider.h#L71
|
QgsFeatureFilterProvider.clone: src/core/qgsfeaturefilterprovider.h#L97
|
||||||
QgsFeatureFilterProvider.filterFeatures: src/core/qgsfeaturefilterprovider.h#L59
|
QgsFeatureFilterProvider.filterFeatures: src/core/qgsfeaturefilterprovider.h#L72
|
||||||
QgsFeatureFilterProvider.layerAttributes: src/core/qgsfeaturefilterprovider.h#L65
|
QgsFeatureFilterProvider.filterFeatures: src/core/qgsfeaturefilterprovider.h#L85
|
||||||
|
QgsFeatureFilterProvider.isFilterThreadSafe: src/core/qgsfeaturefilterprovider.h#L59
|
||||||
|
QgsFeatureFilterProvider.layerAttributes: src/core/qgsfeaturefilterprovider.h#L91
|
||||||
QgsFeatureFilterProvider: src/core/qgsfeaturefilterprovider.h#L41
|
QgsFeatureFilterProvider: src/core/qgsfeaturefilterprovider.h#L41
|
||||||
QgsFeatureIterator.__iter__: src/core/qgsfeatureiterator.h#L294
|
QgsFeatureIterator.__iter__: src/core/qgsfeatureiterator.h#L294
|
||||||
QgsFeatureIterator.__next__: src/core/qgsfeatureiterator.h#L299
|
QgsFeatureIterator.__next__: src/core/qgsfeatureiterator.h#L299
|
||||||
@ -5762,6 +5770,12 @@ QgsGroupLayer.setTransformContext: src/core/qgsgrouplayer.h#L87
|
|||||||
QgsGroupLayer.writeSymbology: src/core/qgsgrouplayer.h#L90
|
QgsGroupLayer.writeSymbology: src/core/qgsgrouplayer.h#L90
|
||||||
QgsGroupLayer.writeXml: src/core/qgsgrouplayer.h#L89
|
QgsGroupLayer.writeXml: src/core/qgsgrouplayer.h#L89
|
||||||
QgsGroupLayer: src/core/qgsgrouplayer.h#L41
|
QgsGroupLayer: src/core/qgsgrouplayer.h#L41
|
||||||
|
QgsGroupedFeatureFilterProvider.clone: src/core/qgsgroupedfeaturefilterprovider.h#L43
|
||||||
|
QgsGroupedFeatureFilterProvider.filterFeatures: src/core/qgsgroupedfeaturefilterprovider.h#L40
|
||||||
|
QgsGroupedFeatureFilterProvider.filterFeatures: src/core/qgsgroupedfeaturefilterprovider.h#L41
|
||||||
|
QgsGroupedFeatureFilterProvider.isFilterThreadSafe: src/core/qgsgroupedfeaturefilterprovider.h#L38
|
||||||
|
QgsGroupedFeatureFilterProvider.layerAttributes: src/core/qgsgroupedfeaturefilterprovider.h#L42
|
||||||
|
QgsGroupedFeatureFilterProvider: src/core/qgsgroupedfeaturefilterprovider.h#L32
|
||||||
QgsHashedLineSymbolLayer.clone: src/core/symbology/qgslinesymbollayer.h#L1040
|
QgsHashedLineSymbolLayer.clone: src/core/symbology/qgslinesymbollayer.h#L1040
|
||||||
QgsHashedLineSymbolLayer.color: src/core/symbology/qgslinesymbollayer.h#L1042
|
QgsHashedLineSymbolLayer.color: src/core/symbology/qgslinesymbollayer.h#L1042
|
||||||
QgsHashedLineSymbolLayer.create: src/core/symbology/qgslinesymbollayer.h#L1034
|
QgsHashedLineSymbolLayer.create: src/core/symbology/qgslinesymbollayer.h#L1034
|
||||||
@ -6780,53 +6794,55 @@ QgsLayoutAligner.alignItems: src/core/layout/qgslayoutaligner.h#L79
|
|||||||
QgsLayoutAligner.distributeItems: src/core/layout/qgslayoutaligner.h#L86
|
QgsLayoutAligner.distributeItems: src/core/layout/qgslayoutaligner.h#L86
|
||||||
QgsLayoutAligner.resizeItems: src/core/layout/qgslayoutaligner.h#L93
|
QgsLayoutAligner.resizeItems: src/core/layout/qgslayoutaligner.h#L93
|
||||||
QgsLayoutAligner: src/core/layout/qgslayoutaligner.h#L35
|
QgsLayoutAligner: src/core/layout/qgslayoutaligner.h#L35
|
||||||
QgsLayoutAtlas.beginRender: src/core/layout/qgslayoutatlas.h#L245
|
QgsLayoutAtlas.beginRender: src/core/layout/qgslayoutatlas.h#L261
|
||||||
QgsLayoutAtlas.changed: src/core/layout/qgslayoutatlas.h#L314
|
QgsLayoutAtlas.changed: src/core/layout/qgslayoutatlas.h#L330
|
||||||
QgsLayoutAtlas.count: src/core/layout/qgslayoutatlas.h#L247
|
QgsLayoutAtlas.count: src/core/layout/qgslayoutatlas.h#L263
|
||||||
QgsLayoutAtlas.coverageLayer: src/core/layout/qgslayoutatlas.h#L115
|
QgsLayoutAtlas.coverageLayer: src/core/layout/qgslayoutatlas.h#L131
|
||||||
QgsLayoutAtlas.coverageLayerChanged: src/core/layout/qgslayoutatlas.h#L320
|
QgsLayoutAtlas.coverageLayerChanged: src/core/layout/qgslayoutatlas.h#L336
|
||||||
QgsLayoutAtlas.createExpressionContext: src/core/layout/qgslayoutatlas.h#L255
|
QgsLayoutAtlas.createExpressionContext: src/core/layout/qgslayoutatlas.h#L271
|
||||||
QgsLayoutAtlas.currentFeatureNumber: src/core/layout/qgslayoutatlas.h#L253
|
QgsLayoutAtlas.currentFeatureNumber: src/core/layout/qgslayoutatlas.h#L269
|
||||||
QgsLayoutAtlas.currentFilename: src/core/layout/qgslayoutatlas.h#L109
|
QgsLayoutAtlas.currentFilename: src/core/layout/qgslayoutatlas.h#L125
|
||||||
QgsLayoutAtlas.enabled: src/core/layout/qgslayoutatlas.h#L66
|
QgsLayoutAtlas.enabled: src/core/layout/qgslayoutatlas.h#L66
|
||||||
QgsLayoutAtlas.endRender: src/core/layout/qgslayoutatlas.h#L246
|
QgsLayoutAtlas.endRender: src/core/layout/qgslayoutatlas.h#L262
|
||||||
QgsLayoutAtlas.featureChanged: src/core/layout/qgslayoutatlas.h#L331
|
QgsLayoutAtlas.featureChanged: src/core/layout/qgslayoutatlas.h#L347
|
||||||
QgsLayoutAtlas.filePath: src/core/layout/qgslayoutatlas.h#L248
|
QgsLayoutAtlas.filePath: src/core/layout/qgslayoutatlas.h#L264
|
||||||
QgsLayoutAtlas.filenameExpression: src/core/layout/qgslayoutatlas.h#L92
|
QgsLayoutAtlas.filenameExpression: src/core/layout/qgslayoutatlas.h#L108
|
||||||
QgsLayoutAtlas.filterExpression: src/core/layout/qgslayoutatlas.h#L224
|
QgsLayoutAtlas.filterExpression: src/core/layout/qgslayoutatlas.h#L240
|
||||||
QgsLayoutAtlas.filterFeatures: src/core/layout/qgslayoutatlas.h#L207
|
QgsLayoutAtlas.filterFeatures: src/core/layout/qgslayoutatlas.h#L223
|
||||||
QgsLayoutAtlas.first: src/core/layout/qgslayoutatlas.h#L286
|
QgsLayoutAtlas.first: src/core/layout/qgslayoutatlas.h#L302
|
||||||
QgsLayoutAtlas.hideCoverage: src/core/layout/qgslayoutatlas.h#L78
|
QgsLayoutAtlas.hideCoverage: src/core/layout/qgslayoutatlas.h#L78
|
||||||
QgsLayoutAtlas.last: src/core/layout/qgslayoutatlas.h#L277
|
QgsLayoutAtlas.last: src/core/layout/qgslayoutatlas.h#L293
|
||||||
QgsLayoutAtlas.layout: src/core/layout/qgslayoutatlas.h#L51
|
QgsLayoutAtlas.layout: src/core/layout/qgslayoutatlas.h#L51
|
||||||
QgsLayoutAtlas.messagePushed: src/core/layout/qgslayoutatlas.h#L323
|
QgsLayoutAtlas.limitCoverageLayerRenderToCurrentFeature: src/core/layout/qgslayoutatlas.h#L92
|
||||||
QgsLayoutAtlas.nameForPage: src/core/layout/qgslayoutatlas.h#L140
|
QgsLayoutAtlas.messagePushed: src/core/layout/qgslayoutatlas.h#L339
|
||||||
QgsLayoutAtlas.next: src/core/layout/qgslayoutatlas.h#L259
|
QgsLayoutAtlas.nameForPage: src/core/layout/qgslayoutatlas.h#L156
|
||||||
QgsLayoutAtlas.numberFeaturesChanged: src/core/layout/qgslayoutatlas.h#L328
|
QgsLayoutAtlas.next: src/core/layout/qgslayoutatlas.h#L275
|
||||||
QgsLayoutAtlas.pageNameExpression: src/core/layout/qgslayoutatlas.h#L128
|
QgsLayoutAtlas.numberFeaturesChanged: src/core/layout/qgslayoutatlas.h#L344
|
||||||
QgsLayoutAtlas.previous: src/core/layout/qgslayoutatlas.h#L268
|
QgsLayoutAtlas.pageNameExpression: src/core/layout/qgslayoutatlas.h#L144
|
||||||
|
QgsLayoutAtlas.previous: src/core/layout/qgslayoutatlas.h#L284
|
||||||
QgsLayoutAtlas.readXml: src/core/layout/qgslayoutatlas.h#L60
|
QgsLayoutAtlas.readXml: src/core/layout/qgslayoutatlas.h#L60
|
||||||
QgsLayoutAtlas.refreshCurrentFeature: src/core/layout/qgslayoutatlas.h#L309
|
QgsLayoutAtlas.refreshCurrentFeature: src/core/layout/qgslayoutatlas.h#L325
|
||||||
QgsLayoutAtlas.renderBegun: src/core/layout/qgslayoutatlas.h#L334
|
QgsLayoutAtlas.renderBegun: src/core/layout/qgslayoutatlas.h#L350
|
||||||
QgsLayoutAtlas.renderEnded: src/core/layout/qgslayoutatlas.h#L337
|
QgsLayoutAtlas.renderEnded: src/core/layout/qgslayoutatlas.h#L353
|
||||||
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L295
|
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L311
|
||||||
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L304
|
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L320
|
||||||
QgsLayoutAtlas.setCoverageLayer: src/core/layout/qgslayoutatlas.h#L121
|
QgsLayoutAtlas.setCoverageLayer: src/core/layout/qgslayoutatlas.h#L137
|
||||||
QgsLayoutAtlas.setEnabled: src/core/layout/qgslayoutatlas.h#L72
|
QgsLayoutAtlas.setEnabled: src/core/layout/qgslayoutatlas.h#L72
|
||||||
QgsLayoutAtlas.setFilenameExpression: src/core/layout/qgslayoutatlas.h#L102
|
QgsLayoutAtlas.setFilenameExpression: src/core/layout/qgslayoutatlas.h#L118
|
||||||
QgsLayoutAtlas.setFilterExpression: src/core/layout/qgslayoutatlas.h#L237
|
QgsLayoutAtlas.setFilterExpression: src/core/layout/qgslayoutatlas.h#L253
|
||||||
QgsLayoutAtlas.setFilterFeatures: src/core/layout/qgslayoutatlas.h#L214
|
QgsLayoutAtlas.setFilterFeatures: src/core/layout/qgslayoutatlas.h#L230
|
||||||
QgsLayoutAtlas.setHideCoverage: src/core/layout/qgslayoutatlas.h#L84
|
QgsLayoutAtlas.setHideCoverage: src/core/layout/qgslayoutatlas.h#L84
|
||||||
QgsLayoutAtlas.setPageNameExpression: src/core/layout/qgslayoutatlas.h#L134
|
QgsLayoutAtlas.setLimitCoverageLayerRenderToCurrentFeature: src/core/layout/qgslayoutatlas.h#L100
|
||||||
QgsLayoutAtlas.setSortAscending: src/core/layout/qgslayoutatlas.h#L178
|
QgsLayoutAtlas.setPageNameExpression: src/core/layout/qgslayoutatlas.h#L150
|
||||||
QgsLayoutAtlas.setSortExpression: src/core/layout/qgslayoutatlas.h#L200
|
QgsLayoutAtlas.setSortAscending: src/core/layout/qgslayoutatlas.h#L194
|
||||||
QgsLayoutAtlas.setSortFeatures: src/core/layout/qgslayoutatlas.h#L156
|
QgsLayoutAtlas.setSortExpression: src/core/layout/qgslayoutatlas.h#L216
|
||||||
QgsLayoutAtlas.sortAscending: src/core/layout/qgslayoutatlas.h#L167
|
QgsLayoutAtlas.setSortFeatures: src/core/layout/qgslayoutatlas.h#L172
|
||||||
QgsLayoutAtlas.sortExpression: src/core/layout/qgslayoutatlas.h#L189
|
QgsLayoutAtlas.sortAscending: src/core/layout/qgslayoutatlas.h#L183
|
||||||
QgsLayoutAtlas.sortFeatures: src/core/layout/qgslayoutatlas.h#L148
|
QgsLayoutAtlas.sortExpression: src/core/layout/qgslayoutatlas.h#L205
|
||||||
|
QgsLayoutAtlas.sortFeatures: src/core/layout/qgslayoutatlas.h#L164
|
||||||
QgsLayoutAtlas.stringType: src/core/layout/qgslayoutatlas.h#L50
|
QgsLayoutAtlas.stringType: src/core/layout/qgslayoutatlas.h#L50
|
||||||
QgsLayoutAtlas.toggled: src/core/layout/qgslayoutatlas.h#L317
|
QgsLayoutAtlas.toggled: src/core/layout/qgslayoutatlas.h#L333
|
||||||
QgsLayoutAtlas.updateFeatures: src/core/layout/qgslayoutatlas.h#L243
|
QgsLayoutAtlas.updateFeatures: src/core/layout/qgslayoutatlas.h#L259
|
||||||
QgsLayoutAtlas.writeXml: src/core/layout/qgslayoutatlas.h#L59
|
QgsLayoutAtlas.writeXml: src/core/layout/qgslayoutatlas.h#L59
|
||||||
QgsLayoutAtlas: src/core/layout/qgslayoutatlas.h#L40
|
QgsLayoutAtlas: src/core/layout/qgslayoutatlas.h#L40
|
||||||
QgsLayoutChecker.setSize: src/core/qgsmultirenderchecker.h#L209
|
QgsLayoutChecker.setSize: src/core/qgsmultirenderchecker.h#L209
|
||||||
@ -7310,119 +7326,119 @@ QgsLayoutItemManualTable.type: src/core/layout/qgslayoutitemmanualtable.h#L46
|
|||||||
QgsLayoutItemManualTable.verticalAlignmentForCell: src/core/layout/qgslayoutitemmanualtable.h#L145
|
QgsLayoutItemManualTable.verticalAlignmentForCell: src/core/layout/qgslayoutitemmanualtable.h#L145
|
||||||
QgsLayoutItemManualTable.writePropertiesToElement: src/core/layout/qgslayoutitemmanualtable.h#L139
|
QgsLayoutItemManualTable.writePropertiesToElement: src/core/layout/qgslayoutitemmanualtable.h#L139
|
||||||
QgsLayoutItemManualTable: src/core/layout/qgslayoutitemmanualtable.h#L31
|
QgsLayoutItemManualTable: src/core/layout/qgslayoutitemmanualtable.h#L31
|
||||||
QgsLayoutItemMap.QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L361
|
QgsLayoutItemMap.QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L362
|
||||||
QgsLayoutItemMap.accept: src/core/layout/qgslayoutitemmap.h#L828
|
QgsLayoutItemMap.accept: src/core/layout/qgslayoutitemmap.h#L829
|
||||||
QgsLayoutItemMap.addLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L785
|
QgsLayoutItemMap.addLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L786
|
||||||
QgsLayoutItemMap.addRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L842
|
QgsLayoutItemMap.addRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L843
|
||||||
QgsLayoutItemMap.assignFreeId: src/core/layout/qgslayoutitemmap.h#L385
|
QgsLayoutItemMap.assignFreeId: src/core/layout/qgslayoutitemmap.h#L386
|
||||||
QgsLayoutItemMap.atlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L862
|
QgsLayoutItemMap.atlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L863
|
||||||
QgsLayoutItemMap.atlasDriven: src/core/layout/qgslayoutitemmap.h#L643
|
QgsLayoutItemMap.atlasDriven: src/core/layout/qgslayoutitemmap.h#L644
|
||||||
QgsLayoutItemMap.atlasMargin: src/core/layout/qgslayoutitemmap.h#L685
|
QgsLayoutItemMap.atlasMargin: src/core/layout/qgslayoutitemmap.h#L686
|
||||||
QgsLayoutItemMap.atlasScalingMode: src/core/layout/qgslayoutitemmap.h#L662
|
QgsLayoutItemMap.atlasScalingMode: src/core/layout/qgslayoutitemmap.h#L663
|
||||||
QgsLayoutItemMap.boundingRect: src/core/layout/qgslayoutitemmap.h#L928
|
QgsLayoutItemMap.boundingRect: src/core/layout/qgslayoutitemmap.h#L929
|
||||||
QgsLayoutItemMap.containsAdvancedEffects: src/core/layout/qgslayoutitemmap.h#L604
|
QgsLayoutItemMap.containsAdvancedEffects: src/core/layout/qgslayoutitemmap.h#L605
|
||||||
QgsLayoutItemMap.containsWmsLayer: src/core/layout/qgslayoutitemmap.h#L601
|
QgsLayoutItemMap.containsWmsLayer: src/core/layout/qgslayoutitemmap.h#L602
|
||||||
QgsLayoutItemMap.create: src/core/layout/qgslayoutitemmap.h#L395
|
QgsLayoutItemMap.create: src/core/layout/qgslayoutitemmap.h#L396
|
||||||
QgsLayoutItemMap.createExpressionContext: src/core/layout/qgslayoutitemmap.h#L748
|
QgsLayoutItemMap.createExpressionContext: src/core/layout/qgslayoutitemmap.h#L749
|
||||||
QgsLayoutItemMap.crs: src/core/layout/qgslayoutitemmap.h#L471
|
QgsLayoutItemMap.crs: src/core/layout/qgslayoutitemmap.h#L472
|
||||||
QgsLayoutItemMap.crsChanged: src/core/layout/qgslayoutitemmap.h#L981
|
QgsLayoutItemMap.crsChanged: src/core/layout/qgslayoutitemmap.h#L982
|
||||||
QgsLayoutItemMap.displayName: src/core/layout/qgslayoutitemmap.h#L388
|
QgsLayoutItemMap.displayName: src/core/layout/qgslayoutitemmap.h#L389
|
||||||
QgsLayoutItemMap.draw: src/core/layout/qgslayoutitemmap.h#L919
|
QgsLayoutItemMap.draw: src/core/layout/qgslayoutitemmap.h#L920
|
||||||
QgsLayoutItemMap.drawAnnotations: src/core/layout/qgslayoutitemmap.h#L634
|
QgsLayoutItemMap.drawAnnotations: src/core/layout/qgslayoutitemmap.h#L635
|
||||||
QgsLayoutItemMap.estimatedFrameBleed: src/core/layout/qgslayoutitemmap.h#L915
|
QgsLayoutItemMap.estimatedFrameBleed: src/core/layout/qgslayoutitemmap.h#L916
|
||||||
QgsLayoutItemMap.exportLayerBehavior: src/core/layout/qgslayoutitemmap.h#L408
|
QgsLayoutItemMap.exportLayerBehavior: src/core/layout/qgslayoutitemmap.h#L409
|
||||||
QgsLayoutItemMap.exportLayerDetails: src/core/layout/qgslayoutitemmap.h#L409
|
QgsLayoutItemMap.exportLayerDetails: src/core/layout/qgslayoutitemmap.h#L410
|
||||||
QgsLayoutItemMap.extent: src/core/layout/qgslayoutitemmap.h#L451
|
QgsLayoutItemMap.extent: src/core/layout/qgslayoutitemmap.h#L452
|
||||||
QgsLayoutItemMap.extentChanged: src/core/layout/qgslayoutitemmap.h#L948
|
QgsLayoutItemMap.extentChanged: src/core/layout/qgslayoutitemmap.h#L949
|
||||||
QgsLayoutItemMap.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L766
|
QgsLayoutItemMap.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L767
|
||||||
QgsLayoutItemMap.followVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L570
|
QgsLayoutItemMap.followVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L571
|
||||||
QgsLayoutItemMap.followVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L584
|
QgsLayoutItemMap.followVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L585
|
||||||
QgsLayoutItemMap.framePath: src/core/layout/qgslayoutitemmap.h#L922
|
QgsLayoutItemMap.framePath: src/core/layout/qgslayoutitemmap.h#L923
|
||||||
QgsLayoutItemMap.grid: src/core/layout/qgslayoutitemmap.h#L707
|
QgsLayoutItemMap.grid: src/core/layout/qgslayoutitemmap.h#L708
|
||||||
QgsLayoutItemMap.grids: src/core/layout/qgslayoutitemmap.h#L701
|
QgsLayoutItemMap.grids: src/core/layout/qgslayoutitemmap.h#L702
|
||||||
QgsLayoutItemMap.icon: src/core/layout/qgslayoutitemmap.h#L365
|
QgsLayoutItemMap.icon: src/core/layout/qgslayoutitemmap.h#L366
|
||||||
QgsLayoutItemMap.invalidateCache: src/core/layout/qgslayoutitemmap.h#L994
|
QgsLayoutItemMap.invalidateCache: src/core/layout/qgslayoutitemmap.h#L995
|
||||||
QgsLayoutItemMap.isDrawing: src/core/layout/qgslayoutitemmap.h#L925
|
QgsLayoutItemMap.isDrawing: src/core/layout/qgslayoutitemmap.h#L926
|
||||||
QgsLayoutItemMap.isLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L811
|
QgsLayoutItemMap.isLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L812
|
||||||
QgsLayoutItemMap.itemClippingSettings: src/core/layout/qgslayoutitemmap.h#L869
|
QgsLayoutItemMap.itemClippingSettings: src/core/layout/qgslayoutitemmap.h#L870
|
||||||
QgsLayoutItemMap.itemFlags: src/core/layout/qgslayoutitemmap.h#L366
|
QgsLayoutItemMap.itemFlags: src/core/layout/qgslayoutitemmap.h#L367
|
||||||
QgsLayoutItemMap.keepLayerSet: src/core/layout/qgslayoutitemmap.h#L500
|
QgsLayoutItemMap.keepLayerSet: src/core/layout/qgslayoutitemmap.h#L501
|
||||||
QgsLayoutItemMap.keepLayerStyles: src/core/layout/qgslayoutitemmap.h#L535
|
QgsLayoutItemMap.keepLayerStyles: src/core/layout/qgslayoutitemmap.h#L536
|
||||||
QgsLayoutItemMap.labelMargin: src/core/layout/qgslayoutitemmap.h#L734
|
QgsLayoutItemMap.labelMargin: src/core/layout/qgslayoutitemmap.h#L735
|
||||||
QgsLayoutItemMap.layerStyleOverridesChanged: src/core/layout/qgslayoutitemmap.h#L964
|
QgsLayoutItemMap.layerStyleOverridesChanged: src/core/layout/qgslayoutitemmap.h#L965
|
||||||
QgsLayoutItemMap.layoutToMapCoordsTransform: src/core/layout/qgslayoutitemmap.h#L855
|
QgsLayoutItemMap.layoutToMapCoordsTransform: src/core/layout/qgslayoutitemmap.h#L856
|
||||||
QgsLayoutItemMap.mapFlags: src/core/layout/qgslayoutitemmap.h#L373
|
QgsLayoutItemMap.mapFlags: src/core/layout/qgslayoutitemmap.h#L374
|
||||||
QgsLayoutItemMap.mapRotation: src/core/layout/qgslayoutitemmap.h#L622
|
QgsLayoutItemMap.mapRotation: src/core/layout/qgslayoutitemmap.h#L623
|
||||||
QgsLayoutItemMap.mapRotationChanged: src/core/layout/qgslayoutitemmap.h#L955
|
QgsLayoutItemMap.mapRotationChanged: src/core/layout/qgslayoutitemmap.h#L956
|
||||||
QgsLayoutItemMap.mapSettings: src/core/layout/qgslayoutitemmap.h#L764
|
QgsLayoutItemMap.mapSettings: src/core/layout/qgslayoutitemmap.h#L765
|
||||||
QgsLayoutItemMap.mapToItemCoords: src/core/layout/qgslayoutitemmap.h#L934
|
QgsLayoutItemMap.mapToItemCoords: src/core/layout/qgslayoutitemmap.h#L935
|
||||||
QgsLayoutItemMap.mapUnitsToLayoutUnits: src/core/layout/qgslayoutitemmap.h#L755
|
QgsLayoutItemMap.mapUnitsToLayoutUnits: src/core/layout/qgslayoutitemmap.h#L756
|
||||||
QgsLayoutItemMap.moveContent: src/core/layout/qgslayoutitemmap.h#L594
|
QgsLayoutItemMap.moveContent: src/core/layout/qgslayoutitemmap.h#L595
|
||||||
QgsLayoutItemMap.nextExportPart: src/core/layout/qgslayoutitemmap.h#L407
|
QgsLayoutItemMap.nextExportPart: src/core/layout/qgslayoutitemmap.h#L408
|
||||||
QgsLayoutItemMap.numberExportLayers: src/core/layout/qgslayoutitemmap.h#L403
|
QgsLayoutItemMap.numberExportLayers: src/core/layout/qgslayoutitemmap.h#L404
|
||||||
QgsLayoutItemMap.overview: src/core/layout/qgslayoutitemmap.h#L722
|
QgsLayoutItemMap.overview: src/core/layout/qgslayoutitemmap.h#L723
|
||||||
QgsLayoutItemMap.overviews: src/core/layout/qgslayoutitemmap.h#L715
|
QgsLayoutItemMap.overviews: src/core/layout/qgslayoutitemmap.h#L716
|
||||||
QgsLayoutItemMap.paint: src/core/layout/qgslayoutitemmap.h#L398
|
QgsLayoutItemMap.paint: src/core/layout/qgslayoutitemmap.h#L399
|
||||||
QgsLayoutItemMap.preparedForAtlas: src/core/layout/qgslayoutitemmap.h#L958
|
QgsLayoutItemMap.preparedForAtlas: src/core/layout/qgslayoutitemmap.h#L959
|
||||||
QgsLayoutItemMap.presetCrs: src/core/layout/qgslayoutitemmap.h#L481
|
QgsLayoutItemMap.presetCrs: src/core/layout/qgslayoutitemmap.h#L482
|
||||||
QgsLayoutItemMap.previewLabelingResults: src/core/layout/qgslayoutitemmap.h#L826
|
QgsLayoutItemMap.previewLabelingResults: src/core/layout/qgslayoutitemmap.h#L827
|
||||||
QgsLayoutItemMap.previewRefreshed: src/core/layout/qgslayoutitemmap.h#L988
|
QgsLayoutItemMap.previewRefreshed: src/core/layout/qgslayoutitemmap.h#L989
|
||||||
QgsLayoutItemMap.readPropertiesFromElement: src/core/layout/qgslayoutitemmap.h#L921
|
QgsLayoutItemMap.readPropertiesFromElement: src/core/layout/qgslayoutitemmap.h#L922
|
||||||
QgsLayoutItemMap.refresh: src/core/layout/qgslayoutitemmap.h#L992
|
QgsLayoutItemMap.refresh: src/core/layout/qgslayoutitemmap.h#L993
|
||||||
QgsLayoutItemMap.refreshDataDefinedProperty: src/core/layout/qgslayoutitemmap.h#L999
|
QgsLayoutItemMap.refreshDataDefinedProperty: src/core/layout/qgslayoutitemmap.h#L1000
|
||||||
QgsLayoutItemMap.removeLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L798
|
QgsLayoutItemMap.removeLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L799
|
||||||
QgsLayoutItemMap.removeRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L850
|
QgsLayoutItemMap.removeRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L851
|
||||||
QgsLayoutItemMap.renderingErrors: src/core/layout/qgslayoutitemmap.h#L817
|
QgsLayoutItemMap.renderingErrors: src/core/layout/qgslayoutitemmap.h#L818
|
||||||
QgsLayoutItemMap.requestedExtent: src/core/layout/qgslayoutitemmap.h#L939
|
QgsLayoutItemMap.requestedExtent: src/core/layout/qgslayoutitemmap.h#L940
|
||||||
QgsLayoutItemMap.requiresRasterization: src/core/layout/qgslayoutitemmap.h#L603
|
QgsLayoutItemMap.requiresRasterization: src/core/layout/qgslayoutitemmap.h#L604
|
||||||
QgsLayoutItemMap.scale: src/core/layout/qgslayoutitemmap.h#L417
|
QgsLayoutItemMap.scale: src/core/layout/qgslayoutitemmap.h#L418
|
||||||
QgsLayoutItemMap.setAtlasDriven: src/core/layout/qgslayoutitemmap.h#L651
|
QgsLayoutItemMap.setAtlasDriven: src/core/layout/qgslayoutitemmap.h#L652
|
||||||
QgsLayoutItemMap.setAtlasMargin: src/core/layout/qgslayoutitemmap.h#L694
|
QgsLayoutItemMap.setAtlasMargin: src/core/layout/qgslayoutitemmap.h#L695
|
||||||
QgsLayoutItemMap.setAtlasScalingMode: src/core/layout/qgslayoutitemmap.h#L673
|
QgsLayoutItemMap.setAtlasScalingMode: src/core/layout/qgslayoutitemmap.h#L674
|
||||||
QgsLayoutItemMap.setCrs: src/core/layout/qgslayoutitemmap.h#L490
|
QgsLayoutItemMap.setCrs: src/core/layout/qgslayoutitemmap.h#L491
|
||||||
QgsLayoutItemMap.setDrawAnnotations: src/core/layout/qgslayoutitemmap.h#L628
|
QgsLayoutItemMap.setDrawAnnotations: src/core/layout/qgslayoutitemmap.h#L629
|
||||||
QgsLayoutItemMap.setExtent: src/core/layout/qgslayoutitemmap.h#L435
|
QgsLayoutItemMap.setExtent: src/core/layout/qgslayoutitemmap.h#L436
|
||||||
QgsLayoutItemMap.setFollowVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L575
|
QgsLayoutItemMap.setFollowVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L576
|
||||||
QgsLayoutItemMap.setFollowVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L592
|
QgsLayoutItemMap.setFollowVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L593
|
||||||
QgsLayoutItemMap.setFrameStrokeWidth: src/core/layout/qgslayoutitemmap.h#L410
|
QgsLayoutItemMap.setFrameStrokeWidth: src/core/layout/qgslayoutitemmap.h#L411
|
||||||
QgsLayoutItemMap.setKeepLayerSet: src/core/layout/qgslayoutitemmap.h#L510
|
QgsLayoutItemMap.setKeepLayerSet: src/core/layout/qgslayoutitemmap.h#L511
|
||||||
QgsLayoutItemMap.setKeepLayerStyles: src/core/layout/qgslayoutitemmap.h#L541
|
QgsLayoutItemMap.setKeepLayerStyles: src/core/layout/qgslayoutitemmap.h#L542
|
||||||
QgsLayoutItemMap.setLabelMargin: src/core/layout/qgslayoutitemmap.h#L746
|
QgsLayoutItemMap.setLabelMargin: src/core/layout/qgslayoutitemmap.h#L747
|
||||||
QgsLayoutItemMap.setLayerStyleOverrides: src/core/layout/qgslayoutitemmap.h#L553
|
QgsLayoutItemMap.setLayerStyleOverrides: src/core/layout/qgslayoutitemmap.h#L554
|
||||||
QgsLayoutItemMap.setLayers: src/core/layout/qgslayoutitemmap.h#L529
|
QgsLayoutItemMap.setLayers: src/core/layout/qgslayoutitemmap.h#L530
|
||||||
QgsLayoutItemMap.setMapFlags: src/core/layout/qgslayoutitemmap.h#L380
|
QgsLayoutItemMap.setMapFlags: src/core/layout/qgslayoutitemmap.h#L381
|
||||||
QgsLayoutItemMap.setMapRotation: src/core/layout/qgslayoutitemmap.h#L612
|
QgsLayoutItemMap.setMapRotation: src/core/layout/qgslayoutitemmap.h#L613
|
||||||
QgsLayoutItemMap.setMoveContentPreviewOffset: src/core/layout/qgslayoutitemmap.h#L595
|
QgsLayoutItemMap.setMoveContentPreviewOffset: src/core/layout/qgslayoutitemmap.h#L596
|
||||||
QgsLayoutItemMap.setScale: src/core/layout/qgslayoutitemmap.h#L426
|
QgsLayoutItemMap.setScale: src/core/layout/qgslayoutitemmap.h#L427
|
||||||
QgsLayoutItemMap.setZRange: src/core/layout/qgslayoutitemmap.h#L912
|
QgsLayoutItemMap.setZRange: src/core/layout/qgslayoutitemmap.h#L913
|
||||||
QgsLayoutItemMap.setZRangeEnabled: src/core/layout/qgslayoutitemmap.h#L878
|
QgsLayoutItemMap.setZRangeEnabled: src/core/layout/qgslayoutitemmap.h#L879
|
||||||
QgsLayoutItemMap.startLayeredExport: src/core/layout/qgslayoutitemmap.h#L405
|
QgsLayoutItemMap.startLayeredExport: src/core/layout/qgslayoutitemmap.h#L406
|
||||||
QgsLayoutItemMap.stopLayeredExport: src/core/layout/qgslayoutitemmap.h#L406
|
QgsLayoutItemMap.stopLayeredExport: src/core/layout/qgslayoutitemmap.h#L407
|
||||||
QgsLayoutItemMap.storeCurrentLayerStyles: src/core/layout/qgslayoutitemmap.h#L558
|
QgsLayoutItemMap.storeCurrentLayerStyles: src/core/layout/qgslayoutitemmap.h#L559
|
||||||
QgsLayoutItemMap.themeChanged: src/core/layout/qgslayoutitemmap.h#L974
|
QgsLayoutItemMap.themeChanged: src/core/layout/qgslayoutitemmap.h#L975
|
||||||
QgsLayoutItemMap.transformedMapPolygon: src/core/layout/qgslayoutitemmap.h#L931
|
QgsLayoutItemMap.transformedMapPolygon: src/core/layout/qgslayoutitemmap.h#L932
|
||||||
QgsLayoutItemMap.type: src/core/layout/qgslayoutitemmap.h#L364
|
QgsLayoutItemMap.type: src/core/layout/qgslayoutitemmap.h#L365
|
||||||
QgsLayoutItemMap.updateBoundingRect: src/core/layout/qgslayoutitemmap.h#L997
|
QgsLayoutItemMap.updateBoundingRect: src/core/layout/qgslayoutitemmap.h#L998
|
||||||
QgsLayoutItemMap.visibleExtentPolygon: src/core/layout/qgslayoutitemmap.h#L461
|
QgsLayoutItemMap.visibleExtentPolygon: src/core/layout/qgslayoutitemmap.h#L462
|
||||||
QgsLayoutItemMap.writePropertiesToElement: src/core/layout/qgslayoutitemmap.h#L920
|
QgsLayoutItemMap.writePropertiesToElement: src/core/layout/qgslayoutitemmap.h#L921
|
||||||
QgsLayoutItemMap.zRange: src/core/layout/qgslayoutitemmap.h#L900
|
QgsLayoutItemMap.zRange: src/core/layout/qgslayoutitemmap.h#L901
|
||||||
QgsLayoutItemMap.zRangeEnabled: src/core/layout/qgslayoutitemmap.h#L888
|
QgsLayoutItemMap.zRangeEnabled: src/core/layout/qgslayoutitemmap.h#L889
|
||||||
QgsLayoutItemMap.zoomContent: src/core/layout/qgslayoutitemmap.h#L597
|
QgsLayoutItemMap.zoomContent: src/core/layout/qgslayoutitemmap.h#L598
|
||||||
QgsLayoutItemMap.zoomToExtent: src/core/layout/qgslayoutitemmap.h#L444
|
QgsLayoutItemMap.zoomToExtent: src/core/layout/qgslayoutitemmap.h#L445
|
||||||
QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L317
|
QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L318
|
||||||
QgsLayoutItemMapAtlasClippingSettings.changed: src/core/layout/qgslayoutitemmap.h#L148
|
QgsLayoutItemMapAtlasClippingSettings.changed: src/core/layout/qgslayoutitemmap.h#L149
|
||||||
QgsLayoutItemMapAtlasClippingSettings.enabled: src/core/layout/qgslayoutitemmap.h#L56
|
QgsLayoutItemMapAtlasClippingSettings.enabled: src/core/layout/qgslayoutitemmap.h#L57
|
||||||
QgsLayoutItemMapAtlasClippingSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L70
|
QgsLayoutItemMapAtlasClippingSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L71
|
||||||
QgsLayoutItemMapAtlasClippingSettings.forceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L84
|
QgsLayoutItemMapAtlasClippingSettings.forceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L85
|
||||||
QgsLayoutItemMapAtlasClippingSettings.readXml: src/core/layout/qgslayoutitemmap.h#L141
|
QgsLayoutItemMapAtlasClippingSettings.readXml: src/core/layout/qgslayoutitemmap.h#L142
|
||||||
QgsLayoutItemMapAtlasClippingSettings.restrictToLayers: src/core/layout/qgslayoutitemmap.h#L99
|
QgsLayoutItemMapAtlasClippingSettings.restrictToLayers: src/core/layout/qgslayoutitemmap.h#L100
|
||||||
QgsLayoutItemMapAtlasClippingSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L63
|
QgsLayoutItemMapAtlasClippingSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L64
|
||||||
QgsLayoutItemMapAtlasClippingSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L77
|
QgsLayoutItemMapAtlasClippingSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L78
|
||||||
QgsLayoutItemMapAtlasClippingSettings.setForceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L91
|
QgsLayoutItemMapAtlasClippingSettings.setForceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L92
|
||||||
QgsLayoutItemMapAtlasClippingSettings.setLayersToClip: src/core/layout/qgslayoutitemmap.h#L127
|
QgsLayoutItemMapAtlasClippingSettings.setLayersToClip: src/core/layout/qgslayoutitemmap.h#L128
|
||||||
QgsLayoutItemMapAtlasClippingSettings.setRestrictToLayers: src/core/layout/qgslayoutitemmap.h#L107
|
QgsLayoutItemMapAtlasClippingSettings.setRestrictToLayers: src/core/layout/qgslayoutitemmap.h#L108
|
||||||
QgsLayoutItemMapAtlasClippingSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L134
|
QgsLayoutItemMapAtlasClippingSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L135
|
||||||
QgsLayoutItemMapAtlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L40
|
QgsLayoutItemMapAtlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L41
|
||||||
QgsLayoutItemMapGrid.accept: src/core/layout/qgslayoutitemmapgrid.h#L1005
|
QgsLayoutItemMapGrid.accept: src/core/layout/qgslayoutitemmapgrid.h#L1005
|
||||||
QgsLayoutItemMapGrid.annotationDirection: src/core/layout/qgslayoutitemmapgrid.h#L701
|
QgsLayoutItemMapGrid.annotationDirection: src/core/layout/qgslayoutitemmapgrid.h#L701
|
||||||
QgsLayoutItemMapGrid.annotationDisplay: src/core/layout/qgslayoutitemmapgrid.h#L656
|
QgsLayoutItemMapGrid.annotationDisplay: src/core/layout/qgslayoutitemmapgrid.h#L656
|
||||||
@ -7553,23 +7569,23 @@ QgsLayoutItemMapItem.stackingPosition: src/core/layout/qgslayoutitemmapitem.h#L1
|
|||||||
QgsLayoutItemMapItem.usesAdvancedEffects: src/core/layout/qgslayoutitemmapitem.h#L128
|
QgsLayoutItemMapItem.usesAdvancedEffects: src/core/layout/qgslayoutitemmapitem.h#L128
|
||||||
QgsLayoutItemMapItem.writeXml: src/core/layout/qgslayoutitemmapitem.h#L65
|
QgsLayoutItemMapItem.writeXml: src/core/layout/qgslayoutitemmapitem.h#L65
|
||||||
QgsLayoutItemMapItem: src/core/layout/qgslayoutitemmapitem.h#L32
|
QgsLayoutItemMapItem: src/core/layout/qgslayoutitemmapitem.h#L32
|
||||||
QgsLayoutItemMapItemClipPathSettings.changed: src/core/layout/qgslayoutitemmap.h#L297
|
QgsLayoutItemMapItemClipPathSettings.changed: src/core/layout/qgslayoutitemmap.h#L298
|
||||||
QgsLayoutItemMapItemClipPathSettings.clipPathInMapItemCoordinates: src/core/layout/qgslayoutitemmap.h#L219
|
QgsLayoutItemMapItemClipPathSettings.clipPathInMapItemCoordinates: src/core/layout/qgslayoutitemmap.h#L220
|
||||||
QgsLayoutItemMapItemClipPathSettings.clippedMapExtent: src/core/layout/qgslayoutitemmap.h#L208
|
QgsLayoutItemMapItemClipPathSettings.clippedMapExtent: src/core/layout/qgslayoutitemmap.h#L209
|
||||||
QgsLayoutItemMapItemClipPathSettings.enabled: src/core/layout/qgslayoutitemmap.h#L194
|
QgsLayoutItemMapItemClipPathSettings.enabled: src/core/layout/qgslayoutitemmap.h#L195
|
||||||
QgsLayoutItemMapItemClipPathSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L248
|
QgsLayoutItemMapItemClipPathSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L249
|
||||||
QgsLayoutItemMapItemClipPathSettings.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L290
|
QgsLayoutItemMapItemClipPathSettings.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L291
|
||||||
QgsLayoutItemMapItemClipPathSettings.forceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L262
|
QgsLayoutItemMapItemClipPathSettings.forceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L263
|
||||||
QgsLayoutItemMapItemClipPathSettings.isActive: src/core/layout/qgslayoutitemmap.h#L187
|
QgsLayoutItemMapItemClipPathSettings.isActive: src/core/layout/qgslayoutitemmap.h#L188
|
||||||
QgsLayoutItemMapItemClipPathSettings.readXml: src/core/layout/qgslayoutitemmap.h#L284
|
QgsLayoutItemMapItemClipPathSettings.readXml: src/core/layout/qgslayoutitemmap.h#L285
|
||||||
QgsLayoutItemMapItemClipPathSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L201
|
QgsLayoutItemMapItemClipPathSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L202
|
||||||
QgsLayoutItemMapItemClipPathSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L255
|
QgsLayoutItemMapItemClipPathSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L256
|
||||||
QgsLayoutItemMapItemClipPathSettings.setForceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L269
|
QgsLayoutItemMapItemClipPathSettings.setForceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L270
|
||||||
QgsLayoutItemMapItemClipPathSettings.setSourceItem: src/core/layout/qgslayoutitemmap.h#L233
|
QgsLayoutItemMapItemClipPathSettings.setSourceItem: src/core/layout/qgslayoutitemmap.h#L234
|
||||||
QgsLayoutItemMapItemClipPathSettings.sourceItem: src/core/layout/qgslayoutitemmap.h#L241
|
QgsLayoutItemMapItemClipPathSettings.sourceItem: src/core/layout/qgslayoutitemmap.h#L242
|
||||||
QgsLayoutItemMapItemClipPathSettings.toMapClippingRegion: src/core/layout/qgslayoutitemmap.h#L224
|
QgsLayoutItemMapItemClipPathSettings.toMapClippingRegion: src/core/layout/qgslayoutitemmap.h#L225
|
||||||
QgsLayoutItemMapItemClipPathSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L276
|
QgsLayoutItemMapItemClipPathSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L277
|
||||||
QgsLayoutItemMapItemClipPathSettings: src/core/layout/qgslayoutitemmap.h#L170
|
QgsLayoutItemMapItemClipPathSettings: src/core/layout/qgslayoutitemmap.h#L171
|
||||||
QgsLayoutItemMapItemStack.addItem: src/core/layout/qgslayoutitemmapitem.h#L306
|
QgsLayoutItemMapItemStack.addItem: src/core/layout/qgslayoutitemmapitem.h#L306
|
||||||
QgsLayoutItemMapItemStack.containsAdvancedEffects: src/core/layout/qgslayoutitemmapitem.h#L282
|
QgsLayoutItemMapItemStack.containsAdvancedEffects: src/core/layout/qgslayoutitemmapitem.h#L282
|
||||||
QgsLayoutItemMapItemStack.drawItems: src/core/layout/qgslayoutitemmapitem.h#L276
|
QgsLayoutItemMapItemStack.drawItems: src/core/layout/qgslayoutitemmapitem.h#L276
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
%Include auto_generated/qgsexpressioncontextscopegenerator.sip
|
%Include auto_generated/qgsexpressioncontextscopegenerator.sip
|
||||||
%Include auto_generated/qgsexpressionfieldbuffer.sip
|
%Include auto_generated/qgsexpressionfieldbuffer.sip
|
||||||
%Include auto_generated/qgsfeature.sip
|
%Include auto_generated/qgsfeature.sip
|
||||||
|
%Include auto_generated/qgsfeatureexpressionfilterprovider.sip
|
||||||
%Include auto_generated/qgsfeaturepickermodel.sip
|
%Include auto_generated/qgsfeaturepickermodel.sip
|
||||||
%Include auto_generated/qgsfeaturepickermodelbase.sip
|
%Include auto_generated/qgsfeaturepickermodelbase.sip
|
||||||
%Include auto_generated/qgsfeaturefiltermodel.sip
|
%Include auto_generated/qgsfeaturefiltermodel.sip
|
||||||
@ -77,6 +78,7 @@
|
|||||||
%Include auto_generated/qgsgeometryvalidator.sip
|
%Include auto_generated/qgsgeometryvalidator.sip
|
||||||
%Include auto_generated/qgsgml.sip
|
%Include auto_generated/qgsgml.sip
|
||||||
%Include auto_generated/qgsgmlschema.sip
|
%Include auto_generated/qgsgmlschema.sip
|
||||||
|
%Include auto_generated/qgsgroupedfeaturefilterprovider.sip
|
||||||
%Include auto_generated/qgsgrouplayer.sip
|
%Include auto_generated/qgsgrouplayer.sip
|
||||||
%Include auto_generated/qgshistogram.sip
|
%Include auto_generated/qgshistogram.sip
|
||||||
%Include auto_generated/qgshstoreutils.sip
|
%Include auto_generated/qgshstoreutils.sip
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# The following has been generated automatically from src/server/qgsaccesscontrol.h
|
# The following has been generated automatically from src/server/qgsaccesscontrol.h
|
||||||
try:
|
try:
|
||||||
QgsAccessControl.__overridden_methods__ = ['filterFeatures', 'clone', 'layerAttributes']
|
QgsAccessControl.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
|
||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# The following has been generated automatically from src/server/qgsfeaturefilter.h
|
# The following has been generated automatically from src/server/qgsfeaturefilter.h
|
||||||
try:
|
try:
|
||||||
QgsFeatureFilter.__overridden_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
|
QgsFeatureFilter.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
|
||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# The following has been generated automatically from src/server/qgsfeaturefilterprovidergroup.h
|
# The following has been generated automatically from src/server/qgsfeaturefilterprovidergroup.h
|
||||||
try:
|
try:
|
||||||
QgsFeatureFilterProviderGroup.__overridden_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
|
QgsFeatureFilterProviderGroup.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
|
||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
|
@ -35,6 +35,15 @@ Constructor
|
|||||||
~QgsAccessControl();
|
~QgsAccessControl();
|
||||||
|
|
||||||
|
|
||||||
|
virtual bool isFilterThreadSafe() const;
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
||||||
|
|
||||||
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||||
|
|
||||||
|
virtual QgsAccessControl *clone() const /Factory/;
|
||||||
|
|
||||||
|
|
||||||
void resolveFilterFeatures( const QList<QgsMapLayer *> &layers );
|
void resolveFilterFeatures( const QList<QgsMapLayer *> &layers );
|
||||||
%Docstring
|
%Docstring
|
||||||
Resolve features' filter of layers The method fetch filter's expressions
|
Resolve features' filter of layers The method fetch filter's expressions
|
||||||
@ -49,23 +58,6 @@ for efficiency; between each requests, the cache must be cleared using
|
|||||||
void unresolveFilterFeatures();
|
void unresolveFilterFeatures();
|
||||||
%Docstring
|
%Docstring
|
||||||
Clear expression's cache computed from `resolveFilterFeatures`
|
Clear expression's cache computed from `resolveFilterFeatures`
|
||||||
%End
|
|
||||||
|
|
||||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
|
||||||
|
|
||||||
%Docstring
|
|
||||||
Filter the features of the layer
|
|
||||||
|
|
||||||
:param layer: the layer to control
|
|
||||||
:param filterFeatures: the request to fill
|
|
||||||
%End
|
|
||||||
|
|
||||||
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
|
||||||
|
|
||||||
%Docstring
|
|
||||||
Returns a clone of the object
|
|
||||||
|
|
||||||
:return: A clone
|
|
||||||
%End
|
%End
|
||||||
|
|
||||||
QString extraSubsetString( const QgsVectorLayer *layer ) const;
|
QString extraSubsetString( const QgsVectorLayer *layer ) const;
|
||||||
@ -111,17 +103,6 @@ Returns the layer delete right
|
|||||||
:param layer: the layer to control
|
:param layer: the layer to control
|
||||||
|
|
||||||
:return: ``True`` if we can do a delete
|
:return: ``True`` if we can do a delete
|
||||||
%End
|
|
||||||
|
|
||||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
|
||||||
|
|
||||||
%Docstring
|
|
||||||
Returns the authorized layer attributes
|
|
||||||
|
|
||||||
:param layer: the layer to control
|
|
||||||
:param attributes: the list of attribute
|
|
||||||
|
|
||||||
:return: the list of visible attributes
|
|
||||||
%End
|
%End
|
||||||
|
|
||||||
bool allowToEdit( const QgsVectorLayer *layer, const QgsFeature &feature ) const;
|
bool allowToEdit( const QgsVectorLayer *layer, const QgsFeature &feature ) const;
|
||||||
|
@ -16,6 +16,10 @@ class QgsFeatureFilter : QgsFeatureFilterProvider
|
|||||||
%Docstring(signature="appended")
|
%Docstring(signature="appended")
|
||||||
A feature filter provider allowing to set filter expressions on a
|
A feature filter provider allowing to set filter expressions on a
|
||||||
per-layer basis.
|
per-layer basis.
|
||||||
|
|
||||||
|
.. deprecated:: 3.4
|
||||||
|
|
||||||
|
Use :py:class:`QgsFeatureExpressionFilterProvider`
|
||||||
%End
|
%End
|
||||||
|
|
||||||
%TypeHeaderCode
|
%TypeHeaderCode
|
||||||
@ -27,25 +31,14 @@ per-layer basis.
|
|||||||
Constructor
|
Constructor
|
||||||
%End
|
%End
|
||||||
|
|
||||||
|
virtual bool isFilterThreadSafe() const;
|
||||||
|
|
||||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
||||||
|
|
||||||
%Docstring
|
|
||||||
Filter the features of the layer
|
|
||||||
|
|
||||||
:param layer: the layer to control
|
|
||||||
:param filterFeatures: the request to fill
|
|
||||||
%End
|
|
||||||
|
|
||||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||||
|
|
||||||
|
|
||||||
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
||||||
|
|
||||||
%Docstring
|
|
||||||
Returns a clone of the object
|
|
||||||
|
|
||||||
:return: A clone
|
|
||||||
%End
|
|
||||||
|
|
||||||
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression );
|
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression );
|
||||||
%Docstring
|
%Docstring
|
||||||
|
@ -14,6 +14,10 @@ class QgsFeatureFilterProviderGroup : QgsFeatureFilterProvider
|
|||||||
{
|
{
|
||||||
%Docstring(signature="appended")
|
%Docstring(signature="appended")
|
||||||
A filter filter provider grouping several filter providers.
|
A filter filter provider grouping several filter providers.
|
||||||
|
|
||||||
|
.. deprecated:: 3.4
|
||||||
|
|
||||||
|
Use :py:class:`QgsGroupedFeatureFilterProvider`
|
||||||
%End
|
%End
|
||||||
|
|
||||||
%TypeHeaderCode
|
%TypeHeaderCode
|
||||||
@ -25,25 +29,14 @@ A filter filter provider grouping several filter providers.
|
|||||||
Constructor
|
Constructor
|
||||||
%End
|
%End
|
||||||
|
|
||||||
|
virtual bool isFilterThreadSafe() const;
|
||||||
|
|
||||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
||||||
|
|
||||||
%Docstring
|
|
||||||
Filter the features of the layer.
|
|
||||||
|
|
||||||
:param layer: the layer to control
|
|
||||||
:param filterFeatures: the request to fill
|
|
||||||
%End
|
|
||||||
|
|
||||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||||
|
|
||||||
|
virtual QgsFeatureFilterProviderGroup *clone() const /Factory/;
|
||||||
|
|
||||||
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
|
||||||
|
|
||||||
%Docstring
|
|
||||||
Returns a clone of the object
|
|
||||||
|
|
||||||
:return: A clone
|
|
||||||
%End
|
|
||||||
|
|
||||||
QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
|
QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
|
||||||
%Docstring
|
%Docstring
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
QgsAccessControl.allowToEdit: src/server/qgsaccesscontrol.h#L152
|
QgsAccessControl.allowToEdit: src/server/qgsaccesscontrol.h#L137
|
||||||
QgsAccessControl.clone: src/server/qgsaccesscontrol.h#L101
|
QgsAccessControl.clone: src/server/qgsaccesscontrol.h#L78
|
||||||
QgsAccessControl.extraSubsetString: src/server/qgsaccesscontrol.h#L108
|
QgsAccessControl.extraSubsetString: src/server/qgsaccesscontrol.h#L101
|
||||||
QgsAccessControl.fillCacheKey: src/server/qgsaccesscontrol.h#L158
|
QgsAccessControl.fillCacheKey: src/server/qgsaccesscontrol.h#L143
|
||||||
QgsAccessControl.filterFeatures: src/server/qgsaccesscontrol.h#L95
|
QgsAccessControl.filterFeatures: src/server/qgsaccesscontrol.h#L76
|
||||||
QgsAccessControl.layerAttributes: src/server/qgsaccesscontrol.h#L144
|
QgsAccessControl.isFilterThreadSafe: src/server/qgsaccesscontrol.h#L74
|
||||||
QgsAccessControl.layerDeletePermission: src/server/qgsaccesscontrol.h#L136
|
QgsAccessControl.layerAttributes: src/server/qgsaccesscontrol.h#L77
|
||||||
QgsAccessControl.layerInsertPermission: src/server/qgsaccesscontrol.h#L122
|
QgsAccessControl.layerDeletePermission: src/server/qgsaccesscontrol.h#L129
|
||||||
QgsAccessControl.layerReadPermission: src/server/qgsaccesscontrol.h#L115
|
QgsAccessControl.layerInsertPermission: src/server/qgsaccesscontrol.h#L115
|
||||||
QgsAccessControl.layerUpdatePermission: src/server/qgsaccesscontrol.h#L129
|
QgsAccessControl.layerReadPermission: src/server/qgsaccesscontrol.h#L108
|
||||||
QgsAccessControl.registerAccessControl: src/server/qgsaccesscontrol.h#L165
|
QgsAccessControl.layerUpdatePermission: src/server/qgsaccesscontrol.h#L122
|
||||||
QgsAccessControl.resolveFilterFeatures: src/server/qgsaccesscontrol.h#L83
|
QgsAccessControl.registerAccessControl: src/server/qgsaccesscontrol.h#L150
|
||||||
QgsAccessControl.unresolveFilterFeatures: src/server/qgsaccesscontrol.h#L88
|
QgsAccessControl.resolveFilterFeatures: src/server/qgsaccesscontrol.h#L89
|
||||||
|
QgsAccessControl.unresolveFilterFeatures: src/server/qgsaccesscontrol.h#L94
|
||||||
QgsAccessControl: src/server/qgsaccesscontrol.h#L35
|
QgsAccessControl: src/server/qgsaccesscontrol.h#L35
|
||||||
QgsAccessControlFilter.allowToEdit: src/server/qgsaccesscontrolfilter.h#L109
|
QgsAccessControlFilter.allowToEdit: src/server/qgsaccesscontrolfilter.h#L109
|
||||||
QgsAccessControlFilter.authorizedLayerAttributes: src/server/qgsaccesscontrolfilter.h#L101
|
QgsAccessControlFilter.authorizedLayerAttributes: src/server/qgsaccesscontrolfilter.h#L101
|
||||||
@ -54,15 +55,17 @@ QgsFcgiServerRequest.data: src/server/qgsfcgiserverrequest.h#L36
|
|||||||
QgsFcgiServerRequest.hasError: src/server/qgsfcgiserverrequest.h#L41
|
QgsFcgiServerRequest.hasError: src/server/qgsfcgiserverrequest.h#L41
|
||||||
QgsFcgiServerRequest.header: src/server/qgsfcgiserverrequest.h#L49
|
QgsFcgiServerRequest.header: src/server/qgsfcgiserverrequest.h#L49
|
||||||
QgsFcgiServerRequest: src/server/qgsfcgiserverrequest.h#L31
|
QgsFcgiServerRequest: src/server/qgsfcgiserverrequest.h#L31
|
||||||
QgsFeatureFilter.clone: src/server/qgsfeaturefilter.h#L52
|
QgsFeatureFilter.clone: src/server/qgsfeaturefilter.h#L44
|
||||||
QgsFeatureFilter.filterFeatures: src/server/qgsfeaturefilter.h#L44
|
QgsFeatureFilter.filterFeatures: src/server/qgsfeaturefilter.h#L42
|
||||||
QgsFeatureFilter.layerAttributes: src/server/qgsfeaturefilter.h#L46
|
QgsFeatureFilter.isFilterThreadSafe: src/server/qgsfeaturefilter.h#L40
|
||||||
QgsFeatureFilter.setFilter: src/server/qgsfeaturefilter.h#L59
|
QgsFeatureFilter.layerAttributes: src/server/qgsfeaturefilter.h#L43
|
||||||
QgsFeatureFilter: src/server/qgsfeaturefilter.h#L33
|
QgsFeatureFilter.setFilter: src/server/qgsfeaturefilter.h#L51
|
||||||
QgsFeatureFilterProviderGroup.clone: src/server/qgsfeaturefilterprovidergroup.h#L50
|
QgsFeatureFilter: src/server/qgsfeaturefilter.h#L34
|
||||||
QgsFeatureFilterProviderGroup.filterFeatures: src/server/qgsfeaturefilterprovidergroup.h#L42
|
QgsFeatureFilterProviderGroup.clone: src/server/qgsfeaturefilterprovidergroup.h#L42
|
||||||
QgsFeatureFilterProviderGroup.layerAttributes: src/server/qgsfeaturefilterprovidergroup.h#L44
|
QgsFeatureFilterProviderGroup.filterFeatures: src/server/qgsfeaturefilterprovidergroup.h#L40
|
||||||
QgsFeatureFilterProviderGroup: src/server/qgsfeaturefilterprovidergroup.h#L31
|
QgsFeatureFilterProviderGroup.isFilterThreadSafe: src/server/qgsfeaturefilterprovidergroup.h#L38
|
||||||
|
QgsFeatureFilterProviderGroup.layerAttributes: src/server/qgsfeaturefilterprovidergroup.h#L41
|
||||||
|
QgsFeatureFilterProviderGroup: src/server/qgsfeaturefilterprovidergroup.h#L32
|
||||||
QgsOgcServiceException.code: src/server/qgsserverexception.h#L94
|
QgsOgcServiceException.code: src/server/qgsserverexception.h#L94
|
||||||
QgsOgcServiceException.formatResponse: src/server/qgsserverexception.h#L102
|
QgsOgcServiceException.formatResponse: src/server/qgsserverexception.h#L102
|
||||||
QgsOgcServiceException.locator: src/server/qgsserverexception.h#L97
|
QgsOgcServiceException.locator: src/server/qgsserverexception.h#L97
|
||||||
|
@ -10055,6 +10055,9 @@ QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUs
|
|||||||
QgsLayoutRenderContext.Flag.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUseGlobalMasks
|
QgsLayoutRenderContext.Flag.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUseGlobalMasks
|
||||||
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.is_monkey_patched = True
|
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.is_monkey_patched = True
|
||||||
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.__doc__ = "When applying clipping paths for selective masking, always use global (\"entire map\") paths, instead of calculating local clipping paths per rendered feature. This results in considerably more complex layout exports in all current Qt versions. This flag only applies to vector layout exports. \n.. versionadded:: 3.38"
|
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.__doc__ = "When applying clipping paths for selective masking, always use global (\"entire map\") paths, instead of calculating local clipping paths per rendered feature. This results in considerably more complex layout exports in all current Qt versions. This flag only applies to vector layout exports. \n.. versionadded:: 3.38"
|
||||||
|
QgsLayoutRenderContext.LimitCoverageLayerRenderToCurrentFeature = Qgis.LayoutRenderFlag.LimitCoverageLayerRenderToCurrentFeature
|
||||||
|
QgsLayoutRenderContext.LimitCoverageLayerRenderToCurrentFeature.is_monkey_patched = True
|
||||||
|
QgsLayoutRenderContext.LimitCoverageLayerRenderToCurrentFeature.__doc__ = "Limit coverage layer rendering to the current atlas feature. \n.. versionadded:: 4.0"
|
||||||
Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendered.
|
Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendered.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
@ -10120,6 +10123,10 @@ Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendere
|
|||||||
|
|
||||||
Available as ``QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks`` in older QGIS releases.
|
Available as ``QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks`` in older QGIS releases.
|
||||||
|
|
||||||
|
* ``LimitCoverageLayerRenderToCurrentFeature``: Limit coverage layer rendering to the current atlas feature.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
# --
|
# --
|
||||||
@ -11404,6 +11411,10 @@ Qgis.MouseHandlesAction.ResizeLeftUp.__doc__ = "Resize left up (Top left handle)
|
|||||||
Qgis.MouseHandlesAction.ResizeRightUp.__doc__ = "Resize right up (Top right handle)"
|
Qgis.MouseHandlesAction.ResizeRightUp.__doc__ = "Resize right up (Top right handle)"
|
||||||
Qgis.MouseHandlesAction.ResizeLeftDown.__doc__ = "Resize left down (Bottom left handle)"
|
Qgis.MouseHandlesAction.ResizeLeftDown.__doc__ = "Resize left down (Bottom left handle)"
|
||||||
Qgis.MouseHandlesAction.ResizeRightDown.__doc__ = "Resize right down (Bottom right handle)"
|
Qgis.MouseHandlesAction.ResizeRightDown.__doc__ = "Resize right down (Bottom right handle)"
|
||||||
|
Qgis.MouseHandlesAction.RotateTopLeft.__doc__ = "Rotate from top left handle. \n.. versionadded:: 4.0"
|
||||||
|
Qgis.MouseHandlesAction.RotateTopRight.__doc__ = "Rotate from top right handle. \n.. versionadded:: 4.0"
|
||||||
|
Qgis.MouseHandlesAction.RotateBottomLeft.__doc__ = "Rotate from bottom left handle. \n.. versionadded:: 4.0"
|
||||||
|
Qgis.MouseHandlesAction.RotateBottomRight.__doc__ = "Rotate right bottom right handle. \n.. versionadded:: 4.0"
|
||||||
Qgis.MouseHandlesAction.SelectItem.__doc__ = "Select item"
|
Qgis.MouseHandlesAction.SelectItem.__doc__ = "Select item"
|
||||||
Qgis.MouseHandlesAction.NoAction.__doc__ = "No action"
|
Qgis.MouseHandlesAction.NoAction.__doc__ = "No action"
|
||||||
Qgis.MouseHandlesAction.__doc__ = """Action to be performed by the mouse handles
|
Qgis.MouseHandlesAction.__doc__ = """Action to be performed by the mouse handles
|
||||||
@ -11419,6 +11430,22 @@ Qgis.MouseHandlesAction.__doc__ = """Action to be performed by the mouse handles
|
|||||||
* ``ResizeRightUp``: Resize right up (Top right handle)
|
* ``ResizeRightUp``: Resize right up (Top right handle)
|
||||||
* ``ResizeLeftDown``: Resize left down (Bottom left handle)
|
* ``ResizeLeftDown``: Resize left down (Bottom left handle)
|
||||||
* ``ResizeRightDown``: Resize right down (Bottom right handle)
|
* ``ResizeRightDown``: Resize right down (Bottom right handle)
|
||||||
|
* ``RotateTopLeft``: Rotate from top left handle.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
|
||||||
|
* ``RotateTopRight``: Rotate from top right handle.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
|
||||||
|
* ``RotateBottomLeft``: Rotate from bottom left handle.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
|
||||||
|
* ``RotateBottomRight``: Rotate right bottom right handle.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
|
||||||
* ``SelectItem``: Select item
|
* ``SelectItem``: Select item
|
||||||
* ``NoAction``: No action
|
* ``NoAction``: No action
|
||||||
|
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
# The following has been generated automatically from src/core/qgsfeatureexpressionfilterprovider.h
|
||||||
|
try:
|
||||||
|
QgsFeatureExpressionFilterProvider.__overridden_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
|
||||||
|
except (NameError, AttributeError):
|
||||||
|
pass
|
@ -1,5 +1,6 @@
|
|||||||
# The following has been generated automatically from src/core/qgsfeaturefilterprovider.h
|
# The following has been generated automatically from src/core/qgsfeaturefilterprovider.h
|
||||||
try:
|
try:
|
||||||
QgsFeatureFilterProvider.__abstract_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
|
QgsFeatureFilterProvider.__virtual_methods__ = ['isFilterThreadSafe', 'filterFeatures']
|
||||||
|
QgsFeatureFilterProvider.__abstract_methods__ = ['layerAttributes', 'clone']
|
||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
# The following has been generated automatically from src/core/qgsgroupedfeaturefilterprovider.h
|
||||||
|
try:
|
||||||
|
QgsGroupedFeatureFilterProvider.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
|
||||||
|
except (NameError, AttributeError):
|
||||||
|
pass
|
@ -73,6 +73,26 @@ Sets whether the coverage layer should be hidden in map items in the
|
|||||||
layouts.
|
layouts.
|
||||||
|
|
||||||
.. seealso:: :py:func:`hideCoverage`
|
.. seealso:: :py:func:`hideCoverage`
|
||||||
|
%End
|
||||||
|
|
||||||
|
bool limitCoverageLayerRenderToCurrentFeature() const;
|
||||||
|
%Docstring
|
||||||
|
Returns ``True`` if the atlas is set to limit rendering on the coverage
|
||||||
|
layer to the current feature.
|
||||||
|
|
||||||
|
.. seealso:: :py:func:`setHideCoverage`
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
%End
|
||||||
|
|
||||||
|
void setLimitCoverageLayerRenderToCurrentFeature( bool limit );
|
||||||
|
%Docstring
|
||||||
|
Sets whether the rendering of the coverage layer should be limited to
|
||||||
|
the current feature.
|
||||||
|
|
||||||
|
.. seealso:: :py:func:`hideCoverage`
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
%End
|
%End
|
||||||
|
|
||||||
QString filenameExpression() const;
|
QString filenameExpression() const;
|
||||||
|
@ -2912,6 +2912,7 @@ The development version
|
|||||||
LosslessImageRendering,
|
LosslessImageRendering,
|
||||||
SynchronousLegendGraphics,
|
SynchronousLegendGraphics,
|
||||||
AlwaysUseGlobalMasks,
|
AlwaysUseGlobalMasks,
|
||||||
|
LimitCoverageLayerRenderToCurrentFeature,
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef QFlags<Qgis::LayoutRenderFlag> LayoutRenderFlags;
|
typedef QFlags<Qgis::LayoutRenderFlag> LayoutRenderFlags;
|
||||||
@ -3346,6 +3347,10 @@ The development version
|
|||||||
ResizeRightUp,
|
ResizeRightUp,
|
||||||
ResizeLeftDown,
|
ResizeLeftDown,
|
||||||
ResizeRightDown,
|
ResizeRightDown,
|
||||||
|
RotateTopLeft,
|
||||||
|
RotateTopRight,
|
||||||
|
RotateBottomLeft,
|
||||||
|
RotateBottomRight,
|
||||||
SelectItem,
|
SelectItem,
|
||||||
NoAction
|
NoAction
|
||||||
};
|
};
|
||||||
|
@ -0,0 +1,57 @@
|
|||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsfeatureexpressionfilterprovider.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class QgsFeatureExpressionFilterProvider : QgsFeatureFilterProvider
|
||||||
|
{
|
||||||
|
%Docstring(signature="appended")
|
||||||
|
A feature filter provider allowing to set filter expressions on a
|
||||||
|
per-layer basis.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
%End
|
||||||
|
|
||||||
|
%TypeHeaderCode
|
||||||
|
#include "qgsfeatureexpressionfilterprovider.h"
|
||||||
|
%End
|
||||||
|
public:
|
||||||
|
QgsFeatureExpressionFilterProvider();
|
||||||
|
%Docstring
|
||||||
|
Constructor
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
|
||||||
|
|
||||||
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||||
|
|
||||||
|
virtual QgsFeatureExpressionFilterProvider *clone() const /Factory/;
|
||||||
|
|
||||||
|
|
||||||
|
void setFilter( const QString &layerId, const QgsExpression &expression );
|
||||||
|
%Docstring
|
||||||
|
Set a filter for the given layer.
|
||||||
|
|
||||||
|
:param layerId: the layer to filter
|
||||||
|
:param expression: the filter expression
|
||||||
|
%End
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsfeatureexpressionfilterprovider.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
93
python/core/auto_generated/qgsfeaturefilter.sip.in
Normal file
93
python/core/auto_generated/qgsfeaturefilter.sip.in
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsfeaturefilter.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class QgsFeatureFilter : QgsFeatureFilterProvider
|
||||||
|
{
|
||||||
|
%Docstring(signature="appended")
|
||||||
|
A feature filter provider allowing to set filter expressions on a
|
||||||
|
per-layer basis.
|
||||||
|
%End
|
||||||
|
|
||||||
|
%TypeHeaderCode
|
||||||
|
#include "qgsfeaturefilter.h"
|
||||||
|
%End
|
||||||
|
public:
|
||||||
|
QgsFeatureFilter();
|
||||||
|
%Docstring
|
||||||
|
Constructor
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||||
|
|
||||||
|
%Docstring
|
||||||
|
Filter the features of the layer
|
||||||
|
|
||||||
|
:param layer: the layer to control
|
||||||
|
:param filterFeatures: the request to fill
|
||||||
|
|
||||||
|
.. deprecated:: 4.0
|
||||||
|
|
||||||
|
Use the layer ID variant.
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
|
||||||
|
|
||||||
|
%Docstring
|
||||||
|
Filter the features of the layer
|
||||||
|
|
||||||
|
:param layerId: the layer ID to control
|
||||||
|
:param filterFeatures: the request to fill
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||||
|
|
||||||
|
|
||||||
|
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
||||||
|
|
||||||
|
%Docstring
|
||||||
|
Returns a clone of the object
|
||||||
|
|
||||||
|
:return: A clone
|
||||||
|
%End
|
||||||
|
|
||||||
|
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression ) /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||||
|
%Docstring
|
||||||
|
Set a filter for the given layer.
|
||||||
|
|
||||||
|
:param layer: the layer to filter
|
||||||
|
:param expression: the filter expression
|
||||||
|
|
||||||
|
.. deprecated:: 4.0
|
||||||
|
|
||||||
|
Use the layer ID variant.
|
||||||
|
%End
|
||||||
|
|
||||||
|
void setFilter( const QString &layerId, const QgsExpression &expression );
|
||||||
|
%Docstring
|
||||||
|
Set a filter for the given layer.
|
||||||
|
|
||||||
|
:param layerId: the layer to filter
|
||||||
|
:param expression: the filter expression
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
%End
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsfeaturefilter.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
@ -30,7 +30,17 @@ also available.
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest ) const = 0;
|
virtual bool isFilterThreadSafe() const /Deprecated="Since 4.0. "/;
|
||||||
|
%Docstring
|
||||||
|
Returns ``True`` if the filterFeature function is thread safe, which
|
||||||
|
will lead to reliance on layer ID instead of the raw layer pointer.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
|
||||||
|
.. deprecated:: 4.0
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||||
%Docstring
|
%Docstring
|
||||||
Add additional filters to the feature request to further restrict the
|
Add additional filters to the feature request to further restrict the
|
||||||
features returned by the request. Derived classes must implement this
|
features returned by the request. Derived classes must implement this
|
||||||
@ -38,6 +48,22 @@ method.
|
|||||||
|
|
||||||
:param layer: the layer to filter
|
:param layer: the layer to filter
|
||||||
:param featureRequest: the feature request to update
|
:param featureRequest: the feature request to update
|
||||||
|
|
||||||
|
.. deprecated:: 4.0
|
||||||
|
|
||||||
|
Use the layer ID variant.
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &featureRequest ) const;
|
||||||
|
%Docstring
|
||||||
|
Add additional filters to the feature request to further restrict the
|
||||||
|
features returned by the request. Derived classes must implement this
|
||||||
|
method.
|
||||||
|
|
||||||
|
:param layerId: the layer ID to filter
|
||||||
|
:param featureRequest: the feature request to update
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
%End
|
%End
|
||||||
|
|
||||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const = 0;
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const = 0;
|
||||||
|
@ -0,0 +1,81 @@
|
|||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsfeaturefilterprovidergroup.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class QgsFeatureFilterProviderGroup : QgsFeatureFilterProvider
|
||||||
|
{
|
||||||
|
%Docstring(signature="appended")
|
||||||
|
A filter filter provider grouping several filter providers.
|
||||||
|
%End
|
||||||
|
|
||||||
|
%TypeHeaderCode
|
||||||
|
#include "qgsfeaturefilterprovidergroup.h"
|
||||||
|
%End
|
||||||
|
public:
|
||||||
|
QgsFeatureFilterProviderGroup();
|
||||||
|
%Docstring
|
||||||
|
Constructor
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||||
|
|
||||||
|
%Docstring
|
||||||
|
Filter the features of the layer.
|
||||||
|
|
||||||
|
:param layer: the layer to control
|
||||||
|
:param filterFeatures: the request to fill
|
||||||
|
|
||||||
|
.. deprecated:: 4.0
|
||||||
|
|
||||||
|
Use the layer ID variant.
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
|
||||||
|
|
||||||
|
%Docstring
|
||||||
|
Filter the features of the layer.
|
||||||
|
|
||||||
|
:param layerId: the layer ID to control
|
||||||
|
:param filterFeatures: the request to fill
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||||
|
|
||||||
|
|
||||||
|
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
||||||
|
|
||||||
|
%Docstring
|
||||||
|
Returns a clone of the object
|
||||||
|
|
||||||
|
:return: A clone
|
||||||
|
%End
|
||||||
|
|
||||||
|
QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
|
||||||
|
%Docstring
|
||||||
|
Add another filter provider to the group
|
||||||
|
|
||||||
|
:param provider: The provider to add
|
||||||
|
|
||||||
|
:return: itself
|
||||||
|
%End
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsfeaturefilterprovidergroup.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
@ -0,0 +1,60 @@
|
|||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsgroupedfeaturefilterprovider.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class QgsGroupedFeatureFilterProvider : QgsFeatureFilterProvider
|
||||||
|
{
|
||||||
|
%Docstring(signature="appended")
|
||||||
|
A filter filter provider grouping several filter providers.
|
||||||
|
|
||||||
|
.. versionadded:: 4.0
|
||||||
|
%End
|
||||||
|
|
||||||
|
%TypeHeaderCode
|
||||||
|
#include "qgsgroupedfeaturefilterprovider.h"
|
||||||
|
%End
|
||||||
|
public:
|
||||||
|
QgsGroupedFeatureFilterProvider();
|
||||||
|
%Docstring
|
||||||
|
Constructor
|
||||||
|
%End
|
||||||
|
|
||||||
|
virtual bool isFilterThreadSafe() const /Deprecated/;
|
||||||
|
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
|
||||||
|
|
||||||
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||||
|
|
||||||
|
virtual QgsGroupedFeatureFilterProvider *clone() const /Factory/;
|
||||||
|
|
||||||
|
|
||||||
|
QgsGroupedFeatureFilterProvider &addProvider( const QgsFeatureFilterProvider *provider );
|
||||||
|
%Docstring
|
||||||
|
Add another filter provider to the group
|
||||||
|
|
||||||
|
:param provider: The provider to add
|
||||||
|
|
||||||
|
:return: itself
|
||||||
|
%End
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* This file has been generated automatically from *
|
||||||
|
* *
|
||||||
|
* src/core/qgsgroupedfeaturefilterprovider.h *
|
||||||
|
* *
|
||||||
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
||||||
|
************************************************************************/
|
@ -1,14 +1,14 @@
|
|||||||
Qgis.defaultProjectScales: src/core/qgis.h#L6067
|
Qgis.defaultProjectScales: src/core/qgis.h#L6072
|
||||||
Qgis.devVersion: src/core/qgis.h#L89
|
Qgis.devVersion: src/core/qgis.h#L89
|
||||||
Qgis.geoNone: src/core/qgis.h#L6112
|
Qgis.geoNone: src/core/qgis.h#L6117
|
||||||
Qgis.geoProj4: src/core/qgis.h#L6142
|
Qgis.geoProj4: src/core/qgis.h#L6147
|
||||||
Qgis.geoWkt: src/core/qgis.h#L6133
|
Qgis.geoWkt: src/core/qgis.h#L6138
|
||||||
Qgis.geographicCrsAuthId: src/core/qgis.h#L6122
|
Qgis.geographicCrsAuthId: src/core/qgis.h#L6127
|
||||||
Qgis.geosVersion: src/core/qgis.h#L6102
|
Qgis.geosVersion: src/core/qgis.h#L6107
|
||||||
Qgis.geosVersionInt: src/core/qgis.h#L6074
|
Qgis.geosVersionInt: src/core/qgis.h#L6079
|
||||||
Qgis.geosVersionMajor: src/core/qgis.h#L6081
|
Qgis.geosVersionMajor: src/core/qgis.h#L6086
|
||||||
Qgis.geosVersionMinor: src/core/qgis.h#L6088
|
Qgis.geosVersionMinor: src/core/qgis.h#L6093
|
||||||
Qgis.geosVersionPatch: src/core/qgis.h#L6095
|
Qgis.geosVersionPatch: src/core/qgis.h#L6100
|
||||||
Qgis.releaseName: src/core/qgis.h#L79
|
Qgis.releaseName: src/core/qgis.h#L79
|
||||||
Qgis.version: src/core/qgis.h#L65
|
Qgis.version: src/core/qgis.h#L65
|
||||||
Qgis.versionInt: src/core/qgis.h#L72
|
Qgis.versionInt: src/core/qgis.h#L72
|
||||||
@ -4268,6 +4268,12 @@ QgsFeature.setGeometry: src/core/qgsfeature.h#L873
|
|||||||
QgsFeature.setId: src/core/qgsfeature.h#L530
|
QgsFeature.setId: src/core/qgsfeature.h#L530
|
||||||
QgsFeature.setValid: src/core/qgsfeature.h#L813
|
QgsFeature.setValid: src/core/qgsfeature.h#L813
|
||||||
QgsFeature: src/core/qgsfeature.h#L57
|
QgsFeature: src/core/qgsfeature.h#L57
|
||||||
|
QgsFeatureExpressionFilterProvider.clone: src/core/qgsfeatureexpressionfilterprovider.h#L43
|
||||||
|
QgsFeatureExpressionFilterProvider.filterFeatures: src/core/qgsfeatureexpressionfilterprovider.h#L40
|
||||||
|
QgsFeatureExpressionFilterProvider.filterFeatures: src/core/qgsfeatureexpressionfilterprovider.h#L41
|
||||||
|
QgsFeatureExpressionFilterProvider.layerAttributes: src/core/qgsfeatureexpressionfilterprovider.h#L42
|
||||||
|
QgsFeatureExpressionFilterProvider.setFilter: src/core/qgsfeatureexpressionfilterprovider.h#L50
|
||||||
|
QgsFeatureExpressionFilterProvider: src/core/qgsfeatureexpressionfilterprovider.h#L34
|
||||||
QgsFeatureFilterModel.QgsFeatureFilterModel: src/core/qgsfeaturefiltermodel.h#L48
|
QgsFeatureFilterModel.QgsFeatureFilterModel: src/core/qgsfeaturefiltermodel.h#L48
|
||||||
QgsFeatureFilterModel.extraIdentifierValues: src/core/qgsfeaturefiltermodel.h#L85
|
QgsFeatureFilterModel.extraIdentifierValues: src/core/qgsfeaturefiltermodel.h#L85
|
||||||
QgsFeatureFilterModel.extraIdentifierValuesChanged: src/core/qgsfeaturefiltermodel.h#L107
|
QgsFeatureFilterModel.extraIdentifierValuesChanged: src/core/qgsfeaturefiltermodel.h#L107
|
||||||
@ -4279,9 +4285,11 @@ QgsFeatureFilterModel.setExtraIdentifierValueToNull: src/core/qgsfeaturefiltermo
|
|||||||
QgsFeatureFilterModel.setExtraIdentifierValues: src/core/qgsfeaturefiltermodel.h#L92
|
QgsFeatureFilterModel.setExtraIdentifierValues: src/core/qgsfeaturefiltermodel.h#L92
|
||||||
QgsFeatureFilterModel.setIdentifierFields: src/core/qgsfeaturefiltermodel.h#L71
|
QgsFeatureFilterModel.setIdentifierFields: src/core/qgsfeaturefiltermodel.h#L71
|
||||||
QgsFeatureFilterModel: src/core/qgsfeaturefiltermodel.h#L27
|
QgsFeatureFilterModel: src/core/qgsfeaturefiltermodel.h#L27
|
||||||
QgsFeatureFilterProvider.clone: src/core/qgsfeaturefilterprovider.h#L71
|
QgsFeatureFilterProvider.clone: src/core/qgsfeaturefilterprovider.h#L97
|
||||||
QgsFeatureFilterProvider.filterFeatures: src/core/qgsfeaturefilterprovider.h#L59
|
QgsFeatureFilterProvider.filterFeatures: src/core/qgsfeaturefilterprovider.h#L72
|
||||||
QgsFeatureFilterProvider.layerAttributes: src/core/qgsfeaturefilterprovider.h#L65
|
QgsFeatureFilterProvider.filterFeatures: src/core/qgsfeaturefilterprovider.h#L85
|
||||||
|
QgsFeatureFilterProvider.isFilterThreadSafe: src/core/qgsfeaturefilterprovider.h#L59
|
||||||
|
QgsFeatureFilterProvider.layerAttributes: src/core/qgsfeaturefilterprovider.h#L91
|
||||||
QgsFeatureFilterProvider: src/core/qgsfeaturefilterprovider.h#L41
|
QgsFeatureFilterProvider: src/core/qgsfeaturefilterprovider.h#L41
|
||||||
QgsFeatureIterator.__iter__: src/core/qgsfeatureiterator.h#L294
|
QgsFeatureIterator.__iter__: src/core/qgsfeatureiterator.h#L294
|
||||||
QgsFeatureIterator.__next__: src/core/qgsfeatureiterator.h#L299
|
QgsFeatureIterator.__next__: src/core/qgsfeatureiterator.h#L299
|
||||||
@ -5762,6 +5770,12 @@ QgsGroupLayer.setTransformContext: src/core/qgsgrouplayer.h#L87
|
|||||||
QgsGroupLayer.writeSymbology: src/core/qgsgrouplayer.h#L90
|
QgsGroupLayer.writeSymbology: src/core/qgsgrouplayer.h#L90
|
||||||
QgsGroupLayer.writeXml: src/core/qgsgrouplayer.h#L89
|
QgsGroupLayer.writeXml: src/core/qgsgrouplayer.h#L89
|
||||||
QgsGroupLayer: src/core/qgsgrouplayer.h#L41
|
QgsGroupLayer: src/core/qgsgrouplayer.h#L41
|
||||||
|
QgsGroupedFeatureFilterProvider.clone: src/core/qgsgroupedfeaturefilterprovider.h#L43
|
||||||
|
QgsGroupedFeatureFilterProvider.filterFeatures: src/core/qgsgroupedfeaturefilterprovider.h#L40
|
||||||
|
QgsGroupedFeatureFilterProvider.filterFeatures: src/core/qgsgroupedfeaturefilterprovider.h#L41
|
||||||
|
QgsGroupedFeatureFilterProvider.isFilterThreadSafe: src/core/qgsgroupedfeaturefilterprovider.h#L38
|
||||||
|
QgsGroupedFeatureFilterProvider.layerAttributes: src/core/qgsgroupedfeaturefilterprovider.h#L42
|
||||||
|
QgsGroupedFeatureFilterProvider: src/core/qgsgroupedfeaturefilterprovider.h#L32
|
||||||
QgsHashedLineSymbolLayer.clone: src/core/symbology/qgslinesymbollayer.h#L1040
|
QgsHashedLineSymbolLayer.clone: src/core/symbology/qgslinesymbollayer.h#L1040
|
||||||
QgsHashedLineSymbolLayer.color: src/core/symbology/qgslinesymbollayer.h#L1042
|
QgsHashedLineSymbolLayer.color: src/core/symbology/qgslinesymbollayer.h#L1042
|
||||||
QgsHashedLineSymbolLayer.create: src/core/symbology/qgslinesymbollayer.h#L1034
|
QgsHashedLineSymbolLayer.create: src/core/symbology/qgslinesymbollayer.h#L1034
|
||||||
@ -6780,53 +6794,55 @@ QgsLayoutAligner.alignItems: src/core/layout/qgslayoutaligner.h#L79
|
|||||||
QgsLayoutAligner.distributeItems: src/core/layout/qgslayoutaligner.h#L86
|
QgsLayoutAligner.distributeItems: src/core/layout/qgslayoutaligner.h#L86
|
||||||
QgsLayoutAligner.resizeItems: src/core/layout/qgslayoutaligner.h#L93
|
QgsLayoutAligner.resizeItems: src/core/layout/qgslayoutaligner.h#L93
|
||||||
QgsLayoutAligner: src/core/layout/qgslayoutaligner.h#L35
|
QgsLayoutAligner: src/core/layout/qgslayoutaligner.h#L35
|
||||||
QgsLayoutAtlas.beginRender: src/core/layout/qgslayoutatlas.h#L245
|
QgsLayoutAtlas.beginRender: src/core/layout/qgslayoutatlas.h#L261
|
||||||
QgsLayoutAtlas.changed: src/core/layout/qgslayoutatlas.h#L314
|
QgsLayoutAtlas.changed: src/core/layout/qgslayoutatlas.h#L330
|
||||||
QgsLayoutAtlas.count: src/core/layout/qgslayoutatlas.h#L247
|
QgsLayoutAtlas.count: src/core/layout/qgslayoutatlas.h#L263
|
||||||
QgsLayoutAtlas.coverageLayer: src/core/layout/qgslayoutatlas.h#L115
|
QgsLayoutAtlas.coverageLayer: src/core/layout/qgslayoutatlas.h#L131
|
||||||
QgsLayoutAtlas.coverageLayerChanged: src/core/layout/qgslayoutatlas.h#L320
|
QgsLayoutAtlas.coverageLayerChanged: src/core/layout/qgslayoutatlas.h#L336
|
||||||
QgsLayoutAtlas.createExpressionContext: src/core/layout/qgslayoutatlas.h#L255
|
QgsLayoutAtlas.createExpressionContext: src/core/layout/qgslayoutatlas.h#L271
|
||||||
QgsLayoutAtlas.currentFeatureNumber: src/core/layout/qgslayoutatlas.h#L253
|
QgsLayoutAtlas.currentFeatureNumber: src/core/layout/qgslayoutatlas.h#L269
|
||||||
QgsLayoutAtlas.currentFilename: src/core/layout/qgslayoutatlas.h#L109
|
QgsLayoutAtlas.currentFilename: src/core/layout/qgslayoutatlas.h#L125
|
||||||
QgsLayoutAtlas.enabled: src/core/layout/qgslayoutatlas.h#L66
|
QgsLayoutAtlas.enabled: src/core/layout/qgslayoutatlas.h#L66
|
||||||
QgsLayoutAtlas.endRender: src/core/layout/qgslayoutatlas.h#L246
|
QgsLayoutAtlas.endRender: src/core/layout/qgslayoutatlas.h#L262
|
||||||
QgsLayoutAtlas.featureChanged: src/core/layout/qgslayoutatlas.h#L331
|
QgsLayoutAtlas.featureChanged: src/core/layout/qgslayoutatlas.h#L347
|
||||||
QgsLayoutAtlas.filePath: src/core/layout/qgslayoutatlas.h#L248
|
QgsLayoutAtlas.filePath: src/core/layout/qgslayoutatlas.h#L264
|
||||||
QgsLayoutAtlas.filenameExpression: src/core/layout/qgslayoutatlas.h#L92
|
QgsLayoutAtlas.filenameExpression: src/core/layout/qgslayoutatlas.h#L108
|
||||||
QgsLayoutAtlas.filterExpression: src/core/layout/qgslayoutatlas.h#L224
|
QgsLayoutAtlas.filterExpression: src/core/layout/qgslayoutatlas.h#L240
|
||||||
QgsLayoutAtlas.filterFeatures: src/core/layout/qgslayoutatlas.h#L207
|
QgsLayoutAtlas.filterFeatures: src/core/layout/qgslayoutatlas.h#L223
|
||||||
QgsLayoutAtlas.first: src/core/layout/qgslayoutatlas.h#L286
|
QgsLayoutAtlas.first: src/core/layout/qgslayoutatlas.h#L302
|
||||||
QgsLayoutAtlas.hideCoverage: src/core/layout/qgslayoutatlas.h#L78
|
QgsLayoutAtlas.hideCoverage: src/core/layout/qgslayoutatlas.h#L78
|
||||||
QgsLayoutAtlas.last: src/core/layout/qgslayoutatlas.h#L277
|
QgsLayoutAtlas.last: src/core/layout/qgslayoutatlas.h#L293
|
||||||
QgsLayoutAtlas.layout: src/core/layout/qgslayoutatlas.h#L51
|
QgsLayoutAtlas.layout: src/core/layout/qgslayoutatlas.h#L51
|
||||||
QgsLayoutAtlas.messagePushed: src/core/layout/qgslayoutatlas.h#L323
|
QgsLayoutAtlas.limitCoverageLayerRenderToCurrentFeature: src/core/layout/qgslayoutatlas.h#L92
|
||||||
QgsLayoutAtlas.nameForPage: src/core/layout/qgslayoutatlas.h#L140
|
QgsLayoutAtlas.messagePushed: src/core/layout/qgslayoutatlas.h#L339
|
||||||
QgsLayoutAtlas.next: src/core/layout/qgslayoutatlas.h#L259
|
QgsLayoutAtlas.nameForPage: src/core/layout/qgslayoutatlas.h#L156
|
||||||
QgsLayoutAtlas.numberFeaturesChanged: src/core/layout/qgslayoutatlas.h#L328
|
QgsLayoutAtlas.next: src/core/layout/qgslayoutatlas.h#L275
|
||||||
QgsLayoutAtlas.pageNameExpression: src/core/layout/qgslayoutatlas.h#L128
|
QgsLayoutAtlas.numberFeaturesChanged: src/core/layout/qgslayoutatlas.h#L344
|
||||||
QgsLayoutAtlas.previous: src/core/layout/qgslayoutatlas.h#L268
|
QgsLayoutAtlas.pageNameExpression: src/core/layout/qgslayoutatlas.h#L144
|
||||||
|
QgsLayoutAtlas.previous: src/core/layout/qgslayoutatlas.h#L284
|
||||||
QgsLayoutAtlas.readXml: src/core/layout/qgslayoutatlas.h#L60
|
QgsLayoutAtlas.readXml: src/core/layout/qgslayoutatlas.h#L60
|
||||||
QgsLayoutAtlas.refreshCurrentFeature: src/core/layout/qgslayoutatlas.h#L309
|
QgsLayoutAtlas.refreshCurrentFeature: src/core/layout/qgslayoutatlas.h#L325
|
||||||
QgsLayoutAtlas.renderBegun: src/core/layout/qgslayoutatlas.h#L334
|
QgsLayoutAtlas.renderBegun: src/core/layout/qgslayoutatlas.h#L350
|
||||||
QgsLayoutAtlas.renderEnded: src/core/layout/qgslayoutatlas.h#L337
|
QgsLayoutAtlas.renderEnded: src/core/layout/qgslayoutatlas.h#L353
|
||||||
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L295
|
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L311
|
||||||
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L304
|
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L320
|
||||||
QgsLayoutAtlas.setCoverageLayer: src/core/layout/qgslayoutatlas.h#L121
|
QgsLayoutAtlas.setCoverageLayer: src/core/layout/qgslayoutatlas.h#L137
|
||||||
QgsLayoutAtlas.setEnabled: src/core/layout/qgslayoutatlas.h#L72
|
QgsLayoutAtlas.setEnabled: src/core/layout/qgslayoutatlas.h#L72
|
||||||
QgsLayoutAtlas.setFilenameExpression: src/core/layout/qgslayoutatlas.h#L102
|
QgsLayoutAtlas.setFilenameExpression: src/core/layout/qgslayoutatlas.h#L118
|
||||||
QgsLayoutAtlas.setFilterExpression: src/core/layout/qgslayoutatlas.h#L237
|
QgsLayoutAtlas.setFilterExpression: src/core/layout/qgslayoutatlas.h#L253
|
||||||
QgsLayoutAtlas.setFilterFeatures: src/core/layout/qgslayoutatlas.h#L214
|
QgsLayoutAtlas.setFilterFeatures: src/core/layout/qgslayoutatlas.h#L230
|
||||||
QgsLayoutAtlas.setHideCoverage: src/core/layout/qgslayoutatlas.h#L84
|
QgsLayoutAtlas.setHideCoverage: src/core/layout/qgslayoutatlas.h#L84
|
||||||
QgsLayoutAtlas.setPageNameExpression: src/core/layout/qgslayoutatlas.h#L134
|
QgsLayoutAtlas.setLimitCoverageLayerRenderToCurrentFeature: src/core/layout/qgslayoutatlas.h#L100
|
||||||
QgsLayoutAtlas.setSortAscending: src/core/layout/qgslayoutatlas.h#L178
|
QgsLayoutAtlas.setPageNameExpression: src/core/layout/qgslayoutatlas.h#L150
|
||||||
QgsLayoutAtlas.setSortExpression: src/core/layout/qgslayoutatlas.h#L200
|
QgsLayoutAtlas.setSortAscending: src/core/layout/qgslayoutatlas.h#L194
|
||||||
QgsLayoutAtlas.setSortFeatures: src/core/layout/qgslayoutatlas.h#L156
|
QgsLayoutAtlas.setSortExpression: src/core/layout/qgslayoutatlas.h#L216
|
||||||
QgsLayoutAtlas.sortAscending: src/core/layout/qgslayoutatlas.h#L167
|
QgsLayoutAtlas.setSortFeatures: src/core/layout/qgslayoutatlas.h#L172
|
||||||
QgsLayoutAtlas.sortExpression: src/core/layout/qgslayoutatlas.h#L189
|
QgsLayoutAtlas.sortAscending: src/core/layout/qgslayoutatlas.h#L183
|
||||||
QgsLayoutAtlas.sortFeatures: src/core/layout/qgslayoutatlas.h#L148
|
QgsLayoutAtlas.sortExpression: src/core/layout/qgslayoutatlas.h#L205
|
||||||
|
QgsLayoutAtlas.sortFeatures: src/core/layout/qgslayoutatlas.h#L164
|
||||||
QgsLayoutAtlas.stringType: src/core/layout/qgslayoutatlas.h#L50
|
QgsLayoutAtlas.stringType: src/core/layout/qgslayoutatlas.h#L50
|
||||||
QgsLayoutAtlas.toggled: src/core/layout/qgslayoutatlas.h#L317
|
QgsLayoutAtlas.toggled: src/core/layout/qgslayoutatlas.h#L333
|
||||||
QgsLayoutAtlas.updateFeatures: src/core/layout/qgslayoutatlas.h#L243
|
QgsLayoutAtlas.updateFeatures: src/core/layout/qgslayoutatlas.h#L259
|
||||||
QgsLayoutAtlas.writeXml: src/core/layout/qgslayoutatlas.h#L59
|
QgsLayoutAtlas.writeXml: src/core/layout/qgslayoutatlas.h#L59
|
||||||
QgsLayoutAtlas: src/core/layout/qgslayoutatlas.h#L40
|
QgsLayoutAtlas: src/core/layout/qgslayoutatlas.h#L40
|
||||||
QgsLayoutChecker.setSize: src/core/qgsmultirenderchecker.h#L209
|
QgsLayoutChecker.setSize: src/core/qgsmultirenderchecker.h#L209
|
||||||
@ -7310,119 +7326,119 @@ QgsLayoutItemManualTable.type: src/core/layout/qgslayoutitemmanualtable.h#L46
|
|||||||
QgsLayoutItemManualTable.verticalAlignmentForCell: src/core/layout/qgslayoutitemmanualtable.h#L145
|
QgsLayoutItemManualTable.verticalAlignmentForCell: src/core/layout/qgslayoutitemmanualtable.h#L145
|
||||||
QgsLayoutItemManualTable.writePropertiesToElement: src/core/layout/qgslayoutitemmanualtable.h#L139
|
QgsLayoutItemManualTable.writePropertiesToElement: src/core/layout/qgslayoutitemmanualtable.h#L139
|
||||||
QgsLayoutItemManualTable: src/core/layout/qgslayoutitemmanualtable.h#L31
|
QgsLayoutItemManualTable: src/core/layout/qgslayoutitemmanualtable.h#L31
|
||||||
QgsLayoutItemMap.QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L361
|
QgsLayoutItemMap.QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L362
|
||||||
QgsLayoutItemMap.accept: src/core/layout/qgslayoutitemmap.h#L828
|
QgsLayoutItemMap.accept: src/core/layout/qgslayoutitemmap.h#L829
|
||||||
QgsLayoutItemMap.addLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L785
|
QgsLayoutItemMap.addLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L786
|
||||||
QgsLayoutItemMap.addRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L842
|
QgsLayoutItemMap.addRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L843
|
||||||
QgsLayoutItemMap.assignFreeId: src/core/layout/qgslayoutitemmap.h#L385
|
QgsLayoutItemMap.assignFreeId: src/core/layout/qgslayoutitemmap.h#L386
|
||||||
QgsLayoutItemMap.atlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L862
|
QgsLayoutItemMap.atlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L863
|
||||||
QgsLayoutItemMap.atlasDriven: src/core/layout/qgslayoutitemmap.h#L643
|
QgsLayoutItemMap.atlasDriven: src/core/layout/qgslayoutitemmap.h#L644
|
||||||
QgsLayoutItemMap.atlasMargin: src/core/layout/qgslayoutitemmap.h#L685
|
QgsLayoutItemMap.atlasMargin: src/core/layout/qgslayoutitemmap.h#L686
|
||||||
QgsLayoutItemMap.atlasScalingMode: src/core/layout/qgslayoutitemmap.h#L662
|
QgsLayoutItemMap.atlasScalingMode: src/core/layout/qgslayoutitemmap.h#L663
|
||||||
QgsLayoutItemMap.boundingRect: src/core/layout/qgslayoutitemmap.h#L928
|
QgsLayoutItemMap.boundingRect: src/core/layout/qgslayoutitemmap.h#L929
|
||||||
QgsLayoutItemMap.containsAdvancedEffects: src/core/layout/qgslayoutitemmap.h#L604
|
QgsLayoutItemMap.containsAdvancedEffects: src/core/layout/qgslayoutitemmap.h#L605
|
||||||
QgsLayoutItemMap.containsWmsLayer: src/core/layout/qgslayoutitemmap.h#L601
|
QgsLayoutItemMap.containsWmsLayer: src/core/layout/qgslayoutitemmap.h#L602
|
||||||
QgsLayoutItemMap.create: src/core/layout/qgslayoutitemmap.h#L395
|
QgsLayoutItemMap.create: src/core/layout/qgslayoutitemmap.h#L396
|
||||||
QgsLayoutItemMap.createExpressionContext: src/core/layout/qgslayoutitemmap.h#L748
|
QgsLayoutItemMap.createExpressionContext: src/core/layout/qgslayoutitemmap.h#L749
|
||||||
QgsLayoutItemMap.crs: src/core/layout/qgslayoutitemmap.h#L471
|
QgsLayoutItemMap.crs: src/core/layout/qgslayoutitemmap.h#L472
|
||||||
QgsLayoutItemMap.crsChanged: src/core/layout/qgslayoutitemmap.h#L981
|
QgsLayoutItemMap.crsChanged: src/core/layout/qgslayoutitemmap.h#L982
|
||||||
QgsLayoutItemMap.displayName: src/core/layout/qgslayoutitemmap.h#L388
|
QgsLayoutItemMap.displayName: src/core/layout/qgslayoutitemmap.h#L389
|
||||||
QgsLayoutItemMap.draw: src/core/layout/qgslayoutitemmap.h#L919
|
QgsLayoutItemMap.draw: src/core/layout/qgslayoutitemmap.h#L920
|
||||||
QgsLayoutItemMap.drawAnnotations: src/core/layout/qgslayoutitemmap.h#L634
|
QgsLayoutItemMap.drawAnnotations: src/core/layout/qgslayoutitemmap.h#L635
|
||||||
QgsLayoutItemMap.estimatedFrameBleed: src/core/layout/qgslayoutitemmap.h#L915
|
QgsLayoutItemMap.estimatedFrameBleed: src/core/layout/qgslayoutitemmap.h#L916
|
||||||
QgsLayoutItemMap.exportLayerBehavior: src/core/layout/qgslayoutitemmap.h#L408
|
QgsLayoutItemMap.exportLayerBehavior: src/core/layout/qgslayoutitemmap.h#L409
|
||||||
QgsLayoutItemMap.exportLayerDetails: src/core/layout/qgslayoutitemmap.h#L409
|
QgsLayoutItemMap.exportLayerDetails: src/core/layout/qgslayoutitemmap.h#L410
|
||||||
QgsLayoutItemMap.extent: src/core/layout/qgslayoutitemmap.h#L451
|
QgsLayoutItemMap.extent: src/core/layout/qgslayoutitemmap.h#L452
|
||||||
QgsLayoutItemMap.extentChanged: src/core/layout/qgslayoutitemmap.h#L948
|
QgsLayoutItemMap.extentChanged: src/core/layout/qgslayoutitemmap.h#L949
|
||||||
QgsLayoutItemMap.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L766
|
QgsLayoutItemMap.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L767
|
||||||
QgsLayoutItemMap.followVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L570
|
QgsLayoutItemMap.followVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L571
|
||||||
QgsLayoutItemMap.followVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L584
|
QgsLayoutItemMap.followVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L585
|
||||||
QgsLayoutItemMap.framePath: src/core/layout/qgslayoutitemmap.h#L922
|
QgsLayoutItemMap.framePath: src/core/layout/qgslayoutitemmap.h#L923
|
||||||
QgsLayoutItemMap.grid: src/core/layout/qgslayoutitemmap.h#L707
|
QgsLayoutItemMap.grid: src/core/layout/qgslayoutitemmap.h#L708
|
||||||
QgsLayoutItemMap.grids: src/core/layout/qgslayoutitemmap.h#L701
|
QgsLayoutItemMap.grids: src/core/layout/qgslayoutitemmap.h#L702
|
||||||
QgsLayoutItemMap.icon: src/core/layout/qgslayoutitemmap.h#L365
|
QgsLayoutItemMap.icon: src/core/layout/qgslayoutitemmap.h#L366
|
||||||
QgsLayoutItemMap.invalidateCache: src/core/layout/qgslayoutitemmap.h#L994
|
QgsLayoutItemMap.invalidateCache: src/core/layout/qgslayoutitemmap.h#L995
|
||||||
QgsLayoutItemMap.isDrawing: src/core/layout/qgslayoutitemmap.h#L925
|
QgsLayoutItemMap.isDrawing: src/core/layout/qgslayoutitemmap.h#L926
|
||||||
QgsLayoutItemMap.isLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L811
|
QgsLayoutItemMap.isLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L812
|
||||||
QgsLayoutItemMap.itemClippingSettings: src/core/layout/qgslayoutitemmap.h#L869
|
QgsLayoutItemMap.itemClippingSettings: src/core/layout/qgslayoutitemmap.h#L870
|
||||||
QgsLayoutItemMap.itemFlags: src/core/layout/qgslayoutitemmap.h#L366
|
QgsLayoutItemMap.itemFlags: src/core/layout/qgslayoutitemmap.h#L367
|
||||||
QgsLayoutItemMap.keepLayerSet: src/core/layout/qgslayoutitemmap.h#L500
|
QgsLayoutItemMap.keepLayerSet: src/core/layout/qgslayoutitemmap.h#L501
|
||||||
QgsLayoutItemMap.keepLayerStyles: src/core/layout/qgslayoutitemmap.h#L535
|
QgsLayoutItemMap.keepLayerStyles: src/core/layout/qgslayoutitemmap.h#L536
|
||||||
QgsLayoutItemMap.labelMargin: src/core/layout/qgslayoutitemmap.h#L734
|
QgsLayoutItemMap.labelMargin: src/core/layout/qgslayoutitemmap.h#L735
|
||||||
QgsLayoutItemMap.layerStyleOverridesChanged: src/core/layout/qgslayoutitemmap.h#L964
|
QgsLayoutItemMap.layerStyleOverridesChanged: src/core/layout/qgslayoutitemmap.h#L965
|
||||||
QgsLayoutItemMap.layoutToMapCoordsTransform: src/core/layout/qgslayoutitemmap.h#L855
|
QgsLayoutItemMap.layoutToMapCoordsTransform: src/core/layout/qgslayoutitemmap.h#L856
|
||||||
QgsLayoutItemMap.mapFlags: src/core/layout/qgslayoutitemmap.h#L373
|
QgsLayoutItemMap.mapFlags: src/core/layout/qgslayoutitemmap.h#L374
|
||||||
QgsLayoutItemMap.mapRotation: src/core/layout/qgslayoutitemmap.h#L622
|
QgsLayoutItemMap.mapRotation: src/core/layout/qgslayoutitemmap.h#L623
|
||||||
QgsLayoutItemMap.mapRotationChanged: src/core/layout/qgslayoutitemmap.h#L955
|
QgsLayoutItemMap.mapRotationChanged: src/core/layout/qgslayoutitemmap.h#L956
|
||||||
QgsLayoutItemMap.mapSettings: src/core/layout/qgslayoutitemmap.h#L764
|
QgsLayoutItemMap.mapSettings: src/core/layout/qgslayoutitemmap.h#L765
|
||||||
QgsLayoutItemMap.mapToItemCoords: src/core/layout/qgslayoutitemmap.h#L934
|
QgsLayoutItemMap.mapToItemCoords: src/core/layout/qgslayoutitemmap.h#L935
|
||||||
QgsLayoutItemMap.mapUnitsToLayoutUnits: src/core/layout/qgslayoutitemmap.h#L755
|
QgsLayoutItemMap.mapUnitsToLayoutUnits: src/core/layout/qgslayoutitemmap.h#L756
|
||||||
QgsLayoutItemMap.moveContent: src/core/layout/qgslayoutitemmap.h#L594
|
QgsLayoutItemMap.moveContent: src/core/layout/qgslayoutitemmap.h#L595
|
||||||
QgsLayoutItemMap.nextExportPart: src/core/layout/qgslayoutitemmap.h#L407
|
QgsLayoutItemMap.nextExportPart: src/core/layout/qgslayoutitemmap.h#L408
|
||||||
QgsLayoutItemMap.numberExportLayers: src/core/layout/qgslayoutitemmap.h#L403
|
QgsLayoutItemMap.numberExportLayers: src/core/layout/qgslayoutitemmap.h#L404
|
||||||
QgsLayoutItemMap.overview: src/core/layout/qgslayoutitemmap.h#L722
|
QgsLayoutItemMap.overview: src/core/layout/qgslayoutitemmap.h#L723
|
||||||
QgsLayoutItemMap.overviews: src/core/layout/qgslayoutitemmap.h#L715
|
QgsLayoutItemMap.overviews: src/core/layout/qgslayoutitemmap.h#L716
|
||||||
QgsLayoutItemMap.paint: src/core/layout/qgslayoutitemmap.h#L398
|
QgsLayoutItemMap.paint: src/core/layout/qgslayoutitemmap.h#L399
|
||||||
QgsLayoutItemMap.preparedForAtlas: src/core/layout/qgslayoutitemmap.h#L958
|
QgsLayoutItemMap.preparedForAtlas: src/core/layout/qgslayoutitemmap.h#L959
|
||||||
QgsLayoutItemMap.presetCrs: src/core/layout/qgslayoutitemmap.h#L481
|
QgsLayoutItemMap.presetCrs: src/core/layout/qgslayoutitemmap.h#L482
|
||||||
QgsLayoutItemMap.previewLabelingResults: src/core/layout/qgslayoutitemmap.h#L826
|
QgsLayoutItemMap.previewLabelingResults: src/core/layout/qgslayoutitemmap.h#L827
|
||||||
QgsLayoutItemMap.previewRefreshed: src/core/layout/qgslayoutitemmap.h#L988
|
QgsLayoutItemMap.previewRefreshed: src/core/layout/qgslayoutitemmap.h#L989
|
||||||
QgsLayoutItemMap.readPropertiesFromElement: src/core/layout/qgslayoutitemmap.h#L921
|
QgsLayoutItemMap.readPropertiesFromElement: src/core/layout/qgslayoutitemmap.h#L922
|
||||||
QgsLayoutItemMap.refresh: src/core/layout/qgslayoutitemmap.h#L992
|
QgsLayoutItemMap.refresh: src/core/layout/qgslayoutitemmap.h#L993
|
||||||
QgsLayoutItemMap.refreshDataDefinedProperty: src/core/layout/qgslayoutitemmap.h#L999
|
QgsLayoutItemMap.refreshDataDefinedProperty: src/core/layout/qgslayoutitemmap.h#L1000
|
||||||
QgsLayoutItemMap.removeLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L798
|
QgsLayoutItemMap.removeLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L799
|
||||||
QgsLayoutItemMap.removeRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L850
|
QgsLayoutItemMap.removeRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L851
|
||||||
QgsLayoutItemMap.renderingErrors: src/core/layout/qgslayoutitemmap.h#L817
|
QgsLayoutItemMap.renderingErrors: src/core/layout/qgslayoutitemmap.h#L818
|
||||||
QgsLayoutItemMap.requestedExtent: src/core/layout/qgslayoutitemmap.h#L939
|
QgsLayoutItemMap.requestedExtent: src/core/layout/qgslayoutitemmap.h#L940
|
||||||
QgsLayoutItemMap.requiresRasterization: src/core/layout/qgslayoutitemmap.h#L603
|
QgsLayoutItemMap.requiresRasterization: src/core/layout/qgslayoutitemmap.h#L604
|
||||||
QgsLayoutItemMap.scale: src/core/layout/qgslayoutitemmap.h#L417
|
QgsLayoutItemMap.scale: src/core/layout/qgslayoutitemmap.h#L418
|
||||||
QgsLayoutItemMap.setAtlasDriven: src/core/layout/qgslayoutitemmap.h#L651
|
QgsLayoutItemMap.setAtlasDriven: src/core/layout/qgslayoutitemmap.h#L652
|
||||||
QgsLayoutItemMap.setAtlasMargin: src/core/layout/qgslayoutitemmap.h#L694
|
QgsLayoutItemMap.setAtlasMargin: src/core/layout/qgslayoutitemmap.h#L695
|
||||||
QgsLayoutItemMap.setAtlasScalingMode: src/core/layout/qgslayoutitemmap.h#L673
|
QgsLayoutItemMap.setAtlasScalingMode: src/core/layout/qgslayoutitemmap.h#L674
|
||||||
QgsLayoutItemMap.setCrs: src/core/layout/qgslayoutitemmap.h#L490
|
QgsLayoutItemMap.setCrs: src/core/layout/qgslayoutitemmap.h#L491
|
||||||
QgsLayoutItemMap.setDrawAnnotations: src/core/layout/qgslayoutitemmap.h#L628
|
QgsLayoutItemMap.setDrawAnnotations: src/core/layout/qgslayoutitemmap.h#L629
|
||||||
QgsLayoutItemMap.setExtent: src/core/layout/qgslayoutitemmap.h#L435
|
QgsLayoutItemMap.setExtent: src/core/layout/qgslayoutitemmap.h#L436
|
||||||
QgsLayoutItemMap.setFollowVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L575
|
QgsLayoutItemMap.setFollowVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L576
|
||||||
QgsLayoutItemMap.setFollowVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L592
|
QgsLayoutItemMap.setFollowVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L593
|
||||||
QgsLayoutItemMap.setFrameStrokeWidth: src/core/layout/qgslayoutitemmap.h#L410
|
QgsLayoutItemMap.setFrameStrokeWidth: src/core/layout/qgslayoutitemmap.h#L411
|
||||||
QgsLayoutItemMap.setKeepLayerSet: src/core/layout/qgslayoutitemmap.h#L510
|
QgsLayoutItemMap.setKeepLayerSet: src/core/layout/qgslayoutitemmap.h#L511
|
||||||
QgsLayoutItemMap.setKeepLayerStyles: src/core/layout/qgslayoutitemmap.h#L541
|
QgsLayoutItemMap.setKeepLayerStyles: src/core/layout/qgslayoutitemmap.h#L542
|
||||||
QgsLayoutItemMap.setLabelMargin: src/core/layout/qgslayoutitemmap.h#L746
|
QgsLayoutItemMap.setLabelMargin: src/core/layout/qgslayoutitemmap.h#L747
|
||||||
QgsLayoutItemMap.setLayerStyleOverrides: src/core/layout/qgslayoutitemmap.h#L553
|
QgsLayoutItemMap.setLayerStyleOverrides: src/core/layout/qgslayoutitemmap.h#L554
|
||||||
QgsLayoutItemMap.setLayers: src/core/layout/qgslayoutitemmap.h#L529
|
QgsLayoutItemMap.setLayers: src/core/layout/qgslayoutitemmap.h#L530
|
||||||
QgsLayoutItemMap.setMapFlags: src/core/layout/qgslayoutitemmap.h#L380
|
QgsLayoutItemMap.setMapFlags: src/core/layout/qgslayoutitemmap.h#L381
|
||||||
QgsLayoutItemMap.setMapRotation: src/core/layout/qgslayoutitemmap.h#L612
|
QgsLayoutItemMap.setMapRotation: src/core/layout/qgslayoutitemmap.h#L613
|
||||||
QgsLayoutItemMap.setMoveContentPreviewOffset: src/core/layout/qgslayoutitemmap.h#L595
|
QgsLayoutItemMap.setMoveContentPreviewOffset: src/core/layout/qgslayoutitemmap.h#L596
|
||||||
QgsLayoutItemMap.setScale: src/core/layout/qgslayoutitemmap.h#L426
|
QgsLayoutItemMap.setScale: src/core/layout/qgslayoutitemmap.h#L427
|
||||||
QgsLayoutItemMap.setZRange: src/core/layout/qgslayoutitemmap.h#L912
|
QgsLayoutItemMap.setZRange: src/core/layout/qgslayoutitemmap.h#L913
|
||||||
QgsLayoutItemMap.setZRangeEnabled: src/core/layout/qgslayoutitemmap.h#L878
|
QgsLayoutItemMap.setZRangeEnabled: src/core/layout/qgslayoutitemmap.h#L879
|
||||||
QgsLayoutItemMap.startLayeredExport: src/core/layout/qgslayoutitemmap.h#L405
|
QgsLayoutItemMap.startLayeredExport: src/core/layout/qgslayoutitemmap.h#L406
|
||||||
QgsLayoutItemMap.stopLayeredExport: src/core/layout/qgslayoutitemmap.h#L406
|
QgsLayoutItemMap.stopLayeredExport: src/core/layout/qgslayoutitemmap.h#L407
|
||||||
QgsLayoutItemMap.storeCurrentLayerStyles: src/core/layout/qgslayoutitemmap.h#L558
|
QgsLayoutItemMap.storeCurrentLayerStyles: src/core/layout/qgslayoutitemmap.h#L559
|
||||||
QgsLayoutItemMap.themeChanged: src/core/layout/qgslayoutitemmap.h#L974
|
QgsLayoutItemMap.themeChanged: src/core/layout/qgslayoutitemmap.h#L975
|
||||||
QgsLayoutItemMap.transformedMapPolygon: src/core/layout/qgslayoutitemmap.h#L931
|
QgsLayoutItemMap.transformedMapPolygon: src/core/layout/qgslayoutitemmap.h#L932
|
||||||
QgsLayoutItemMap.type: src/core/layout/qgslayoutitemmap.h#L364
|
QgsLayoutItemMap.type: src/core/layout/qgslayoutitemmap.h#L365
|
||||||
QgsLayoutItemMap.updateBoundingRect: src/core/layout/qgslayoutitemmap.h#L997
|
QgsLayoutItemMap.updateBoundingRect: src/core/layout/qgslayoutitemmap.h#L998
|
||||||
QgsLayoutItemMap.visibleExtentPolygon: src/core/layout/qgslayoutitemmap.h#L461
|
QgsLayoutItemMap.visibleExtentPolygon: src/core/layout/qgslayoutitemmap.h#L462
|
||||||
QgsLayoutItemMap.writePropertiesToElement: src/core/layout/qgslayoutitemmap.h#L920
|
QgsLayoutItemMap.writePropertiesToElement: src/core/layout/qgslayoutitemmap.h#L921
|
||||||
QgsLayoutItemMap.zRange: src/core/layout/qgslayoutitemmap.h#L900
|
QgsLayoutItemMap.zRange: src/core/layout/qgslayoutitemmap.h#L901
|
||||||
QgsLayoutItemMap.zRangeEnabled: src/core/layout/qgslayoutitemmap.h#L888
|
QgsLayoutItemMap.zRangeEnabled: src/core/layout/qgslayoutitemmap.h#L889
|
||||||
QgsLayoutItemMap.zoomContent: src/core/layout/qgslayoutitemmap.h#L597
|
QgsLayoutItemMap.zoomContent: src/core/layout/qgslayoutitemmap.h#L598
|
||||||
QgsLayoutItemMap.zoomToExtent: src/core/layout/qgslayoutitemmap.h#L444
|
QgsLayoutItemMap.zoomToExtent: src/core/layout/qgslayoutitemmap.h#L445
|
||||||
QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L317
|
QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L318
|
||||||
QgsLayoutItemMapAtlasClippingSettings.changed: src/core/layout/qgslayoutitemmap.h#L148
|
QgsLayoutItemMapAtlasClippingSettings.changed: src/core/layout/qgslayoutitemmap.h#L149
|
||||||
QgsLayoutItemMapAtlasClippingSettings.enabled: src/core/layout/qgslayoutitemmap.h#L56
|
QgsLayoutItemMapAtlasClippingSettings.enabled: src/core/layout/qgslayoutitemmap.h#L57
|
||||||
QgsLayoutItemMapAtlasClippingSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L70
|
QgsLayoutItemMapAtlasClippingSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L71
|
||||||
QgsLayoutItemMapAtlasClippingSettings.forceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L84
|
QgsLayoutItemMapAtlasClippingSettings.forceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L85
|
||||||
QgsLayoutItemMapAtlasClippingSettings.readXml: src/core/layout/qgslayoutitemmap.h#L141
|
QgsLayoutItemMapAtlasClippingSettings.readXml: src/core/layout/qgslayoutitemmap.h#L142
|
||||||
QgsLayoutItemMapAtlasClippingSettings.restrictToLayers: src/core/layout/qgslayoutitemmap.h#L99
|
QgsLayoutItemMapAtlasClippingSettings.restrictToLayers: src/core/layout/qgslayoutitemmap.h#L100
|
||||||
QgsLayoutItemMapAtlasClippingSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L63
|
QgsLayoutItemMapAtlasClippingSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L64
|
||||||
QgsLayoutItemMapAtlasClippingSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L77
|
QgsLayoutItemMapAtlasClippingSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L78
|
||||||
QgsLayoutItemMapAtlasClippingSettings.setForceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L91
|
QgsLayoutItemMapAtlasClippingSettings.setForceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L92
|
||||||
QgsLayoutItemMapAtlasClippingSettings.setLayersToClip: src/core/layout/qgslayoutitemmap.h#L127
|
QgsLayoutItemMapAtlasClippingSettings.setLayersToClip: src/core/layout/qgslayoutitemmap.h#L128
|
||||||
QgsLayoutItemMapAtlasClippingSettings.setRestrictToLayers: src/core/layout/qgslayoutitemmap.h#L107
|
QgsLayoutItemMapAtlasClippingSettings.setRestrictToLayers: src/core/layout/qgslayoutitemmap.h#L108
|
||||||
QgsLayoutItemMapAtlasClippingSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L134
|
QgsLayoutItemMapAtlasClippingSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L135
|
||||||
QgsLayoutItemMapAtlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L40
|
QgsLayoutItemMapAtlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L41
|
||||||
QgsLayoutItemMapGrid.accept: src/core/layout/qgslayoutitemmapgrid.h#L1005
|
QgsLayoutItemMapGrid.accept: src/core/layout/qgslayoutitemmapgrid.h#L1005
|
||||||
QgsLayoutItemMapGrid.annotationDirection: src/core/layout/qgslayoutitemmapgrid.h#L701
|
QgsLayoutItemMapGrid.annotationDirection: src/core/layout/qgslayoutitemmapgrid.h#L701
|
||||||
QgsLayoutItemMapGrid.annotationDisplay: src/core/layout/qgslayoutitemmapgrid.h#L656
|
QgsLayoutItemMapGrid.annotationDisplay: src/core/layout/qgslayoutitemmapgrid.h#L656
|
||||||
@ -7553,23 +7569,23 @@ QgsLayoutItemMapItem.stackingPosition: src/core/layout/qgslayoutitemmapitem.h#L1
|
|||||||
QgsLayoutItemMapItem.usesAdvancedEffects: src/core/layout/qgslayoutitemmapitem.h#L128
|
QgsLayoutItemMapItem.usesAdvancedEffects: src/core/layout/qgslayoutitemmapitem.h#L128
|
||||||
QgsLayoutItemMapItem.writeXml: src/core/layout/qgslayoutitemmapitem.h#L65
|
QgsLayoutItemMapItem.writeXml: src/core/layout/qgslayoutitemmapitem.h#L65
|
||||||
QgsLayoutItemMapItem: src/core/layout/qgslayoutitemmapitem.h#L32
|
QgsLayoutItemMapItem: src/core/layout/qgslayoutitemmapitem.h#L32
|
||||||
QgsLayoutItemMapItemClipPathSettings.changed: src/core/layout/qgslayoutitemmap.h#L297
|
QgsLayoutItemMapItemClipPathSettings.changed: src/core/layout/qgslayoutitemmap.h#L298
|
||||||
QgsLayoutItemMapItemClipPathSettings.clipPathInMapItemCoordinates: src/core/layout/qgslayoutitemmap.h#L219
|
QgsLayoutItemMapItemClipPathSettings.clipPathInMapItemCoordinates: src/core/layout/qgslayoutitemmap.h#L220
|
||||||
QgsLayoutItemMapItemClipPathSettings.clippedMapExtent: src/core/layout/qgslayoutitemmap.h#L208
|
QgsLayoutItemMapItemClipPathSettings.clippedMapExtent: src/core/layout/qgslayoutitemmap.h#L209
|
||||||
QgsLayoutItemMapItemClipPathSettings.enabled: src/core/layout/qgslayoutitemmap.h#L194
|
QgsLayoutItemMapItemClipPathSettings.enabled: src/core/layout/qgslayoutitemmap.h#L195
|
||||||
QgsLayoutItemMapItemClipPathSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L248
|
QgsLayoutItemMapItemClipPathSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L249
|
||||||
QgsLayoutItemMapItemClipPathSettings.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L290
|
QgsLayoutItemMapItemClipPathSettings.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L291
|
||||||
QgsLayoutItemMapItemClipPathSettings.forceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L262
|
QgsLayoutItemMapItemClipPathSettings.forceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L263
|
||||||
QgsLayoutItemMapItemClipPathSettings.isActive: src/core/layout/qgslayoutitemmap.h#L187
|
QgsLayoutItemMapItemClipPathSettings.isActive: src/core/layout/qgslayoutitemmap.h#L188
|
||||||
QgsLayoutItemMapItemClipPathSettings.readXml: src/core/layout/qgslayoutitemmap.h#L284
|
QgsLayoutItemMapItemClipPathSettings.readXml: src/core/layout/qgslayoutitemmap.h#L285
|
||||||
QgsLayoutItemMapItemClipPathSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L201
|
QgsLayoutItemMapItemClipPathSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L202
|
||||||
QgsLayoutItemMapItemClipPathSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L255
|
QgsLayoutItemMapItemClipPathSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L256
|
||||||
QgsLayoutItemMapItemClipPathSettings.setForceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L269
|
QgsLayoutItemMapItemClipPathSettings.setForceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L270
|
||||||
QgsLayoutItemMapItemClipPathSettings.setSourceItem: src/core/layout/qgslayoutitemmap.h#L233
|
QgsLayoutItemMapItemClipPathSettings.setSourceItem: src/core/layout/qgslayoutitemmap.h#L234
|
||||||
QgsLayoutItemMapItemClipPathSettings.sourceItem: src/core/layout/qgslayoutitemmap.h#L241
|
QgsLayoutItemMapItemClipPathSettings.sourceItem: src/core/layout/qgslayoutitemmap.h#L242
|
||||||
QgsLayoutItemMapItemClipPathSettings.toMapClippingRegion: src/core/layout/qgslayoutitemmap.h#L224
|
QgsLayoutItemMapItemClipPathSettings.toMapClippingRegion: src/core/layout/qgslayoutitemmap.h#L225
|
||||||
QgsLayoutItemMapItemClipPathSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L276
|
QgsLayoutItemMapItemClipPathSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L277
|
||||||
QgsLayoutItemMapItemClipPathSettings: src/core/layout/qgslayoutitemmap.h#L170
|
QgsLayoutItemMapItemClipPathSettings: src/core/layout/qgslayoutitemmap.h#L171
|
||||||
QgsLayoutItemMapItemStack.addItem: src/core/layout/qgslayoutitemmapitem.h#L306
|
QgsLayoutItemMapItemStack.addItem: src/core/layout/qgslayoutitemmapitem.h#L306
|
||||||
QgsLayoutItemMapItemStack.containsAdvancedEffects: src/core/layout/qgslayoutitemmapitem.h#L282
|
QgsLayoutItemMapItemStack.containsAdvancedEffects: src/core/layout/qgslayoutitemmapitem.h#L282
|
||||||
QgsLayoutItemMapItemStack.drawItems: src/core/layout/qgslayoutitemmapitem.h#L276
|
QgsLayoutItemMapItemStack.drawItems: src/core/layout/qgslayoutitemmapitem.h#L276
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
%Include auto_generated/qgsexpressioncontextscopegenerator.sip
|
%Include auto_generated/qgsexpressioncontextscopegenerator.sip
|
||||||
%Include auto_generated/qgsexpressionfieldbuffer.sip
|
%Include auto_generated/qgsexpressionfieldbuffer.sip
|
||||||
%Include auto_generated/qgsfeature.sip
|
%Include auto_generated/qgsfeature.sip
|
||||||
|
%Include auto_generated/qgsfeatureexpressionfilterprovider.sip
|
||||||
%Include auto_generated/qgsfeaturepickermodel.sip
|
%Include auto_generated/qgsfeaturepickermodel.sip
|
||||||
%Include auto_generated/qgsfeaturepickermodelbase.sip
|
%Include auto_generated/qgsfeaturepickermodelbase.sip
|
||||||
%Include auto_generated/qgsfeaturefiltermodel.sip
|
%Include auto_generated/qgsfeaturefiltermodel.sip
|
||||||
@ -77,6 +78,7 @@
|
|||||||
%Include auto_generated/qgsgeometryvalidator.sip
|
%Include auto_generated/qgsgeometryvalidator.sip
|
||||||
%Include auto_generated/qgsgml.sip
|
%Include auto_generated/qgsgml.sip
|
||||||
%Include auto_generated/qgsgmlschema.sip
|
%Include auto_generated/qgsgmlschema.sip
|
||||||
|
%Include auto_generated/qgsgroupedfeaturefilterprovider.sip
|
||||||
%Include auto_generated/qgsgrouplayer.sip
|
%Include auto_generated/qgsgrouplayer.sip
|
||||||
%Include auto_generated/qgshistogram.sip
|
%Include auto_generated/qgshistogram.sip
|
||||||
%Include auto_generated/qgshstoreutils.sip
|
%Include auto_generated/qgshstoreutils.sip
|
||||||
|
@ -327,6 +327,7 @@ tests:
|
|||||||
- 61d6cea43ff284ea8909f071b3f13344e146430b7754ad25321a05af
|
- 61d6cea43ff284ea8909f071b3f13344e146430b7754ad25321a05af
|
||||||
- 702e4fbf8f35d9c4759f1a1e437c2680b45a84d5175d862d92db1f06
|
- 702e4fbf8f35d9c4759f1a1e437c2680b45a84d5175d862d92db1f06
|
||||||
- 8082737b192683878f415dd28bd8988e64e74198668c4c5b477ad1b8
|
- 8082737b192683878f415dd28bd8988e64e74198668c4c5b477ad1b8
|
||||||
|
- 2f1b12a7f0c2da87c8ffde15a45207b1660f5bd15ce41b397900ec8a
|
||||||
type: rasterhash
|
type: rasterhash
|
||||||
|
|
||||||
- algorithm: grass7:r.info
|
- algorithm: grass7:r.info
|
||||||
|
@ -79,13 +79,21 @@ class ExampleProcessingAlgorithm(QgsProcessingAlgorithm):
|
|||||||
"""
|
"""
|
||||||
return "examplescripts"
|
return "examplescripts"
|
||||||
|
|
||||||
|
def shortDescription(self) -> str:
|
||||||
|
"""
|
||||||
|
Returns an optional translated short description of the algorithm, displayed
|
||||||
|
on hover in Processing Toolbox. This should be at most a single sentence, e.g.,
|
||||||
|
“Converts 2D features to 3D by sampling a DEM raster.”
|
||||||
|
"""
|
||||||
|
return "Example algorithm short description on hover"
|
||||||
|
|
||||||
def shortHelpString(self) -> str:
|
def shortHelpString(self) -> str:
|
||||||
"""
|
"""
|
||||||
Returns a localised short helper string for the algorithm. This string
|
Returns a localised helper string for the algorithm displayed in the dialog.
|
||||||
should provide a basic description about what the algorithm does and the
|
This string should provide a basic description about what the algorithm does and the
|
||||||
parameters and outputs associated with it.
|
parameters and outputs associated with it.
|
||||||
"""
|
"""
|
||||||
return "Example algorithm short description"
|
return "Example algorithm description"
|
||||||
|
|
||||||
def initAlgorithm(self, config: Optional[dict[str, Any]] = None):
|
def initAlgorithm(self, config: Optional[dict[str, Any]] = None):
|
||||||
"""
|
"""
|
||||||
@ -95,13 +103,16 @@ class ExampleProcessingAlgorithm(QgsProcessingAlgorithm):
|
|||||||
|
|
||||||
# We add the input vector features source. It can have any kind of
|
# We add the input vector features source. It can have any kind of
|
||||||
# geometry.
|
# geometry.
|
||||||
self.addParameter(
|
|
||||||
QgsProcessingParameterFeatureSource(
|
input_layer = QgsProcessingParameterFeatureSource(
|
||||||
self.INPUT,
|
self.INPUT,
|
||||||
"Input layer",
|
"Input layer",
|
||||||
[QgsProcessing.SourceType.TypeVectorAnyGeometry],
|
[QgsProcessing.SourceType.TypeVectorAnyGeometry],
|
||||||
)
|
)
|
||||||
|
input_layer.setHelp(
|
||||||
|
"A descriptive, translated string explaining the parameter’s behavior and use in depth."
|
||||||
)
|
)
|
||||||
|
self.addParameter(input_layer)
|
||||||
|
|
||||||
# We add a feature sink in which to store our processed features (this
|
# We add a feature sink in which to store our processed features (this
|
||||||
# usually takes the form of a newly created vector layer when the
|
# usually takes the form of a newly created vector layer when the
|
||||||
|
@ -2395,6 +2395,7 @@ tests:
|
|||||||
- 8f59f545b5df01f213b7a2233eb364d05b5801676d1f4285ad1225a1
|
- 8f59f545b5df01f213b7a2233eb364d05b5801676d1f4285ad1225a1
|
||||||
- 360a66711d38a77e79c69aa1a42d620090024011582c4518cfd24178
|
- 360a66711d38a77e79c69aa1a42d620090024011582c4518cfd24178
|
||||||
- dada50c7bf8aa705bac0bbfc9a295f3c0e2f83cb1877545105279d75
|
- dada50c7bf8aa705bac0bbfc9a295f3c0e2f83cb1877545105279d75
|
||||||
|
- 188f828595fc929281590faf0e8fdfcaf263b7c7ed37d6eed41623b6
|
||||||
type: rasterhash
|
type: rasterhash
|
||||||
|
|
||||||
- algorithm: qgis:relief
|
- algorithm: qgis:relief
|
||||||
|
@ -658,7 +658,13 @@ class Repositories(QObject):
|
|||||||
.text()
|
.text()
|
||||||
.strip()
|
.strip()
|
||||||
)
|
)
|
||||||
|
supports_qt6 = pluginNodes.item(i).firstChildElement(
|
||||||
|
"supports_qt6"
|
||||||
|
).text().strip().upper() in ["TRUE", "YES"]
|
||||||
if not qgisMaximumVersion:
|
if not qgisMaximumVersion:
|
||||||
|
if qgisMinimumVersion[0] == "3" and supports_qt6:
|
||||||
|
qgisMaximumVersion = "4.99"
|
||||||
|
else:
|
||||||
qgisMaximumVersion = qgisMinimumVersion[0] + ".99"
|
qgisMaximumVersion = qgisMinimumVersion[0] + ".99"
|
||||||
# if compatible, add the plugin to the list
|
# if compatible, add the plugin to the list
|
||||||
if not pluginNodes.item(i).firstChildElement(
|
if not pluginNodes.item(i).firstChildElement(
|
||||||
@ -845,6 +851,9 @@ class Plugins(QObject):
|
|||||||
qgisMinimumVersion = "0"
|
qgisMinimumVersion = "0"
|
||||||
qgisMaximumVersion = pluginMetadata("qgisMaximumVersion").strip()
|
qgisMaximumVersion = pluginMetadata("qgisMaximumVersion").strip()
|
||||||
if not qgisMaximumVersion:
|
if not qgisMaximumVersion:
|
||||||
|
if qgisMinimumVersion[0] == "3" and supports_qt6:
|
||||||
|
qgisMaximumVersion = "4.99"
|
||||||
|
else:
|
||||||
qgisMaximumVersion = qgisMinimumVersion[0] + ".99"
|
qgisMaximumVersion = qgisMinimumVersion[0] + ".99"
|
||||||
# if compatible, add the plugin to the list
|
# if compatible, add the plugin to the list
|
||||||
if not isCompatible(
|
if not isCompatible(
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# The following has been generated automatically from src/server/qgsaccesscontrol.h
|
# The following has been generated automatically from src/server/qgsaccesscontrol.h
|
||||||
try:
|
try:
|
||||||
QgsAccessControl.__overridden_methods__ = ['filterFeatures', 'clone', 'layerAttributes']
|
QgsAccessControl.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
|
||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# The following has been generated automatically from src/server/qgsfeaturefilter.h
|
# The following has been generated automatically from src/server/qgsfeaturefilter.h
|
||||||
try:
|
try:
|
||||||
QgsFeatureFilter.__overridden_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
|
QgsFeatureFilter.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
|
||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# The following has been generated automatically from src/server/qgsfeaturefilterprovidergroup.h
|
# The following has been generated automatically from src/server/qgsfeaturefilterprovidergroup.h
|
||||||
try:
|
try:
|
||||||
QgsFeatureFilterProviderGroup.__overridden_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
|
QgsFeatureFilterProviderGroup.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
|
||||||
except (NameError, AttributeError):
|
except (NameError, AttributeError):
|
||||||
pass
|
pass
|
||||||
|
@ -35,6 +35,15 @@ Constructor
|
|||||||
~QgsAccessControl();
|
~QgsAccessControl();
|
||||||
|
|
||||||
|
|
||||||
|
virtual bool isFilterThreadSafe() const;
|
||||||
|
|
||||||
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
||||||
|
|
||||||
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||||
|
|
||||||
|
virtual QgsAccessControl *clone() const /Factory/;
|
||||||
|
|
||||||
|
|
||||||
void resolveFilterFeatures( const QList<QgsMapLayer *> &layers );
|
void resolveFilterFeatures( const QList<QgsMapLayer *> &layers );
|
||||||
%Docstring
|
%Docstring
|
||||||
Resolve features' filter of layers The method fetch filter's expressions
|
Resolve features' filter of layers The method fetch filter's expressions
|
||||||
@ -49,23 +58,6 @@ for efficiency; between each requests, the cache must be cleared using
|
|||||||
void unresolveFilterFeatures();
|
void unresolveFilterFeatures();
|
||||||
%Docstring
|
%Docstring
|
||||||
Clear expression's cache computed from `resolveFilterFeatures`
|
Clear expression's cache computed from `resolveFilterFeatures`
|
||||||
%End
|
|
||||||
|
|
||||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
|
||||||
|
|
||||||
%Docstring
|
|
||||||
Filter the features of the layer
|
|
||||||
|
|
||||||
:param layer: the layer to control
|
|
||||||
:param filterFeatures: the request to fill
|
|
||||||
%End
|
|
||||||
|
|
||||||
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
|
||||||
|
|
||||||
%Docstring
|
|
||||||
Returns a clone of the object
|
|
||||||
|
|
||||||
:return: A clone
|
|
||||||
%End
|
%End
|
||||||
|
|
||||||
QString extraSubsetString( const QgsVectorLayer *layer ) const;
|
QString extraSubsetString( const QgsVectorLayer *layer ) const;
|
||||||
@ -111,17 +103,6 @@ Returns the layer delete right
|
|||||||
:param layer: the layer to control
|
:param layer: the layer to control
|
||||||
|
|
||||||
:return: ``True`` if we can do a delete
|
:return: ``True`` if we can do a delete
|
||||||
%End
|
|
||||||
|
|
||||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
|
||||||
|
|
||||||
%Docstring
|
|
||||||
Returns the authorized layer attributes
|
|
||||||
|
|
||||||
:param layer: the layer to control
|
|
||||||
:param attributes: the list of attribute
|
|
||||||
|
|
||||||
:return: the list of visible attributes
|
|
||||||
%End
|
%End
|
||||||
|
|
||||||
bool allowToEdit( const QgsVectorLayer *layer, const QgsFeature &feature ) const;
|
bool allowToEdit( const QgsVectorLayer *layer, const QgsFeature &feature ) const;
|
||||||
|
@ -16,6 +16,10 @@ class QgsFeatureFilter : QgsFeatureFilterProvider
|
|||||||
%Docstring(signature="appended")
|
%Docstring(signature="appended")
|
||||||
A feature filter provider allowing to set filter expressions on a
|
A feature filter provider allowing to set filter expressions on a
|
||||||
per-layer basis.
|
per-layer basis.
|
||||||
|
|
||||||
|
.. deprecated:: 3.4
|
||||||
|
|
||||||
|
Use :py:class:`QgsFeatureExpressionFilterProvider`
|
||||||
%End
|
%End
|
||||||
|
|
||||||
%TypeHeaderCode
|
%TypeHeaderCode
|
||||||
@ -27,25 +31,14 @@ per-layer basis.
|
|||||||
Constructor
|
Constructor
|
||||||
%End
|
%End
|
||||||
|
|
||||||
|
virtual bool isFilterThreadSafe() const;
|
||||||
|
|
||||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
||||||
|
|
||||||
%Docstring
|
|
||||||
Filter the features of the layer
|
|
||||||
|
|
||||||
:param layer: the layer to control
|
|
||||||
:param filterFeatures: the request to fill
|
|
||||||
%End
|
|
||||||
|
|
||||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||||
|
|
||||||
|
|
||||||
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
||||||
|
|
||||||
%Docstring
|
|
||||||
Returns a clone of the object
|
|
||||||
|
|
||||||
:return: A clone
|
|
||||||
%End
|
|
||||||
|
|
||||||
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression );
|
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression );
|
||||||
%Docstring
|
%Docstring
|
||||||
|
@ -14,6 +14,10 @@ class QgsFeatureFilterProviderGroup : QgsFeatureFilterProvider
|
|||||||
{
|
{
|
||||||
%Docstring(signature="appended")
|
%Docstring(signature="appended")
|
||||||
A filter filter provider grouping several filter providers.
|
A filter filter provider grouping several filter providers.
|
||||||
|
|
||||||
|
.. deprecated:: 3.4
|
||||||
|
|
||||||
|
Use :py:class:`QgsGroupedFeatureFilterProvider`
|
||||||
%End
|
%End
|
||||||
|
|
||||||
%TypeHeaderCode
|
%TypeHeaderCode
|
||||||
@ -25,25 +29,14 @@ A filter filter provider grouping several filter providers.
|
|||||||
Constructor
|
Constructor
|
||||||
%End
|
%End
|
||||||
|
|
||||||
|
virtual bool isFilterThreadSafe() const;
|
||||||
|
|
||||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
||||||
|
|
||||||
%Docstring
|
|
||||||
Filter the features of the layer.
|
|
||||||
|
|
||||||
:param layer: the layer to control
|
|
||||||
:param filterFeatures: the request to fill
|
|
||||||
%End
|
|
||||||
|
|
||||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||||
|
|
||||||
|
virtual QgsFeatureFilterProviderGroup *clone() const /Factory/;
|
||||||
|
|
||||||
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
|
||||||
|
|
||||||
%Docstring
|
|
||||||
Returns a clone of the object
|
|
||||||
|
|
||||||
:return: A clone
|
|
||||||
%End
|
|
||||||
|
|
||||||
QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
|
QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
|
||||||
%Docstring
|
%Docstring
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
QgsAccessControl.allowToEdit: src/server/qgsaccesscontrol.h#L152
|
QgsAccessControl.allowToEdit: src/server/qgsaccesscontrol.h#L137
|
||||||
QgsAccessControl.clone: src/server/qgsaccesscontrol.h#L101
|
QgsAccessControl.clone: src/server/qgsaccesscontrol.h#L78
|
||||||
QgsAccessControl.extraSubsetString: src/server/qgsaccesscontrol.h#L108
|
QgsAccessControl.extraSubsetString: src/server/qgsaccesscontrol.h#L101
|
||||||
QgsAccessControl.fillCacheKey: src/server/qgsaccesscontrol.h#L158
|
QgsAccessControl.fillCacheKey: src/server/qgsaccesscontrol.h#L143
|
||||||
QgsAccessControl.filterFeatures: src/server/qgsaccesscontrol.h#L95
|
QgsAccessControl.filterFeatures: src/server/qgsaccesscontrol.h#L76
|
||||||
QgsAccessControl.layerAttributes: src/server/qgsaccesscontrol.h#L144
|
QgsAccessControl.isFilterThreadSafe: src/server/qgsaccesscontrol.h#L74
|
||||||
QgsAccessControl.layerDeletePermission: src/server/qgsaccesscontrol.h#L136
|
QgsAccessControl.layerAttributes: src/server/qgsaccesscontrol.h#L77
|
||||||
QgsAccessControl.layerInsertPermission: src/server/qgsaccesscontrol.h#L122
|
QgsAccessControl.layerDeletePermission: src/server/qgsaccesscontrol.h#L129
|
||||||
QgsAccessControl.layerReadPermission: src/server/qgsaccesscontrol.h#L115
|
QgsAccessControl.layerInsertPermission: src/server/qgsaccesscontrol.h#L115
|
||||||
QgsAccessControl.layerUpdatePermission: src/server/qgsaccesscontrol.h#L129
|
QgsAccessControl.layerReadPermission: src/server/qgsaccesscontrol.h#L108
|
||||||
QgsAccessControl.registerAccessControl: src/server/qgsaccesscontrol.h#L165
|
QgsAccessControl.layerUpdatePermission: src/server/qgsaccesscontrol.h#L122
|
||||||
QgsAccessControl.resolveFilterFeatures: src/server/qgsaccesscontrol.h#L83
|
QgsAccessControl.registerAccessControl: src/server/qgsaccesscontrol.h#L150
|
||||||
QgsAccessControl.unresolveFilterFeatures: src/server/qgsaccesscontrol.h#L88
|
QgsAccessControl.resolveFilterFeatures: src/server/qgsaccesscontrol.h#L89
|
||||||
|
QgsAccessControl.unresolveFilterFeatures: src/server/qgsaccesscontrol.h#L94
|
||||||
QgsAccessControl: src/server/qgsaccesscontrol.h#L35
|
QgsAccessControl: src/server/qgsaccesscontrol.h#L35
|
||||||
QgsAccessControlFilter.allowToEdit: src/server/qgsaccesscontrolfilter.h#L109
|
QgsAccessControlFilter.allowToEdit: src/server/qgsaccesscontrolfilter.h#L109
|
||||||
QgsAccessControlFilter.authorizedLayerAttributes: src/server/qgsaccesscontrolfilter.h#L101
|
QgsAccessControlFilter.authorizedLayerAttributes: src/server/qgsaccesscontrolfilter.h#L101
|
||||||
@ -54,15 +55,17 @@ QgsFcgiServerRequest.data: src/server/qgsfcgiserverrequest.h#L36
|
|||||||
QgsFcgiServerRequest.hasError: src/server/qgsfcgiserverrequest.h#L41
|
QgsFcgiServerRequest.hasError: src/server/qgsfcgiserverrequest.h#L41
|
||||||
QgsFcgiServerRequest.header: src/server/qgsfcgiserverrequest.h#L49
|
QgsFcgiServerRequest.header: src/server/qgsfcgiserverrequest.h#L49
|
||||||
QgsFcgiServerRequest: src/server/qgsfcgiserverrequest.h#L31
|
QgsFcgiServerRequest: src/server/qgsfcgiserverrequest.h#L31
|
||||||
QgsFeatureFilter.clone: src/server/qgsfeaturefilter.h#L52
|
QgsFeatureFilter.clone: src/server/qgsfeaturefilter.h#L44
|
||||||
QgsFeatureFilter.filterFeatures: src/server/qgsfeaturefilter.h#L44
|
QgsFeatureFilter.filterFeatures: src/server/qgsfeaturefilter.h#L42
|
||||||
QgsFeatureFilter.layerAttributes: src/server/qgsfeaturefilter.h#L46
|
QgsFeatureFilter.isFilterThreadSafe: src/server/qgsfeaturefilter.h#L40
|
||||||
QgsFeatureFilter.setFilter: src/server/qgsfeaturefilter.h#L59
|
QgsFeatureFilter.layerAttributes: src/server/qgsfeaturefilter.h#L43
|
||||||
QgsFeatureFilter: src/server/qgsfeaturefilter.h#L33
|
QgsFeatureFilter.setFilter: src/server/qgsfeaturefilter.h#L51
|
||||||
QgsFeatureFilterProviderGroup.clone: src/server/qgsfeaturefilterprovidergroup.h#L50
|
QgsFeatureFilter: src/server/qgsfeaturefilter.h#L34
|
||||||
QgsFeatureFilterProviderGroup.filterFeatures: src/server/qgsfeaturefilterprovidergroup.h#L42
|
QgsFeatureFilterProviderGroup.clone: src/server/qgsfeaturefilterprovidergroup.h#L42
|
||||||
QgsFeatureFilterProviderGroup.layerAttributes: src/server/qgsfeaturefilterprovidergroup.h#L44
|
QgsFeatureFilterProviderGroup.filterFeatures: src/server/qgsfeaturefilterprovidergroup.h#L40
|
||||||
QgsFeatureFilterProviderGroup: src/server/qgsfeaturefilterprovidergroup.h#L31
|
QgsFeatureFilterProviderGroup.isFilterThreadSafe: src/server/qgsfeaturefilterprovidergroup.h#L38
|
||||||
|
QgsFeatureFilterProviderGroup.layerAttributes: src/server/qgsfeaturefilterprovidergroup.h#L41
|
||||||
|
QgsFeatureFilterProviderGroup: src/server/qgsfeaturefilterprovidergroup.h#L32
|
||||||
QgsOgcServiceException.code: src/server/qgsserverexception.h#L94
|
QgsOgcServiceException.code: src/server/qgsserverexception.h#L94
|
||||||
QgsOgcServiceException.formatResponse: src/server/qgsserverexception.h#L102
|
QgsOgcServiceException.formatResponse: src/server/qgsserverexception.h#L102
|
||||||
QgsOgcServiceException.locator: src/server/qgsserverexception.h#L97
|
QgsOgcServiceException.locator: src/server/qgsserverexception.h#L97
|
||||||
|
@ -64,7 +64,7 @@ void QgsDirectionalLightSettings::readXml( const QDomElement &elem, const QgsRea
|
|||||||
mIntensity = elem.attribute( QStringLiteral( "intensity" ) ).toFloat();
|
mIntensity = elem.attribute( QStringLiteral( "intensity" ) ).toFloat();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QgsDirectionalLightSettings::operator==( const QgsDirectionalLightSettings &other )
|
bool QgsDirectionalLightSettings::operator==( const QgsDirectionalLightSettings &other ) const
|
||||||
{
|
{
|
||||||
return mDirection == other.mDirection && mColor == other.mColor && mIntensity == other.mIntensity;
|
return mDirection == other.mDirection && mColor == other.mColor && mIntensity == other.mIntensity;
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,7 @@ class _3D_EXPORT QgsDirectionalLightSettings : public QgsLightSource
|
|||||||
void setIntensity( float intensity ) { mIntensity = intensity; }
|
void setIntensity( float intensity ) { mIntensity = intensity; }
|
||||||
|
|
||||||
// TODO c++20 - replace with = default
|
// TODO c++20 - replace with = default
|
||||||
bool operator==( const QgsDirectionalLightSettings &other );
|
bool operator==( const QgsDirectionalLightSettings &other ) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QgsVector3D mDirection { -0.32, 0.27, -0.91 };
|
QgsVector3D mDirection { -0.32, 0.27, -0.91 };
|
||||||
|
@ -107,7 +107,7 @@ void QgsPointLightSettings::readXml( const QDomElement &elem, const QgsReadWrite
|
|||||||
mQuadraticAttenuation = elem.attribute( QStringLiteral( "attenuation-2" ) ).toDouble();
|
mQuadraticAttenuation = elem.attribute( QStringLiteral( "attenuation-2" ) ).toDouble();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QgsPointLightSettings::operator==( const QgsPointLightSettings &other )
|
bool QgsPointLightSettings::operator==( const QgsPointLightSettings &other ) const
|
||||||
{
|
{
|
||||||
return mPosition == other.mPosition && mColor == other.mColor && mIntensity == other.mIntensity && mConstantAttenuation == other.mConstantAttenuation && mLinearAttenuation == other.mLinearAttenuation && mQuadraticAttenuation == other.mQuadraticAttenuation;
|
return mPosition == other.mPosition && mColor == other.mColor && mIntensity == other.mIntensity && mConstantAttenuation == other.mConstantAttenuation && mLinearAttenuation == other.mLinearAttenuation && mQuadraticAttenuation == other.mQuadraticAttenuation;
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,7 @@ class _3D_EXPORT QgsPointLightSettings : public QgsLightSource
|
|||||||
void setQuadraticAttenuation( float value ) { mQuadraticAttenuation = value; }
|
void setQuadraticAttenuation( float value ) { mQuadraticAttenuation = value; }
|
||||||
|
|
||||||
// TODO c++20 - replace with = default
|
// TODO c++20 - replace with = default
|
||||||
bool operator==( const QgsPointLightSettings &other );
|
bool operator==( const QgsPointLightSettings &other ) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QgsVector3D mPosition { 0, 0, 1000 };
|
QgsVector3D mPosition { 0, 0, 1000 };
|
||||||
|
@ -66,7 +66,7 @@ Qgs3DMapCanvas::Qgs3DMapCanvas()
|
|||||||
const QgsSettings setting;
|
const QgsSettings setting;
|
||||||
mEngine = new QgsWindow3DEngine( this );
|
mEngine = new QgsWindow3DEngine( this );
|
||||||
|
|
||||||
connect( mEngine, &QgsAbstract3DEngine::imageCaptured, this, [=]( const QImage &image ) {
|
connect( mEngine, &QgsAbstract3DEngine::imageCaptured, this, [this]( const QImage &image ) {
|
||||||
if ( image.save( mCaptureFileName, mCaptureFileFormat.toLocal8Bit().data() ) )
|
if ( image.save( mCaptureFileName, mCaptureFileFormat.toLocal8Bit().data() ) )
|
||||||
{
|
{
|
||||||
emit savedAsImage( mCaptureFileName );
|
emit savedAsImage( mCaptureFileName );
|
||||||
@ -169,7 +169,7 @@ void Qgs3DMapCanvas::setMapSettings( Qgs3DMapSettings *mapSettings )
|
|||||||
|
|
||||||
resetView();
|
resetView();
|
||||||
|
|
||||||
connect( cameraController(), &QgsCameraController::setCursorPosition, this, [=]( QPoint point ) {
|
connect( cameraController(), &QgsCameraController::setCursorPosition, this, [this]( QPoint point ) {
|
||||||
QCursor::setPos( mapToGlobal( point ) );
|
QCursor::setPos( mapToGlobal( point ) );
|
||||||
} );
|
} );
|
||||||
connect( cameraController(), &QgsCameraController::cameraMovementSpeedChanged, mMapSettings, &Qgs3DMapSettings::setCameraMovementSpeed );
|
connect( cameraController(), &QgsCameraController::cameraMovementSpeedChanged, mMapSettings, &Qgs3DMapSettings::setCameraMovementSpeed );
|
||||||
@ -216,7 +216,7 @@ void Qgs3DMapCanvas::saveAsImage( const QString &fileName, const QString &fileFo
|
|||||||
Qt3DLogic::QFrameAction *screenCaptureFrameAction = new Qt3DLogic::QFrameAction;
|
Qt3DLogic::QFrameAction *screenCaptureFrameAction = new Qt3DLogic::QFrameAction;
|
||||||
mScene->addComponent( screenCaptureFrameAction );
|
mScene->addComponent( screenCaptureFrameAction );
|
||||||
// Wait to have the render capture enabled in the next frame
|
// Wait to have the render capture enabled in the next frame
|
||||||
connect( screenCaptureFrameAction, &Qt3DLogic::QFrameAction::triggered, this, [=]( float ) {
|
connect( screenCaptureFrameAction, &Qt3DLogic::QFrameAction::triggered, this, [this, screenCaptureFrameAction]( float ) {
|
||||||
mEngine->requestCaptureImage();
|
mEngine->requestCaptureImage();
|
||||||
mScene->removeComponent( screenCaptureFrameAction );
|
mScene->removeComponent( screenCaptureFrameAction );
|
||||||
screenCaptureFrameAction->deleteLater();
|
screenCaptureFrameAction->deleteLater();
|
||||||
@ -232,7 +232,7 @@ void Qgs3DMapCanvas::captureDepthBuffer()
|
|||||||
Qt3DLogic::QFrameAction *screenCaptureFrameAction = new Qt3DLogic::QFrameAction;
|
Qt3DLogic::QFrameAction *screenCaptureFrameAction = new Qt3DLogic::QFrameAction;
|
||||||
mScene->addComponent( screenCaptureFrameAction );
|
mScene->addComponent( screenCaptureFrameAction );
|
||||||
// Wait to have the render capture enabled in the next frame
|
// Wait to have the render capture enabled in the next frame
|
||||||
connect( screenCaptureFrameAction, &Qt3DLogic::QFrameAction::triggered, this, [=]( float ) {
|
connect( screenCaptureFrameAction, &Qt3DLogic::QFrameAction::triggered, this, [this, screenCaptureFrameAction]( float ) {
|
||||||
mEngine->requestDepthBufferCapture();
|
mEngine->requestDepthBufferCapture();
|
||||||
mScene->removeComponent( screenCaptureFrameAction );
|
mScene->removeComponent( screenCaptureFrameAction );
|
||||||
screenCaptureFrameAction->deleteLater();
|
screenCaptureFrameAction->deleteLater();
|
||||||
|
@ -159,7 +159,7 @@ Qgs3DMapScene::Qgs3DMapScene( Qgs3DMapSettings &map, QgsAbstract3DEngine *engine
|
|||||||
|
|
||||||
connect( &map, &Qgs3DMapSettings::originChanged, this, &Qgs3DMapScene::onOriginChanged );
|
connect( &map, &Qgs3DMapSettings::originChanged, this, &Qgs3DMapScene::onOriginChanged );
|
||||||
|
|
||||||
connect( QgsApplication::sourceCache(), &QgsSourceCache::remoteSourceFetched, this, [=]( const QString &url ) {
|
connect( QgsApplication::sourceCache(), &QgsSourceCache::remoteSourceFetched, this, [this]( const QString &url ) {
|
||||||
const QList<QgsMapLayer *> modelVectorLayers = mModelVectorLayers;
|
const QList<QgsMapLayer *> modelVectorLayers = mModelVectorLayers;
|
||||||
for ( QgsMapLayer *layer : modelVectorLayers )
|
for ( QgsMapLayer *layer : modelVectorLayers )
|
||||||
{
|
{
|
||||||
|
@ -33,7 +33,7 @@ void QgsAbstract3DEngine::requestCaptureImage()
|
|||||||
mFrameGraph->setRenderCaptureEnabled( true );
|
mFrameGraph->setRenderCaptureEnabled( true );
|
||||||
captureReply = mFrameGraph->renderCapture()->requestCapture();
|
captureReply = mFrameGraph->renderCapture()->requestCapture();
|
||||||
|
|
||||||
connect( captureReply, &Qt3DRender::QRenderCaptureReply::completed, this, [=] {
|
connect( captureReply, &Qt3DRender::QRenderCaptureReply::completed, this, [this, captureReply] {
|
||||||
emit imageCaptured( captureReply->image() );
|
emit imageCaptured( captureReply->image() );
|
||||||
captureReply->deleteLater();
|
captureReply->deleteLater();
|
||||||
mFrameGraph->setRenderCaptureEnabled( false );
|
mFrameGraph->setRenderCaptureEnabled( false );
|
||||||
@ -45,7 +45,7 @@ void QgsAbstract3DEngine::requestDepthBufferCapture()
|
|||||||
Qt3DRender::QRenderCaptureReply *captureReply;
|
Qt3DRender::QRenderCaptureReply *captureReply;
|
||||||
captureReply = mFrameGraph->depthRenderCapture()->requestCapture();
|
captureReply = mFrameGraph->depthRenderCapture()->requestCapture();
|
||||||
|
|
||||||
connect( captureReply, &Qt3DRender::QRenderCaptureReply::completed, this, [=] {
|
connect( captureReply, &Qt3DRender::QRenderCaptureReply::completed, this, [this, captureReply] {
|
||||||
emit depthBufferCaptured( captureReply->image() );
|
emit depthBufferCaptured( captureReply->image() );
|
||||||
captureReply->deleteLater();
|
captureReply->deleteLater();
|
||||||
} );
|
} );
|
||||||
|
@ -264,38 +264,41 @@ void QgsCameraController::setCameraPose( const QgsCameraPose &camPose, bool forc
|
|||||||
QDomElement QgsCameraController::writeXml( QDomDocument &doc ) const
|
QDomElement QgsCameraController::writeXml( QDomDocument &doc ) const
|
||||||
{
|
{
|
||||||
QDomElement elemCamera = doc.createElement( QStringLiteral( "camera" ) );
|
QDomElement elemCamera = doc.createElement( QStringLiteral( "camera" ) );
|
||||||
QgsVector3D centerPoint;
|
|
||||||
switch ( mScene->mapSettings()->sceneMode() )
|
|
||||||
{
|
|
||||||
case Qgis::SceneMode::Local:
|
|
||||||
centerPoint = mCameraPose.centerPoint();
|
|
||||||
break;
|
|
||||||
case Qgis::SceneMode::Globe:
|
|
||||||
// Save center point in map coordinates, since our world origin won't be
|
// Save center point in map coordinates, since our world origin won't be
|
||||||
// the same on loading
|
// the same on loading
|
||||||
centerPoint = mCameraPose.centerPoint() + mOrigin;
|
QgsVector3D centerPoint = mCameraPose.centerPoint() + mOrigin;
|
||||||
break;
|
elemCamera.setAttribute( QStringLiteral( "xMap" ), centerPoint.x() );
|
||||||
}
|
elemCamera.setAttribute( QStringLiteral( "yMap" ), centerPoint.y() );
|
||||||
elemCamera.setAttribute( QStringLiteral( "x" ), centerPoint.x() );
|
elemCamera.setAttribute( QStringLiteral( "zMap" ), centerPoint.z() );
|
||||||
elemCamera.setAttribute( QStringLiteral( "y" ), centerPoint.z() );
|
|
||||||
elemCamera.setAttribute( QStringLiteral( "elev" ), centerPoint.y() );
|
|
||||||
elemCamera.setAttribute( QStringLiteral( "dist" ), mCameraPose.distanceFromCenterPoint() );
|
elemCamera.setAttribute( QStringLiteral( "dist" ), mCameraPose.distanceFromCenterPoint() );
|
||||||
elemCamera.setAttribute( QStringLiteral( "pitch" ), mCameraPose.pitchAngle() );
|
elemCamera.setAttribute( QStringLiteral( "pitch" ), mCameraPose.pitchAngle() );
|
||||||
elemCamera.setAttribute( QStringLiteral( "yaw" ), mCameraPose.headingAngle() );
|
elemCamera.setAttribute( QStringLiteral( "yaw" ), mCameraPose.headingAngle() );
|
||||||
return elemCamera;
|
return elemCamera;
|
||||||
}
|
}
|
||||||
|
|
||||||
void QgsCameraController::readXml( const QDomElement &elem )
|
void QgsCameraController::readXml( const QDomElement &elem, QgsVector3D savedOrigin )
|
||||||
{
|
{
|
||||||
const float x = elem.attribute( QStringLiteral( "x" ) ).toFloat();
|
|
||||||
const float y = elem.attribute( QStringLiteral( "y" ) ).toFloat();
|
|
||||||
const float elev = elem.attribute( QStringLiteral( "elev" ) ).toFloat();
|
|
||||||
const float dist = elem.attribute( QStringLiteral( "dist" ) ).toFloat();
|
const float dist = elem.attribute( QStringLiteral( "dist" ) ).toFloat();
|
||||||
const float pitch = elem.attribute( QStringLiteral( "pitch" ) ).toFloat();
|
const float pitch = elem.attribute( QStringLiteral( "pitch" ) ).toFloat();
|
||||||
const float yaw = elem.attribute( QStringLiteral( "yaw" ) ).toFloat();
|
const float yaw = elem.attribute( QStringLiteral( "yaw" ) ).toFloat();
|
||||||
QgsVector3D centerPoint( x, elev, y );
|
|
||||||
if ( mScene->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
|
QgsVector3D centerPoint;
|
||||||
centerPoint = centerPoint - mOrigin;
|
if ( elem.hasAttribute( "xMap" ) )
|
||||||
|
{
|
||||||
|
// Prefer newer point saved in map coordinates ...
|
||||||
|
const double x = elem.attribute( QStringLiteral( "xMap" ) ).toDouble();
|
||||||
|
const double y = elem.attribute( QStringLiteral( "yMap" ) ).toDouble();
|
||||||
|
const double z = elem.attribute( QStringLiteral( "zMap" ) ).toDouble();
|
||||||
|
centerPoint = QgsVector3D( x, y, z ) - mOrigin;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// ... but allow use of older origin-relative coordinates.
|
||||||
|
const double x = elem.attribute( QStringLiteral( "x" ) ).toDouble();
|
||||||
|
const double y = elem.attribute( QStringLiteral( "y" ) ).toDouble();
|
||||||
|
const double elev = elem.attribute( QStringLiteral( "elev" ) ).toDouble();
|
||||||
|
centerPoint = QgsVector3D( x, elev, y ) - savedOrigin + mOrigin;
|
||||||
|
}
|
||||||
setLookingAtPoint( centerPoint, dist, pitch, yaw );
|
setLookingAtPoint( centerPoint, dist, pitch, yaw );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -519,8 +522,8 @@ void QgsCameraController::onPositionChangedTerrainNavigation( Qt3DInput::QMouseE
|
|||||||
const int dx = mouse->x() - mMousePos.x();
|
const int dx = mouse->x() - mMousePos.x();
|
||||||
const int dy = mouse->y() - mMousePos.y();
|
const int dy = mouse->y() - mMousePos.y();
|
||||||
|
|
||||||
const bool hasShift = ( mouse->modifiers() & Qt::ShiftModifier );
|
const bool hasShift = ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ShiftModifier );
|
||||||
const bool hasCtrl = ( mouse->modifiers() & Qt::ControlModifier );
|
const bool hasCtrl = ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ControlModifier );
|
||||||
const bool hasLeftButton = ( mouse->buttons() & Qt::LeftButton );
|
const bool hasLeftButton = ( mouse->buttons() & Qt::LeftButton );
|
||||||
const bool hasMiddleButton = ( mouse->buttons() & Qt::MiddleButton );
|
const bool hasMiddleButton = ( mouse->buttons() & Qt::MiddleButton );
|
||||||
const bool hasRightButton = ( mouse->buttons() & Qt::RightButton );
|
const bool hasRightButton = ( mouse->buttons() & Qt::RightButton );
|
||||||
@ -673,8 +676,8 @@ void QgsCameraController::onPositionChangedTerrainNavigation( Qt3DInput::QMouseE
|
|||||||
|
|
||||||
void QgsCameraController::onPositionChangedGlobeTerrainNavigation( Qt3DInput::QMouseEvent *mouse )
|
void QgsCameraController::onPositionChangedGlobeTerrainNavigation( Qt3DInput::QMouseEvent *mouse )
|
||||||
{
|
{
|
||||||
const bool hasShift = ( mouse->modifiers() & Qt::ShiftModifier );
|
const bool hasShift = ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ShiftModifier );
|
||||||
const bool hasCtrl = ( mouse->modifiers() & Qt::ControlModifier );
|
const bool hasCtrl = ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ControlModifier );
|
||||||
const bool hasLeftButton = ( mouse->buttons() & Qt::LeftButton );
|
const bool hasLeftButton = ( mouse->buttons() & Qt::LeftButton );
|
||||||
const bool hasMiddleButton = ( mouse->buttons() & Qt::MiddleButton );
|
const bool hasMiddleButton = ( mouse->buttons() & Qt::MiddleButton );
|
||||||
|
|
||||||
@ -812,7 +815,7 @@ void QgsCameraController::onWheel( Qt3DInput::QWheelEvent *wheel )
|
|||||||
{
|
{
|
||||||
case Qgis::NavigationMode::Walk:
|
case Qgis::NavigationMode::Walk:
|
||||||
{
|
{
|
||||||
const float scaling = ( ( wheel->modifiers() & Qt::ControlModifier ) != 0 ? 0.1f : 1.0f ) / 1000.f;
|
const float scaling = ( ( wheel->modifiers() & Qt3DInput::QWheelEvent::Modifiers::ControlModifier ) != 0 ? 0.1f : 1.0f ) / 1000.f;
|
||||||
setCameraMovementSpeed( mCameraMovementSpeed + mCameraMovementSpeed * scaling * wheel->angleDelta().y() );
|
setCameraMovementSpeed( mCameraMovementSpeed + mCameraMovementSpeed * scaling * wheel->angleDelta().y() );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -821,7 +824,7 @@ void QgsCameraController::onWheel( Qt3DInput::QWheelEvent *wheel )
|
|||||||
{
|
{
|
||||||
// Scale our variable to roughly "number of normal steps", with Ctrl
|
// Scale our variable to roughly "number of normal steps", with Ctrl
|
||||||
// increasing granularity 10x
|
// increasing granularity 10x
|
||||||
const double scaling = ( 1.0 / 120.0 ) * ( ( wheel->modifiers() & Qt::ControlModifier ) != 0 ? 0.1 : 1.0 );
|
const double scaling = ( 1.0 / 120.0 ) * ( ( wheel->modifiers() & Qt3DInput::QWheelEvent::Modifiers::ControlModifier ) != 0 ? 0.1 : 1.0 );
|
||||||
|
|
||||||
// Apparently angleDelta needs to be accumulated
|
// Apparently angleDelta needs to be accumulated
|
||||||
// see: https://doc.qt.io/qt-5/qwheelevent.html#angleDelta
|
// see: https://doc.qt.io/qt-5/qwheelevent.html#angleDelta
|
||||||
@ -858,7 +861,7 @@ void QgsCameraController::onMousePressed( Qt3DInput::QMouseEvent *mouse )
|
|||||||
|
|
||||||
mKeyboardHandler->setFocus( true );
|
mKeyboardHandler->setFocus( true );
|
||||||
|
|
||||||
if ( mouse->button() == Qt3DInput::QMouseEvent::MiddleButton || ( ( mouse->modifiers() & Qt::ShiftModifier ) != 0 && mouse->button() == Qt3DInput::QMouseEvent::LeftButton ) || ( ( mouse->modifiers() & Qt::ControlModifier ) != 0 && mouse->button() == Qt3DInput::QMouseEvent::LeftButton ) )
|
if ( mouse->button() == Qt3DInput::QMouseEvent::MiddleButton || ( ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ShiftModifier ) != 0 && mouse->button() == Qt3DInput::QMouseEvent::LeftButton ) || ( ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ControlModifier ) != 0 && mouse->button() == Qt3DInput::QMouseEvent::LeftButton ) )
|
||||||
{
|
{
|
||||||
mMousePos = QPoint( mouse->x(), mouse->y() );
|
mMousePos = QPoint( mouse->x(), mouse->y() );
|
||||||
|
|
||||||
@ -866,7 +869,7 @@ void QgsCameraController::onMousePressed( Qt3DInput::QMouseEvent *mouse )
|
|||||||
mIgnoreNextMouseMove = true;
|
mIgnoreNextMouseMove = true;
|
||||||
|
|
||||||
const MouseOperation operation {
|
const MouseOperation operation {
|
||||||
( mouse->modifiers() & Qt::ControlModifier ) != 0 && mouse->button() == Qt3DInput::QMouseEvent::LeftButton ? MouseOperation::RotationCamera : MouseOperation::RotationCenter
|
( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ControlModifier ) != 0 && mouse->button() == Qt3DInput::QMouseEvent::LeftButton ? MouseOperation::RotationCamera : MouseOperation::RotationCenter
|
||||||
};
|
};
|
||||||
setMouseParameters( operation, mMousePos );
|
setMouseParameters( operation, mMousePos );
|
||||||
}
|
}
|
||||||
|
@ -174,7 +174,7 @@ class _3D_EXPORT QgsCameraController : public QObject
|
|||||||
//! Writes camera configuration to the given DOM element
|
//! Writes camera configuration to the given DOM element
|
||||||
QDomElement writeXml( QDomDocument &doc ) const;
|
QDomElement writeXml( QDomDocument &doc ) const;
|
||||||
//! Reads camera configuration from the given DOM element
|
//! Reads camera configuration from the given DOM element
|
||||||
void readXml( const QDomElement &elem );
|
void readXml( const QDomElement &elem, QgsVector3D savedOrigin );
|
||||||
|
|
||||||
//! Zoom the map by \a factor
|
//! Zoom the map by \a factor
|
||||||
void zoom( float factor );
|
void zoom( float factor );
|
||||||
|
@ -278,7 +278,7 @@ class QgsGlobeChunkLoader : public QgsChunkLoader
|
|||||||
, mTextureGenerator( textureGenerator )
|
, mTextureGenerator( textureGenerator )
|
||||||
, mGlobeCrsToLatLon( globeCrsToLatLon )
|
, mGlobeCrsToLatLon( globeCrsToLatLon )
|
||||||
{
|
{
|
||||||
connect( mTextureGenerator, &QgsTerrainTextureGenerator::tileReady, this, [=]( int job, const QImage &img ) {
|
connect( mTextureGenerator, &QgsTerrainTextureGenerator::tileReady, this, [this]( int job, const QImage &img ) {
|
||||||
if ( job == mJobId )
|
if ( job == mJobId )
|
||||||
{
|
{
|
||||||
mTexture = img;
|
mTexture = img;
|
||||||
@ -436,7 +436,7 @@ class QgsGlobeMapUpdateJob : public QgsChunkQueueJob
|
|||||||
QgsTerrainTextureImage *terrainTexImage = qobject_cast<QgsTerrainTextureImage *>( texImages[0] );
|
QgsTerrainTextureImage *terrainTexImage = qobject_cast<QgsTerrainTextureImage *>( texImages[0] );
|
||||||
Q_ASSERT( terrainTexImage );
|
Q_ASSERT( terrainTexImage );
|
||||||
|
|
||||||
connect( textureGenerator, &QgsTerrainTextureGenerator::tileReady, this, [=]( int jobId, const QImage &image ) {
|
connect( textureGenerator, &QgsTerrainTextureGenerator::tileReady, this, [this, terrainTexImage]( int jobId, const QImage &image ) {
|
||||||
if ( mJobId == jobId )
|
if ( mJobId == jobId )
|
||||||
{
|
{
|
||||||
terrainTexImage->setImage( image );
|
terrainTexImage->setImage( image );
|
||||||
@ -487,7 +487,7 @@ class QgsGlobeMapUpdateJobFactory : public QgsChunkQueueJobFactory
|
|||||||
QgsGlobeEntity::QgsGlobeEntity( Qgs3DMapSettings *mapSettings )
|
QgsGlobeEntity::QgsGlobeEntity( Qgs3DMapSettings *mapSettings )
|
||||||
: QgsChunkedEntity( mapSettings, mapSettings->terrainSettings()->maximumScreenError(), new QgsGlobeChunkLoaderFactory( mapSettings ), true )
|
: QgsChunkedEntity( mapSettings, mapSettings->terrainSettings()->maximumScreenError(), new QgsGlobeChunkLoaderFactory( mapSettings ), true )
|
||||||
{
|
{
|
||||||
connect( mapSettings, &Qgs3DMapSettings::showTerrainBoundingBoxesChanged, this, [=] {
|
connect( mapSettings, &Qgs3DMapSettings::showTerrainBoundingBoxesChanged, this, [this, mapSettings] {
|
||||||
setShowBoundingBoxes( mapSettings->showTerrainBoundingBoxes() );
|
setShowBoundingBoxes( mapSettings->showTerrainBoundingBoxes() );
|
||||||
} );
|
} );
|
||||||
connect( mapSettings, &Qgs3DMapSettings::showTerrainTilesInfoChanged, this, &QgsGlobeEntity::invalidateMapImages );
|
connect( mapSettings, &Qgs3DMapSettings::showTerrainTilesInfoChanged, this, &QgsGlobeEntity::invalidateMapImages );
|
||||||
|
@ -135,7 +135,7 @@ bool QgsVectorWarperTask::run()
|
|||||||
|
|
||||||
QgsVectorWarper warper( mMethod, mPoints, mDestinationCrs );
|
QgsVectorWarper warper( mMethod, mPoints, mDestinationCrs );
|
||||||
|
|
||||||
connect( mFeedback.get(), &QgsFeedback::processedCountChanged, this, [=]( long long count ) {
|
connect( mFeedback.get(), &QgsFeedback::processedCountChanged, this, [this]( long long count ) {
|
||||||
const double newProgress = 100.0 * count / mFeatureCount;
|
const double newProgress = 100.0 * count / mFeatureCount;
|
||||||
// avoid flooding with too many events
|
// avoid flooding with too many events
|
||||||
if ( static_cast<int>( newProgress * 10 ) != static_cast<int>( mLastProgress * 10 ) )
|
if ( static_cast<int>( newProgress * 10 ) != static_cast<int>( mLastProgress * 10 ) )
|
||||||
|
@ -73,10 +73,10 @@ QVariantMap QgsPdalInformationAlgorithm::processAlgorithm( const QVariantMap &pa
|
|||||||
QStringList commandOutput;
|
QStringList commandOutput;
|
||||||
|
|
||||||
QgsBlockingProcess wrenchProcess( wrenchPath, processArgs );
|
QgsBlockingProcess wrenchProcess( wrenchPath, processArgs );
|
||||||
wrenchProcess.setStdErrHandler( [=]( const QByteArray &ba ) {
|
wrenchProcess.setStdErrHandler( [feedback]( const QByteArray &ba ) {
|
||||||
feedback->reportError( ba.trimmed() );
|
feedback->reportError( ba.trimmed() );
|
||||||
} );
|
} );
|
||||||
wrenchProcess.setStdOutHandler( [=, &commandOutput]( const QByteArray &ba ) {
|
wrenchProcess.setStdOutHandler( [feedback, &commandOutput]( const QByteArray &ba ) {
|
||||||
feedback->pushConsoleInfo( ba.trimmed() );
|
feedback->pushConsoleInfo( ba.trimmed() );
|
||||||
commandOutput << ba;
|
commandOutput << ba;
|
||||||
} );
|
} );
|
||||||
|
@ -189,10 +189,10 @@ QVariantMap QgsPdalAlgorithmBase::processAlgorithm( const QVariantMap ¶meter
|
|||||||
QString buffer;
|
QString buffer;
|
||||||
|
|
||||||
QgsBlockingProcess wrenchProcess( wrenchPath, processArgs );
|
QgsBlockingProcess wrenchProcess( wrenchPath, processArgs );
|
||||||
wrenchProcess.setStdErrHandler( [=]( const QByteArray &ba ) {
|
wrenchProcess.setStdErrHandler( [feedback]( const QByteArray &ba ) {
|
||||||
feedback->reportError( ba.trimmed() );
|
feedback->reportError( ba.trimmed() );
|
||||||
} );
|
} );
|
||||||
wrenchProcess.setStdOutHandler( [=, &progress, &buffer]( const QByteArray &ba ) {
|
wrenchProcess.setStdOutHandler( [feedback, &progress, &buffer]( const QByteArray &ba ) {
|
||||||
QString data( ba );
|
QString data( ba );
|
||||||
|
|
||||||
QRegularExpression re( "\\.*(\\d+)?\\.*$" );
|
QRegularExpression re( "\\.*(\\d+)?\\.*$" );
|
||||||
|
@ -137,7 +137,7 @@ QgsFeatureList QgsDrapeAlgorithmBase::processFeature( const QgsFeature &feature,
|
|||||||
// a pointless iteration over all vertices
|
// a pointless iteration over all vertices
|
||||||
if ( !mRasterExtent.isNull() && geometry.boundingBoxIntersects( mRasterExtent ) )
|
if ( !mRasterExtent.isNull() && geometry.boundingBoxIntersects( mRasterExtent ) )
|
||||||
{
|
{
|
||||||
geometry.transformVertices( [=]( const QgsPoint &p ) -> QgsPoint {
|
geometry.transformVertices( [this, nodata, scale, offset, feedback, &f]( const QgsPoint &p ) -> QgsPoint {
|
||||||
QgsPointXY t;
|
QgsPointXY t;
|
||||||
double val = nodata;
|
double val = nodata;
|
||||||
try
|
try
|
||||||
|
@ -111,10 +111,10 @@ QVariantMap QgsConvertGpxFeatureTypeAlgorithm::processAlgorithm( const QVariantM
|
|||||||
feedback->pushCommandInfo( QObject::tr( "Conversion command: " ) + babelPath + ' ' + logArgs.join( ' ' ) );
|
feedback->pushCommandInfo( QObject::tr( "Conversion command: " ) + babelPath + ' ' + logArgs.join( ' ' ) );
|
||||||
|
|
||||||
QgsBlockingProcess babelProcess( babelPath, processArgs );
|
QgsBlockingProcess babelProcess( babelPath, processArgs );
|
||||||
babelProcess.setStdErrHandler( [=]( const QByteArray &ba ) {
|
babelProcess.setStdErrHandler( [feedback]( const QByteArray &ba ) {
|
||||||
feedback->reportError( ba );
|
feedback->reportError( ba );
|
||||||
} );
|
} );
|
||||||
babelProcess.setStdOutHandler( [=]( const QByteArray &ba ) {
|
babelProcess.setStdOutHandler( [feedback]( const QByteArray &ba ) {
|
||||||
feedback->pushDebugInfo( ba );
|
feedback->pushDebugInfo( ba );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
@ -355,10 +355,10 @@ QVariantMap QgsConvertGpsDataAlgorithm::processAlgorithm( const QVariantMap &par
|
|||||||
feedback->pushCommandInfo( QObject::tr( "Conversion command: " ) + logCommand.join( ' ' ) );
|
feedback->pushCommandInfo( QObject::tr( "Conversion command: " ) + logCommand.join( ' ' ) );
|
||||||
|
|
||||||
QgsBlockingProcess babelProcess( processCommand.value( 0 ), processCommand.mid( 1 ) );
|
QgsBlockingProcess babelProcess( processCommand.value( 0 ), processCommand.mid( 1 ) );
|
||||||
babelProcess.setStdErrHandler( [=]( const QByteArray &ba ) {
|
babelProcess.setStdErrHandler( [feedback]( const QByteArray &ba ) {
|
||||||
feedback->reportError( ba );
|
feedback->reportError( ba );
|
||||||
} );
|
} );
|
||||||
babelProcess.setStdOutHandler( [=]( const QByteArray &ba ) {
|
babelProcess.setStdOutHandler( [feedback]( const QByteArray &ba ) {
|
||||||
feedback->pushDebugInfo( ba );
|
feedback->pushDebugInfo( ba );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
@ -576,10 +576,10 @@ QVariantMap QgsDownloadGpsDataAlgorithm::processAlgorithm( const QVariantMap &pa
|
|||||||
feedback->pushCommandInfo( QObject::tr( "Download command: " ) + logCommand.join( ' ' ) );
|
feedback->pushCommandInfo( QObject::tr( "Download command: " ) + logCommand.join( ' ' ) );
|
||||||
|
|
||||||
QgsBlockingProcess babelProcess( processCommand.value( 0 ), processCommand.mid( 1 ) );
|
QgsBlockingProcess babelProcess( processCommand.value( 0 ), processCommand.mid( 1 ) );
|
||||||
babelProcess.setStdErrHandler( [=]( const QByteArray &ba ) {
|
babelProcess.setStdErrHandler( [feedback]( const QByteArray &ba ) {
|
||||||
feedback->reportError( ba );
|
feedback->reportError( ba );
|
||||||
} );
|
} );
|
||||||
babelProcess.setStdOutHandler( [=]( const QByteArray &ba ) {
|
babelProcess.setStdOutHandler( [feedback]( const QByteArray &ba ) {
|
||||||
feedback->pushDebugInfo( ba );
|
feedback->pushDebugInfo( ba );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
@ -796,10 +796,10 @@ QVariantMap QgsUploadGpsDataAlgorithm::processAlgorithm( const QVariantMap ¶
|
|||||||
feedback->pushCommandInfo( QObject::tr( "Upload command: " ) + logCommand.join( ' ' ) );
|
feedback->pushCommandInfo( QObject::tr( "Upload command: " ) + logCommand.join( ' ' ) );
|
||||||
|
|
||||||
QgsBlockingProcess babelProcess( processCommand.value( 0 ), processCommand.mid( 1 ) );
|
QgsBlockingProcess babelProcess( processCommand.value( 0 ), processCommand.mid( 1 ) );
|
||||||
babelProcess.setStdErrHandler( [=]( const QByteArray &ba ) {
|
babelProcess.setStdErrHandler( [feedback]( const QByteArray &ba ) {
|
||||||
feedback->reportError( ba );
|
feedback->reportError( ba );
|
||||||
} );
|
} );
|
||||||
babelProcess.setStdOutHandler( [=]( const QByteArray &ba ) {
|
babelProcess.setStdOutHandler( [feedback]( const QByteArray &ba ) {
|
||||||
feedback->pushDebugInfo( ba );
|
feedback->pushDebugInfo( ba );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
@ -61,6 +61,9 @@ void QgsPackageAlgorithm::initAlgorithm( const QVariantMap & )
|
|||||||
addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "SAVE_METADATA" ), QObject::tr( "Save layer metadata into GeoPackage" ), true ) );
|
addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "SAVE_METADATA" ), QObject::tr( "Save layer metadata into GeoPackage" ), true ) );
|
||||||
addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "SELECTED_FEATURES_ONLY" ), QObject::tr( "Save only selected features" ), false ) );
|
addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "SELECTED_FEATURES_ONLY" ), QObject::tr( "Save only selected features" ), false ) );
|
||||||
addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "EXPORT_RELATED_LAYERS" ), QObject::tr( "Export related layers following relations defined in the project" ), false ) );
|
addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "EXPORT_RELATED_LAYERS" ), QObject::tr( "Export related layers following relations defined in the project" ), false ) );
|
||||||
|
auto extentParam = std::make_unique<QgsProcessingParameterExtent>( QStringLiteral( "EXTENT" ), QObject::tr( "Extent" ), QVariant(), true );
|
||||||
|
extentParam->setHelp( QObject::tr( "Limit exported features to those with geometries intersecting the provided extent" ) );
|
||||||
|
addParameter( extentParam.release() );
|
||||||
addOutput( new QgsProcessingOutputMultipleLayers( QStringLiteral( "OUTPUT_LAYERS" ), QObject::tr( "Layers within new package" ) ) );
|
addOutput( new QgsProcessingOutputMultipleLayers( QStringLiteral( "OUTPUT_LAYERS" ), QObject::tr( "Layers within new package" ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -139,7 +142,7 @@ QVariantMap QgsPackageAlgorithm::processAlgorithm( const QVariantMap ¶meters
|
|||||||
int recursionGuard { 0 };
|
int recursionGuard { 0 };
|
||||||
|
|
||||||
// This function recursively finds referenced layers
|
// This function recursively finds referenced layers
|
||||||
const auto findReferenced = [=, &project, &feedback, &recursionGuard, &layers]( const QgsVectorLayer *vLayer, bool onlySaveSelected, auto &&findReferenced ) -> void {
|
const auto findReferenced = [this, &project, &feedback, &recursionGuard, &layers]( const QgsVectorLayer *vLayer, bool onlySaveSelected, auto &&findReferenced ) -> void {
|
||||||
const QgsVectorLayer *originalLayer { qobject_cast<QgsVectorLayer *>( project->mapLayer( mClonedLayerIds.value( vLayer->id(), vLayer->id() ) ) ) };
|
const QgsVectorLayer *originalLayer { qobject_cast<QgsVectorLayer *>( project->mapLayer( mClonedLayerIds.value( vLayer->id(), vLayer->id() ) ) ) };
|
||||||
Q_ASSERT( originalLayer );
|
Q_ASSERT( originalLayer );
|
||||||
const QList<QgsRelation> relations { project->relationManager()->referencingRelations( originalLayer ) };
|
const QList<QgsRelation> relations { project->relationManager()->referencingRelations( originalLayer ) };
|
||||||
@ -205,7 +208,7 @@ QVariantMap QgsPackageAlgorithm::processAlgorithm( const QVariantMap ¶meters
|
|||||||
};
|
};
|
||||||
|
|
||||||
// This function recursively finds referencing layers
|
// This function recursively finds referencing layers
|
||||||
const auto findReferencing = [=, &project, &feedback, &recursionGuard, &layers]( const QgsVectorLayer *vLayer, bool onlySaveSelected, auto &&findReferencing ) -> void {
|
const auto findReferencing = [this, &project, &feedback, &recursionGuard, &layers]( const QgsVectorLayer *vLayer, bool onlySaveSelected, auto &&findReferencing ) -> void {
|
||||||
const QgsVectorLayer *originalLayer { qobject_cast<QgsVectorLayer *>( project->mapLayer( mClonedLayerIds.value( vLayer->id(), vLayer->id() ) ) ) };
|
const QgsVectorLayer *originalLayer { qobject_cast<QgsVectorLayer *>( project->mapLayer( mClonedLayerIds.value( vLayer->id(), vLayer->id() ) ) ) };
|
||||||
Q_ASSERT( originalLayer );
|
Q_ASSERT( originalLayer );
|
||||||
const QList<QgsRelation> relations { project->relationManager()->referencedRelations( originalLayer ) };
|
const QList<QgsRelation> relations { project->relationManager()->referencedRelations( originalLayer ) };
|
||||||
@ -309,6 +312,7 @@ QVariantMap QgsPackageAlgorithm::processAlgorithm( const QVariantMap ¶meters
|
|||||||
throw QgsProcessingException( QObject::tr( "Opening database %1 failed (OGR error: %2)" ).arg( packagePath, QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
|
throw QgsProcessingException( QObject::tr( "Opening database %1 failed (OGR error: %2)" ).arg( packagePath, QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const bool validExtent = parameters.value( QStringLiteral( "EXTENT" ) ).isValid();
|
||||||
|
|
||||||
bool errored = false;
|
bool errored = false;
|
||||||
|
|
||||||
@ -335,12 +339,25 @@ QVariantMap QgsPackageAlgorithm::processAlgorithm( const QVariantMap ¶meters
|
|||||||
|
|
||||||
feedback->pushInfo( QObject::tr( "Packaging layer %1/%2: %3" ).arg( i ).arg( mLayers.size() ).arg( layer ? layer->name() : QString() ) );
|
feedback->pushInfo( QObject::tr( "Packaging layer %1/%2: %3" ).arg( i ).arg( mLayers.size() ).arg( layer ? layer->name() : QString() ) );
|
||||||
|
|
||||||
|
QgsRectangle extent;
|
||||||
|
|
||||||
switch ( layer->type() )
|
switch ( layer->type() )
|
||||||
{
|
{
|
||||||
case Qgis::LayerType::Vector:
|
case Qgis::LayerType::Vector:
|
||||||
{
|
{
|
||||||
QgsVectorLayer *vectorLayer = qobject_cast<QgsVectorLayer *>( layer.get() );
|
QgsVectorLayer *vectorLayer = qobject_cast<QgsVectorLayer *>( layer.get() );
|
||||||
if ( !packageVectorLayer( vectorLayer, packagePath, context, &multiStepFeedback, saveStyles, saveMetadata, selectedFeaturesOnly ) )
|
|
||||||
|
if ( validExtent )
|
||||||
|
{
|
||||||
|
if ( vectorLayer->hasSpatialIndex() == Qgis::SpatialIndexPresence::NotPresent )
|
||||||
|
{
|
||||||
|
feedback->pushWarning( QObject::tr( "No spatial index exists for layer %1, performance will be severely degraded" ).arg( vectorLayer->name() ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
extent = parameterAsExtent( parameters, QStringLiteral( "EXTENT" ), context, layer->crs() );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !packageVectorLayer( vectorLayer, packagePath, context, &multiStepFeedback, saveStyles, saveMetadata, selectedFeaturesOnly, extent ) )
|
||||||
errored = true;
|
errored = true;
|
||||||
else
|
else
|
||||||
outputLayers.append( QStringLiteral( "%1|layername=%2" ).arg( packagePath, layer->name() ) );
|
outputLayers.append( QStringLiteral( "%1|layername=%2" ).arg( packagePath, layer->name() ) );
|
||||||
@ -408,7 +425,7 @@ QVariantMap QgsPackageAlgorithm::processAlgorithm( const QVariantMap ¶meters
|
|||||||
return outputs;
|
return outputs;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QgsPackageAlgorithm::packageVectorLayer( QgsVectorLayer *layer, const QString &path, QgsProcessingContext &context, QgsProcessingFeedback *feedback, bool saveStyles, bool saveMetadata, bool selectedFeaturesOnly )
|
bool QgsPackageAlgorithm::packageVectorLayer( QgsVectorLayer *layer, const QString &path, QgsProcessingContext &context, QgsProcessingFeedback *feedback, bool saveStyles, bool saveMetadata, bool selectedFeaturesOnly, const QgsRectangle &extent )
|
||||||
{
|
{
|
||||||
QgsVectorFileWriter::SaveVectorOptions options;
|
QgsVectorFileWriter::SaveVectorOptions options;
|
||||||
options.driverName = QStringLiteral( "GPKG" );
|
options.driverName = QStringLiteral( "GPKG" );
|
||||||
@ -450,6 +467,11 @@ bool QgsPackageAlgorithm::packageVectorLayer( QgsVectorLayer *layer, const QStri
|
|||||||
options.skipAttributeCreation = true;
|
options.skipAttributeCreation = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( !extent.isNull() )
|
||||||
|
{
|
||||||
|
options.filterExtent = extent;
|
||||||
|
}
|
||||||
|
|
||||||
QString error;
|
QString error;
|
||||||
QString newFilename;
|
QString newFilename;
|
||||||
QString newLayer;
|
QString newLayer;
|
||||||
|
@ -49,7 +49,7 @@ class QgsPackageAlgorithm : public QgsProcessingAlgorithm
|
|||||||
QVariantMap processAlgorithm( const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback ) override;
|
QVariantMap processAlgorithm( const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback ) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool packageVectorLayer( QgsVectorLayer *layer, const QString &path, QgsProcessingContext &context, QgsProcessingFeedback *feedback, bool saveStyles, bool saveMetadata, bool selectedFeaturesOnly );
|
bool packageVectorLayer( QgsVectorLayer *layer, const QString &path, QgsProcessingContext &context, QgsProcessingFeedback *feedback, bool saveStyles, bool saveMetadata, bool selectedFeaturesOnly, const QgsRectangle &extent );
|
||||||
|
|
||||||
std::vector<std::unique_ptr<QgsMapLayer>> mLayers;
|
std::vector<std::unique_ptr<QgsMapLayer>> mLayers;
|
||||||
QMap<QString, QString> mClonedLayerIds;
|
QMap<QString, QString> mClonedLayerIds;
|
||||||
|
@ -179,7 +179,7 @@ QVariantMap QgsRasterBooleanLogicAlgorithmBase::processAlgorithm( const QVariant
|
|||||||
|
|
||||||
QgsRasterLogicalOrAlgorithm::QgsRasterLogicalOrAlgorithm()
|
QgsRasterLogicalOrAlgorithm::QgsRasterLogicalOrAlgorithm()
|
||||||
{
|
{
|
||||||
mExtractValFunc = [=]( const std::vector<std::unique_ptr<QgsRasterBlock>> &inputs, bool &res, bool &resIsNoData, int row, int column, bool treatNoDataAsFalse ) {
|
mExtractValFunc = []( const std::vector<std::unique_ptr<QgsRasterBlock>> &inputs, bool &res, bool &resIsNoData, int row, int column, bool treatNoDataAsFalse ) {
|
||||||
res = false;
|
res = false;
|
||||||
resIsNoData = false;
|
resIsNoData = false;
|
||||||
bool isNoData = false;
|
bool isNoData = false;
|
||||||
@ -252,7 +252,7 @@ QgsRasterLogicalOrAlgorithm *QgsRasterLogicalOrAlgorithm::createInstance() const
|
|||||||
|
|
||||||
QgsRasterLogicalAndAlgorithm::QgsRasterLogicalAndAlgorithm()
|
QgsRasterLogicalAndAlgorithm::QgsRasterLogicalAndAlgorithm()
|
||||||
{
|
{
|
||||||
mExtractValFunc = [=]( const std::vector<std::unique_ptr<QgsRasterBlock>> &inputs, bool &res, bool &resIsNoData, int row, int column, bool treatNoDataAsFalse ) {
|
mExtractValFunc = []( const std::vector<std::unique_ptr<QgsRasterBlock>> &inputs, bool &res, bool &resIsNoData, int row, int column, bool treatNoDataAsFalse ) {
|
||||||
res = true;
|
res = true;
|
||||||
resIsNoData = false;
|
resIsNoData = false;
|
||||||
bool isNoData = false;
|
bool isNoData = false;
|
||||||
|
@ -40,7 +40,7 @@ Qgs3DAnimationExportDialog::Qgs3DAnimationExportDialog()
|
|||||||
QValidator *validator = new QRegularExpressionValidator( rx, this );
|
QValidator *validator = new QRegularExpressionValidator( rx, this );
|
||||||
mTemplateLineEdit->setValidator( validator );
|
mTemplateLineEdit->setValidator( validator );
|
||||||
|
|
||||||
connect( mTemplateLineEdit, &QLineEdit::textChanged, this, [=] {
|
connect( mTemplateLineEdit, &QLineEdit::textChanged, this, [this] {
|
||||||
QgsSettings settings;
|
QgsSettings settings;
|
||||||
settings.setValue( QStringLiteral( "Export3DAnimation/fileNameTemplate" ), mTemplateLineEdit->text() );
|
settings.setValue( QStringLiteral( "Export3DAnimation/fileNameTemplate" ), mTemplateLineEdit->text() );
|
||||||
} );
|
} );
|
||||||
@ -51,30 +51,30 @@ Qgs3DAnimationExportDialog::Qgs3DAnimationExportDialog()
|
|||||||
mOutputDirFileWidget->setDefaultRoot( settings.value( QStringLiteral( "Export3DAnimation/lastDir" ), QString(), QgsSettings::App ).toString() );
|
mOutputDirFileWidget->setDefaultRoot( settings.value( QStringLiteral( "Export3DAnimation/lastDir" ), QString(), QgsSettings::App ).toString() );
|
||||||
mOutputDirFileWidget->setFilePath( settings.value( QStringLiteral( "Export3DAnimation/lastDir" ), QString(), QgsSettings::App ).toString() );
|
mOutputDirFileWidget->setFilePath( settings.value( QStringLiteral( "Export3DAnimation/lastDir" ), QString(), QgsSettings::App ).toString() );
|
||||||
|
|
||||||
connect( mOutputDirFileWidget, &QgsFileWidget::fileChanged, this, [=] {
|
connect( mOutputDirFileWidget, &QgsFileWidget::fileChanged, this, [this] {
|
||||||
QgsSettings settings;
|
QgsSettings settings;
|
||||||
settings.setValue( QStringLiteral( "Export3DAnimation/lastDir" ), mOutputDirFileWidget->filePath(), QgsSettings::App );
|
settings.setValue( QStringLiteral( "Export3DAnimation/lastDir" ), mOutputDirFileWidget->filePath(), QgsSettings::App );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
mFpsSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/fps" ), 30 ).toInt() );
|
mFpsSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/fps" ), 30 ).toInt() );
|
||||||
connect( mFpsSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [=] {
|
connect( mFpsSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [this] {
|
||||||
QgsSettings settings;
|
QgsSettings settings;
|
||||||
settings.setValue( QStringLiteral( "Export3DAnimation/fps" ), mFpsSpinBox->value() );
|
settings.setValue( QStringLiteral( "Export3DAnimation/fps" ), mFpsSpinBox->value() );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
mWidthSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/width" ), 800 ).toInt() );
|
mWidthSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/width" ), 800 ).toInt() );
|
||||||
connect( mWidthSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [=] {
|
connect( mWidthSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [this] {
|
||||||
QgsSettings settings;
|
QgsSettings settings;
|
||||||
settings.setValue( QStringLiteral( "Export3DAnimation/width" ), mWidthSpinBox->value() );
|
settings.setValue( QStringLiteral( "Export3DAnimation/width" ), mWidthSpinBox->value() );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
mHeightSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/height" ), 600 ).toInt() );
|
mHeightSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/height" ), 600 ).toInt() );
|
||||||
connect( mHeightSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [=] {
|
connect( mHeightSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [this] {
|
||||||
QgsSettings settings;
|
QgsSettings settings;
|
||||||
settings.setValue( QStringLiteral( "Export3DAnimation/height" ), mHeightSpinBox->value() );
|
settings.setValue( QStringLiteral( "Export3DAnimation/height" ), mHeightSpinBox->value() );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
connect( mButtonBox, &QDialogButtonBox::helpRequested, this, [=] {
|
connect( mButtonBox, &QDialogButtonBox::helpRequested, this, [] {
|
||||||
QgsHelp::openHelp( QStringLiteral( "map_views/3d_map_view.html#create-animation" ) );
|
QgsHelp::openHelp( QStringLiteral( "map_views/3d_map_view.html#create-animation" ) );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
@ -75,29 +75,29 @@ void Qgs3DDebugWidget::setMapSettings( Qgs3DMapSettings *mapSettings )
|
|||||||
whileBlocking( chkStopUpdates )->setChecked( mMap->stopUpdates() );
|
whileBlocking( chkStopUpdates )->setChecked( mMap->stopUpdates() );
|
||||||
whileBlocking( chkStopOriginShifts )->setChecked( !m3DMapCanvas->scene()->hasSceneOriginShiftEnabled() );
|
whileBlocking( chkStopOriginShifts )->setChecked( !m3DMapCanvas->scene()->hasSceneOriginShiftEnabled() );
|
||||||
whileBlocking( chkDebugOverlay )->setChecked( mMap->isDebugOverlayEnabled() );
|
whileBlocking( chkDebugOverlay )->setChecked( mMap->isDebugOverlayEnabled() );
|
||||||
connect( chkShowTileInfo, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowTerrainTilesInfo( enabled ); } );
|
connect( chkShowTileInfo, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowTerrainTilesInfo( enabled ); } );
|
||||||
connect( chkShowBoundingBoxes, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowTerrainBoundingBoxes( enabled ); } );
|
connect( chkShowBoundingBoxes, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowTerrainBoundingBoxes( enabled ); } );
|
||||||
connect( chkShowCameraViewCenter, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowCameraViewCenter( enabled ); } );
|
connect( chkShowCameraViewCenter, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowCameraViewCenter( enabled ); } );
|
||||||
connect( chkShowCameraRotationCenter, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowCameraRotationCenter( enabled ); } );
|
connect( chkShowCameraRotationCenter, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowCameraRotationCenter( enabled ); } );
|
||||||
connect( chkShowLightSourceOrigins, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowLightSourceOrigins( enabled ); } );
|
connect( chkShowLightSourceOrigins, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowLightSourceOrigins( enabled ); } );
|
||||||
connect( chkStopUpdates, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setStopUpdates( enabled ); } );
|
connect( chkStopUpdates, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setStopUpdates( enabled ); } );
|
||||||
connect( chkStopOriginShifts, &QCheckBox::toggled, this, [=]( const bool enabled ) {
|
connect( chkStopOriginShifts, &QCheckBox::toggled, this, [this]( const bool enabled ) {
|
||||||
m3DMapCanvas->scene()->setSceneOriginShiftEnabled( !enabled );
|
m3DMapCanvas->scene()->setSceneOriginShiftEnabled( !enabled );
|
||||||
} );
|
} );
|
||||||
connect( chkDebugOverlay, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setIsDebugOverlayEnabled( enabled ); } );
|
connect( chkDebugOverlay, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setIsDebugOverlayEnabled( enabled ); } );
|
||||||
|
|
||||||
// set up the shadow map block
|
// set up the shadow map block
|
||||||
whileBlocking( mDebugShadowMapGroupBox )->setChecked( mMap->debugShadowMapEnabled() );
|
whileBlocking( mDebugShadowMapGroupBox )->setChecked( mMap->debugShadowMapEnabled() );
|
||||||
whileBlocking( mDebugShadowMapCornerComboBox )->setCurrentIndex( mMap->debugShadowMapCorner() );
|
whileBlocking( mDebugShadowMapCornerComboBox )->setCurrentIndex( mMap->debugShadowMapCorner() );
|
||||||
whileBlocking( mDebugShadowMapSizeSpinBox )->setValue( mMap->debugShadowMapSize() );
|
whileBlocking( mDebugShadowMapSizeSpinBox )->setValue( mMap->debugShadowMapSize() );
|
||||||
// Do not display the shadow debug map if the shadow effect is not enabled.
|
// Do not display the shadow debug map if the shadow effect is not enabled.
|
||||||
connect( mDebugShadowMapGroupBox, &QGroupBox::toggled, this, [=]( const bool enabled ) {
|
connect( mDebugShadowMapGroupBox, &QGroupBox::toggled, this, [this]( const bool enabled ) {
|
||||||
mMap->setDebugShadowMapSettings( enabled && mMap->shadowSettings().renderShadows(), static_cast<Qt::Corner>( mDebugShadowMapCornerComboBox->currentIndex() ), mDebugShadowMapSizeSpinBox->value() );
|
mMap->setDebugShadowMapSettings( enabled && mMap->shadowSettings().renderShadows(), static_cast<Qt::Corner>( mDebugShadowMapCornerComboBox->currentIndex() ), mDebugShadowMapSizeSpinBox->value() );
|
||||||
} );
|
} );
|
||||||
connect( mDebugShadowMapCornerComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( const int index ) {
|
connect( mDebugShadowMapCornerComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( const int index ) {
|
||||||
mMap->setDebugShadowMapSettings( mDebugShadowMapGroupBox->isChecked() && mMap->shadowSettings().renderShadows(), static_cast<Qt::Corner>( index ), mDebugShadowMapSizeSpinBox->value() );
|
mMap->setDebugShadowMapSettings( mDebugShadowMapGroupBox->isChecked() && mMap->shadowSettings().renderShadows(), static_cast<Qt::Corner>( index ), mDebugShadowMapSizeSpinBox->value() );
|
||||||
} );
|
} );
|
||||||
connect( mDebugShadowMapSizeSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
|
connect( mDebugShadowMapSizeSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
|
||||||
mMap->setDebugShadowMapSettings( mDebugShadowMapGroupBox->isChecked() && mMap->shadowSettings().renderShadows(), static_cast<Qt::Corner>( mDebugShadowMapCornerComboBox->currentIndex() ), value );
|
mMap->setDebugShadowMapSettings( mDebugShadowMapGroupBox->isChecked() && mMap->shadowSettings().renderShadows(), static_cast<Qt::Corner>( mDebugShadowMapCornerComboBox->currentIndex() ), value );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
@ -105,39 +105,39 @@ void Qgs3DDebugWidget::setMapSettings( Qgs3DMapSettings *mapSettings )
|
|||||||
whileBlocking( mDebugDepthMapGroupBox )->setChecked( mMap->debugDepthMapEnabled() );
|
whileBlocking( mDebugDepthMapGroupBox )->setChecked( mMap->debugDepthMapEnabled() );
|
||||||
whileBlocking( mDebugDepthMapCornerComboBox )->setCurrentIndex( mMap->debugDepthMapCorner() );
|
whileBlocking( mDebugDepthMapCornerComboBox )->setCurrentIndex( mMap->debugDepthMapCorner() );
|
||||||
whileBlocking( mDebugDepthMapSizeSpinBox )->setValue( mMap->debugDepthMapSize() );
|
whileBlocking( mDebugDepthMapSizeSpinBox )->setValue( mMap->debugDepthMapSize() );
|
||||||
connect( mDebugDepthMapGroupBox, &QGroupBox::toggled, this, [=]( const bool enabled ) {
|
connect( mDebugDepthMapGroupBox, &QGroupBox::toggled, this, [this]( const bool enabled ) {
|
||||||
mMap->setDebugDepthMapSettings( enabled, static_cast<Qt::Corner>( mDebugDepthMapCornerComboBox->currentIndex() ), mDebugDepthMapSizeSpinBox->value() );
|
mMap->setDebugDepthMapSettings( enabled, static_cast<Qt::Corner>( mDebugDepthMapCornerComboBox->currentIndex() ), mDebugDepthMapSizeSpinBox->value() );
|
||||||
} );
|
} );
|
||||||
connect( mDebugDepthMapCornerComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( const int index ) {
|
connect( mDebugDepthMapCornerComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( const int index ) {
|
||||||
mMap->setDebugDepthMapSettings( mDebugDepthMapGroupBox->isChecked(), static_cast<Qt::Corner>( index ), mDebugDepthMapSizeSpinBox->value() );
|
mMap->setDebugDepthMapSettings( mDebugDepthMapGroupBox->isChecked(), static_cast<Qt::Corner>( index ), mDebugDepthMapSizeSpinBox->value() );
|
||||||
} );
|
} );
|
||||||
connect( mDebugDepthMapSizeSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
|
connect( mDebugDepthMapSizeSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
|
||||||
mMap->setDebugDepthMapSettings( mDebugDepthMapGroupBox->isChecked(), static_cast<Qt::Corner>( mDebugDepthMapCornerComboBox->currentIndex() ), value );
|
mMap->setDebugDepthMapSettings( mDebugDepthMapGroupBox->isChecked(), static_cast<Qt::Corner>( mDebugDepthMapCornerComboBox->currentIndex() ), value );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
// connect the camera info spin boxes with changing functions
|
// connect the camera info spin boxes with changing functions
|
||||||
connect( mNearPlane, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
|
connect( mNearPlane, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
|
||||||
m3DMapCanvas->cameraController()->camera()->setNearPlane( static_cast<float>( value ) );
|
m3DMapCanvas->cameraController()->camera()->setNearPlane( static_cast<float>( value ) );
|
||||||
} );
|
} );
|
||||||
connect( mFarPlane, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
|
connect( mFarPlane, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
|
||||||
m3DMapCanvas->cameraController()->camera()->setFarPlane( static_cast<float>( value ) );
|
m3DMapCanvas->cameraController()->camera()->setFarPlane( static_cast<float>( value ) );
|
||||||
} );
|
} );
|
||||||
connect( mCameraX, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
|
connect( mCameraX, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
|
||||||
QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position();
|
QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position();
|
||||||
newPosition.setX( static_cast<float>( value ) );
|
newPosition.setX( static_cast<float>( value ) );
|
||||||
m3DMapCanvas->cameraController()->camera()->setPosition( newPosition );
|
m3DMapCanvas->cameraController()->camera()->setPosition( newPosition );
|
||||||
} );
|
} );
|
||||||
connect( mCameraY, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
|
connect( mCameraY, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
|
||||||
QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position();
|
QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position();
|
||||||
newPosition.setY( static_cast<float>( value ) );
|
newPosition.setY( static_cast<float>( value ) );
|
||||||
m3DMapCanvas->cameraController()->camera()->setPosition( newPosition );
|
m3DMapCanvas->cameraController()->camera()->setPosition( newPosition );
|
||||||
} );
|
} );
|
||||||
connect( mCameraZ, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
|
connect( mCameraZ, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
|
||||||
QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position();
|
QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position();
|
||||||
newPosition.setZ( static_cast<float>( value ) );
|
newPosition.setZ( static_cast<float>( value ) );
|
||||||
m3DMapCanvas->cameraController()->camera()->setPosition( newPosition );
|
m3DMapCanvas->cameraController()->camera()->setPosition( newPosition );
|
||||||
} );
|
} );
|
||||||
connect( mLookingX, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
|
connect( mLookingX, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
|
||||||
QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint();
|
QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint();
|
||||||
newLookingAt.setX( value );
|
newLookingAt.setX( value );
|
||||||
m3DMapCanvas->cameraController()->setLookingAtPoint(
|
m3DMapCanvas->cameraController()->setLookingAtPoint(
|
||||||
@ -147,7 +147,7 @@ void Qgs3DDebugWidget::setMapSettings( Qgs3DMapSettings *mapSettings )
|
|||||||
m3DMapCanvas->cameraController()->yaw()
|
m3DMapCanvas->cameraController()->yaw()
|
||||||
);
|
);
|
||||||
} );
|
} );
|
||||||
connect( mLookingY, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
|
connect( mLookingY, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
|
||||||
QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint();
|
QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint();
|
||||||
newLookingAt.setY( value );
|
newLookingAt.setY( value );
|
||||||
m3DMapCanvas->cameraController()->setLookingAtPoint(
|
m3DMapCanvas->cameraController()->setLookingAtPoint(
|
||||||
@ -157,7 +157,7 @@ void Qgs3DDebugWidget::setMapSettings( Qgs3DMapSettings *mapSettings )
|
|||||||
m3DMapCanvas->cameraController()->yaw()
|
m3DMapCanvas->cameraController()->yaw()
|
||||||
);
|
);
|
||||||
} );
|
} );
|
||||||
connect( mLookingZ, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
|
connect( mLookingZ, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
|
||||||
QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint();
|
QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint();
|
||||||
newLookingAt.setZ( value );
|
newLookingAt.setZ( value );
|
||||||
m3DMapCanvas->cameraController()->setLookingAtPoint(
|
m3DMapCanvas->cameraController()->setLookingAtPoint(
|
||||||
|
@ -230,7 +230,7 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
|
|||||||
|
|
||||||
mActionSync2DNavTo3D = new QAction( tr( "2D Map View Follows 3D Camera" ), this );
|
mActionSync2DNavTo3D = new QAction( tr( "2D Map View Follows 3D Camera" ), this );
|
||||||
mActionSync2DNavTo3D->setCheckable( true );
|
mActionSync2DNavTo3D->setCheckable( true );
|
||||||
connect( mActionSync2DNavTo3D, &QAction::triggered, this, [=]( bool enabled ) {
|
connect( mActionSync2DNavTo3D, &QAction::triggered, this, [this]( bool enabled ) {
|
||||||
Qgis::ViewSyncModeFlags syncMode = mCanvas->mapSettings()->viewSyncMode();
|
Qgis::ViewSyncModeFlags syncMode = mCanvas->mapSettings()->viewSyncMode();
|
||||||
syncMode.setFlag( Qgis::ViewSyncModeFlag::Sync2DTo3D, enabled );
|
syncMode.setFlag( Qgis::ViewSyncModeFlag::Sync2DTo3D, enabled );
|
||||||
mCanvas->mapSettings()->setViewSyncMode( syncMode );
|
mCanvas->mapSettings()->setViewSyncMode( syncMode );
|
||||||
@ -239,7 +239,7 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
|
|||||||
|
|
||||||
mActionSync3DNavTo2D = new QAction( tr( "3D Camera Follows 2D Map View" ), this );
|
mActionSync3DNavTo2D = new QAction( tr( "3D Camera Follows 2D Map View" ), this );
|
||||||
mActionSync3DNavTo2D->setCheckable( true );
|
mActionSync3DNavTo2D->setCheckable( true );
|
||||||
connect( mActionSync3DNavTo2D, &QAction::triggered, this, [=]( bool enabled ) {
|
connect( mActionSync3DNavTo2D, &QAction::triggered, this, [this]( bool enabled ) {
|
||||||
Qgis::ViewSyncModeFlags syncMode = mCanvas->mapSettings()->viewSyncMode();
|
Qgis::ViewSyncModeFlags syncMode = mCanvas->mapSettings()->viewSyncMode();
|
||||||
syncMode.setFlag( Qgis::ViewSyncModeFlag::Sync3DTo2D, enabled );
|
syncMode.setFlag( Qgis::ViewSyncModeFlag::Sync3DTo2D, enabled );
|
||||||
mCanvas->mapSettings()->setViewSyncMode( syncMode );
|
mCanvas->mapSettings()->setViewSyncMode( syncMode );
|
||||||
@ -248,14 +248,14 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
|
|||||||
|
|
||||||
mShowFrustumPolygon = new QAction( tr( "Show Visible Camera Area in 2D Map View" ), this );
|
mShowFrustumPolygon = new QAction( tr( "Show Visible Camera Area in 2D Map View" ), this );
|
||||||
mShowFrustumPolygon->setCheckable( true );
|
mShowFrustumPolygon->setCheckable( true );
|
||||||
connect( mShowFrustumPolygon, &QAction::triggered, this, [=]( bool enabled ) {
|
connect( mShowFrustumPolygon, &QAction::triggered, this, [this]( bool enabled ) {
|
||||||
mCanvas->mapSettings()->setViewFrustumVisualizationEnabled( enabled );
|
mCanvas->mapSettings()->setViewFrustumVisualizationEnabled( enabled );
|
||||||
} );
|
} );
|
||||||
mCameraMenu->addAction( mShowFrustumPolygon );
|
mCameraMenu->addAction( mShowFrustumPolygon );
|
||||||
|
|
||||||
mActionSetSceneExtent = mCameraMenu->addAction( QgsApplication::getThemeIcon( QStringLiteral( "extents.svg" ) ), tr( "Set 3D Scene Extent on 2D Map View" ), this, &Qgs3DMapCanvasWidget::setSceneExtentOn2DCanvas );
|
mActionSetSceneExtent = mCameraMenu->addAction( QgsApplication::getThemeIcon( QStringLiteral( "extents.svg" ) ), tr( "Set 3D Scene Extent on 2D Map View" ), this, &Qgs3DMapCanvasWidget::setSceneExtentOn2DCanvas );
|
||||||
mActionSetSceneExtent->setCheckable( true );
|
mActionSetSceneExtent->setCheckable( true );
|
||||||
auto createShortcuts = [=]( const QString &objectName, void ( Qgs3DMapCanvasWidget::*slot )() ) {
|
auto createShortcuts = [this]( const QString &objectName, void ( Qgs3DMapCanvasWidget::*slot )() ) {
|
||||||
if ( QShortcut *sc = QgsGui::shortcutsManager()->shortcutByName( objectName ) )
|
if ( QShortcut *sc = QgsGui::shortcutsManager()->shortcutByName( objectName ) )
|
||||||
connect( sc, &QShortcut::activated, this, slot );
|
connect( sc, &QShortcut::activated, this, slot );
|
||||||
};
|
};
|
||||||
@ -277,7 +277,7 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
|
|||||||
|
|
||||||
mActionEnableShadows = new QAction( tr( "Show Shadows" ), this );
|
mActionEnableShadows = new QAction( tr( "Show Shadows" ), this );
|
||||||
mActionEnableShadows->setCheckable( true );
|
mActionEnableShadows->setCheckable( true );
|
||||||
connect( mActionEnableShadows, &QAction::toggled, this, [=]( bool enabled ) {
|
connect( mActionEnableShadows, &QAction::toggled, this, [this]( bool enabled ) {
|
||||||
QgsShadowSettings settings = mCanvas->mapSettings()->shadowSettings();
|
QgsShadowSettings settings = mCanvas->mapSettings()->shadowSettings();
|
||||||
settings.setRenderShadows( enabled );
|
settings.setRenderShadows( enabled );
|
||||||
mCanvas->mapSettings()->setShadowSettings( settings );
|
mCanvas->mapSettings()->setShadowSettings( settings );
|
||||||
@ -286,14 +286,14 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
|
|||||||
|
|
||||||
mActionEnableEyeDome = new QAction( tr( "Show Eye Dome Lighting" ), this );
|
mActionEnableEyeDome = new QAction( tr( "Show Eye Dome Lighting" ), this );
|
||||||
mActionEnableEyeDome->setCheckable( true );
|
mActionEnableEyeDome->setCheckable( true );
|
||||||
connect( mActionEnableEyeDome, &QAction::triggered, this, [=]( bool enabled ) {
|
connect( mActionEnableEyeDome, &QAction::triggered, this, [this]( bool enabled ) {
|
||||||
mCanvas->mapSettings()->setEyeDomeLightingEnabled( enabled );
|
mCanvas->mapSettings()->setEyeDomeLightingEnabled( enabled );
|
||||||
} );
|
} );
|
||||||
mEffectsMenu->addAction( mActionEnableEyeDome );
|
mEffectsMenu->addAction( mActionEnableEyeDome );
|
||||||
|
|
||||||
mActionEnableAmbientOcclusion = new QAction( tr( "Show Ambient Occlusion" ), this );
|
mActionEnableAmbientOcclusion = new QAction( tr( "Show Ambient Occlusion" ), this );
|
||||||
mActionEnableAmbientOcclusion->setCheckable( true );
|
mActionEnableAmbientOcclusion->setCheckable( true );
|
||||||
connect( mActionEnableAmbientOcclusion, &QAction::triggered, this, [=]( bool enabled ) {
|
connect( mActionEnableAmbientOcclusion, &QAction::triggered, this, [this]( bool enabled ) {
|
||||||
QgsAmbientOcclusionSettings ambientOcclusionSettings = mCanvas->mapSettings()->ambientOcclusionSettings();
|
QgsAmbientOcclusionSettings ambientOcclusionSettings = mCanvas->mapSettings()->ambientOcclusionSettings();
|
||||||
ambientOcclusionSettings.setEnabled( enabled );
|
ambientOcclusionSettings.setEnabled( enabled );
|
||||||
mCanvas->mapSettings()->setAmbientOcclusionSettings( ambientOcclusionSettings );
|
mCanvas->mapSettings()->setAmbientOcclusionSettings( ambientOcclusionSettings );
|
||||||
@ -308,7 +308,7 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
|
|||||||
mCanvas = new Qgs3DMapCanvas;
|
mCanvas = new Qgs3DMapCanvas;
|
||||||
mCanvas->setMinimumSize( QSize( 200, 200 ) );
|
mCanvas->setMinimumSize( QSize( 200, 200 ) );
|
||||||
|
|
||||||
connect( mCanvas, &Qgs3DMapCanvas::savedAsImage, this, [=]( const QString &fileName ) {
|
connect( mCanvas, &Qgs3DMapCanvas::savedAsImage, this, []( const QString &fileName ) {
|
||||||
QgisApp::instance()->messageBar()->pushSuccess( tr( "Save as Image" ), tr( "Successfully saved the 3D map to <a href=\"%1\">%2</a>" ).arg( QUrl::fromLocalFile( fileName ).toString(), QDir::toNativeSeparators( fileName ) ) );
|
QgisApp::instance()->messageBar()->pushSuccess( tr( "Save as Image" ), tr( "Successfully saved the 3D map to <a href=\"%1\">%2</a>" ).arg( QUrl::fromLocalFile( fileName ).toString(), QDir::toNativeSeparators( fileName ) ) );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
@ -353,7 +353,7 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
|
|||||||
|
|
||||||
mLabelNavSpeedHideTimeout = new QTimer( this );
|
mLabelNavSpeedHideTimeout = new QTimer( this );
|
||||||
mLabelNavSpeedHideTimeout->setInterval( 1000 );
|
mLabelNavSpeedHideTimeout->setInterval( 1000 );
|
||||||
connect( mLabelNavSpeedHideTimeout, &QTimer::timeout, this, [=] {
|
connect( mLabelNavSpeedHideTimeout, &QTimer::timeout, this, [this] {
|
||||||
mLabelNavigationSpeed->hide();
|
mLabelNavigationSpeed->hide();
|
||||||
mLabelNavSpeedHideTimeout->stop();
|
mLabelNavSpeedHideTimeout->stop();
|
||||||
} );
|
} );
|
||||||
@ -404,10 +404,10 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
|
|||||||
}
|
}
|
||||||
QAction *dockAction = mDockableWidgetHelper->createDockUndockAction( tr( "Dock 3D Map View" ), this );
|
QAction *dockAction = mDockableWidgetHelper->createDockUndockAction( tr( "Dock 3D Map View" ), this );
|
||||||
toolBar->addAction( dockAction );
|
toolBar->addAction( dockAction );
|
||||||
connect( mDockableWidgetHelper, &QgsDockableWidgetHelper::closed, this, [=]() {
|
connect( mDockableWidgetHelper, &QgsDockableWidgetHelper::closed, this, [this]() {
|
||||||
QgisApp::instance()->close3DMapView( canvasName() );
|
QgisApp::instance()->close3DMapView( canvasName() );
|
||||||
} );
|
} );
|
||||||
connect( dockAction, &QAction::toggled, this, [=]( const bool isSmallSize ) {
|
connect( dockAction, &QAction::toggled, this, [toolBar]( const bool isSmallSize ) {
|
||||||
toolBar->setIconSize( QgisApp::instance()->iconSize( isSmallSize ) );
|
toolBar->setIconSize( QgisApp::instance()->iconSize( isSmallSize ) );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
@ -769,7 +769,7 @@ void Qgs3DMapCanvasWidget::configure()
|
|||||||
Qgs3DMapConfigWidget *w = new Qgs3DMapConfigWidget( map, mMainCanvas, mCanvas, mConfigureDialog );
|
Qgs3DMapConfigWidget *w = new Qgs3DMapConfigWidget( map, mMainCanvas, mCanvas, mConfigureDialog );
|
||||||
QDialogButtonBox *buttons = new QDialogButtonBox( QDialogButtonBox::Apply | QDialogButtonBox::Ok | QDialogButtonBox::Cancel | QDialogButtonBox::Help, mConfigureDialog );
|
QDialogButtonBox *buttons = new QDialogButtonBox( QDialogButtonBox::Apply | QDialogButtonBox::Ok | QDialogButtonBox::Cancel | QDialogButtonBox::Help, mConfigureDialog );
|
||||||
|
|
||||||
auto applyConfig = [=]() {
|
auto applyConfig = [this, map, w]() {
|
||||||
const QgsVector3D oldOrigin = map->origin();
|
const QgsVector3D oldOrigin = map->origin();
|
||||||
const QgsCoordinateReferenceSystem oldCrs = map->crs();
|
const QgsCoordinateReferenceSystem oldCrs = map->crs();
|
||||||
const QgsCameraPose oldCameraPose = mCanvas->cameraController()->cameraPose();
|
const QgsCameraPose oldCameraPose = mCanvas->cameraController()->cameraPose();
|
||||||
@ -797,7 +797,7 @@ void Qgs3DMapCanvasWidget::configure()
|
|||||||
};
|
};
|
||||||
|
|
||||||
connect( buttons, &QDialogButtonBox::rejected, mConfigureDialog, &QDialog::reject );
|
connect( buttons, &QDialogButtonBox::rejected, mConfigureDialog, &QDialog::reject );
|
||||||
connect( buttons, &QDialogButtonBox::clicked, mConfigureDialog, [=]( QAbstractButton *button ) {
|
connect( buttons, &QDialogButtonBox::clicked, mConfigureDialog, [this, buttons, applyConfig]( QAbstractButton *button ) {
|
||||||
if ( button == buttons->button( QDialogButtonBox::Apply ) || button == buttons->button( QDialogButtonBox::Ok ) )
|
if ( button == buttons->button( QDialogButtonBox::Apply ) || button == buttons->button( QDialogButtonBox::Ok ) )
|
||||||
applyConfig();
|
applyConfig();
|
||||||
if ( button == buttons->button( QDialogButtonBox::Ok ) )
|
if ( button == buttons->button( QDialogButtonBox::Ok ) )
|
||||||
@ -805,7 +805,7 @@ void Qgs3DMapCanvasWidget::configure()
|
|||||||
} );
|
} );
|
||||||
connect( buttons, &QDialogButtonBox::helpRequested, w, []() { QgsHelp::openHelp( QStringLiteral( "map_views/3d_map_view.html#scene-configuration" ) ); } );
|
connect( buttons, &QDialogButtonBox::helpRequested, w, []() { QgsHelp::openHelp( QStringLiteral( "map_views/3d_map_view.html#scene-configuration" ) ); } );
|
||||||
|
|
||||||
connect( w, &Qgs3DMapConfigWidget::isValidChanged, this, [=]( bool valid ) {
|
connect( w, &Qgs3DMapConfigWidget::isValidChanged, this, [buttons]( bool valid ) {
|
||||||
buttons->button( QDialogButtonBox::Apply )->setEnabled( valid );
|
buttons->button( QDialogButtonBox::Apply )->setEnabled( valid );
|
||||||
buttons->button( QDialogButtonBox::Ok )->setEnabled( valid );
|
buttons->button( QDialogButtonBox::Ok )->setEnabled( valid );
|
||||||
} );
|
} );
|
||||||
@ -838,7 +838,7 @@ void Qgs3DMapCanvasWidget::exportScene()
|
|||||||
|
|
||||||
connect( buttons, &QDialogButtonBox::accepted, &dlg, &QDialog::accept );
|
connect( buttons, &QDialogButtonBox::accepted, &dlg, &QDialog::accept );
|
||||||
connect( buttons, &QDialogButtonBox::rejected, &dlg, &QDialog::reject );
|
connect( buttons, &QDialogButtonBox::rejected, &dlg, &QDialog::reject );
|
||||||
connect( buttons, &QDialogButtonBox::helpRequested, &dlg, [=] { QgsHelp::openHelp( QStringLiteral( "map_views/3d_map_view.html" ) ); } );
|
connect( buttons, &QDialogButtonBox::helpRequested, &dlg, [] { QgsHelp::openHelp( QStringLiteral( "map_views/3d_map_view.html" ) ); } );
|
||||||
|
|
||||||
QVBoxLayout *layout = new QVBoxLayout( &dlg );
|
QVBoxLayout *layout = new QVBoxLayout( &dlg );
|
||||||
layout->addWidget( &exportWidget, 1 );
|
layout->addWidget( &exportWidget, 1 );
|
||||||
@ -902,7 +902,7 @@ void Qgs3DMapCanvasWidget::mapThemeMenuAboutToShow()
|
|||||||
{
|
{
|
||||||
actionFollowMain->setChecked( true );
|
actionFollowMain->setChecked( true );
|
||||||
}
|
}
|
||||||
connect( actionFollowMain, &QAction::triggered, this, [=] {
|
connect( actionFollowMain, &QAction::triggered, this, [this] {
|
||||||
mCanvas->mapSettings()->setTerrainMapTheme( QString() );
|
mCanvas->mapSettings()->setTerrainMapTheme( QString() );
|
||||||
} );
|
} );
|
||||||
mMapThemeMenuPresetActions.append( actionFollowMain );
|
mMapThemeMenuPresetActions.append( actionFollowMain );
|
||||||
|
@ -59,7 +59,7 @@ Qgs3DMapConfigWidget::Qgs3DMapConfigWidget( Qgs3DMapSettings *map, QgsMapCanvas
|
|||||||
// get rid of annoying outer focus rect on Mac
|
// get rid of annoying outer focus rect on Mac
|
||||||
m3DOptionsListWidget->setAttribute( Qt::WA_MacShowFocusRect, false );
|
m3DOptionsListWidget->setAttribute( Qt::WA_MacShowFocusRect, false );
|
||||||
m3DOptionsListWidget->setCurrentRow( settings.value( QStringLiteral( "Windows/3DMapConfig/Tab" ), 0 ).toInt() );
|
m3DOptionsListWidget->setCurrentRow( settings.value( QStringLiteral( "Windows/3DMapConfig/Tab" ), 0 ).toInt() );
|
||||||
connect( m3DOptionsListWidget, &QListWidget::currentRowChanged, this, [=]( int index ) { m3DOptionsStackedWidget->setCurrentIndex( index ); } );
|
connect( m3DOptionsListWidget, &QListWidget::currentRowChanged, this, [this]( int index ) { m3DOptionsStackedWidget->setCurrentIndex( index ); } );
|
||||||
m3DOptionsStackedWidget->setCurrentIndex( m3DOptionsListWidget->currentRow() );
|
m3DOptionsStackedWidget->setCurrentIndex( m3DOptionsListWidget->currentRow() );
|
||||||
|
|
||||||
if ( !settings.contains( QStringLiteral( "Windows/3DMapConfig/OptionsSplitState" ) ) )
|
if ( !settings.contains( QStringLiteral( "Windows/3DMapConfig/OptionsSplitState" ) ) )
|
||||||
@ -76,7 +76,7 @@ Qgs3DMapConfigWidget::Qgs3DMapConfigWidget( Qgs3DMapSettings *map, QgsMapCanvas
|
|||||||
|
|
||||||
cboCameraProjectionType->addItem( tr( "Perspective Projection" ), Qt3DRender::QCameraLens::PerspectiveProjection );
|
cboCameraProjectionType->addItem( tr( "Perspective Projection" ), Qt3DRender::QCameraLens::PerspectiveProjection );
|
||||||
cboCameraProjectionType->addItem( tr( "Orthogonal Projection" ), Qt3DRender::QCameraLens::OrthographicProjection );
|
cboCameraProjectionType->addItem( tr( "Orthogonal Projection" ), Qt3DRender::QCameraLens::OrthographicProjection );
|
||||||
connect( cboCameraProjectionType, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, [=]() {
|
connect( cboCameraProjectionType, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, [this]() {
|
||||||
spinCameraFieldOfView->setEnabled( cboCameraProjectionType->currentIndex() == cboCameraProjectionType->findData( Qt3DRender::QCameraLens::PerspectiveProjection ) );
|
spinCameraFieldOfView->setEnabled( cboCameraProjectionType->currentIndex() == cboCameraProjectionType->findData( Qt3DRender::QCameraLens::PerspectiveProjection ) );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
|
|||||||
mZoomInButton,
|
mZoomInButton,
|
||||||
&QToolButton::clicked,
|
&QToolButton::clicked,
|
||||||
m3DMapCanvas,
|
m3DMapCanvas,
|
||||||
[=] {
|
[this] {
|
||||||
QgsCameraController *controller = m3DMapCanvas->cameraController();
|
QgsCameraController *controller = m3DMapCanvas->cameraController();
|
||||||
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
|
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
|
||||||
controller->globeZoom( ZOOM_FACTOR );
|
controller->globeZoom( ZOOM_FACTOR );
|
||||||
@ -61,7 +61,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
|
|||||||
mZoomOutButton,
|
mZoomOutButton,
|
||||||
&QToolButton::clicked,
|
&QToolButton::clicked,
|
||||||
m3DMapCanvas,
|
m3DMapCanvas,
|
||||||
[=] {
|
[this] {
|
||||||
QgsCameraController *controller = m3DMapCanvas->cameraController();
|
QgsCameraController *controller = m3DMapCanvas->cameraController();
|
||||||
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
|
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
|
||||||
controller->globeZoom( 1 / ZOOM_FACTOR );
|
controller->globeZoom( 1 / ZOOM_FACTOR );
|
||||||
@ -75,7 +75,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
|
|||||||
mTiltUpButton,
|
mTiltUpButton,
|
||||||
&QToolButton::clicked,
|
&QToolButton::clicked,
|
||||||
m3DMapCanvas,
|
m3DMapCanvas,
|
||||||
[=] {
|
[this] {
|
||||||
m3DMapCanvas->cameraController()->tiltUpAroundViewCenter( 1 );
|
m3DMapCanvas->cameraController()->tiltUpAroundViewCenter( 1 );
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -85,7 +85,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
|
|||||||
mTiltDownButton,
|
mTiltDownButton,
|
||||||
&QToolButton::clicked,
|
&QToolButton::clicked,
|
||||||
m3DMapCanvas,
|
m3DMapCanvas,
|
||||||
[=] {
|
[this] {
|
||||||
m3DMapCanvas->cameraController()->tiltUpAroundViewCenter( -1 );
|
m3DMapCanvas->cameraController()->tiltUpAroundViewCenter( -1 );
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -98,7 +98,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
|
|||||||
mCompass,
|
mCompass,
|
||||||
&QwtDial::valueChanged,
|
&QwtDial::valueChanged,
|
||||||
m3DMapCanvas,
|
m3DMapCanvas,
|
||||||
[=] {
|
[this] {
|
||||||
m3DMapCanvas->cameraController()->setCameraHeadingAngle( float( mCompass->value() ) );
|
m3DMapCanvas->cameraController()->setCameraHeadingAngle( float( mCompass->value() ) );
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -108,7 +108,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
|
|||||||
mMoveUpButton,
|
mMoveUpButton,
|
||||||
&QToolButton::clicked,
|
&QToolButton::clicked,
|
||||||
m3DMapCanvas,
|
m3DMapCanvas,
|
||||||
[=] {
|
[this] {
|
||||||
QgsCameraController *controller = m3DMapCanvas->cameraController();
|
QgsCameraController *controller = m3DMapCanvas->cameraController();
|
||||||
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
|
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
|
||||||
controller->globeMoveCenterPoint( MOVE_FACTOR * controller->cameraPose().distanceFromCenterPoint(), 0 );
|
controller->globeMoveCenterPoint( MOVE_FACTOR * controller->cameraPose().distanceFromCenterPoint(), 0 );
|
||||||
@ -122,7 +122,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
|
|||||||
mMoveRightButton,
|
mMoveRightButton,
|
||||||
&QToolButton::clicked,
|
&QToolButton::clicked,
|
||||||
m3DMapCanvas,
|
m3DMapCanvas,
|
||||||
[=] {
|
[this] {
|
||||||
QgsCameraController *controller = m3DMapCanvas->cameraController();
|
QgsCameraController *controller = m3DMapCanvas->cameraController();
|
||||||
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
|
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
|
||||||
controller->globeMoveCenterPoint( 0, MOVE_FACTOR * controller->cameraPose().distanceFromCenterPoint() );
|
controller->globeMoveCenterPoint( 0, MOVE_FACTOR * controller->cameraPose().distanceFromCenterPoint() );
|
||||||
@ -136,7 +136,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
|
|||||||
mMoveDownButton,
|
mMoveDownButton,
|
||||||
&QToolButton::clicked,
|
&QToolButton::clicked,
|
||||||
m3DMapCanvas,
|
m3DMapCanvas,
|
||||||
[=] {
|
[this] {
|
||||||
QgsCameraController *controller = m3DMapCanvas->cameraController();
|
QgsCameraController *controller = m3DMapCanvas->cameraController();
|
||||||
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
|
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
|
||||||
controller->globeMoveCenterPoint( -MOVE_FACTOR * controller->cameraPose().distanceFromCenterPoint(), 0 );
|
controller->globeMoveCenterPoint( -MOVE_FACTOR * controller->cameraPose().distanceFromCenterPoint(), 0 );
|
||||||
@ -150,7 +150,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
|
|||||||
mMoveLeftButton,
|
mMoveLeftButton,
|
||||||
&QToolButton::clicked,
|
&QToolButton::clicked,
|
||||||
m3DMapCanvas,
|
m3DMapCanvas,
|
||||||
[=] {
|
[this] {
|
||||||
QgsCameraController *controller = m3DMapCanvas->cameraController();
|
QgsCameraController *controller = m3DMapCanvas->cameraController();
|
||||||
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
|
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
|
||||||
controller->globeMoveCenterPoint( 0, -MOVE_FACTOR * controller->cameraPose().distanceFromCenterPoint() );
|
controller->globeMoveCenterPoint( 0, -MOVE_FACTOR * controller->cameraPose().distanceFromCenterPoint() );
|
||||||
|
@ -38,14 +38,14 @@ QgsMap3DExportWidget::QgsMap3DExportWidget( Qgs3DMapScene *scene, Qgs3DMapExport
|
|||||||
|
|
||||||
loadSettings();
|
loadSettings();
|
||||||
|
|
||||||
connect( ui->sceneNameLineEdit, &QLineEdit::textChanged, this, [=]( const QString & ) { settingsChanged(); } );
|
connect( ui->sceneNameLineEdit, &QLineEdit::textChanged, this, [this]( const QString & ) { settingsChanged(); } );
|
||||||
connect( ui->selectFolderWidget, &QgsFileWidget::fileChanged, this, [=]( const QString & ) { settingsChanged(); } );
|
connect( ui->selectFolderWidget, &QgsFileWidget::fileChanged, this, [this]( const QString & ) { settingsChanged(); } );
|
||||||
connect( ui->smoothEdgesCheckBox, &QCheckBox::stateChanged, this, [=]( int ) { settingsChanged(); } );
|
connect( ui->smoothEdgesCheckBox, &QCheckBox::stateChanged, this, [this]( int ) { settingsChanged(); } );
|
||||||
connect( ui->terrainResolutionSpinBox, qOverload<int>( &QSpinBox::valueChanged ), this, [=]( int ) { settingsChanged(); } );
|
connect( ui->terrainResolutionSpinBox, qOverload<int>( &QSpinBox::valueChanged ), this, [this]( int ) { settingsChanged(); } );
|
||||||
connect( ui->exportNormalsCheckBox, &QCheckBox::stateChanged, this, [=]( int ) { settingsChanged(); } );
|
connect( ui->exportNormalsCheckBox, &QCheckBox::stateChanged, this, [this]( int ) { settingsChanged(); } );
|
||||||
connect( ui->exportTexturesCheckBox, &QCheckBox::stateChanged, this, [=]( int ) { settingsChanged(); } );
|
connect( ui->exportTexturesCheckBox, &QCheckBox::stateChanged, this, [this]( int ) { settingsChanged(); } );
|
||||||
connect( ui->terrainTextureResolutionSpinBox, qOverload<int>( &QSpinBox::valueChanged ), this, [=]( int ) { settingsChanged(); } );
|
connect( ui->terrainTextureResolutionSpinBox, qOverload<int>( &QSpinBox::valueChanged ), this, [this]( int ) { settingsChanged(); } );
|
||||||
connect( ui->scaleSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( int ) { settingsChanged(); } );
|
connect( ui->scaleSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( int ) { settingsChanged(); } );
|
||||||
|
|
||||||
// sets the export settings to whatever is on the scene
|
// sets the export settings to whatever is on the scene
|
||||||
settingsChanged();
|
settingsChanged();
|
||||||
|
@ -30,11 +30,11 @@ QgsMetalRoughMaterialWidget::QgsMetalRoughMaterialWidget( QWidget *parent, bool
|
|||||||
setSettings( &defaultMaterial, nullptr );
|
setSettings( &defaultMaterial, nullptr );
|
||||||
|
|
||||||
connect( mButtonBaseColor, &QgsColorButton::colorChanged, this, &QgsMetalRoughMaterialWidget::changed );
|
connect( mButtonBaseColor, &QgsColorButton::colorChanged, this, &QgsMetalRoughMaterialWidget::changed );
|
||||||
connect( mSpinMetalness, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [=] {
|
connect( mSpinMetalness, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [this] {
|
||||||
updateWidgetState();
|
updateWidgetState();
|
||||||
emit changed();
|
emit changed();
|
||||||
} );
|
} );
|
||||||
connect( mSpinRoughness, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [=] {
|
connect( mSpinRoughness, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [this] {
|
||||||
updateWidgetState();
|
updateWidgetState();
|
||||||
emit changed();
|
emit changed();
|
||||||
} );
|
} );
|
||||||
|
@ -34,7 +34,7 @@ QgsPhongMaterialWidget::QgsPhongMaterialWidget( QWidget *parent, bool hasOpacity
|
|||||||
connect( btnDiffuse, &QgsColorButton::colorChanged, this, &QgsPhongMaterialWidget::changed );
|
connect( btnDiffuse, &QgsColorButton::colorChanged, this, &QgsPhongMaterialWidget::changed );
|
||||||
connect( btnAmbient, &QgsColorButton::colorChanged, this, &QgsPhongMaterialWidget::changed );
|
connect( btnAmbient, &QgsColorButton::colorChanged, this, &QgsPhongMaterialWidget::changed );
|
||||||
connect( btnSpecular, &QgsColorButton::colorChanged, this, &QgsPhongMaterialWidget::changed );
|
connect( btnSpecular, &QgsColorButton::colorChanged, this, &QgsPhongMaterialWidget::changed );
|
||||||
connect( spinShininess, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [=] {
|
connect( spinShininess, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [this] {
|
||||||
updateWidgetState();
|
updateWidgetState();
|
||||||
emit changed();
|
emit changed();
|
||||||
} );
|
} );
|
||||||
|
@ -33,7 +33,7 @@ QgsPhongTexturedMaterialWidget::QgsPhongTexturedMaterialWidget( QWidget *parent
|
|||||||
|
|
||||||
connect( btnAmbient, &QgsColorButton::colorChanged, this, &QgsPhongTexturedMaterialWidget::changed );
|
connect( btnAmbient, &QgsColorButton::colorChanged, this, &QgsPhongTexturedMaterialWidget::changed );
|
||||||
connect( btnSpecular, &QgsColorButton::colorChanged, this, &QgsPhongTexturedMaterialWidget::changed );
|
connect( btnSpecular, &QgsColorButton::colorChanged, this, &QgsPhongTexturedMaterialWidget::changed );
|
||||||
connect( spinShininess, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [=] {
|
connect( spinShininess, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [this] {
|
||||||
updateWidgetState();
|
updateWidgetState();
|
||||||
emit changed();
|
emit changed();
|
||||||
} );
|
} );
|
||||||
|
@ -587,8 +587,8 @@ Qgs3DRendererRulePropsWidget::Qgs3DRendererRulePropsWidget( QgsRuleBased3DRender
|
|||||||
connect( editDescription, &QLineEdit::textChanged, this, &Qgs3DRendererRulePropsWidget::widgetChanged );
|
connect( editDescription, &QLineEdit::textChanged, this, &Qgs3DRendererRulePropsWidget::widgetChanged );
|
||||||
connect( groupSymbol, &QGroupBox::toggled, this, &Qgs3DRendererRulePropsWidget::widgetChanged );
|
connect( groupSymbol, &QGroupBox::toggled, this, &Qgs3DRendererRulePropsWidget::widgetChanged );
|
||||||
connect( mSymbolWidget, &QgsSymbol3DWidget::widgetChanged, this, &Qgs3DRendererRulePropsWidget::widgetChanged );
|
connect( mSymbolWidget, &QgsSymbol3DWidget::widgetChanged, this, &Qgs3DRendererRulePropsWidget::widgetChanged );
|
||||||
connect( mFilterRadio, &QRadioButton::toggled, this, [=]( bool toggled ) { filterFrame->setEnabled( toggled ); } );
|
connect( mFilterRadio, &QRadioButton::toggled, this, [this]( bool toggled ) { filterFrame->setEnabled( toggled ); } );
|
||||||
connect( mElseRadio, &QRadioButton::toggled, this, [=]( bool toggled ) { if ( toggled ) editFilter->setText( QStringLiteral( "ELSE" ) ); } );
|
connect( mElseRadio, &QRadioButton::toggled, this, [this]( bool toggled ) { if ( toggled ) editFilter->setText( QStringLiteral( "ELSE" ) ); } );
|
||||||
}
|
}
|
||||||
|
|
||||||
Qgs3DRendererRulePropsWidget::~Qgs3DRendererRulePropsWidget() = default;
|
Qgs3DRendererRulePropsWidget::~Qgs3DRendererRulePropsWidget() = default;
|
||||||
|
@ -511,22 +511,24 @@ endif()
|
|||||||
|
|
||||||
#############
|
#############
|
||||||
if (ANDROID)
|
if (ANDROID)
|
||||||
add_library(${QGIS_APP_NAME} ${LIBRARY_TYPE} ${QGIS_APPMAIN_SRCS})
|
add_library(qgis ${LIBRARY_TYPE} ${QGIS_APPMAIN_SRCS})
|
||||||
|
|
||||||
# require c++17
|
# require c++17
|
||||||
target_compile_features(${QGIS_APP_NAME} PRIVATE cxx_std_17)
|
target_compile_features(qgis PRIVATE cxx_std_17)
|
||||||
else()
|
else()
|
||||||
add_executable(${QGIS_APP_NAME} WIN32 ${QGIS_APPMAIN_SRCS})
|
add_executable(qgis WIN32 ${QGIS_APPMAIN_SRCS})
|
||||||
|
|
||||||
if(WIN32 AND BUILD_WITH_QT6)
|
if(WIN32 AND BUILD_WITH_QT6)
|
||||||
qt_disable_unicode_defines(${QGIS_APP_NAME})
|
qt_disable_unicode_defines(qgis)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# require c++17
|
# require c++17
|
||||||
target_compile_features(${QGIS_APP_NAME} PRIVATE cxx_std_17)
|
target_compile_features(qgis PRIVATE cxx_std_17)
|
||||||
target_compile_definitions(${QGIS_APP_NAME} PRIVATE "QT_PLUGINS_DIR=\"${QT_PLUGINS_DIR}\"")
|
target_compile_definitions(qgis PRIVATE "QT_PLUGINS_DIR=\"${QT_PLUGINS_DIR}\"")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set_target_properties(qgis PROPERTIES OUTPUT_NAME "${QGIS_APP_NAME}")
|
||||||
|
|
||||||
# Putting IMAGE_RCC_SRCS into qgis_app lib is causing problems when the lib is
|
# Putting IMAGE_RCC_SRCS into qgis_app lib is causing problems when the lib is
|
||||||
# loaded (by plugin for example) in test unit (qgis_layoutpicturetest).
|
# loaded (by plugin for example) in test unit (qgis_layoutpicturetest).
|
||||||
add_library(qgis_app ${LIBRARY_TYPE} ${QGIS_APP_SRCS})
|
add_library(qgis_app ${LIBRARY_TYPE} ${QGIS_APP_SRCS})
|
||||||
@ -654,29 +656,29 @@ if(CLANG_TIDY_EXE)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT WIN32)
|
if(NOT WIN32)
|
||||||
target_link_libraries(${QGIS_APP_NAME} qgis_app)
|
target_link_libraries(qgis qgis_app)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (ANDROID)
|
if (ANDROID)
|
||||||
target_link_libraries(${QGIS_APP_NAME} log)
|
target_link_libraries(qgis log)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
add_definitions(-DQWT_DLL)
|
add_definitions(-DQWT_DLL)
|
||||||
add_definitions(-DQSCINTILLA_DLL)
|
add_definitions(-DQSCINTILLA_DLL)
|
||||||
target_link_libraries(${QGIS_APP_NAME} dbghelp)
|
target_link_libraries(qgis dbghelp)
|
||||||
target_link_libraries(qgis_app dbghelp)
|
target_link_libraries(qgis_app dbghelp)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(${QGIS_APP_NAME} qgis_native)
|
target_link_libraries(qgis qgis_native)
|
||||||
|
|
||||||
if (NOT WIN32)
|
if (NOT WIN32)
|
||||||
target_link_libraries(${QGIS_APP_NAME} QTSignal)
|
target_link_libraries(qgis QTSignal)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
if (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
||||||
find_library(EXECINFO_LIBRARY NAMES execinfo)
|
find_library(EXECINFO_LIBRARY NAMES execinfo)
|
||||||
target_link_libraries(${QGIS_APP_NAME} ${EXECINFO_LIBRARY})
|
target_link_libraries(qgis ${EXECINFO_LIBRARY})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (WITH_PDAL)
|
if (WITH_PDAL)
|
||||||
@ -693,7 +695,7 @@ install(TARGETS qgis_app
|
|||||||
ARCHIVE DESTINATION ${QGIS_LIB_DIR}
|
ARCHIVE DESTINATION ${QGIS_LIB_DIR}
|
||||||
PUBLIC_HEADER DESTINATION ${QGIS_INCLUDE_DIR})
|
PUBLIC_HEADER DESTINATION ${QGIS_INCLUDE_DIR})
|
||||||
|
|
||||||
install(TARGETS ${QGIS_APP_NAME}
|
install(TARGETS qgis
|
||||||
BUNDLE DESTINATION ${QGIS_INSTALL_PREFIX}
|
BUNDLE DESTINATION ${QGIS_INSTALL_PREFIX}
|
||||||
RUNTIME DESTINATION ${QGIS_BIN_DIR}
|
RUNTIME DESTINATION ${QGIS_BIN_DIR}
|
||||||
LIBRARY DESTINATION ${QGIS_LIB_DIR}
|
LIBRARY DESTINATION ${QGIS_LIB_DIR}
|
||||||
|
@ -93,7 +93,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
QgsSettings settings;
|
QgsSettings settings;
|
||||||
|
|
||||||
QAction *actionRefresh = new QAction( tr( "Refresh" ), menu );
|
QAction *actionRefresh = new QAction( tr( "Refresh" ), menu );
|
||||||
connect( actionRefresh, &QAction::triggered, this, [=] { directoryItem->refresh(); } );
|
connect( actionRefresh, &QAction::triggered, this, [directoryItem] { directoryItem->refresh(); } );
|
||||||
menu->addAction( actionRefresh );
|
menu->addAction( actionRefresh );
|
||||||
|
|
||||||
menu->addSeparator();
|
menu->addSeparator();
|
||||||
@ -101,7 +101,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
QMenu *newMenu = new QMenu( tr( "New" ), menu );
|
QMenu *newMenu = new QMenu( tr( "New" ), menu );
|
||||||
|
|
||||||
QAction *createFolder = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewFolder.svg" ) ), tr( "Directory…" ), menu );
|
QAction *createFolder = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewFolder.svg" ) ), tr( "Directory…" ), menu );
|
||||||
connect( createFolder, &QAction::triggered, this, [=] {
|
connect( createFolder, &QAction::triggered, this, [directoryItem, context] {
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
|
|
||||||
const QString name = QInputDialog::getText( QgisApp::instance(), tr( "Create Directory" ), tr( "Directory name" ), QLineEdit::Normal, QString(), &ok );
|
const QString name = QInputDialog::getText( QgisApp::instance(), tr( "Create Directory" ), tr( "Directory name" ), QLineEdit::Normal, QString(), &ok );
|
||||||
@ -126,7 +126,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
|
|
||||||
QAction *createGpkg = new QAction( tr( "GeoPackage…" ), newMenu );
|
QAction *createGpkg = new QAction( tr( "GeoPackage…" ), newMenu );
|
||||||
createGpkg->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewGeoPackageLayer.svg" ) ) );
|
createGpkg->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewGeoPackageLayer.svg" ) ) );
|
||||||
connect( createGpkg, &QAction::triggered, this, [=] {
|
connect( createGpkg, &QAction::triggered, this, [directoryItem, context] {
|
||||||
QDir dir( directoryItem->dirPath() );
|
QDir dir( directoryItem->dirPath() );
|
||||||
QString newName = tr( "New GeoPackage.gpkg" );
|
QString newName = tr( "New GeoPackage.gpkg" );
|
||||||
int i = 1;
|
int i = 1;
|
||||||
@ -175,7 +175,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
|
|
||||||
QAction *createShp = new QAction( tr( "ShapeFile…" ), newMenu );
|
QAction *createShp = new QAction( tr( "ShapeFile…" ), newMenu );
|
||||||
createShp->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewVectorLayer.svg" ) ) );
|
createShp->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewVectorLayer.svg" ) ) );
|
||||||
connect( createShp, &QAction::triggered, this, [=] {
|
connect( createShp, &QAction::triggered, this, [directoryItem, item, context] {
|
||||||
QString enc;
|
QString enc;
|
||||||
QDir dir( directoryItem->dirPath() );
|
QDir dir( directoryItem->dirPath() );
|
||||||
QString error;
|
QString error;
|
||||||
@ -195,7 +195,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
#if GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION( 3, 6, 0 )
|
#if GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION( 3, 6, 0 )
|
||||||
QAction *createFgdb = new QAction( tr( "ESRI FileGeodatabase…" ), newMenu );
|
QAction *createFgdb = new QAction( tr( "ESRI FileGeodatabase…" ), newMenu );
|
||||||
createFgdb->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewFileGeodatabase.svg" ) ) );
|
createFgdb->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewFileGeodatabase.svg" ) ) );
|
||||||
connect( createFgdb, &QAction::triggered, this, [=] {
|
connect( createFgdb, &QAction::triggered, this, [directoryItem, context] {
|
||||||
QDir dir( directoryItem->dirPath() );
|
QDir dir( directoryItem->dirPath() );
|
||||||
QString newName = tr( "New File Geodatabase.gdb" );
|
QString newName = tr( "New File Geodatabase.gdb" );
|
||||||
int i = 1;
|
int i = 1;
|
||||||
@ -254,7 +254,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
QAction *addAsFavorite = new QAction( tr( "Add as a Favorite" ), menu );
|
QAction *addAsFavorite = new QAction( tr( "Add as a Favorite" ), menu );
|
||||||
addAsFavorite->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mIconFavorites.svg" ) ) );
|
addAsFavorite->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mIconFavorites.svg" ) ) );
|
||||||
menu->addAction( addAsFavorite );
|
menu->addAction( addAsFavorite );
|
||||||
connect( addAsFavorite, &QAction::triggered, this, [=] {
|
connect( addAsFavorite, &QAction::triggered, this, [this, directoryItem] {
|
||||||
addFavorite( directoryItem );
|
addFavorite( directoryItem );
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
@ -263,13 +263,13 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
if ( QgsFavoriteItem *favoriteItem = qobject_cast<QgsFavoriteItem *>( item ) )
|
if ( QgsFavoriteItem *favoriteItem = qobject_cast<QgsFavoriteItem *>( item ) )
|
||||||
{
|
{
|
||||||
QAction *actionRename = new QAction( tr( "Rename Favorite…" ), menu );
|
QAction *actionRename = new QAction( tr( "Rename Favorite…" ), menu );
|
||||||
connect( actionRename, &QAction::triggered, this, [=] {
|
connect( actionRename, &QAction::triggered, this, [this, favoriteItem] {
|
||||||
renameFavorite( favoriteItem );
|
renameFavorite( favoriteItem );
|
||||||
} );
|
} );
|
||||||
menu->addAction( actionRename );
|
menu->addAction( actionRename );
|
||||||
|
|
||||||
QAction *removeFavoriteAction = new QAction( tr( "Remove Favorite" ), menu );
|
QAction *removeFavoriteAction = new QAction( tr( "Remove Favorite" ), menu );
|
||||||
connect( removeFavoriteAction, &QAction::triggered, this, [=] {
|
connect( removeFavoriteAction, &QAction::triggered, this, [this, favoriteItem] {
|
||||||
removeFavorite( favoriteItem );
|
removeFavorite( favoriteItem );
|
||||||
} );
|
} );
|
||||||
menu->addAction( removeFavoriteAction );
|
menu->addAction( removeFavoriteAction );
|
||||||
@ -277,7 +277,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
QAction *hideAction = new QAction( tr( "Hide from Browser" ), menu );
|
QAction *hideAction = new QAction( tr( "Hide from Browser" ), menu );
|
||||||
connect( hideAction, &QAction::triggered, this, [=] {
|
connect( hideAction, &QAction::triggered, this, [this, directoryItem] {
|
||||||
hideDirectory( directoryItem );
|
hideDirectory( directoryItem );
|
||||||
} );
|
} );
|
||||||
menu->addAction( hideAction );
|
menu->addAction( hideAction );
|
||||||
@ -289,7 +289,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
for ( const QString &path : hiddenPathList )
|
for ( const QString &path : hiddenPathList )
|
||||||
{
|
{
|
||||||
QAction *action = new QAction( QDir::toNativeSeparators( path ), hiddenMenu );
|
QAction *action = new QAction( QDir::toNativeSeparators( path ), hiddenMenu );
|
||||||
connect( action, &QAction::triggered, this, [=] {
|
connect( action, &QAction::triggered, this, [path] {
|
||||||
QgsSettings s;
|
QgsSettings s;
|
||||||
QStringList pathsList = s.value( QStringLiteral( "/browser/hiddenPaths" ) ).toStringList();
|
QStringList pathsList = s.value( QStringLiteral( "/browser/hiddenPaths" ) ).toStringList();
|
||||||
pathsList.removeAll( path );
|
pathsList.removeAll( path );
|
||||||
@ -321,7 +321,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
hiddenMenu->addSeparator();
|
hiddenMenu->addSeparator();
|
||||||
|
|
||||||
QAction *moreAction = new QAction( tr( "Show More…" ), hiddenMenu );
|
QAction *moreAction = new QAction( tr( "Show More…" ), hiddenMenu );
|
||||||
connect( moreAction, &QAction::triggered, this, [=] {
|
connect( moreAction, &QAction::triggered, this, [] {
|
||||||
QgisApp::instance()->showOptionsDialog( QgisApp::instance(), QStringLiteral( "mOptionsPageDataSources" ) );
|
QgisApp::instance()->showOptionsDialog( QgisApp::instance(), QStringLiteral( "mOptionsPageDataSources" ) );
|
||||||
} );
|
} );
|
||||||
hiddenMenu->addAction( moreAction );
|
hiddenMenu->addAction( moreAction );
|
||||||
@ -337,14 +337,14 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
const QPixmap icon = QgsColorButton::createMenuIcon( directoryItem->iconColor(), true );
|
const QPixmap icon = QgsColorButton::createMenuIcon( directoryItem->iconColor(), true );
|
||||||
actionSetIconColor->setIcon( icon );
|
actionSetIconColor->setIcon( icon );
|
||||||
}
|
}
|
||||||
connect( actionSetIconColor, &QAction::triggered, this, [=] {
|
connect( actionSetIconColor, &QAction::triggered, this, [this, directoryItem] {
|
||||||
changeDirectoryColor( directoryItem );
|
changeDirectoryColor( directoryItem );
|
||||||
} );
|
} );
|
||||||
menu->addAction( actionSetIconColor );
|
menu->addAction( actionSetIconColor );
|
||||||
if ( directoryItem->iconColor().isValid() )
|
if ( directoryItem->iconColor().isValid() )
|
||||||
{
|
{
|
||||||
QAction *actionClearIconColor = new QAction( tr( "Clear Custom Color" ), menu );
|
QAction *actionClearIconColor = new QAction( tr( "Clear Custom Color" ), menu );
|
||||||
connect( actionClearIconColor, &QAction::triggered, this, [=] {
|
connect( actionClearIconColor, &QAction::triggered, this, [this, directoryItem] {
|
||||||
clearDirectoryColor( directoryItem );
|
clearDirectoryColor( directoryItem );
|
||||||
} );
|
} );
|
||||||
menu->addAction( actionClearIconColor );
|
menu->addAction( actionClearIconColor );
|
||||||
@ -353,7 +353,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
QMenu *scanningMenu = new QMenu( tr( "Scanning" ), menu );
|
QMenu *scanningMenu = new QMenu( tr( "Scanning" ), menu );
|
||||||
|
|
||||||
QAction *monitorAction = new QAction( tr( "Monitor for Changes" ), scanningMenu );
|
QAction *monitorAction = new QAction( tr( "Monitor for Changes" ), scanningMenu );
|
||||||
connect( monitorAction, &QAction::triggered, this, [=] {
|
connect( monitorAction, &QAction::triggered, this, [this, directoryItem] {
|
||||||
toggleMonitor( directoryItem );
|
toggleMonitor( directoryItem );
|
||||||
} );
|
} );
|
||||||
monitorAction->setCheckable( true );
|
monitorAction->setCheckable( true );
|
||||||
@ -361,7 +361,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
scanningMenu->addAction( monitorAction );
|
scanningMenu->addAction( monitorAction );
|
||||||
|
|
||||||
QAction *fastScanAction = new QAction( tr( "Fast Scan this Directory" ), scanningMenu );
|
QAction *fastScanAction = new QAction( tr( "Fast Scan this Directory" ), scanningMenu );
|
||||||
connect( fastScanAction, &QAction::triggered, this, [=] {
|
connect( fastScanAction, &QAction::triggered, this, [this, directoryItem] {
|
||||||
toggleFastScan( directoryItem );
|
toggleFastScan( directoryItem );
|
||||||
} );
|
} );
|
||||||
fastScanAction->setCheckable( true );
|
fastScanAction->setCheckable( true );
|
||||||
@ -373,7 +373,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
menu->addSeparator();
|
menu->addSeparator();
|
||||||
|
|
||||||
QAction *openFolder = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mIconFolder.svg" ) ), tr( "Open Directory…" ), menu );
|
QAction *openFolder = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mIconFolder.svg" ) ), tr( "Open Directory…" ), menu );
|
||||||
connect( openFolder, &QAction::triggered, this, [=] {
|
connect( openFolder, &QAction::triggered, this, [directoryItem] {
|
||||||
QDesktopServices::openUrl( QUrl::fromLocalFile( directoryItem->dirPath() ) );
|
QDesktopServices::openUrl( QUrl::fromLocalFile( directoryItem->dirPath() ) );
|
||||||
} );
|
} );
|
||||||
menu->addAction( openFolder );
|
menu->addAction( openFolder );
|
||||||
@ -381,7 +381,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
if ( QgsGui::nativePlatformInterface()->capabilities() & QgsNative::NativeOpenTerminalAtPath )
|
if ( QgsGui::nativePlatformInterface()->capabilities() & QgsNative::NativeOpenTerminalAtPath )
|
||||||
{
|
{
|
||||||
QAction *openTerminal = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mActionTerminal.svg" ) ), tr( "Open in Terminal…" ), menu );
|
QAction *openTerminal = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mActionTerminal.svg" ) ), tr( "Open in Terminal…" ), menu );
|
||||||
connect( openTerminal, &QAction::triggered, this, [=] {
|
connect( openTerminal, &QAction::triggered, this, [directoryItem] {
|
||||||
QgsGui::nativePlatformInterface()->openTerminalAtPath( directoryItem->dirPath() );
|
QgsGui::nativePlatformInterface()->openTerminalAtPath( directoryItem->dirPath() );
|
||||||
} );
|
} );
|
||||||
menu->addAction( openTerminal );
|
menu->addAction( openTerminal );
|
||||||
@ -389,7 +389,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
}
|
}
|
||||||
|
|
||||||
QAction *propertiesAction = new QAction( tr( "Properties…" ), menu );
|
QAction *propertiesAction = new QAction( tr( "Properties…" ), menu );
|
||||||
connect( propertiesAction, &QAction::triggered, this, [=] {
|
connect( propertiesAction, &QAction::triggered, this, [this, directoryItem, context] {
|
||||||
showProperties( directoryItem, context );
|
showProperties( directoryItem, context );
|
||||||
} );
|
} );
|
||||||
menu->addAction( propertiesAction );
|
menu->addAction( propertiesAction );
|
||||||
@ -513,7 +513,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
|
|||||||
if ( !sourceSelectProviders.isEmpty() && sourceSelectProviders.first()->capabilities().testFlag( QgsSourceSelectProvider::Capability::ConfigureFromUri ) )
|
if ( !sourceSelectProviders.isEmpty() && sourceSelectProviders.first()->capabilities().testFlag( QgsSourceSelectProvider::Capability::ConfigureFromUri ) )
|
||||||
{
|
{
|
||||||
openDataSourceManagerAction = new QAction( tr( "Open with Data Source Manager…" ), menu );
|
openDataSourceManagerAction = new QAction( tr( "Open with Data Source Manager…" ), menu );
|
||||||
connect( openDataSourceManagerAction, &QAction::triggered, this, [=] {
|
connect( openDataSourceManagerAction, &QAction::triggered, this, [layerItem] {
|
||||||
QString pageName { layerItem->providerKey() };
|
QString pageName { layerItem->providerKey() };
|
||||||
// GPKG special handling
|
// GPKG special handling
|
||||||
if ( qobject_cast<QgsGeoPackageVectorLayerItem *>( layerItem ) )
|
if ( qobject_cast<QgsGeoPackageVectorLayerItem *>( layerItem ) )
|
||||||
@ -537,7 +537,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
|
|||||||
{
|
{
|
||||||
const QgsProviderSublayerDetails &sublayer { sublayers.first() };
|
const QgsProviderSublayerDetails &sublayer { sublayers.first() };
|
||||||
openDataSourceManagerAction = new QAction( tr( "Open with Data Source Manager…" ), menu );
|
openDataSourceManagerAction = new QAction( tr( "Open with Data Source Manager…" ), menu );
|
||||||
connect( openDataSourceManagerAction, &QAction::triggered, this, [=] {
|
connect( openDataSourceManagerAction, &QAction::triggered, this, [sublayer, layerItem] {
|
||||||
QString pageName { sublayer.providerKey() };
|
QString pageName { sublayer.providerKey() };
|
||||||
// GPKG special handling
|
// GPKG special handling
|
||||||
if ( sublayer.driverName() == QLatin1String( "GeoPackage" ) )
|
if ( sublayer.driverName() == QLatin1String( "GeoPackage" ) )
|
||||||
@ -587,7 +587,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
|
|||||||
if ( fi.suffix().compare( ext, Qt::CaseInsensitive ) == 0 )
|
if ( fi.suffix().compare( ext, Qt::CaseInsensitive ) == 0 )
|
||||||
{
|
{
|
||||||
QAction *viewAction = new QAction( tr( "Open %1 Externally…" ).arg( name ), menu );
|
QAction *viewAction = new QAction( tr( "Open %1 Externally…" ).arg( name ), menu );
|
||||||
connect( viewAction, &QAction::triggered, this, [=] {
|
connect( viewAction, &QAction::triggered, this, [filename] {
|
||||||
QDesktopServices::openUrl( QUrl::fromLocalFile( filename ) );
|
QDesktopServices::openUrl( QUrl::fromLocalFile( filename ) );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
@ -646,7 +646,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
|
|||||||
{
|
{
|
||||||
const QString renameText = tr( "Rename “%1”…" ).arg( fi.fileName() );
|
const QString renameText = tr( "Rename “%1”…" ).arg( fi.fileName() );
|
||||||
QAction *renameAction = new QAction( renameText, menu );
|
QAction *renameAction = new QAction( renameText, menu );
|
||||||
connect( renameAction, &QAction::triggered, this, [=] {
|
connect( renameAction, &QAction::triggered, this, [this, selectedFiles, context, selectedParents, menu] {
|
||||||
const QString oldPath = selectedFiles.value( 0 );
|
const QString oldPath = selectedFiles.value( 0 );
|
||||||
const QStringList existingNames = QFileInfo( oldPath ).dir().entryList();
|
const QStringList existingNames = QFileInfo( oldPath ).dir().entryList();
|
||||||
|
|
||||||
@ -670,7 +670,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
|
|||||||
const QString deleteText = selectedFiles.count() == 1 ? tr( "Delete “%1”…" ).arg( fi.fileName() )
|
const QString deleteText = selectedFiles.count() == 1 ? tr( "Delete “%1”…" ).arg( fi.fileName() )
|
||||||
: tr( "Delete Selected Files…" );
|
: tr( "Delete Selected Files…" );
|
||||||
QAction *deleteAction = new QAction( deleteText, menu );
|
QAction *deleteAction = new QAction( deleteText, menu );
|
||||||
connect( deleteAction, &QAction::triggered, this, [=] {
|
connect( deleteAction, &QAction::triggered, this, [selectedFiles, selectedParents, context] {
|
||||||
// Check if the files correspond to paths in the project
|
// Check if the files correspond to paths in the project
|
||||||
QList<QgsMapLayer *> layersList;
|
QList<QgsMapLayer *> layersList;
|
||||||
for ( const QString &path : std::as_const( selectedFiles ) )
|
for ( const QString &path : std::as_const( selectedFiles ) )
|
||||||
@ -810,12 +810,12 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
|
|||||||
menu->addSeparator();
|
menu->addSeparator();
|
||||||
|
|
||||||
QAction *showInFilesAction = menu->addAction( tr( "Show in Files" ) );
|
QAction *showInFilesAction = menu->addAction( tr( "Show in Files" ) );
|
||||||
connect( showInFilesAction, &QAction::triggered, this, [=] {
|
connect( showInFilesAction, &QAction::triggered, this, [item] {
|
||||||
QgsGui::nativePlatformInterface()->openFileExplorerAndSelectFile( item->path() );
|
QgsGui::nativePlatformInterface()->openFileExplorerAndSelectFile( item->path() );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
QAction *filePropertiesAction = menu->addAction( tr( "File Properties…" ) );
|
QAction *filePropertiesAction = menu->addAction( tr( "File Properties…" ) );
|
||||||
connect( filePropertiesAction, &QAction::triggered, this, [=] {
|
connect( filePropertiesAction, &QAction::triggered, this, [item] {
|
||||||
QgsGui::nativePlatformInterface()->showFileProperties( item->path() );
|
QgsGui::nativePlatformInterface()->showFileProperties( item->path() );
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
@ -939,7 +939,7 @@ void QgsProjectHomeItemGuiProvider::populateContextMenu( QgsDataItem *item, QMen
|
|||||||
menu->insertSeparator( menu->actions().at( 0 ) );
|
menu->insertSeparator( menu->actions().at( 0 ) );
|
||||||
|
|
||||||
QAction *setHome = new QAction( tr( "Set Project Home…" ), menu );
|
QAction *setHome = new QAction( tr( "Set Project Home…" ), menu );
|
||||||
connect( setHome, &QAction::triggered, this, [=] {
|
connect( setHome, &QAction::triggered, this, [] {
|
||||||
QString oldHome = QgsProject::instance()->homePath();
|
QString oldHome = QgsProject::instance()->homePath();
|
||||||
QString newPath = QFileDialog::getExistingDirectory( QgisApp::instance(), tr( "Select Project Home Directory" ), oldHome );
|
QString newPath = QFileDialog::getExistingDirectory( QgisApp::instance(), tr( "Select Project Home Directory" ), oldHome );
|
||||||
if ( !newPath.isEmpty() )
|
if ( !newPath.isEmpty() )
|
||||||
@ -970,7 +970,7 @@ void QgsFavoritesItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
QAction *addAction = new QAction( tr( "Add a Directory…" ), menu );
|
QAction *addAction = new QAction( tr( "Add a Directory…" ), menu );
|
||||||
connect( addAction, &QAction::triggered, this, [=] {
|
connect( addAction, &QAction::triggered, this, [] {
|
||||||
QString directory = QFileDialog::getExistingDirectory( QgisApp::instance(), tr( "Add Directory to Favorites" ) );
|
QString directory = QFileDialog::getExistingDirectory( QgisApp::instance(), tr( "Add Directory to Favorites" ) );
|
||||||
if ( !directory.isEmpty() )
|
if ( !directory.isEmpty() )
|
||||||
{
|
{
|
||||||
@ -1065,7 +1065,7 @@ void QgsLayerItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *men
|
|||||||
const QString deleteText = selectedDeletableItemPaths.count() == 1 ? tr( "Delete Layer “%1”…" ).arg( layerItem->name() )
|
const QString deleteText = selectedDeletableItemPaths.count() == 1 ? tr( "Delete Layer “%1”…" ).arg( layerItem->name() )
|
||||||
: tr( "Delete Selected Layers…" );
|
: tr( "Delete Selected Layers…" );
|
||||||
QAction *deleteAction = new QAction( deleteText, menu );
|
QAction *deleteAction = new QAction( deleteText, menu );
|
||||||
connect( deleteAction, &QAction::triggered, this, [=] {
|
connect( deleteAction, &QAction::triggered, this, [this, selectedDeletableItemPaths, context] {
|
||||||
deleteLayers( selectedDeletableItemPaths, context );
|
deleteLayers( selectedDeletableItemPaths, context );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
@ -1095,7 +1095,7 @@ void QgsLayerItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *men
|
|||||||
const QString addText = selectedItems.count() == 1 ? tr( "Add Layer to Project" )
|
const QString addText = selectedItems.count() == 1 ? tr( "Add Layer to Project" )
|
||||||
: tr( "Add Selected Layers to Project" );
|
: tr( "Add Selected Layers to Project" );
|
||||||
QAction *addAction = new QAction( addText, menu );
|
QAction *addAction = new QAction( addText, menu );
|
||||||
connect( addAction, &QAction::triggered, this, [=] {
|
connect( addAction, &QAction::triggered, this, [this, selectedItems] {
|
||||||
addLayersFromItems( selectedItems );
|
addLayersFromItems( selectedItems );
|
||||||
} );
|
} );
|
||||||
menu->addAction( addAction );
|
menu->addAction( addAction );
|
||||||
@ -1117,7 +1117,7 @@ void QgsLayerItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *men
|
|||||||
}
|
}
|
||||||
|
|
||||||
QAction *propertiesAction = new QAction( tr( "Layer Properties…" ), menu );
|
QAction *propertiesAction = new QAction( tr( "Layer Properties…" ), menu );
|
||||||
connect( propertiesAction, &QAction::triggered, this, [=] {
|
connect( propertiesAction, &QAction::triggered, this, [this, layerItem, context] {
|
||||||
showPropertiesForItem( layerItem, context );
|
showPropertiesForItem( layerItem, context );
|
||||||
} );
|
} );
|
||||||
menu->addAction( propertiesAction );
|
menu->addAction( propertiesAction );
|
||||||
@ -2077,13 +2077,13 @@ bool QgsDatabaseItemGuiProvider::handleDrop( QgsDataItem *item, QgsDataItemGuiCo
|
|||||||
mainTask->addSubTask( exportTask );
|
mainTask->addSubTask( exportTask );
|
||||||
hasSubTasks = true;
|
hasSubTasks = true;
|
||||||
// when export is successful:
|
// when export is successful:
|
||||||
connect( exportTask, &QgsVectorLayerExporterTask::exportComplete, item, [=]() {
|
connect( exportTask, &QgsVectorLayerExporterTask::exportComplete, item, [item, context]() {
|
||||||
notify( tr( "Import to database" ), tr( "Import was successful." ), context, Qgis::MessageLevel::Success );
|
notify( tr( "Import to database" ), tr( "Import was successful." ), context, Qgis::MessageLevel::Success );
|
||||||
item->refresh();
|
item->refresh();
|
||||||
} );
|
} );
|
||||||
|
|
||||||
// when an error occurs:
|
// when an error occurs:
|
||||||
connect( exportTask, &QgsVectorLayerExporterTask::errorOccurred, item, [=]( Qgis::VectorExportResult error, const QString &errorMessage ) {
|
connect( exportTask, &QgsVectorLayerExporterTask::errorOccurred, item, []( Qgis::VectorExportResult error, const QString &errorMessage ) {
|
||||||
if ( error != Qgis::VectorExportResult::UserCanceled )
|
if ( error != Qgis::VectorExportResult::UserCanceled )
|
||||||
{
|
{
|
||||||
QgsMessageOutput *output = QgsMessageOutput::createMessageOutput();
|
QgsMessageOutput *output = QgsMessageOutput::createMessageOutput();
|
||||||
@ -2297,7 +2297,7 @@ void QgsFieldDomainItemGuiProvider::populateContextMenu( QgsDataItem *item, QMen
|
|||||||
{
|
{
|
||||||
QAction *rangeDomainAction = new QAction( QObject::tr( "New Range Domain…" ) );
|
QAction *rangeDomainAction = new QAction( QObject::tr( "New Range Domain…" ) );
|
||||||
createFieldDomainMenu->addAction( rangeDomainAction );
|
createFieldDomainMenu->addAction( rangeDomainAction );
|
||||||
connect( rangeDomainAction, &QAction::triggered, this, [=] {
|
connect( rangeDomainAction, &QAction::triggered, this, [createDomain] {
|
||||||
createDomain( Qgis::FieldDomainType::Range );
|
createDomain( Qgis::FieldDomainType::Range );
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
@ -2306,7 +2306,7 @@ void QgsFieldDomainItemGuiProvider::populateContextMenu( QgsDataItem *item, QMen
|
|||||||
{
|
{
|
||||||
QAction *codedDomainAction = new QAction( QObject::tr( "New Coded Values Domain…" ) );
|
QAction *codedDomainAction = new QAction( QObject::tr( "New Coded Values Domain…" ) );
|
||||||
createFieldDomainMenu->addAction( codedDomainAction );
|
createFieldDomainMenu->addAction( codedDomainAction );
|
||||||
connect( codedDomainAction, &QAction::triggered, this, [=] {
|
connect( codedDomainAction, &QAction::triggered, this, [createDomain] {
|
||||||
createDomain( Qgis::FieldDomainType::Coded );
|
createDomain( Qgis::FieldDomainType::Coded );
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
@ -2315,7 +2315,7 @@ void QgsFieldDomainItemGuiProvider::populateContextMenu( QgsDataItem *item, QMen
|
|||||||
{
|
{
|
||||||
QAction *globDomainAction = new QAction( QObject::tr( "New Glob Domain…" ) );
|
QAction *globDomainAction = new QAction( QObject::tr( "New Glob Domain…" ) );
|
||||||
createFieldDomainMenu->addAction( globDomainAction );
|
createFieldDomainMenu->addAction( globDomainAction );
|
||||||
connect( globDomainAction, &QAction::triggered, this, [=] {
|
connect( globDomainAction, &QAction::triggered, this, [createDomain] {
|
||||||
createDomain( Qgis::FieldDomainType::Glob );
|
createDomain( Qgis::FieldDomainType::Glob );
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
@ -2580,7 +2580,7 @@ void QgsRelationshipItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
|
|||||||
|
|
||||||
QPointer<QgsDataItem> itemWeakPointer( item );
|
QPointer<QgsDataItem> itemWeakPointer( item );
|
||||||
|
|
||||||
connect( editRelationshipAction, &QAction::triggered, this, [=] {
|
connect( editRelationshipAction, &QAction::triggered, this, [md, itemWeakPointer, relation, connectionUri, context] {
|
||||||
std::unique_ptr<QgsAbstractDatabaseProviderConnection> conn { static_cast<QgsAbstractDatabaseProviderConnection *>( md->createConnection( connectionUri, {} ) ) };
|
std::unique_ptr<QgsAbstractDatabaseProviderConnection> conn { static_cast<QgsAbstractDatabaseProviderConnection *>( md->createConnection( connectionUri, {} ) ) };
|
||||||
|
|
||||||
QgsDbRelationDialog dialog( conn.release(), QgisApp::instance() );
|
QgsDbRelationDialog dialog( conn.release(), QgisApp::instance() );
|
||||||
|
@ -67,7 +67,7 @@ QgsDecorationCopyrightDialog::QgsDecorationCopyrightDialog( QgsDecorationCopyrig
|
|||||||
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
|
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
|
||||||
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
|
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
|
||||||
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
|
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
|
||||||
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( int ) {
|
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( int ) {
|
||||||
spnHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
|
spnHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
|
||||||
} );
|
} );
|
||||||
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );
|
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );
|
||||||
|
@ -38,7 +38,7 @@ QgsDecorationGridDialog::QgsDecorationGridDialog( QgsDecorationGrid &deco, QWidg
|
|||||||
|
|
||||||
connect( buttonBox, &QDialogButtonBox::accepted, this, &QgsDecorationGridDialog::buttonBox_accepted );
|
connect( buttonBox, &QDialogButtonBox::accepted, this, &QgsDecorationGridDialog::buttonBox_accepted );
|
||||||
connect( buttonBox, &QDialogButtonBox::rejected, this, &QgsDecorationGridDialog::buttonBox_rejected );
|
connect( buttonBox, &QDialogButtonBox::rejected, this, &QgsDecorationGridDialog::buttonBox_rejected );
|
||||||
connect( mGridTypeComboBox, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, [=]( int ) { updateSymbolButtons(); } );
|
connect( mGridTypeComboBox, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, [this]( int ) { updateSymbolButtons(); } );
|
||||||
connect( mPbtnUpdateFromExtents, &QPushButton::clicked, this, &QgsDecorationGridDialog::mPbtnUpdateFromExtents_clicked );
|
connect( mPbtnUpdateFromExtents, &QPushButton::clicked, this, &QgsDecorationGridDialog::mPbtnUpdateFromExtents_clicked );
|
||||||
connect( mPbtnUpdateFromLayer, &QPushButton::clicked, this, &QgsDecorationGridDialog::mPbtnUpdateFromLayer_clicked );
|
connect( mPbtnUpdateFromLayer, &QPushButton::clicked, this, &QgsDecorationGridDialog::mPbtnUpdateFromLayer_clicked );
|
||||||
connect( buttonBox, &QDialogButtonBox::helpRequested, this, &QgsDecorationGridDialog::showHelp );
|
connect( buttonBox, &QDialogButtonBox::helpRequested, this, &QgsDecorationGridDialog::showHelp );
|
||||||
@ -47,7 +47,7 @@ QgsDecorationGridDialog::QgsDecorationGridDialog( QgsDecorationGrid &deco, QWidg
|
|||||||
mLineSymbolButton->setSymbolType( Qgis::SymbolType::Line );
|
mLineSymbolButton->setSymbolType( Qgis::SymbolType::Line );
|
||||||
|
|
||||||
grpEnable->setChecked( mDeco.enabled() );
|
grpEnable->setChecked( mDeco.enabled() );
|
||||||
connect( grpEnable, &QGroupBox::toggled, this, [=] { updateSymbolButtons(); } );
|
connect( grpEnable, &QGroupBox::toggled, this, [this] { updateSymbolButtons(); } );
|
||||||
|
|
||||||
mOffsetXEdit->setShowClearButton( true );
|
mOffsetXEdit->setShowClearButton( true );
|
||||||
mOffsetXEdit->setClearValue( 0 );
|
mOffsetXEdit->setClearValue( 0 );
|
||||||
|
@ -51,7 +51,7 @@ QgsDecorationImageDialog::QgsDecorationImageDialog( QgsDecorationImage &deco, QW
|
|||||||
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
|
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
|
||||||
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
|
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
|
||||||
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
|
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
|
||||||
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( int ) {
|
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( int ) {
|
||||||
spinHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
|
spinHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
|
||||||
} );
|
} );
|
||||||
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );
|
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );
|
||||||
@ -69,7 +69,7 @@ QgsDecorationImageDialog::QgsDecorationImageDialog( QgsDecorationImage &deco, QW
|
|||||||
|
|
||||||
// enabled
|
// enabled
|
||||||
grpEnable->setChecked( mDeco.enabled() );
|
grpEnable->setChecked( mDeco.enabled() );
|
||||||
connect( grpEnable, &QGroupBox::toggled, this, [=] { updateEnabledColorButtons(); } );
|
connect( grpEnable, &QGroupBox::toggled, this, [this] { updateEnabledColorButtons(); } );
|
||||||
|
|
||||||
wgtImagePath->setFilePath( mDeco.imagePath() );
|
wgtImagePath->setFilePath( mDeco.imagePath() );
|
||||||
connect( wgtImagePath, &QgsFileWidget::fileChanged, this, &QgsDecorationImageDialog::updateImagePath );
|
connect( wgtImagePath, &QgsFileWidget::fileChanged, this, &QgsDecorationImageDialog::updateImagePath );
|
||||||
@ -83,8 +83,8 @@ QgsDecorationImageDialog::QgsDecorationImageDialog( QgsDecorationImage &deco, QW
|
|||||||
pbnChangeOutlineColor->setColor( mDeco.mOutlineColor );
|
pbnChangeOutlineColor->setColor( mDeco.mOutlineColor );
|
||||||
pbnChangeOutlineColor->setContext( QStringLiteral( "gui" ) );
|
pbnChangeOutlineColor->setContext( QStringLiteral( "gui" ) );
|
||||||
pbnChangeOutlineColor->setColorDialogTitle( tr( "Select SVG Image Outline Color" ) );
|
pbnChangeOutlineColor->setColorDialogTitle( tr( "Select SVG Image Outline Color" ) );
|
||||||
connect( pbnChangeColor, &QgsColorButton::colorChanged, this, [=]( QColor ) { drawImage(); } );
|
connect( pbnChangeColor, &QgsColorButton::colorChanged, this, [this]( QColor ) { drawImage(); } );
|
||||||
connect( pbnChangeOutlineColor, &QgsColorButton::colorChanged, this, [=]( QColor ) { drawImage(); } );
|
connect( pbnChangeOutlineColor, &QgsColorButton::colorChanged, this, [this]( QColor ) { drawImage(); } );
|
||||||
|
|
||||||
drawImage();
|
drawImage();
|
||||||
}
|
}
|
||||||
|
@ -52,7 +52,7 @@ QgsDecorationNorthArrowDialog::QgsDecorationNorthArrowDialog( QgsDecorationNorth
|
|||||||
spinAngle->setEnabled( !mDeco.mAutomatic );
|
spinAngle->setEnabled( !mDeco.mAutomatic );
|
||||||
sliderRotation->setEnabled( !mDeco.mAutomatic );
|
sliderRotation->setEnabled( !mDeco.mAutomatic );
|
||||||
|
|
||||||
connect( cboxAutomatic, &QAbstractButton::toggled, this, [=]( bool checked ) {
|
connect( cboxAutomatic, &QAbstractButton::toggled, this, [this]( bool checked ) {
|
||||||
spinAngle->setEnabled( !checked );
|
spinAngle->setEnabled( !checked );
|
||||||
sliderRotation->setEnabled( !checked );
|
sliderRotation->setEnabled( !checked );
|
||||||
} );
|
} );
|
||||||
@ -66,7 +66,7 @@ QgsDecorationNorthArrowDialog::QgsDecorationNorthArrowDialog( QgsDecorationNorth
|
|||||||
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
|
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
|
||||||
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
|
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
|
||||||
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
|
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
|
||||||
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( int ) {
|
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( int ) {
|
||||||
spinHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
|
spinHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
|
||||||
} );
|
} );
|
||||||
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );
|
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );
|
||||||
@ -87,7 +87,7 @@ QgsDecorationNorthArrowDialog::QgsDecorationNorthArrowDialog( QgsDecorationNorth
|
|||||||
|
|
||||||
mSvgPathLineEdit->setText( mDeco.mSvgPath );
|
mSvgPathLineEdit->setText( mDeco.mSvgPath );
|
||||||
connect( mSvgPathLineEdit, &QLineEdit::textChanged, this, &QgsDecorationNorthArrowDialog::updateSvgPath );
|
connect( mSvgPathLineEdit, &QLineEdit::textChanged, this, &QgsDecorationNorthArrowDialog::updateSvgPath );
|
||||||
connect( mSvgSelectorBtn, &QPushButton::clicked, this, [=] {
|
connect( mSvgSelectorBtn, &QPushButton::clicked, this, [this] {
|
||||||
QgsSvgSelectorDialog svgDlg( this );
|
QgsSvgSelectorDialog svgDlg( this );
|
||||||
svgDlg.setWindowTitle( tr( "Select SVG file" ) );
|
svgDlg.setWindowTitle( tr( "Select SVG file" ) );
|
||||||
svgDlg.svgSelector()->setSvgPath( mSvgPathLineEdit->text().trimmed() );
|
svgDlg.svgSelector()->setSvgPath( mSvgPathLineEdit->text().trimmed() );
|
||||||
@ -109,8 +109,8 @@ QgsDecorationNorthArrowDialog::QgsDecorationNorthArrowDialog( QgsDecorationNorth
|
|||||||
pbnChangeOutlineColor->setColor( mDeco.mOutlineColor );
|
pbnChangeOutlineColor->setColor( mDeco.mOutlineColor );
|
||||||
pbnChangeOutlineColor->setContext( QStringLiteral( "gui" ) );
|
pbnChangeOutlineColor->setContext( QStringLiteral( "gui" ) );
|
||||||
pbnChangeOutlineColor->setColorDialogTitle( tr( "Select North Arrow Outline Color" ) );
|
pbnChangeOutlineColor->setColorDialogTitle( tr( "Select North Arrow Outline Color" ) );
|
||||||
connect( pbnChangeColor, &QgsColorButton::colorChanged, this, [=]( QColor ) { drawNorthArrow(); } );
|
connect( pbnChangeColor, &QgsColorButton::colorChanged, this, [this]( QColor ) { drawNorthArrow(); } );
|
||||||
connect( pbnChangeOutlineColor, &QgsColorButton::colorChanged, this, [=]( QColor ) { drawNorthArrow(); } );
|
connect( pbnChangeOutlineColor, &QgsColorButton::colorChanged, this, [this]( QColor ) { drawNorthArrow(); } );
|
||||||
|
|
||||||
drawNorthArrow();
|
drawNorthArrow();
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ QgsDecorationScaleBarDialog::QgsDecorationScaleBarDialog( QgsDecorationScaleBar
|
|||||||
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
|
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
|
||||||
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
|
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
|
||||||
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
|
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
|
||||||
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( int ) {
|
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( int ) {
|
||||||
spnHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
|
spnHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
|
||||||
} );
|
} );
|
||||||
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );
|
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );
|
||||||
|
@ -74,7 +74,7 @@ QgsDecorationTitleDialog::QgsDecorationTitleDialog( QgsDecorationTitle &deco, QW
|
|||||||
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
|
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
|
||||||
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
|
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
|
||||||
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
|
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
|
||||||
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( int ) {
|
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( int ) {
|
||||||
spnHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
|
spnHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
|
||||||
} );
|
} );
|
||||||
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );
|
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );
|
||||||
|
@ -152,19 +152,19 @@ QList<QAction *> QgsNetworkLoggerRequestGroup::actions( QObject *parent )
|
|||||||
{
|
{
|
||||||
QList<QAction *> res;
|
QList<QAction *> res;
|
||||||
QAction *openUrlAction = new QAction( QObject::tr( "Open URL" ), parent );
|
QAction *openUrlAction = new QAction( QObject::tr( "Open URL" ), parent );
|
||||||
QObject::connect( openUrlAction, &QAction::triggered, openUrlAction, [=] {
|
QObject::connect( openUrlAction, &QAction::triggered, openUrlAction, [this] {
|
||||||
QDesktopServices::openUrl( mUrl );
|
QDesktopServices::openUrl( mUrl );
|
||||||
} );
|
} );
|
||||||
res << openUrlAction;
|
res << openUrlAction;
|
||||||
|
|
||||||
QAction *copyUrlAction = new QAction( QObject::tr( "Copy URL" ), parent );
|
QAction *copyUrlAction = new QAction( QObject::tr( "Copy URL" ), parent );
|
||||||
QObject::connect( copyUrlAction, &QAction::triggered, openUrlAction, [=] {
|
QObject::connect( copyUrlAction, &QAction::triggered, openUrlAction, [this] {
|
||||||
QApplication::clipboard()->setText( mUrl.url() );
|
QApplication::clipboard()->setText( mUrl.url() );
|
||||||
} );
|
} );
|
||||||
res << copyUrlAction;
|
res << copyUrlAction;
|
||||||
|
|
||||||
QAction *copyAsCurlAction = new QAction( QObject::tr( "Copy As cURL" ), parent );
|
QAction *copyAsCurlAction = new QAction( QObject::tr( "Copy As cURL" ), parent );
|
||||||
QObject::connect( copyAsCurlAction, &QAction::triggered, copyAsCurlAction, [=] {
|
QObject::connect( copyAsCurlAction, &QAction::triggered, copyAsCurlAction, [this] {
|
||||||
QString curlHeaders;
|
QString curlHeaders;
|
||||||
for ( const QPair<QString, QString> &header : std::as_const( mHeaders ) )
|
for ( const QPair<QString, QString> &header : std::as_const( mHeaders ) )
|
||||||
curlHeaders += QStringLiteral( "-H '%1: %2' " ).arg( header.first, header.second );
|
curlHeaders += QStringLiteral( "-H '%1: %2' " ).arg( header.first, header.second );
|
||||||
@ -211,7 +211,7 @@ QList<QAction *> QgsNetworkLoggerRequestGroup::actions( QObject *parent )
|
|||||||
res << copyAsCurlAction;
|
res << copyAsCurlAction;
|
||||||
|
|
||||||
QAction *copyJsonAction = new QAction( QObject::tr( "Copy as JSON" ), parent );
|
QAction *copyJsonAction = new QAction( QObject::tr( "Copy as JSON" ), parent );
|
||||||
QObject::connect( copyJsonAction, &QAction::triggered, openUrlAction, [=] {
|
QObject::connect( copyJsonAction, &QAction::triggered, openUrlAction, [this] {
|
||||||
const QVariant value = toVariant();
|
const QVariant value = toVariant();
|
||||||
const QString json = QString::fromStdString( QgsJsonUtils::jsonFromVariant( value ).dump( 2 ) );
|
const QString json = QString::fromStdString( QgsJsonUtils::jsonFromVariant( value ).dump( 2 ) );
|
||||||
QApplication::clipboard()->setText( json );
|
QApplication::clipboard()->setText( json );
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user