Clean up API for QgsUnitSelectionWidget

Makes the widget easier to use, avoids duplicate code
This commit is contained in:
Nyall Dawson 2015-03-22 22:03:01 +11:00
parent 1272870ffc
commit 0d241b794a
8 changed files with 212 additions and 222 deletions

View File

@ -58,17 +58,17 @@ QgsLabelingGui::QgsLabelingGui( QgsVectorLayer* layer, QgsMapCanvas* mapCanvas,
return;
setupUi( this );
mFontSizeUnitWidget->setUnits( QStringList() << tr( "points" ) << tr( "map units" ), 1 );
mBufferUnitWidget->setUnits( QStringList() << tr( "mm" ) << tr( "map units" ), 1 );
mShapeSizeUnitWidget->setUnits( QStringList() << tr( "mm" ) << tr( "map units" ), 1 );
mShapeOffsetUnitWidget->setUnits( QStringList() << tr( "mm" ) << tr( "map units" ), 1 );
mShapeRadiusUnitWidget->setUnits( QStringList() << tr( "mm" ) << tr( "map units" ) << tr( "% of length" ), 1 );
mShapeBorderWidthUnitWidget->setUnits( QStringList() << tr( "mm" ) << tr( "map units" ), 1 );
mShadowOffsetUnitWidget->setUnits( QStringList() << tr( "mm" ) << tr( "map units" ), 1 );
mShadowRadiusUnitWidget->setUnits( QStringList() << tr( "mm" ) << tr( "map units" ), 1 );
mPointOffsetUnitWidget->setUnits( QStringList() << tr( "mm" ) << tr( "map units" ), 1 );
mLineDistanceUnitWidget->setUnits( QStringList() << tr( "mm" ) << tr( "map units" ), 1 );
mRepeatDistanceUnitWidget->setUnits( QStringList() << tr( "mm" ) << tr( "map units" ), 1 );
mFontSizeUnitWidget->setUnits( QStringList() << tr( "Points" ) << tr( "Map unit" ), 1 );
mBufferUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mShapeSizeUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mShapeOffsetUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mShapeRadiusUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ) << tr( "% of length" ), 1 );
mShapeBorderWidthUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mShadowOffsetUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mShadowRadiusUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mPointOffsetUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mLineDistanceUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mRepeatDistanceUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mFontLineHeightSpinBox->setClearValue( 1.0 );
mShapeRotationDblSpnBx->setClearValue( 0.0 );
@ -305,7 +305,7 @@ void QgsLabelingGui::init()
radAroundCentroid->setChecked( true );
mLineDistanceSpnBx->setValue( lyr.dist );
mLineDistanceUnitWidget->setUnit( lyr.distInMapUnits ? 1 : 0 );
mLineDistanceUnitWidget->setUnit( lyr.distInMapUnits ? QgsSymbolV2::MapUnit : QgsSymbolV2::MM );
mLineDistanceUnitWidget->setMapUnitScale( lyr.distMapUnitScale );
//spinAngle->setValue( lyr.angle ); // TODO: uncomment when supported
break;
@ -316,7 +316,7 @@ void QgsLabelingGui::init()
mQuadrantBtnGrp->button(( int )lyr.quadOffset )->setChecked( true );
mPointOffsetXSpinBox->setValue( lyr.xOffset );
mPointOffsetYSpinBox->setValue( lyr.yOffset );
mPointOffsetUnitWidget->setUnit( lyr.labelOffsetInMapUnits ? 1 : 0 );
mPointOffsetUnitWidget->setUnit( lyr.labelOffsetInMapUnits ? QgsSymbolV2::MapUnit : QgsSymbolV2::MM );
mPointOffsetUnitWidget->setMapUnitScale( lyr.labelOffsetMapUnitScale );
mPointAngleSpinBox->setValue( lyr.angleOffset );
break;
@ -339,7 +339,7 @@ void QgsLabelingGui::init()
if ( lyr.placement == QgsPalLayerSettings::Line || lyr.placement == QgsPalLayerSettings::Curved )
{
mLineDistanceSpnBx->setValue( lyr.dist );
mLineDistanceUnitWidget->setUnit( lyr.distInMapUnits ? 1 : 0 );
mLineDistanceUnitWidget->setUnit( lyr.distInMapUnits ? QgsSymbolV2::MapUnit : QgsSymbolV2::MM );
mLineDistanceUnitWidget->setMapUnitScale( lyr.distMapUnitScale );
chkLineAbove->setChecked( lyr.placementFlags & QgsPalLayerSettings::AboveLine );
chkLineBelow->setChecked( lyr.placementFlags & QgsPalLayerSettings::BelowLine );
@ -350,7 +350,7 @@ void QgsLabelingGui::init()
// Label repeat distance
mRepeatDistanceSpinBox->setValue( lyr.repeatDistance );
mRepeatDistanceUnitWidget->setUnit( lyr.repeatDistanceUnit - 1 );
mRepeatDistanceUnitWidget->setUnit( lyr.repeatDistanceUnit ? QgsSymbolV2::MapUnit : QgsSymbolV2::MM );
mRepeatDistanceUnitWidget->setMapUnitScale( lyr.repeatDistanceMapUnitScale );
mPrioritySlider->setValue( lyr.priority );
@ -392,7 +392,7 @@ void QgsLabelingGui::init()
// buffer
mBufferDrawChkBx->setChecked( lyr.bufferDraw );
spinBufferSize->setValue( lyr.bufferSize );
mBufferUnitWidget->setUnit( lyr.bufferSizeInMapUnits ? 1 : 0 );
mBufferUnitWidget->setUnit( lyr.bufferSizeInMapUnits ? QgsSymbolV2::MapUnit : QgsSymbolV2::MM );
mBufferUnitWidget->setMapUnitScale( lyr.bufferSizeMapUnitScale );
btnBufferColor->setColor( lyr.bufferColor );
mBufferTranspSpinBox->setValue( lyr.bufferTransp );
@ -451,7 +451,7 @@ void QgsLabelingGui::init()
mShapeSizeCmbBx->setCurrentIndex( lyr.shapeSizeType );
mShapeSizeXSpnBx->setValue( lyr.shapeSize.x() );
mShapeSizeYSpnBx->setValue( lyr.shapeSize.y() );
mShapeSizeUnitWidget->setUnit( lyr.shapeSizeUnits - 1 );
mShapeSizeUnitWidget->setUnit( lyr.shapeSizeUnits == QgsPalLayerSettings::MapUnits ? QgsSymbolV2::MapUnit : QgsSymbolV2::MM );
mShapeSizeUnitWidget->setMapUnitScale( lyr.shapeSizeMapUnitScale );
mShapeRotationCmbBx->setCurrentIndex( lyr.shapeRotationType );
mShapeRotationDblSpnBx->setEnabled( lyr.shapeRotationType != QgsPalLayerSettings::RotationSync );
@ -459,7 +459,7 @@ void QgsLabelingGui::init()
mShapeRotationDblSpnBx->setValue( lyr.shapeRotation );
mShapeOffsetXSpnBx->setValue( lyr.shapeOffset.x() );
mShapeOffsetYSpnBx->setValue( lyr.shapeOffset.y() );
mShapeOffsetUnitWidget->setUnit( lyr.shapeOffsetUnits - 1 );
mShapeOffsetUnitWidget->setUnit( lyr.shapeOffsetUnits == QgsPalLayerSettings::MapUnits ? QgsSymbolV2::MapUnit : QgsSymbolV2::MM );
mShapeOffsetUnitWidget->setMapUnitScale( lyr.shapeOffsetMapUnitScale );
mShapeRadiusXDbSpnBx->setValue( lyr.shapeRadii.x() );
mShapeRadiusYDbSpnBx->setValue( lyr.shapeRadii.y() );
@ -469,7 +469,7 @@ void QgsLabelingGui::init()
mShapeFillColorBtn->setColor( lyr.shapeFillColor );
mShapeBorderColorBtn->setColor( lyr.shapeBorderColor );
mShapeBorderWidthSpnBx->setValue( lyr.shapeBorderWidth );
mShapeBorderWidthUnitWidget->setUnit( lyr.shapeBorderWidthUnits - 1 );
mShapeBorderWidthUnitWidget->setUnit( lyr.shapeBorderWidthUnits == QgsPalLayerSettings::MapUnits ? QgsSymbolV2::MapUnit : QgsSymbolV2::MM );
mShapeBorderWidthUnitWidget->setMapUnitScale( lyr.shapeBorderWidthMapUnitScale );
mShapePenStyleCmbBx->setPenJoinStyle( lyr.shapeJoinStyle );
@ -484,12 +484,12 @@ void QgsLabelingGui::init()
mShadowUnderCmbBx->setCurrentIndex( lyr.shadowUnder );
mShadowOffsetAngleSpnBx->setValue( lyr.shadowOffsetAngle );
mShadowOffsetSpnBx->setValue( lyr.shadowOffsetDist );
mShadowOffsetUnitWidget->setUnit( lyr.shadowOffsetUnits - 1 );
mShadowOffsetUnitWidget->setUnit( lyr.shadowOffsetUnits == QgsPalLayerSettings::MapUnits ? QgsSymbolV2::MapUnit : QgsSymbolV2::MM );
mShadowOffsetUnitWidget->setMapUnitScale( lyr.shadowOffsetMapUnitScale );
mShadowOffsetGlobalChkBx->setChecked( lyr.shadowOffsetGlobal );
mShadowRadiusDblSpnBx->setValue( lyr.shadowRadius );
mShadowRadiusUnitWidget->setUnit( lyr.shadowRadiusUnits - 1 );
mShadowRadiusUnitWidget->setUnit( lyr.shadowRadiusUnits == QgsPalLayerSettings::MapUnits ? QgsSymbolV2::MapUnit : QgsSymbolV2::MM );
mShadowRadiusUnitWidget->setMapUnitScale( lyr.shadowRadiusMapUnitScale );
mShadowRadiusAlphaChkBx->setChecked( lyr.shadowRadiusAlphaOnly );
mShadowTranspSpnBx->setValue( lyr.shadowTransparency );
@ -591,7 +591,7 @@ QgsPalLayerSettings QgsLabelingGui::layerSettings()
{
lyr.placement = QgsPalLayerSettings::AroundPoint;
lyr.dist = mLineDistanceSpnBx->value();
lyr.distInMapUnits = ( mLineDistanceUnitWidget->getUnit() == 1 );
lyr.distInMapUnits = ( mLineDistanceUnitWidget->unit() == QgsSymbolV2::MapUnit );
lyr.distMapUnitScale = mLineDistanceUnitWidget->getMapUnitScale();
}
else if (( curPlacementWdgt == pagePoint && radOverPoint->isChecked() )
@ -601,7 +601,7 @@ QgsPalLayerSettings QgsLabelingGui::layerSettings()
lyr.quadOffset = ( QgsPalLayerSettings::QuadrantPosition )mQuadrantBtnGrp->checkedId();
lyr.xOffset = mPointOffsetXSpinBox->value();
lyr.yOffset = mPointOffsetYSpinBox->value();
lyr.labelOffsetInMapUnits = ( mPointOffsetUnitWidget->getUnit() == 1 );
lyr.labelOffsetInMapUnits = ( mPointOffsetUnitWidget->unit() == QgsSymbolV2::MapUnit );
lyr.labelOffsetMapUnitScale = mPointOffsetUnitWidget->getMapUnitScale();
lyr.angleOffset = mPointAngleSpinBox->value();
}
@ -612,7 +612,7 @@ QgsPalLayerSettings QgsLabelingGui::layerSettings()
bool curved = ( curPlacementWdgt == pageLine && radLineCurved->isChecked() );
lyr.placement = ( curved ? QgsPalLayerSettings::Curved : QgsPalLayerSettings::Line );
lyr.dist = mLineDistanceSpnBx->value();
lyr.distInMapUnits = ( mLineDistanceUnitWidget->getUnit() == 1 );
lyr.distInMapUnits = ( mLineDistanceUnitWidget->unit() == QgsSymbolV2::MapUnit );
lyr.distMapUnitScale = mLineDistanceUnitWidget->getMapUnitScale();
if ( chkLineAbove->isChecked() )
lyr.placementFlags |= QgsPalLayerSettings::AboveLine;
@ -639,7 +639,7 @@ QgsPalLayerSettings QgsLabelingGui::layerSettings()
}
lyr.repeatDistance = mRepeatDistanceSpinBox->value();
lyr.repeatDistanceUnit = static_cast<QgsPalLayerSettings::SizeUnit>( 1 + mRepeatDistanceUnitWidget->getUnit() );
lyr.repeatDistanceUnit = mRepeatDistanceUnitWidget->unit() == QgsSymbolV2::MapUnit ? QgsPalLayerSettings::MapUnits : QgsPalLayerSettings::MM;
lyr.repeatDistanceMapUnitScale = mRepeatDistanceUnitWidget->getMapUnitScale();
lyr.textColor = btnTextColor->color();
@ -664,7 +664,7 @@ QgsPalLayerSettings QgsLabelingGui::layerSettings()
lyr.bufferSize = spinBufferSize->value();
lyr.bufferColor = btnBufferColor->color();
lyr.bufferTransp = mBufferTranspSpinBox->value();
lyr.bufferSizeInMapUnits = ( mBufferUnitWidget->getUnit() == 1 );
lyr.bufferSizeInMapUnits = ( mBufferUnitWidget->unit() == QgsSymbolV2::MapUnit );
lyr.bufferSizeMapUnitScale = mBufferUnitWidget->getMapUnitScale();
lyr.bufferJoinStyle = mBufferJoinStyleComboBox->penJoinStyle();
lyr.bufferNoFill = !mBufferTranspFillChbx->isChecked();
@ -677,12 +677,12 @@ QgsPalLayerSettings QgsLabelingGui::layerSettings()
lyr.shapeSizeType = ( QgsPalLayerSettings::SizeType )mShapeSizeCmbBx->currentIndex();
lyr.shapeSize = QPointF( mShapeSizeXSpnBx->value(), mShapeSizeYSpnBx->value() );
lyr.shapeSizeUnits = ( QgsPalLayerSettings::SizeUnit )( mShapeSizeUnitWidget->getUnit() + 1 );
lyr.shapeSizeUnits = mShapeSizeUnitWidget->unit() == QgsSymbolV2::MapUnit ? QgsPalLayerSettings::MapUnits : QgsPalLayerSettings::MM;
lyr.shapeSizeMapUnitScale = mShapeSizeUnitWidget->getMapUnitScale();
lyr.shapeRotationType = ( QgsPalLayerSettings::RotationType )( mShapeRotationCmbBx->currentIndex() );
lyr.shapeRotation = mShapeRotationDblSpnBx->value();
lyr.shapeOffset = QPointF( mShapeOffsetXSpnBx->value(), mShapeOffsetYSpnBx->value() );
lyr.shapeOffsetUnits = ( QgsPalLayerSettings::SizeUnit )( mShapeOffsetUnitWidget->getUnit() + 1 );
lyr.shapeOffsetUnits = mShapeOffsetUnitWidget->unit() == QgsSymbolV2::MapUnit ? QgsPalLayerSettings::MapUnits : QgsPalLayerSettings::MM;
lyr.shapeOffsetMapUnitScale = mShapeOffsetUnitWidget->getMapUnitScale();
lyr.shapeRadii = QPointF( mShapeRadiusXDbSpnBx->value(), mShapeRadiusYDbSpnBx->value() );
lyr.shapeRadiiUnits = ( QgsPalLayerSettings::SizeUnit )( mShapeRadiusUnitWidget->getUnit() + 1 );
@ -691,7 +691,7 @@ QgsPalLayerSettings QgsLabelingGui::layerSettings()
lyr.shapeFillColor = mShapeFillColorBtn->color();
lyr.shapeBorderColor = mShapeBorderColorBtn->color();
lyr.shapeBorderWidth = mShapeBorderWidthSpnBx->value();
lyr.shapeBorderWidthUnits = ( QgsPalLayerSettings::SizeUnit )( mShapeBorderWidthUnitWidget->getUnit() + 1 );
lyr.shapeBorderWidthUnits = mShapeBorderWidthUnitWidget->unit() == QgsSymbolV2::MapUnit ? QgsPalLayerSettings::MapUnits : QgsPalLayerSettings::MM;
lyr.shapeBorderWidthMapUnitScale = mShapeBorderWidthUnitWidget->getMapUnitScale();
lyr.shapeJoinStyle = mShapePenStyleCmbBx->penJoinStyle();
lyr.shapeTransparency = mShapeTranspSpinBox->value();
@ -702,11 +702,11 @@ QgsPalLayerSettings QgsLabelingGui::layerSettings()
lyr.shadowUnder = ( QgsPalLayerSettings::ShadowType )mShadowUnderCmbBx->currentIndex();
lyr.shadowOffsetAngle = mShadowOffsetAngleSpnBx->value();
lyr.shadowOffsetDist = mShadowOffsetSpnBx->value();
lyr.shadowOffsetUnits = ( QgsPalLayerSettings::SizeUnit )( mShadowOffsetUnitWidget->getUnit() + 1 );
lyr.shadowOffsetUnits = mShadowOffsetUnitWidget->unit() == QgsSymbolV2::MapUnit ? QgsPalLayerSettings::MapUnits : QgsPalLayerSettings::MM;
lyr.shadowOffsetMapUnitScale = mShadowOffsetUnitWidget->getMapUnitScale();
lyr.shadowOffsetGlobal = mShadowOffsetGlobalChkBx->isChecked();
lyr.shadowRadius = mShadowRadiusDblSpnBx->value();
lyr.shadowRadiusUnits = ( QgsPalLayerSettings::SizeUnit )( mShadowRadiusUnitWidget->getUnit() + 1 );
lyr.shadowRadiusUnits = mShadowRadiusUnitWidget->unit() == QgsSymbolV2::MapUnit ? QgsPalLayerSettings::MapUnits : QgsPalLayerSettings::MM;
lyr.shadowRadiusMapUnitScale = mShadowRadiusUnitWidget->getMapUnitScale();
lyr.shadowRadiusAlphaOnly = mShadowRadiusAlphaChkBx->isChecked();
lyr.shadowTransparency = mShadowTranspSpnBx->value();
@ -1182,7 +1182,7 @@ void QgsLabelingGui::updatePreview()
if ( mBufferDrawChkBx->isChecked() )
{
if ( mBufferUnitWidget->getUnit() == 1 ) // map units
if ( mBufferUnitWidget->unit() == QgsSymbolV2::MapUnit )
{
bufferSize = previewRatio * spinBufferSize->value() / 3.527;
}
@ -1202,7 +1202,7 @@ void QgsLabelingGui::updatePreview()
if ( mBufferDrawChkBx->isChecked() )
{
if ( mBufferUnitWidget->getUnit() == 0 ) // millimeters
if ( mBufferUnitWidget->unit() == QgsSymbolV2::MM )
{
bufferSize = spinBufferSize->value();
}

View File

@ -52,6 +52,8 @@ class CORE_EXPORT QgsSymbolV2
Pixel
};
typedef QList<OutputUnit> OutputUnitList;
enum SymbolType
{
Marker,

View File

@ -93,6 +93,44 @@ void QgsUnitSelectionWidget::setUnits( const QStringList &units, int mapUnitIdx
blockSignals( false );
}
void QgsUnitSelectionWidget::setUnits( const QgsSymbolV2::OutputUnitList &units )
{
blockSignals( true );
mUnitCombo->clear();
//instead of iterating over the units list, we specifically check for presence of unit types
//to ensure that the widget always keeps the same order for units, regardless of the
//order specified in the units list
mMapUnitIdx = -1;
if ( units.contains( QgsSymbolV2::MM ) )
{
mUnitCombo->addItem( tr( "Millimeter" ), QgsSymbolV2::MM );
}
if ( units.contains( QgsSymbolV2::Pixel ) )
{
mUnitCombo->addItem( tr( "Pixels" ), QgsSymbolV2::Pixel );
}
if ( units.contains( QgsSymbolV2::MapUnit ) )
{
mUnitCombo->addItem( tr( "Map unit" ), QgsSymbolV2::MapUnit );
}
blockSignals( false );
}
QgsSymbolV2::OutputUnit QgsUnitSelectionWidget::unit() const
{
if ( mUnitCombo->count() == 0 )
return QgsSymbolV2::Mixed;
QVariant currentData = mUnitCombo->itemData( mUnitCombo->currentIndex() );
if ( currentData.isValid() )
{
return ( QgsSymbolV2::OutputUnit ) currentData.toInt();
}
//unknown
return QgsSymbolV2::Mixed;
}
void QgsUnitSelectionWidget::setUnit( int unitIndex )
{
blockSignals( true );
@ -100,6 +138,12 @@ void QgsUnitSelectionWidget::setUnit( int unitIndex )
blockSignals( false );
}
void QgsUnitSelectionWidget::setUnit( QgsSymbolV2::OutputUnit unit )
{
int idx = mUnitCombo->findData( QVariant(( int ) unit ) );
mUnitCombo->setCurrentIndex( idx == -1 ? 0 : idx );
}
void QgsUnitSelectionWidget::showDialog()
{
QgsMapUnitScale scale = mUnitScaleDialog->getMapUnitScale();
@ -119,8 +163,13 @@ void QgsUnitSelectionWidget::showDialog()
void QgsUnitSelectionWidget::toggleUnitRangeButton()
{
mMapScaleButton->setVisible( mMapUnitIdx != -1 && mUnitCombo->currentIndex() == mMapUnitIdx );
if ( unit() != QgsSymbolV2::Mixed )
{
mMapScaleButton->setVisible( unit() == QgsSymbolV2::MapUnit );
}
else
{
mMapScaleButton->setVisible( mMapUnitIdx != -1 && mUnitCombo->currentIndex() == mMapUnitIdx );
}
}

View File

@ -23,7 +23,6 @@
#include "ui_qgsunitselectionwidget.h"
#include "ui_qgsmapunitscaledialog.h"
/** Dialog allowing the user to choose the minimum and maximum scale of an object in map units */
class GUI_EXPORT QgsMapUnitScaleDialog : public QDialog, private Ui::QgsMapUnitScaleDialog
{
@ -55,15 +54,40 @@ class GUI_EXPORT QgsUnitSelectionWidget : public QWidget, private Ui::QgsUnitSel
public:
QgsUnitSelectionWidget( QWidget* parent = 0 );
/** Sets the units which the user can choose from in the combobox. mapUnitIdx specifies which entry corresponds to the map units, or -1 if none */
/** Sets the units which the user can choose from in the combobox.
* @param units list of strings for custom units to display in the widget
* @param mapUnitIdx specifies which entry corresponds to the map units, or -1 if none
*/
void setUnits( const QStringList& units, int mapUnitIdx );
/** Sets the units which the user can choose from in the combobox. Clears any existing units.
* @param units list of valid units
* @note added in QGIS 2.9
*/
void setUnits( const QgsSymbolV2::OutputUnitList& units );
/** Get the selected unit index */
int getUnit() const { return mUnitCombo->currentIndex(); }
/** Sets the selected unit index */
/** Returns the current predefined selected unit (if applicable).
* @returns selected output unit, or QgsSymbolV2::Mixed if the widget was populated with custom unit types
* @note added in QGIS 2.9
*/
QgsSymbolV2::OutputUnit unit() const;
/** Sets the selected unit index
* @param unitIndex index of unit to set as current
*/
void setUnit( int unitIndex );
/** Sets the selected unit
* @param unit predefined unit to set as current
*/
void setUnit( QgsSymbolV2::OutputUnit unit );
/** Returns the map unit scale */
QgsMapUnitScale getMapUnitScale() const { return mUnitScaleDialog->getMapUnitScale(); }
/** Sets the map unit scale */
void setMapUnitScale( const QgsMapUnitScale& scale ) { mUnitScaleDialog->setMapUnitScale( scale ); }

View File

@ -25,10 +25,10 @@ QgsEllipseSymbolLayerV2Widget::QgsEllipseSymbolLayerV2Widget( const QgsVectorLay
{
setupUi( this );
mSymbolWidthUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mSymbolHeightUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mOutlineWidthUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mOffsetUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mSymbolWidthUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mSymbolHeightUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mOutlineWidthUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mOffsetUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
btnChangeColorFill->setAllowAlpha( true );
btnChangeColorFill->setColorDialogTitle( tr( "Select fill color" ) );
@ -213,8 +213,7 @@ void QgsEllipseSymbolLayerV2Widget::on_mSymbolWidthUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mSymbolWidthUnitWidget->getUnit() );
mLayer->setSymbolWidthUnit( unit );
mLayer->setSymbolWidthUnit( mSymbolWidthUnitWidget->unit() );
mLayer->setSymbolWidthMapUnitScale( mSymbolWidthUnitWidget->getMapUnitScale() );
emit changed();
}
@ -224,8 +223,7 @@ void QgsEllipseSymbolLayerV2Widget::on_mOutlineWidthUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mOutlineWidthUnitWidget->getUnit() );
mLayer->setOutlineWidthUnit( unit );
mLayer->setOutlineWidthUnit( mOutlineWidthUnitWidget->unit() );
mLayer->setOutlineWidthMapUnitScale( mOutlineWidthUnitWidget->getMapUnitScale() );
emit changed();
}
@ -235,8 +233,7 @@ void QgsEllipseSymbolLayerV2Widget::on_mSymbolHeightUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mSymbolHeightUnitWidget->getUnit() );
mLayer->setSymbolHeightUnit( unit );
mLayer->setSymbolHeightUnit( mSymbolHeightUnitWidget->unit() );
mLayer->setSymbolHeightMapUnitScale( mSymbolHeightUnitWidget->getMapUnitScale() );
emit changed();
}
@ -246,8 +243,7 @@ void QgsEllipseSymbolLayerV2Widget::on_mOffsetUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mOffsetUnitWidget->getUnit() );
mLayer->setOffsetUnit( unit );
mLayer->setOffsetUnit( mOffsetUnitWidget->unit() );
mLayer->setOffsetMapUnitScale( mOffsetUnitWidget->getMapUnitScale() );
emit changed();
}

View File

@ -54,7 +54,7 @@ QgsHeatmapRendererWidget::QgsHeatmapRendererWidget( QgsVectorLayer* layer, QgsSt
}
setupUi( this );
mRadiusUnitWidget->setUnits( QStringList() << tr( "Pixels" ) << tr( "Millimeter" ) << tr( "Map unit" ), 2 );
mRadiusUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::Pixel << QgsSymbolV2::MapUnit );
if ( renderer )
{
@ -78,19 +78,7 @@ QgsHeatmapRendererWidget::QgsHeatmapRendererWidget( QgsVectorLayer* layer, QgsSt
mRadiusSpinBox->setValue( mRenderer->radius() );
mRadiusSpinBox->blockSignals( false );
mRadiusUnitWidget->blockSignals( true );
switch ( mRenderer->radiusUnit() )
{
case QgsSymbolV2::MM:
mRadiusUnitWidget->setUnit( 1 );
break;
case QgsSymbolV2::MapUnit:
mRadiusUnitWidget->setUnit( 2 );
break;
case QgsSymbolV2::Pixel:
default:
mRadiusUnitWidget->setUnit( 0 );
break;
}
mRadiusUnitWidget->setUnit( mRenderer->radiusUnit() );
mRadiusUnitWidget->setMapUnitScale( mRenderer->radiusMapUnitScale() );
mRadiusUnitWidget->blockSignals( false );
mMaxSpinBox->blockSignals( true );
@ -155,22 +143,8 @@ void QgsHeatmapRendererWidget::on_mRadiusUnitWidget_changed()
{
return;
}
QgsSymbolV2::OutputUnit unit;
switch ( mRadiusUnitWidget->getUnit() )
{
case 0:
unit = QgsSymbolV2::Pixel;
break;
case 2:
unit = QgsSymbolV2::MapUnit;
break;
case 1:
default:
unit = QgsSymbolV2::MM;
break;
}
mRenderer->setRadiusUnit( unit );
mRenderer->setRadiusUnit( mRadiusUnitWidget->unit() );
mRenderer->setRadiusMapUnitScale( mRadiusUnitWidget->getMapUnitScale() );
}

View File

@ -95,9 +95,9 @@ QgsSimpleLineSymbolLayerV2Widget::QgsSimpleLineSymbolLayerV2Widget( const QgsVec
mLayer = NULL;
setupUi( this );
mPenWidthUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mOffsetUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mDashPatternUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mPenWidthUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mOffsetUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mDashPatternUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
btnChangeColor->setAllowAlpha( true );
btnChangeColor->setColorDialogTitle( tr( "Select line color" ) );
@ -250,8 +250,7 @@ void QgsSimpleLineSymbolLayerV2Widget::on_mPenWidthUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mPenWidthUnitWidget->getUnit() );
mLayer->setWidthUnit( unit );
mLayer->setWidthUnit( mPenWidthUnitWidget->unit() );
mLayer->setWidthMapUnitScale( mPenWidthUnitWidget->getMapUnitScale() );
emit changed();
}
@ -261,8 +260,7 @@ void QgsSimpleLineSymbolLayerV2Widget::on_mOffsetUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mOffsetUnitWidget->getUnit() );
mLayer->setOffsetUnit( unit );
mLayer->setOffsetUnit( mOffsetUnitWidget->unit() );
mLayer->setOffsetMapUnitScale( mOffsetUnitWidget->getMapUnitScale() );
emit changed();
}
@ -272,8 +270,7 @@ void QgsSimpleLineSymbolLayerV2Widget::on_mDashPatternUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mDashPatternUnitWidget->getUnit() );
mLayer->setCustomDashPatternUnit( unit );
mLayer->setCustomDashPatternUnit( mDashPatternUnitWidget->unit() );
mLayer->setCustomDashPatternMapUnitScale( mDashPatternUnitWidget->getMapUnitScale() );
emit changed();
}
@ -314,9 +311,9 @@ QgsSimpleMarkerSymbolLayerV2Widget::QgsSimpleMarkerSymbolLayerV2Widget( const Qg
mLayer = NULL;
setupUi( this );
mSizeUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mOffsetUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mOutlineWidthUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mSizeUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mOffsetUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mOutlineWidthUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
btnChangeColorFill->setAllowAlpha( true );
btnChangeColorFill->setColorDialogTitle( tr( "Select fill color" ) );
@ -502,8 +499,7 @@ void QgsSimpleMarkerSymbolLayerV2Widget::on_mSizeUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mSizeUnitWidget->getUnit() );
mLayer->setSizeUnit( unit );
mLayer->setSizeUnit( mSizeUnitWidget->unit() );
mLayer->setSizeMapUnitScale( mSizeUnitWidget->getMapUnitScale() );
emit changed();
}
@ -513,8 +509,7 @@ void QgsSimpleMarkerSymbolLayerV2Widget::on_mOffsetUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mOffsetUnitWidget->getUnit() );
mLayer->setOffsetUnit( unit );
mLayer->setOffsetUnit( mOffsetUnitWidget->unit() );
mLayer->setOffsetMapUnitScale( mOffsetUnitWidget->getMapUnitScale() );
emit changed();
}
@ -524,8 +519,7 @@ void QgsSimpleMarkerSymbolLayerV2Widget::on_mOutlineWidthUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mOutlineWidthUnitWidget->getUnit() );
mLayer->setOutlineWidthUnit( unit );
mLayer->setOutlineWidthUnit( mOutlineWidthUnitWidget->unit() );
mLayer->setOutlineWidthMapUnitScale( mOutlineWidthUnitWidget->getMapUnitScale() );
emit changed();
}
@ -558,8 +552,8 @@ QgsSimpleFillSymbolLayerV2Widget::QgsSimpleFillSymbolLayerV2Widget( const QgsVec
mLayer = NULL;
setupUi( this );
mBorderWidthUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mOffsetUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mBorderWidthUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mOffsetUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
btnChangeColor->setAllowAlpha( true );
btnChangeColor->setColorDialogTitle( tr( "Select fill color" ) );
@ -683,8 +677,7 @@ void QgsSimpleFillSymbolLayerV2Widget::on_mBorderWidthUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mBorderWidthUnitWidget->getUnit() );
mLayer->setBorderWidthUnit( unit );
mLayer->setBorderWidthUnit( mBorderWidthUnitWidget->unit() );
mLayer->setBorderWidthMapUnitScale( mBorderWidthUnitWidget->getMapUnitScale() );
emit changed();
}
@ -694,8 +687,7 @@ void QgsSimpleFillSymbolLayerV2Widget::on_mOffsetUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mOffsetUnitWidget->getUnit() );
mLayer->setOffsetUnit( unit );
mLayer->setOffsetUnit( mOffsetUnitWidget->unit() );
mLayer->setOffsetMapUnitScale( mOffsetUnitWidget->getMapUnitScale() );
emit changed();
}
@ -709,7 +701,7 @@ QgsGradientFillSymbolLayerV2Widget::QgsGradientFillSymbolLayerV2Widget( const Qg
mLayer = NULL;
setupUi( this );
mOffsetUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mOffsetUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
cboGradientColorRamp->setShowGradientOnly( true );
cboGradientColorRamp->populate( QgsStyleV2::defaultStyle() );
@ -1047,8 +1039,7 @@ void QgsGradientFillSymbolLayerV2Widget::on_mOffsetUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mOffsetUnitWidget->getUnit() );
mLayer->setOffsetUnit( unit );
mLayer->setOffsetUnit( mOffsetUnitWidget->unit() );
mLayer->setOffsetMapUnitScale( mOffsetUnitWidget->getMapUnitScale() );
emit changed();
}
@ -1062,8 +1053,8 @@ QgsShapeburstFillSymbolLayerV2Widget::QgsShapeburstFillSymbolLayerV2Widget( cons
mLayer = NULL;
setupUi( this );
mDistanceUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mOffsetUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mDistanceUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mOffsetUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
btnChangeColor->setAllowAlpha( true );
btnChangeColor->setColorDialogTitle( tr( "Select gradient color" ) );
@ -1248,8 +1239,7 @@ void QgsShapeburstFillSymbolLayerV2Widget::on_mDistanceUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mDistanceUnitWidget->getUnit() );
mLayer->setDistanceUnit( unit );
mLayer->setDistanceUnit( mDistanceUnitWidget->unit() );
mLayer->setDistanceMapUnitScale( mDistanceUnitWidget->getMapUnitScale() );
emit changed();
}
@ -1311,8 +1301,7 @@ void QgsShapeburstFillSymbolLayerV2Widget::on_mOffsetUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mOffsetUnitWidget->getUnit() );
mLayer->setOffsetUnit( unit );
mLayer->setOffsetUnit( mOffsetUnitWidget->unit() );
mLayer->setOffsetMapUnitScale( mOffsetUnitWidget->getMapUnitScale() );
emit changed();
}
@ -1334,9 +1323,9 @@ QgsMarkerLineSymbolLayerV2Widget::QgsMarkerLineSymbolLayerV2Widget( const QgsVec
mLayer = NULL;
setupUi( this );
mIntervalUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mOffsetUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mOffsetAlongLineUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mIntervalUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mOffsetUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mOffsetAlongLineUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
spinOffset->setClearValue( 0.0 );
@ -1458,8 +1447,7 @@ void QgsMarkerLineSymbolLayerV2Widget::on_mIntervalUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mIntervalUnitWidget->getUnit() );
mLayer->setIntervalUnit( unit );
mLayer->setIntervalUnit( mIntervalUnitWidget->unit() );
mLayer->setIntervalMapUnitScale( mIntervalUnitWidget->getMapUnitScale() );
emit changed();
}
@ -1469,8 +1457,7 @@ void QgsMarkerLineSymbolLayerV2Widget::on_mOffsetUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mOffsetUnitWidget->getUnit() );
mLayer->setOffsetUnit( unit );
mLayer->setOffsetUnit( mOffsetUnitWidget->unit() );
mLayer->setOffsetMapUnitScale( mOffsetUnitWidget->getMapUnitScale() );
emit changed();
}
@ -1480,8 +1467,7 @@ void QgsMarkerLineSymbolLayerV2Widget::on_mOffsetAlongLineUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mOffsetAlongLineUnitWidget->getUnit() );
mLayer->setOffsetAlongLineUnit( unit );
mLayer->setOffsetAlongLineUnit( mOffsetAlongLineUnitWidget->unit() );
mLayer->setOffsetAlongLineMapUnitScale( mOffsetAlongLineUnitWidget->getMapUnitScale() );
}
emit changed();
@ -1496,9 +1482,9 @@ QgsSvgMarkerSymbolLayerV2Widget::QgsSvgMarkerSymbolLayerV2Widget( const QgsVecto
mLayer = NULL;
setupUi( this );
mSizeUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mBorderWidthUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mOffsetUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mSizeUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mBorderWidthUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mOffsetUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
viewGroups->setHeaderHidden( true );
mChangeColorButton->setColorDialogTitle( tr( "Select fill color" ) );
@ -1542,47 +1528,47 @@ class QgsSvgListModel : public QAbstractListModel
{
Q_UNUSED( parent );
return mSvgFiles.count();
}
}
QVariant data( const QModelIndex & index, int role = Qt::DisplayRole ) const override
{
QString entry = mSvgFiles.at( index.row() );
if ( role == Qt::DecorationRole ) // icon
{
QPixmap pixmap;
if ( !QPixmapCache::find( entry, pixmap ) )
{
QPixmap pixmap;
if ( !QPixmapCache::find( entry, pixmap ) )
{
// render SVG file
QColor fill, outline;
double outlineWidth;
bool fillParam, outlineParam, outlineWidthParam;
QgsSvgCache::instance()->containsParams( entry, fillParam, fill, outlineParam, outline, outlineWidthParam, outlineWidth );
// render SVG file
QColor fill, outline;
double outlineWidth;
bool fillParam, outlineParam, outlineWidthParam;
QgsSvgCache::instance()->containsParams( entry, fillParam, fill, outlineParam, outline, outlineWidthParam, outlineWidth );
bool fitsInCache; // should always fit in cache at these sizes (i.e. under 559 px ^ 2, or half cache size)
const QImage& img = QgsSvgCache::instance()->svgAsImage( entry, 30.0, fill, outline, outlineWidth, 3.5 /*appr. 88 dpi*/, 1.0, fitsInCache );
pixmap = QPixmap::fromImage( img );
QPixmapCache::insert( entry, pixmap );
}
return pixmap;
}
else if ( role == Qt::UserRole || role == Qt::ToolTipRole )
{
return entry;
bool fitsInCache; // should always fit in cache at these sizes (i.e. under 559 px ^ 2, or half cache size)
const QImage& img = QgsSvgCache::instance()->svgAsImage( entry, 30.0, fill, outline, outlineWidth, 3.5 /*appr. 88 dpi*/, 1.0, fitsInCache );
pixmap = QPixmap::fromImage( img );
QPixmapCache::insert( entry, pixmap );
}
return QVariant();
return pixmap;
}
else if ( role == Qt::UserRole || role == Qt::ToolTipRole )
{
return entry;
}
protected:
QStringList mSvgFiles;
return QVariant();
}
protected:
QStringList mSvgFiles;
};
class QgsSvgGroupsModel : public QStandardItemModel
{
public:
QgsSvgGroupsModel( QObject* parent ) : QStandardItemModel( parent )
public:
QgsSvgGroupsModel( QObject* parent ) : QStandardItemModel( parent )
{
QStringList svgPaths = QgsApplication::svgPaths();
QStandardItem *parentItem = invisibleRootItem();
@ -1902,8 +1888,7 @@ void QgsSvgMarkerSymbolLayerV2Widget::on_mSizeUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mSizeUnitWidget->getUnit() );
mLayer->setSizeUnit( unit );
mLayer->setSizeUnit( mSizeUnitWidget->unit() );
mLayer->setSizeMapUnitScale( mSizeUnitWidget->getMapUnitScale() );
emit changed();
}
@ -1913,8 +1898,7 @@ void QgsSvgMarkerSymbolLayerV2Widget::on_mBorderWidthUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mBorderWidthUnitWidget->getUnit() );
mLayer->setOutlineWidthUnit( unit );
mLayer->setOutlineWidthUnit( mBorderWidthUnitWidget->unit() );
mLayer->setOutlineWidthMapUnitScale( mBorderWidthUnitWidget->getMapUnitScale() );
emit changed();
}
@ -1924,8 +1908,7 @@ void QgsSvgMarkerSymbolLayerV2Widget::on_mOffsetUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mOffsetUnitWidget->getUnit() );
mLayer->setOffsetUnit( unit );
mLayer->setOffsetUnit( mOffsetUnitWidget->unit() );
mLayer->setOffsetMapUnitScale( mOffsetUnitWidget->getMapUnitScale() );
emit changed();
}
@ -1957,8 +1940,8 @@ QgsSVGFillSymbolLayerWidget::QgsSVGFillSymbolLayerWidget( const QgsVectorLayer*
{
mLayer = 0;
setupUi( this );
mTextureWidthUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mSvgOutlineWidthUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mTextureWidthUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mSvgOutlineWidthUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mSvgTreeView->setHeaderHidden( true );
insertIcons();
@ -2193,8 +2176,7 @@ void QgsSVGFillSymbolLayerWidget::on_mTextureWidthUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mTextureWidthUnitWidget->getUnit() );
mLayer->setPatternWidthUnit( unit );
mLayer->setPatternWidthUnit( mTextureWidthUnitWidget->unit() );
mLayer->setPatternWidthMapUnitScale( mTextureWidthUnitWidget->getMapUnitScale() );
emit changed();
}
@ -2204,8 +2186,7 @@ void QgsSVGFillSymbolLayerWidget::on_mSvgOutlineWidthUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mSvgOutlineWidthUnitWidget->getUnit() );
mLayer->setSvgOutlineWidthUnit( unit );
mLayer->setSvgOutlineWidthUnit( mSvgOutlineWidthUnitWidget->unit() );
mLayer->setSvgOutlineWidthMapUnitScale( mSvgOutlineWidthUnitWidget->getMapUnitScale() );
emit changed();
}
@ -2217,8 +2198,8 @@ QgsLinePatternFillSymbolLayerWidget::QgsLinePatternFillSymbolLayerWidget( const
QgsSymbolLayerV2Widget( parent, vl ), mLayer( 0 )
{
setupUi( this );
mDistanceUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mOffsetUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mDistanceUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mOffsetUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
}
void QgsLinePatternFillSymbolLayerWidget::setSymbolLayer( QgsSymbolLayerV2* layer )
@ -2293,8 +2274,7 @@ void QgsLinePatternFillSymbolLayerWidget::on_mDistanceUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mDistanceUnitWidget->getUnit() );
mLayer->setDistanceUnit( unit );
mLayer->setDistanceUnit( mDistanceUnitWidget->unit() );
mLayer->setDistanceMapUnitScale( mDistanceUnitWidget->getMapUnitScale() );
emit changed();
}
@ -2304,8 +2284,7 @@ void QgsLinePatternFillSymbolLayerWidget::on_mOffsetUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mOffsetUnitWidget->getUnit() );
mLayer->setOffsetUnit( unit );
mLayer->setOffsetUnit( mOffsetUnitWidget->unit() );
mLayer->setOffsetMapUnitScale( mOffsetUnitWidget->getMapUnitScale() );
emit changed();
}
@ -2317,10 +2296,10 @@ QgsPointPatternFillSymbolLayerWidget::QgsPointPatternFillSymbolLayerWidget( cons
QgsSymbolLayerV2Widget( parent, vl ), mLayer( 0 )
{
setupUi( this );
mHorizontalDistanceUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mVerticalDistanceUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mHorizontalDisplacementUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mVerticalDisplacementUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mHorizontalDistanceUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mVerticalDistanceUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mHorizontalDisplacementUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mVerticalDisplacementUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
}
@ -2413,8 +2392,7 @@ void QgsPointPatternFillSymbolLayerWidget::on_mHorizontalDistanceUnitWidget_chan
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mHorizontalDistanceUnitWidget->getUnit() );
mLayer->setDistanceXUnit( unit );
mLayer->setDistanceXUnit( mHorizontalDistanceUnitWidget->unit() );
mLayer->setDistanceXMapUnitScale( mHorizontalDistanceUnitWidget->getMapUnitScale() );
emit changed();
}
@ -2424,8 +2402,7 @@ void QgsPointPatternFillSymbolLayerWidget::on_mVerticalDistanceUnitWidget_change
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mVerticalDistanceUnitWidget->getUnit() );
mLayer->setDistanceYUnit( unit );
mLayer->setDistanceYUnit( mVerticalDistanceUnitWidget->unit() );
mLayer->setDistanceYMapUnitScale( mVerticalDistanceUnitWidget->getMapUnitScale() );
emit changed();
}
@ -2435,8 +2412,7 @@ void QgsPointPatternFillSymbolLayerWidget::on_mHorizontalDisplacementUnitWidget_
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mHorizontalDisplacementUnitWidget->getUnit() );
mLayer->setDisplacementXUnit( unit );
mLayer->setDisplacementXUnit( mHorizontalDisplacementUnitWidget->unit() );
mLayer->setDisplacementXMapUnitScale( mHorizontalDisplacementUnitWidget->getMapUnitScale() );
emit changed();
}
@ -2446,8 +2422,7 @@ void QgsPointPatternFillSymbolLayerWidget::on_mVerticalDisplacementUnitWidget_ch
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mVerticalDisplacementUnitWidget->getUnit() );
mLayer->setDisplacementYUnit( unit );
mLayer->setDisplacementYUnit( mVerticalDisplacementUnitWidget->unit() );
mLayer->setDisplacementYMapUnitScale( mVerticalDisplacementUnitWidget->getMapUnitScale() );
emit changed();
}
@ -2461,8 +2436,8 @@ QgsFontMarkerSymbolLayerV2Widget::QgsFontMarkerSymbolLayerV2Widget( const QgsVec
mLayer = NULL;
setupUi( this );
mSizeUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mOffsetUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mSizeUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mOffsetUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
widgetChar = new CharacterWidget;
scrollArea->setWidget( widgetChar );
@ -2579,8 +2554,7 @@ void QgsFontMarkerSymbolLayerV2Widget::on_mSizeUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mSizeUnitWidget->getUnit() );
mLayer->setSizeUnit( unit );
mLayer->setSizeUnit( mSizeUnitWidget->unit() );
mLayer->setSizeMapUnitScale( mSizeUnitWidget->getMapUnitScale() );
emit changed();
}
@ -2590,8 +2564,7 @@ void QgsFontMarkerSymbolLayerV2Widget::on_mOffsetUnitWidget_changed()
{
if ( mLayer )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mOffsetUnitWidget->getUnit() );
mLayer->setOffsetUnit( unit );
mLayer->setOffsetUnit( mOffsetUnitWidget->unit() );
mLayer->setOffsetMapUnitScale( mOffsetUnitWidget->getMapUnitScale() );
emit changed();
}
@ -2660,8 +2633,8 @@ QgsRasterFillSymbolLayerWidget::QgsRasterFillSymbolLayerWidget( const QgsVectorL
mLayer = 0;
setupUi( this );
mWidthUnitWidget->setUnits( QStringList() << tr( "Pixels" ) << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mOffsetUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mWidthUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::Pixel << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mOffsetUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
mSpinOffsetX->setClearValue( 0.0 );
mSpinOffsetY->setClearValue( 0.0 );
@ -2730,19 +2703,7 @@ void QgsRasterFillSymbolLayerWidget::setSymbolLayer( QgsSymbolLayerV2 *layer )
mWidthSpinBox->setValue( mLayer->width() );
mWidthSpinBox->blockSignals( false );
mWidthUnitWidget->blockSignals( true );
switch ( mLayer->widthUnit() )
{
case QgsSymbolV2::MM:
mWidthUnitWidget->setUnit( 1 );
break;
case QgsSymbolV2::MapUnit:
mWidthUnitWidget->setUnit( 2 );
break;
case QgsSymbolV2::Pixel:
default:
mWidthUnitWidget->setUnit( 0 );
break;
}
mWidthUnitWidget->setUnit( mLayer->widthUnit() );
mWidthUnitWidget->setMapUnitScale( mLayer->widthMapUnitScale() );
mWidthUnitWidget->blockSignals( false );
updatePreviewImage();
@ -2858,8 +2819,7 @@ void QgsRasterFillSymbolLayerWidget::on_mOffsetUnitWidget_changed()
{
return;
}
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mOffsetUnitWidget->getUnit() );
mLayer->setOffsetUnit( unit );
mLayer->setOffsetUnit( mOffsetUnitWidget->unit() );
mLayer->setOffsetMapUnitScale( mOffsetUnitWidget->getMapUnitScale() );
emit changed();
}
@ -2879,22 +2839,7 @@ void QgsRasterFillSymbolLayerWidget::on_mWidthUnitWidget_changed()
{
return;
}
QgsSymbolV2::OutputUnit unit;
switch ( mWidthUnitWidget->getUnit() )
{
case 0:
unit = QgsSymbolV2::Pixel;
break;
case 2:
unit = QgsSymbolV2::MapUnit;
break;
case 1:
default:
unit = QgsSymbolV2::MM;
break;
}
mLayer->setWidthUnit( unit );
mLayer->setWidthUnit( mWidthUnitWidget->unit() );
mLayer->setWidthMapUnitScale( mOffsetUnitWidget->getMapUnitScale() );
emit changed();
}

View File

@ -42,7 +42,7 @@ QgsSymbolsListWidget::QgsSymbolsListWidget( QgsSymbolV2* symbol, QgsStyleV2* sty
setupUi( this );
mSymbolUnitWidget->setUnits( QStringList() << tr( "Millimeter" ) << tr( "Map unit" ), 1 );
mSymbolUnitWidget->setUnits( QgsSymbolV2::OutputUnitList() << QgsSymbolV2::MM << QgsSymbolV2::MapUnit );
btnAdvanced->hide(); // advanced button is hidden by default
if ( menu ) // show it if there is a menu pointer
@ -236,8 +236,8 @@ void QgsSymbolsListWidget::on_mSymbolUnitWidget_changed()
{
if ( mSymbol )
{
QgsSymbolV2::OutputUnit unit = static_cast<QgsSymbolV2::OutputUnit>( mSymbolUnitWidget->getUnit() );
mSymbol->setOutputUnit( unit );
mSymbol->setOutputUnit( mSymbolUnitWidget->unit() );
mSymbol->setMapUnitScale( mSymbolUnitWidget->getMapUnitScale() );
emit changed();