20#include "moc_qgsmeshstaticdatasetwidget.cpp"
27 this->layout()->setContentsMargins( 0, 0, 0, 0 );
29 mScalarDatasetComboBox->setModel( mDatasetScalarModel );
31 mVectorDatasetComboBox->setModel( mDatasetVectorModel );
44 mDatasetScalarModel->setMeshLayer( mLayer );
45 mDatasetVectorModel->setMeshLayer( mLayer );
58 if ( mScalarDatasetComboBox->count() == 1 )
61 scalarIndex = mScalarDatasetComboBox->currentIndex() - 1;
64 if ( mVectorDatasetComboBox->count() == 1 )
67 vectorIndex = mVectorDatasetComboBox->currentIndex() - 1;
69 mLayer->setStaticScalarDatasetIndex(
QgsMeshDatasetIndex( mScalarDatasetGroup, scalarIndex ) );
70 mLayer->setStaticVectorDatasetIndex(
QgsMeshDatasetIndex( mVectorDatasetGroup, vectorIndex ) );
75 mScalarDatasetGroup = index;
76 mDatasetScalarModel->setDatasetGroup( index );
77 mScalarDatasetComboBox->setEnabled( mScalarDatasetGroup >= 0 );
80 mScalarName->setText( mLayer->datasetGroupMetadata( index ).name() );
81 setScalarDatasetIndex( mLayer->staticScalarDatasetIndex().dataset() );
87 mVectorDatasetGroup = index;
88 mDatasetVectorModel->setDatasetGroup( index );
89 mVectorDatasetComboBox->setEnabled( mVectorDatasetGroup >= 0 );
92 mVectorName->setText( mLayer->datasetGroupMetadata( index ).name() );
93 setVectorDatasetIndex( mLayer->staticVectorDatasetIndex().dataset() );
97void QgsMeshStaticDatasetWidget::setScalarDatasetIndex(
int index )
99 if ( index < mLayer->datasetCount( mScalarDatasetGroup ) )
100 mScalarDatasetComboBox->setCurrentIndex( index + 1 );
102 mScalarDatasetComboBox->setCurrentIndex( 0 );
105void QgsMeshStaticDatasetWidget::setVectorDatasetIndex(
int index )
107 if ( index < mLayer->datasetCount( mVectorDatasetGroup ) )
108 mVectorDatasetComboBox->setCurrentIndex( index + 1 );
110 mVectorDatasetComboBox->setCurrentIndex( 0 );
114 : QAbstractListModel( parent )
127 mDatasetGroup = group;
136 return mLayer->datasetCount( mDatasetGroup ) + 1;
143 if ( !index.isValid() )
146 if ( role == Qt::DisplayRole )
148 if ( !mLayer || mDatasetGroup < 0 || index.row() == 0 )
151 else if ( index.row() == 1 && mLayer->datasetCount( mDatasetGroup ) == 1 )
153 return tr(
"Display dataset" );
158 return mLayer->formatTime( time.
hours() );
A representation of the interval between two datetime values.
double hours() const
Returns the interval duration in hours.
An index that identifies the dataset group (e.g.
List model for dataset contained in dataset group, used to display by time dataset in widget.
void setDatasetGroup(int group)
Sets the dataset group.
void setMeshLayer(QgsMeshLayer *layer)
Sets the layer.
int rowCount(const QModelIndex &parent) const override
QVariant data(const QModelIndex &index, int role) const override
QgsMeshDatasetListModel(QObject *parent)
Constructor.
Represents a mesh layer supporting display of data on structured or unstructured meshes.