void QgsRuleBasedRendererV2Widget::addRule() { QgsSymbolV2* s = QgsSymbolV2::defaultSymbol( mLayer->geometryType() ); QgsRuleBasedRendererV2::Rule* newrule = new QgsRuleBasedRendererV2::Rule( s ); QgsRendererRulePropsDialog dlg( newrule, mLayer, mStyle, this ); if ( dlg.exec() ) { QgsRuleBasedRendererV2::Rule* current = currentRule(); if ( current ) { // add after this rule QModelIndex currentIndex = viewRules->selectionModel()->currentIndex(); mModel->insertRule( currentIndex.parent(), currentIndex.row() + 1, newrule ); } else { // append to root rule int rows = mModel->rowCount(); mModel->insertRule( QModelIndex(), rows, newrule ); } mModel->clearFeatureCounts(); } else { delete newrule; } }
void QgsRuleBasedLabelingWidget::addRule() { QgsRuleBasedLabeling::Rule* newrule = new QgsRuleBasedLabeling::Rule( new QgsPalLayerSettings ); QgsLabelingRulePropsDialog dlg( newrule, mLayer, this, mCanvas ); if ( dlg.exec() ) { QgsRuleBasedLabeling::Rule* current = currentRule(); if ( current ) { // add after this rule QModelIndex currentIndex = viewRules->selectionModel()->currentIndex(); mModel->insertRule( currentIndex.parent(), currentIndex.row() + 1, newrule ); } else { // append to root rule int rows = mModel->rowCount(); mModel->insertRule( QModelIndex(), rows, newrule ); } } else { delete newrule; } }
void QgsRuleBasedLabelingWidget::addNewRule( QgsRuleBasedLabeling::Rule* newrule ) { if ( currentRule() ) { // add after this rule QModelIndex currentIndex = viewRules->selectionModel()->currentIndex(); mModel->insertRule( currentIndex.parent(), currentIndex.row() + 1, newrule ); viewRules->selectionModel()->select( mModel->index( currentIndex.row() + 1, 0 ), QItemSelectionModel::ClearAndSelect ); } else { // append to root rule int rows = mModel->rowCount(); mModel->insertRule( QModelIndex(), rows, newrule ); viewRules->selectionModel()->select( mModel->index( rows, 0 ), QItemSelectionModel::ClearAndSelect ); } }
void QgsRuleBasedRendererWidget::addRule() { QgsSymbol *s = QgsSymbol::defaultSymbol( mLayer->geometryType() ); QgsRuleBasedRenderer::Rule *newrule = new QgsRuleBasedRenderer::Rule( s ); QgsRuleBasedRenderer::Rule *current = currentRule(); if ( current ) { // add after this rule QModelIndex currentIndex = viewRules->selectionModel()->currentIndex(); mModel->insertRule( currentIndex.parent(), currentIndex.row() + 1, newrule ); QModelIndex newindex = mModel->index( currentIndex.row() + 1, 0, currentIndex.parent() ); viewRules->selectionModel()->setCurrentIndex( newindex, QItemSelectionModel::ClearAndSelect ); } else { // append to root rule int rows = mModel->rowCount(); mModel->insertRule( QModelIndex(), rows, newrule ); QModelIndex newindex = mModel->index( rows, 0 ); viewRules->selectionModel()->setCurrentIndex( newindex, QItemSelectionModel::ClearAndSelect ); } editRule(); }
void QgsRuleBasedLabelingWidget::addRule() { QgsRuleBasedLabeling::Rule *newrule = new QgsRuleBasedLabeling::Rule( new QgsPalLayerSettings ); QgsRuleBasedLabeling::Rule *current = currentRule(); if ( current ) { // add after this rule QModelIndex currentIndex = viewRules->selectionModel()->currentIndex(); mModel->insertRule( currentIndex.parent(), currentIndex.row() + 1, newrule ); QModelIndex newindex = mModel->index( currentIndex.row() + 1, 0, currentIndex.parent() ); viewRules->selectionModel()->setCurrentIndex( newindex, QItemSelectionModel::ClearAndSelect ); } else { // append to root rule int rows = mModel->rowCount(); mModel->insertRule( QModelIndex(), rows, newrule ); QModelIndex newindex = mModel->index( rows, 0 ); viewRules->selectionModel()->setCurrentIndex( newindex, QItemSelectionModel::ClearAndSelect ); } editRule(); }