21
21
#include " qgspanelwidget.h"
22
22
#include " qgssymbol.h"
23
23
#include " qgssymbolwidgetcontext.h"
24
+ #include " qgsunittypes.h"
24
25
#include " qgsvectorlayer.h"
25
26
26
27
QgsExtentBufferWidget::QgsExtentBufferWidget ( QgsSymbol *symbol, QgsVectorLayer *layer, QWidget *parent )
27
28
: QgsPanelWidget( parent ), mSymbol( symbol ), mLayer( layer )
28
29
{
29
30
setupUi ( this );
30
31
31
- mExtentBufferSpinBox ->setValue ( mSymbol -> extentBuffer () );
32
+ mExtentBufferSpinBox ->setValue ( mSymbol ->extentBuffer () );
33
+
34
+ mExtentBufferUnitSelectionWidget ->setShowMapScaleButton ( false );
35
+ mExtentBufferUnitSelectionWidget ->setUnits ( { Qgis::RenderUnit::Millimeters,
36
+ Qgis::RenderUnit::MetersInMapUnits,
37
+ Qgis::RenderUnit::MapUnits,
38
+ Qgis::RenderUnit::Pixels,
39
+ Qgis::RenderUnit::Points,
40
+ Qgis::RenderUnit::Inches } );
41
+ mExtentBufferUnitSelectionWidget ->setUnit ( mSymbol ->extentBufferSizeUnit () );
32
42
33
43
connect ( mExtentBufferSpinBox , static_cast < void ( QgsDoubleSpinBox::* )( double ) > ( &QgsDoubleSpinBox::valueChanged ), this , [ = ]()
34
44
{
35
45
emit widgetChanged ();
36
46
} );
37
47
48
+ connect ( mExtentBufferUnitSelectionWidget , &QgsUnitSelectionWidget::changed, this , [ = ]()
49
+ {
50
+ emit widgetChanged ();
51
+ } );
52
+
38
53
registerDataDefinedButton ( mExtentBufferDDButton , QgsSymbol::Property::ExtentBuffer );
39
54
}
40
55
@@ -97,7 +112,7 @@ QgsExtentBufferDialog::QgsExtentBufferDialog( QgsSymbol *symbol, QgsVectorLayer
97
112
vLayout->addWidget ( bbox );
98
113
setLayout ( vLayout );
99
114
100
- setWindowTitle ( tr ( " Extent buffer " ) );
115
+ setWindowTitle ( tr ( " Extent Buffer " ) );
101
116
}
102
117
103
118
double QgsExtentBufferDialog::extentBuffer () const
@@ -108,6 +123,19 @@ double QgsExtentBufferDialog::extentBuffer() const
108
123
return mWidget ->extentBuffer ();
109
124
}
110
125
126
+ Qgis::RenderUnit QgsExtentBufferWidget::sizeUnit () const
127
+ {
128
+ return mExtentBufferUnitSelectionWidget ->unit ();
129
+ }
130
+
131
+ Qgis::RenderUnit QgsExtentBufferDialog::sizeUnit () const
132
+ {
133
+ if ( !mWidget )
134
+ return Qgis::RenderUnit::MapUnits;
135
+
136
+ return mWidget ->sizeUnit ();
137
+ }
138
+
111
139
QgsProperty QgsExtentBufferDialog::dataDefinedProperty () const
112
140
{
113
141
if ( !mWidget )
0 commit comments