ontomde-uml2-flex 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +5 -0
- data/Manifest.txt +12 -0
- data/README.txt +40 -0
- data/Rakefile +21 -0
- data/lib/ontomde-uml2-flex/Editor.mxml.as.rb +184 -0
- data/lib/ontomde-uml2-flex/Editor.mxml.rb +701 -0
- data/lib/ontomde-uml2-flex/ImportationAS.rb +40 -0
- data/lib/ontomde-uml2-flex/ValueObjectAS.rb +338 -0
- data/lib/ontomde-uml2-flex/fileTypes.rb +19 -0
- data/lib/ontomde-uml2-flex/main.rb +347 -0
- data/lib/ontomde-uml2-flex/version.rb +8 -0
- data/lib/ontomde-uml2-flex.rb +14 -0
- data/test/test_ontomde-uml2-flex.rb +0 -0
- metadata +84 -0
@@ -0,0 +1,701 @@
|
|
1
|
+
|
2
|
+
module Mrdf_Model
|
3
|
+
|
4
|
+
def flex_generateMXML
|
5
|
+
eachStrutsBean { |b|
|
6
|
+
next if b.struts_actionForm.empty?
|
7
|
+
b.flex_generateMXML
|
8
|
+
}
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
module Muml_Class
|
13
|
+
def flex_ownedAttributeSet(ignoreId=false)
|
14
|
+
return struts_formAttribute(ignoreId)
|
15
|
+
end
|
16
|
+
|
17
|
+
def flex_generateMXML
|
18
|
+
mtk_writeSession("#{java_FileName.to_s.gsub(/\.[^.\/]*$/,"")}.mxml"){
|
19
|
+
flex_writeMXML
|
20
|
+
}
|
21
|
+
end
|
22
|
+
|
23
|
+
def flex_writeMXML
|
24
|
+
before=<<ENDHEAD
|
25
|
+
<?xml version="1.0" encoding="utf-8"?>
|
26
|
+
<mx:Box xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initForm()" height="100%" width="100%" xmlns:vo="#{FLEX_NS_PREFIX}#{umlx_owner_one.java_qualifiedName}.*" xmlns:utils="utils.*" xmlns:components="components.*" >
|
27
|
+
ENDHEAD
|
28
|
+
|
29
|
+
after=<<ENDFOOT
|
30
|
+
</mx:Box>
|
31
|
+
ENDFOOT
|
32
|
+
encloseWrite(before,after) {
|
33
|
+
flex_writeMXML_script
|
34
|
+
flex_writeMXML_vo
|
35
|
+
flex_writeMXML_menu
|
36
|
+
flex_writeMXML_MXvalidators
|
37
|
+
flex_writeMXML_Form
|
38
|
+
|
39
|
+
}
|
40
|
+
end
|
41
|
+
def flex_writeMXML_MXvalidators
|
42
|
+
encloseWrite(%{<mx:Array id="validators">\n},%{</mx:Array>\n}) {
|
43
|
+
flex_ownedAttributeSet.each { |prop|
|
44
|
+
tpl=JavaMapping.instance.getTemplate(prop.uml_type_one)
|
45
|
+
tpl.flex_writeMXML_MXvalidator(prop)
|
46
|
+
}
|
47
|
+
}
|
48
|
+
end
|
49
|
+
#SAMPLE:
|
50
|
+
|
51
|
+
# ////////////////////////////////////////////////////
|
52
|
+
# //debut des fonctions metiers. A qqchose pres c'est comme en JAVA
|
53
|
+
# ////////////////////////////////////////////////////
|
54
|
+
#
|
55
|
+
|
56
|
+
#
|
57
|
+
# function editAdresse(objid) {
|
58
|
+
# if("_"+objid != "_empty") {
|
59
|
+
# doWhat="editAdresse";
|
60
|
+
# reqtab=objid;
|
61
|
+
# submit();
|
62
|
+
# } else {
|
63
|
+
# Alert.show("no element selected for \nadresse");
|
64
|
+
# }
|
65
|
+
# }
|
66
|
+
#
|
67
|
+
# function removeAndDeleteAdresse(objid:String):void {
|
68
|
+
# if("_"+objid != "_empty") {
|
69
|
+
# doWhat="removeAndDeleteAdresse";
|
70
|
+
# reqtab=objid;
|
71
|
+
# submit();
|
72
|
+
# } else {
|
73
|
+
# Alert.show("no element selected for \nadresse");
|
74
|
+
# }
|
75
|
+
# }
|
76
|
+
#
|
77
|
+
#
|
78
|
+
#
|
79
|
+
# function createAndAddAdresse(reqType):void {
|
80
|
+
# doWhat="createAndAddAdresse";
|
81
|
+
# this.reqType=reqType;
|
82
|
+
# submit();
|
83
|
+
# }
|
84
|
+
#
|
85
|
+
#
|
86
|
+
#
|
87
|
+
# function editFavoris(objid) {
|
88
|
+
# if("_"+objid != "_empty") {
|
89
|
+
# doWhat="editFavoris";
|
90
|
+
# reqtab=objid;
|
91
|
+
# submit();
|
92
|
+
# } else {
|
93
|
+
# Alert.show("no element selected for \nfavoris");
|
94
|
+
# }
|
95
|
+
# }
|
96
|
+
#
|
97
|
+
# function removeAndDeleteFavoris(objid) {
|
98
|
+
# if("_"+objid != "_empty") {
|
99
|
+
# doWhat="removeAndDeleteFavoris";
|
100
|
+
# reqtab=objid;
|
101
|
+
# submit();
|
102
|
+
# } else {
|
103
|
+
# Alert.show("no element selected for \nfavoris");
|
104
|
+
# }
|
105
|
+
# }
|
106
|
+
#
|
107
|
+
# function addFavoris(objid) {
|
108
|
+
# if("_"+objid != "_empty") {
|
109
|
+
# doWhat="addFavoris";
|
110
|
+
# reqtab=objid;
|
111
|
+
# submit();
|
112
|
+
# } else {
|
113
|
+
# Alert.show("no element selected for \nfavoris");
|
114
|
+
# }
|
115
|
+
# }
|
116
|
+
#
|
117
|
+
# function createAndAddContrats(reqType) {
|
118
|
+
# doWhat="createAndAddContrats";
|
119
|
+
# this.reqType="package1_dot_Contrat";
|
120
|
+
# submit();
|
121
|
+
# }
|
122
|
+
#
|
123
|
+
# function editContrats(objid) {
|
124
|
+
# if("_"+objid != "_empty") {
|
125
|
+
# doWhat="editContrats";
|
126
|
+
# reqtab=objid;
|
127
|
+
# submit();
|
128
|
+
# } else {
|
129
|
+
# Alert.show("no element selected for \ncontrats");
|
130
|
+
# }
|
131
|
+
# }
|
132
|
+
#
|
133
|
+
# function removeAndDeleteContrats(objid) {
|
134
|
+
# if("_"+objid != "_empty") {
|
135
|
+
# doWhat="removeAndDeleteContrats";
|
136
|
+
# reqtab=objid;
|
137
|
+
# submit();
|
138
|
+
# } else {
|
139
|
+
# Alert.show("no element selected for \ncontrats");
|
140
|
+
# }
|
141
|
+
# }
|
142
|
+
#
|
143
|
+
#
|
144
|
+
#
|
145
|
+
# function addDernierContrat(id) {
|
146
|
+
# doWhat="addDernierContrat";
|
147
|
+
# this.reqtab=id;
|
148
|
+
# submit();
|
149
|
+
# }
|
150
|
+
#
|
151
|
+
# function editDernierContrat(objid) {
|
152
|
+
# if("_"+objid != "_empty") {
|
153
|
+
# doWhat="editDernierContrat";
|
154
|
+
# reqtab=objid;
|
155
|
+
# submit();
|
156
|
+
# } else {
|
157
|
+
# Alert.show("no element selected for \ncontrats");
|
158
|
+
# }
|
159
|
+
# }
|
160
|
+
#
|
161
|
+
# function editLastMonthContracts(objid) {
|
162
|
+
# if("_"+objid != "_empty") {
|
163
|
+
# doWhat="editLastMonthContracts";
|
164
|
+
# reqtab=objid;
|
165
|
+
# submit();
|
166
|
+
# } else {
|
167
|
+
# Alert.show("no element selected for \nLastMonthContracts");
|
168
|
+
# }
|
169
|
+
# }
|
170
|
+
#
|
171
|
+
#
|
172
|
+
#
|
173
|
+
# function removeAndDeleteDernierContrat(objid) {
|
174
|
+
# if("_"+objid != "_empty") {
|
175
|
+
# doWhat="removeAndDeleteDernierContrat";
|
176
|
+
# reqtab=objid;
|
177
|
+
# submit();
|
178
|
+
# } else {
|
179
|
+
# Alert.show("no element selected for \ncontrats");
|
180
|
+
# }
|
181
|
+
# }
|
182
|
+
#
|
183
|
+
# function ajoutRapideContrat() {
|
184
|
+
# doWhat="ajoutRapideContrat";
|
185
|
+
# submit();
|
186
|
+
# }
|
187
|
+
#
|
188
|
+
#
|
189
|
+
# ////////////////////////////////////////////////////
|
190
|
+
# debut des fonctions metiers
|
191
|
+
# ////////////////////////////////////////////////////
|
192
|
+
def flex_writeMXML_script
|
193
|
+
|
194
|
+
# (script directory is relative)
|
195
|
+
before= <<ENDHEAD
|
196
|
+
<mx:Script source="#{"../"*(umlx_hierarchy.length)}script/formsGlobalFunctions.as" />
|
197
|
+
<mx:Script>
|
198
|
+
<![CDATA[
|
199
|
+
ENDHEAD
|
200
|
+
|
201
|
+
after=<<ENDFOOT
|
202
|
+
]]>
|
203
|
+
</mx:Script>
|
204
|
+
ENDFOOT
|
205
|
+
encloseWrite(before,after) {
|
206
|
+
flex_mxml_as_generateAs
|
207
|
+
}
|
208
|
+
end
|
209
|
+
|
210
|
+
|
211
|
+
#SAMPLE:
|
212
|
+
# nom="{txtNom.text}"
|
213
|
+
# adresse="{cmbAdresse.selectedItem.id}"
|
214
|
+
def flex_writeMXML_vo
|
215
|
+
before=<<ENDHEAD
|
216
|
+
<vo:#{flex_NameVO} id="model"
|
217
|
+
ENDHEAD
|
218
|
+
|
219
|
+
after=<<ENDFOOT
|
220
|
+
/>
|
221
|
+
ENDFOOT
|
222
|
+
|
223
|
+
encloseWrite(before,after) {
|
224
|
+
noId=true
|
225
|
+
flex_ownedAttributeSet(noId).each { |prop|
|
226
|
+
tpl=JavaMapping.instance.getTemplate(prop.uml_type_one)
|
227
|
+
tpl.flex_writeMXML_vo_mapping(prop)
|
228
|
+
}}
|
229
|
+
end
|
230
|
+
|
231
|
+
#generate menu (fixed and dynamic based on object functions)
|
232
|
+
def flex_writeMXML_menu
|
233
|
+
before=<<ENDHEAD
|
234
|
+
<mx:ArrayCollection id="methods" source="{buXML.businessaction}"/>
|
235
|
+
|
236
|
+
<mx:Model id="buXML">
|
237
|
+
<businessactions>
|
238
|
+
<businessaction label="Valider" functionName="biz_proceed" icon="@Embed('/assets/valider.gif')"/>
|
239
|
+
<businessaction label="Annuler" functionName="" icon="@Embed('/assets/delete.png')"/>
|
240
|
+
<businessaction label="HTML" functionName="HTML_Display" icon="@Embed('/assets/html.gif')"/>
|
241
|
+
<businessaction label="Print" functionName="doPrint" icon="@Embed('/assets/printpca.gif')"/>
|
242
|
+
<businessaction label="{modelGlob.fullscreen?'Normal Size':'FullScreen'}" functionName="fullScreen" icon="@Embed('/assets/fullscreen.gif')"/>
|
243
|
+
ENDHEAD
|
244
|
+
|
245
|
+
after=<<ENDFOOT
|
246
|
+
</businessactions>
|
247
|
+
</mx:Model>
|
248
|
+
ENDFOOT
|
249
|
+
encloseWrite(before,after) {
|
250
|
+
uml_ownedOperation.each { |op|
|
251
|
+
next unless op.umlx_businessMethod?
|
252
|
+
write(%{<businessaction label="{getString('#{op.umlx_owner_one.java_qualifiedName}.#{op.java_Name}')}" functionName="#{op.java_Name}"/>\n})
|
253
|
+
}
|
254
|
+
}
|
255
|
+
end
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
def flex_writeMXML_Form
|
260
|
+
before= <<ENDHEAD
|
261
|
+
<utils:ValidatorForm id="MyForm" defaultButton="{btnValidate}" validators="{validators}" valid="handleFormValidate(event)" invalid="handleFormValidate(event)" width="100%" height="100%">
|
262
|
+
<mx:FormHeading styleName="PetitTitrePose" label="{getString('#{self.struts_actionForm_one.java_qualifiedName}.title')}"/>
|
263
|
+
ENDHEAD
|
264
|
+
|
265
|
+
after= <<ENDFOOT
|
266
|
+
</utils:ValidatorForm>
|
267
|
+
|
268
|
+
<mx:ControlBar id="ControlButtons">
|
269
|
+
<mx:Text id="status" width="186"/>
|
270
|
+
<mx:Button label="{getString('button.validate')}" click="biz_proceed()" id="btnValidate"/>
|
271
|
+
<mx:Button label="{getString('button.reset')}" click="this.executeBindings(true)" id="button2"/>
|
272
|
+
<mx:Button label="HTML" click="{HTML_Display()}" id="buttontest"/>
|
273
|
+
<mx:Button label="print" click="{doPrint()}" id="buttonPrint"/>
|
274
|
+
</mx:ControlBar>
|
275
|
+
ENDFOOT
|
276
|
+
|
277
|
+
encloseWrite(before,after) {
|
278
|
+
#uml_ownedOperation.each { |operation|
|
279
|
+
# next unless operation.umlx_businessMethod?
|
280
|
+
# operation.flex_writeMXML_Form_item_methods
|
281
|
+
# }
|
282
|
+
ignoreId=true
|
283
|
+
flex_ownedAttributeSet(ignoreId).each { |prop|
|
284
|
+
encloseWrite(%{<mx:FormItem label="{getString('#{self.struts_actionForm_one.java_qualifiedName}.#{prop.java_Name}')}">\n} ,%{</mx:FormItem>\n}) {
|
285
|
+
tpl=JavaMapping.instance.getTemplate(prop.uml_type_one)
|
286
|
+
tpl.flex_writeMXML_Form_item_property(prop)
|
287
|
+
}
|
288
|
+
}
|
289
|
+
}
|
290
|
+
end
|
291
|
+
|
292
|
+
end
|
293
|
+
|
294
|
+
|
295
|
+
# <mx:FormItem label="{getString('package1.struts.ClientStrutsForm.adresse')}">
|
296
|
+
|
297
|
+
# </mx:FormItem>
|
298
|
+
#
|
299
|
+
#
|
300
|
+
#
|
301
|
+
#
|
302
|
+
# <mx:FormItem label="{getString('package1.struts.ClientStrutsForm.dernierContrat')}">
|
303
|
+
# <mx:DataGrid height="49" dataProvider="{model.dernierContrat}">
|
304
|
+
# <mx:columns>
|
305
|
+
# <mx:DataGridColumn headerText="Column 1" dataField="id"/>
|
306
|
+
# <mx:DataGridColumn headerText="Column 2" dataField="info1"/>
|
307
|
+
# <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
|
308
|
+
# <mx:itemRenderer>
|
309
|
+
# <mx:Component >
|
310
|
+
# <mx:LinkButton label="[R]"
|
311
|
+
# click="{outerDocument.removeAndDeleteDernierContrat(data.id)}">
|
312
|
+
# </mx:LinkButton>
|
313
|
+
# </mx:Component>
|
314
|
+
# </mx:itemRenderer>
|
315
|
+
# </mx:DataGridColumn>
|
316
|
+
# <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
|
317
|
+
# <mx:itemRenderer>
|
318
|
+
# <mx:Component >
|
319
|
+
# <mx:LinkButton label="[E]"
|
320
|
+
# click="{outerDocument.editDernierContrat(data.id)}" >
|
321
|
+
# </mx:LinkButton>
|
322
|
+
# </mx:Component>
|
323
|
+
# </mx:itemRenderer>
|
324
|
+
# </mx:DataGridColumn>
|
325
|
+
# </mx:columns>
|
326
|
+
# </mx:DataGrid>
|
327
|
+
# <mx:ComboBox id="cmbDernierContrats" dataProvider="{model.dernierContratSug}" prompt="select...." change="{addDernierContrat(cmbDernierContrats.selectedItem.id)}" labelField="id"></mx:ComboBox>
|
328
|
+
# </mx:FormItem>
|
329
|
+
#
|
330
|
+
# <mx:FormItem label="{getString('package1.struts.ClientStrutsForm.favoris')}" width="531">
|
331
|
+
# <mx:DataGrid width="400" dataProvider="{model.favoris}">
|
332
|
+
# <mx:columns>
|
333
|
+
# <mx:DataGridColumn headerText="Column 1" dataField="id"/>
|
334
|
+
# <mx:DataGridColumn headerText="Column 2" dataField="info1"/>
|
335
|
+
# <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
|
336
|
+
# <mx:itemRenderer>
|
337
|
+
# <mx:Component >
|
338
|
+
# <mx:LinkButton label="[R]"
|
339
|
+
# click="{outerDocument.removeAndDeleteFavoris(data.id)}">
|
340
|
+
# </mx:LinkButton>
|
341
|
+
# </mx:Component>
|
342
|
+
# </mx:itemRenderer>
|
343
|
+
# </mx:DataGridColumn>
|
344
|
+
# <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
|
345
|
+
# <mx:itemRenderer>
|
346
|
+
# <mx:Component >
|
347
|
+
# <mx:LinkButton label="[E]"
|
348
|
+
# click="{outerDocument.editFavoris(data.id)}" >
|
349
|
+
# </mx:LinkButton>
|
350
|
+
# </mx:Component>
|
351
|
+
# </mx:itemRenderer>
|
352
|
+
# </mx:DataGridColumn>
|
353
|
+
# </mx:columns>
|
354
|
+
# </mx:DataGrid>
|
355
|
+
# <mx:ComboBox id="cmbFavoris" dataProvider="{ClientModel.favorisSug}" change="{addFavoris(cmbFavoris.selectedItem.id)}" prompt="select...." labelField="id">
|
356
|
+
#
|
357
|
+
# </mx:ComboBox>
|
358
|
+
# </mx:FormItem>
|
359
|
+
# <mx:FormItem label="{getString('package1.struts.ClientStrutsForm.contrats')}" >
|
360
|
+
# <mx:DataGrid width="400" dataProvider="{ClientModel.contrats}">
|
361
|
+
# <mx:columns>
|
362
|
+
# <mx:DataGridColumn headerText="Column 1" dataField="id"/>
|
363
|
+
# <mx:DataGridColumn headerText="Column 2" dataField="info1"/>
|
364
|
+
# <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
|
365
|
+
# <mx:itemRenderer>
|
366
|
+
# <mx:Component >
|
367
|
+
# <mx:LinkButton label="[R]"
|
368
|
+
# click="{outerDocument.removeAndDeleteContrats(data.id)}">
|
369
|
+
# </mx:LinkButton>
|
370
|
+
# </mx:Component>
|
371
|
+
# </mx:itemRenderer>
|
372
|
+
# </mx:DataGridColumn>
|
373
|
+
# <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
|
374
|
+
# <mx:itemRenderer>
|
375
|
+
# <mx:Component >
|
376
|
+
# <mx:LinkButton styleName="edit"
|
377
|
+
# click="{outerDocument.editContrats(data.id)}" >
|
378
|
+
# </mx:LinkButton>
|
379
|
+
# </mx:Component>
|
380
|
+
# </mx:itemRenderer>
|
381
|
+
# </mx:DataGridColumn>
|
382
|
+
# </mx:columns>
|
383
|
+
# </mx:DataGrid>
|
384
|
+
# <mx:ComboBox id="cmbContrats" dataProvider="{ClientModel.contratsSug}" labelFunction="myLabelFunction" change="{createAndAddContrats(cmbContrats.selectedItem.key)}" prompt="select...." labelField="value"></mx:ComboBox>
|
385
|
+
# </mx:FormItem>
|
386
|
+
#
|
387
|
+
# <mx:FormItem label="{getString('package1.struts.ClientStrutsForm.lastMonthContracts')}" >
|
388
|
+
# <mx:DataGrid width="400" dataProvider="{ClientModel.lastMonthContracts}">
|
389
|
+
# <mx:columns>
|
390
|
+
# <mx:DataGridColumn headerText="Column 1" dataField="id"/>
|
391
|
+
# <mx:DataGridColumn headerText="Column 2" dataField="info1"/>
|
392
|
+
# <mx:DataGridColumn headerText="Column 3" dataField="infoRO"/>
|
393
|
+
# <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">flex_writeMXML_validate
|
394
|
+
# <mx:itemRenderer>
|
395
|
+
# <mx:Component>
|
396
|
+
# <mx:LinkButton label="[E]"
|
397
|
+
# click="{outerDocument.editLastMonthContracts(data.id)}" >
|
398
|
+
# </mx:LinkButton>
|
399
|
+
# </mx:Component>
|
400
|
+
# </mx:itemRenderer>
|
401
|
+
# </mx:DataGridColumn>
|
402
|
+
# </mx:columns>
|
403
|
+
# </mx:DataGrid>
|
404
|
+
# </mx:FormItem>
|
405
|
+
|
406
|
+
|
407
|
+
#module Muml_Operation
|
408
|
+
# EXAMPLE:
|
409
|
+
# <mx:FormItem label="">
|
410
|
+
# <mx:Button label="{getString('package1.Client.ajoutRapideContrat')}" click="ajoutRapideContrat()" id="button1"/>
|
411
|
+
# </mx:FormItem>
|
412
|
+
#def flex_writeMXML_Form_item_methods
|
413
|
+
# write <<-ENDMETH
|
414
|
+
# <mx:FormItem label="">
|
415
|
+
# <mx:Button label="{getString('#{self.umlx_owner_one.java_qualifiedName}.#{self.java_Name}')}" click="{#{self.java_Name}()}" id="button_#{self.java_Name}"/>
|
416
|
+
# </mx:FormItem>
|
417
|
+
# ENDMETH
|
418
|
+
#end
|
419
|
+
#end
|
420
|
+
|
421
|
+
|
422
|
+
class JavaMappingText < JavaMapping
|
423
|
+
# EXAMPLE:
|
424
|
+
# <mx:TextInput id="txtNom" text="{model.nom}"/>
|
425
|
+
def flex_prefix
|
426
|
+
return "txt"
|
427
|
+
end
|
428
|
+
def flex_writeMXML_Form_item_property(prop)
|
429
|
+
prop.write(%{<mx:TextInput id="#{flex_prefix}#{prop.java_NameBean}" text="{model.#{prop.java_Name}}" #{maxStringLength.nil? ? "" : " maxChars=\"#{maxStringLength}\"" }/>\n})
|
430
|
+
end
|
431
|
+
|
432
|
+
def flex_writeMXML_vo_mapping(prop)
|
433
|
+
prop.write(%{ #{prop.java_Name}="{#{flex_prefix}#{prop.java_NameBean}.text}"})
|
434
|
+
end
|
435
|
+
def flex_writeMXML_Form_item_property_column(pcol)
|
436
|
+
pcol.write(%{<mx:DataGridColumn headerText="{getString('#{pcol.umlx_owner_one.java_qualifiedName}.#{pcol.java_Name}')}" dataField="#{pcol.java_Name}"/>\n})
|
437
|
+
end
|
438
|
+
end
|
439
|
+
|
440
|
+
class JavaMappingOrdinal < JavaMappingText
|
441
|
+
|
442
|
+
def flex_prefix
|
443
|
+
return "num"
|
444
|
+
end
|
445
|
+
|
446
|
+
# EXAMPLE:
|
447
|
+
# <mx:NumericStepper id="nNum" value="{model.numero}" stepSize="1"/>
|
448
|
+
def flex_writeMXML_Form_item_property(prop)
|
449
|
+
prop.write(%{<mx:NumericStepper id="#{flex_prefix}#{prop.java_NameBean}" value="{model.#{prop.java_Name}}" stepSize="1" />\n})
|
450
|
+
end
|
451
|
+
|
452
|
+
# EXAMPLE:
|
453
|
+
# numero="{numero.value}"
|
454
|
+
def flex_writeMXML_vo_mapping(prop)
|
455
|
+
prop.write(%{ #{prop.java_Name}="{#{flex_prefix}#{prop.java_NameBean}.value}"})
|
456
|
+
end
|
457
|
+
|
458
|
+
#def flex_writeMXML_Form_item_property_column(pcol)
|
459
|
+
# pcol.write(%{<mx:DataGridColumn headerText="Column " dataField="#{pcol.java_Name}"/>\n})
|
460
|
+
#end
|
461
|
+
end
|
462
|
+
|
463
|
+
|
464
|
+
class JavaMappingTimeStamp < JavaMapping
|
465
|
+
|
466
|
+
def flex_prefix
|
467
|
+
return "df"
|
468
|
+
end
|
469
|
+
# EXAMPLE:
|
470
|
+
#<mx:DateField width="150" id="dfDatedenaissance" selectedDate="{model.datedenaissance}" yearNavigationEnabled="true" formatString="DD/MM/YYYY"/>
|
471
|
+
def flex_writeMXML_Form_item_property(prop)
|
472
|
+
#prop.write %{<mx:DateField width="150" id="#{flex_prefix}#{prop.java_NameBean}" selectedDate="{model.#{prop.java_Name}}" yearNavigationEnabled="true" formatString="DD/MM/YYYY"/>}
|
473
|
+
prop.write %{<components:mon_timestamp id="#{flex_prefix}#{prop.java_NameBean}" is24Hour="true" backgroundColor="#000000" backgroundAlpha="0.05" borderColor="#00FF00" borderThickness="1" borderStyle="solid" cornerRadius="5" showDate="true" showTimes="true" showSeconds="true" timeValue="{model.#{prop.java_Name}}" />}
|
474
|
+
end
|
475
|
+
|
476
|
+
# datedenaissance="{dfDatedenaissance.selectedDate}"
|
477
|
+
def flex_writeMXML_vo_mapping(prop)
|
478
|
+
#prop.write(%{ #{prop.java_Name}="{#{flex_prefix}#{prop.java_NameBean}.selectedDate}"})
|
479
|
+
prop.write(%{ #{prop.java_Name}="{#{flex_prefix}#{prop.java_NameBean}.timeValue}"})
|
480
|
+
end
|
481
|
+
def flex_writeMXML_Form_item_property_column(pcol)
|
482
|
+
pcol.write(%{<mx:DataGridColumn headerText="Column " dataField="#{pcol.java_Name}"/>\n})
|
483
|
+
end
|
484
|
+
end
|
485
|
+
|
486
|
+
class JavaMappingCalendar < JavaMapping
|
487
|
+
def flex_prefix
|
488
|
+
return "df"
|
489
|
+
end
|
490
|
+
# EXAMPLE:
|
491
|
+
#<mx:DateField width="150" id="dfDatedenaissance" selectedDate="{model.datedenaissance}" yearNavigationEnabled="true" formatString="DD/MM/YYYY"/>
|
492
|
+
def flex_writeMXML_Form_item_property(prop)
|
493
|
+
prop.write %{<mx:DateField width="150" id="#{flex_prefix}#{prop.java_NameBean}" selectedDate="{model.#{prop.java_Name}}" yearNavigationEnabled="true" formatString="DD/MM/YYYY"/>}
|
494
|
+
end
|
495
|
+
|
496
|
+
# datedenaissance="{dfDatedenaissance.selectedDate}"
|
497
|
+
def flex_writeMXML_vo_mapping(prop)
|
498
|
+
prop.write(%{ #{prop.java_Name}="{#{flex_prefix}#{prop.java_NameBean}.selectedDate}"})
|
499
|
+
end
|
500
|
+
def flex_writeMXML_Form_item_property_column(pcol)
|
501
|
+
pcol.write(%{<mx:DataGridColumn headerText="Column " dataField="#{pcol.java_Name}"/>\n})
|
502
|
+
end
|
503
|
+
end
|
504
|
+
|
505
|
+
class JavaMappingGenericEnum < JavaMapping
|
506
|
+
def flex_prefix
|
507
|
+
return "cmb"
|
508
|
+
end
|
509
|
+
|
510
|
+
# EXAMPLE:
|
511
|
+
# <mx:ComboBox id="cmbCivilite" dataProvider="{model.civiliteSug}" selectedItem="{model.civilite}" labelFunction="myLabelFunction" labelField="value">
|
512
|
+
# </mx:ComboBox>
|
513
|
+
def flex_writeMXML_Form_item_property(prop)
|
514
|
+
prop.write <<-END
|
515
|
+
<mx:ComboBox id="#{flex_prefix}#{prop.java_NameBean}" dataProvider="{model.#{prop.java_Name}Sug}" selectedItem="{model.#{prop.java_Name}}" labelFunction="myLabelFunction" labelField="value">
|
516
|
+
</mx:ComboBox>
|
517
|
+
END
|
518
|
+
end
|
519
|
+
|
520
|
+
# civilite="{cmbCivilite.selectedItem}"
|
521
|
+
def flex_writeMXML_vo_mapping(prop)
|
522
|
+
prop.write(%{ #{prop.java_Name}="{#{flex_prefix}#{prop.java_NameBean}.selectedItem}"})
|
523
|
+
end
|
524
|
+
|
525
|
+
def flex_writeMXML_Form_item_property_column(pcol)
|
526
|
+
pcol.write(%{<mx:DataGridColumn headerText="Column " dataField="#{pcol.java_Name}"/>\n})
|
527
|
+
end
|
528
|
+
|
529
|
+
end
|
530
|
+
|
531
|
+
class JavaMappingBoolean < JavaMapping
|
532
|
+
def flex_prefix
|
533
|
+
return "chk"
|
534
|
+
end
|
535
|
+
def flex_writeMXML_Form_item_property(prop)
|
536
|
+
prop.write(%{<mx:CheckBox id="#{flex_prefix}#{prop.java_NameBean}" label="" selected="{model.#{prop.java_Name}}" />\n})
|
537
|
+
end
|
538
|
+
|
539
|
+
# ascenceur="{chkascenceur.selected}"
|
540
|
+
def flex_writeMXML_vo_mapping(prop)
|
541
|
+
prop.write(%{ #{prop.java_Name}="{#{flex_prefix}#{prop.java_NameBean}.selected}"})
|
542
|
+
end
|
543
|
+
def flex_writeMXML_Form_item_property_column(pcol)
|
544
|
+
pcol.write(%{<mx:DataGridColumn headerText="Column " dataField="#{pcol.java_Name}"/>\n})
|
545
|
+
end
|
546
|
+
|
547
|
+
end
|
548
|
+
|
549
|
+
class JavaMappingGenericClass < JavaMapping
|
550
|
+
def flex_prefix
|
551
|
+
return "cmb"
|
552
|
+
end
|
553
|
+
|
554
|
+
# EXAMPLE:
|
555
|
+
# <mx:DataGrid height="49" dataProvider="{model.adresse}">
|
556
|
+
# <mx:columns>
|
557
|
+
# <mx:DataGridColumn headerText="Column 1" dataField="ident"/>
|
558
|
+
# <mx:DataGridColumn headerText="Column 2" dataField="numero"/>
|
559
|
+
# <mx:DataGridColumn dataField="ident" width="30" headerText="" editable="false">
|
560
|
+
# <mx:itemRenderer>
|
561
|
+
# <mx:Component >
|
562
|
+
# <mx:LinkButton label="[R]"
|
563
|
+
# click="{outerDocument.removeAndDeleteAdresse(data.ident)}">
|
564
|
+
# </mx:LinkButton>
|
565
|
+
# </mx:Component>
|
566
|
+
# </mx:itemRenderer>
|
567
|
+
# </mx:DataGridColumn>
|
568
|
+
# <mx:DataGridColumn dataField="ident" width="30" headerText="" editable="false">
|
569
|
+
# <mx:itemRenderer>
|
570
|
+
# <mx:Component >
|
571
|
+
# <mx:LinkButton label="[E]"
|
572
|
+
# click="{outerDocument.editAdresse(data.ident)}" >
|
573
|
+
# </mx:LinkButton>
|
574
|
+
# </mx:Component>
|
575
|
+
# </mx:itemRenderer>
|
576
|
+
# </mx:DataGridColumn>
|
577
|
+
# </mx:columns>
|
578
|
+
# </mx:DataGrid>
|
579
|
+
# <mx:ComboBox id="cmbAdresse"
|
580
|
+
# prompt="Select one..."
|
581
|
+
# labelFunction="myLabelFunction"
|
582
|
+
# dataProvider="{model.adressesSug}"
|
583
|
+
# labelField="value"
|
584
|
+
# change="createAndAddAdresse(cmbAdresse.selectedItem.key)">
|
585
|
+
# </mx:ComboBox>
|
586
|
+
|
587
|
+
def flex_writeMXML_Form_item_property(prop)
|
588
|
+
before= <<-END_BEFORE
|
589
|
+
<mx:HBox>
|
590
|
+
<mx:VBox>
|
591
|
+
|
592
|
+
#{ %{<mx:Button styleName="Add" width="32" height="32" click="{showSug(dg#{prop.java_NameBean},model.#{prop.java_Name}Sug,add#{prop.java_NameBean})}" buttonMode="true" useHandCursor="true" />
|
593
|
+
} if !(prop.uml_isReadOnly?) && !(prop.umlx_isComposite?) }
|
594
|
+
|
595
|
+
#{ %{<mx:Button styleName="#{ prop.umlx_isComposite? ? "Delete" : "Remove" }" width="32" height="32" enabled="{dg#{prop.java_NameBean}.selectedItem}" click="removeAndDelete#{prop.java_NameBean}(dg#{prop.java_NameBean}.selectedItem.id)" buttonMode="true" useHandCursor="true" includeInLayout="{model.#{prop.java_Name}.length>0}" visible="{dg#{prop.java_NameBean}.visible}" />} if !prop.uml_isReadOnly? }
|
596
|
+
|
597
|
+
<mx:Button styleName="Edit" width="32" height="32" enabled="{dg#{prop.java_NameBean}.selectedItem}" click="edit#{prop.java_NameBean}(dg#{prop.java_NameBean}.selectedItem.id)" includeInLayout="{model.#{prop.java_Name}.length>0}" buttonMode="true" useHandCursor="true" visible="{dg#{prop.java_NameBean}.visible}"/>
|
598
|
+
</mx:VBox>
|
599
|
+
|
600
|
+
<mx:VBox>
|
601
|
+
<components:AdvancedDatagrid id="dg#{prop.java_NameBean}" width="100%" horizontalScrollPolicy="auto" maxWidth="{this.width - dg#{prop.java_NameBean}.x -50}" dataProvider="{model.#{prop.java_Name}}" doubleClickEnabled="true" itemDoubleClick="edit#{prop.java_NameBean}(dg#{prop.java_NameBean}.selectedItem.id)" includeInLayout="{model.#{prop.java_Name}.length>0}" visible="{model.#{prop.java_Name}.length>0}">
|
602
|
+
<components:columns>
|
603
|
+
END_BEFORE
|
604
|
+
after= <<-END_AFTER
|
605
|
+
</components:columns>
|
606
|
+
</components:AdvancedDatagrid>
|
607
|
+
#{%{<mx:ComboBox id="#{flex_prefix}#{prop.java_NameBean}"
|
608
|
+
prompt="Select one...(create)"
|
609
|
+
labelFunction="myLabelFunction"
|
610
|
+
dataProvider="{model.#{prop.java_Name}CreateAndAddSug}"
|
611
|
+
labelField="value"
|
612
|
+
change="createAndAdd#{prop.java_NameBean}(#{flex_prefix}#{prop.java_NameBean}.selectedItem.key)">
|
613
|
+
</mx:ComboBox>} if !prop.uml_isReadOnly? && prop.umlx_isComposite?}
|
614
|
+
</mx:VBox>
|
615
|
+
</mx:HBox>
|
616
|
+
END_AFTER
|
617
|
+
|
618
|
+
prop.encloseWrite(before,after) {
|
619
|
+
noId=true
|
620
|
+
prop.uml_type_one.flex_ownedAttributeSet(noId).each { |pcol|
|
621
|
+
tpl=JavaMapping.instance.getTemplate(pcol.uml_type_one)
|
622
|
+
tpl.flex_writeMXML_Form_item_property_column(pcol)
|
623
|
+
}
|
624
|
+
}
|
625
|
+
end
|
626
|
+
|
627
|
+
|
628
|
+
#def flex_writeMXML_Form_item_property(prop)
|
629
|
+
#
|
630
|
+
# before=""
|
631
|
+
#
|
632
|
+
# before=before+ <<-ENDHEAD
|
633
|
+
# <mx:DataGrid id="dg#{prop.java_NameBean}" dataProvider="{model.#{prop.java_Name}}">
|
634
|
+
# <mx:columns>
|
635
|
+
# ENDHEAD
|
636
|
+
# after=""
|
637
|
+
## after= prop.uml_isReadOnly? ? "" : <<-ENDBOTTOM
|
638
|
+
## <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
|
639
|
+
## <mx:itemRenderer>
|
640
|
+
## <mx:Component >
|
641
|
+
## <mx:LinkButton label="[R]" click="{outerDocument.removeAndDelete#{prop.java_NameBean}(data.id)}">
|
642
|
+
## </mx:LinkButton>
|
643
|
+
## </mx:Component>
|
644
|
+
## </mx:itemRenderer>
|
645
|
+
## </mx:DataGridColumn>
|
646
|
+
## ENDBOTTOM
|
647
|
+
# after=after + <<-ENDBOTTOM
|
648
|
+
# <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
|
649
|
+
# <mx:itemRenderer>
|
650
|
+
# <mx:Component >
|
651
|
+
# <mx:LinkButton label="[E]" click="{outerDocument.edit#{prop.java_NameBean}(data.id)}" >
|
652
|
+
# </mx:LinkButton>
|
653
|
+
# </mx:Component>
|
654
|
+
# </mx:itemRenderer>
|
655
|
+
# </mx:DataGridColumn>
|
656
|
+
# </mx:columns>
|
657
|
+
# </mx:DataGrid>
|
658
|
+
# ENDBOTTOM
|
659
|
+
#
|
660
|
+
# prop.encloseWrite(before,after) {
|
661
|
+
# noId=true
|
662
|
+
# prop.uml_type_one.flex_ownedAttributeSet(noId).each { |pcol|
|
663
|
+
# tpl=JavaMapping.instance.getTemplate(pcol.uml_type_one)
|
664
|
+
# tpl.flex_writeMXML_Form_item_property_column(pcol)
|
665
|
+
# }
|
666
|
+
# }
|
667
|
+
#
|
668
|
+
# # si composition
|
669
|
+
# if prop.uml_isReadOnly?
|
670
|
+
# #nop
|
671
|
+
# elsif prop.umlx_isComposite?
|
672
|
+
# prop.write <<-END
|
673
|
+
# <mx:ComboBox id="#{flex_prefix}#{prop.java_NameBean}"
|
674
|
+
# prompt="Select one...(create)"
|
675
|
+
# labelFunction="myLabelFunction"
|
676
|
+
# dataProvider="{model.#{prop.java_Name}CreateAndAddSug}"
|
677
|
+
# labelField="value"
|
678
|
+
# change="createAndAdd#{prop.java_NameBean}(#{flex_prefix}#{prop.java_NameBean}.selectedItem.key)">
|
679
|
+
# </mx:ComboBox>
|
680
|
+
# END
|
681
|
+
# else
|
682
|
+
# #prop.write <<-END
|
683
|
+
# # <mx:Button label="+" click="{showSug(dg#{prop.java_NameBean},model.#{prop.java_Name}Sug,add#{prop.java_NameBean})}" />
|
684
|
+
# #END
|
685
|
+
#
|
686
|
+
#
|
687
|
+
# end
|
688
|
+
#end
|
689
|
+
|
690
|
+
def flex_writeMXML_vo_mapping(prop)
|
691
|
+
#nop
|
692
|
+
end
|
693
|
+
def flex_writeMXML_Form_item_property_column(pcol)
|
694
|
+
#nop
|
695
|
+
end
|
696
|
+
|
697
|
+
end
|
698
|
+
|
699
|
+
|
700
|
+
|
701
|
+
|