Fix widget to wrapper converter code

Fixes #10337
This commit is contained in:
Matthias Kuhn 2014-05-25 17:40:53 +02:00
parent 2c51dcb7e9
commit 2700bcd5dd
2 changed files with 2 additions and 8 deletions

View File

@ -37,7 +37,7 @@ QgsField QgsEditorWidgetWrapper::field()
QgsEditorWidgetWrapper* QgsEditorWidgetWrapper::fromWidget( QWidget* widget ) QgsEditorWidgetWrapper* QgsEditorWidgetWrapper::fromWidget( QWidget* widget )
{ {
return widget->property( "EWV2Wrapper" ).value<QgsEditorWidgetWrapper*>(); return qobject_cast<QgsEditorWidgetWrapper*>( widget->property( "EWV2Wrapper" ).value<QgsWidgetWrapper*>() );
} }
void QgsEditorWidgetWrapper::setFeature( const QgsFeature& feature ) void QgsEditorWidgetWrapper::setFeature( const QgsFeature& feature )

View File

@ -31,7 +31,7 @@ QWidget* QgsWidgetWrapper::widget()
if ( !mWidget ) if ( !mWidget )
{ {
mWidget = createWidget( mParent ); mWidget = createWidget( mParent );
mWidget->setProperty( "EWV2Wrapper", QVariant::fromValue( this ) ); mWidget->setProperty( "EWV2Wrapper", QVariant::fromValue<QgsWidgetWrapper*>( this ) );
initWidget( mWidget ); initWidget( mWidget );
} }
@ -41,12 +41,6 @@ QWidget* QgsWidgetWrapper::widget()
void QgsWidgetWrapper::setConfig( const QgsEditorWidgetConfig& config ) void QgsWidgetWrapper::setConfig( const QgsEditorWidgetConfig& config )
{ {
mConfig = config; mConfig = config;
// If an editor widget was supplied, we can initialize this now
if ( mWidget )
{
mWidget->setProperty( "EWV2Wrapper", QVariant::fromValue( this ) );
initWidget( mWidget );
}
} }
void QgsWidgetWrapper::setContext( const QgsAttributeEditorContext& context ) void QgsWidgetWrapper::setContext( const QgsAttributeEditorContext& context )