QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
qgsmeshrenderermeshsettingswidget.cpp
Go to the documentation of this file.
1/***************************************************************************
2 qgsmeshrenderermeshsettingswidget.cpp
3 ---------------------------------------
4 begin : June 2018
5 copyright : (C) 2018 by Peter Petrik
6 email : zilolv at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
17
18#include "qgis.h"
19#include "qgscolorbutton.h"
20#include "qgsdoublespinbox.h"
21#include "qgsmeshlayer.h"
22
23#include <QtGlobal>
24
25#include "moc_qgsmeshrenderermeshsettingswidget.cpp"
26
28 : QWidget( parent )
29
30{
31 setupUi( this );
32
33 mLineUnitsComboBox->setUnits(
38 }
39 );
40
41
43 connect( mLineWidthSpinBox, qOverload<double>( &QgsDoubleSpinBox::valueChanged ), this, &QgsMeshRendererMeshSettingsWidget::widgetChanged );
45}
46
48{
49 mMeshType = meshType;
50 mMeshLayer = layer;
51}
52
54{
56 settings.setColor( mColorWidget->color() );
57 settings.setLineWidth( mLineWidthSpinBox->value() );
58 settings.setLineWidthUnit( mLineUnitsComboBox->unit() );
59 return settings;
60}
61
63{
64 if ( !mMeshLayer )
65 return;
66
67 const QgsMeshRendererSettings rendererSettings = mMeshLayer->rendererSettings();
68
70 switch ( mMeshType )
71 {
72 case Native:
73 settings = rendererSettings.nativeMeshSettings();
74 break;
75 case Triangular:
76 settings = rendererSettings.triangularMeshSettings();
77 break;
78 case Edge:
79 settings = rendererSettings.edgeMeshSettings();
80 break;
81 }
82 mColorWidget->setColor( settings.color() );
83 mLineWidthSpinBox->setValue( settings.lineWidth() );
84 mLineUnitsComboBox->setUnit( settings.lineWidthUnit() );
85}
@ Millimeters
Millimeters.
Definition qgis.h:5184
@ Points
Points (e.g., for font sizes).
Definition qgis.h:5188
@ Pixels
Pixels.
Definition qgis.h:5186
@ MetersInMapUnits
Meters value as Map units.
Definition qgis.h:5191
void colorChanged(const QColor &color)
Emitted whenever a new color is set for the button.
Represents a mesh layer supporting display of data on structured or unstructured meshes.
void setLayer(QgsMeshLayer *layer, MeshType meshType)
Associates mesh layer with the widget.
void widgetChanged()
Mesh rendering settings changed.
QgsMeshRendererMeshSettingsWidget(QWidget *parent=nullptr)
A widget to hold the renderer mesh settings for a mesh layer.
QgsMeshRendererMeshSettings settings() const
Returns the mesh rendering settings (native or triangular or edge).
void syncToLayer()
Synchronizes widgets state with associated mesh layer.
Represents a mesh renderer settings for mesh objects.
Represents all mesh renderer settings.
QgsMeshRendererMeshSettings edgeMeshSettings() const
Returns edge mesh renderer settings.
QgsMeshRendererMeshSettings nativeMeshSettings() const
Returns native mesh renderer settings.
QgsMeshRendererMeshSettings triangularMeshSettings() const
Returns triangular mesh renderer settings.
void changed()
Emitted when the selected unit is changed, or the definition of the map unit scale is changed.