23
23
#include < QTableWidgetItem>
24
24
#include < QItemDelegate>
25
25
#include < QSpinBox>
26
-
26
+ # include < QDialogButtonBox >
27
27
28
28
29
29
// //////////////
30
30
31
- QgsSymbolLevelsDialog::QgsSymbolLevelsDialog ( QgsFeatureRenderer *renderer, bool usingSymbolLevels, QWidget *parent )
32
- : QDialog ( parent )
31
+ QgsSymbolLevelsWidget::QgsSymbolLevelsWidget ( QgsFeatureRenderer *renderer, bool usingSymbolLevels, QWidget *parent )
32
+ : QgsPanelWidget ( parent )
33
33
, mRenderer( renderer )
34
34
, mForceOrderingEnabled( false )
35
35
{
36
36
setupUi ( this );
37
37
38
- QgsSettings settings;
39
- restoreGeometry ( settings.value ( QStringLiteral ( " Windows/symbolLevelsDlg/geometry" ) ).toByteArray () );
40
-
41
38
tableLevels->setItemDelegate ( new SpinBoxDelegate ( this ) );
42
39
43
40
chkEnable->setChecked ( usingSymbolLevels );
44
41
45
- connect ( chkEnable, &QAbstractButton::clicked, this , &QgsSymbolLevelsDialog::updateUi );
46
- connect ( buttonBox, &QDialogButtonBox::accepted, this , &QgsSymbolLevelsDialog::apply );
47
- connect ( buttonBox, &QDialogButtonBox::helpRequested, this , &QgsSymbolLevelsDialog::showHelp );
42
+ connect ( chkEnable, &QAbstractButton::clicked, this , &QgsSymbolLevelsWidget::updateUi );
48
43
49
44
if ( mRenderer )
50
45
{
@@ -89,16 +84,10 @@ QgsSymbolLevelsDialog::QgsSymbolLevelsDialog( QgsFeatureRenderer *renderer, bool
89
84
90
85
populateTable ();
91
86
92
- connect ( tableLevels, &QTableWidget::cellChanged, this , &QgsSymbolLevelsDialog::renderingPassChanged );
93
- }
94
-
95
- QgsSymbolLevelsDialog::~QgsSymbolLevelsDialog ()
96
- {
97
- QgsSettings settings;
98
- settings.setValue ( QStringLiteral ( " Windows/symbolLevelsDlg/geometry" ), saveGeometry () );
87
+ connect ( tableLevels, &QTableWidget::cellChanged, this , &QgsSymbolLevelsWidget::renderingPassChanged );
99
88
}
100
89
101
- void QgsSymbolLevelsDialog ::populateTable ()
90
+ void QgsSymbolLevelsWidget ::populateTable ()
102
91
{
103
92
for ( int row = 0 ; row < mList .count (); row++ )
104
93
{
@@ -128,12 +117,13 @@ void QgsSymbolLevelsDialog::populateTable()
128
117
129
118
}
130
119
131
- void QgsSymbolLevelsDialog ::updateUi ()
120
+ void QgsSymbolLevelsWidget ::updateUi ()
132
121
{
133
122
tableLevels->setEnabled ( chkEnable->isChecked () );
123
+ emit widgetChanged ();
134
124
}
135
125
136
- void QgsSymbolLevelsDialog ::apply ()
126
+ void QgsSymbolLevelsWidget ::apply ()
137
127
{
138
128
for ( int i = 0 ; i < mList .count (); i++ )
139
129
{
@@ -147,7 +137,7 @@ void QgsSymbolLevelsDialog::apply()
147
137
mRenderer ->setUsingSymbolLevels ( usingLevels () );
148
138
}
149
139
150
- void QgsSymbolLevelsDialog ::setDefaultLevels ()
140
+ void QgsSymbolLevelsWidget ::setDefaultLevels ()
151
141
{
152
142
for ( int i = 0 ; i < mList .count (); i++ )
153
143
{
@@ -159,22 +149,24 @@ void QgsSymbolLevelsDialog::setDefaultLevels()
159
149
}
160
150
}
161
151
162
- bool QgsSymbolLevelsDialog ::usingLevels () const
152
+ bool QgsSymbolLevelsWidget ::usingLevels () const
163
153
{
164
154
return chkEnable->isChecked ();
165
155
}
166
156
167
- void QgsSymbolLevelsDialog ::renderingPassChanged ( int row, int column )
157
+ void QgsSymbolLevelsWidget ::renderingPassChanged ( int row, int column )
168
158
{
169
159
if ( row < 0 || row >= mList .count () )
170
160
return ;
171
161
QgsSymbol *sym = mList .at ( row ).symbol ();
172
162
if ( column < 0 || column > sym->symbolLayerCount () )
173
163
return ;
174
164
sym->symbolLayer ( column - 1 )->setRenderingPass ( tableLevels->item ( row, column )->text ().toInt () );
165
+
166
+ emit widgetChanged ();
175
167
}
176
168
177
- void QgsSymbolLevelsDialog ::setForceOrderingEnabled ( bool enabled )
169
+ void QgsSymbolLevelsWidget ::setForceOrderingEnabled ( bool enabled )
178
170
{
179
171
mForceOrderingEnabled = enabled;
180
172
if ( enabled )
@@ -186,11 +178,24 @@ void QgsSymbolLevelsDialog::setForceOrderingEnabled( bool enabled )
186
178
chkEnable->show ();
187
179
}
188
180
189
- void QgsSymbolLevelsDialog::showHelp ()
181
+ QgsSymbolLevelsDialog::QgsSymbolLevelsDialog ( QgsFeatureRenderer *renderer, bool usingSymbolLevels, QWidget *parent )
182
+ : QDialog( parent )
190
183
{
191
- QgsHelp::openHelp ( QStringLiteral ( " working_with_vector/vector_properties.html#symbols-levels" ) );
184
+ QVBoxLayout *vLayout = new QVBoxLayout ();
185
+ mWidget = new QgsSymbolLevelsWidget ( renderer, usingSymbolLevels );
186
+ vLayout->addWidget ( mWidget );
187
+ QDialogButtonBox *bbox = new QDialogButtonBox ( QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal );
188
+ connect ( bbox, &QDialogButtonBox::accepted, mWidget , &QgsSymbolLevelsWidget::apply );
189
+ connect ( bbox, &QDialogButtonBox::accepted, this , &QgsSymbolLevelsDialog::accept );
190
+ connect ( bbox, &QDialogButtonBox::rejected, this , &QgsSymbolLevelsDialog::reject );
191
+ vLayout->addWidget ( bbox );
192
+ setLayout ( vLayout );
192
193
}
193
194
195
+ void QgsSymbolLevelsDialog::setForceOrderingEnabled ( bool enabled )
196
+ {
197
+ mWidget ->setForceOrderingEnabled ( enabled );
198
+ }
194
199
195
200
// / @cond PRIVATE
196
201
0 commit comments