22#include <QRegularExpressionValidator>
25#include "moc_qgsgroupwmsdatadialog.cpp"
27using namespace Qt::StringLiterals;
34 : QDialog( parent, fl )
45 mDefaultDisplayComboBox->clear();
46 for (
auto it = defaultDisplayDescriptions.constBegin(); it != defaultDisplayDescriptions.constEnd(); it++ )
48 mDefaultDisplayComboBox->addItem( it.value(), QVariant(
static_cast<int>( it.key() ) ) );
51 connect( mDefaultDisplayComboBox, &QComboBox::currentIndexChanged,
this, [
this](
int index ) {
57 mMapLayerServerPropertiesWidget->setHasWfsTitle(
false );
58 mMapLayerServerPropertiesWidget->setServerProperties( mServerProperties.get() );
61 return dim.name == QgsServerWmsDimensionProperties::TIME_DIMENSION_NAME;
64 mComputeTimeDimension->setChecked( it != mServerProperties->wmsDimensions().constEnd() );
65 if ( it != mServerProperties->wmsDimensions().constEnd() )
67 setTimeDimensionDefaultDisplay( it->defaultDisplayType );
68 setTimeDimensionReferenceValue( it->referenceValue().toDateTime() );
71 connect( mComputeTimeDimension, &QGroupBox::toggled,
this, &QgsGroupWmsDataDialog::updateServerProperties );
72 connect( mDefaultDisplayComboBox, &QComboBox::currentIndexChanged,
this, &QgsGroupWmsDataDialog::updateServerProperties );
73 connect( mReferenceValueDateTimeEdit, &QDateTimeEdit::dateTimeChanged,
this, &QgsGroupWmsDataDialog::updateServerProperties );
78 mMapLayerServerPropertiesWidget->save();
79 return mServerProperties->shortName();
84 mServerProperties->setShortName( shortName );
85 mMapLayerServerPropertiesWidget->sync();
90 mMapLayerServerPropertiesWidget->save();
91 return mServerProperties->title();
96 mServerProperties->setTitle( title );
97 mMapLayerServerPropertiesWidget->sync();
102 mMapLayerServerPropertiesWidget->save();
103 return mServerProperties->abstract();
108 mServerProperties->setAbstract( abstract );
109 mMapLayerServerPropertiesWidget->sync();
114 return mServerProperties.get();
119 return mServerProperties.get();
122void QgsGroupWmsDataDialog::updateServerProperties()
const
130 QList<QgsServerWmsDimensionProperties::WmsDimensionInfo> wmsDimensions = mServerProperties->
wmsDimensions();
131 auto it = std::find_if( wmsDimensions.begin(), wmsDimensions.end(), [](
const QgsMapLayerServerProperties::WmsDimensionInfo &dim ) {
132 return dim.name == QgsServerWmsDimensionProperties::TIME_DIMENSION_NAME;
135 if ( it == wmsDimensions.end() )
141 it->defaultDisplayType = timeDimensionDefaultDisplay();
142 it->setReferenceValue( timeDimensionReferenceValue() );
145 mServerProperties->setWmsDimensions( wmsDimensions );
151 mMapLayerServerPropertiesWidget->save();
157 return mComputeTimeDimension->isChecked();
172 mGroupRequestModeCombo->setCurrentIndex( mGroupRequestModeCombo->findData( QVariant::fromValue(
groupRequestMode ) ) );
182 mDefaultDisplayComboBox->setCurrentIndex( mDefaultDisplayComboBox->findData( QVariant(
static_cast<int>( timeDimensionDefaultDisplay ) ) ) );
186QDateTime QgsGroupWmsDataDialog::timeDimensionReferenceValue()
const
188 return mReferenceValueDateTimeEdit->dateTime();
191void QgsGroupWmsDataDialog::setTimeDimensionReferenceValue(
const QDateTime &timeDimensionReferenceValue )
193 mReferenceValueDateTimeEdit->setDateTime( timeDimensionReferenceValue );
WmsGroupRequestMode
Request mode of groups in a WMS context.
@ Normal
Group and children can be requested.
@ Opaque
Group can be requested, children cannot (appears like a single layer).
WmsDimensionDefaultDisplay
QGIS Server WMS Dimension default display types.
@ ReferenceValue
Display a reference value.
Q_DECL_DEPRECATED void setHasTimeDimension(bool hasTimeDimension)
Sets whether the time dimension should be computed for this group or not.
bool hasTimeDimension() const
Returns whether the time dimension should be computed for this group or not.
Qgis::WmsGroupRequestMode groupRequestMode() const
Returns the request mode of the group.
void setGroupRequestMode(Qgis::WmsGroupRequestMode groupRequestMode)
Sets the request mode of the group.
Q_DECL_DEPRECATED void setGroupAbstract(const QString &abstract)
Sets group WMS abstract.
QgsGroupWmsDataDialog(QWidget *parent=nullptr, Qt::WindowFlags fl=QgsGuiUtils::ModalDialogFlags)
Constructor.
Q_DECL_DEPRECATED void setGroupShortName(const QString &shortName)
Sets group WMS short name.
Q_DECL_DEPRECATED void setGroupTitle(const QString &title)
Sets group WMS title.
Q_DECL_DEPRECATED QString groupAbstract() const
Returns group WMS abstract.
Q_DECL_DEPRECATED QString groupTitle() const
Returns group WMS title.
Q_DECL_DEPRECATED QString groupShortName() const
Returns group WMS short name.
QgsMapLayerServerProperties * serverProperties()
Returns QGIS Server Properties for the layer tree group.
static void enableAutoGeometryRestore(QWidget *widget, const QString &key=QString())
Register the widget to allow its position to be automatically saved and restored when open and closed...
Manages QGIS Server properties for a map layer.
static QMap< Qgis::WmsDimensionDefaultDisplay, QString > wmsDimensionDefaultDisplayDescriptions()
Returns WMS Dimension default display descriptions.
static constexpr const char * TIME_DIMENSION_NAME
const QList< QgsServerWmsDimensionProperties::WmsDimensionInfo > wmsDimensions() const
Returns the QGIS Server WMS Dimension list.
Setting to define QGIS Server WMS Dimension.