mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-16 00:05:45 -04:00
move enum QgsMapLayerProxyModel::Filter to Qgis (#54891)
This commit is contained in:
parent
6467a47eed
commit
c76b86e26b
@ -98,7 +98,7 @@ def _qgssettings_flag_value(self, key, flagDefaultValue, section=QgsSettings.NoS
|
||||
"""
|
||||
|
||||
# There is an issue in SIP, flags.__class__ does not return the proper class
|
||||
# (e.g. Filters instead of QgsMapLayerProxyModel.Filters)
|
||||
# (e.g. Filters instead of Qgis.LayerFilters)
|
||||
# dirty hack to get the parent class
|
||||
__import__(flagDefaultValue.__module__)
|
||||
baseClass = None
|
||||
|
@ -40,6 +40,60 @@ QgsMapLayer.TiledScene.__doc__ = "Tiled scene layer. Added in QGIS 3.34"
|
||||
Qgis.LayerType.__doc__ = "Types of layers that can be added to a map\n\n.. versionadded:: 3.30.\n\n" + '* ``VectorLayer``: ' + Qgis.LayerType.Vector.__doc__ + '\n' + '* ``RasterLayer``: ' + Qgis.LayerType.Raster.__doc__ + '\n' + '* ``PluginLayer``: ' + Qgis.LayerType.Plugin.__doc__ + '\n' + '* ``MeshLayer``: ' + Qgis.LayerType.Mesh.__doc__ + '\n' + '* ``VectorTileLayer``: ' + Qgis.LayerType.VectorTile.__doc__ + '\n' + '* ``AnnotationLayer``: ' + Qgis.LayerType.Annotation.__doc__ + '\n' + '* ``PointCloudLayer``: ' + Qgis.LayerType.PointCloud.__doc__ + '\n' + '* ``GroupLayer``: ' + Qgis.LayerType.Group.__doc__ + '\n' + '* ``TiledScene``: ' + Qgis.LayerType.TiledScene.__doc__
|
||||
# --
|
||||
Qgis.LayerType.baseClass = Qgis
|
||||
QgsMapLayerProxyModel.Filter = Qgis.LayerFilter
|
||||
# monkey patching scoped based enum
|
||||
QgsMapLayerProxyModel.RasterLayer = Qgis.LayerFilter.RasterLayer
|
||||
QgsMapLayerProxyModel.RasterLayer.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.RasterLayer.__doc__ = ""
|
||||
QgsMapLayerProxyModel.NoGeometry = Qgis.LayerFilter.NoGeometry
|
||||
QgsMapLayerProxyModel.NoGeometry.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.NoGeometry.__doc__ = ""
|
||||
QgsMapLayerProxyModel.PointLayer = Qgis.LayerFilter.PointLayer
|
||||
QgsMapLayerProxyModel.PointLayer.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.PointLayer.__doc__ = ""
|
||||
QgsMapLayerProxyModel.LineLayer = Qgis.LayerFilter.LineLayer
|
||||
QgsMapLayerProxyModel.LineLayer.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.LineLayer.__doc__ = ""
|
||||
QgsMapLayerProxyModel.PolygonLayer = Qgis.LayerFilter.PolygonLayer
|
||||
QgsMapLayerProxyModel.PolygonLayer.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.PolygonLayer.__doc__ = ""
|
||||
QgsMapLayerProxyModel.HasGeometry = Qgis.LayerFilter.HasGeometry
|
||||
QgsMapLayerProxyModel.HasGeometry.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.HasGeometry.__doc__ = ""
|
||||
QgsMapLayerProxyModel.VectorLayer = Qgis.LayerFilter.VectorLayer
|
||||
QgsMapLayerProxyModel.VectorLayer.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.VectorLayer.__doc__ = ""
|
||||
QgsMapLayerProxyModel.PluginLayer = Qgis.LayerFilter.PluginLayer
|
||||
QgsMapLayerProxyModel.PluginLayer.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.PluginLayer.__doc__ = ""
|
||||
QgsMapLayerProxyModel.WritableLayer = Qgis.LayerFilter.WritableLayer
|
||||
QgsMapLayerProxyModel.WritableLayer.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.WritableLayer.__doc__ = ""
|
||||
QgsMapLayerProxyModel.MeshLayer = Qgis.LayerFilter.MeshLayer
|
||||
QgsMapLayerProxyModel.MeshLayer.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.MeshLayer.__doc__ = "QgsMeshLayer \since QGIS 3.6"
|
||||
QgsMapLayerProxyModel.VectorTileLayer = Qgis.LayerFilter.VectorTileLayer
|
||||
QgsMapLayerProxyModel.VectorTileLayer.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.VectorTileLayer.__doc__ = "QgsVectorTileLayer \since QGIS 3.14"
|
||||
QgsMapLayerProxyModel.PointCloudLayer = Qgis.LayerFilter.PointCloudLayer
|
||||
QgsMapLayerProxyModel.PointCloudLayer.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.PointCloudLayer.__doc__ = "QgsPointCloudLayer \since QGIS 3.18"
|
||||
QgsMapLayerProxyModel.AnnotationLayer = Qgis.LayerFilter.AnnotationLayer
|
||||
QgsMapLayerProxyModel.AnnotationLayer.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.AnnotationLayer.__doc__ = "QgsAnnotationLayer \since QGIS 3.22"
|
||||
QgsMapLayerProxyModel.TiledSceneLayer = Qgis.LayerFilter.TiledSceneLayer
|
||||
QgsMapLayerProxyModel.TiledSceneLayer.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.TiledSceneLayer.__doc__ = "QgsTiledSceneLayer \since QGIS 3.34"
|
||||
QgsMapLayerProxyModel.All = Qgis.LayerFilter.All
|
||||
QgsMapLayerProxyModel.All.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.All.__doc__ = ""
|
||||
QgsMapLayerProxyModel.SpatialLayer = Qgis.LayerFilter.SpatialLayer
|
||||
QgsMapLayerProxyModel.SpatialLayer.is_monkey_patched = True
|
||||
QgsMapLayerProxyModel.SpatialLayer.__doc__ = "\since QGIS 3.24"
|
||||
Qgis.LayerFilter.__doc__ = "Filter for layers\n\n.. versionadded:: 3.34.\n\n" + '* ``RasterLayer``: ' + Qgis.LayerFilter.RasterLayer.__doc__ + '\n' + '* ``NoGeometry``: ' + Qgis.LayerFilter.NoGeometry.__doc__ + '\n' + '* ``PointLayer``: ' + Qgis.LayerFilter.PointLayer.__doc__ + '\n' + '* ``LineLayer``: ' + Qgis.LayerFilter.LineLayer.__doc__ + '\n' + '* ``PolygonLayer``: ' + Qgis.LayerFilter.PolygonLayer.__doc__ + '\n' + '* ``HasGeometry``: ' + Qgis.LayerFilter.HasGeometry.__doc__ + '\n' + '* ``VectorLayer``: ' + Qgis.LayerFilter.VectorLayer.__doc__ + '\n' + '* ``PluginLayer``: ' + Qgis.LayerFilter.PluginLayer.__doc__ + '\n' + '* ``WritableLayer``: ' + Qgis.LayerFilter.WritableLayer.__doc__ + '\n' + '* ``MeshLayer``: ' + Qgis.LayerFilter.MeshLayer.__doc__ + '\n' + '* ``VectorTileLayer``: ' + Qgis.LayerFilter.VectorTileLayer.__doc__ + '\n' + '* ``PointCloudLayer``: ' + Qgis.LayerFilter.PointCloudLayer.__doc__ + '\n' + '* ``AnnotationLayer``: ' + Qgis.LayerFilter.AnnotationLayer.__doc__ + '\n' + '* ``TiledSceneLayer``: ' + Qgis.LayerFilter.TiledSceneLayer.__doc__ + '\n' + '* ``All``: ' + Qgis.LayerFilter.All.__doc__ + '\n' + '* ``SpatialLayer``: ' + Qgis.LayerFilter.SpatialLayer.__doc__
|
||||
# --
|
||||
Qgis.LayerFilters.baseClass = Qgis
|
||||
LayerFilters = Qgis # dirty hack since SIP seems to introduce the flags in module
|
||||
QgsWkbTypes.Type = Qgis.WkbType
|
||||
# monkey patching scoped based enum
|
||||
QgsWkbTypes.Unknown = Qgis.WkbType.Unknown
|
||||
|
@ -1,3 +0,0 @@
|
||||
# The following has been generated automatically from src/core/qgsmaplayerproxymodel.h
|
||||
QgsMapLayerProxyModel.Filters.baseClass = QgsMapLayerProxyModel
|
||||
Filters = QgsMapLayerProxyModel # dirty hack since SIP seems to introduce the flags in module
|
@ -61,7 +61,7 @@ Rerturns the layer tree model
|
||||
Sets the layer tree model
|
||||
%End
|
||||
|
||||
void setFilters( const QgsMapLayerProxyModel::Filters &filters );
|
||||
void setFilters( Qgis::LayerFilters filters );
|
||||
%Docstring
|
||||
Defines the type layers (vector, raster, etc) shown in the tree
|
||||
If the list is empty, all types are shown.
|
||||
|
@ -87,6 +87,28 @@ The development version
|
||||
TiledScene,
|
||||
};
|
||||
|
||||
enum class LayerFilter
|
||||
{
|
||||
RasterLayer,
|
||||
NoGeometry,
|
||||
PointLayer,
|
||||
LineLayer,
|
||||
PolygonLayer,
|
||||
HasGeometry,
|
||||
VectorLayer,
|
||||
PluginLayer,
|
||||
WritableLayer,
|
||||
MeshLayer,
|
||||
VectorTileLayer,
|
||||
PointCloudLayer,
|
||||
AnnotationLayer,
|
||||
TiledSceneLayer,
|
||||
All,
|
||||
SpatialLayer
|
||||
};
|
||||
typedef QFlags<Qgis::LayerFilter> LayerFilters;
|
||||
|
||||
|
||||
enum class WkbType
|
||||
{
|
||||
Unknown,
|
||||
@ -2441,6 +2463,8 @@ QFlags<Qgis::TiledSceneRendererFlag> operator|(Qgis::TiledSceneRendererFlag f1,
|
||||
|
||||
QFlags<Qgis::FieldConfigurationFlag> operator|(Qgis::FieldConfigurationFlag f1, QFlags<Qgis::FieldConfigurationFlag> f2);
|
||||
|
||||
QFlags<Qgis::LayerFilter> operator|(Qgis::LayerFilter f1, QFlags<Qgis::LayerFilter> f2);
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -22,27 +22,6 @@ The :py:class:`QgsMapLayerProxyModel` class provides an easy to use model to dis
|
||||
#include "qgsmaplayerproxymodel.h"
|
||||
%End
|
||||
public:
|
||||
enum Filter
|
||||
{
|
||||
RasterLayer,
|
||||
NoGeometry,
|
||||
PointLayer,
|
||||
LineLayer,
|
||||
PolygonLayer,
|
||||
HasGeometry,
|
||||
VectorLayer,
|
||||
PluginLayer,
|
||||
WritableLayer,
|
||||
MeshLayer,
|
||||
VectorTileLayer,
|
||||
PointCloudLayer,
|
||||
AnnotationLayer,
|
||||
TiledSceneLayer,
|
||||
All,
|
||||
SpatialLayer
|
||||
};
|
||||
typedef QFlags<QgsMapLayerProxyModel::Filter> Filters;
|
||||
|
||||
|
||||
explicit QgsMapLayerProxyModel( QObject *parent /TransferThis/ = 0 );
|
||||
%Docstring
|
||||
@ -55,7 +34,7 @@ It can be used to filter the layers list in a widget.
|
||||
layerModel returns the :py:class:`QgsMapLayerModel` used in this QSortFilterProxyModel
|
||||
%End
|
||||
|
||||
QgsMapLayerProxyModel *setFilters( QgsMapLayerProxyModel::Filters filters );
|
||||
QgsMapLayerProxyModel *setFilters( Qgis::LayerFilters filters );
|
||||
%Docstring
|
||||
Sets ``filter`` flags which affect how layers are filtered within the model.
|
||||
|
||||
@ -64,7 +43,21 @@ Sets ``filter`` flags which affect how layers are filtered within the model.
|
||||
.. versionadded:: 2.3
|
||||
%End
|
||||
|
||||
const Filters &filters() const;
|
||||
void setFilters( int filters ) /Deprecated/;
|
||||
%Docstring
|
||||
Filters according to layer type and/or geometry type.
|
||||
|
||||
.. note::
|
||||
|
||||
for API compatibility
|
||||
|
||||
.. versionadded:: 3.34
|
||||
|
||||
.. deprecated:: QGIS 3.34
|
||||
use the flag signature instead
|
||||
%End
|
||||
|
||||
const Qgis::LayerFilters &filters() const;
|
||||
%Docstring
|
||||
Returns the filter flags which affect how layers are filtered within the model.
|
||||
|
||||
@ -82,7 +75,7 @@ If ``project`` is ``None`` then :py:func:`QgsProject.instance()` will be used.
|
||||
.. versionadded:: 3.24
|
||||
%End
|
||||
|
||||
static bool layerMatchesFilters( const QgsMapLayer *layer, const Filters &filters );
|
||||
static bool layerMatchesFilters( const QgsMapLayer *layer, const Qgis::LayerFilters &filters );
|
||||
%Docstring
|
||||
Returns if the ``layer`` matches the given ``filters``
|
||||
|
||||
@ -238,9 +231,6 @@ specified string will be shown.
|
||||
|
||||
};
|
||||
|
||||
QFlags<QgsMapLayerProxyModel::Filter> operator|(QgsMapLayerProxyModel::Filter f1, QFlags<QgsMapLayerProxyModel::Filter> f2);
|
||||
|
||||
|
||||
/************************************************************************
|
||||
* This file has been generated automatically from *
|
||||
* *
|
||||
|
@ -30,12 +30,26 @@ QgsMapLayerComboBox creates a combo box to display the list of layers (currently
|
||||
The layers can be filtered and/or ordered.
|
||||
%End
|
||||
|
||||
void setFilters( QgsMapLayerProxyModel::Filters filters );
|
||||
void setFilters( Qgis::LayerFilters filters );
|
||||
%Docstring
|
||||
setFilters allows filtering according to layer type and/or geometry type.
|
||||
Filters according to layer type and/or geometry type.
|
||||
%End
|
||||
|
||||
QgsMapLayerProxyModel::Filters filters() const;
|
||||
void setFilters( int filters ) /Deprecated/;
|
||||
%Docstring
|
||||
Filters according to layer type and/or geometry type.
|
||||
|
||||
.. note::
|
||||
|
||||
for API compatibility
|
||||
|
||||
.. versionadded:: 3.34
|
||||
|
||||
.. deprecated:: QGIS 3.34
|
||||
use the flag signature instead
|
||||
%End
|
||||
|
||||
Qgis::LayerFilters filters() const;
|
||||
%Docstring
|
||||
currently used filter on list layers
|
||||
%End
|
||||
|
@ -25,16 +25,19 @@ from qgis.PyQt import uic
|
||||
from qgis.PyQt.QtCore import pyqtSignal
|
||||
from qgis.PyQt.QtWidgets import (QTreeWidgetItem,
|
||||
QComboBox)
|
||||
from qgis.core import (QgsApplication,
|
||||
QgsMapLayerProxyModel,
|
||||
QgsWkbTypes,
|
||||
QgsRectangle,
|
||||
QgsReferencedRectangle,
|
||||
QgsCoordinateReferenceSystem,
|
||||
QgsProcessingUtils,
|
||||
QgsProcessingParameterNumber,
|
||||
QgsProcessingParameterDefinition,
|
||||
QgsFieldProxyModel)
|
||||
from qgis.core import (
|
||||
Qgis,
|
||||
QgsApplication,
|
||||
QgsMapLayerProxyModel,
|
||||
QgsWkbTypes,
|
||||
QgsRectangle,
|
||||
QgsReferencedRectangle,
|
||||
QgsCoordinateReferenceSystem,
|
||||
QgsProcessingUtils,
|
||||
QgsProcessingParameterNumber,
|
||||
QgsProcessingParameterDefinition,
|
||||
QgsFieldProxyModel
|
||||
)
|
||||
from qgis.gui import QgsDoubleSpinBox
|
||||
from qgis.analysis import QgsInterpolator
|
||||
|
||||
@ -99,7 +102,7 @@ class InterpolationDataWidget(BASE, WIDGET):
|
||||
self.btnRemove.clicked.connect(self.removeLayer)
|
||||
|
||||
self.cmbLayers.layerChanged.connect(self.layerChanged)
|
||||
self.cmbLayers.setFilters(QgsMapLayerProxyModel.VectorLayer)
|
||||
self.cmbLayers.setFilters(Qgis.LayerFilter.VectorLayer)
|
||||
self.cmbFields.setFilters(QgsFieldProxyModel.Numeric)
|
||||
self.cmbFields.setLayer(self.cmbLayers.currentLayer())
|
||||
|
||||
|
@ -36,7 +36,8 @@ from qgis.PyQt.QtCore import QCoreApplication, pyqtSignal
|
||||
|
||||
from qgis.gui import QgsMapLayerComboBox
|
||||
from qgis.utils import iface
|
||||
from qgis.core import (QgsProcessingParameterDefinition,
|
||||
from qgis.core import (Qgis,
|
||||
QgsProcessingParameterDefinition,
|
||||
QgsProcessingParameters,
|
||||
QgsProject,
|
||||
QgsReferencedRectangle,
|
||||
@ -63,7 +64,7 @@ class LayerSelectionDialog(QDialog):
|
||||
vl.addWidget(QLabel(self.tr('Use extent from')))
|
||||
self.combo = QgsMapLayerComboBox()
|
||||
self.combo.setFilters(
|
||||
QgsMapLayerProxyModel.HasGeometry | QgsMapLayerProxyModel.RasterLayer | QgsMapLayerProxyModel.MeshLayer)
|
||||
Qgis.LayerFilter.HasGeometry | Qgis.LayerFilter.RasterLayer | Qgis.LayerFilter.MeshLayer)
|
||||
self.combo.setShowCrs(ProcessingConfig.getSetting(ProcessingConfig.SHOW_CRS_DEF))
|
||||
vl.addWidget(self.combo)
|
||||
|
||||
|
@ -92,7 +92,7 @@ Qgs3DMapConfigWidget::Qgs3DMapConfigWidget( Qgs3DMapSettings *map, QgsMapCanvas
|
||||
mDebugDepthMapSizeSpinBox->setClearValue( 0.1 );
|
||||
|
||||
cboTerrainLayer->setAllowEmptyLayer( true );
|
||||
cboTerrainLayer->setFilters( QgsMapLayerProxyModel::RasterLayer );
|
||||
cboTerrainLayer->setFilters( Qgis::LayerFilter::RasterLayer );
|
||||
|
||||
cboTerrainType->addItem( tr( "Flat Terrain" ), QgsTerrainGenerator::Flat );
|
||||
cboTerrainType->addItem( tr( "DEM (Raster Layer)" ), QgsTerrainGenerator::Dem );
|
||||
@ -109,7 +109,7 @@ Qgs3DMapConfigWidget::Qgs3DMapConfigWidget( Qgs3DMapSettings *map, QgsMapCanvas
|
||||
spinTerrainResolution->setValue( demTerrainGen->resolution() );
|
||||
spinTerrainSkirtHeight->setValue( demTerrainGen->skirtHeight() );
|
||||
cboTerrainLayer->setLayer( demTerrainGen->layer() );
|
||||
cboTerrainLayer->setFilters( QgsMapLayerProxyModel::RasterLayer );
|
||||
cboTerrainLayer->setFilters( Qgis::LayerFilter::RasterLayer );
|
||||
}
|
||||
else if ( terrainGen && terrainGen->type() == QgsTerrainGenerator::Online )
|
||||
{
|
||||
@ -122,7 +122,7 @@ Qgs3DMapConfigWidget::Qgs3DMapConfigWidget( Qgs3DMapSettings *map, QgsMapCanvas
|
||||
{
|
||||
cboTerrainType->setCurrentIndex( cboTerrainType->findData( QgsTerrainGenerator::Mesh ) );
|
||||
QgsMeshTerrainGenerator *meshTerrain = static_cast<QgsMeshTerrainGenerator *>( terrainGen );
|
||||
cboTerrainLayer->setFilters( QgsMapLayerProxyModel::MeshLayer );
|
||||
cboTerrainLayer->setFilters( Qgis::LayerFilter::MeshLayer );
|
||||
cboTerrainLayer->setLayer( meshTerrain->meshLayer() );
|
||||
mMeshSymbolWidget->setLayer( meshTerrain->meshLayer(), false );
|
||||
mMeshSymbolWidget->setSymbol( meshTerrain->symbol() );
|
||||
@ -408,11 +408,11 @@ void Qgs3DMapConfigWidget::onTerrainTypeChanged()
|
||||
QgsMapLayer *oldTerrainLayer = cboTerrainLayer->currentLayer();
|
||||
if ( cboTerrainType->currentData() == QgsTerrainGenerator::Dem )
|
||||
{
|
||||
cboTerrainLayer->setFilters( QgsMapLayerProxyModel::RasterLayer );
|
||||
cboTerrainLayer->setFilters( Qgis::LayerFilter::RasterLayer );
|
||||
}
|
||||
else if ( cboTerrainType->currentData() == QgsTerrainGenerator::Mesh )
|
||||
{
|
||||
cboTerrainLayer->setFilters( QgsMapLayerProxyModel::MeshLayer );
|
||||
cboTerrainLayer->setFilters( Qgis::LayerFilter::MeshLayer );
|
||||
}
|
||||
|
||||
if ( cboTerrainLayer->currentLayer() != oldTerrainLayer )
|
||||
|
@ -91,7 +91,7 @@ QgsGpsToolBar::QgsGpsToolBar( QgsAppGpsConnection *connection, QgsMapCanvas *can
|
||||
|
||||
mDestinationLayerModel = new QgsMapLayerProxyModel( this );
|
||||
mDestinationLayerModel->setProject( QgsProject::instance() );
|
||||
mDestinationLayerModel->setFilters( QgsMapLayerProxyModel::Filter::HasGeometry | QgsMapLayerProxyModel::Filter::WritableLayer );
|
||||
mDestinationLayerModel->setFilters( Qgis::LayerFilter::HasGeometry | Qgis::LayerFilter::WritableLayer );
|
||||
|
||||
mDestinationLayerMenu = new QMenu( this );
|
||||
connect( mDestinationLayerMenu, &QMenu::aboutToShow, this, &QgsGpsToolBar::destinationMenuAboutToShow );
|
||||
|
@ -28,7 +28,7 @@ QgsReportSectionFieldGroupWidget::QgsReportSectionFieldGroupWidget( QgsReportOrg
|
||||
{
|
||||
setupUi( this );
|
||||
|
||||
mLayerComboBox->setFilters( QgsMapLayerProxyModel::VectorLayer );
|
||||
mLayerComboBox->setFilters( Qgis::LayerFilter::VectorLayer );
|
||||
connect( mLayerComboBox, &QgsMapLayerComboBox::layerChanged, mFieldComboBox, &QgsFieldComboBox::setLayer );
|
||||
connect( mButtonEditBody, &QPushButton::clicked, this, &QgsReportSectionFieldGroupWidget::editBody );
|
||||
connect( mButtonEditHeader, &QPushButton::clicked, this, &QgsReportSectionFieldGroupWidget::editHeader );
|
||||
|
@ -46,7 +46,7 @@ QgsMeshCalculatorDialog::QgsMeshCalculatorDialog( QgsMeshLayer *meshLayer, QWidg
|
||||
setupUi( this );
|
||||
QgsGui::enableAutoGeometryRestore( this );
|
||||
|
||||
cboLayerMask->setFilters( QgsMapLayerProxyModel::PolygonLayer );
|
||||
cboLayerMask->setFilters( Qgis::LayerFilter::PolygonLayer );
|
||||
QgsMeshDatasetGroupListModel *model = new QgsMeshDatasetGroupListModel( this );
|
||||
model->syncToLayer( meshLayer );
|
||||
model->setDisplayProviderName( true );
|
||||
|
@ -58,7 +58,7 @@ QgsNewMeshLayerDialog::QgsNewMeshLayerDialog( QWidget *parent, Qt::WindowFlags f
|
||||
mFormatComboBox->setCurrentIndex( -1 );
|
||||
mFileWidget->setStorageMode( QgsFileWidget::SaveFile );
|
||||
mFileWidget->setFilter( filters.join( QLatin1String( ";;" ) ) );
|
||||
mMeshProjectComboBox->setFilters( QgsMapLayerProxyModel::MeshLayer );
|
||||
mMeshProjectComboBox->setFilters( Qgis::LayerFilter::MeshLayer );
|
||||
|
||||
connect( mFormatComboBox, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ),
|
||||
this, &QgsNewMeshLayerDialog::onFormatChanged );
|
||||
|
@ -30,11 +30,11 @@ QgsProjectElevationSettingsWidget::QgsProjectElevationSettingsWidget( QWidget *p
|
||||
|
||||
mDemOffsetSpinBox->setClearValue( 0.0 );
|
||||
mDemScaleSpinBox->setClearValue( 1.0 );
|
||||
mComboDemLayer->setFilters( QgsMapLayerProxyModel::RasterLayer );
|
||||
mComboDemLayer->setFilters( Qgis::LayerFilter::RasterLayer );
|
||||
|
||||
mMeshOffsetSpinBox->setClearValue( 0.0 );
|
||||
mMeshScaleSpinBox->setClearValue( 1.0 );
|
||||
mComboMeshLayer->setFilters( QgsMapLayerProxyModel::MeshLayer );
|
||||
mComboMeshLayer->setFilters( Qgis::LayerFilter::MeshLayer );
|
||||
|
||||
mComboTerrainType->addItem( tr( "Flat Terrain" ), QStringLiteral( "flat" ) );
|
||||
mComboTerrainType->addItem( tr( "DEM (Raster Layer)" ), QStringLiteral( "raster" ) );
|
||||
|
@ -106,14 +106,14 @@ QgsLayerStylingWidget::QgsLayerStylingWidget( QgsMapCanvas *canvas, QgsMessageBa
|
||||
connect( mLayerCombo, &QgsMapLayerComboBox::layerChanged, this, &QgsLayerStylingWidget::setLayer );
|
||||
connect( mLiveApplyCheck, &QAbstractButton::toggled, this, &QgsLayerStylingWidget::liveApplyToggled );
|
||||
|
||||
mLayerCombo->setFilters( QgsMapLayerProxyModel::Filter::HasGeometry
|
||||
| QgsMapLayerProxyModel::Filter::RasterLayer
|
||||
| QgsMapLayerProxyModel::Filter::PluginLayer
|
||||
| QgsMapLayerProxyModel::Filter::MeshLayer
|
||||
| QgsMapLayerProxyModel::Filter::VectorTileLayer
|
||||
| QgsMapLayerProxyModel::Filter::PointCloudLayer
|
||||
| QgsMapLayerProxyModel::Filter::TiledSceneLayer
|
||||
| QgsMapLayerProxyModel::Filter::AnnotationLayer );
|
||||
mLayerCombo->setFilters( Qgis::LayerFilter::HasGeometry
|
||||
| Qgis::LayerFilter::RasterLayer
|
||||
| Qgis::LayerFilter::PluginLayer
|
||||
| Qgis::LayerFilter::MeshLayer
|
||||
| Qgis::LayerFilter::VectorTileLayer
|
||||
| Qgis::LayerFilter::PointCloudLayer
|
||||
| Qgis::LayerFilter::TiledSceneLayer
|
||||
| Qgis::LayerFilter::AnnotationLayer );
|
||||
mLayerCombo->setAdditionalLayers( { QgsProject::instance()->mainAnnotationLayer() } );
|
||||
|
||||
mStackedWidget->setCurrentIndex( 0 );
|
||||
|
@ -40,11 +40,11 @@ QgsCreateRelationDialog::QgsCreateRelationDialog( QWidget *parent )
|
||||
setupUi( this );
|
||||
|
||||
mReferencedLayerCombobox = new QgsMapLayerComboBox( this );
|
||||
mReferencedLayerCombobox->setFilters( QgsMapLayerProxyModel::VectorLayer );
|
||||
mReferencedLayerCombobox->setFilters( Qgis::LayerFilter::VectorLayer );
|
||||
mFieldsMappingTable->setCellWidget( 0, 0, mReferencedLayerCombobox );
|
||||
|
||||
mReferencingLayerCombobox = new QgsMapLayerComboBox( this );
|
||||
mReferencingLayerCombobox->setFilters( QgsMapLayerProxyModel::VectorLayer );
|
||||
mReferencingLayerCombobox->setFilters( Qgis::LayerFilter::VectorLayer );
|
||||
mFieldsMappingTable->setCellWidget( 0, 1, mReferencingLayerCombobox );
|
||||
|
||||
mRelationStrengthComboBox->addItem( tr( "Association" ), static_cast< int >( Qgis::RelationshipStrength::Association ) );
|
||||
|
@ -62,7 +62,7 @@ QgsStatisticalSummaryDockWidget::QgsStatisticalSummaryDockWidget( QWidget *paren
|
||||
|
||||
mFieldExpressionWidget->registerExpressionContextGenerator( this );
|
||||
|
||||
mLayerComboBox->setFilters( QgsMapLayerProxyModel::VectorLayer );
|
||||
mLayerComboBox->setFilters( Qgis::LayerFilter::VectorLayer );
|
||||
mFieldExpressionWidget->setFilters( QgsFieldProxyModel::Numeric |
|
||||
QgsFieldProxyModel::String |
|
||||
QgsFieldProxyModel::Date );
|
||||
|
@ -104,7 +104,7 @@ QgsVectorLayerDigitizingPropertiesPage::QgsVectorLayerDigitizingPropertiesPage(
|
||||
mGapCheckAllowExceptionsActivatedCheckBox->setLayout( layout );
|
||||
topologyCheckLayout->addWidget( mGapCheckAllowExceptionsActivatedCheckBox );
|
||||
mGapCheckAllowExceptionsLayerComboBox = new QgsMapLayerComboBox();
|
||||
mGapCheckAllowExceptionsLayerComboBox->setFilters( QgsMapLayerProxyModel::PolygonLayer );
|
||||
mGapCheckAllowExceptionsLayerComboBox->setFilters( Qgis::LayerFilter::PolygonLayer );
|
||||
mGapCheckAllowExceptionsLayerComboBox->setExceptedLayerList( QList<QgsMapLayer *> { vlayer } );
|
||||
mGapCheckAllowExceptionsLayerComboBox->setLayer( QgsProject::instance()->mapLayer( gapCheckConfig.value( QStringLiteral( "allowedGapsLayer" ) ).toString() ) );
|
||||
layout->addWidget( new QLabel( tr( "Layer" ) ), 0, 0 );
|
||||
|
@ -107,7 +107,7 @@ void QgsLayerTreeFilterProxyModel::setLayerTreeModel( QgsLayerTreeModel *layerTr
|
||||
QSortFilterProxyModel::setSourceModel( layerTreeModel );
|
||||
}
|
||||
|
||||
void QgsLayerTreeFilterProxyModel::setFilters( const QgsMapLayerProxyModel::Filters &filters )
|
||||
void QgsLayerTreeFilterProxyModel::setFilters( Qgis::LayerFilters filters )
|
||||
{
|
||||
mFilters = filters;
|
||||
invalidateFilter();
|
||||
|
@ -66,7 +66,7 @@ class CORE_EXPORT QgsLayerTreeFilterProxyModel : public QSortFilterProxyModel
|
||||
* Defines the type layers (vector, raster, etc) shown in the tree
|
||||
* If the list is empty, all types are shown.
|
||||
*/
|
||||
void setFilters( const QgsMapLayerProxyModel::Filters &filters );
|
||||
void setFilters( Qgis::LayerFilters filters );
|
||||
|
||||
virtual int columnCount( const QModelIndex &parent ) const override;
|
||||
virtual Qt::ItemFlags flags( const QModelIndex &idx ) const override;
|
||||
@ -105,7 +105,7 @@ class CORE_EXPORT QgsLayerTreeFilterProxyModel : public QSortFilterProxyModel
|
||||
QgsLayerTreeModel *mLayerTreeModel = nullptr;
|
||||
QList<QgsMapLayer *> mCheckedLayers;
|
||||
QString mFilterText;
|
||||
QgsMapLayerProxyModel::Filters mFilters = QgsMapLayerProxyModel::All;
|
||||
Qgis::LayerFilters mFilters = Qgis::LayerFilter::All;
|
||||
};
|
||||
|
||||
#endif // QGSLAYERTREEFILTERPROXYMODEL_H
|
||||
|
@ -124,6 +124,33 @@ class CORE_EXPORT Qgis
|
||||
};
|
||||
Q_ENUM( LayerType )
|
||||
|
||||
/**
|
||||
* Filter for layers
|
||||
*
|
||||
* \since QGIS 3.34. Prior to 3.34 this was available as QgsMapLayerProxyModel::Filter.
|
||||
*/
|
||||
enum class LayerFilter SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsMapLayerProxyModel, Filter ) : int
|
||||
{
|
||||
RasterLayer = 1,
|
||||
NoGeometry = 2,
|
||||
PointLayer = 4,
|
||||
LineLayer = 8,
|
||||
PolygonLayer = 16,
|
||||
HasGeometry = PointLayer | LineLayer | PolygonLayer,
|
||||
VectorLayer = NoGeometry | HasGeometry,
|
||||
PluginLayer = 32,
|
||||
WritableLayer = 64,
|
||||
MeshLayer = 128, //!< QgsMeshLayer \since QGIS 3.6
|
||||
VectorTileLayer = 256, //!< QgsVectorTileLayer \since QGIS 3.14
|
||||
PointCloudLayer = 512, //!< QgsPointCloudLayer \since QGIS 3.18
|
||||
AnnotationLayer = 1024, //!< QgsAnnotationLayer \since QGIS 3.22
|
||||
TiledSceneLayer = 2048, //!< QgsTiledSceneLayer \since QGIS 3.34
|
||||
All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer,
|
||||
SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer //!< \since QGIS 3.24
|
||||
};
|
||||
Q_DECLARE_FLAGS( LayerFilters, LayerFilter )
|
||||
Q_FLAG( LayerFilters )
|
||||
|
||||
/**
|
||||
* The WKB type describes the number of dimensions a geometry has
|
||||
*
|
||||
@ -4153,6 +4180,7 @@ Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TiledSceneProviderCapabilities )
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TiledSceneRequestFlags )
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::TiledSceneRendererFlags )
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::FieldConfigurationFlags )
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::LayerFilters )
|
||||
|
||||
// hack to workaround warnings when casting void pointers
|
||||
// retrieved from QLibrary::resolve to function pointers.
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
QgsMapLayerProxyModel::QgsMapLayerProxyModel( QObject *parent )
|
||||
: QSortFilterProxyModel( parent )
|
||||
, mFilters( All )
|
||||
, mFilters( Qgis::LayerFilter::All )
|
||||
, mModel( new QgsMapLayerModel( parent ) )
|
||||
{
|
||||
setSourceModel( mModel );
|
||||
@ -31,48 +31,48 @@ QgsMapLayerProxyModel::QgsMapLayerProxyModel( QObject *parent )
|
||||
sort( 0 );
|
||||
}
|
||||
|
||||
QgsMapLayerProxyModel *QgsMapLayerProxyModel::setFilters( Filters filters )
|
||||
QgsMapLayerProxyModel *QgsMapLayerProxyModel::setFilters( Qgis::LayerFilters filters )
|
||||
{
|
||||
mFilters = filters;
|
||||
invalidateFilter();
|
||||
return this;
|
||||
}
|
||||
|
||||
bool QgsMapLayerProxyModel::layerMatchesFilters( const QgsMapLayer *layer, const Filters &filters )
|
||||
bool QgsMapLayerProxyModel::layerMatchesFilters( const QgsMapLayer *layer, const Qgis::LayerFilters &filters )
|
||||
{
|
||||
if ( filters.testFlag( All ) )
|
||||
if ( filters.testFlag( Qgis::LayerFilter::All ) )
|
||||
return true;
|
||||
|
||||
// layer type
|
||||
if ( ( filters.testFlag( RasterLayer ) && layer->type() == Qgis::LayerType::Raster ) ||
|
||||
( filters.testFlag( VectorLayer ) && layer->type() == Qgis::LayerType::Vector ) ||
|
||||
( filters.testFlag( MeshLayer ) && layer->type() == Qgis::LayerType::Mesh ) ||
|
||||
( filters.testFlag( VectorTileLayer ) && layer->type() == Qgis::LayerType::VectorTile ) ||
|
||||
( filters.testFlag( PointCloudLayer ) && layer->type() == Qgis::LayerType::PointCloud ) ||
|
||||
( filters.testFlag( AnnotationLayer ) && layer->type() == Qgis::LayerType::Annotation ) ||
|
||||
( filters.testFlag( TiledSceneLayer ) && layer->type() == Qgis::LayerType::TiledScene ) ||
|
||||
( filters.testFlag( PluginLayer ) && layer->type() == Qgis::LayerType::Plugin ) )
|
||||
if ( ( filters.testFlag( Qgis::LayerFilter::RasterLayer ) && layer->type() == Qgis::LayerType::Raster ) ||
|
||||
( filters.testFlag( Qgis::LayerFilter::VectorLayer ) && layer->type() == Qgis::LayerType::Vector ) ||
|
||||
( filters.testFlag( Qgis::LayerFilter::MeshLayer ) && layer->type() == Qgis::LayerType::Mesh ) ||
|
||||
( filters.testFlag( Qgis::LayerFilter::VectorTileLayer ) && layer->type() == Qgis::LayerType::VectorTile ) ||
|
||||
( filters.testFlag( Qgis::LayerFilter::PointCloudLayer ) && layer->type() == Qgis::LayerType::PointCloud ) ||
|
||||
( filters.testFlag( Qgis::LayerFilter::AnnotationLayer ) && layer->type() == Qgis::LayerType::Annotation ) ||
|
||||
( filters.testFlag( Qgis::LayerFilter::TiledSceneLayer ) && layer->type() == Qgis::LayerType::TiledScene ) ||
|
||||
( filters.testFlag( Qgis::LayerFilter::PluginLayer ) && layer->type() == Qgis::LayerType::Plugin ) )
|
||||
return true;
|
||||
|
||||
// geometry type
|
||||
const bool detectGeometry = filters.testFlag( NoGeometry ) ||
|
||||
filters.testFlag( PointLayer ) ||
|
||||
filters.testFlag( LineLayer ) ||
|
||||
filters.testFlag( PolygonLayer ) ||
|
||||
filters.testFlag( HasGeometry );
|
||||
const bool detectGeometry = filters.testFlag( Qgis::LayerFilter::NoGeometry ) ||
|
||||
filters.testFlag( Qgis::LayerFilter::PointLayer ) ||
|
||||
filters.testFlag( Qgis::LayerFilter::LineLayer ) ||
|
||||
filters.testFlag( Qgis::LayerFilter::PolygonLayer ) ||
|
||||
filters.testFlag( Qgis::LayerFilter::HasGeometry );
|
||||
if ( detectGeometry && layer->type() == Qgis::LayerType::Vector )
|
||||
{
|
||||
if ( const QgsVectorLayer *vl = qobject_cast<const QgsVectorLayer *>( layer ) )
|
||||
{
|
||||
if ( filters.testFlag( HasGeometry ) && vl->isSpatial() )
|
||||
if ( filters.testFlag( Qgis::LayerFilter::HasGeometry ) && vl->isSpatial() )
|
||||
return true;
|
||||
if ( filters.testFlag( NoGeometry ) && vl->geometryType() == Qgis::GeometryType::Null )
|
||||
if ( filters.testFlag( Qgis::LayerFilter::NoGeometry ) && vl->geometryType() == Qgis::GeometryType::Null )
|
||||
return true;
|
||||
if ( filters.testFlag( PointLayer ) && vl->geometryType() == Qgis::GeometryType::Point )
|
||||
if ( filters.testFlag( Qgis::LayerFilter::PointLayer ) && vl->geometryType() == Qgis::GeometryType::Point )
|
||||
return true;
|
||||
if ( filters.testFlag( LineLayer ) && vl->geometryType() == Qgis::GeometryType::Line )
|
||||
if ( filters.testFlag( Qgis::LayerFilter::LineLayer ) && vl->geometryType() == Qgis::GeometryType::Line )
|
||||
return true;
|
||||
if ( filters.testFlag( PolygonLayer ) && vl->geometryType() == Qgis::GeometryType::Polygon )
|
||||
if ( filters.testFlag( Qgis::LayerFilter::PolygonLayer ) && vl->geometryType() == Qgis::GeometryType::Polygon )
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -153,7 +153,7 @@ bool QgsMapLayerProxyModel::acceptsLayer( QgsMapLayer *layer ) const
|
||||
if ( layer->dataProvider() && mExcludedProviders.contains( layer->providerType() ) )
|
||||
return false;
|
||||
|
||||
if ( mFilters.testFlag( WritableLayer ) && layer->readOnly() )
|
||||
if ( mFilters.testFlag( Qgis::LayerFilter::WritableLayer ) && layer->readOnly() )
|
||||
return false;
|
||||
|
||||
if ( !layer->name().contains( mFilterString, Qt::CaseInsensitive ) )
|
||||
@ -170,7 +170,7 @@ void QgsMapLayerProxyModel::setFilterString( const QString &filter )
|
||||
|
||||
bool QgsMapLayerProxyModel::filterAcceptsRow( int source_row, const QModelIndex &source_parent ) const
|
||||
{
|
||||
if ( mFilters.testFlag( All ) && mExceptList.isEmpty() && mLayerAllowlist.isEmpty() && mExcludedProviders.isEmpty() && mFilterString.isEmpty() )
|
||||
if ( mFilters.testFlag( Qgis::LayerFilter::All ) && mExceptList.isEmpty() && mLayerAllowlist.isEmpty() && mExcludedProviders.isEmpty() && mFilterString.isEmpty() )
|
||||
return true;
|
||||
|
||||
const QModelIndex index = sourceModel()->index( source_row, 0, source_parent );
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
#include "qgis_core.h"
|
||||
#include "qgis_sip.h"
|
||||
#include "qgis.h"
|
||||
|
||||
class QgsMapLayerModel;
|
||||
class QgsMapLayer;
|
||||
@ -35,32 +36,11 @@ class CORE_EXPORT QgsMapLayerProxyModel : public QSortFilterProxyModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY( QgsMapLayerProxyModel::Filters filters READ filters WRITE setFilters )
|
||||
Q_PROPERTY( Qgis::LayerFilters filters READ filters WRITE setFilters )
|
||||
Q_PROPERTY( QList<QgsMapLayer *> exceptedLayerList READ exceptedLayerList WRITE setExceptedLayerList )
|
||||
Q_PROPERTY( QStringList exceptedLayerIds READ exceptedLayerIds WRITE setExceptedLayerIds )
|
||||
|
||||
public:
|
||||
enum Filter
|
||||
{
|
||||
RasterLayer = 1,
|
||||
NoGeometry = 2,
|
||||
PointLayer = 4,
|
||||
LineLayer = 8,
|
||||
PolygonLayer = 16,
|
||||
HasGeometry = PointLayer | LineLayer | PolygonLayer,
|
||||
VectorLayer = NoGeometry | HasGeometry,
|
||||
PluginLayer = 32,
|
||||
WritableLayer = 64,
|
||||
MeshLayer = 128, //!< QgsMeshLayer \since QGIS 3.6
|
||||
VectorTileLayer = 256, //!< QgsVectorTileLayer \since QGIS 3.14
|
||||
PointCloudLayer = 512, //!< QgsPointCloudLayer \since QGIS 3.18
|
||||
AnnotationLayer = 1024, //!< QgsAnnotationLayer \since QGIS 3.22
|
||||
TiledSceneLayer = 2048, //!< QgsTiledSceneLayer \since QGIS 3.34
|
||||
All = RasterLayer | VectorLayer | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer,
|
||||
SpatialLayer = RasterLayer | HasGeometry | PluginLayer | MeshLayer | VectorTileLayer | PointCloudLayer | AnnotationLayer | TiledSceneLayer //!< \since QGIS 3.24
|
||||
};
|
||||
Q_DECLARE_FLAGS( Filters, Filter )
|
||||
Q_FLAG( Filters )
|
||||
|
||||
/**
|
||||
* \brief QgsMapLayerProxModel creates a proxy model with a QgsMapLayerModel as source model.
|
||||
@ -80,7 +60,15 @@ class CORE_EXPORT QgsMapLayerProxyModel : public QSortFilterProxyModel
|
||||
*
|
||||
* \since QGIS 2.3
|
||||
*/
|
||||
QgsMapLayerProxyModel *setFilters( QgsMapLayerProxyModel::Filters filters );
|
||||
QgsMapLayerProxyModel *setFilters( Qgis::LayerFilters filters );
|
||||
|
||||
/**
|
||||
* Filters according to layer type and/or geometry type.
|
||||
* \note for API compatibility
|
||||
* \since QGIS 3.34
|
||||
* \deprecated since QGIS 3.34 use the flag signature instead
|
||||
*/
|
||||
Q_DECL_DEPRECATED void setFilters( int filters ) SIP_DEPRECATED { setFilters( static_cast<Qgis::LayerFilters>( filters ) ); }
|
||||
|
||||
/**
|
||||
* Returns the filter flags which affect how layers are filtered within the model.
|
||||
@ -89,7 +77,7 @@ class CORE_EXPORT QgsMapLayerProxyModel : public QSortFilterProxyModel
|
||||
*
|
||||
* \since QGIS 2.3
|
||||
*/
|
||||
const Filters &filters() const { return mFilters; }
|
||||
const Qgis::LayerFilters &filters() const { return mFilters; }
|
||||
|
||||
/**
|
||||
* Sets the \a project from which map layers are shown.
|
||||
@ -104,7 +92,7 @@ class CORE_EXPORT QgsMapLayerProxyModel : public QSortFilterProxyModel
|
||||
* Returns if the \a layer matches the given \a filters
|
||||
* \since QGIS 3.14
|
||||
*/
|
||||
static bool layerMatchesFilters( const QgsMapLayer *layer, const Filters &filters );
|
||||
static bool layerMatchesFilters( const QgsMapLayer *layer, const Qgis::LayerFilters &filters );
|
||||
|
||||
/**
|
||||
* Sets an allowlist of \a layers to include within the model. Only layers
|
||||
@ -230,7 +218,7 @@ class CORE_EXPORT QgsMapLayerProxyModel : public QSortFilterProxyModel
|
||||
void setFilterString( const QString &filter );
|
||||
|
||||
private:
|
||||
Filters mFilters;
|
||||
Qgis::LayerFilters mFilters;
|
||||
QList<QgsMapLayer *> mExceptList;
|
||||
QList<QgsMapLayer *> mLayerAllowlist;
|
||||
QgsMapLayerModel *mModel = nullptr;
|
||||
@ -238,6 +226,4 @@ class CORE_EXPORT QgsMapLayerProxyModel : public QSortFilterProxyModel
|
||||
QString mFilterString;
|
||||
};
|
||||
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS( QgsMapLayerProxyModel::Filters )
|
||||
|
||||
#endif // QGSMAPLAYERPROXYMODEL_H
|
||||
|
@ -24,7 +24,7 @@ QgsValueRelationConfigDlg::QgsValueRelationConfigDlg( QgsVectorLayer *vl, int fi
|
||||
: QgsEditorConfigWidget( vl, fieldIdx, parent )
|
||||
{
|
||||
setupUi( this );
|
||||
mLayerName->setFilters( QgsMapLayerProxyModel::VectorLayer );
|
||||
mLayerName->setFilters( Qgis::LayerFilter::VectorLayer );
|
||||
mKeyColumn->setLayer( mLayerName->currentLayer() );
|
||||
mValueColumn->setLayer( mLayerName->currentLayer() );
|
||||
mDescriptionExpression->setLayer( mLayerName->currentLayer() );
|
||||
|
@ -43,7 +43,7 @@ QgsLayoutAtlasWidget::QgsLayoutAtlasWidget( QWidget *parent, QgsPrintLayout *lay
|
||||
connect( mAtlasFeatureFilterButton, &QToolButton::clicked, this, &QgsLayoutAtlasWidget::mAtlasFeatureFilterButton_clicked );
|
||||
connect( mAtlasFeatureFilterCheckBox, &QCheckBox::stateChanged, this, &QgsLayoutAtlasWidget::mAtlasFeatureFilterCheckBox_stateChanged );
|
||||
|
||||
mAtlasCoverageLayerComboBox->setFilters( QgsMapLayerProxyModel::VectorLayer );
|
||||
mAtlasCoverageLayerComboBox->setFilters( Qgis::LayerFilter::VectorLayer );
|
||||
|
||||
connect( mAtlasCoverageLayerComboBox, &QgsMapLayerComboBox::layerChanged, mAtlasSortExpressionWidget, &QgsFieldExpressionWidget::setLayer );
|
||||
connect( mAtlasCoverageLayerComboBox, &QgsMapLayerComboBox::layerChanged, mPageNameWidget, &QgsFieldExpressionWidget::setLayer );
|
||||
|
@ -106,7 +106,7 @@ QgsLayoutAttributeTableWidget::QgsLayoutAttributeTableWidget( QgsLayoutFrame *fr
|
||||
//update relations combo when relations modified in project
|
||||
connect( QgsProject::instance()->relationManager(), &QgsRelationManager::changed, this, &QgsLayoutAttributeTableWidget::updateRelationsCombo );
|
||||
|
||||
mLayerComboBox->setFilters( QgsMapLayerProxyModel::VectorLayer );
|
||||
mLayerComboBox->setFilters( Qgis::LayerFilter::VectorLayer );
|
||||
connect( mLayerComboBox, &QgsMapLayerComboBox::layerChanged, this, &QgsLayoutAttributeTableWidget::changeLayer );
|
||||
|
||||
mComposerMapComboBox->setCurrentLayout( mTable->layout() );
|
||||
|
@ -123,7 +123,7 @@ void QgsPointCloudLayerSaveAsDialog::setup()
|
||||
mExtentGroupBox->setCollapsed( true );
|
||||
|
||||
// polygon layer filter group box
|
||||
mFilterGeometryLayerComboBox->setFilters( QgsMapLayerProxyModel::PolygonLayer );
|
||||
mFilterGeometryLayerComboBox->setFilters( Qgis::LayerFilter::PolygonLayer );
|
||||
|
||||
// ZRange group box
|
||||
mMinimumZSpinBox->setRange( std::numeric_limits<double>::lowest(), std::numeric_limits<double>::max() );
|
||||
|
@ -46,7 +46,7 @@ QgsProcessingAggregatePanelWidget::QgsProcessingAggregatePanelWidget( QWidget *p
|
||||
mModel = mFieldsView->model();
|
||||
|
||||
mLayerCombo->setAllowEmptyLayer( true );
|
||||
mLayerCombo->setFilters( QgsMapLayerProxyModel::VectorLayer );
|
||||
mLayerCombo->setFilters( Qgis::LayerFilter::VectorLayer );
|
||||
|
||||
connect( mResetButton, &QPushButton::clicked, this, &QgsProcessingAggregatePanelWidget::loadFieldsFromLayer );
|
||||
connect( mAddButton, &QPushButton::clicked, this, &QgsProcessingAggregatePanelWidget::addField );
|
||||
|
@ -46,7 +46,7 @@ QgsProcessingFieldMapPanelWidget::QgsProcessingFieldMapPanelWidget( QWidget *par
|
||||
mFieldsView->setDestinationEditable( true );
|
||||
|
||||
mLayerCombo->setAllowEmptyLayer( true );
|
||||
mLayerCombo->setFilters( QgsMapLayerProxyModel::VectorLayer );
|
||||
mLayerCombo->setFilters( Qgis::LayerFilter::VectorLayer );
|
||||
|
||||
connect( mResetButton, &QPushButton::clicked, this, &QgsProcessingFieldMapPanelWidget::loadFieldsFromLayer );
|
||||
connect( mAddButton, &QPushButton::clicked, this, &QgsProcessingFieldMapPanelWidget::addField );
|
||||
|
@ -110,7 +110,7 @@ QgsProcessingMapLayerComboBox::QgsProcessingMapLayerComboBox( const QgsProcessin
|
||||
vl->setSpacing( 6 );
|
||||
vl->addLayout( layout );
|
||||
|
||||
QgsMapLayerProxyModel::Filters filters = QgsMapLayerProxyModel::Filters();
|
||||
Qgis::LayerFilters filters = Qgis::LayerFilters();
|
||||
|
||||
if ( mParameter->type() == QgsProcessingParameterFeatureSource::typeName() && type == QgsProcessingGui::Standard )
|
||||
{
|
||||
@ -129,27 +129,27 @@ QgsProcessingMapLayerComboBox::QgsProcessingMapLayerComboBox( const QgsProcessin
|
||||
dataTypes = static_cast< QgsProcessingParameterVectorLayer *>( mParameter.get() )->dataTypes();
|
||||
|
||||
if ( dataTypes.contains( QgsProcessing::TypeVectorAnyGeometry ) || dataTypes.isEmpty() )
|
||||
filters = QgsMapLayerProxyModel::HasGeometry;
|
||||
filters = Qgis::LayerFilter::HasGeometry;
|
||||
if ( dataTypes.contains( QgsProcessing::TypeVectorPoint ) )
|
||||
filters |= QgsMapLayerProxyModel::PointLayer;
|
||||
filters |= Qgis::LayerFilter::PointLayer;
|
||||
if ( dataTypes.contains( QgsProcessing::TypeVectorLine ) )
|
||||
filters |= QgsMapLayerProxyModel::LineLayer;
|
||||
filters |= Qgis::LayerFilter::LineLayer;
|
||||
if ( dataTypes.contains( QgsProcessing::TypeVectorPolygon ) )
|
||||
filters |= QgsMapLayerProxyModel::PolygonLayer;
|
||||
filters |= Qgis::LayerFilter::PolygonLayer;
|
||||
if ( !filters )
|
||||
filters = QgsMapLayerProxyModel::VectorLayer;
|
||||
filters = Qgis::LayerFilter::VectorLayer;
|
||||
}
|
||||
else if ( mParameter->type() == QgsProcessingParameterRasterLayer::typeName() )
|
||||
{
|
||||
filters = QgsMapLayerProxyModel::RasterLayer;
|
||||
filters = Qgis::LayerFilter::RasterLayer;
|
||||
}
|
||||
else if ( mParameter->type() == QgsProcessingParameterMeshLayer::typeName() )
|
||||
{
|
||||
filters = QgsMapLayerProxyModel::MeshLayer;
|
||||
filters = Qgis::LayerFilter::MeshLayer;
|
||||
}
|
||||
else if ( mParameter->type() == QgsProcessingParameterPointCloudLayer::typeName() )
|
||||
{
|
||||
filters = QgsMapLayerProxyModel::PointCloudLayer;
|
||||
filters = Qgis::LayerFilter::PointCloudLayer;
|
||||
}
|
||||
else if ( mParameter->type() == QgsProcessingParameterMapLayer::typeName() )
|
||||
{
|
||||
@ -157,21 +157,21 @@ QgsProcessingMapLayerComboBox::QgsProcessingMapLayerComboBox( const QgsProcessin
|
||||
dataTypes = static_cast< QgsProcessingParameterMapLayer *>( mParameter.get() )->dataTypes();
|
||||
|
||||
if ( dataTypes.contains( QgsProcessing::TypeVectorAnyGeometry ) )
|
||||
filters |= QgsMapLayerProxyModel::HasGeometry;
|
||||
filters |= Qgis::LayerFilter::HasGeometry;
|
||||
if ( dataTypes.contains( QgsProcessing::TypeVectorPoint ) )
|
||||
filters |= QgsMapLayerProxyModel::PointLayer;
|
||||
filters |= Qgis::LayerFilter::PointLayer;
|
||||
if ( dataTypes.contains( QgsProcessing::TypeVectorLine ) )
|
||||
filters |= QgsMapLayerProxyModel::LineLayer;
|
||||
filters |= Qgis::LayerFilter::LineLayer;
|
||||
if ( dataTypes.contains( QgsProcessing::TypeVectorPolygon ) )
|
||||
filters |= QgsMapLayerProxyModel::PolygonLayer;
|
||||
filters |= Qgis::LayerFilter::PolygonLayer;
|
||||
if ( dataTypes.contains( QgsProcessing::TypeRaster ) )
|
||||
filters |= QgsMapLayerProxyModel::RasterLayer;
|
||||
filters |= Qgis::LayerFilter::RasterLayer;
|
||||
if ( dataTypes.contains( QgsProcessing::TypeMesh ) )
|
||||
filters |= QgsMapLayerProxyModel::MeshLayer;
|
||||
filters |= Qgis::LayerFilter::MeshLayer;
|
||||
if ( dataTypes.contains( QgsProcessing::TypePointCloud ) )
|
||||
filters |= QgsMapLayerProxyModel::PointCloudLayer;
|
||||
filters |= Qgis::LayerFilter::PointCloudLayer;
|
||||
if ( !filters )
|
||||
filters = QgsMapLayerProxyModel::All;
|
||||
filters = Qgis::LayerFilter::All;
|
||||
}
|
||||
|
||||
QgsSettings settings;
|
||||
|
@ -23,7 +23,7 @@ QgsProcessingTinInputLayersWidget::QgsProcessingTinInputLayersWidget( QgsProject
|
||||
mInputLayersModel( project )
|
||||
{
|
||||
setupUi( this );
|
||||
mComboLayers->setFilters( QgsMapLayerProxyModel::VectorLayer );
|
||||
mComboLayers->setFilters( Qgis::LayerFilter::VectorLayer );
|
||||
|
||||
connect( mComboLayers, &QgsMapLayerComboBox::layerChanged, this, &QgsProcessingTinInputLayersWidget::onLayerChanged );
|
||||
connect( mButtonAdd, &QToolButton::clicked, this, &QgsProcessingTinInputLayersWidget::onCurrentLayerAdded );
|
||||
|
@ -7568,7 +7568,7 @@ void QgsProcessingAnnotationLayerWidgetWrapper::setWidgetContext( const QgsProce
|
||||
QWidget *QgsProcessingAnnotationLayerWidgetWrapper::createWidget()
|
||||
{
|
||||
mComboBox = new QgsMapLayerComboBox( );
|
||||
mComboBox->setFilters( QgsMapLayerProxyModel::AnnotationLayer );
|
||||
mComboBox->setFilters( Qgis::LayerFilter::AnnotationLayer );
|
||||
|
||||
switch ( type() )
|
||||
{
|
||||
|
@ -53,7 +53,7 @@ QgsExtentWidget::QgsExtentWidget( QWidget *parent, WidgetStyle style )
|
||||
mButtonCalcFromLayer->setMenu( mLayerMenu );
|
||||
connect( mLayerMenu, &QMenu::aboutToShow, this, &QgsExtentWidget::layerMenuAboutToShow );
|
||||
mMapLayerModel = new QgsMapLayerProxyModel( this );
|
||||
mMapLayerModel->setFilters( QgsMapLayerProxyModel::Filter::SpatialLayer );
|
||||
mMapLayerModel->setFilters( Qgis::LayerFilter::SpatialLayer );
|
||||
|
||||
mLayoutMenu = new QMenu( tr( "Calculate from Layout Map" ), this );
|
||||
mButtonCalcFromLayout->setMenu( mLayoutMenu );
|
||||
|
@ -34,7 +34,7 @@ class QgsVectorLayer;
|
||||
class GUI_EXPORT QgsMapLayerComboBox : public QComboBox
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY( QgsMapLayerProxyModel::Filters filters READ filters WRITE setFilters )
|
||||
Q_PROPERTY( Qgis::LayerFilters filters READ filters WRITE setFilters )
|
||||
Q_PROPERTY( bool allowEmptyLayer READ allowEmptyLayer WRITE setAllowEmptyLayer )
|
||||
Q_PROPERTY( bool showCrs READ showCrs WRITE setShowCrs )
|
||||
Q_PROPERTY( QStringList excludedProviders READ excludedProviders WRITE setExcludedProviders )
|
||||
@ -47,11 +47,19 @@ class GUI_EXPORT QgsMapLayerComboBox : public QComboBox
|
||||
*/
|
||||
explicit QgsMapLayerComboBox( QWidget *parent SIP_TRANSFERTHIS = nullptr );
|
||||
|
||||
//! setFilters allows filtering according to layer type and/or geometry type.
|
||||
void setFilters( QgsMapLayerProxyModel::Filters filters ) { mProxyModel->setFilters( filters ); }
|
||||
//! Filters according to layer type and/or geometry type.
|
||||
void setFilters( Qgis::LayerFilters filters ) { mProxyModel->setFilters( filters ); }
|
||||
|
||||
/**
|
||||
* Filters according to layer type and/or geometry type.
|
||||
* \note for API compatibility
|
||||
* \since QGIS 3.34
|
||||
* \deprecated since QGIS 3.34 use the flag signature instead
|
||||
*/
|
||||
Q_DECL_DEPRECATED void setFilters( int filters ) SIP_DEPRECATED { setFilters( static_cast<Qgis::LayerFilters>( filters ) ); }
|
||||
|
||||
//! currently used filter on list layers
|
||||
QgsMapLayerProxyModel::Filters filters() const { return mProxyModel->filters(); }
|
||||
Qgis::LayerFilters filters() const { return mProxyModel->filters(); }
|
||||
|
||||
//! except a list of layers not to be listed
|
||||
void setExceptedLayerList( const QList<QgsMapLayer *> &layerList ) { mProxyModel->setExceptedLayerList( layerList );}
|
||||
|
@ -53,7 +53,7 @@ QgsJoinDialog::QgsJoinDialog( QgsVectorLayer *layer, QList<QgsMapLayer *> alread
|
||||
mUpsertOnEditCheckBox->setToolTip( tr( "Automatically adds a matching row to the joined table, but if one already exists then update that matching row instead" ) );
|
||||
mDeleteCascadeCheckBox->setToolTip( tr( "Automatically delete the corresponding feature of the linked layer if one exists" ) );
|
||||
|
||||
mJoinLayerComboBox->setFilters( QgsMapLayerProxyModel::VectorLayer );
|
||||
mJoinLayerComboBox->setFilters( Qgis::LayerFilter::VectorLayer );
|
||||
mJoinLayerComboBox->setExceptedLayerList( alreadyJoinedLayers );
|
||||
connect( mJoinLayerComboBox, &QgsMapLayerComboBox::layerChanged, mJoinFieldComboBox, &QgsFieldComboBox::setLayer );
|
||||
connect( mJoinLayerComboBox, &QgsMapLayerComboBox::layerChanged, this, &QgsJoinDialog::joinedLayerChanged );
|
||||
|
@ -28,7 +28,7 @@ QgsEmbeddedLayerSelectDialog::QgsEmbeddedLayerSelectDialog( QWidget *parent )
|
||||
|
||||
QgsGui::enableAutoGeometryRestore( this );
|
||||
|
||||
mLayerProxyModel->setFilters( QgsMapLayerProxyModel::Filter::VectorLayer );
|
||||
mLayerProxyModel->setFilters( Qgis::LayerFilter::VectorLayer );
|
||||
mLayers->setModel( mLayerProxyModel );
|
||||
|
||||
mSearchLineEdit->setShowSearchIcon( true );
|
||||
|
@ -429,20 +429,20 @@ void TestQgsMapLayer::customEnumFlagProperties()
|
||||
QCOMPARE( v3ss, QStringLiteral( "Centimeters" ) );
|
||||
|
||||
// Flags
|
||||
const QgsMapLayerProxyModel::Filters pointAndLine = QgsMapLayerProxyModel::Filters( QgsMapLayerProxyModel::PointLayer | QgsMapLayerProxyModel::LineLayer );
|
||||
const QgsMapLayerProxyModel::Filters pointAndPolygon = QgsMapLayerProxyModel::Filters( QgsMapLayerProxyModel::PointLayer | QgsMapLayerProxyModel::PolygonLayer );
|
||||
const Qgis::LayerFilters pointAndLine = Qgis::LayerFilters( Qgis::LayerFilter::PointLayer | Qgis::LayerFilter::LineLayer );
|
||||
const Qgis::LayerFilters pointAndPolygon = Qgis::LayerFilters( Qgis::LayerFilter::PointLayer | Qgis::LayerFilter::PolygonLayer );
|
||||
ml->setCustomProperty( QStringLiteral( "my_property_for_a_flag" ), 1e8 ); // invalid
|
||||
const QgsMapLayerProxyModel::Filters v4 = ml->customFlagProperty( QStringLiteral( "my_property_for_a_flag" ), pointAndLine );
|
||||
const Qgis::LayerFilters v4 = ml->customFlagProperty( QStringLiteral( "my_property_for_a_flag" ), pointAndLine );
|
||||
QCOMPARE( v4, pointAndLine );
|
||||
|
||||
ml->setCustomProperty( QStringLiteral( "my_property_for_a_flag" ), static_cast<int>( pointAndPolygon ) );
|
||||
const QgsMapLayerProxyModel::Filters v5 = ml->customFlagProperty( QStringLiteral( "my_property_for_a_flag" ), pointAndLine );
|
||||
const Qgis::LayerFilters v5 = ml->customFlagProperty( QStringLiteral( "my_property_for_a_flag" ), pointAndLine );
|
||||
QCOMPARE( v5, pointAndPolygon );
|
||||
// auto conversion of old property (int to str)
|
||||
QCOMPARE( ml->customProperty( "my_property_for_a_flag" ).toString(), QStringLiteral( "PointLayer|PolygonLayer" ) );
|
||||
|
||||
ml->setCustomFlagProperty( QStringLiteral( "my_property_for_a_flag_as_string" ), pointAndPolygon );
|
||||
const QgsMapLayerProxyModel::Filters v5s = ml->customFlagProperty( QStringLiteral( "my_property_for_a_flag_as_string" ), pointAndLine );
|
||||
const Qgis::LayerFilters v5s = ml->customFlagProperty( QStringLiteral( "my_property_for_a_flag_as_string" ), pointAndLine );
|
||||
QCOMPARE( v5s, pointAndPolygon );
|
||||
const QString v5ss = ml->customProperty( QStringLiteral( "my_property_for_a_flag_as_string" ), QStringLiteral( "myDummyString" ) ).toString();
|
||||
QCOMPARE( v5ss, QStringLiteral( "PointLayer|PolygonLayer" ) );
|
||||
|
@ -70,20 +70,20 @@ void TestQgsSettings::enumValue()
|
||||
void TestQgsSettings::flagValue()
|
||||
{
|
||||
QgsSettings settings;
|
||||
const QgsMapLayerProxyModel::Filters pointAndLine = QgsMapLayerProxyModel::Filters( QgsMapLayerProxyModel::PointLayer | QgsMapLayerProxyModel::LineLayer );
|
||||
const QgsMapLayerProxyModel::Filters pointAndPolygon = QgsMapLayerProxyModel::Filters( QgsMapLayerProxyModel::PointLayer | QgsMapLayerProxyModel::PolygonLayer );
|
||||
const Qgis::LayerFilters pointAndLine = Qgis::LayerFilters( Qgis::LayerFilter::PointLayer | Qgis::LayerFilter::LineLayer );
|
||||
const Qgis::LayerFilters pointAndPolygon = Qgis::LayerFilters( Qgis::LayerFilter::PointLayer | Qgis::LayerFilter::PolygonLayer );
|
||||
settings.setValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), 1e8 ); // invalid
|
||||
const QgsMapLayerProxyModel::Filters v4 = settings.flagValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), pointAndLine );
|
||||
const Qgis::LayerFilters v4 = settings.flagValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), pointAndLine );
|
||||
QCOMPARE( v4, pointAndLine );
|
||||
|
||||
settings.setValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), static_cast<int>( pointAndPolygon ) );
|
||||
const QgsMapLayerProxyModel::Filters v5 = settings.flagValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), pointAndLine, QgsSettings::NoSection );
|
||||
const Qgis::LayerFilters v5 = settings.flagValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), pointAndLine, QgsSettings::NoSection );
|
||||
QCOMPARE( v5, pointAndPolygon );
|
||||
// auto conversion of old settings (int to str)
|
||||
QCOMPARE( settings.value( "qgis/testing/my_value_for_a_flag" ).toString(), QStringLiteral( "PointLayer|PolygonLayer" ) );
|
||||
|
||||
settings.setFlagValue( QStringLiteral( "qgis/testing/my_value_for_a_flag_as_string" ), pointAndPolygon, QgsSettings::NoSection );
|
||||
const QgsMapLayerProxyModel::Filters v5s = settings.flagValue( QStringLiteral( "qgis/testing/my_value_for_a_flag_as_string" ), pointAndLine, QgsSettings::NoSection );
|
||||
const Qgis::LayerFilters v5s = settings.flagValue( QStringLiteral( "qgis/testing/my_value_for_a_flag_as_string" ), pointAndLine, QgsSettings::NoSection );
|
||||
QCOMPARE( v5s, pointAndPolygon );
|
||||
const QString v5ss = settings.value( QStringLiteral( "qgis/testing/my_value_for_a_flag_as_string" ), QStringLiteral( "myDummyString" ), QgsSettings::NoSection ).toString();
|
||||
QCOMPARE( v5ss, QStringLiteral( "PointLayer|PolygonLayer" ) );
|
||||
|
@ -133,21 +133,21 @@ void TestQgsSettingsEntry::enumValue()
|
||||
void TestQgsSettingsEntry::flagValue()
|
||||
{
|
||||
const QString settingsKey( QStringLiteral( "my_flag_value_for_units" ) );
|
||||
const QgsMapLayerProxyModel::Filters pointAndLine = QgsMapLayerProxyModel::Filters( QgsMapLayerProxyModel::PointLayer | QgsMapLayerProxyModel::LineLayer );
|
||||
const QgsMapLayerProxyModel::Filters pointAndPolygon = QgsMapLayerProxyModel::Filters( QgsMapLayerProxyModel::PointLayer | QgsMapLayerProxyModel::PolygonLayer );
|
||||
const QgsMapLayerProxyModel::Filters hasGeometry = QgsMapLayerProxyModel::Filters( QgsMapLayerProxyModel::HasGeometry );
|
||||
const Qgis::LayerFilters pointAndLine = Qgis::LayerFilters( Qgis::LayerFilter::PointLayer | Qgis::LayerFilter::LineLayer );
|
||||
const Qgis::LayerFilters pointAndPolygon = Qgis::LayerFilters( Qgis::LayerFilter::PointLayer | Qgis::LayerFilter::PolygonLayer );
|
||||
const Qgis::LayerFilters hasGeometry = Qgis::LayerFilters( Qgis::LayerFilter::HasGeometry );
|
||||
|
||||
// Make sure the setting is not existing
|
||||
QgsSettings().remove( settingsKey );
|
||||
|
||||
const QgsSettingsEntryEnumFlag settingsEntryFlag( settingsKey, mSettingsSection, QgsMapLayerProxyModel::Filters(), QStringLiteral( "Filters" ) );
|
||||
const QgsSettingsEntryEnumFlag settingsEntryFlag( settingsKey, mSettingsSection, Qgis::LayerFilters(), QStringLiteral( "Filters" ) );
|
||||
|
||||
// Check default value
|
||||
QCOMPARE( settingsEntryFlag.defaultValue(), QgsMapLayerProxyModel::Filters() );
|
||||
QCOMPARE( settingsEntryFlag.defaultValue(), Qgis::LayerFilters() );
|
||||
|
||||
// check no value
|
||||
QCOMPARE( settingsEntryFlag.exists(), false );
|
||||
QCOMPARE( settingsEntryFlag.value(), QgsMapLayerProxyModel::Filters() );
|
||||
QCOMPARE( settingsEntryFlag.value(), Qgis::LayerFilters() );
|
||||
|
||||
QCOMPARE( settingsEntryFlag.valueWithDefaultOverride( pointAndLine ), pointAndLine );
|
||||
|
||||
@ -155,7 +155,7 @@ void TestQgsSettingsEntry::flagValue()
|
||||
{
|
||||
const bool success = settingsEntryFlag.setValue( hasGeometry );
|
||||
QCOMPARE( success, true );
|
||||
const QgsMapLayerProxyModel::Filters qgsSettingsValue = QgsSettings().flagValue( QStringLiteral( "%1/%2" ).arg( mSettingsSection, settingsKey ), pointAndLine );
|
||||
const Qgis::LayerFilters qgsSettingsValue = QgsSettings().flagValue( QStringLiteral( "%1/%2" ).arg( mSettingsSection, settingsKey ), pointAndLine );
|
||||
QCOMPARE( qgsSettingsValue, hasGeometry );
|
||||
}
|
||||
|
||||
@ -167,7 +167,7 @@ void TestQgsSettingsEntry::flagValue()
|
||||
QCOMPARE( settingsEntryFlag.settingsType(), Qgis::SettingsType::EnumFlag );
|
||||
|
||||
// check that value is stored as string
|
||||
QCOMPARE( settingsEntryFlag.valueAsVariant().toByteArray(), QMetaEnum::fromType<QgsMapLayerProxyModel::Filters>().valueToKeys( pointAndLine ) );
|
||||
QCOMPARE( settingsEntryFlag.valueAsVariant().toByteArray(), QMetaEnum::fromType<Qgis::LayerFilters>().valueToKeys( pointAndLine ) );
|
||||
|
||||
// auto conversion of old settings (int to str)
|
||||
QSettings().setValue( QStringLiteral( "%1/%2" ).arg( mSettingsSection, settingsKey ), static_cast<int>( pointAndPolygon ) );
|
||||
|
@ -13,7 +13,7 @@ import qgis # NOQA
|
||||
from qgis.PyQt.QtCore import QCoreApplication, QEvent
|
||||
from qgis.PyQt.QtTest import QSignalSpy
|
||||
from qgis.core import (
|
||||
QgsMapLayerProxyModel,
|
||||
Qgis,
|
||||
QgsMeshLayer,
|
||||
QgsProject,
|
||||
QgsVectorLayer,
|
||||
@ -46,8 +46,8 @@ class TestQgsMapLayerComboBox(QgisTestCase):
|
||||
l2 = create_layer('l2')
|
||||
QgsProject.instance().addMapLayer(l2)
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.LineLayer | QgsMapLayerProxyModel.WritableLayer)
|
||||
self.assertEqual(m.filters(), QgsMapLayerProxyModel.LineLayer | QgsMapLayerProxyModel.WritableLayer)
|
||||
m.setFilters(Qgis.LayerFilter.LineLayer | Qgis.LayerFilter.WritableLayer)
|
||||
self.assertEqual(m.filters(), Qgis.LayerFilters(Qgis.LayerFilter.LineLayer | Qgis.LayerFilter.WritableLayer))
|
||||
|
||||
m.setExceptedLayerList([l2])
|
||||
self.assertEqual(m.exceptedLayerList(), [l2])
|
||||
@ -62,8 +62,8 @@ class TestQgsMapLayerComboBox(QgisTestCase):
|
||||
l2 = create_layer('l2')
|
||||
QgsProject.instance().addMapLayer(l2)
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.MeshLayer)
|
||||
self.assertEqual(m.filters(), QgsMapLayerProxyModel.MeshLayer)
|
||||
m.setFilters(Qgis.LayerFilter.MeshLayer)
|
||||
self.assertEqual(m.filters(), Qgis.LayerFilter.MeshLayer)
|
||||
|
||||
self.assertEqual(m.count(), 1)
|
||||
self.assertEqual(m.itemText(0), 'l1')
|
||||
@ -85,39 +85,39 @@ class TestQgsMapLayerComboBox(QgisTestCase):
|
||||
'layer 4', "memory")
|
||||
QgsProject.instance().addMapLayer(l4)
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.PolygonLayer)
|
||||
m.setFilters(Qgis.LayerFilter.PolygonLayer)
|
||||
self.assertEqual(m.count(), 1)
|
||||
self.assertEqual(m.itemText(0), 'layer 2')
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.PointLayer)
|
||||
m.setFilters(Qgis.LayerFilter.PointLayer)
|
||||
self.assertEqual(m.count(), 1)
|
||||
self.assertEqual(m.itemText(0), 'layer 1')
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.LineLayer)
|
||||
m.setFilters(Qgis.LayerFilter.LineLayer)
|
||||
self.assertEqual(m.count(), 1)
|
||||
self.assertEqual(m.itemText(0), 'layer 4')
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.NoGeometry)
|
||||
m.setFilters(Qgis.LayerFilter.NoGeometry)
|
||||
self.assertEqual(m.count(), 1)
|
||||
self.assertEqual(m.itemText(0), 'layer 3')
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.HasGeometry)
|
||||
m.setFilters(Qgis.LayerFilter.HasGeometry)
|
||||
self.assertEqual(m.count(), 3)
|
||||
self.assertEqual(m.itemText(0), 'layer 1')
|
||||
self.assertEqual(m.itemText(1), 'layer 2')
|
||||
self.assertEqual(m.itemText(2), 'layer 4')
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.VectorLayer)
|
||||
m.setFilters(Qgis.LayerFilter.VectorLayer)
|
||||
self.assertEqual(m.count(), 4)
|
||||
self.assertEqual(m.itemText(0), 'layer 1')
|
||||
self.assertEqual(m.itemText(1), 'layer 2')
|
||||
self.assertEqual(m.itemText(2), 'layer 3')
|
||||
self.assertEqual(m.itemText(3), 'layer 4')
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.PluginLayer)
|
||||
m.setFilters(Qgis.LayerFilter.PluginLayer)
|
||||
self.assertEqual(m.count(), 0)
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.RasterLayer)
|
||||
m.setFilters(Qgis.LayerFilter.RasterLayer)
|
||||
self.assertEqual(m.count(), 0)
|
||||
|
||||
def testFilterByLayer(self):
|
||||
|
@ -12,6 +12,7 @@ __copyright__ = 'Copyright 2018, The QGIS Project'
|
||||
import qgis # NOQA
|
||||
|
||||
from qgis.core import (
|
||||
Qgis,
|
||||
QgsAnnotationLayer,
|
||||
QgsMapLayerProxyModel,
|
||||
QgsMeshLayer,
|
||||
@ -45,8 +46,8 @@ class TestQgsMapLayerProxyModel(QgisTestCase):
|
||||
l2 = create_layer('l2')
|
||||
QgsProject.instance().addMapLayer(l2)
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.LineLayer | QgsMapLayerProxyModel.WritableLayer)
|
||||
self.assertEqual(m.filters(), QgsMapLayerProxyModel.LineLayer | QgsMapLayerProxyModel.WritableLayer)
|
||||
m.setFilters(Qgis.LayerFilter.LineLayer | Qgis.LayerFilter.WritableLayer)
|
||||
self.assertEqual(m.filters(), Qgis.LayerFilters(Qgis.LayerFilter.LineLayer | Qgis.LayerFilter.WritableLayer))
|
||||
|
||||
m.setExceptedLayerIds([l2.id()])
|
||||
self.assertEqual(m.exceptedLayerIds(), [l2.id()])
|
||||
@ -70,8 +71,8 @@ class TestQgsMapLayerProxyModel(QgisTestCase):
|
||||
l2 = create_layer('l2')
|
||||
QgsProject.instance().addMapLayer(l2)
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.MeshLayer)
|
||||
self.assertEqual(m.filters(), QgsMapLayerProxyModel.MeshLayer)
|
||||
m.setFilters(Qgis.LayerFilter.MeshLayer)
|
||||
self.assertEqual(m.filters(), Qgis.LayerFilter.MeshLayer)
|
||||
|
||||
self.assertEqual(m.rowCount(), 1)
|
||||
self.assertEqual(m.data(m.index(0, 0)), 'l1')
|
||||
@ -92,8 +93,8 @@ class TestQgsMapLayerProxyModel(QgisTestCase):
|
||||
l2 = create_layer('l2')
|
||||
QgsProject.instance().addMapLayer(l2)
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.AnnotationLayer)
|
||||
self.assertEqual(m.filters(), QgsMapLayerProxyModel.AnnotationLayer)
|
||||
m.setFilters(Qgis.LayerFilter.AnnotationLayer)
|
||||
self.assertEqual(m.filters(), Qgis.LayerFilter.AnnotationLayer)
|
||||
|
||||
self.assertEqual(m.rowCount(), 1)
|
||||
self.assertEqual(m.data(m.index(0, 0)), 'annotation 1')
|
||||
@ -101,14 +102,14 @@ class TestQgsMapLayerProxyModel(QgisTestCase):
|
||||
self.assertTrue(m.acceptsLayer(l1))
|
||||
self.assertFalse(m.acceptsLayer(l2))
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.VectorLayer)
|
||||
m.setFilters(Qgis.LayerFilter.VectorLayer)
|
||||
self.assertEqual(m.rowCount(), 1)
|
||||
self.assertEqual(m.data(m.index(0, 0)), 'l2')
|
||||
|
||||
self.assertFalse(m.acceptsLayer(l1))
|
||||
self.assertTrue(m.acceptsLayer(l2))
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.All)
|
||||
m.setFilters(Qgis.LayerFilter.All)
|
||||
self.assertEqual(m.rowCount(), 2)
|
||||
self.assertEqual(m.data(m.index(0, 0)), 'annotation 1')
|
||||
self.assertEqual(m.data(m.index(1, 0)), 'l2')
|
||||
@ -133,7 +134,7 @@ class TestQgsMapLayerProxyModel(QgisTestCase):
|
||||
'layer 4', "memory")
|
||||
QgsProject.instance().addMapLayer(l4)
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.PolygonLayer)
|
||||
m.setFilters(Qgis.LayerFilter.PolygonLayer)
|
||||
self.assertEqual(m.rowCount(), 1)
|
||||
self.assertEqual(m.data(m.index(0, 0)), 'layer 2')
|
||||
|
||||
@ -142,7 +143,7 @@ class TestQgsMapLayerProxyModel(QgisTestCase):
|
||||
self.assertFalse(m.acceptsLayer(l3))
|
||||
self.assertFalse(m.acceptsLayer(l4))
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.PointLayer)
|
||||
m.setFilters(Qgis.LayerFilter.PointLayer)
|
||||
self.assertEqual(m.rowCount(), 1)
|
||||
self.assertEqual(m.data(m.index(0, 0)), 'layer 1')
|
||||
|
||||
@ -151,7 +152,7 @@ class TestQgsMapLayerProxyModel(QgisTestCase):
|
||||
self.assertFalse(m.acceptsLayer(l3))
|
||||
self.assertFalse(m.acceptsLayer(l4))
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.LineLayer)
|
||||
m.setFilters(Qgis.LayerFilter.LineLayer)
|
||||
self.assertEqual(m.rowCount(), 1)
|
||||
self.assertEqual(m.data(m.index(0, 0)), 'layer 4')
|
||||
|
||||
@ -160,7 +161,7 @@ class TestQgsMapLayerProxyModel(QgisTestCase):
|
||||
self.assertFalse(m.acceptsLayer(l3))
|
||||
self.assertTrue(m.acceptsLayer(l4))
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.NoGeometry)
|
||||
m.setFilters(Qgis.LayerFilter.NoGeometry)
|
||||
self.assertEqual(m.rowCount(), 1)
|
||||
self.assertEqual(m.data(m.index(0, 0)), 'layer 3')
|
||||
|
||||
@ -169,7 +170,7 @@ class TestQgsMapLayerProxyModel(QgisTestCase):
|
||||
self.assertTrue(m.acceptsLayer(l3))
|
||||
self.assertFalse(m.acceptsLayer(l4))
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.HasGeometry)
|
||||
m.setFilters(Qgis.LayerFilter.HasGeometry)
|
||||
self.assertEqual(m.rowCount(), 3)
|
||||
self.assertEqual(m.data(m.index(0, 0)), 'layer 1')
|
||||
self.assertEqual(m.data(m.index(1, 0)), 'layer 2')
|
||||
@ -180,7 +181,7 @@ class TestQgsMapLayerProxyModel(QgisTestCase):
|
||||
self.assertFalse(m.acceptsLayer(l3))
|
||||
self.assertTrue(m.acceptsLayer(l4))
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.VectorLayer)
|
||||
m.setFilters(Qgis.LayerFilter.VectorLayer)
|
||||
self.assertEqual(m.rowCount(), 4)
|
||||
self.assertEqual(m.data(m.index(0, 0)), 'layer 1')
|
||||
self.assertEqual(m.data(m.index(1, 0)), 'layer 2')
|
||||
@ -192,7 +193,7 @@ class TestQgsMapLayerProxyModel(QgisTestCase):
|
||||
self.assertTrue(m.acceptsLayer(l3))
|
||||
self.assertTrue(m.acceptsLayer(l4))
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.PluginLayer)
|
||||
m.setFilters(Qgis.LayerFilter.PluginLayer)
|
||||
self.assertEqual(m.rowCount(), 0)
|
||||
|
||||
self.assertFalse(m.acceptsLayer(l1))
|
||||
@ -200,7 +201,7 @@ class TestQgsMapLayerProxyModel(QgisTestCase):
|
||||
self.assertFalse(m.acceptsLayer(l3))
|
||||
self.assertFalse(m.acceptsLayer(l4))
|
||||
|
||||
m.setFilters(QgsMapLayerProxyModel.RasterLayer)
|
||||
m.setFilters(Qgis.LayerFilter.RasterLayer)
|
||||
self.assertEqual(m.rowCount(), 0)
|
||||
|
||||
self.assertFalse(m.acceptsLayer(l1))
|
||||
|
@ -432,14 +432,14 @@ class TestQgsSettings(QgisTestCase):
|
||||
self.assertEqual(self.settings.enumValue('enum', Qgis.MapToolUnit.Pixels), Qgis.MapToolUnit.Pixels)
|
||||
|
||||
def test_flagValue(self):
|
||||
pointAndLine = QgsMapLayerProxyModel.Filters(QgsMapLayerProxyModel.PointLayer | QgsMapLayerProxyModel.LineLayer)
|
||||
pointAndPolygon = QgsMapLayerProxyModel.Filters(QgsMapLayerProxyModel.PointLayer | QgsMapLayerProxyModel.PolygonLayer)
|
||||
pointAndLine = Qgis.LayerFilters(Qgis.LayerFilter.PointLayer | Qgis.LayerFilter.LineLayer)
|
||||
pointAndPolygon = Qgis.LayerFilters(Qgis.LayerFilter.PointLayer | Qgis.LayerFilter.PolygonLayer)
|
||||
|
||||
self.settings.setValue('flag', 'PointLayer|PolygonLayer')
|
||||
self.assertEqual(self.settings.flagValue('flag', pointAndLine), pointAndPolygon)
|
||||
self.settings.setValue('flag', 'dummy_setting')
|
||||
self.assertEqual(self.settings.flagValue('flag', pointAndLine), pointAndLine)
|
||||
self.assertEqual(type(self.settings.flagValue('enum', pointAndLine)), QgsMapLayerProxyModel.Filters)
|
||||
self.assertEqual(type(self.settings.flagValue('enum', pointAndLine)), Qgis.LayerFilters)
|
||||
|
||||
def test_overwriteDefaultValues(self):
|
||||
"""Test that unchanged values are not stored"""
|
||||
|
@ -415,9 +415,9 @@ class TestQgsSettingsEntry(QgisTestCase):
|
||||
settingsKey = "settingsEntryFlag/flagValue"
|
||||
settingsKeyComplete = f"plugins/{self.pluginName}/{settingsKey}"
|
||||
|
||||
pointAndLine = QgsMapLayerProxyModel.Filters(QgsMapLayerProxyModel.PointLayer | QgsMapLayerProxyModel.LineLayer)
|
||||
pointAndPolygon = QgsMapLayerProxyModel.Filters(QgsMapLayerProxyModel.PointLayer | QgsMapLayerProxyModel.PolygonLayer)
|
||||
hasGeometry = QgsMapLayerProxyModel.Filters(QgsMapLayerProxyModel.HasGeometry)
|
||||
pointAndLine = Qgis.LayerFilters(Qgis.LayerFilter.PointLayer | Qgis.LayerFilter.LineLayer)
|
||||
pointAndPolygon = Qgis.LayerFilters(Qgis.LayerFilter.PointLayer | Qgis.LayerFilter.PolygonLayer)
|
||||
hasGeometry = Qgis.LayerFilters(Qgis.LayerFilter.HasGeometry)
|
||||
|
||||
# Make sure settings does not exists
|
||||
QgsSettings().remove(settingsKeyComplete)
|
||||
|
Loading…
x
Reference in New Issue
Block a user