cpee 1.4.31 → 1.4.32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/css/ui.css +25 -6
  3. data/cockpit/css/wfadaptor.css +20 -10
  4. data/cockpit/graph.html +7 -2
  5. data/cockpit/index.html +2 -3
  6. data/cockpit/js/details.js +3 -0
  7. data/cockpit/js/instance.js +70 -20
  8. data/cockpit/js/ui.js +32 -5
  9. data/cockpit/js/wfadaptor.js +70 -42
  10. data/cockpit/themes/compact/theme.js +55 -46
  11. data/cockpit/themes/default/symbols/otherwise.svg +2 -1
  12. data/cockpit/themes/{promise/symbols/choose.svg → default/symbols/parallel_branch_compact.svg} +2 -2
  13. data/cockpit/themes/default/theme.js +39 -44
  14. data/cockpit/themes/extended/theme.js +252 -60
  15. data/cockpit/themes/{lego → packed}/theme.js +492 -105
  16. data/cockpit/track.html +39 -32
  17. data/cpee.gemspec +1 -1
  18. data/lib/cpee/controller.rb +2 -0
  19. data/lib/cpee/instantiation.rb +22 -5
  20. data/lib/cpee/value_helper.rb +1 -1
  21. data/lib/instantiation.xml +3 -0
  22. data/log/elasticsearch_logging.rb +189 -50
  23. data/server/handlerwrappers/default.rb +3 -3
  24. data/server/server.pid +1 -0
  25. metadata +5 -53
  26. data/cockpit/themes/lego/rngs/alternative.rng +0 -5
  27. data/cockpit/themes/lego/rngs/call.rng +0 -41
  28. data/cockpit/themes/lego/rngs/choose.rng +0 -8
  29. data/cockpit/themes/lego/rngs/critical.rng +0 -5
  30. data/cockpit/themes/lego/rngs/loop.rng +0 -11
  31. data/cockpit/themes/lego/rngs/manipulate.rng +0 -6
  32. data/cockpit/themes/lego/rngs/parallel.rng +0 -5
  33. data/cockpit/themes/lego/rngs/parallel_branch.rng +0 -8
  34. data/cockpit/themes/lego/symbols/alternative.svg +0 -4
  35. data/cockpit/themes/lego/symbols/call.svg +0 -4
  36. data/cockpit/themes/lego/symbols/callmanipulate.svg +0 -6
  37. data/cockpit/themes/lego/symbols/callori.svg +0 -4
  38. data/cockpit/themes/lego/symbols/choose.svg +0 -4
  39. data/cockpit/themes/lego/symbols/choose_exclusive.svg +0 -5
  40. data/cockpit/themes/lego/symbols/choose_inclusive.svg +0 -4
  41. data/cockpit/themes/lego/symbols/critical.svg +0 -4
  42. data/cockpit/themes/lego/symbols/escape.svg +0 -5
  43. data/cockpit/themes/lego/symbols/lego.svg +0 -72
  44. data/cockpit/themes/lego/symbols/loop.svg +0 -5
  45. data/cockpit/themes/lego/symbols/manipulate.svg +0 -4
  46. data/cockpit/themes/lego/symbols/otherwise.svg +0 -4
  47. data/cockpit/themes/lego/symbols/parallel.svg +0 -6
  48. data/cockpit/themes/lego/symbols/parallel_branch.svg +0 -4
  49. data/cockpit/themes/lego/symbols/scripts.svg +0 -4
  50. data/cockpit/themes/lego/symbols/start.svg +0 -3
  51. data/cockpit/themes/promise/rngs/alternative.rng +0 -5
  52. data/cockpit/themes/promise/rngs/call.rng +0 -41
  53. data/cockpit/themes/promise/rngs/choose.rng +0 -8
  54. data/cockpit/themes/promise/rngs/critical.rng +0 -5
  55. data/cockpit/themes/promise/rngs/loop.rng +0 -11
  56. data/cockpit/themes/promise/rngs/manipulate.rng +0 -6
  57. data/cockpit/themes/promise/rngs/parallel.rng +0 -5
  58. data/cockpit/themes/promise/rngs/parallel_branch.rng +0 -8
  59. data/cockpit/themes/promise/symbols/alternative.svg +0 -4
  60. data/cockpit/themes/promise/symbols/call.svg +0 -4
  61. data/cockpit/themes/promise/symbols/callmanipulate.svg +0 -6
  62. data/cockpit/themes/promise/symbols/choose_exclusive.svg +0 -5
  63. data/cockpit/themes/promise/symbols/choose_inclusive.svg +0 -4
  64. data/cockpit/themes/promise/symbols/critical.svg +0 -4
  65. data/cockpit/themes/promise/symbols/escape.svg +0 -5
  66. data/cockpit/themes/promise/symbols/loop.svg +0 -5
  67. data/cockpit/themes/promise/symbols/manipulate.svg +0 -4
  68. data/cockpit/themes/promise/symbols/otherwise.svg +0 -4
  69. data/cockpit/themes/promise/symbols/parallel.svg +0 -6
  70. data/cockpit/themes/promise/symbols/parallel_branch.svg +0 -4
  71. data/cockpit/themes/promise/symbols/preminder.svg +0 -6
  72. data/cockpit/themes/promise/symbols/scripts.svg +0 -4
  73. data/cockpit/themes/promise/symbols/start.svg +0 -3
  74. data/cockpit/themes/promise/theme.js +0 -801
@@ -48,13 +48,13 @@ function WfAdaptor(theme_base,doit) { // Controller {{{
48
48
  } // }}}
49
49
  this.notify = function() { // public {{{
50
50
  } // }}}
51
- this.draw_labels = function(max,labels){ // public {{{
51
+ this.draw_labels = function(max,labels,height_shift,striped){ // public {{{
52
52
  } // }}}
53
53
  this.set_svg_container = function (container) { // {{{
54
54
  illustrator.set_svg_container(container); // TODO: shadowing the container element
55
55
  } // }}}
56
- this.set_css_container = function(container) { // {{{
57
- illustrator.set_css_container(container);
56
+ this.set_label_container = function(container) { // {{{
57
+ illustrator.set_label_container(container);
58
58
  } // }}}
59
59
 
60
60
  // initialize
@@ -66,6 +66,7 @@ function WfAdaptor(theme_base,doit) { // Controller {{{
66
66
  $.getScript(theme_base, function() {
67
67
  manifestation = new WFAdaptorManifestation(self);
68
68
  illustrator.compact = manifestation.compact == true ? true : false;
69
+ illustrator.striped = manifestation.striped == true ? true : false;
69
70
  description.source = manifestation.source;
70
71
  var deferreds = [];
71
72
  // copy parent stuff
@@ -158,18 +159,20 @@ function WfIllustrator(wf_adaptor) { // View {{{
158
159
  // public
159
160
  this.height = 40;
160
161
  this.width = 40;
161
- this.shift = this.height * 0.26;
162
+ this.height_shift = this.height * 0.26;
163
+ this.width_shift = this.width * 0.39;
162
164
  this.elements = {}; // the svgs
163
165
  this.svg = {};
164
166
  this.draw = {};
165
167
  this.compact = true;
168
+ this.striped = true;
166
169
  // private
167
170
  var self = this;
168
171
  var adaptor = null;
169
172
  // }}}
170
173
  // Generic Functions {{{
171
- this.set_css_container = function(con) { // {{{
172
- self.svg.css = con;
174
+ this.set_label_container = function(con) { // {{{
175
+ self.svg.label_container = con;
173
176
  } // }}}
174
177
  this.set_svg_container = function(con) { // {{{
175
178
  self.svg.container = con;
@@ -196,20 +199,33 @@ function WfIllustrator(wf_adaptor) { // View {{{
196
199
  this.set_svg = function(graph) { // {{{
197
200
  if(graph.max.row < 1) graph.max.row = 1;
198
201
  if(graph.max.col < 1) graph.max.col = 1;
199
- self.svg.container.attr('height', (graph.max.row) * self.height + self.shift);
202
+ self.svg.container.attr('height', (graph.max.row) * self.height + self.height_shift);
200
203
  self.svg.container.attr('width', (graph.max.col+0.55) * self.width );
201
204
  self.svg.container.append(graph.svg);
202
205
  } // }}}
203
206
  this.get_node_by_svg_id = function(svg_id) { // {{{
204
207
  return $('[element-id = \'' + svg_id + '\'] g.activities', self.svg.container);
205
208
  } // }}}
209
+ this.get_label_by_svg_id = function(svg_id) { // {{{
210
+ return $('[element-id = \'' + svg_id + '\']', self.svg.label_container);
211
+ } // }}}
206
212
  this.get_elements = function() { // {{{
207
213
  return $('g.element', self.svg.container);
208
214
  } // }}}
215
+ this.get_labels = function() { // {{{
216
+ return $('[element-id]', self.svg.label_container);
217
+ } // }}}
209
218
  // }}}
210
219
  // Helper Functions {{{
220
+ var draw_stripe = this.draw.draw_stripe = function (row, maxcol) { // {{{
221
+ if (maxcol < 1) maxcol = 1;
222
+ var g = $X('<rect class="stripe ' + (row % 2 == 0 ? 'even' : 'odd') + '" x="0" y="' + String(row*self.height+self.height_shift/2) + '" width="' + (self.width * maxcol + self.width - self.width_shift) + '" height="' + (self.height) + '" xmlns="http://www.w3.org/2000/svg"></rect>');
223
+ self.svg.container.prepend(g);
224
+ return g;
225
+ } // }}}
226
+
211
227
  var draw_label = this.draw.draw_label = function (tname, id, label, row, col, group) { // {{{
212
- var g = $X('<text class="label" transform="translate(' + String((col*self.width)-((self.width*0.39))) + ',' + String(row*self.height+20-((self.height*0.74))) + ')" xmlns="http://www.w3.org/2000/svg"></text>');
228
+ var g = $X('<text class="label" transform="translate(' + String(col*self.width-self.width_shift) + ',' + String(row*self.height+20-(self.height-self.height_shift)) + ')" xmlns="http://www.w3.org/2000/svg"></text>');
213
229
  var spli = $(label.split(/\n/));
214
230
  spli.each(function(k,v) {
215
231
  var tspan = $X('<tspan x="0" dy="' + (spli.length > 1 ? '-7' : '0') + '" xmlns="http://www.w3.org/2000/svg"></tspan>');
@@ -222,20 +238,19 @@ function WfIllustrator(wf_adaptor) { // View {{{
222
238
  }
223
239
  g.append(tspan);
224
240
  });
225
- bind_event(g,tname);
226
241
  if(group) { group.find('g.element[element-id=' + id + ']').append(g); }
227
- else {self.svg.container.children('g:first').append(g);}
242
+ else {self.svg.container.append(g);}
228
243
  return g;
229
244
  } // }}}
230
245
  var draw_symbol = this.draw.draw_symbol = function (sname, id, title, row, col, group, addition) { // {{{
231
246
  if(self.elements[sname] == undefined || self.elements[sname].svg == undefined) sname = 'unknown';
232
247
  if (addition) {
233
248
  var g = $X('<g class="element" element-type="' + sname + '" element-id="' + id + '" xmlns="http://www.w3.org/2000/svg">' +
234
- '<g transform="translate(' + String((col*self.width)-((self.width*0.39))) + ',' + String(row*self.height-((self.height*0.74))) + ')"></g>' +
249
+ '<g transform="translate(' + String(col*self.width-self.width_shift) + ',' + String(row*self.height-(self.height-self.height_shift)) + ')"></g>' +
235
250
  '</g>');
236
251
  } else {
237
252
  var g = $X('<g class="element" element-type="' + sname + '" element-id="' + id + '" xmlns="http://www.w3.org/2000/svg">' +
238
- '<g transform="translate(' + String((col*self.width)-((self.width*0.39))) + ',' + String(row*self.height-((self.height*0.74))) + ')">' +
253
+ '<g transform="translate(' + String(col*self.width-self.width_shift) + ',' + String(row*self.height-(self.height-self.height_shift)) + ')">' +
239
254
  '<text class="super" transform="translate(30,8.4)">' +
240
255
  '<tspan class="active">0</tspan>' +
241
256
  '<tspan class="colon">,</tspan>' +
@@ -252,15 +267,15 @@ function WfIllustrator(wf_adaptor) { // View {{{
252
267
  $(g[0].childNodes[0]).append(sym);
253
268
 
254
269
  // Binding events for symbol
255
- bind_event(sym,sname);
270
+ bind_event(g,sname,true);
256
271
 
257
272
  if(group) {group.append(g);}
258
273
  else {self.svg.container.children('g:first').append(g);}
259
274
  return g;
260
275
  } // }}}
261
- var bind_event = this.draw.bind_event = function(sym,tname) { //{{{
276
+ var bind_event = this.draw.bind_event = function(sym,tname,context) { //{{{
262
277
  for(event_name in adaptor.elements[tname]) {
263
- sym.bind(event_name, {'function_call':adaptor.elements[tname][event_name]}, function(e) { e.data.function_call($(this).parents('.element:first').attr('element-id'),e)});
278
+ sym.bind(event_name, {'function_call':adaptor.elements[tname][event_name]}, function(e) { e.data.function_call($(this).attr('element-id'),e)});
264
279
  if(event_name == 'mousedown') sym.bind('contextmenu', false);
265
280
  }
266
281
  } //}}}
@@ -272,10 +287,10 @@ function WfIllustrator(wf_adaptor) { // View {{{
272
287
  'class="block" rx="15" ry="15" xmlns="http://www.w3.org/2000/svg"/>'));
273
288
  } // }}}
274
289
  var draw_tile = this.draw.draw_tile = function(id, p1, p2, group) { // {{{
275
- group.prepend($X('<rect element-id="' + id + '" x="' + (p1.col-0.50)*self.width + '" ' +
276
- 'y="' + (p1.row-0.80)*self.height + '" ' +
277
- 'width="' + ((p2.col+1.00)-p1.col)*self.width + '" ' +
278
- 'height="' + ((p2.row+1.00)-p1.row)*self.height +'" ' +
290
+ group.prepend($X('<rect element-id="' + id + '" x="' + ((p1.col-1)*self.width + 1.3 * self.width_shift) + '" ' +
291
+ 'y="' + ((p1.row-1)*self.height+self.height_shift/2) + '" ' +
292
+ 'width="' + ((p2.col+1)-p1.col)*self.width + '" ' +
293
+ 'height="' + ((p2.row+1)-p1.row)*self.height +'" ' +
279
294
  'class="tile" rx="15" ry="15" xmlns="http://www.w3.org/2000/svg"/>'));
280
295
  } // }}}
281
296
  var draw_connection = this.draw.draw_connection = function(group, start, end, max_line, num_lines, arrow) { // {{{
@@ -352,16 +367,24 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{
352
367
  // Set Labels //{{{
353
368
  this.set_labels = function(graph) {
354
369
  if (illustrator.compact == false) {
355
- adaptor.draw_labels(graph.max,labels,illustrator.shift);
370
+ adaptor.draw_labels(graph.max,labels,illustrator.height_shift,illustrator.striped == true ? true : false);
371
+ } else {
372
+ adaptor.draw_labels(graph.max,[],illustrator.height_shift,false);
373
+ }
374
+ if (illustrator.striped == true && illustrator.compact == false) {
375
+ for (var i=0; i < graph.max.row; i++) {
376
+ illustrator.draw.draw_stripe(i,graph.max.col);
377
+ }
378
+ }
379
+ if (illustrator.compact == false) {
380
+ if (labels.length > 0) {
381
+ _.each(labels,function(a,key) {
382
+ if (a.label && a.label[0] && a.label[0].column == 'Label' && a.label[0].value) {
383
+ illustrator.draw.draw_label(a.tname, a.element_id, a.label[0].value, a.row, graph.max.col + 1, graph.svg);
384
+ }
385
+ });
386
+ }
356
387
  }
357
- // if (illustrator.compact == false) {
358
- // if (labels.length > 0) {
359
- // var csscol = 0;
360
- // _.each(labels,function(a,key) {
361
- // // illustrator.draw.draw_label(a.tname, a.element_id, a.label, a.row, graph.max.col + 1, graph.svg);
362
- // });
363
- // }
364
- // }
365
388
  } //}}}
366
389
 
367
390
  // Generic Functions {{{
@@ -537,6 +560,9 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{
537
560
  pos.row++;
538
561
  $(root).attr('svg-id','description');
539
562
  group.attr('element-id','group-description');
563
+ if (illustrator.elements[sname].label) {
564
+ labels.push({row: pos.row, element_id: 'start', tname: 'start', label: illustrator.elements[sname].label(root)});
565
+ }
540
566
  illustrator.draw.draw_symbol('start', 'description', 'START', pos.row, pos.col, group);
541
567
  } // }}}
542
568
 
@@ -574,22 +600,9 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{
574
600
  }
575
601
  }
576
602
  // }}}
577
- // Set SVG-ID and labels {{{
578
- if($(context).attr('id') == undefined) {
579
- if(id_counter[tname] == undefined) id_counter[tname] = -1;
580
- $(context).attr('svg-id', tname + '_' + (++id_counter[tname]));
581
- } else {
582
- $(context).attr('svg-id', $(context).attr('id'));
583
- }
584
- if (illustrator.elements[sname].label) {
585
- var lab = illustrator.elements[sname].label(context);
586
- $(context).attr('svg-label', lab);
587
- labels.push({row: pos.row, element_id: $(context).attr('svg-id'), tname: tname, label: lab});
588
- } else {
589
- $(context).attr('svg-label', '');
590
- } // }}}
591
603
 
592
604
  var g;
605
+ set_details(tname,sname,pos,context);
593
606
  [g, endnodes] = draw_position(tname,pos,prev,block,group,endnodes,context);
594
607
 
595
608
  // Prepare next iteration {{{
@@ -642,6 +655,21 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{
642
655
  else {sname = tname;}
643
656
  return sname;
644
657
  } //}}}
658
+ var set_details = function(tname,sname,pos,context) { //{{{
659
+ if($(context).attr('id') == undefined) {
660
+ if(id_counter[tname] == undefined) id_counter[tname] = -1;
661
+ $(context).attr('svg-id', tname + '_' + (++id_counter[tname]));
662
+ } else {
663
+ $(context).attr('svg-id', $(context).attr('id'));
664
+ }
665
+ if (illustrator.elements[sname].label) {
666
+ var lab = illustrator.elements[sname].label(context);
667
+ if (lab && lab[0] && lab[0].value && lab[0].column == 'Label' && lab[0].value != '') {
668
+ $(context).attr('svg-label', lab[0].value);
669
+ }
670
+ labels.push({row: pos.row, element_id: $(context).attr('svg-id'), tname: tname, label: lab});
671
+ }
672
+ } //}}}
645
673
  var draw_position = function(tname,pos,prev,block,group,endnodes,context,second) { // private {{{
646
674
  var sname = sym_name(tname,context);
647
675
  // Draw Symbol {{{
@@ -5,7 +5,8 @@ function WFAdaptorManifestation(adaptor) {
5
5
  this.resources = {};
6
6
  this.elements = {};
7
7
  this.events = {};
8
- this.compact = true;
8
+ this.compact = false;
9
+ this.striped = false;
9
10
  this.endpoints = {};
10
11
 
11
12
  //{{{ transform the details data to description parts based on rng
@@ -32,11 +33,11 @@ function WFAdaptorManifestation(adaptor) {
32
33
  return base;
33
34
  }
34
35
  }; //}}}
35
- //{{{ Return the svgid for the clicked task
36
- this.clicked = function(){
36
+ //{{{ Return the svgid for the selected task
37
+ this.selected = function(){
37
38
  var svgid = 'unknown';
38
39
  _.each(self.adaptor.illustrator.get_elements(),function(value,key) {
39
- if ($(value).hasClass('clicked')) {
40
+ if ($(value).hasClass('selected')) {
40
41
  svgid = $(value).attr('element-id');
41
42
  }
42
43
  });
@@ -64,6 +65,9 @@ function WFAdaptorManifestation(adaptor) {
64
65
  var schema = save['endpoints_cache'][$(node).attr('endpoint')].schema.documentElement;
65
66
  $(rng).find(' > element[name="parameters"] > element[name="arguments"]').replaceWith($(schema).clone());
66
67
  }
68
+ if (save['endpoints_list'][$(node).attr('endpoint')] && !save['endpoints_list'][$(node).attr('endpoint')].startsWith('http')) {
69
+ $(rng).find(' > element[name="parameters"] > element[name="method"]').remove();
70
+ }
67
71
  save['details'] = new RelaxNGui(rng,tab,self.adaptor.description.context_eval,true);
68
72
  save['details'].content(node);
69
73
  format_visual_forms();
@@ -195,7 +199,8 @@ function WFAdaptorManifestation(adaptor) {
195
199
  return;
196
200
  }
197
201
 
198
- self.adaptor.illustrator.get_elements().removeClass('clicked');
202
+ self.adaptor.illustrator.get_elements().removeClass('selected');
203
+ self.adaptor.illustrator.get_labels().removeClass('selected');
199
204
 
200
205
  if (e && e.ctrlKey) {
201
206
  if (save['state'] != "ready" && save['state'] != "stopped") { return false; }
@@ -210,8 +215,9 @@ function WFAdaptorManifestation(adaptor) {
210
215
 
211
216
  var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
212
217
  if (vtarget.length > 0) {
213
- vtarget.parents('g.element[element-id]').addClass('clicked');
218
+ vtarget.parents('g.element[element-id]').addClass('selected');
214
219
  }
220
+ self.adaptor.illustrator.get_label_by_svg_id(svgid).addClass('selected');
215
221
 
216
222
  self.update_details(svgid);
217
223
  }
@@ -219,11 +225,15 @@ function WFAdaptorManifestation(adaptor) {
219
225
  this.events.dblclick = function(svgid, e) { // {{{
220
226
  } // }}}
221
227
  this.events.mouseover = function(svgid, e) { // {{{
222
- $('.tile[element-id = "' + svgid + '"]').css('display','block');
228
+ self.adaptor.illustrator.svg.container.find('.tile[element-id = "' + svgid + '"]').css('display','block');
229
+ self.adaptor.illustrator.svg.container.find('[element-id = "' + svgid + '"]').addClass('hover');
230
+ self.adaptor.illustrator.svg.label_container.find('[element-id = "' + svgid + '"]').addClass('hover');
223
231
  return false;
224
232
  } // }}}
225
233
  this.events.mouseout = function(svgid, e) { // {{{
226
- $('.tile[element-id = "' + svgid + '"]').css('display','none');
234
+ self.adaptor.illustrator.svg.container.find('.tile[element-id = "' + svgid + '"]').css('display','none');
235
+ self.adaptor.illustrator.svg.container.find('[element-id = "' + svgid + '"]').removeClass('hover');
236
+ self.adaptor.illustrator.svg.label_container.find('[element-id = "' + svgid + '"]').removeClass('hover');
227
237
  return false;
228
238
  } // }}}
229
239
  this.events.dragstart = function (svgid, e) { //{{{
@@ -238,20 +248,8 @@ function WFAdaptorManifestation(adaptor) {
238
248
  'illustrator': {//{{{
239
249
  'endnodes': 'this',
240
250
  'label': function(node){
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
- return $('> label',$(node).children('parameters')).text().replace(/^['"]/,'').replace(/['"]$/,'') + (lnd == '' ? '' : ' (Resource ' + lnd + (eplen > 1 ? ' - ' + (eplen) + ' Alternatives': ' - 1 Alternative') + ')') + (avg == '' ? '' : ' (Avg. Duration ' + avg + ' Min)');
251
+ var ret = [ { column: 'Label', value: $('> label',$(node).children('parameters')).text().replace(/^['"]/,'').replace(/['"]$/,'') } ];
252
+ return ret;
255
253
  },
256
254
  'info': function(node){ return { 'element-endpoint': $(node).attr('endpoint') }; },
257
255
  'resolve_symbol': function(node) {
@@ -275,11 +273,13 @@ function WFAdaptorManifestation(adaptor) {
275
273
  ];
276
274
  return [];
277
275
  }, //}}}
278
- 'adaptor': {//{{{
279
- 'mousedown': function (node,e) { self.events.mousedown(node,e,true,true); },
280
- 'click': self.events.click,
281
- 'dragstart': self.events.dragstart,
282
- }//}}}
276
+ 'adaptor': {//{{{
277
+ 'mousedown': function (node,e) { self.events.mousedown(node,e,true,true); },
278
+ 'click': self.events.click,
279
+ 'dragstart': self.events.dragstart,
280
+ 'mouseover': self.events.mouseover,
281
+ 'mouseout': self.events.mouseout
282
+ }//}}}
283
283
  }; /*}}}*/
284
284
  this.elements.manipulate = { /*{{{*/
285
285
  'type': 'primitive',
@@ -288,9 +288,9 @@ function WFAdaptorManifestation(adaptor) {
288
288
  'label': function(node){
289
289
  var lab = $(node).attr('label');
290
290
  if (lab) {
291
- return lab.replace(/^['"]/,'').replace(/['"]$/,'');
291
+ return [ { column: 'Label', value: lab.replace(/^['"]/,'').replace(/['"]$/,'') } ];
292
292
  } else {
293
- return "";
293
+ return [];
294
294
  }
295
295
  },
296
296
  'svg': self.adaptor.theme_dir + 'symbols/manipulate.svg'
@@ -299,10 +299,12 @@ function WFAdaptorManifestation(adaptor) {
299
299
  'permissible_children': function(node,mode) { //{{{
300
300
  return [];
301
301
  }, //}}}
302
- 'adaptor': {//{{{
303
- 'mousedown': function (node,e) { self.events.mousedown(node,e,false,true); },
304
- 'click': self.events.click,
305
- }//}}}
302
+ 'adaptor': {//{{{
303
+ 'mousedown': function (node,e) { self.events.mousedown(node,e,false,true); },
304
+ 'click': self.events.click,
305
+ 'mouseover': self.events.mouseover,
306
+ 'mouseout': self.events.mouseout
307
+ }//}}}
306
308
  }; /*}}}*/
307
309
  this.elements.escape = { /*{{{*/
308
310
  'type': 'primitive',
@@ -317,6 +319,8 @@ function WFAdaptorManifestation(adaptor) {
317
319
  'adaptor': {//{{{
318
320
  'mousedown': function (node,e) { self.events.mousedown(node,e,false,true); },
319
321
  'click': self.events.click,
322
+ 'mouseover': self.events.mouseover,
323
+ 'mouseout': self.events.mouseout
320
324
  }//}}}
321
325
  }; /*}}}*/
322
326
  this.elements.stop = { /*{{{*/
@@ -332,6 +336,8 @@ function WFAdaptorManifestation(adaptor) {
332
336
  'adaptor': {//{{{
333
337
  'mousedown': function (node,e) { self.events.mousedown(node,e,false,true); },
334
338
  'click': self.events.click,
339
+ 'mouseover': self.events.mouseover,
340
+ 'mouseout': self.events.mouseout
335
341
  }//}}}
336
342
  }; /*}}}*/
337
343
  this.elements.terminate = { /*{{{*/
@@ -347,6 +353,8 @@ function WFAdaptorManifestation(adaptor) {
347
353
  }, //}}}
348
354
  'adaptor': {//{{{
349
355
  'mousedown': function (node,e) { self.events.mousedown(node,e,false,false); },
356
+ 'mouseover': self.events.mouseover,
357
+ 'mouseout': self.events.mouseout
350
358
  }//}}}
351
359
  }; /*}}}*/
352
360
  this.elements.end = { /*{{{*/
@@ -428,10 +436,9 @@ function WFAdaptorManifestation(adaptor) {
428
436
  this.elements.choose = { /*{{{*/
429
437
  'type': 'complex',
430
438
  'illustrator': {//{{{
431
- 'label': function(node){return $(node).attr('mode') == 'exclusive' ? 'exclusive' : 'inclusive' },
439
+ 'label': function(node){ return [ { column: 'Label', value: $(node).attr('mode') == 'exclusive' ? 'exclusive' : 'inclusive' } ]; },
432
440
  'endnodes': 'aggregate',
433
441
  'closeblock': false,
434
- 'closing_symbol': 'choose_finish',
435
442
  'expansion': function(node) {
436
443
  return 'horizontal';
437
444
  },
@@ -485,16 +492,12 @@ function WFAdaptorManifestation(adaptor) {
485
492
  'click': self.events.click,
486
493
  'dblclick': self.events.dblclick,
487
494
  'mouseover': self.events.mouseover,
488
- 'mouseout': self.events.mouseout,
495
+ 'mouseout': self.events.mouseout
489
496
  }//}}}
490
497
  }; /*}}}*/
491
498
  this.elements.otherwise = { /*{{{*/
492
499
  'type': 'complex',
493
500
  'illustrator': {//{{{
494
- 'label': function(node){
495
- var avg = $('> _probability_avg',$(node).children('_probability')).text();
496
- return (avg == '' ? '' : ' (Avg. Probability ' + avg + '%)');
497
- },
498
501
  'endnodes': 'passthrough',
499
502
  'closeblock': false,
500
503
  'noarrow': true,
@@ -575,8 +578,8 @@ function WFAdaptorManifestation(adaptor) {
575
578
  'type': 'complex',
576
579
  'illustrator': {//{{{
577
580
  'label': function(node){
578
- var avg = $('> _probability_avg',$(node).children('_probability')).text();
579
- return $(node).attr('condition') + (avg == '' ? '' : ' (Avg. Probability ' + avg + '%)');
581
+ var ret = [ { column: 'Label', value: $(node).attr('condition') } ];
582
+ return ret;
580
583
  },
581
584
  'endnodes': 'passthrough',
582
585
  'noarrow': true,
@@ -662,8 +665,8 @@ function WFAdaptorManifestation(adaptor) {
662
665
  'type': 'complex',
663
666
  'illustrator': {//{{{
664
667
  'label': function(node){
665
- var avg = $('> _probability_avg',$(node).children('_probability')).text();
666
- return $(node).attr('condition') + ($(node).attr('mode') == 'pre_test' ? ' (⭱)' : ' (⭳)') + (avg == '' ? '' : ' (Avg. ' + avg + ' Times)');
668
+ var ret = [ { column: 'Label', value: $(node).attr('condition') + ($(node).attr('mode') == 'pre_test' ? ' (⭱)' : ' ()') } ];
669
+ return ret;
667
670
  },
668
671
  'endnodes': 'this',
669
672
  'closeblock': true,
@@ -831,7 +834,7 @@ function WFAdaptorManifestation(adaptor) {
831
834
  },
832
835
  'resolve_symbol': function(node,shift) {
833
836
  if(shift == true) {
834
- return 'parallel_branch_event';
837
+ return 'parallel_branch_compact';
835
838
  } else {
836
839
  return 'parallel_branch_normal';
837
840
  }
@@ -1115,7 +1118,6 @@ function WFAdaptorManifestation(adaptor) {
1115
1118
  'parent': 'call',
1116
1119
  'description': self.adaptor.theme_dir + 'rngs/callmanipulate.rng',
1117
1120
  'illustrator': {//{{{
1118
- 'label': function(node){return $('> label',$(node).children('parameters')).text().replace(/^['"]/,'').replace(/['"]$/,'')},
1119
1121
  'info': function(node){ return { 'element-endpoint': $(node).attr('endpoint') }; },
1120
1122
  'svg': self.adaptor.theme_dir + 'symbols/callmanipulate.svg'
1121
1123
  },//}}}
@@ -1173,6 +1175,13 @@ function WFAdaptorManifestation(adaptor) {
1173
1175
  'svg': self.adaptor.theme_dir + 'symbols/parallel_branch_event.svg'
1174
1176
  }//}}}
1175
1177
  }; /*}}}*/
1178
+ this.elements.parallel_branch_compact = { /*{{{*/
1179
+ 'parent': 'parallel_branch',
1180
+ 'illustrator': {//{{{
1181
+ 'endnodes': 'this',
1182
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel_branch_compact.svg'
1183
+ }//}}}
1184
+ }; /*}}}*/
1176
1185
  this.elements.scripts = { /*{{{*/
1177
1186
  'description': [self.adaptor.theme_dir + 'rngs/update.rng',self.adaptor.theme_dir + 'rngs/finalize.rng']
1178
1187
  }; /*}}}*/