| Quintiq file version 2.0 | 
| #parent: #root | 
| Method UpdateValueType | 
| { | 
|   TextBody: | 
|   [* | 
|     // Needed for the check below | 
|     Transaction::Transaction().Propagate( attribute( TG_UIField, AttributeBinding ) ); | 
|      | 
|     objectattribute := minselect( DomainModel::Domain(), ModeledAttributes.Elements, mattr, | 
|                                   mattr.Name() = this.AttributeBinding(), | 
|                                   not exists( this, TG_UIDialog.TG_UIDialogToUIObject.TG_UIObject, uio, | 
|                                               uio.Name() = mattr.ObjectDefinition().Name() ) ); | 
|      | 
|     if( not isnull( objectattribute ) ) | 
|     { | 
|       uiobject := select( this, TG_UIDialog.TG_TestGenerator.TG_UIObject, uio, | 
|                           uio.Name() = objectattribute.ObjectDefinition().Name() ); | 
|        | 
|       if( isnull( uiobject ) ) | 
|       { | 
|         TG_UIObject::FindOrCreate( this.TG_UIDialog().TG_TestGenerator(), | 
|                                    objectattribute.ObjectDefinition().Name(), | 
|                                    objectattribute.ObjectDefinition().Name() ); | 
|       } | 
|        | 
|       this.TG_UIDialog().AddUIObject( uiobject ); | 
|       this.ValueType( objectattribute.ValueType().Name() ); | 
|     } | 
|     else | 
|     { | 
|       // For most cases, these are 'relation' binding, e.g. from selection component. | 
|       this.ValueType( 'String' ); // TODO | 
|     } | 
|   *] | 
| } |