Quintiq file version 2.0
|
#parent: #root
|
Method CreateForSnapshot (
|
LibOpt_Snapshot snapshot,
|
String path,
|
shadow[LibOpt_UIOwner] owner
|
) id:Method_LibOpt_FormSnapshotColumns_CreateForSnapshot
|
{
|
#keys: '[139164.4.767485964]'
|
Body:
|
[*
|
type_name := typeofexpression( snapshot ).Name()
|
|
nvt := NamedValueTreeIO::Export( snapshot );
|
root := nvt.Root().Child( nvt.GetHandle( type_name ) );
|
|
tv := typeofexpression( snapshot ).TypeView();
|
traverse( ApplicationScope.TypeInterface( typeofexpression( snapshot ) ), Attributes, att,
|
not att.IsSystem() )
|
{
|
child := guard( root.Child( nvt.GetHandle( att.Name() ) ), null( NamedValue ) );
|
value := '';
|
type := '';
|
if( att.IsImage() )
|
{
|
type := 'Image';
|
value := Char::Construct( 128247 );
|
}
|
else
|
{
|
Form.ExtractAttribute( child, type, value );
|
}
|
|
owner.UISnapshotAttribute( relnew,
|
Path := path,
|
AttributeName := att.Name(),
|
Value := value,
|
Description := guard( select( tv, Attributes, tv_att, tv_att.Name() = att.Name() ).Description(), '' ),
|
Type := type,
|
Snapshot := snapshot );
|
}
|
|
traverse( snapshot, Children, subsnapshot, not subsnapshot.istype( LibOpt_SnapshotComponent ) )
|
{
|
this.CreateForSnapshot( subsnapshot, path + '.' + subsnapshot.Type(), owner );
|
}
|
*]
|
}
|