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 ); }
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 ); }
static bool _initRenderer( QString name, QgsRendererV2WidgetFunc f, QString iconName = QString() ) { QgsRendererV2Registry* reg = QgsRendererV2Registry::instance(); QgsRendererV2AbstractMetadata* am = reg->rendererMetadata( name ); if ( am == NULL ) return false; QgsRendererV2Metadata* m = dynamic_cast<QgsRendererV2Metadata*>( am ); if ( m == NULL ) return false; m->setWidgetFunction( f ); if ( !iconName.isEmpty() ) { QString iconPath = QgsApplication::defaultThemePath() + iconName; QPixmap pix; if ( pix.load( iconPath, "png" ) ) m->setIcon( pix ); } QgsDebugMsg( "Set for " + name ); return true; }