28#include "moc_qgsmeshrendereractivedatasetwidget.cpp"
30using namespace Qt::StringLiterals;
54 mDatasetGroupTreeView->setLayer( layer );
61 return mActiveScalarDatasetGroup;
66 return mActiveVectorDatasetGroup;
70void QgsMeshRendererActiveDatasetWidget::onActiveScalarGroupChanged(
int groupIndex )
72 if ( groupIndex == mActiveScalarDatasetGroup )
75 mActiveScalarDatasetGroup = groupIndex;
81void QgsMeshRendererActiveDatasetWidget::onActiveVectorGroupChanged(
int groupIndex )
83 if ( groupIndex == mActiveVectorDatasetGroup )
86 mActiveVectorDatasetGroup = groupIndex;
92void QgsMeshRendererActiveDatasetWidget::updateMetadata()
96 if ( !mMeshLayer || !mMeshLayer->dataProvider() )
98 msg += tr(
"Invalid mesh layer selected" );
102 if ( mActiveScalarDatasetGroup > -1 )
104 if ( mActiveVectorDatasetGroup > -1 )
106 if ( mActiveScalarDatasetGroup == mActiveVectorDatasetGroup )
108 msg += metadata( mActiveScalarDatasetGroup );
112 msg += u
"<p> <h3> %1 </h3> "_s.arg( tr(
"Scalar dataset" ) );
113 msg += metadata( mActiveScalarDatasetGroup );
114 msg += u
"</p> <p> <h3> %1 </h3>"_s.arg( tr(
"Vector dataset" ) );
115 msg += metadata( mActiveVectorDatasetGroup );
121 msg += metadata( mActiveScalarDatasetGroup );
126 if ( mActiveVectorDatasetGroup > -1 )
128 msg += metadata( mActiveVectorDatasetGroup );
132 msg += tr(
"No mesh dataset selected" );
137 mActiveDatasetMetadata->setText( msg );
146 QString definedOnMesh;
151 definedOnMesh = tr(
"faces and edges" );
155 definedOnMesh = tr(
"faces" );
160 definedOnMesh = tr(
"edges" );
164 definedOnMesh = tr(
"invalid mesh" );
166 msg += u
"<tr><td>%1</td><td>%2</td></tr>"_s
167 .arg( tr(
"Mesh type" ) )
168 .arg( definedOnMesh );
170 const QgsMeshDatasetGroupMetadata gmeta = mMeshLayer->datasetGroupMetadata( datasetIndex );
175 definedOn = tr(
"vertices" );
178 definedOn = tr(
"faces" );
181 definedOn = tr(
"volumes" );
184 definedOn = tr(
"edges" );
187 msg += u
"<tr><td>%1</td><td>%2</td></tr>"_s
188 .arg( tr(
"Data type" ) )
191 msg += u
"<tr><td>%1</td><td>%2</td></tr>"_s
192 .arg( tr(
"Is vector" ) )
193 .arg( gmeta.
isVector() ? tr(
"Yes" ) : tr(
"No" ) );
196 for (
auto it = options.constBegin(); it != options.constEnd(); ++it )
198 if ( it.key() ==
"classification"_L1 )
200 msg += u
"<tr><td>%1</td></tr>"_s.arg( tr(
"Classified values" ) );
203 msg += u
"<tr><td>%1</td><td>%2</td></tr>"_s.arg( it.key() ).arg( it.value() );
206 msg +=
"</table>"_L1;
213 setEnabled( mMeshLayer );
217 mActiveScalarDatasetGroup = mDatasetGroupTreeView->activeScalarGroup();
218 mActiveVectorDatasetGroup = mDatasetGroupTreeView->activeVectorGroup();
void setActiveScalarGroup(int group)
Sets active group for contours.
void setActiveVectorGroup(int group)
Sets active vector group.
void activeVectorGroupChanged(int groupIndex)
Selected dataset group for vectors changed. -1 for invalid group.
void activeScalarGroupChanged(int groupIndex)
Selected dataset group for contours changed. -1 for invalid group.
An index that identifies the dataset group (e.g.
Represents a mesh layer supporting display of data on structured or unstructured meshes.
void activeScalarDatasetGroupChanged(int index)
Emitted when active scalar group dataset is changed.
void activeVectorDatasetGroupChanged(int index)
Emitted when active vector group dataset is changed.
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.