1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  Method Generate 
 |  { 
 |    TextBody: 
 |    [* 
 |      DomainModel::DomainStream()->( dm ) 
 |      { 
 |        gp := this.TG_UIComponent().TG_TestGenerator().TG_GlobalParameter(); 
 |        module := select( dm, QuillModules, qm, qm.Name() = gp.TestModuleName() ); 
 |        module.SelectForEdit(); 
 |         
 |        if( this.GenerateAllowed() ) 
 |        { 
 |          objecttypename := this.TG_UIComponent().CreatedName(); 
 |          objdef := select( dm, ObjectDefinitions.Elements, o, o.Name() = objecttypename ); 
 |           
 |          name := this.CreatedName(); 
 |          body := this.GetBody(); 
 |          description := ''; // TODO 
 |          accessibility := 'Public'; // TODO 
 |           
 |          /** TODO: DRAG DROP ARGUMENTS **/ 
 |          cg := CG_CodeGenerator::Construct(); 
 |          cg.CreateMethodArgument( 'run', 
 |                                    'LibUTF_IterationRun', 
 |                                    false, 
 |                                    false, 
 |                                    false, 
 |                                    false ) 
 |            .CreateMethodArgument( 'company', 
 |                                    'Company', // TODO 
 |                                    false, 
 |                                    false, 
 |                                    false, 
 |                                    false ); 
 |           
 |          if( this.Type().StartsWith( 'OnDrop' ) or this.Type().StartsWith( 'OnDropEmpty' ) ) 
 |          { 
 |            cg.CreateMethodArgument( 'source_id' + ifexpr( this.IsSourceStructured(), 's', '' ), 
 |                                      'String', 
 |                                      false, 
 |                                      false, 
 |                                      false, 
 |                                      false ); 
 |          } 
 |           
 |          if( this.Type().StartsWith( 'OnDrop' ) ) 
 |          { 
 |            cg.CreateMethodArgument( 'target_id', 
 |                                      'String', 
 |                                      false, 
 |                                      false, 
 |                                      false, 
 |                                      false ); 
 |             
 |            if( exists( this, TG_UIResponseArgument, arg, arg.Name() = 'droprow' ) ) 
 |            { 
 |              cg.CreateMethodArgument( 'droprow_id', 
 |                                        'String', 
 |                                        false, 
 |                                        false, 
 |                                        false, 
 |                                        false ); 
 |            } 
 |          } 
 |           
 |          returntype := ''; 
 |           
 |          /** TODO: MENU ARGUMENTS **/ 
 |          if( this.Type().StartsWith( 'OnClick (Menu)' ) ) 
 |          { 
 |            returntype := ''; 
 |            if( this.MenuOpensDialog() ) 
 |            { 
 |              returntype := guard( this.TG_UIObjectDialogBound().CreatedName(), '' ); 
 |            } 
 |             
 |            traverse( this, TG_UIObjectDialogBound.TG_UIObjectIdentifier, objidentifier ) 
 |            { 
 |              argumentname := objidentifier.CreatedName().ToLower(); 
 |              type := objidentifier.TG_UIObjectAttribute().ValueType(); 
 |               
 |              cg.CreateMethodArgument( argumentname, 
 |                                        type, 
 |                                        false, 
 |                                        false, 
 |                                        false, 
 |                                        false ); 
 |            } 
 |          } 
 |           
 |          if( this.Type().StartsWith( 'OnDrop' ) ) 
 |          { 
 |            returntype := ''; 
 |            if( this.MenuOpensDialog() ) 
 |            { 
 |              returntype := guard( this.TG_UIObjectDialogBound().CreatedName(), '' ); 
 |            } 
 |          } 
 |           
 |          cg_nvt := LibInt_MessageAccessor::CreateEmptyMessage(); 
 |          LibInt_MessageAccessor::SetBodyAsObject( cg_nvt, cg ); 
 |           
 |          returnowning := returntype <> ''; 
 |           
 |          CG_CodeGenerator::CreateStaticMethod( gp.TestModuleName(), 
 |                                                objecttypename, 
 |                                                name, 
 |                                                returntype, 
 |                                                returnowning, 
 |                                                body, 
 |                                                description, 
 |                                                accessibility, 
 |                                                cg_nvt ); 
 |        } 
 |      } 
 |    *] 
 |  } 
 |  
  |