setExpression returns void

This commit is contained in:
Denis Rouzaud 2014-06-23 08:58:28 +02:00
parent daefe3e8ee
commit c80bae57be
4 changed files with 9 additions and 11 deletions

View File

@ -36,9 +36,8 @@ class QgsFieldModel : QAbstractItemModel
/** /**
* @brief setExpression sets a single expression to be added after the fields at the end of the model * @brief setExpression sets a single expression to be added after the fields at the end of the model
* @return the model index of the newly added expression
*/ */
QModelIndex setExpression( const QString &expression ); void setExpression( const QString &expression );
//! remove expressions from the model //! remove expressions from the model
void removeExpression(); void removeExpression();

View File

@ -152,7 +152,8 @@ void QgsFieldExpressionWidget::setField( const QString &fieldName )
if ( !idx.isValid() ) if ( !idx.isValid() )
{ {
// new expression // new expression
idx = mFieldProxyModel->sourceFieldModel()->setExpression( fieldName ); mFieldProxyModel->sourceFieldModel()->setExpression( fieldName );
idx = mFieldProxyModel->sourceFieldModel()->indexFromName( fieldName );
} }
} }
QModelIndex proxyIndex = mFieldProxyModel->mapFromSource( idx ); QModelIndex proxyIndex = mFieldProxyModel->mapFromSource( idx );
@ -189,7 +190,8 @@ void QgsFieldExpressionWidget::expressionEditingFinished()
{ {
QgsDebugMsg( "Editing finsihed" ); QgsDebugMsg( "Editing finsihed" );
const QString expression = mCombo->lineEdit()->text(); const QString expression = mCombo->lineEdit()->text();
QModelIndex idx = mFieldProxyModel->sourceFieldModel()->setExpression( expression ); mFieldProxyModel->sourceFieldModel()->setExpression( expression );
QModelIndex idx = mFieldProxyModel->sourceFieldModel()->indexFromName( expression );
QModelIndex proxyIndex = mFieldProxyModel->mapFromSource( idx ); QModelIndex proxyIndex = mFieldProxyModel->mapFromSource( idx );
mCombo->setCurrentIndex( proxyIndex.row() ); mCombo->setCurrentIndex( proxyIndex.row() );
currentFieldChanged(); currentFieldChanged();

View File

@ -110,20 +110,18 @@ void QgsFieldModel::setAllowExpression( bool allowExpression )
} }
} }
QModelIndex QgsFieldModel::setExpression( const QString &expression ) void QgsFieldModel::setExpression( const QString &expression )
{ {
if ( !mAllowExpression ) if ( !mAllowExpression )
return QModelIndex(); return;
QModelIndex idx = indexFromName( expression ); QModelIndex idx = indexFromName( expression );
if ( idx.isValid() ) if ( idx.isValid() )
return idx; return;
beginResetModel(); beginResetModel();
mExpression = QList<QString>() << expression; mExpression = QList<QString>() << expression;
endResetModel(); endResetModel();
return index( mFields.count() , 0 );
} }
void QgsFieldModel::removeExpression() void QgsFieldModel::removeExpression()

View File

@ -58,9 +58,8 @@ class GUI_EXPORT QgsFieldModel : public QAbstractItemModel
/** /**
* @brief setExpression sets a single expression to be added after the fields at the end of the model * @brief setExpression sets a single expression to be added after the fields at the end of the model
* @return the model index of the newly added expression
*/ */
QModelIndex setExpression( const QString &expression ); void setExpression( const QString &expression );
//! remove expressions from the model //! remove expressions from the model
void removeExpression(); void removeExpression();