QgsRendererV2PropertiesDialog::QgsRendererV2PropertiesDialog( QgsVectorLayer* layer, QgsStyleV2* style, bool embedded ) : mLayer( layer ), mStyle( style ), mActiveWidget( NULL ) { setupUi( this ); // can be embedded in vector layer properties if ( embedded ) { buttonBox->hide(); layout()->setContentsMargins( 0, 0, 0, 0 ); } connect( buttonBox, SIGNAL( accepted() ), this, SLOT( onOK() ) ); connect( btnSymbolLevels, SIGNAL( clicked() ), this, SLOT( showSymbolLevels() ) ); connect( btnOldSymbology, SIGNAL( clicked() ), this, SLOT( useOldSymbology() ) ); // initialize registry's widget functions _initRendererWidgetFunctions(); QPixmap pix; QgsRendererV2Registry* reg = QgsRendererV2Registry::instance(); QStringList renderers = reg->renderersList(); foreach( QString name, renderers ) { QgsRendererV2AbstractMetadata* m = reg->rendererMetadata( name ); cboRenderers->addItem( m->icon(), m->visibleName(), name ); }
QgsRendererV2PropertiesDialog::QgsRendererV2PropertiesDialog( QgsVectorLayer* layer, QgsStyleV2* style, bool embedded, QWidget* parent ) : QDialog( parent ) , mLayer( layer ) , mStyle( style ) , mActiveWidget( nullptr ) , mPaintEffect( nullptr ) , mMapCanvas( nullptr ) { setupUi( this ); mLayerRenderingGroupBox->setSettingGroup( "layerRenderingGroupBox" ); // can be embedded in vector layer properties if ( embedded ) { buttonBox->hide(); layout()->setContentsMargins( 0, 0, 0, 0 ); } this->setDockMode( embedded ); // initialize registry's widget functions _initRendererWidgetFunctions(); QgsRendererV2Registry* reg = QgsRendererV2Registry::instance(); QStringList renderers = reg->renderersList( mLayer ); Q_FOREACH ( const QString& name, renderers ) { QgsRendererV2AbstractMetadata* m = reg->rendererMetadata( name ); cboRenderers->addItem( m->icon(), m->visibleName(), name ); }
QgsRendererPropertiesDialog::QgsRendererPropertiesDialog( QgsVectorLayer *layer, QgsStyle *style, bool embedded, QWidget *parent ) : QDialog( parent ) , mLayer( layer ) , mStyle( style ) { setupUi( this ); mLayerRenderingGroupBox->setSettingGroup( QStringLiteral( "layerRenderingGroupBox" ) ); // can be embedded in vector layer properties if ( embedded ) { buttonBox->hide(); layout()->setContentsMargins( 0, 0, 0, 0 ); } // initialize registry's widget functions _initRendererWidgetFunctions(); QgsRendererRegistry *reg = QgsApplication::rendererRegistry(); QStringList renderers = reg->renderersList( mLayer ); Q_FOREACH ( const QString &name, renderers ) { QgsRendererAbstractMetadata *m = reg->rendererMetadata( name ); cboRenderers->addItem( m->icon(), m->visibleName(), name ); }
QgsRendererRasterPropertiesWidget::QgsRendererRasterPropertiesWidget( QgsMapLayer *layer, QgsMapCanvas *canvas, QWidget *parent ) : QgsMapLayerConfigWidget( layer, canvas, parent ) { mRasterLayer = qobject_cast<QgsRasterLayer *>( layer ); if ( !( mRasterLayer && mRasterLayer->isValid() ) ) return; setupUi( this ); connect( mResetColorRenderingBtn, &QToolButton::clicked, this, &QgsRendererRasterPropertiesWidget::mResetColorRenderingBtn_clicked ); _initRendererWidgetFunctions(); mZoomedInResamplingComboBox->insertItem( 0, tr( "Nearest neighbour" ) ); mZoomedInResamplingComboBox->insertItem( 1, tr( "Bilinear" ) ); mZoomedInResamplingComboBox->insertItem( 2, tr( "Cubic" ) ); mZoomedOutResamplingComboBox->insertItem( 0, tr( "Nearest neighbour" ) ); mZoomedOutResamplingComboBox->insertItem( 1, tr( "Average" ) ); connect( cboRenderers, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsRendererRasterPropertiesWidget::rendererChanged ); connect( mSliderBrightness, &QAbstractSlider::valueChanged, mBrightnessSpinBox, &QSpinBox::setValue ); connect( mBrightnessSpinBox, static_cast < void ( QSpinBox::* )( int ) > ( &QSpinBox::valueChanged ), mSliderBrightness, &QAbstractSlider::setValue ); connect( mSliderContrast, &QAbstractSlider::valueChanged, mContrastSpinBox, &QSpinBox::setValue ); connect( mContrastSpinBox, static_cast < void ( QSpinBox::* )( int ) > ( &QSpinBox::valueChanged ), mSliderContrast, &QAbstractSlider::setValue ); // Connect saturation slider and spin box connect( sliderSaturation, &QAbstractSlider::valueChanged, spinBoxSaturation, &QSpinBox::setValue ); connect( spinBoxSaturation, static_cast < void ( QSpinBox::* )( int ) > ( &QSpinBox::valueChanged ), sliderSaturation, &QAbstractSlider::setValue ); // Connect colorize strength slider and spin box connect( sliderColorizeStrength, &QAbstractSlider::valueChanged, spinColorizeStrength, &QSpinBox::setValue ); connect( spinColorizeStrength, static_cast < void ( QSpinBox::* )( int ) > ( &QSpinBox::valueChanged ), sliderColorizeStrength, &QAbstractSlider::setValue ); // enable or disable saturation slider and spin box depending on grayscale combo choice connect( comboGrayscale, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsRendererRasterPropertiesWidget::toggleSaturationControls ); // enable or disable colorize colorbutton with colorize checkbox connect( mColorizeCheck, &QAbstractButton::toggled, this, &QgsRendererRasterPropertiesWidget::toggleColorizeControls ); // Just connect the spin boxes because the sliders update the spinners connect( mBrightnessSpinBox, static_cast < void ( QSpinBox::* )( int ) > ( &QSpinBox::valueChanged ), this, &QgsPanelWidget::widgetChanged ); connect( mContrastSpinBox, static_cast < void ( QSpinBox::* )( int ) > ( &QSpinBox::valueChanged ), this, &QgsPanelWidget::widgetChanged ); connect( spinBoxSaturation, static_cast < void ( QSpinBox::* )( int ) > ( &QSpinBox::valueChanged ), this, &QgsPanelWidget::widgetChanged ); connect( spinColorizeStrength, static_cast < void ( QSpinBox::* )( int ) > ( &QSpinBox::valueChanged ), this, &QgsPanelWidget::widgetChanged ); connect( btnColorizeColor, &QgsColorButton::colorChanged, this, &QgsPanelWidget::widgetChanged ); connect( mBlendModeComboBox, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsPanelWidget::widgetChanged ); connect( mZoomedInResamplingComboBox, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsPanelWidget::widgetChanged ); connect( mZoomedOutResamplingComboBox, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsPanelWidget::widgetChanged ); connect( mMaximumOversamplingSpinBox, static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this, &QgsPanelWidget::widgetChanged ); // finally sync to the layer - even though some actions may emit widgetChanged signal, // this is not a problem - nobody is listening to our signals yet syncToLayer( mRasterLayer ); connect( mRasterLayer, &QgsMapLayer::styleChanged, this, &QgsRendererRasterPropertiesWidget::refreshAfterStyleChanged ); }
QgsRendererRasterPropertiesWidget::QgsRendererRasterPropertiesWidget( QgsMapLayer *layer, QgsMapCanvas* canvas, QWidget *parent ) : QgsMapLayerConfigWidget( layer, canvas, parent ) , mRendererWidget( nullptr ) { mRasterLayer = qobject_cast<QgsRasterLayer*>( layer ); if ( !mRasterLayer ) return; setupUi( this ); _initRendererWidgetFunctions(); mZoomedInResamplingComboBox->insertItem( 0, tr( "Nearest neighbour" ) ); mZoomedInResamplingComboBox->insertItem( 1, tr( "Bilinear" ) ); mZoomedInResamplingComboBox->insertItem( 2, tr( "Cubic" ) ); mZoomedOutResamplingComboBox->insertItem( 0, tr( "Nearest neighbour" ) ); mZoomedOutResamplingComboBox->insertItem( 1, tr( "Average" ) ); connect( cboRenderers, SIGNAL( currentIndexChanged( int ) ), this, SLOT( rendererChanged() ) ); connect( mSliderBrightness, SIGNAL( valueChanged( int ) ), mBrightnessSpinBox, SLOT( setValue( int ) ) ); connect( mBrightnessSpinBox, SIGNAL( valueChanged( int ) ), mSliderBrightness, SLOT( setValue( int ) ) ); connect( mSliderContrast, SIGNAL( valueChanged( int ) ), mContrastSpinBox, SLOT( setValue( int ) ) ); connect( mContrastSpinBox, SIGNAL( valueChanged( int ) ), mSliderContrast, SLOT( setValue( int ) ) ); // Connect saturation slider and spin box connect( sliderSaturation, SIGNAL( valueChanged( int ) ), spinBoxSaturation, SLOT( setValue( int ) ) ); connect( spinBoxSaturation, SIGNAL( valueChanged( int ) ), sliderSaturation, SLOT( setValue( int ) ) ); // Connect colorize strength slider and spin box connect( sliderColorizeStrength, SIGNAL( valueChanged( int ) ), spinColorizeStrength, SLOT( setValue( int ) ) ); connect( spinColorizeStrength, SIGNAL( valueChanged( int ) ), sliderColorizeStrength, SLOT( setValue( int ) ) ); // enable or disable saturation slider and spin box depending on grayscale combo choice connect( comboGrayscale, SIGNAL( currentIndexChanged( int ) ), this, SLOT( toggleSaturationControls( int ) ) ); // enable or disable colorize colorbutton with colorize checkbox connect( mColorizeCheck, SIGNAL( toggled( bool ) ), this, SLOT( toggleColorizeControls( bool ) ) ); // Just connect the spin boxes because the sliders update the spinners connect( mBrightnessSpinBox, SIGNAL( valueChanged( int ) ), this, SIGNAL( widgetChanged() ) ); connect( mContrastSpinBox, SIGNAL( valueChanged( int ) ), this, SIGNAL( widgetChanged() ) ); connect( spinBoxSaturation, SIGNAL( valueChanged( int ) ), this, SIGNAL( widgetChanged() ) ); connect( spinColorizeStrength, SIGNAL( valueChanged( int ) ), this, SIGNAL( widgetChanged() ) ); connect( mBlendModeComboBox, SIGNAL( currentIndexChanged( int ) ), this, SIGNAL( widgetChanged() ) ); connect( mZoomedInResamplingComboBox, SIGNAL( currentIndexChanged( int ) ), this, SIGNAL( widgetChanged() ) ); connect( mZoomedOutResamplingComboBox, SIGNAL( currentIndexChanged( int ) ), this, SIGNAL( widgetChanged() ) ); connect( mMaximumOversamplingSpinBox, SIGNAL( valueChanged( double ) ), this, SIGNAL( widgetChanged() ) ); // finally sync to the layer - even though some actions may emit widgetChanged signal, // this is not a problem - nobody is listening to our signals yet syncToLayer( mRasterLayer ); }
QgsRendererV2PropertiesDialog::QgsRendererV2PropertiesDialog( QgsVectorLayer* layer, QgsStyleV2* style, bool embedded ) : mLayer( layer ) , mStyle( style ) , mActiveWidget( nullptr ) , mPaintEffect( nullptr ) , mMapCanvas( nullptr ) { setupUi( this ); // can be embedded in vector layer properties if ( embedded ) { buttonBox->hide(); layout()->setContentsMargins( 0, 0, 0, 0 ); } connect( buttonBox, SIGNAL( accepted() ), this, SLOT( onOK() ) ); // initialize registry's widget functions _initRendererWidgetFunctions(); // Blend mode mBlendModeComboBox->setBlendMode( mLayer->blendMode() ); // Feature blend mode mFeatureBlendComboBox->setBlendMode( mLayer->featureBlendMode() ); // Layer transparency mLayerTransparencySlider->setValue( mLayer->layerTransparency() ); mLayerTransparencySpnBx->setValue( mLayer->layerTransparency() ); // connect layer transparency slider and spin box connect( mLayerTransparencySlider, SIGNAL( valueChanged( int ) ), mLayerTransparencySpnBx, SLOT( setValue( int ) ) ); connect( mLayerTransparencySpnBx, SIGNAL( valueChanged( int ) ), mLayerTransparencySlider, SLOT( setValue( int ) ) ); //paint effect widget if ( mLayer->rendererV2() ) { if ( mLayer->rendererV2()->paintEffect() ) { mPaintEffect = mLayer->rendererV2()->paintEffect()->clone(); mEffectWidget->setPaintEffect( mPaintEffect ); } mOrderBy = mLayer->rendererV2()->orderBy(); } QgsRendererV2Registry* reg = QgsRendererV2Registry::instance(); QStringList renderers = reg->renderersList(); Q_FOREACH ( const QString& name, renderers ) { QgsRendererV2AbstractMetadata* m = reg->rendererMetadata( name ); cboRenderers->addItem( m->icon(), m->visibleName(), name ); }
QgsRendererRasterPropertiesWidget::QgsRendererRasterPropertiesWidget( QgsMapCanvas* canvas, QWidget *parent ) : QWidget( parent ) , mRasterLayer( nullptr ) , mMapCanvas( canvas ) , mRendererWidget( nullptr ) { setupUi( this ); _initRendererWidgetFunctions(); connect( cboRenderers, SIGNAL( currentIndexChanged( int ) ), this, SLOT( rendererChanged() ) ); connect( mSliderBrightness, SIGNAL( valueChanged( int ) ), mBrightnessSpinBox, SLOT( setValue( int ) ) ); connect( mBrightnessSpinBox, SIGNAL( valueChanged( int ) ), mSliderBrightness, SLOT( setValue( int ) ) ); // Just connect the spin box because the slidder updates the spinner connect( mBrightnessSpinBox, SIGNAL( valueChanged( int ) ), this, SIGNAL( widgetChanged() ) ); connect( mSliderContrast, SIGNAL( valueChanged( int ) ), mContrastSpinBox, SLOT( setValue( int ) ) ); connect( mContrastSpinBox, SIGNAL( valueChanged( int ) ), mSliderContrast, SLOT( setValue( int ) ) ); // Just connect the spin box because the slidder updates the spinner connect( mContrastSpinBox, SIGNAL( valueChanged( int ) ), this, SIGNAL( widgetChanged() ) ); // Connect saturation slider and spin box connect( sliderSaturation, SIGNAL( valueChanged( int ) ), spinBoxSaturation, SLOT( setValue( int ) ) ); connect( spinBoxSaturation, SIGNAL( valueChanged( int ) ), sliderSaturation, SLOT( setValue( int ) ) ); // Just connect the spin box because the slidder updates the spinner connect( spinBoxSaturation, SIGNAL( valueChanged( int ) ), this, SIGNAL( widgetChanged() ) ); // Connect colorize strength slider and spin box connect( sliderColorizeStrength, SIGNAL( valueChanged( int ) ), spinColorizeStrength, SLOT( setValue( int ) ) ); connect( spinColorizeStrength, SIGNAL( valueChanged( int ) ), sliderColorizeStrength, SLOT( setValue( int ) ) ); // Connect colorize strength slider and spin box connect( spinColorizeStrength, SIGNAL( valueChanged( int ) ), this, SIGNAL( widgetChanged() ) ); // enable or disable saturation slider and spin box depending on grayscale combo choice connect( comboGrayscale, SIGNAL( currentIndexChanged( int ) ), this, SLOT( toggleSaturationControls( int ) ) ); connect( mBlendModeComboBox, SIGNAL( currentIndexChanged( int ) ), this, SIGNAL( widgetChanged() ) ); // enable or disable colorize colorbutton with colorize checkbox connect( mColorizeCheck, SIGNAL( toggled( bool ) ), this, SLOT( toggleColorizeControls( bool ) ) ); }