Esempio n. 1
0
void QgsLabelingWidget::adaptToLayer()
{
  if ( !mLayer )
    return;

  whileBlocking( mLabelModeComboBox )->setCurrentIndex( -1 );

  // pick the right mode of the layer
  if ( mLayer->labelsEnabled() && mLayer->labeling()->type() == QLatin1String( "rule-based" ) )
  {
    mLabelModeComboBox->setCurrentIndex( 2 );
  }
  else if ( mLayer->labelsEnabled() && mLayer->labeling()->type() == QLatin1String( "simple" ) )
  {
    QgsPalLayerSettings lyr = mLayer->labeling()->settings();

    mLabelModeComboBox->setCurrentIndex( lyr.drawLabels ? 1 : 3 );
  }
  else
  {
    mLabelModeComboBox->setCurrentIndex( 0 );
  }

  QgsLabelingGui *lg = qobject_cast<QgsLabelingGui *>( mWidget );
  if ( lg )
  {
    lg->updateUi();
  }
}