Skip to content

Commit

Permalink
Add standard "Rendering" tab to vector tile layer properties
Browse files Browse the repository at this point in the history
This was missing for vector tile layers. Add it and populate
with the scale based visibility controls seen for other layer
types.
  • Loading branch information
nyalldawson committed Apr 1, 2023
1 parent 819544d commit 2721e5b
Show file tree
Hide file tree
Showing 2 changed files with 103 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/gui/vectortile/qgsvectortilelayerproperties.cpp
Expand Up @@ -59,6 +59,9 @@ QgsVectorTileLayerProperties::QgsVectorTileLayerProperties( QgsVectorTileLayer *

connect( mCrsSelector, &QgsProjectionSelectionWidget::crsChanged, this, &QgsVectorTileLayerProperties::crsChanged );

// scale based layer visibility related widgets
mScaleRangeWidget->setMapCanvas( mMapCanvas );

// QgsOptionsDialogBase handles saving/restoring of geometry, splitter and current tab states,
// switching vertical tabs between icon/text to icon-only modes (splitter collapsed to left),
// and connecting QDialogButtonBox's accepted/rejected signals to dialog's accept/reject slots
Expand Down Expand Up @@ -149,6 +152,10 @@ void QgsVectorTileLayerProperties::apply()
mRendererWidget->apply();
mLabelingWidget->apply();
mMetadataWidget->acceptMetadata();

mLayer->setScaleBasedVisibility( chkUseScaleDependentRendering->isChecked() );
mLayer->setMinimumScale( mScaleRangeWidget->minimumScale() );
mLayer->setMaximumScale( mScaleRangeWidget->maximumScale() );
}

void QgsVectorTileLayerProperties::onCancel()
Expand Down Expand Up @@ -215,6 +222,12 @@ void QgsVectorTileLayerProperties::syncToLayer()
* Labels Tab
*/
mLabelingWidget->setLayer( mLayer );

/*
* Rendering
*/
chkUseScaleDependentRendering->setChecked( mLayer->hasScaleBasedVisibility() );
mScaleRangeWidget->setScaleRange( mLayer->minimumScale(), mLayer->maximumScale() );
}


Expand Down
90 changes: 90 additions & 0 deletions src/ui/qgsvectortilelayerpropertiesbase.ui
Expand Up @@ -146,6 +146,18 @@
<normaloff>:/images/themes/default/propertyicons/labels.svg</normaloff>:/images/themes/default/propertyicons/labels.svg</iconset>
</property>
</item>
<item>
<property name="text">
<string>Rendering</string>
</property>
<property name="toolTip">
<string>Rendering</string>
</property>
<property name="icon">
<iconset resource="../../images/images.qrc">
<normaloff>:/images/themes/default/propertyicons/rendering.svg</normaloff>:/images/themes/default/propertyicons/rendering.svg</iconset>
</property>
</item>
<item>
<property name="text">
<string>Metadata</string>
Expand Down Expand Up @@ -363,6 +375,78 @@
<widget class="QWidget" name="mOptsPage_Labeling">
<layout class="QVBoxLayout" name="verticalLayout_4"/>
</widget>
<widget class="QWidget" name="mOptsPage_Rendering">
<layout class="QVBoxLayout" name="verticalLayout_8">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QgsCollapsibleGroupBox" name="chkUseScaleDependentRendering">
<property name="title">
<string>Scale Dependent Visibility</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
<property name="syncGroup" stdset="0">
<string notr="true">rastergeneral</string>
</property>
<layout class="QGridLayout" name="_5">
<property name="leftMargin">
<number>11</number>
</property>
<property name="topMargin">
<number>11</number>
</property>
<property name="rightMargin">
<number>11</number>
</property>
<property name="bottomMargin">
<number>11</number>
</property>
<property name="verticalSpacing">
<number>6</number>
</property>
<item row="0" column="0" colspan="2">
<widget class="QgsScaleRangeWidget" name="mScaleRangeWidget" native="true">
<property name="toolTip">
<string/>
</property>
<property name="whatsThis">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="mOptsPage_Metadata">
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="leftMargin">
Expand Down Expand Up @@ -461,6 +545,11 @@
<header>qgsscrollarea.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>QgsScaleRangeWidget</class>
<extends>QWidget</extends>
<header>qgsscalerangewidget.h</header>
</customwidget>
<customwidget>
<class>QgsWebView</class>
<extends>QWidget</extends>
Expand All @@ -474,6 +563,7 @@
</tabstops>
<resources>
<include location="../../images/images.qrc"/>
<include location="../../images/images.qrc"/>
</resources>
<connections>
<connection>
Expand Down

0 comments on commit 2721e5b

Please sign in to comment.