33     QGridLayout *layout = 
new QGridLayout( 
this );
 
   34     QLabel *label = 
new QLabel( tr( 
"The 2.5D renderer only can be used with polygon layers. \n" 
   35                                     "'%1' is not a polygon layer and cannot be rendered in 2.5D." )
 
   36                                 .arg( layer->
name() ), 
this );
 
   37     layout->addWidget( label );
 
   42   this->layout()->setContentsMargins( 0, 0, 0, 0 );
 
   44   mAngleWidget->setClearValue( 0 );
 
   45   mWallColorButton->setColorDialogTitle( tr( 
"Select Wall Color" ) );
 
   46   mWallColorButton->setAllowOpacity( 
true );
 
   47   mWallColorButton->setContext( QStringLiteral( 
"symbology" ) );
 
   48   mRoofColorButton->setColorDialogTitle( tr( 
"Select Roof Color" ) );
 
   49   mRoofColorButton->setAllowOpacity( 
true );
 
   50   mRoofColorButton->setContext( QStringLiteral( 
"symbology" ) );
 
   51   mShadowColorButton->setColorDialogTitle( tr( 
"Select Shadow Color" ) );
 
   52   mShadowColorButton->setAllowOpacity( 
true );
 
   53   mShadowColorButton->setContext( QStringLiteral( 
"symbology" ) );
 
   60   mHeightWidget->setLayer( layer );
 
   63   QVariant height = scope->
variable( QStringLiteral( 
"qgis_25d_height" ) );
 
   64   QVariant 
angle = scope->
variable( QStringLiteral( 
"qgis_25d_angle" ) );
 
   67   mHeightWidget->setField( height.isNull() ? QStringLiteral( 
"10" ) : height.toString() );
 
   68   mAngleWidget->setValue( 
angle.isNull() ? 70 : 
angle.toDouble() );
 
   69   mWallColorButton->setColor( mRenderer->
wallColor() );
 
   70   mRoofColorButton->setColor( mRenderer->
roofColor() );
 
   71   mShadowColorButton->setColor( mRenderer->
shadowColor() );
 
   72   mShadowEnabledWidget->setChecked( mRenderer->
shadowEnabled() );
 
   73   mShadowSizeWidget->setValue( mRenderer->
shadowSpread() );
 
   76   connect( mAngleWidget, 
static_cast < void ( QSpinBox::* )( 
int ) 
> ( &QSpinBox::valueChanged ), 
this, &Qgs25DRendererWidget::updateRenderer );
 
   81   connect( mShadowEnabledWidget, &QGroupBox::toggled, 
this, &Qgs25DRendererWidget::updateRenderer );
 
   82   connect( mShadowSizeWidget, 
static_cast < void ( QDoubleSpinBox::* )( 
double ) 
> ( &QDoubleSpinBox::valueChanged ), 
this, &Qgs25DRendererWidget::updateRenderer );
 
   83   connect( mWallExpositionShading, &QAbstractButton::toggled, 
this, &Qgs25DRendererWidget::updateRenderer );
 
   91 void Qgs25DRendererWidget::updateRenderer()
 
  102 void Qgs25DRendererWidget::apply()