cpee 2.1.47 → 2.1.48

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/index.html +1 -1
  3. data/cockpit/js/instance.js +15 -11
  4. data/cockpit/js/wfadaptor.js +18 -13
  5. data/cockpit/templates/Subprocess.xml +35 -371
  6. data/cockpit/templates/Wait.xml +7 -400
  7. data/cockpit/themes/compact/rngs/call.rng +8 -0
  8. data/cockpit/themes/compact/rngs/callmanipulate.rng +8 -0
  9. data/cockpit/themes/compact/rngs/closed_loop_control.rng +2 -2
  10. data/cockpit/themes/compact/rngs/closed_loop_measuring.rng +3 -3
  11. data/cockpit/themes/compact/theme.js +15 -9
  12. data/cockpit/themes/control/rngs/call.rng +8 -0
  13. data/cockpit/themes/control/rngs/callmanipulate.rng +8 -0
  14. data/cockpit/themes/control/rngs/closed_loop_control.rng +2 -2
  15. data/cockpit/themes/control/rngs/closed_loop_measuring.rng +3 -3
  16. data/cockpit/themes/control/theme.js +17 -11
  17. data/cockpit/themes/default/rngs/call.rng +8 -0
  18. data/cockpit/themes/default/rngs/callmanipulate.rng +8 -0
  19. data/cockpit/themes/default/rngs/closed_loop_control.rng +2 -2
  20. data/cockpit/themes/default/rngs/closed_loop_measuring.rng +3 -3
  21. data/cockpit/themes/default/theme.js +15 -9
  22. data/cockpit/themes/extended/rngs/call.rng +8 -0
  23. data/cockpit/themes/extended/rngs/callmanipulate.rng +8 -0
  24. data/cockpit/themes/extended/rngs/closed_loop_control.rng +2 -2
  25. data/cockpit/themes/extended/rngs/closed_loop_measuring.rng +3 -3
  26. data/cockpit/themes/extended/theme.js +15 -9
  27. data/cockpit/themes/model/theme.js +15 -9
  28. data/cockpit/themes/packed/rngs/call.rng +8 -0
  29. data/cockpit/themes/packed/rngs/callmanipulate.rng +8 -0
  30. data/cockpit/themes/packed/rngs/closed_loop_control.rng +2 -2
  31. data/cockpit/themes/packed/rngs/closed_loop_measuring.rng +3 -3
  32. data/cockpit/themes/packed/theme.js +15 -9
  33. data/cockpit/themes/preset/rngs/call.rng +8 -0
  34. data/cockpit/themes/preset/rngs/callmanipulate.rng +8 -0
  35. data/cockpit/themes/preset/rngs/closed_loop_control.rng +2 -2
  36. data/cockpit/themes/preset/rngs/closed_loop_measuring.rng +3 -3
  37. data/cockpit/themes/preset/theme.js +15 -9
  38. data/cpee.gemspec +1 -1
  39. data/lib/cpee/implementation.rb +5 -5
  40. data/lib/cpee/persistence.rb +19 -16
  41. data/server/executionhandlers/ruby/connection.rb +21 -11
  42. data/server/executionhandlers/ruby/desc.xml +107 -0
  43. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +61 -8
  44. data/server/resources/test.pdf +0 -0
  45. data/server/routing/end.pid +1 -1
  46. data/server/routing/forward-events-00.pid +1 -1
  47. data/server/routing/forward-votes.pid +1 -1
  48. data/server/routing/persist.pid +1 -1
  49. data/tools/cpee +40 -9
  50. metadata +5 -8
  51. data/cockpit/templates/Wait.xml.attrs +0 -16
  52. data/server/routing/forward-events-01.pid +0 -1
  53. data/server/routing/forward-events-02.pid +0 -1
  54. data/server/routing/forward-events-03.pid +0 -1
  55. data/server/routing/forward-events-04.pid +0 -1
@@ -1,37 +1,19 @@
1
1
  <?xml version="1.0"?>
2
2
  <testset xmlns="http://cpee.org/ns/properties/2.0">
3
3
  <executionhandler>ruby</executionhandler>
4
- <dataelements>
5
- <i>0</i>
6
- </dataelements>
4
+ <dataelements/>
7
5
  <endpoints>
8
- <machine>machine</machine>
9
- <start_url>https://cpee.org/flow/start/url/</start_url>
10
6
  <timeout>https://cpee.org/services/timeout.php</timeout>
11
7
  <subprocess>https://cpee.org/flow/start/url/</subprocess>
12
- <sensor>sensor</sensor>
13
- <worklist>https-post://cpee.org/worklist/server/</worklist>
14
- <human>human</human>
15
- <plc>plc</plc>
16
- <user>https-post://cpee.org/services/timeout-user.php</user>
17
- <auto>https-post://cpee.org/services/timeout-auto.php</auto>
18
- <robot>robot</robot>
19
- <robot_subprocess>robot_subprocess</robot_subprocess>
20
- <send>send</send>
21
- <receive>receive</receive>
22
- <wait>wait</wait>
23
8
  </endpoints>
24
9
  <attributes>
25
10
  <info>Wait</info>
26
11
  <creator>Christine Ashcreek</creator>
27
12
  <author>Christine Ashcreek</author>
28
- <organisation1>http://cpee.org/~demo/orgviz/organisation_informatik.xml</organisation1>
29
- <customer>pilotfabrik</customer>
30
13
  <modeltype>CPEE</modeltype>
31
14
  <guarded>none</guarded>
32
- <status>development</status>
33
15
  <guarded_id/>
34
- <model_uuid>c09dad6b-547e-41a9-8f31-95c40e71c607</model_uuid>
16
+ <model_uuid>c92d0c0b-8bbd-40dd-baad-01c5616dfceb</model_uuid>
35
17
  <model_version/>
36
18
  <theme>extended</theme>
37
19
  <design_dir>Templates.dir</design_dir>
@@ -39,390 +21,12 @@
39
21
  </attributes>
40
22
  <description>
41
23
  <description xmlns="http://cpee.org/ns/description/1.0">
42
- <manipulate id="a5" label="initialize values"/>
43
- <parallel wait="-1" cancel="last">
44
- <parallel_branch pass="" local="">
45
- <call id="a2" endpoint="timeout">
46
- <parameters>
47
- <label>buy details for cold calls</label>
48
- <method>:post</method>
49
- <arguments>
50
- <timeout/>
51
- </arguments>
52
- </parameters>
53
- <annotations>
54
- <_timing>
55
- <_timing_weight/>
56
- <_timing_avg/>
57
- <explanations/>
58
- </_timing>
59
- <_context_data_analysis>
60
- <probes/>
61
- <ips/>
62
- </_context_data_analysis>
63
- <report>
64
- <url/>
65
- </report>
66
- <_notes>
67
- <_notes_general/>
68
- </_notes>
69
- </annotations>
70
- <documentation>
71
- <input/>
72
- <output/>
73
- <implementation>
74
- <description/>
75
- </implementation>
76
- </documentation>
77
- </call>
78
- </parallel_branch>
79
- <parallel_branch>
80
- <call id="a6" endpoint="timeout">
81
- <parameters>
82
- <label>participating in exhibitions</label>
83
- <method>:post</method>
84
- <arguments>
85
- <timeout/>
86
- </arguments>
87
- </parameters>
88
- <annotations>
89
- <_timing>
90
- <_timing_weight/>
91
- <_timing_avg/>
92
- <explanations/>
93
- </_timing>
94
- <_context_data_analysis>
95
- <probes/>
96
- <ips/>
97
- </_context_data_analysis>
98
- <report>
99
- <url/>
100
- </report>
101
- <_notes>
102
- <_notes_general/>
103
- </_notes>
104
- </annotations>
105
- <documentation>
106
- <input/>
107
- <output/>
108
- <implementation>
109
- <description/>
110
- </implementation>
111
- </documentation>
112
- </call>
113
- </parallel_branch>
114
- <parallel_branch pass="" local="">
115
- <call id="a7" endpoint="timeout">
116
- <parameters>
117
- <label>knowing someone</label>
118
- <method>:post</method>
119
- <arguments>
120
- <timeout/>
121
- </arguments>
122
- </parameters>
123
- <annotations>
124
- <_timing>
125
- <_timing_weight/>
126
- <_timing_avg/>
127
- <explanations/>
128
- </_timing>
129
- <_context_data_analysis>
130
- <probes/>
131
- <ips/>
132
- </_context_data_analysis>
133
- <report>
134
- <url/>
135
- </report>
136
- <_notes>
137
- <_notes_general/>
138
- </_notes>
139
- </annotations>
140
- <documentation>
141
- <input/>
142
- <output/>
143
- <implementation>
144
- <description/>
145
- </implementation>
146
- </documentation>
147
- </call>
148
- </parallel_branch>
149
- </parallel>
150
24
  <call id="a1" endpoint="timeout">
151
25
  <parameters>
152
- <label>call customer</label>
26
+ <label>Wait</label>
153
27
  <method>:post</method>
154
28
  <arguments>
155
- <timeout/>
156
- </arguments>
157
- </parameters>
158
- <annotations>
159
- <_timing>
160
- <_timing_weight/>
161
- <_timing_avg/>
162
- <explanations/>
163
- </_timing>
164
- <_context_data_analysis>
165
- <probes/>
166
- <ips/>
167
- </_context_data_analysis>
168
- <report>
169
- <url/>
170
- </report>
171
- <_notes>
172
- <_notes_general/>
173
- </_notes>
174
- </annotations>
175
- <documentation>
176
- <input/>
177
- <output/>
178
- <implementation>
179
- <description/>
180
- </implementation>
181
- </documentation>
182
- </call>
183
- <parallel wait="-1" cancel="last">
184
- <parallel_branch pass="" local="">
185
- <call id="a8" endpoint="timeout">
186
- <parameters>
187
- <label>determinate contact person</label>
188
- <method>:post</method>
189
- <arguments>
190
- <timeout/>
191
- </arguments>
192
- </parameters>
193
- <annotations>
194
- <_timing>
195
- <_timing_weight/>
196
- <_timing_avg/>
197
- <explanations/>
198
- </_timing>
199
- <_context_data_analysis>
200
- <probes/>
201
- <ips/>
202
- </_context_data_analysis>
203
- <report>
204
- <url/>
205
- </report>
206
- <_notes>
207
- <_notes_general/>
208
- </_notes>
209
- </annotations>
210
- <documentation>
211
- <input/>
212
- <output/>
213
- <implementation>
214
- <description/>
215
- </implementation>
216
- </documentation>
217
- </call>
218
- </parallel_branch>
219
- <parallel_branch pass="" local="">
220
- <call id="a9" endpoint="timeout">
221
- <parameters>
222
- <label>determinate budget</label>
223
- <method>:post</method>
224
- <arguments>
225
- <timeout/>
226
- </arguments>
227
- </parameters>
228
- <annotations>
229
- <_timing>
230
- <_timing_weight/>
231
- <_timing_avg/>
232
- <explanations/>
233
- </_timing>
234
- <_context_data_analysis>
235
- <probes/>
236
- <ips/>
237
- </_context_data_analysis>
238
- <report>
239
- <url/>
240
- </report>
241
- <_notes>
242
- <_notes_general/>
243
- </_notes>
244
- </annotations>
245
- <documentation>
246
- <input/>
247
- <output/>
248
- <implementation>
249
- <description/>
250
- </implementation>
251
- </documentation>
252
- </call>
253
- </parallel_branch>
254
- </parallel>
255
- <choose mode="exclusive">
256
- <alternative condition="customer is interested">
257
- <_probability>
258
- <_probability_min/>
259
- <_probability_max/>
260
- <_probability_avg/>
261
- </_probability>
262
- </alternative>
263
- <otherwise>
264
- <choose mode="exclusive">
265
- <alternative condition="customer is rich">
266
- <call id="a10" endpoint="timeout">
267
- <parameters>
268
- <label>head of development tries to acquire the customer</label>
269
- <method>:post</method>
270
- <arguments>
271
- <timeout/>
272
- </arguments>
273
- </parameters>
274
- <annotations>
275
- <_timing>
276
- <_timing_weight/>
277
- <_timing_avg/>
278
- <explanations/>
279
- </_timing>
280
- <_context_data_analysis>
281
- <probes/>
282
- <ips/>
283
- </_context_data_analysis>
284
- <report>
285
- <url/>
286
- </report>
287
- <_notes>
288
- <_notes_general/>
289
- </_notes>
290
- </annotations>
291
- <documentation>
292
- <input/>
293
- <output/>
294
- <implementation>
295
- <description/>
296
- </implementation>
297
- </documentation>
298
- </call>
299
- <_probability>
300
- <_probability_min/>
301
- <_probability_max/>
302
- <_probability_avg/>
303
- </_probability>
304
- <terminate/>
305
- </alternative>
306
- <otherwise>
307
- <terminate/>
308
- </otherwise>
309
- </choose>
310
- </otherwise>
311
- </choose>
312
- <call id="a11" endpoint="timeout">
313
- <parameters>
314
- <label>give presentation</label>
315
- <method>:post</method>
316
- <arguments>
317
- <timeout/>
318
- </arguments>
319
- </parameters>
320
- <annotations>
321
- <_timing>
322
- <_timing_weight/>
323
- <_timing_avg/>
324
- <explanations/>
325
- </_timing>
326
- <_context_data_analysis>
327
- <probes/>
328
- <ips/>
329
- </_context_data_analysis>
330
- <report>
331
- <url/>
332
- </report>
333
- <_notes>
334
- <_notes_general/>
335
- </_notes>
336
- </annotations>
337
- <documentation>
338
- <input/>
339
- <output/>
340
- <implementation>
341
- <description/>
342
- </implementation>
343
- </documentation>
344
- </call>
345
- <call id="a3" endpoint="">
346
- <parameters>
347
- <label/>
348
- <method>:post</method>
349
- <arguments/>
350
- </parameters>
351
- <annotations>
352
- <_timing>
353
- <_timing_weight/>
354
- <_timing_avg/>
355
- <explanations/>
356
- </_timing>
357
- <_context_data_analysis>
358
- <probes/>
359
- <ips/>
360
- </_context_data_analysis>
361
- <report>
362
- <url/>
363
- </report>
364
- <_notes>
365
- <_notes_general/>
366
- </_notes>
367
- </annotations>
368
- <documentation>
369
- <input/>
370
- <output/>
371
- <implementation>
372
- <description/>
373
- </implementation>
374
- </documentation>
375
- </call>
376
- <choose mode="exclusive">
377
- <alternative condition="contacted in 2 weeks">
378
- <_probability>
379
- <_probability_min/>
380
- <_probability_max/>
381
- <_probability_avg/>
382
- </_probability>
383
- </alternative>
384
- <otherwise>
385
- <call id="a12" endpoint="timeout">
386
- <parameters>
387
- <label>sales representative calls the customer</label>
388
- <method>:post</method>
389
- <arguments>
390
- <timeout/>
391
- </arguments>
392
- </parameters>
393
- <annotations>
394
- <_timing>
395
- <_timing_weight/>
396
- <_timing_avg/>
397
- <explanations/>
398
- </_timing>
399
- <_context_data_analysis>
400
- <probes/>
401
- <ips/>
402
- </_context_data_analysis>
403
- <report>
404
- <url/>
405
- </report>
406
- <_notes>
407
- <_notes_general/>
408
- </_notes>
409
- </annotations>
410
- <documentation>
411
- <input/>
412
- <output/>
413
- <implementation>
414
- <description/>
415
- </implementation>
416
- </documentation>
417
- </call>
418
- </otherwise>
419
- </choose>
420
- <call id="a4" endpoint="timeout">
421
- <parameters>
422
- <label>create a quation</label>
423
- <method>:post</method>
424
- <arguments>
425
- <timeout/>
29
+ <timeout>2</timeout>
426
30
  </arguments>
427
31
  </parameters>
428
32
  <annotations>
@@ -431,6 +35,9 @@
431
35
  <_timing_avg/>
432
36
  <explanations/>
433
37
  </_timing>
38
+ <_shifting>
39
+ <_shifting_type>Duration</_shifting_type>
40
+ </_shifting>
434
41
  <_context_data_analysis>
435
42
  <probes/>
436
43
  <ips/>
@@ -27,6 +27,14 @@
27
27
  </element>
28
28
  </element>
29
29
  <element name="annotations" rngui:header="Annotations">
30
+ <element name="_generic" rngui:header="Generic" rngui:fold="closed">
31
+ <zeroOrMore rngui:label="Create Annotation Pair">
32
+ <element rngui:label="Name" rngui:labeltype="xml">
33
+ <anyName/>
34
+ <data type="string" rngui:label="Value"/>
35
+ </element>
36
+ </zeroOrMore>
37
+ </element>
30
38
  <element name="_timing" rngui:header="Timing" rngui:fold="closed">
31
39
  <element name="_timing_weight" rngui:label="&#x3C9; - Weight">
32
40
  <data type="float" rngui:label="[0,1]"/>
@@ -50,6 +50,14 @@
50
50
  </element>
51
51
  </element>
52
52
  <element name="annotations" rngui:header="Annotations">
53
+ <element name="_generic" rngui:header="Generic" rngui:fold="closed">
54
+ <zeroOrMore rngui:label="Create Annotation Pair">
55
+ <element rngui:label="Name" rngui:labeltype="xml">
56
+ <anyName/>
57
+ <data type="string" rngui:label="Value"/>
58
+ </element>
59
+ </zeroOrMore>
60
+ </element>
53
61
  <element name="_timing" rngui:header="Timing" rngui:fold="closed">
54
62
  <element name="_timing_weight" rngui:label="&#x3C9; - Weight">
55
63
  <data type="float" rngui:label="[0,1]"/>
@@ -1,6 +1,6 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" ns="http://cpee.org/ns/description/1.0" name="closed_loop_control" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2
- <attribute name="frequency" rngui:label="Interval frequency in Hz" rngui:default="0.1">
3
- <data type="float" rngui:label="Hz"/>
2
+ <attribute name="ctime" rngui:label="Cycle time in ms" rngui:default="100">
3
+ <data type="integer" rngui:label="ms"/>
4
4
  </attribute>
5
5
  <element name="_expected" rngui:header="Values Expected to Change">
6
6
  <zeroOrMore rngui:label="Add Value">
@@ -1,8 +1,8 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" ns="http://cpee.org/ns/description/1.0" name="closed_loop_measuring" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2
- <attribute name="frequency" rngui:label="Interval frequency in Hz" rngui:default="0.1">
3
- <data type="float" rngui:label="Hz"/>
2
+ <attribute name="ctime" rngui:label="Cycle time in ms" rngui:default="100">
3
+ <data type="integer" rngui:label="ms"/>
4
4
  </attribute>
5
- <element name="_expected" rngui:header="Values Expected to Change">
5
+ <element name="_expected" rngui:header="Measured Values">
6
6
  <zeroOrMore rngui:label="Add Value">
7
7
  <element name="value" rngui:label="Value">
8
8
  <data type="string" rngui:label="a dataelement"/>
@@ -253,6 +253,18 @@ function WFAdaptorManifestation(adaptor) {
253
253
  new CustomMenu(e).contextmenu(menu);
254
254
  } //}}}
255
255
 
256
+ function positionHandling(svgid) {
257
+ var xml_node = self.adaptor.description.get_node_by_svg_id(svgid);
258
+ var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
259
+ if (vtarget.length > 0) {
260
+ if (vtarget.parents('g.activities.passive, g.activities.active').length > 0) {
261
+ del_ui_pos(xml_node);
262
+ } else {
263
+ add_ui_pos(xml_node);
264
+ }
265
+ }
266
+ }
267
+
256
268
  // Events
257
269
  this.events.touchend = function(svgid, e) { // {{{
258
270
  clearTimeout(self.presstimer);
@@ -264,15 +276,7 @@ function WFAdaptorManifestation(adaptor) {
264
276
  this.events.mousedown = function(svgid, e, child, sibling) { // {{{
265
277
  if(e.button == 0) { // left-click
266
278
  } else if(e.button == 1) { // middle-click
267
- var xml_node = self.adaptor.description.get_node_by_svg_id(svgid);
268
- var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
269
- if (vtarget.length > 0) {
270
- if (vtarget.parents('g.activities.passive, g.activities.active').length > 0) {
271
- del_ui_pos(xml_node);
272
- } else {
273
- add_ui_pos(xml_node);
274
- }
275
- }
279
+ positionHandling(svgid);
276
280
  } else if(e.button == 2) { // right-click
277
281
  contextMenuHandling(svgid,e,child,sibling);
278
282
  }
@@ -305,6 +309,8 @@ function WFAdaptorManifestation(adaptor) {
305
309
  localStorage.removeItem('marked_from');
306
310
  }
307
311
  }
312
+ } else if (e && (e.shiftKey)) {
313
+ positionHandling(svgid);
308
314
  } else {
309
315
  self.adaptor.illustrator.get_elements().removeClass('marked');
310
316
  localStorage.removeItem('marked');
@@ -27,6 +27,14 @@
27
27
  </element>
28
28
  </element>
29
29
  <element name="annotations" rngui:header="Annotations">
30
+ <element name="_generic" rngui:header="Generic" rngui:fold="closed">
31
+ <zeroOrMore rngui:label="Create Annotation Pair">
32
+ <element rngui:label="Name" rngui:labeltype="xml">
33
+ <anyName/>
34
+ <data type="string" rngui:label="Value"/>
35
+ </element>
36
+ </zeroOrMore>
37
+ </element>
30
38
  <element name="_timing" rngui:header="Timing" rngui:fold="closed">
31
39
  <element name="_timing_weight" rngui:label="&#x3C9; - Weight">
32
40
  <data type="float" rngui:label="[0,1]"/>
@@ -50,6 +50,14 @@
50
50
  </element>
51
51
  </element>
52
52
  <element name="annotations" rngui:header="Annotations">
53
+ <element name="_generic" rngui:header="Generic" rngui:fold="closed">
54
+ <zeroOrMore rngui:label="Create Annotation Pair">
55
+ <element rngui:label="Name" rngui:labeltype="xml">
56
+ <anyName/>
57
+ <data type="string" rngui:label="Value"/>
58
+ </element>
59
+ </zeroOrMore>
60
+ </element>
53
61
  <element name="_timing" rngui:header="Timing" rngui:fold="closed">
54
62
  <element name="_timing_weight" rngui:label="&#x3C9; - Weight">
55
63
  <data type="float" rngui:label="[0,1]"/>
@@ -1,6 +1,6 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" ns="http://cpee.org/ns/description/1.0" name="closed_loop_control" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2
- <attribute name="frequency" rngui:label="Interval frequency in Hz" rngui:default="0.1">
3
- <data type="float" rngui:label="Hz"/>
2
+ <attribute name="ctime" rngui:label="Cycle time in ms" rngui:default="100">
3
+ <data type="integer" rngui:label="ms"/>
4
4
  </attribute>
5
5
  <element name="_expected" rngui:header="Values Expected to Change">
6
6
  <zeroOrMore rngui:label="Add Value">
@@ -1,8 +1,8 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" ns="http://cpee.org/ns/description/1.0" name="closed_loop_measuring" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2
- <attribute name="frequency" rngui:label="Interval frequency in Hz" rngui:default="0.1">
3
- <data type="float" rngui:label="Hz"/>
2
+ <attribute name="ctime" rngui:label="Cycle time in ms" rngui:default="100">
3
+ <data type="integer" rngui:label="ms"/>
4
4
  </attribute>
5
- <element name="_expected" rngui:header="Values Expected to Change">
5
+ <element name="_expected" rngui:header="Measured Values">
6
6
  <zeroOrMore rngui:label="Add Value">
7
7
  <element name="value" rngui:label="Value">
8
8
  <data type="string" rngui:label="a dataelement"/>
@@ -253,6 +253,18 @@ function WFAdaptorManifestation(adaptor) {
253
253
  new CustomMenu(e).contextmenu(menu);
254
254
  } //}}}
255
255
 
256
+ function positionHandling(svgid) {
257
+ var xml_node = self.adaptor.description.get_node_by_svg_id(svgid);
258
+ var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
259
+ if (vtarget.length > 0) {
260
+ if (vtarget.parents('g.activities.passive, g.activities.active').length > 0) {
261
+ del_ui_pos(xml_node);
262
+ } else {
263
+ add_ui_pos(xml_node);
264
+ }
265
+ }
266
+ }
267
+
256
268
  // Events
257
269
  this.events.touchend = function(svgid, e) { // {{{
258
270
  clearTimeout(self.presstimer);
@@ -264,15 +276,7 @@ function WFAdaptorManifestation(adaptor) {
264
276
  this.events.mousedown = function(svgid, e, child, sibling) { // {{{
265
277
  if(e.button == 0) { // left-click
266
278
  } else if(e.button == 1) { // middle-click
267
- var xml_node = self.adaptor.description.get_node_by_svg_id(svgid);
268
- var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
269
- if (vtarget.length > 0) {
270
- if (vtarget.parents('g.activities.passive, g.activities.active').length > 0) {
271
- del_ui_pos(xml_node);
272
- } else {
273
- add_ui_pos(xml_node);
274
- }
275
- }
279
+ positionHandling(svgid);
276
280
  } else if(e.button == 2) { // right-click
277
281
  contextMenuHandling(svgid,e,child,sibling);
278
282
  }
@@ -305,6 +309,8 @@ function WFAdaptorManifestation(adaptor) {
305
309
  localStorage.removeItem('marked_from');
306
310
  }
307
311
  }
312
+ } else if (e && (e.shiftKey)) {
313
+ positionHandling(svgid);
308
314
  } else {
309
315
  self.adaptor.illustrator.get_elements().removeClass('marked');
310
316
  localStorage.removeItem('marked');
@@ -1026,7 +1032,7 @@ function WFAdaptorManifestation(adaptor) {
1026
1032
  } else {
1027
1033
  valtext = '';
1028
1034
  }
1029
- var ret = [ { column: 'Label', value: 'measure: f = ' + $(node).attr('frequency') + ' Hz' + valtext } ];
1035
+ var ret = [ { column: 'Label', value: 'measure: t = ' + $(node).attr('ctime') + ' ms' + valtext } ];
1030
1036
  return ret;
1031
1037
  },
1032
1038
  'svg': self.adaptor.theme_dir + 'symbols/closed_loop_measuring.svg'
@@ -1108,7 +1114,7 @@ function WFAdaptorManifestation(adaptor) {
1108
1114
  } else {
1109
1115
  valtext = '';
1110
1116
  }
1111
- var ret = [ { column: 'Label', value: 'control: f = ' + $(node).attr('frequency') + ' Hz' + valtext } ];
1117
+ var ret = [ { column: 'Label', value: 'control: t = ' + $(node).attr('ctime') + ' ms' + valtext } ];
1112
1118
  return ret;
1113
1119
  },
1114
1120
  'svg': self.adaptor.theme_dir + 'symbols/closed_loop_control.svg'
@@ -27,6 +27,14 @@
27
27
  </element>
28
28
  </element>
29
29
  <element name="annotations" rngui:header="Annotations">
30
+ <element name="_generic" rngui:header="Generic" rngui:fold="closed">
31
+ <zeroOrMore rngui:label="Create Annotation Pair">
32
+ <element rngui:label="Name" rngui:labeltype="xml">
33
+ <anyName/>
34
+ <data type="string" rngui:label="Value"/>
35
+ </element>
36
+ </zeroOrMore>
37
+ </element>
30
38
  <element name="_timing" rngui:header="Timing" rngui:fold="closed">
31
39
  <element name="_timing_weight" rngui:label="&#x3C9; - Weight">
32
40
  <data type="float" rngui:label="[0,1]"/>