Skip to content

Commit

Permalink
Merge branch 'master' into relating_values
Browse files Browse the repository at this point in the history
  • Loading branch information
signedav committed Dec 19, 2019
2 parents e8b82c1 + 6654870 commit 7f9aa3d
Show file tree
Hide file tree
Showing 127 changed files with 5,108 additions and 1,857 deletions.
2 changes: 1 addition & 1 deletion .ci/azure-pipelines/azure-pipelines.yml
@@ -1,7 +1,7 @@
variables:
LR: release-3_10
LTR: release-3_4
CTEST_CUSTOM_TESTS_IGNORE: "ProcessingGdalAlgorithmsRasterTest;ProcessingGdalAlgorithmsVectorTest;ProcessingGrass7AlgorithmsImageryTest;ProcessingGrass7AlgorithmsRasterTest;ProcessingGrass7AlgorithmsVectorTest;ProcessingGuiTest;ProcessingOtbAlgorithmsTest;ProcessingQgisAlgorithmsTestPt1;ProcessingQgisAlgorithmsTestPt2;ProcessingQgisAlgorithmsTestPt3;ProcessingQgisAlgorithmsTestPt4;ProcessingScriptUtilsTest;PyQgsAnnotation;PyQgsAppStartup;PyQgsAuthManagerOAuth2OWSTest;PyQgsAuthManagerPasswordOWSTest;PyQgsAuthManagerPKIOWSTest;PyQgsAuthManagerProxy;PyQgsAuthSettingsWidget;PyQgsAuxiliaryStorage;PyQgsBlockingNetworkRequest;PyQgsExifTools;PyQgsFileDownloader;PyQgsFileUtils;PyQgsGeometryTest;PyQgsImageCache;PyQgsImportIntoPostGIS;PyQgsLayoutAtlas;PyQgsLayoutLegend;PyQgsLayoutMap;PyQgsLayoutMapGrid;PyQgsMapLayer;PyQgsOfflineEditingWFS;PyQgsOGRProvider;PyQgsOGRProviderGpkg;PyQgsOGRProviderSqlite;PyQgsPalLabelingCanvas;PyQgsPalLabelingLayout;PyQgsPalLabelingPlacement;PyQgsPointDisplacementRenderer;PyQgsProject;PyQgsProviderConnectionGpkg;PyQgsProviderConnectionPostgres;PyQgsPythonProvider;PyQgsRasterFileWriter;PyQgsRasterLayer;PyQgsSelectiveMasking;PyQgsServerAccessControlWMSGetlegendgraphic;PyQgsServerApi;PyQgsServerCacheManager;PyQgsServerLocaleOverride;PyQgsServerSecurity;PyQgsServerSettings;PyQgsServerWMS;PyQgsServerWMSDimension;PyQgsServerWMSGetFeatureInfo;PyQgsServerWMSGetLegendGraphic;PyQgsServerWMSGetMap;PyQgsServerWMSGetPrint;PyQgsServerWMTS;PyQgsSettings;PyQgsShapefileProvider;PyQgsSpatialiteProvider;PyQgsSvgCache;PyQgsSymbolLayer;PyQgsTaskManager;PyQgsTextRenderer;PyQgsVectorFileWriter;PyQgsVectorLayer;PyQgsVectorLayerUtils;PyQgsVirtualLayerProvider;PyQgsWFSProviderGUI;PyQgsZipUtils;qgis_3drenderingtest;qgis_alignrastertest;qgis_arcgisrestutilstest;qgis_banned_keywords;qgis_browsermodeltest;qgis_callouttest;qgis_compositionconvertertest;qgis_coordinatereferencesystemtest;qgis_datadefinedsizelegendtest;qgis_datumtransformdialog;qgis_diagramtest;qgis_doxygen_order;qgis_dxfexporttest;qgis_expressiontest;qgis_filedownloader;qgis_geometrycheckstest;qgis_geometrytest;qgis_geonodeconnectiontest;qgis_grassprovidertest7;qgis_imagecachetest;qgis_invertedpolygonrenderertest;qgis_labelingenginetest;qgis_layerdefinitiontest;qgis_layout3dmaptest;qgis_layouthtmltest;qgis_layoutlabeltest;qgis_layoutmapgridtest;qgis_layoutmaptest;qgis_layoutpicturetest;qgis_layoutscalebartest;qgis_layouttabletest;qgis_legendrenderertest;qgis_licenses;qgis_maprendererjobtest;qgis_maprotationtest;qgis_mapsettingsutilstest;qgis_maptooladdfeatureline;qgis_mimedatautilstest;qgis_networkaccessmanagertest;qgis_openclutilstest;qgis_painteffecttest;qgis_pallabelingtest;qgis_processingtest;qgis_projecttest;qgis_qgisappclipboard;qgis_rasterlayersaveasdialog;qgis_shellcheck;qgis_sipify;qgis_sip_include;qgis_sip_uptodate;qgis_spelling;qgis_styletest;qgis_svgcachetest;qgis_taskmanagertest;qgis_transformdialog;qgis_valuerelationwidgetwrapper;qgis_vectorfilewritertest;qgis_wcsprovidertest;qgis_ziplayertest;qgis_meshcalculator"
CTEST_CUSTOM_TESTS_IGNORE: "ProcessingGdalAlgorithmsRasterTest;ProcessingGdalAlgorithmsVectorTest;ProcessingGrass7AlgorithmsImageryTest;ProcessingGrass7AlgorithmsRasterTest;ProcessingGrass7AlgorithmsVectorTest;ProcessingGuiTest;ProcessingOtbAlgorithmsTest;ProcessingQgisAlgorithmsTestPt1;ProcessingQgisAlgorithmsTestPt2;ProcessingQgisAlgorithmsTestPt3;ProcessingQgisAlgorithmsTestPt4;ProcessingScriptUtilsTest;PyQgsAnnotation;PyQgsAppStartup;PyQgsAuthManagerOAuth2OWSTest;PyQgsAuthManagerPasswordOWSTest;PyQgsAuthManagerPKIOWSTest;PyQgsAuthManagerProxy;PyQgsAuthSettingsWidget;PyQgsAuxiliaryStorage;PyQgsBlockingNetworkRequest;PyQgsExifTools;PyQgsFileDownloader;PyQgsFileUtils;PyQgsGeometryTest;PyQgsImageCache;PyQgsImportIntoPostGIS;PyQgsLayoutAtlas;PyQgsLayoutLegend;PyQgsLayoutMap;PyQgsLayoutMapGrid;PyQgsMapLayer;PyQgsOfflineEditingWFS;PyQgsOGRProvider;PyQgsOGRProviderGpkg;PyQgsOGRProviderSqlite;PyQgsPalLabelingCanvas;PyQgsPalLabelingLayout;PyQgsPalLabelingPlacement;PyQgsPointDisplacementRenderer;PyQgsProject;PyQgsProviderConnectionGpkg;PyQgsProviderConnectionPostgres;PyQgsPythonProvider;PyQgsRasterFileWriter;PyQgsRasterLayer;PyQgsSelectiveMasking;PyQgsServerAccessControlWMSGetlegendgraphic;PyQgsServerApi;PyQgsServerCacheManager;PyQgsServerLocaleOverride;PyQgsServerSecurity;PyQgsServerSettings;PyQgsServerWMS;PyQgsServerWMSDimension;PyQgsServerWMSGetFeatureInfo;PyQgsServerWMSGetLegendGraphic;PyQgsServerWMSGetMap;PyQgsServerWMSGetPrint;PyQgsServerWMTS;PyQgsSettings;PyQgsShapefileProvider;PyQgsSpatialiteProvider;PyQgsSvgCache;PyQgsSymbolLayer;PyQgsTaskManager;PyQgsTextRenderer;PyQgsVectorFileWriter;PyQgsVectorLayer;PyQgsVectorLayerUtils;PyQgsVirtualLayerProvider;PyQgsWFSProviderGUI;PyQgsZipUtils;qgis_3drenderingtest;qgis_alignrastertest;qgis_arcgisrestutilstest;qgis_banned_keywords;qgis_browsermodeltest;qgis_callouttest;qgis_compositionconvertertest;qgis_coordinatereferencesystemtest;qgis_datadefinedsizelegendtest;qgis_datumtransformdialog;qgis_diagramtest;qgis_doxygen_order;qgis_dxfexporttest;qgis_expressiontest;qgis_filedownloader;qgis_geometrycheckstest;qgis_geometrytest;qgis_geonodeconnectiontest;qgis_grassprovidertest7;qgis_imagecachetest;qgis_invertedpolygonrenderertest;qgis_labelingenginetest;qgis_layerdefinitiontest;qgis_layout3dmaptest;qgis_layouthtmltest;qgis_layoutlabeltest;qgis_layoutmapgridtest;qgis_layoutmaptest;qgis_layoutpicturetest;qgis_layoutscalebartest;qgis_layouttabletest;qgis_legendrenderertest;qgis_licenses;qgis_maprendererjobtest;qgis_maprotationtest;qgis_mapsettingsutilstest;qgis_maptooladdfeatureline;qgis_mimedatautilstest;qgis_networkaccessmanagertest;qgis_openclutilstest;qgis_painteffecttest;qgis_pallabelingtest;qgis_processingtest;qgis_projecttest;qgis_qgisappclipboard;qgis_rasterlayersaveasdialog;qgis_shellcheck;qgis_sipify;qgis_sip_include;qgis_sip_uptodate;qgis_spelling;qgis_styletest;qgis_svgcachetest;qgis_taskmanagertest;qgis_transformdialog;qgis_valuerelationwidgetwrapper;qgis_vectorfilewritertest;qgis_wcsprovidertest;qgis_ziplayertest;qgis_meshcalculator;qgis_pointlocatortest;PyQgsExpressionBuilderWidget;PyQgsDatumTransform"
Agent.Source.Git.ShallowFetchDepth: 120

trigger:
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/backport.yml
@@ -0,0 +1,19 @@
name: Backport
on:
pull_request:
types:
- closed
- labeled

jobs:
backport:
runs-on: ubuntu-18.04
name: Backport
steps:
- name: Backport Bot
uses: Gaurav0/backport@v1.0.24
with:
bot_username: qgis-bot
bot_token: ddbdec32940df79f1adf2369b4b10f10b5a66f65
bot_token_key: a1b2c3d47311f8e29e204f85a81b4df4a44e252c
github_token: ${{ secrets.GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions images/images.qrc
Expand Up @@ -591,6 +591,7 @@
<file>themes/default/propertyicons/system.svg</file>
<file>themes/default/propertyicons/transparency.svg</file>
<file>themes/default/propertyicons/spacer.svg</file>
<file>themes/default/propertyicons/relations.svg</file>
<file>themes/default/rendererCategorizedSymbol.svg</file>
<file>themes/default/rendererGraduatedSymbol.svg</file>
<file>themes/default/rendererNullSymbol.svg</file>
Expand Down
31 changes: 31 additions & 0 deletions images/themes/default/propertyicons/relations.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions linux/org.qgis.qgis.appdata.xml.in
Expand Up @@ -25,6 +25,7 @@
<release version="3.2.0" date="2018-06-22" />
</releases>
<launchable type="desktop-id">org.qgis.qgis.desktop</launchable>
<content_rating type="oars-1.1"/>
<provides>
<binary>qgis</binary>
</provides>
Expand Down
Expand Up @@ -10,6 +10,7 @@




struct QgsInterpolatorVertexData
{

Expand Down
9 changes: 9 additions & 0 deletions python/core/auto_generated/expression/qgsexpression.sip.in
Expand Up @@ -535,6 +535,15 @@ Returns the help text for a specified function.
.. seealso:: :py:func:`variableHelpText`

.. seealso:: :py:func:`formatVariableHelp`
%End

static QStringList tags( const QString &name );
%Docstring
Returns a string list of search tags for a specified function.

:param name: function name

.. versionadded:: 3.12
%End

static QString variableHelpText( const QString &variableName );
Expand Down
23 changes: 21 additions & 2 deletions python/core/auto_generated/mesh/qgsmeshdataprovider.sip.in
Expand Up @@ -244,6 +244,7 @@ For scalar and vector 2d the behavior is undefined
QVector<double> values() const;
%Docstring
Returns buffer to the array with values
For vector it is pairs (x1, y1, x2, y2, ... )

.. versionadded:: 3.12
%End
Expand Down Expand Up @@ -321,12 +322,12 @@ Number of 2d faces for which the volume data is stored in the block

int firstVolumeIndex() const;
%Docstring
Index of the first volume stored in the buffer
Index of the first volume stored in the buffer (absolute)
%End

int lastVolumeIndex() const;
%Docstring
Index of the last volume stored in the buffer
Index of the last volume stored in the buffer (absolute)
%End

int volumesCount() const;
Expand Down Expand Up @@ -369,6 +370,15 @@ Sets the indexing between faces and volumes
Returns the values at volume centers

For vector datasets the number of values is doubled (x1, y1, x2, y2, ... )
%End

QgsMeshDatasetValue value( int volumeIndex ) const;
%Docstring
Returns the value at volume centers

:param volumeIndex: volume index relative to firstVolumeIndex()

:return: value (scalar or vector)
%End

void setValues( const QVector<double> &doubleBuffer );
Expand Down Expand Up @@ -417,6 +427,7 @@ Constructs an empty metadata object
double minimum,
double maximum,
int maximumVerticalLevels,
const QDateTime &referenceTime,
const QMap<QString, QString> &extraOptions );
%Docstring
Constructs a valid metadata object
Expand All @@ -427,6 +438,7 @@ Constructs a valid metadata object
:param minimum: minimum value (magnitude for vectors) present among all group's dataset values
:param maximum: maximum value (magnitude for vectors) present among all group's dataset values
:param maximumVerticalLevels: maximum number of vertical levels for 3d stacked meshes, 0 for 2d meshes
:param referenceTime: reference time of the dataset group
:param extraOptions: dataset's extra options stored by the provider. Usually contains the name, time value, time units, data file vendor, ...
%End

Expand Down Expand Up @@ -471,6 +483,13 @@ Returns maximum scalar value/vector magnitude present for whole dataset group
%Docstring
Returns maximum number of vertical levels for 3d stacked meshes

.. versionadded:: 3.12
%End

QDateTime referenceTime() const;
%Docstring
Returns the reference time

.. versionadded:: 3.12
%End

Expand Down
21 changes: 21 additions & 0 deletions python/core/auto_generated/mesh/qgsmeshlayer.sip.in
Expand Up @@ -201,6 +201,27 @@ Interpolates the value on the given point from given dataset.


.. versionadded:: 3.4
%End

QgsMesh3dDataBlock dataset3dValue( const QgsMeshDatasetIndex &index, const QgsPointXY &point ) const;
%Docstring
Returns the 3d values of stacked 3d mesh defined by the given point

.. note::

It uses previously cached and indexed triangular mesh
and so if the layer has not been rendered previously
(e.g. when used in a script) it returns NaN value

:param index: dataset index specifying group and dataset to extract value from
:param point: point to query in map coordinates

:return: all 3d stacked values that belong to face defined by given point. Returns invalid block
for point outside the mesh layer or in case triangular mesh was not
previously used for rendering or for datasets that do not have type DataOnVolumes


.. versionadded:: 3.12
%End

public slots:
Expand Down
30 changes: 27 additions & 3 deletions python/core/auto_generated/mesh/qgsmeshtimesettings.sip.in
Expand Up @@ -23,10 +23,20 @@ Represents a mesh time settings for mesh datasets
#include "qgsmeshtimesettings.h"
%End
public:

enum TimeUnit
{
//! second unit
seconds,
//! minute unit
minutes,
//! hour unit
hours,
//! day unit
days
};

QgsMeshTimeSettings();
%Docstring
Default constructor for relative time format and 0 offset
%End
QgsMeshTimeSettings( double relativeTimeOffsetHours, const QString &relativeTimeFormat );
%Docstring
Constructs relative time format settings with defined offset in hours
Expand Down Expand Up @@ -88,6 +98,20 @@ Returns format used for absolute time
void setAbsoluteTimeFormat( const QString &absoluteTimeFormat );
%Docstring
Sets format used for absolute time
%End

TimeUnit providerTimeUnit() const;
%Docstring
Returns the provider time unit

.. versionadded:: 3.12
%End

void setProviderTimeUnit( const TimeUnit &providerTimeUnit );
%Docstring
Sets the provider time unit

.. versionadded:: 3.12
%End

};
Expand Down
Expand Up @@ -696,11 +696,14 @@ Update proj.4 parameters in our database from proj.4
This is used internally and should not be necessary to call in client code
%End

long saveAsUserCrs( const QString &name );
long saveAsUserCrs( const QString &name, bool storeWkt = true );
%Docstring
Saves the CRS as a custom ("USER") CRS.

Returns the new CRS srsid(), or -1 if the CRS could not be saved.

If ``storeWkt`` is ``True`` then the WKT representation of the CRS will be stored in the database.
If it is ``False``, then only the lossy PROJ string representation of the CRS will be stored (not recommended).
%End

QString geographicCrsAuthId() const;
Expand Down
1 change: 1 addition & 0 deletions python/core/auto_generated/qgsmaplayer.sip.in
Expand Up @@ -91,6 +91,7 @@ This is the base class for all map layer types (vector, raster).
Rendering,
CustomProperties,
GeometryOptions,
Relations,
AllStyleCategories
};
typedef QFlags<QgsMapLayer::StyleCategory> StyleCategories;
Expand Down
2 changes: 1 addition & 1 deletion python/core/auto_generated/qgsrelationmanager.sip.in
Expand Up @@ -104,7 +104,7 @@ Gets all relations where the specified layer (and field) is the referencing part
:return: A list of relations matching the given layer and fieldIdx.
%End

QList<QgsRelation> referencedRelations( QgsVectorLayer *layer = 0 ) const;
QList<QgsRelation> referencedRelations( const QgsVectorLayer *layer = 0 ) const;
%Docstring
Gets all relations where this layer is the referenced part (i.e. the parent table with the primary key being referenced from another layer).

Expand Down
1 change: 1 addition & 0 deletions python/core/auto_generated/qgssettings.sip.in
Expand Up @@ -57,6 +57,7 @@ QgsSettings provides some shortcuts to get/set namespaced settings from/to a spe
Auth,
App,
Providers,
Expressions,
Misc
};

Expand Down
2 changes: 2 additions & 0 deletions python/core/auto_generated/qgsvectorlayer.sip.in
Expand Up @@ -2014,6 +2014,8 @@ Returns the layer's relations, where the foreign key is on this layer.
:return: A list of relations
%End



QgsVectorLayerEditBuffer *editBuffer();
%Docstring
Buffer with uncommitted editing operations. Only valid after editing has been turned on.
Expand Down
3 changes: 2 additions & 1 deletion python/core/auto_generated/qgsvectorlayerutils.sip.in
Expand Up @@ -291,7 +291,8 @@ The following operations will be performed to convert the input features:
static QString getFeatureDisplayString( const QgsVectorLayer *layer, const QgsFeature &feature );
%Docstring

:return: the ``layer`` ``feature`` display string
:return: a descriptive string for a ``feature``, suitable for displaying to the user.
The definition is taken from the ``displayExpression`` property of ``layer``.

.. versionadded:: 3.12
%End
Expand Down

0 comments on commit 7f9aa3d

Please sign in to comment.