Quintiq file version 2.0 #parent: #root Method CreateConditionalTypes ( internal[Type] roottype, internal[Type] excludetype ) id:Method_LibOpt_DialogConditionalTypes_CreateConditionalTypes { #keys: '[143908.0.730126732]' Body: [* // Adds a shadow LibOpt_UIConditionalType for almost every subtype of LibOpt_BreakpointConditional/LibOpt_DatasetCopyConditional into the data holder owner. // The LibOpt_Breakpoint type and all LibOpt_DatasetCopyConditionalNotSelectable subtypes (e.g. LibOpt_DatasetCopyUnconditional) are excluded owner := Dialog.DataHolderOwner().Data(); leaftypes := this.GetLeafTypes( roottype, excludetype ); traverse( leaftypes, Elements, conditionaltype ) { // create a shadow[LibOpt_UIConditionalType] for each leaf. To fill the Name you can use type.Name(). To get the Description you can do type.TypeView().Description(). uitype := construct( shadow[ LibOpt_UIConditionalType ] ); uitype.Name( conditionaltype.Name() ); uitype.Description( conditionaltype.TypeView().Description() ); owner.UIConditionalType( relinsert, & uitype ); } *] }