cpee 1.4.30 → 1.4.31

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,4 +8,15 @@
8
8
  <attribute name="condition" rngui:label="Condition">
9
9
  <data type="string" rngui:label="Condition"/>
10
10
  </attribute>
11
+ <element name="_probability" rngui:mark="true" rngui:header="Execution Probability">
12
+ <element name="_probability_min" rngui:label='Min times'>
13
+ <data type='nonNegativeInteger' rngui:label='Times'/>
14
+ </element>
15
+ <element name="_probability_max" rngui:label='Max times'>
16
+ <data type='nonNegativeInteger' rngui:label='Times'/>
17
+ </element>
18
+ <element name="_probability_avg" rngui:label='Avg times'>
19
+ <data type='nonNegativeInteger' rngui:label='Times'/>
20
+ </element>
21
+ </element>
11
22
  </element>
@@ -1 +1,22 @@
1
- <element rngui:version="1.2" name="otherwise" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org"/>
1
+ <element rngui:version="1.2" name="otherwise" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
2
+ <element name="_probability" rngui:mark="true" rngui:header="Execution Probability">
3
+ <element name="_probability_min" rngui:label='Min in %'>
4
+ <data type='integer' rngui:label='Percent 0-100'>
5
+ <param name="minInclusive">1</param>
6
+ <param name="maxInclusive">100</param>
7
+ </data>
8
+ </element>
9
+ <element name="_probability_max" rngui:label='Max in %'>
10
+ <data type='integer' rngui:label='Percent 0-100'>
11
+ <param name="minInclusive">1</param>
12
+ <param name="maxInclusive">100</param>
13
+ </data>
14
+ </element>
15
+ <element name="_probability_avg" rngui:label='Avg in %'>
16
+ <data type='integer' rngui:label='Percent 0-100'>
17
+ <param name="minInclusive">1</param>
18
+ <param name="maxInclusive">100</param>
19
+ </data>
20
+ </element>
21
+ </element>
22
+ </element>
@@ -1,4 +1,5 @@
1
1
  <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <circle cx="15" cy="15" r="14" class="standwithout"/>
3
- <text transform="translate(15,20)" class="htext cfill normal">{..}</text>
2
+ <rect x="11" y="6" width="9" height="18" rx="0" class="hline white"/>
3
+ <path class="cline hfill stand" d="M 11,5 C 2,9 2,21 11,25 M 20,5 C 29,9 29,21 20,25" style="stroke-dasharray:1,4;"/>
4
+ <line x1="15.6" y1="4" x2="15.6" y2="27" class="ourline"/>
4
5
  </svg>
@@ -0,0 +1,8 @@
1
+ <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
+ <rect transform="rotate(45,14,12)" x="7" y="3" width="21" height="21" class="cline hfill stand"/>
3
+ <line x1="10.5" y1="20.5" x2="20.5" y2="10.5" class="stand"/>
4
+ <line x1="10.5" y1="10.5" x2="20.5" y2="20.5" class="stand"/>
5
+ <line x1="8.5" y1="15.5" x2="22.5" y2="15.5" class="stand"/>
6
+ <line x1="15.5" y1="8.5" x2="15.5" y2="22.5" class="stand"/>
7
+ </svg>
8
+
@@ -0,0 +1,3 @@
1
+ <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
+ <circle cx="15" cy="15" r="14" class="standfat"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
+ <circle cx="15" cy="15" r="14" class="rfill hfill cline standfat"/>
3
+ </svg>
@@ -1,4 +1,5 @@
1
1
  <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect transform="rotate(45,14,12)" x="7" y="3" width="21" height="21" class="cline hfill stand"/>
3
- <text transform="translate(15,20)" class="small">|||</text>
2
+ <rect x="11" y="6" width="9" height="18" rx="0" class="hline white"/>
3
+ <path class="cline hfill stand" d="M 11,5 C 2,9 2,21 11,25 M 20,5 C 29,9 29,21 20,25" style="stroke-dasharray:1,4;"/>
4
+ <line x1="15.6" y1="4" x2="15.6" y2="27" class="ourline"/>
4
5
  </svg>
@@ -0,0 +1,14 @@
1
+ <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
+ <rect x="1" y="3" width="24" height="24" rx="4" class="hfill rfill cline stand"/>
3
+
4
+ <circle cx="24" cy="15" r="10" class="cline rfill stand" style="stroke-dasharray: 1,3"/>
5
+ <circle cx="24" cy="15" r="7" class="cline rfill stand" style="stroke-dasharray: 1,3"/>
6
+ <line x1="24" y1="11" x2="20" y2="18" class="stand"/>
7
+ <line x1="20" y1="18" x2="28" y2="18" class="stand"/>
8
+ <line x1="28" y1="18" x2="24" y2="11" class="stand"/>
9
+
10
+ <circle cx="55.5" cy="15" r="14" class="cline hfill rfill stand"/>
11
+ <line x1="55.5" y1="11" x2="51.5" y2="18" class="stand"/>
12
+ <line x1="51.5" y1="18" x2="59.5" y2="18" class="stand"/>
13
+ <line x1="59.5" y1="18" x2="55.5" y2="11" class="stand"/>
14
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
+ <rect x="11" y="6" width="9" height="18" rx="0" class="hline white"/>
3
+ <path class="cline hfill stand" d="M 11,5 C 2,9 2,21 11,25 M 20,5 C 29,9 29,21 20,25" style="stroke-dasharray:1,4;"/>
4
+ <line x1="15.6" y1="4" x2="15.6" y2="27" class="ourline"/>
5
+ </svg>
@@ -8,8 +8,6 @@ function WFAdaptorManifestation(adaptor) {
8
8
  this.compact = false;
9
9
  this.endpoints = {};
10
10
 
11
- this.noarrow = ['alternative', 'otherwise'];
12
-
13
11
  //{{{ transform the details data to description parts based on rng
14
12
  this.source = function(base,opts) {
15
13
  if (base[0].namespaceURI == "http://relaxng.org/ns/structure/1.0") {
@@ -34,11 +32,11 @@ function WFAdaptorManifestation(adaptor) {
34
32
  return base;
35
33
  }
36
34
  }; //}}}
37
- //{{{ Return the svgid for the clicked task
38
- this.clicked = function(){
35
+ //{{{ Return the svgid for the selected task
36
+ this.selected = function(){
39
37
  var svgid = 'unknown';
40
38
  _.each(self.adaptor.illustrator.get_elements(),function(value,key) {
41
- if ($(value).hasClass('clicked')) {
39
+ if ($(value).hasClass('selected')) {
42
40
  svgid = $(value).attr('element-id');
43
41
  }
44
42
  });
@@ -189,12 +187,15 @@ function WFAdaptorManifestation(adaptor) {
189
187
  }
190
188
  return false;
191
189
  } // }}}
190
+ this.events.suppress = function(svgid, e, child, sibling) { // {{{
191
+ return false;
192
+ } // }}}
192
193
  this.events.click = function(svgid, e) { // {{{
193
194
  if (self.adaptor.description.get_node_by_svg_id(svgid).length == 0) {
194
195
  return;
195
196
  }
196
197
 
197
- self.adaptor.illustrator.get_elements().removeClass('clicked');
198
+ self.adaptor.illustrator.get_elements().removeClass('selected');
198
199
 
199
200
  if (e && e.ctrlKey) {
200
201
  if (save['state'] != "ready" && save['state'] != "stopped") { return false; }
@@ -209,7 +210,7 @@ function WFAdaptorManifestation(adaptor) {
209
210
 
210
211
  var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
211
212
  if (vtarget.length > 0) {
212
- vtarget.parents('g.element[element-id]').addClass('clicked');
213
+ vtarget.parents('g.element[element-id]').addClass('selected');
213
214
  }
214
215
 
215
216
  self.update_details(svgid);
@@ -237,7 +238,28 @@ function WFAdaptorManifestation(adaptor) {
237
238
  'illustrator': {//{{{
238
239
  'endnodes': 'this',
239
240
  'label': function(node){
240
- return $('> label',$(node).children('parameters')).text().replace(/^['"]/,'').replace(/['"]$/,'');
241
+ var ep = self.endpoints[$(node).attr('endpoint')];
242
+ var eplen = 1;
243
+ if (ep != undefined && ep[0] == '[') {
244
+ try {
245
+ eplen = JSON.parse(ep).length;
246
+ } catch(e) {
247
+ eplen = 1;
248
+ }
249
+ } else {
250
+ eplen = 1;
251
+ }
252
+ var avg = $('> _timing_avg',$(node).children('_timing')).text();
253
+ var lnd = $(node).attr('endpoint');
254
+ var ret = [ { column: 'Label', value: $('> label',$(node).children('parameters')).text().replace(/^['"]/,'').replace(/['"]$/,'') } ];
255
+ if (lnd != '') {
256
+ ret.push({ column: 'Resource', value: lnd });
257
+ ret.push({ column: 'R#', value: eplen });
258
+ }
259
+ if (avg != '') {
260
+ ret.push({ column: 'Average', value: avg + 'min' });
261
+ }
262
+ return ret;
241
263
  },
242
264
  'info': function(node){ return { 'element-endpoint': $(node).attr('endpoint') }; },
243
265
  'resolve_symbol': function(node) {
@@ -274,9 +296,9 @@ function WFAdaptorManifestation(adaptor) {
274
296
  'label': function(node){
275
297
  var lab = $(node).attr('label');
276
298
  if (lab) {
277
- return lab.replace(/^['"]/,'').replace(/['"]$/,'');
299
+ return [ { column: 'Label', value: lab.replace(/^['"]/,'').replace(/['"]$/,'') } ];
278
300
  } else {
279
- return "";
301
+ return [];
280
302
  }
281
303
  },
282
304
  'svg': self.adaptor.theme_dir + 'symbols/manipulate.svg'
@@ -332,8 +354,81 @@ function WFAdaptorManifestation(adaptor) {
332
354
  return [];
333
355
  }, //}}}
334
356
  'adaptor': {//{{{
335
- 'mousedown': function (node,e) { self.events.mousedown(node,e,false,true); },
357
+ 'mousedown': function (node,e) { self.events.mousedown(node,e,false,false); },
358
+ }//}}}
359
+ }; /*}}}*/
360
+ this.elements.end = { /*{{{*/
361
+ 'type': 'primitive',
362
+ 'illustrator': {//{{{
363
+ 'endnodes': 'this',
364
+ 'svg': self.adaptor.theme_dir + 'symbols/end.svg'
365
+ }, //}}}
366
+ 'adaptor': {//{{{
367
+ 'mousedown': function (node,e) {
368
+ self.events.suppress();
369
+ }
370
+ }//}}}
371
+ }; /*}}}*/
372
+ this.elements.event_end = { /*{{{*/
373
+ 'type': 'primitive',
374
+ 'illustrator': {//{{{
375
+ 'endnodes': 'this',
376
+ 'svg': self.adaptor.theme_dir + 'symbols/event_end.svg'
377
+ }, //}}}
378
+ 'adaptor': {//{{{
379
+ 'mousedown': function (node,e) {
380
+ self.events.suppress();
381
+ },
336
382
  'click': self.events.click,
383
+ 'dblclick': self.events.dblclick,
384
+ 'mouseover': self.events.mouseover,
385
+ 'mouseout': self.events.mouseout
386
+ }//}}}
387
+ }; /*}}}*/
388
+ this.elements.choose_finish = { /*{{{*/
389
+ 'type': 'primitive',
390
+ 'illustrator': {//{{{
391
+ 'endnodes': 'this',
392
+ 'svg': self.adaptor.theme_dir + 'symbols/choose_inclusive.svg',
393
+ 'resolve_symbol': function(node) {
394
+ if($(node).attr('mode') == 'exclusive') {
395
+ return 'choose_exclusive_finish';
396
+ } else {
397
+ return 'choose_inclusive_finish';
398
+ }
399
+ },
400
+ }, //}}}
401
+ 'adaptor': {//{{{
402
+ 'mousedown': function (node,e) {
403
+ self.events.mousedown(node,e,true,true);
404
+ },
405
+ 'click': self.events.click,
406
+ 'dblclick': self.events.dblclick,
407
+ 'mouseover': self.events.mouseover,
408
+ 'mouseout': self.events.mouseout
409
+ }//}}}
410
+ }; /*}}}*/
411
+ this.elements.parallel_finish = { /*{{{*/
412
+ 'type': 'primitive',
413
+ 'illustrator': {//{{{
414
+ 'endnodes': 'this',
415
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
416
+ 'resolve_symbol': function(node) {
417
+ if($(node).attr('wait') == '-1') {
418
+ return 'parallel_simple';
419
+ } else {
420
+ return 'parallel_complex';
421
+ }
422
+ },
423
+ }, //}}}
424
+ 'adaptor': {//{{{
425
+ 'mousedown': function (node,e) {
426
+ self.events.mousedown(node,e,true,true);
427
+ },
428
+ 'click': self.events.click,
429
+ 'dblclick': self.events.dblclick,
430
+ 'mouseover': self.events.mouseover,
431
+ 'mouseout': self.events.mouseout
337
432
  }//}}}
338
433
  }; /*}}}*/
339
434
 
@@ -341,9 +436,10 @@ function WFAdaptorManifestation(adaptor) {
341
436
  this.elements.choose = { /*{{{*/
342
437
  'type': 'complex',
343
438
  'illustrator': {//{{{
344
- 'label': function(node){return $(node).attr('mode') == 'exclusive' ? 'exclusive' : 'inclusive' },
439
+ 'label': function(node){ return [ { column: 'Label', value: $(node).attr('mode') == 'exclusive' ? 'exclusive' : 'inclusive' } ]; },
345
440
  'endnodes': 'aggregate',
346
441
  'closeblock': false,
442
+ 'closing_symbol': 'choose_finish',
347
443
  'expansion': function(node) {
348
444
  return 'horizontal';
349
445
  },
@@ -403,8 +499,13 @@ function WFAdaptorManifestation(adaptor) {
403
499
  this.elements.otherwise = { /*{{{*/
404
500
  'type': 'complex',
405
501
  'illustrator': {//{{{
502
+ 'label': function(node){
503
+ var avg = $('> _probability_avg',$(node).children('_probability')).text();
504
+ return (avg == '' ? [] : [ {}, {}, {}, {}, { column: 'Average', value: avg + '%' } ]);
505
+ },
406
506
  'endnodes': 'passthrough',
407
507
  'closeblock': false,
508
+ 'noarrow': true,
408
509
  'expansion': function(node) {
409
510
  return 'vertical';
410
511
  },
@@ -481,8 +582,16 @@ function WFAdaptorManifestation(adaptor) {
481
582
  this.elements.alternative = { /*{{{*/
482
583
  'type': 'complex',
483
584
  'illustrator': {//{{{
484
- 'label': function(node){return $(node).attr('condition')},
585
+ 'label': function(node){
586
+ var avg = $('> _probability_avg',$(node).children('_probability')).text();
587
+ var ret = [ { column: 'Label', value: $(node).attr('condition') } ];
588
+ if (avg != '') {
589
+ ret.push({}, {}, {}, {},{ column: 'Average', value: avg + '%' });
590
+ }
591
+ return ret;
592
+ },
485
593
  'endnodes': 'passthrough',
594
+ 'noarrow': true,
486
595
  'closeblock':false,
487
596
  'expansion': function(node) {
488
597
  return 'vertical';
@@ -564,7 +673,14 @@ function WFAdaptorManifestation(adaptor) {
564
673
  this.elements.loop = { /*{{{*/
565
674
  'type': 'complex',
566
675
  'illustrator': {//{{{
567
- 'label': function(node){return $(node).attr('condition') + ($(node).attr('mode') == 'pre_test' ? ' (⭱)' : ' (⭳)') },
676
+ 'label': function(node){
677
+ var avg = $('> _probability_avg',$(node).children('_probability')).text();
678
+ var ret = [ { column: 'Label', value: $(node).attr('condition') + ($(node).attr('mode') == 'pre_test' ? ' (⭱)' : ' (⭳)') } ];
679
+ if (avg != '') {
680
+ ret.push({ column: 'Average', value: avg + '⨉' });
681
+ }
682
+ return ret;
683
+ },
568
684
  'endnodes': 'this',
569
685
  'closeblock': true,
570
686
  'expansion': function(node) {
@@ -652,9 +768,9 @@ function WFAdaptorManifestation(adaptor) {
652
768
  this.elements.parallel = { /*{{{*/
653
769
  'type': 'complex',
654
770
  'illustrator': {//{{{
655
- 'endnodes': 'this',
771
+ 'endnodes': 'aggregate',
656
772
  'closeblock': false,
657
- 'border': true,
773
+ 'closing_symbol': 'parallel_finish',
658
774
  'expansion': function(node) {
659
775
  // check if any sibling other than 'parallel_branch' is present
660
776
  if($(node).children(':not(parallel_branch)').length > 0) return 'vertical';
@@ -667,49 +783,37 @@ function WFAdaptorManifestation(adaptor) {
667
783
  },//}}}
668
784
  'description': self.adaptor.theme_dir + 'rngs/parallel.rng',
669
785
  'permissible_children': function(node,mode) { //{{{
786
+ var func = null;
787
+ if (mode == 'into') { func = self.adaptor.description.insert_first_into }
788
+ else { func = self.adaptor.description.insert_after }
670
789
  var childs = [
671
790
  {'label': 'Service Call with Scripts',
672
- 'function_call': self.adaptor.description.insert_last_into,
791
+ 'function_call': func,
673
792
  'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
674
793
  'type': 'callmanipulate',
675
794
  'params': [self.adaptor.description.elements.callmanipulate, node]},
676
795
  {'label': 'Service Call',
677
- 'function_call': self.adaptor.description.insert_last_into,
796
+ 'function_call': func,
678
797
  'menu_icon': self.elements.call.illustrator.svg.clone(),
679
798
  'type': 'call',
680
799
  'params': [self.adaptor.description.elements.call, node]},
681
800
  {'label': 'Manipulate',
682
- 'function_call': self.adaptor.description.insert_last_into,
801
+ 'function_call': func,
683
802
  'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
684
803
  'type': 'manipulate',
685
804
  'params': [self.adaptor.description.elements.manipulate, node]},
686
805
  {'label': 'Decision',
687
- 'function_call': self.adaptor.description.insert_last_into,
806
+ 'function_call': func,
688
807
  'menu_icon': self.elements.choose.illustrator.svg.clone(),
689
808
  'type': 'choose',
690
809
  'params': [self.adaptor.description.elements.choose, node]},
691
810
  {'label': 'Loop',
692
- 'function_call': self.adaptor.description.insert_last_into,
811
+ 'function_call': func,
693
812
  'menu_icon': self.elements.loop.illustrator.svg.clone(),
694
813
  'type': 'loop',
695
814
  'params': [self.adaptor.description.elements.loop, node]},
696
- {'label': 'Terminate',
697
- 'function_call': self.adaptor.description.insert_last_into,
698
- 'menu_icon': self.elements.terminate.illustrator.svg.clone(),
699
- 'type': 'terminate',
700
- 'params': [self.adaptor.description.elements.terminate, node]},
701
- {'label': 'Stop',
702
- 'function_call': self.adaptor.description.insert_last_into,
703
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
704
- 'type': 'stop',
705
- 'params': [self.adaptor.description.elements.stop, node]},
706
- {'label': 'Critical',
707
- 'function_call': self.adaptor.description.insert_last_into,
708
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
709
- 'type': 'critical',
710
- 'params': [self.adaptor.description.elements.critical, node]},
711
815
  {'label': 'Parallel Branch',
712
- 'function_call': self.adaptor.description.insert_last_into,
816
+ 'function_call': func,
713
817
  'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
714
818
  'type': 'parallel_branch',
715
819
  'params': [self.adaptor.description.elements.parallel_branch, node]}
@@ -735,11 +839,19 @@ function WFAdaptorManifestation(adaptor) {
735
839
  this.elements.parallel_branch = { /*{{{*/
736
840
  'type': 'complex',
737
841
  'illustrator': {//{{{
738
- 'endnodes': 'this',
842
+ 'endnodes': 'passthrough',
739
843
  'closeblock': false,
844
+ 'noarrow': true,
740
845
  'expansion': function(node) {
741
846
  return 'vertical';
742
847
  },
848
+ 'resolve_symbol': function(node,shift) {
849
+ if(shift == true) {
850
+ return 'parallel_branch_event';
851
+ } else {
852
+ return 'parallel_branch_normal';
853
+ }
854
+ },
743
855
  'col_shift': function(node) {
744
856
  if(node.parentNode.tagName == 'choose') return false;
745
857
  if($(node).parents('parallel').first().children(':not(parallel_branch)').length > 0) return true;
@@ -811,7 +923,12 @@ function WFAdaptorManifestation(adaptor) {
811
923
  }, //}}}
812
924
  'adaptor': {//{{{
813
925
  'mousedown': function (node,e) {
814
- self.events.mousedown(node,e,true,false);
926
+ var xml_node = self.adaptor.description.get_node_by_svg_id(node);
927
+ if(xml_node.get(0).parentNode.tagName == 'parallel') {
928
+ self.events.mousedown(node,e,true,false);
929
+ } else {
930
+ self.events.mousedown(node,e,true,true);
931
+ }
815
932
  },
816
933
  'click': self.events.click,
817
934
  'dblclick': self.events.dblclick,
@@ -933,9 +1050,11 @@ function WFAdaptorManifestation(adaptor) {
933
1050
  'illustrator': {//{{{
934
1051
  'endnodes': 'passthrough',
935
1052
  'closeblock': false,
1053
+ 'balance': true,
936
1054
  'expansion': function(node) {
937
1055
  return 'vertical';
938
1056
  },
1057
+ 'closing_symbol': 'end',
939
1058
  'col_shift': function(node) {
940
1059
  return true;
941
1060
  },
@@ -1009,31 +1128,67 @@ function WFAdaptorManifestation(adaptor) {
1009
1128
  // * they may only have an illustrator (or other parts)
1010
1129
  // * they HAVE TO have a parent
1011
1130
  this.elements.callmanipulate = { /*{{{*/
1012
- 'type': 'abstract',
1013
1131
  'parent': 'call',
1014
1132
  'description': self.adaptor.theme_dir + 'rngs/callmanipulate.rng',
1015
1133
  'illustrator': {//{{{
1016
- 'label': function(node){return $('> label',$(node).children('parameters')).text().replace(/^['"]/,'').replace(/['"]$/,'')},
1017
1134
  'info': function(node){ return { 'element-endpoint': $(node).attr('endpoint') }; },
1018
1135
  'svg': self.adaptor.theme_dir + 'symbols/callmanipulate.svg'
1019
1136
  },//}}}
1020
1137
  }; /*}}}*/
1021
1138
  this.elements.choose_inclusive = { /*{{{*/
1022
- 'type': 'abstract',
1023
1139
  'parent': 'choose',
1024
1140
  'illustrator': {//{{{
1025
1141
  'svg': self.adaptor.theme_dir + 'symbols/choose_inclusive.svg'
1026
- },//}}}
1142
+ }//}}}
1027
1143
  }; /*}}}*/
1028
1144
  this.elements.choose_exclusive = { /*{{{*/
1029
- 'type': 'abstract',
1030
1145
  'parent': 'choose',
1031
1146
  'illustrator': {//{{{
1032
1147
  'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1033
1148
  },//}}}
1034
1149
  }; /*}}}*/
1150
+ this.elements.choose_inclusive_finish = { /*{{{*/
1151
+ 'parent': 'choose_finish',
1152
+ 'illustrator': {//{{{
1153
+ 'svg': self.adaptor.theme_dir + 'symbols/choose_inclusive.svg'
1154
+ }//}}}
1155
+ }; /*}}}*/
1156
+ this.elements.choose_exclusive_finish = { /*{{{*/
1157
+ 'parent': 'choose_finish',
1158
+ 'illustrator': {//{{{
1159
+ 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1160
+ },//}}}
1161
+ }; /*}}}*/
1162
+ this.elements.parallel_simple = { /*{{{*/
1163
+ 'parent': 'parallel_finish',
1164
+ 'illustrator': {//{{{
1165
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel.svg'
1166
+ }//}}}
1167
+ }; /*}}}*/
1168
+ this.elements.parallel_complex = { /*{{{*/
1169
+ 'parent': 'parallel_finish',
1170
+ 'illustrator': {//{{{
1171
+ 'svg': self.adaptor.theme_dir + 'symbols/complex.svg'
1172
+ },//}}}
1173
+ }; /*}}}*/
1174
+ this.elements.parallel_branch_normal = { /*{{{*/
1175
+ 'parent': 'parallel_branch',
1176
+ 'illustrator': {//{{{
1177
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel_branch_normal.svg'
1178
+ }//}}}
1179
+ }; /*}}}*/
1180
+ this.elements.parallel_branch_event = { /*{{{*/
1181
+ 'parent': 'parallel_branch',
1182
+ 'illustrator': {//{{{
1183
+ 'endnodes': 'this',
1184
+ 'noarrow': false,
1185
+ 'border': true,
1186
+ 'wide': true,
1187
+ 'closing_symbol': 'event_end',
1188
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel_branch_event.svg'
1189
+ }//}}}
1190
+ }; /*}}}*/
1035
1191
  this.elements.scripts = { /*{{{*/
1036
- 'type': 'abstract',
1037
1192
  'description': [self.adaptor.theme_dir + 'rngs/update.rng',self.adaptor.theme_dir + 'rngs/finalize.rng']
1038
1193
  }; /*}}}*/
1039
1194
  }