Quintiq file version 2.0
|
#parent: #root
|
Method ReadValue (NamedValueTree nvt, NamedValue nv) as shadow[LibSE_Setting] id:Method_DialogSettingsEngine_ReadValue
|
{
|
#keys: '[139164.3.1812419430]'
|
Body:
|
[*
|
value := nv.GetValue();
|
|
handle_metadata := nvt.GetHandle( LibSE_SettingsContainer::Handle_Metadata() );
|
handle_default_value := nvt.GetHandle( LibSE_SettingsContainer::Handle_DefaultValue() );
|
default_value := guard( nv.Child( handle_metadata ).Child( handle_default_value ), null( NamedValue ) );
|
|
new := null( shadow[LibSE_Setting] );
|
if( value.istype( BinaryValue ) )
|
{
|
setting := this.Data().Setting( relnew,
|
LibSE_SettingBinaryValue,
|
Type := "BinaryValue",
|
Value := nv.GetValueAsBinaryValue() );
|
new := setting;
|
}
|
else if( value.istype( Boolean ) )
|
{
|
setting := this.Data().Setting( relnew,
|
LibSE_SettingBoolean,
|
Type := "Boolean",
|
Value := nv.GetValueAsBoolean() );
|
if( not isnull( default_value ) )
|
{
|
setting.Default( default_value.GetValueAsBoolean() );
|
}
|
new := setting;
|
}
|
else if( value.istype( Char ) )
|
{
|
setting := this.Data().Setting( relnew,
|
LibSE_SettingChar,
|
Type := "Char",
|
Value := nv.GetValueAsChar() );
|
if( not isnull( default_value ) )
|
{
|
setting.Default( default_value.GetValueAsChar() );
|
}
|
new := setting;
|
}
|
else if( value.istype( Date ) )
|
{
|
setting := this.Data().Setting( relnew,
|
LibSE_SettingDate,
|
Type := "Date",
|
Value := nv.GetValueAsDate() );
|
if( not isnull( default_value ) )
|
{
|
setting.Default( default_value.GetValueAsDate() );
|
}
|
new := setting;
|
}
|
else if( value.istype( DateTime ) )
|
{
|
setting := this.Data().Setting( relnew,
|
LibSE_SettingDateTime,
|
Type := "DateTime",
|
Value := nv.GetValueAsDateTime() );
|
if( not isnull( default_value ) )
|
{
|
setting.Default( default_value.GetValueAsDateTime() );
|
}
|
new := setting;
|
}
|
else if( value.istype( Duration ) )
|
{
|
setting := this.Data().Setting( relnew,
|
LibSE_SettingDuration,
|
Type := "Duration",
|
Value := nv.GetValueAsDuration() );
|
if( not isnull( default_value ) )
|
{
|
setting.Default( default_value.GetValueAsDuration() );
|
}
|
new := setting;
|
}
|
else if( value.istype( Key ) )
|
{
|
setting := this.Data().Setting( relnew,
|
LibSE_SettingKey,
|
Type := "Key",
|
Value := nv.GetValueAsKey() );
|
if( not isnull( default_value ) )
|
{
|
setting.Default( default_value.GetValueAsKey() );
|
}
|
new := setting;
|
}
|
else if( value.istype( Number ) )
|
{
|
setting := this.Data().Setting( relnew,
|
LibSE_SettingNumber,
|
Type := "Number",
|
Value := nv.GetValueAsNumber() );
|
if( not isnull( default_value ) )
|
{
|
setting.Default( default_value.GetValueAsNumber() );
|
}
|
new := setting;
|
}
|
else if( value.istype( Real ) )
|
{
|
setting := this.Data().Setting( relnew,
|
LibSE_SettingReal,
|
Type := "Real",
|
Value := nv.GetValueAsReal() );
|
if( not isnull( default_value ) )
|
{
|
setting.Default( default_value.GetValueAsReal() );
|
}
|
new := setting;
|
}
|
else if( value.istype( String ) )
|
{
|
setting := this.Data().Setting( relnew,
|
LibSE_SettingString,
|
Type := "String",
|
Value := nv.GetValueAsString() );
|
if( not isnull( default_value ) )
|
{
|
setting.Default( default_value.GetValueAsString() );
|
}
|
new := setting;
|
}
|
|
return new;
|
*]
|
}
|