Skip to content

Commit ae75e45

Browse files
authoredNov 30, 2016
[symbology] migrate graduated renderer color ramp widget (#3815)
1 parent 9bb9b58 commit ae75e45

9 files changed

+168
-197
lines changed
 

‎python/core/symbology-ng/qgsgraduatedsymbolrenderer.sip

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -197,14 +197,23 @@ class QgsGraduatedSymbolRenderer : QgsFeatureRenderer
197197
//! @note Added in 2.6
198198
void calculateLabelPrecision( bool updateRanges = true );
199199

200+
/** Creates a new graduated renderer.
201+
* @param vlayer vector layer
202+
* @param attrName attribute to classify
203+
* @param classes number of classes
204+
* @param mode classification mode
205+
* @param symbol base symbol
206+
* @param ramp color ramp for classes
207+
* @param legendFormat
208+
* @returns new QgsGraduatedSymbolRenderer object
209+
*/
200210
static QgsGraduatedSymbolRenderer* createRenderer(
201211
QgsVectorLayer* vlayer,
202212
const QString& attrName,
203213
int classes,
204214
Mode mode,
205215
QgsSymbol* symbol /Transfer/,
206216
QgsColorRamp* ramp /Transfer/,
207-
bool inverted = false,
208217
const QgsRendererRangeLabelFormat& legendFormat = QgsRendererRangeLabelFormat()
209218
);
210219

@@ -252,16 +261,11 @@ class QgsGraduatedSymbolRenderer : QgsFeatureRenderer
252261
*/
253262
void setSourceColorRamp( QgsColorRamp* ramp /Transfer/ );
254263

255-
//! @note added in 2.1
256-
bool invertedColorRamp();
257-
void setInvertedColorRamp( bool inverted );
258-
259264
/** Update the color ramp used. Also updates all symbols colors.
260265
* Doesn't alter current breaks.
261266
* @param ramp color ramp. Ownership is transferred to the renderer
262-
* @param inverted set to true to invert ramp colors
263267
*/
264-
void updateColorRamp( QgsColorRamp* ramp /Transfer/ = 0, bool inverted = false );
268+
void updateColorRamp( QgsColorRamp* ramp /Transfer/ = 0 );
265269

266270
/** Update all the symbols but leave breaks and colors. This method also sets the source
267271
* symbol for the renderer.

‎src/core/symbology-ng/qgsgraduatedsymbolrenderer.cpp

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,6 @@ QgsGraduatedSymbolRenderer::QgsGraduatedSymbolRenderer( const QString& attrName,
288288
: QgsFeatureRenderer( QStringLiteral( "graduatedSymbol" ) )
289289
, mAttrName( attrName )
290290
, mMode( Custom )
291-
, mInvertedColorRamp( false )
292291
, mGraduatedMethod( GraduatedColor )
293292
, mAttrNum( -1 )
294293
, mCounting( false )
@@ -501,7 +500,6 @@ QgsGraduatedSymbolRenderer* QgsGraduatedSymbolRenderer::clone() const
501500
if ( mSourceColorRamp.data() )
502501
{
503502
r->setSourceColorRamp( mSourceColorRamp->clone() );
504-
r->setInvertedColorRamp( mInvertedColorRamp );
505503
}
506504
r->setUsingSymbolLevels( usingSymbolLevels() );
507505
r->setLabelFormat( labelFormat() );
@@ -790,15 +788,13 @@ QgsGraduatedSymbolRenderer* QgsGraduatedSymbolRenderer::createRenderer(
790788
Mode mode,
791789
QgsSymbol* symbol,
792790
QgsColorRamp* ramp,
793-
bool inverted,
794791
const QgsRendererRangeLabelFormat& labelFormat
795792
)
796793
{
797794
QgsRangeList ranges;
798795
QgsGraduatedSymbolRenderer* r = new QgsGraduatedSymbolRenderer( attrName, ranges );
799796
r->setSourceSymbol( symbol->clone() );
800797
r->setSourceColorRamp( ramp->clone() );
801-
r->setInvertedColorRamp( inverted );
802798
r->setMode( mode );
803799
r->setLabelFormat( labelFormat );
804800
r->updateClasses( vlayer, mode, classes );
@@ -916,7 +912,7 @@ void QgsGraduatedSymbolRenderer::updateClasses( QgsVectorLayer* vlayer, Mode mod
916912
QgsSymbol* newSymbol = mSourceSymbol ? mSourceSymbol->clone() : QgsSymbol::defaultSymbol( vlayer->geometryType() );
917913
addClass( QgsRendererRange( lower, upper, newSymbol, label ) );
918914
}
919-
updateColorRamp( nullptr, mInvertedColorRamp );
915+
updateColorRamp( nullptr );
920916
}
921917

922918
QgsFeatureRenderer* QgsGraduatedSymbolRenderer::create( QDomElement& element )
@@ -985,9 +981,6 @@ QgsFeatureRenderer* QgsGraduatedSymbolRenderer::create( QDomElement& element )
985981
if ( !sourceColorRampElem.isNull() && sourceColorRampElem.attribute( QStringLiteral( "name" ) ) == QLatin1String( "[source]" ) )
986982
{
987983
r->setSourceColorRamp( QgsSymbolLayerUtils::loadColorRamp( sourceColorRampElem ) );
988-
QDomElement invertedColorRampElem = element.firstChildElement( QStringLiteral( "invertedcolorramp" ) );
989-
if ( !invertedColorRampElem.isNull() )
990-
r->setInvertedColorRamp( invertedColorRampElem.attribute( QStringLiteral( "value" ) ) == QLatin1String( "1" ) );
991984
}
992985

993986
// try to load mode
@@ -1098,9 +1091,6 @@ QDomElement QgsGraduatedSymbolRenderer::save( QDomDocument& doc )
10981091
{
10991092
QDomElement colorRampElem = QgsSymbolLayerUtils::saveColorRamp( QStringLiteral( "[source]" ), mSourceColorRamp.data(), doc );
11001093
rendererElem.appendChild( colorRampElem );
1101-
QDomElement invertedElem = doc.createElement( QStringLiteral( "invertedcolorramp" ) );
1102-
invertedElem.setAttribute( QStringLiteral( "value" ), mInvertedColorRamp );
1103-
rendererElem.appendChild( invertedElem );
11041094
}
11051095

11061096
// save mode
@@ -1306,13 +1296,12 @@ void QgsGraduatedSymbolRenderer::setSymbolSizes( double minSize, double maxSize
13061296
}
13071297
}
13081298

1309-
void QgsGraduatedSymbolRenderer::updateColorRamp( QgsColorRamp *ramp, bool inverted )
1299+
void QgsGraduatedSymbolRenderer::updateColorRamp( QgsColorRamp *ramp )
13101300
{
13111301
int i = 0;
13121302
if ( ramp )
13131303
{
13141304
setSourceColorRamp( ramp );
1315-
setInvertedColorRamp( inverted );
13161305
}
13171306

13181307
if ( mSourceColorRamp )
@@ -1323,10 +1312,7 @@ void QgsGraduatedSymbolRenderer::updateColorRamp( QgsColorRamp *ramp, bool inver
13231312
if ( symbol )
13241313
{
13251314
double colorValue;
1326-
if ( inverted )
1327-
colorValue = ( mRanges.count() > 1 ? static_cast< double >( mRanges.count() - i - 1 ) / ( mRanges.count() - 1 ) : 0 );
1328-
else
1329-
colorValue = ( mRanges.count() > 1 ? static_cast< double >( i ) / ( mRanges.count() - 1 ) : 0 );
1315+
colorValue = ( mRanges.count() > 1 ? static_cast< double >( i ) / ( mRanges.count() - 1 ) : 0 );
13301316
symbol->setColor( mSourceColorRamp->color( colorValue ) );
13311317
}
13321318
updateRangeSymbol( i, symbol );
@@ -1441,7 +1427,7 @@ void QgsGraduatedSymbolRenderer::addBreak( double breakValue, bool updateSymbols
14411427
switch ( mGraduatedMethod )
14421428
{
14431429
case GraduatedColor:
1444-
updateColorRamp( mSourceColorRamp.data(), mInvertedColorRamp );
1430+
updateColorRamp( mSourceColorRamp.data() );
14451431
break;
14461432
case GraduatedSize:
14471433
setSymbolSizes( minSymbolSize(), maxSymbolSize() );

‎src/core/symbology-ng/qgsgraduatedsymbolrenderer.h

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,6 @@ class CORE_EXPORT QgsGraduatedSymbolRenderer : public QgsFeatureRenderer
235235
* @param mode classification mode
236236
* @param symbol base symbol
237237
* @param ramp color ramp for classes
238-
* @param inverted set to true to invert color ramp
239238
* @param legendFormat
240239
* @returns new QgsGraduatedSymbolRenderer object
241240
*/
@@ -246,7 +245,6 @@ class CORE_EXPORT QgsGraduatedSymbolRenderer : public QgsFeatureRenderer
246245
Mode mode,
247246
QgsSymbol* symbol,
248247
QgsColorRamp* ramp,
249-
bool inverted = false,
250248
const QgsRendererRangeLabelFormat& legendFormat = QgsRendererRangeLabelFormat()
251249
);
252250

@@ -285,16 +283,11 @@ class CORE_EXPORT QgsGraduatedSymbolRenderer : public QgsFeatureRenderer
285283
*/
286284
void setSourceColorRamp( QgsColorRamp* ramp );
287285

288-
//! @note added in 2.1
289-
bool invertedColorRamp() { return mInvertedColorRamp; }
290-
void setInvertedColorRamp( bool inverted ) { mInvertedColorRamp = inverted; }
291-
292286
/** Update the color ramp used. Also updates all symbols colors.
293287
* Doesn't alter current breaks.
294288
* @param ramp color ramp. Ownership is transferred to the renderer
295-
* @param inverted set to true to invert ramp colors
296289
*/
297-
void updateColorRamp( QgsColorRamp* ramp = nullptr, bool inverted = false );
290+
void updateColorRamp( QgsColorRamp* ramp = nullptr );
298291

299292
/** Update all the symbols but leave breaks and colors. This method also sets the source
300293
* symbol for the renderer.
@@ -343,7 +336,6 @@ class CORE_EXPORT QgsGraduatedSymbolRenderer : public QgsFeatureRenderer
343336
Mode mMode;
344337
QScopedPointer<QgsSymbol> mSourceSymbol;
345338
QScopedPointer<QgsColorRamp> mSourceColorRamp;
346-
bool mInvertedColorRamp;
347339
QgsRendererRangeLabelFormat mLabelFormat;
348340

349341
QScopedPointer<QgsExpression> mExpression;

‎src/gui/qgscolorrampbutton.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ QPixmap QgsColorRampButton::createMenuIcon( QgsColorRamp* colorramp )
226226

227227
void QgsColorRampButton::buttonClicked()
228228
{
229-
if ( !isRandomColorRamp() )
229+
if ( !isRandomColorRamp() && !isNull() )
230230
{
231231
showColorRampDialog();
232232
}
@@ -241,7 +241,7 @@ void QgsColorRampButton::prepareMenu()
241241
mMenu->clear();
242242

243243
QAction* invertAction = new QAction( tr( "Invert color ramp" ), this );
244-
invertAction->setEnabled( !isRandomColorRamp() );
244+
invertAction->setEnabled( !isNull() && !isRandomColorRamp() );
245245
mMenu->addAction( invertAction );
246246
connect( invertAction, &QAction::triggered, this, &QgsColorRampButton::invertColorRamp );
247247

@@ -317,6 +317,7 @@ void QgsColorRampButton::prepareMenu()
317317
mMenu->addAction( newColorRampAction );
318318

319319
QAction* editColorRampAction = new QAction( tr( "Edit color ramp..." ), this );
320+
editColorRampAction->setEnabled( !isNull() && !isRandomColorRamp() );
320321
connect( editColorRampAction, &QAction::triggered, this, &QgsColorRampButton::showColorRampDialog );
321322
mMenu->addAction( editColorRampAction );
322323
}

‎src/gui/symbology-ng/qgscategorizedsymbolrendererwidget.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,12 @@ QgsCategorizedSymbolRendererWidget::QgsCategorizedSymbolRendererWidget( QgsVecto
421421
{
422422
btnColorRamp->setColorRampFromName( defaultColorRamp );
423423
}
424+
else
425+
{
426+
QgsColorRamp* ramp = new QgsGradientColorRamp( QColor( 255, 255, 255 ), QColor( 255, 0, 0 ) );
427+
btnColorRamp->setColorRamp( ramp );
428+
delete ramp;
429+
}
424430

425431
mCategorizedSymbol = QgsSymbol::defaultSymbol( mLayer->geometryType() );
426432

‎src/gui/symbology-ng/qgsgraduatedsymbolrendererwidget.cpp

Lines changed: 56 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "qgssymbol.h"
1919
#include "qgssymbollayerutils.h"
2020
#include "qgscolorramp.h"
21+
#include "qgscolorrampbutton.h"
2122
#include "qgsstyle.h"
2223

2324
#include "qgsvectorlayer.h"
@@ -446,18 +447,22 @@ QgsGraduatedSymbolRendererWidget::QgsGraduatedSymbolRendererWidget( QgsVectorLay
446447

447448
mSizeUnitWidget->setUnits( QgsUnitTypes::RenderUnitList() << QgsUnitTypes::RenderMillimeters << QgsUnitTypes::RenderMapUnits << QgsUnitTypes::RenderPixels );
448449

449-
cboGraduatedColorRamp->populate( mStyle );
450-
451450
spinPrecision->setMinimum( QgsRendererRangeLabelFormat::MinPrecision );
452451
spinPrecision->setMaximum( QgsRendererRangeLabelFormat::MaxPrecision );
453452

453+
btnColorRamp->setShowRandomColorRamp( true );
454+
454455
// set project default color ramp
455456
QString defaultColorRamp = QgsProject::instance()->readEntry( QStringLiteral( "DefaultStyles" ), QStringLiteral( "/ColorRamp" ), QLatin1String( "" ) );
456457
if ( defaultColorRamp != QLatin1String( "" ) )
457458
{
458-
int index = cboGraduatedColorRamp->findText( defaultColorRamp, Qt::MatchCaseSensitive );
459-
if ( index >= 0 )
460-
cboGraduatedColorRamp->setCurrentIndex( index );
459+
btnColorRamp->setColorRampFromName( defaultColorRamp );
460+
}
461+
else
462+
{
463+
QgsColorRamp* ramp = new QgsGradientColorRamp( QColor( 255, 255, 255 ), QColor( 255, 0, 0 ) );
464+
btnColorRamp->setColorRamp( ramp );
465+
delete ramp;
461466
}
462467

463468

@@ -543,10 +548,7 @@ void QgsGraduatedSymbolRendererWidget::connectUpdateHandlers()
543548
{
544549
connect( spinGraduatedClasses, SIGNAL( valueChanged( int ) ), this, SLOT( classifyGraduated() ) );
545550
connect( cboGraduatedMode, SIGNAL( currentIndexChanged( int ) ), this, SLOT( classifyGraduated() ) );
546-
connect( cboGraduatedColorRamp, SIGNAL( currentIndexChanged( int ) ), this, SLOT( reapplyColorRamp() ) );
547-
connect( cboGraduatedColorRamp, SIGNAL( sourceRampEdited() ), this, SLOT( reapplyColorRamp() ) );
548-
connect( mButtonEditRamp, SIGNAL( clicked() ), cboGraduatedColorRamp, SLOT( editSourceRamp() ) );
549-
connect( cbxInvertedColorRamp, SIGNAL( toggled( bool ) ), this, SLOT( reapplyColorRamp() ) );
551+
connect( btnColorRamp, &QgsColorRampButton::colorRampChanged, this, &QgsGraduatedSymbolRendererWidget::reapplyColorRamp );
550552
connect( spinPrecision, SIGNAL( valueChanged( int ) ), this, SLOT( labelFormatChanged() ) );
551553
connect( cbxTrimTrailingZeroes, SIGNAL( toggled( bool ) ), this, SLOT( labelFormatChanged() ) );
552554
connect( txtLegendFormat, SIGNAL( textChanged( QString ) ), this, SLOT( labelFormatChanged() ) );
@@ -563,10 +565,7 @@ void QgsGraduatedSymbolRendererWidget::disconnectUpdateHandlers()
563565
{
564566
disconnect( spinGraduatedClasses, SIGNAL( valueChanged( int ) ), this, SLOT( classifyGraduated() ) );
565567
disconnect( cboGraduatedMode, SIGNAL( currentIndexChanged( int ) ), this, SLOT( classifyGraduated() ) );
566-
disconnect( cboGraduatedColorRamp, SIGNAL( currentIndexChanged( int ) ), this, SLOT( reapplyColorRamp() ) );
567-
disconnect( cboGraduatedColorRamp, SIGNAL( sourceRampEdited() ), this, SLOT( reapplyColorRamp() ) );
568-
disconnect( mButtonEditRamp, SIGNAL( clicked() ), cboGraduatedColorRamp, SLOT( editSourceRamp() ) );
569-
disconnect( cbxInvertedColorRamp, SIGNAL( toggled( bool ) ), this, SLOT( reapplyColorRamp() ) );
568+
disconnect( btnColorRamp, &QgsColorRampButton::colorRampChanged, this, &QgsGraduatedSymbolRendererWidget::reapplyColorRamp );
570569
disconnect( spinPrecision, SIGNAL( valueChanged( int ) ), this, SLOT( labelFormatChanged() ) );
571570
disconnect( cbxTrimTrailingZeroes, SIGNAL( toggled( bool ) ), this, SLOT( labelFormatChanged() ) );
572571
disconnect( txtLegendFormat, SIGNAL( textChanged( QString ) ), this, SLOT( labelFormatChanged() ) );
@@ -622,8 +621,9 @@ void QgsGraduatedSymbolRendererWidget::updateUiFromRenderer( bool updateCount )
622621
{
623622
methodComboBox->setCurrentIndex( 0 );
624623
if ( mRenderer->sourceColorRamp() )
625-
cboGraduatedColorRamp->setSourceColorRamp( mRenderer->sourceColorRamp() );
626-
cbxInvertedColorRamp->setChecked( mRenderer->invertedColorRamp() );
624+
{
625+
btnColorRamp->setColorRamp( mRenderer->sourceColorRamp() );
626+
}
627627
}
628628
else
629629
{
@@ -634,7 +634,7 @@ void QgsGraduatedSymbolRendererWidget::updateUiFromRenderer( bool updateCount )
634634
maxSizeSpinBox->setValue( mRenderer->maxSymbolSize() );
635635
}
636636
}
637-
mMethodStackedWidget->setCurrentIndex( methodComboBox->currentIndex() );
637+
toggleMethodWidgets( methodComboBox->currentIndex() );
638638
methodComboBox->blockSignals( false );
639639

640640
QgsRendererRangeLabelFormat labelFormat = mRenderer->labelFormat();
@@ -659,30 +659,59 @@ void QgsGraduatedSymbolRendererWidget::graduatedColumnChanged( const QString& fi
659659

660660
void QgsGraduatedSymbolRendererWidget::on_methodComboBox_currentIndexChanged( int idx )
661661
{
662-
mMethodStackedWidget->setCurrentIndex( idx );
662+
toggleMethodWidgets( idx );
663663
if ( idx == 0 )
664664
{
665665
mRenderer->setGraduatedMethod( QgsGraduatedSymbolRenderer::GraduatedColor );
666-
QgsColorRamp* ramp = cboGraduatedColorRamp->currentColorRamp();
666+
QgsColorRamp* ramp = btnColorRamp->colorRamp();
667667

668668
if ( !ramp )
669669
{
670-
if ( cboGraduatedColorRamp->count() == 0 )
671-
QMessageBox::critical( this, tr( "Error" ), tr( "There are no available color ramps. You can add them in Style Manager." ) );
672-
else
673-
QMessageBox::critical( this, tr( "Error" ), tr( "The selected color ramp is not available." ) );
670+
QMessageBox::critical( this, tr( "Error" ), tr( "No color ramp defined." ) );
674671
return;
675672
}
676673
mRenderer->setSourceColorRamp( ramp );
677674
reapplyColorRamp();
678675
}
679676
else
680677
{
678+
lblColorRamp->setVisible( false );
679+
btnColorRamp->setVisible( false );
680+
lblSize->setVisible( true );
681+
minSizeSpinBox->setVisible( true );
682+
lblSize->setVisible( true );
683+
maxSizeSpinBox->setVisible( true );
684+
mSizeUnitWidget->setVisible( true );
685+
681686
mRenderer->setGraduatedMethod( QgsGraduatedSymbolRenderer::GraduatedSize );
682687
reapplySizes();
683688
}
684689
}
685690

691+
void QgsGraduatedSymbolRendererWidget::toggleMethodWidgets( int idx )
692+
{
693+
if ( idx == 0 )
694+
{
695+
lblColorRamp->setVisible( true );
696+
btnColorRamp->setVisible( true );
697+
lblSize->setVisible( false );
698+
minSizeSpinBox->setVisible( false );
699+
lblSizeTo->setVisible( false );
700+
maxSizeSpinBox->setVisible( false );
701+
mSizeUnitWidget->setVisible( false );
702+
}
703+
else
704+
{
705+
lblColorRamp->setVisible( false );
706+
btnColorRamp->setVisible( false );
707+
lblSize->setVisible( true );
708+
minSizeSpinBox->setVisible( true );
709+
lblSizeTo->setVisible( true );
710+
maxSizeSpinBox->setVisible( true );
711+
mSizeUnitWidget->setVisible( true );
712+
}
713+
}
714+
686715
void QgsGraduatedSymbolRendererWidget::refreshRanges( bool reset )
687716
{
688717
if ( !mModel )
@@ -748,13 +777,10 @@ void QgsGraduatedSymbolRendererWidget::classifyGraduated()
748777

749778
int nclasses = spinGraduatedClasses->value();
750779

751-
QScopedPointer<QgsColorRamp> ramp( cboGraduatedColorRamp->currentColorRamp() );
780+
QScopedPointer<QgsColorRamp> ramp( btnColorRamp->colorRamp() );
752781
if ( !ramp )
753782
{
754-
if ( cboGraduatedColorRamp->count() == 0 )
755-
QMessageBox::critical( this, tr( "Error" ), tr( "There are no available color ramps. You can add them in Style Manager." ) );
756-
else
757-
QMessageBox::critical( this, tr( "Error" ), tr( "The selected color ramp is not available." ) );
783+
QMessageBox::critical( this, tr( "Error" ), tr( "No color ramp defined." ) );
758784
return;
759785
}
760786

@@ -787,10 +813,7 @@ void QgsGraduatedSymbolRendererWidget::classifyGraduated()
787813
{
788814
if ( !ramp )
789815
{
790-
if ( cboGraduatedColorRamp->count() == 0 )
791-
QMessageBox::critical( this, tr( "Error" ), tr( "There are no available color ramps. You can add them in Style Manager." ) );
792-
else
793-
QMessageBox::critical( this, tr( "Error" ), tr( "The selected color ramp is not available." ) );
816+
QMessageBox::critical( this, tr( "Error" ), tr( "No color ramp defined." ) );
794817
return;
795818
}
796819
mRenderer->setSourceColorRamp( ramp.take() );
@@ -815,11 +838,11 @@ void QgsGraduatedSymbolRendererWidget::classifyGraduated()
815838

816839
void QgsGraduatedSymbolRendererWidget::reapplyColorRamp()
817840
{
818-
QScopedPointer< QgsColorRamp > ramp( cboGraduatedColorRamp->currentColorRamp() );
841+
QScopedPointer< QgsColorRamp > ramp( btnColorRamp->colorRamp() );
819842
if ( !ramp )
820843
return;
821844

822-
mRenderer->updateColorRamp( ramp.take(), cbxInvertedColorRamp->isChecked() );
845+
mRenderer->updateColorRamp( ramp.take() );
823846
mRenderer->updateSymbols( mGraduatedSymbol );
824847
refreshSymbolView();
825848
}

‎src/gui/symbology-ng/qgsgraduatedsymbolrendererwidget.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ class GUI_EXPORT QgsGraduatedSymbolRendererWidget : public QgsRendererWidget, pr
122122
private slots:
123123
void cleanUpSymbolSelector( QgsPanelWidget* container );
124124
void updateSymbolsFromWidget();
125+
void toggleMethodWidgets( int idx );
125126

126127
protected:
127128
void updateUiFromRenderer( bool updateCount = true );

‎src/ui/qgsgraduatedsymbolrendererv2widget.ui

Lines changed: 86 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -148,137 +148,106 @@ Negative rounds to powers of 10</string>
148148
</property>
149149
</widget>
150150
</item>
151-
<item row="4" column="0" colspan="2">
152-
<widget class="QStackedWidget" name="mMethodStackedWidget">
153-
<property name="sizePolicy">
154-
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
155-
<horstretch>0</horstretch>
156-
<verstretch>0</verstretch>
157-
</sizepolicy>
158-
</property>
159-
<property name="maximumSize">
160-
<size>
161-
<width>16777215</width>
162-
<height>50</height>
163-
</size>
164-
</property>
165-
<property name="currentIndex">
166-
<number>0</number>
167-
</property>
168-
<widget class="QWidget" name="page">
169-
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,1,0,0,0">
170-
<property name="margin">
171-
<number>0</number>
172-
</property>
173-
<item>
174-
<widget class="QLabel" name="label_7">
151+
152+
<item row="4" column="0">
153+
<widget class="QLabel" name="lblColorRamp">
175154
<property name="text">
176155
<string>Color ramp</string>
177156
</property>
178157
<property name="buddy">
179-
<cstring>cboGraduatedColorRamp</cstring>
180-
</property>
181-
</widget>
182-
</item>
183-
<item>
184-
<widget class="QgsColorRampComboBox" name="cboGraduatedColorRamp"/>
185-
</item>
186-
<item>
187-
<widget class="QPushButton" name="mButtonEditRamp">
188-
<property name="text">
189-
<string>Edit</string>
190-
</property>
191-
</widget>
192-
</item>
193-
<item>
194-
<widget class="QCheckBox" name="cbxInvertedColorRamp">
195-
<property name="text">
196-
<string>Invert</string>
158+
<cstring>btnColorRamp</cstring>
197159
</property>
198160
</widget>
199161
</item>
200-
<item>
201-
<spacer name="horizontalSpacer">
202-
<property name="orientation">
203-
<enum>Qt::Horizontal</enum>
162+
<item row="4" column="1">
163+
<widget class="QgsColorRampButton" name="btnColorRamp">
164+
<property name="sizePolicy">
165+
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
166+
<horstretch>0</horstretch>
167+
<verstretch>0</verstretch>
168+
</sizepolicy>
204169
</property>
205-
<property name="sizeHint" stdset="0">
170+
<property name="minimumSize">
206171
<size>
207-
<width>40</width>
208-
<height>20</height>
172+
<width>120</width>
173+
<height>0</height>
209174
</size>
210175
</property>
211-
</spacer>
212-
</item>
213-
</layout>
214-
</widget>
215-
<widget class="QWidget" name="page_2">
216-
<layout class="QGridLayout" name="gridLayout_2">
217-
<property name="margin">
218-
<number>0</number>
219-
</property>
220-
<item row="0" column="2">
221-
<widget class="QgsDoubleSpinBox" name="minSizeSpinBox">
222-
<property name="decimals">
223-
<number>6</number>
224-
</property>
225-
<property name="maximum">
226-
<double>999999999.000000000000000</double>
227-
</property>
228-
<property name="singleStep">
229-
<double>0.200000000000000</double>
230-
</property>
231-
<property name="value">
232-
<double>1.000000000000000</double>
233-
</property>
234-
<property name="showClearButton" stdset="0">
235-
<bool>false</bool>
176+
<property name="maximumSize">
177+
<size>
178+
<width>16777215</width>
179+
<height>16777215</height>
180+
</size>
236181
</property>
237182
</widget>
238183
</item>
239-
<item row="0" column="1">
240-
<widget class="QLabel" name="label_10">
184+
185+
<item row="5" column="0">
186+
<widget class="QLabel" name="lblSize">
241187
<property name="text">
242188
<string>Size from </string>
243189
</property>
244190
<property name="buddy">
245-
<cstring>cboGraduatedColorRamp</cstring>
246-
</property>
247-
</widget>
248-
</item>
249-
<item row="1" column="2">
250-
<widget class="QgsDoubleSpinBox" name="maxSizeSpinBox">
251-
<property name="decimals">
252-
<number>6</number>
253-
</property>
254-
<property name="maximum">
255-
<double>999999999.000000000000000</double>
256-
</property>
257-
<property name="singleStep">
258-
<double>0.200000000000000</double>
259-
</property>
260-
<property name="value">
261-
<double>10.000000000000000</double>
262-
</property>
263-
<property name="showClearButton" stdset="0">
264-
<bool>false</bool>
191+
<cstring>minSizeSpinBox</cstring>
265192
</property>
266193
</widget>
267194
</item>
268-
<item row="1" column="1">
269-
<widget class="QLabel" name="label_2">
270-
<property name="sizePolicy">
271-
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
272-
<horstretch>0</horstretch>
273-
<verstretch>0</verstretch>
274-
</sizepolicy>
275-
</property>
276-
<property name="text">
277-
<string>to</string>
278-
</property>
279-
</widget>
195+
<item row="5" column="1">
196+
<layout class="QHBoxLayout" name="layoutSize">
197+
<item>
198+
<widget class="QgsDoubleSpinBox" name="minSizeSpinBox">
199+
<property name="decimals">
200+
<number>6</number>
201+
</property>
202+
<property name="maximum">
203+
<double>999999999.000000000000000</double>
204+
</property>
205+
<property name="singleStep">
206+
<double>0.200000000000000</double>
207+
</property>
208+
<property name="value">
209+
<double>1.000000000000000</double>
210+
</property>
211+
<property name="showClearButton" stdset="0">
212+
<bool>false</bool>
213+
</property>
214+
</widget>
215+
</item>
216+
<item>
217+
<widget class="QLabel" name="lblSizeTo">
218+
<property name="sizePolicy">
219+
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
220+
<horstretch>0</horstretch>
221+
<verstretch>0</verstretch>
222+
</sizepolicy>
223+
</property>
224+
<property name="text">
225+
<string>to</string>
226+
</property>
227+
</widget>
228+
</item>
229+
<item>
230+
<widget class="QgsDoubleSpinBox" name="maxSizeSpinBox">
231+
<property name="decimals">
232+
<number>6</number>
233+
</property>
234+
<property name="maximum">
235+
<double>999999999.000000000000000</double>
236+
</property>
237+
<property name="singleStep">
238+
<double>0.200000000000000</double>
239+
</property>
240+
<property name="value">
241+
<double>10.000000000000000</double>
242+
</property>
243+
<property name="showClearButton" stdset="0">
244+
<bool>false</bool>
245+
</property>
246+
</widget>
247+
</item>
248+
</layout>
280249
</item>
281-
<item row="0" column="5">
250+
<item row="6" column="1">
282251
<widget class="QgsUnitSelectionWidget" name="mSizeUnitWidget" native="true">
283252
<property name="minimumSize">
284253
<size>
@@ -291,11 +260,9 @@ Negative rounds to powers of 10</string>
291260
</property>
292261
</widget>
293262
</item>
294-
</layout>
295-
</widget>
296-
</widget>
297-
</item>
298-
<item row="5" column="0" colspan="2">
263+
264+
265+
<item row="7" column="0" colspan="2">
299266
<widget class="QTabWidget" name="tabWidget">
300267
<property name="currentIndex">
301268
<number>0</number>
@@ -522,9 +489,10 @@ Negative rounds to powers of 10</string>
522489
<container>1</container>
523490
</customwidget>
524491
<customwidget>
525-
<class>QgsColorRampComboBox</class>
526-
<extends>QComboBox</extends>
527-
<header>qgscolorrampcombobox.h</header>
492+
<class>QgsColorRampButton</class>
493+
<extends>QToolButton</extends>
494+
<header>qgscolorrampbutton.h</header>
495+
<container>1</container>
528496
</customwidget>
529497
<customwidget>
530498
<class>QgsDoubleSpinBox</class>
@@ -545,9 +513,7 @@ Negative rounds to powers of 10</string>
545513
</customwidget>
546514
</customwidgets>
547515
<tabstops>
548-
<tabstop>cboGraduatedColorRamp</tabstop>
549-
<tabstop>mButtonEditRamp</tabstop>
550-
<tabstop>cbxInvertedColorRamp</tabstop>
516+
<tabstop>btnColorRamp</tabstop>
551517
<tabstop>cboGraduatedMode</tabstop>
552518
<tabstop>spinGraduatedClasses</tabstop>
553519
<tabstop>btnGraduatedClassify</tabstop>

‎tests/src/python/test_qgsgraduatedsymbolrenderer.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,6 @@ def dumpGraduatedRenderer(r):
142142
else:
143143
rstr = rstr + symbol.dump() + ':'
144144
rstr = rstr + dumpColorRamp(r.sourceColorRamp())
145-
rstr = rstr + str(r.invertedColorRamp()) + ':'
146145
rstr = rstr + dumpRangeList(r.ranges())
147146
return rstr
148147

@@ -305,13 +304,6 @@ def testQgsGraduatedSymbolRenderer_1(self):
305304
dumpColorRamp(renderer.sourceColorRamp()),
306305
"Get/set renderer color ramp")
307306

308-
renderer.setInvertedColorRamp(True)
309-
self.assertTrue(renderer.invertedColorRamp(),
310-
"Get/set renderer inverted color ramp")
311-
renderer.setInvertedColorRamp(False)
312-
self.assertFalse(renderer.invertedColorRamp(),
313-
"Get/set renderer inverted color ramp")
314-
315307
renderer.setSourceColorRamp(ramp)
316308
self.assertEqual(
317309
dumpColorRamp(ramp),

0 commit comments

Comments
 (0)
Please sign in to comment.