cpee 2.1.29 → 2.1.50

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.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/cockpit/config.json +1 -1
  4. data/cockpit/css/graph.css +13 -0
  5. data/cockpit/css/track.css +1 -1
  6. data/cockpit/css/wfadaptor.css +9 -2
  7. data/cockpit/edit.html +1 -1
  8. data/cockpit/graph.html +1 -0
  9. data/cockpit/index.html +2 -2
  10. data/cockpit/js/details.js +2 -2
  11. data/cockpit/js/instance.js +162 -112
  12. data/cockpit/js/wfadaptor.js +20 -14
  13. data/cockpit/js_libs.zip +0 -0
  14. data/cockpit/templates/Coopis 2010.xml +109 -14
  15. data/cockpit/templates/Frames.xml +297 -0
  16. data/cockpit/templates/Subprocess.xml +54 -6
  17. data/cockpit/templates/Wait.xml +5 -11
  18. data/cockpit/templates/Worklist.xml +58 -26
  19. data/cockpit/themes/compact/rngs/call.rng +127 -86
  20. data/cockpit/themes/compact/rngs/callmanipulate.rng +32 -7
  21. data/cockpit/themes/compact/rngs/closed_loop_control.rng +2 -2
  22. data/cockpit/themes/compact/rngs/closed_loop_measuring.rng +3 -3
  23. data/cockpit/themes/compact/rngs/start.rng +110 -72
  24. data/cockpit/themes/compact/symbols/call_sensor.svg +9 -0
  25. data/cockpit/themes/compact/symbols/callmanipulate.svg +3 -3
  26. data/cockpit/themes/compact/symbols/callmanipulate_sensor.svg +11 -0
  27. data/cockpit/themes/compact/symbols/delete.svg +4 -0
  28. data/cockpit/themes/compact/symbols/start_event.svg +5 -0
  29. data/cockpit/themes/compact/symbols/test.svg +74 -0
  30. data/cockpit/themes/compact/theme.js +105 -9
  31. data/cockpit/themes/control/rngs/call.rng +127 -86
  32. data/cockpit/themes/control/rngs/callmanipulate.rng +32 -7
  33. data/cockpit/themes/control/rngs/closed_loop_control.rng +2 -2
  34. data/cockpit/themes/control/rngs/closed_loop_measuring.rng +3 -3
  35. data/cockpit/themes/control/rngs/start.rng +110 -72
  36. data/cockpit/themes/control/symbols/call_sensor.svg +9 -0
  37. data/cockpit/themes/control/symbols/callmanipulate.svg +3 -3
  38. data/cockpit/themes/control/symbols/callmanipulate_sensor.svg +11 -0
  39. data/cockpit/themes/control/symbols/delete.svg +4 -0
  40. data/cockpit/themes/control/symbols/start_event.svg +5 -0
  41. data/cockpit/themes/control/symbols/test.svg +74 -0
  42. data/cockpit/themes/control/theme.js +53 -7
  43. data/cockpit/themes/default/rngs/call.rng +127 -86
  44. data/cockpit/themes/default/rngs/callmanipulate.rng +32 -7
  45. data/cockpit/themes/default/rngs/closed_loop_control.rng +2 -2
  46. data/cockpit/themes/default/rngs/closed_loop_measuring.rng +3 -3
  47. data/cockpit/themes/default/rngs/start.rng +110 -72
  48. data/cockpit/themes/default/symbols/call_sensor.svg +9 -0
  49. data/cockpit/themes/default/symbols/callmanipulate.svg +3 -3
  50. data/cockpit/themes/default/symbols/callmanipulate_sensor.svg +11 -0
  51. data/cockpit/themes/default/symbols/delete.svg +4 -0
  52. data/cockpit/themes/default/symbols/start_event.svg +5 -0
  53. data/cockpit/themes/default/symbols/test.svg +74 -0
  54. data/cockpit/themes/default/theme.js +105 -9
  55. data/cockpit/themes/extended/rngs/call.rng +127 -86
  56. data/cockpit/themes/extended/rngs/callmanipulate.rng +32 -7
  57. data/cockpit/themes/extended/rngs/closed_loop_control.rng +2 -2
  58. data/cockpit/themes/extended/rngs/closed_loop_measuring.rng +3 -3
  59. data/cockpit/themes/extended/rngs/start.rng +110 -72
  60. data/cockpit/themes/extended/symbols/call_sensor.svg +9 -0
  61. data/cockpit/themes/extended/symbols/callmanipulate.svg +3 -3
  62. data/cockpit/themes/extended/symbols/callmanipulate_sensor.svg +11 -0
  63. data/cockpit/themes/extended/symbols/delete.svg +4 -0
  64. data/cockpit/themes/extended/symbols/start_event.svg +5 -0
  65. data/cockpit/themes/extended/symbols/test.svg +74 -0
  66. data/cockpit/themes/extended/theme.js +105 -9
  67. data/cockpit/themes/model/symbols/call_sensor.svg +9 -0
  68. data/cockpit/themes/model/symbols/callmanipulate.svg +3 -3
  69. data/cockpit/themes/model/symbols/callmanipulate_sensor.svg +11 -0
  70. data/cockpit/themes/model/symbols/delete.svg +4 -0
  71. data/cockpit/themes/model/symbols/start_event.svg +5 -0
  72. data/cockpit/themes/model/symbols/test.svg +74 -0
  73. data/cockpit/themes/model/theme.js +50 -4
  74. data/cockpit/themes/packed/rngs/call.rng +127 -86
  75. data/cockpit/themes/packed/rngs/callmanipulate.rng +32 -7
  76. data/cockpit/themes/packed/rngs/closed_loop_control.rng +2 -2
  77. data/cockpit/themes/packed/rngs/closed_loop_measuring.rng +3 -3
  78. data/cockpit/themes/packed/rngs/start.rng +110 -72
  79. data/cockpit/themes/packed/symbols/call_sensor.svg +9 -0
  80. data/cockpit/themes/packed/symbols/callmanipulate.svg +3 -3
  81. data/cockpit/themes/packed/symbols/callmanipulate_sensor.svg +11 -0
  82. data/cockpit/themes/packed/symbols/delete.svg +4 -0
  83. data/cockpit/themes/packed/symbols/start_event.svg +5 -0
  84. data/cockpit/themes/packed/symbols/test.svg +74 -0
  85. data/cockpit/themes/packed/theme.js +105 -9
  86. data/cockpit/themes/preset/rngs/call.rng +127 -86
  87. data/cockpit/themes/preset/rngs/callmanipulate.rng +32 -7
  88. data/cockpit/themes/preset/rngs/closed_loop_control.rng +2 -2
  89. data/cockpit/themes/preset/rngs/closed_loop_measuring.rng +3 -3
  90. data/cockpit/themes/preset/rngs/start.rng +110 -72
  91. data/cockpit/themes/preset/symbols/call_sensor.svg +9 -0
  92. data/cockpit/themes/preset/symbols/callmanipulate.svg +3 -3
  93. data/cockpit/themes/preset/symbols/callmanipulate_sensor.svg +11 -0
  94. data/cockpit/themes/preset/symbols/delete.svg +4 -0
  95. data/cockpit/themes/preset/symbols/start_event.svg +5 -0
  96. data/cockpit/themes/preset/symbols/test.svg +74 -0
  97. data/cockpit/themes/preset/theme.js +105 -9
  98. data/cpee.gemspec +6 -5
  99. data/lib/cpee/fail.rb +23 -0
  100. data/lib/cpee/implementation.rb +144 -49
  101. data/lib/cpee/implementation_callbacks.rb +11 -10
  102. data/lib/cpee/implementation_notifications.rb +4 -3
  103. data/lib/cpee/implementation_properties.rb +2 -2
  104. data/lib/cpee/message.rb +49 -15
  105. data/lib/cpee/persistence.rb +34 -12
  106. data/lib/cpee.xml +1 -1
  107. data/server/executionhandlers/ruby/backend/instance.template +1 -1
  108. data/server/executionhandlers/ruby/backend/run +4 -4
  109. data/server/executionhandlers/ruby/connection.rb +93 -34
  110. data/server/executionhandlers/ruby/controller.rb +29 -19
  111. data/server/executionhandlers/ruby/desc.xml +107 -0
  112. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +67 -24
  113. data/server/executionhandlers/ruby/execution.rb +1 -0
  114. data/server/resources/states.xml +3 -0
  115. data/server/resources/test.pdf +0 -0
  116. data/server/resources/topics.xml +4 -2
  117. data/server/routing/end.pid +1 -0
  118. data/server/routing/end.rb +3 -2
  119. data/server/routing/forward-events-00.pid +1 -0
  120. data/server/routing/forward-events.rb +26 -13
  121. data/server/routing/forward-votes.pid +1 -0
  122. data/server/routing/forward-votes.rb +4 -4
  123. data/server/routing/persist.pid +1 -0
  124. data/server/routing/persist.rb +41 -31
  125. data/server/server.pid +1 -0
  126. data/tools/cpee +99 -24
  127. metadata +80 -32
  128. data/cockpit/templates/Coopis 2010.xml.active +0 -1
  129. data/cockpit/templates/Coopis 2010.xml.active-uuid +0 -1
  130. data/cockpit/templates/Subprocess.xml.active +0 -1
  131. data/cockpit/templates/Subprocess.xml.active-uuid +0 -1
  132. data/cockpit/templates/Track Test.xml.active +0 -1
  133. data/cockpit/templates/Track Test.xml.active-uuid +0 -1
  134. data/cockpit/templates/UR-VUE 2020 Solution Baseline.xml.active +0 -1
  135. data/cockpit/templates/UR-VUE 2020 Solution Baseline.xml.active-uuid +0 -1
  136. data/cockpit/templates/Wait.xml.active +0 -1
  137. data/cockpit/templates/Wait.xml.active-uuid +0 -1
  138. data/cockpit/templates/Wait.xml.attrs +0 -13
  139. data/server/executionhandlers/ruby/test.xml +0 -43
@@ -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]"/>
@@ -86,24 +94,41 @@
86
94
  </zeroOrMore>
87
95
  </element>
88
96
  </element>
97
+ <element name="_shifting" rngui:header="Log Time Shifting" rngui:fold="closed_conditional">
98
+ <element name="_shifting_type" rngui:label="Type">
99
+ <choice>
100
+ <value>Duration</value>
101
+ <value>Ends</value>
102
+ </choice>
103
+ </element>
104
+ <optional>
105
+ <element name="_shifting_expression" rngui:label="Expression">
106
+ <data type="string" rngui:label="e.g.: same day, 16:00; 2 and a half weeks"/>
107
+ </element>
108
+ </optional>
109
+ </element>
89
110
  <element name="_context_data_analysis" rngui:header="Context Data Analysis" rngui:hint="All data returned from the endpoint implementing this task as well as arbitray external data streams can be consumed and transformed in data probes. All probes can be the basis for impact factors. Please go to start to define instance data probes.">
90
111
 
91
- <element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed">
112
+ <element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed_conditional">
92
113
  <zeroOrMore rngui:label="Add Probe">
93
114
  <element name="probe">
94
- <element name="name" rngui:label="Label">
95
- <data type="string" rngui:label="Label"/>
115
+ <element name="id" rngui:label="ID">
116
+ <data type="string" rngui:label="ID"/>
117
+ </element>
118
+ <element name="source" rngui:label="Source">
119
+ <data type="string" rngui:label="Where does the sensor value come from?"/>
96
120
  </element>
97
121
  <element name="extractor_type" rngui:label="Extractor Type">
98
122
  <choice>
99
- <value id='code'>Code</value>
100
- <value id='service'>Service</value>
123
+ <value id='intrinsic'>Intrinsic</value>
124
+ <value id='extrinsic'>Extrinsic</value>
125
+ <value id='separate'>Separate</value>
101
126
  </choice>
102
127
  </element>
103
- <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For extrinsic data'>
128
+ <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
104
129
  <text rngui:label="Code"/>
105
130
  </element>
106
- <element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For extrinsic &amp; discrete data'>
131
+ <element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For separate data'>
107
132
  <data type="string" rngui:label="Service Url"/>
108
133
  </element>
109
134
  <element name="extractor_params" rngui:label="Extractor Service Arguments:">
@@ -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"/>
@@ -1,83 +1,121 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="description" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
- <element name="_context_data_analysis" rngui:header="Context Data Analysis" rngui:hint="All changes to data elements in the process as well as arbitray external data streams can be consumed and transformed in data probes. All probes can be the basis for impact factors. Please go to individual tasks to define more restricted data probes.">
3
-
4
- <element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed">
5
- <zeroOrMore rngui:label="Add Probe">
6
- <element name="probe">
7
- <element name="name" rngui:label="Label">
8
- <data type="string" rngui:label="Label"/>
9
- </element>
10
- <element name="extractor_type" rngui:label="Extractor Type">
11
- <choice>
12
- <value id='code'>Code</value>
13
- <value id='service'>Service</value>
14
- </choice>
15
- </element>
16
- <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic data'>
17
- <text rngui:label="Code"/>
18
- </element>
19
- <element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For intrinsic &amp; discrete data'>
20
- <data type="string" rngui:label="Service Url"/>
21
- </element>
22
- <element name="extractor_params" rngui:label="Extractor Service Arguments:">
23
- <zeroOrMore rngui:label="Create Argument Pairs">
24
- <element rngui:label="Name">
25
- <anyName/>
26
- <data type="string" rngui:label="Value / Json"/>
27
- </element>
28
- </zeroOrMore>
29
- </element>
30
- <element name="visualizer_url" rngui:label="Visualizer Url">
31
- <data type="string" rngui:label="Service Url"/>
32
- </element>
33
- <element name="visualizer_params" rngui:label="Visualizer Arguments">
34
- <zeroOrMore rngui:label="Create Argument Pairs">
35
- <element rngui:label="Name">
36
- <anyName/>
37
- <data type="string" rngui:label="Value / Json"/>
38
- </element>
39
- </zeroOrMore>
40
- </element>
2
+ <element name="_shifting" rngui:header="Log Time Shifting">
3
+ <optional>
4
+ <element name="_shifting_factor" rngui:label="Multiplication Factor">
5
+ <data type="string" rngui:label="e.g.: 2 hours"/>
6
+ </element>
7
+ </optional>
8
+ <optional>
9
+ <element name="_shifting_start" rngui:label="Starting Point">
10
+ <data type="string" rngui:label="e.g.: monday, 5pm"/>
11
+ </element>
12
+ </optional>
13
+ <optional>
14
+ <element name="_shifting_modifier" rngui:label="Random +/- Starting Shift">
15
+ <data type="float" rngui:label="in seconds"/>
41
16
  </element>
42
- </zeroOrMore>
17
+ </optional>
43
18
  </element>
19
+ <element name="_context_data_analysis" rngui:header="Context Data Analysis" rngui:hint="All data returned from the endpoint implementing this task as well as arbitray external data streams can be consumed and transformed in data probes. All probes can be the basis for impact factors. Please go to start to define instance data probes.">
44
20
 
45
- <element name="ips" rngui:header="Impact Profiles" rngui:fold="closed">
46
- <zeroOrMore rngui:label="Add Impact Profile">
47
- <element name="ip">
48
- <element name="name" rngui:label="Label">
49
- <data type="string" rngui:label="Label"/>
50
- </element>
51
- <element name="target" rngui:label="Target Value">
52
- <data type="string" rngui:label="Value"/>
53
- </element>
54
- <element name="ifs" rngui:header="Impact Factors">
55
- <zeroOrMore rngui:label="Add Impact Factor">
56
- <element name="if">
57
- <element name="ivs" rngui:header="Impact Values">
58
- <zeroOrMore rngui:label="Add Impact Value ">
59
- <element name="iv">
60
- <element name="extractor_url" rngui:label="Extractor Url">
61
- <data type="string" rngui:label="Service Url + Parameters"/>
62
- </element>
63
- <element name="aggregator_url" rngui:label="Aggregator Url">
64
- <data type="string" rngui:label="Service Url + Parameters"/>
65
- </element>
66
- </element>
67
- </zeroOrMore>
21
+ <element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed_conditional">
22
+ <zeroOrMore rngui:label="Add Probe">
23
+ <element name="probe">
24
+ <element name="id" rngui:label="ID">
25
+ <data type="string" rngui:label="ID"/>
26
+ </element>
27
+ <element name="source" rngui:label="Source">
28
+ <data type="string" rngui:label="Where does the sensor value come from?"/>
29
+ </element>
30
+ <element name="extractor_type" rngui:label="Extractor Type">
31
+ <choice>
32
+ <value id='intrinsic'>Intrinsic</value>
33
+ <value id='extrinsic'>Extrinsic</value>
34
+ <value id='separate'>Separate</value>
35
+ </choice>
36
+ </element>
37
+ <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
38
+ <text rngui:label="Code"/>
39
+ </element>
40
+ <element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For separate data'>
41
+ <data type="string" rngui:label="Service Url"/>
42
+ </element>
43
+ <element name="extractor_params" rngui:label="Extractor Service Arguments:">
44
+ <zeroOrMore rngui:label="Create Argument Pairs">
45
+ <element rngui:label="Name">
46
+ <anyName/>
47
+ <data type="string" rngui:label="Value / Json"/>
68
48
  </element>
69
- <element name="aggregator_url" rngui:label="Impact Function Url">
70
- <data type="string" rngui:label="Service Url + Parameters"/>
49
+ </zeroOrMore>
50
+ </element>
51
+ <element name="visualizer_url" rngui:label="Visualizer Url">
52
+ <data type="string" rngui:label="Service Url"/>
53
+ </element>
54
+ <element name="visualizer_params" rngui:label="Visualizer Arguments">
55
+ <zeroOrMore rngui:label="Create Argument Pairs">
56
+ <element rngui:label="Name">
57
+ <anyName/>
58
+ <data type="string" rngui:label="Value / Json"/>
71
59
  </element>
72
- </element>
73
- </zeroOrMore>
60
+ </zeroOrMore>
61
+ </element>
74
62
  </element>
75
- <element name="vfunc_url" rngui:label="Violation Function Url">
76
- <data type="string" rngui:label="Service Url + Parameters"/>
63
+ </zeroOrMore>
64
+ </element>
65
+
66
+ <element name="ips" rngui:header="Impact Profiles" rngui:fold="closed">
67
+ <zeroOrMore rngui:label="Add Impact Profile">
68
+ <element name="ip">
69
+ <element name="name" rngui:label="Label">
70
+ <data type="string" rngui:label="Label"/>
71
+ </element>
72
+ <element name="target" rngui:label="Target Value">
73
+ <data type="string" rngui:label="Value"/>
74
+ </element>
75
+ <element name="ifs" rngui:header="Impact Factors">
76
+ <zeroOrMore rngui:label="Add Impact Factor">
77
+ <element name="if">
78
+ <element name="ivs" rngui:header="Impact Values">
79
+ <zeroOrMore rngui:label="Add Impact Value ">
80
+ <element name="iv">
81
+ <element name="extractor_url" rngui:label="Extractor Url">
82
+ <data type="string" rngui:label="Service Url + Parameters"/>
83
+ </element>
84
+ <element name="extractor_params" rngui:header="Extractor Arguments">
85
+ <zeroOrMore rngui:label="Create Extractor Argument Pairs">
86
+ <element rngui:label="Name">
87
+ <anyName/>
88
+ <data type="string" rngui:label="Value / Json"/>
89
+ </element>
90
+ </zeroOrMore>
91
+ </element>
92
+ <element name="aggregator_url" rngui:label="Aggregator Url">
93
+ <data type="string" rngui:label="Service Url + Parameters"/>
94
+ </element>
95
+ <element name="aggregator_params" rngui:header="Extractor Arguments">
96
+ <zeroOrMore rngui:label="Create Aggregator Argument Pairs">
97
+ <element rngui:label="Name">
98
+ <anyName/>
99
+ <data type="string" rngui:label="Value / Json"/>
100
+ </element>
101
+ </zeroOrMore>
102
+ </element>
103
+ </element>
104
+ </zeroOrMore>
105
+ </element>
106
+ <element name="aggregator_url" rngui:label="Impact Function Url">
107
+ <data type="string" rngui:label="Service Url + Parameters"/>
108
+ </element>
109
+ </element>
110
+ </zeroOrMore>
111
+ </element>
112
+ <element name="vfunc_url" rngui:label="Violation Function Url">
113
+ <data type="string" rngui:label="Service Url + Parameters"/>
114
+ </element>
77
115
  </element>
78
- </element>
79
- </zeroOrMore>
116
+ </zeroOrMore>
117
+ </element>
118
+
80
119
  </element>
81
120
 
82
- </element>
83
121
  </element>
@@ -0,0 +1,9 @@
1
+ <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
+ <path class="cline stand" d="M 34.003906,5 V 4.1269531 c 0,-4.45934904 -3.585332,-8.0488281 -8.039062,-8.0488281 H 25"/>
3
+ <path class="cline stand" d="M 31.5,5 V 4.9667969 C 31.5,1.3836953 28.618741,-1.5 25.039062,-1.5 H 25"/>
4
+ <circle cx="27" cy="3" r="2" class="cfill cline rfill normal"/>
5
+ <g class="replace">
6
+ <rect x="1" y="1" width="28" height="28" rx="4" class="hfill rfill cline stand"/>
7
+ <path class="normal" style="fill:#000000;" d="m 21.561187,10.184155 c 0,-0.03232 0,-0.03232 0,-0.03232 C 21.076371,9.5054099 20.494591,8.9559512 19.815848,8.4388133 l 0,0.032323 C 19.266389,8.891311 18.71693,9.3438064 18.199794,9.7963017 17.973545,9.6670167 17.779619,9.5700535 17.585693,9.4730903 17.327124,9.3438064 17.068556,9.2145213 16.777665,9.1498799 16.680695,9.1175569 16.583739,9.0852339 16.486775,9.0852339 16.422135,8.3741695 16.357491,7.6631063 16.260528,6.952042 15.937318,6.887396 15.614106,6.887396 15.258574,6.855073 c -0.09697,0 -0.193926,0 -0.258569,0 -0.09697,0 -0.193925,0 -0.258568,0 -0.323211,0.032323 -0.614101,0.032323 -0.90499,0.096969 -0.09697,0.6787425 -0.161606,1.3898068 -0.193927,2.1008712 -0.129284,0 -0.226248,0.032323 -0.355532,0.064646 -0.03232,0 -0.06465,0 -0.09697,0.032323 -0.258568,0.064646 -0.517136,0.1939264 -0.775704,0.3232103 -0.226249,0.096969 -0.420175,0.1939264 -0.614102,0.3232114 -0.549458,-0.4524953 -1.066595,-0.87267 -1.616054,-1.3251654 0,0 0,0 -0.03232,-0.032323 C 10.022552,8.5357845 9.8932693,8.6327419 9.7963053,8.7297051 9.5700583,8.8913109 9.3761314,9.0852373 9.2145262,9.2791637 8.9236366,9.5377327 8.6973883,9.8609431 8.4388194,10.184155 c 0,0 0,0 0.032323,0 0.4201747,0.549459 0.87267,1.066596 1.325166,1.616054 -0.129285,0.193927 -0.258569,0.420175 -0.355533,0.614101 -0.129285,0.258569 -0.226248,0.549459 -0.2908894,0.808028 -0.064646,0.129284 -0.096969,0.258568 -0.096969,0.355531 -0.7110644,0.06465 -1.4221288,0.129285 -2.1008713,0.226248 -0.064646,0.323211 -0.096969,0.646422 -0.096969,1.001954 0,0.484816 0.032323,0.969632 0.1292839,1.422128 0.6787437,0.06465 1.3574862,0.129284 2.0685505,0.193926 0,0.129284 0.032323,0.258569 0.096969,0.355532 0.064646,0.29089 0.1616049,0.549459 0.2908899,0.840349 0.129284,0.226247 0.2262471,0.452495 0.387853,0.646421 -0.452496,0.549459 -0.9049912,1.066596 -1.3251647,1.616054 0.484816,0.678744 1.0665957,1.260523 1.7453387,1.74534 l 0,-0.03232 c 0.517137,-0.420175 1.066596,-0.87267 1.583733,-1.325166 l 0.03232,0 c 0.161605,0.09697 0.355532,0.193928 0.517136,0.290891 0.290891,0.129284 0.614101,0.258568 0.904991,0.32321 0.129284,0.03232 0.226248,0.06465 0.32321,0.09697 0.06465,0.678743 0.129285,1.389807 0.226249,2.100871 0.290889,0.03232 0.581779,0.06465 0.90499,0.06465 0.06465,0 0.258568,0 0.484817,0 0.355532,0 0.711064,-0.03232 1.066595,-0.09697 0.06465,-0.678742 0.129285,-1.389807 0.193926,-2.10087 0.09697,-0.03232 0.193927,-0.06465 0.29089,-0.09697 l 0,0 c 0.290891,-0.06464 0.549459,-0.161605 0.808028,-0.290889 0.226248,-0.09697 0.452495,-0.226248 0.678743,-0.387854 0,0.03232 0,0.03232 0.03232,0.03232 0.517137,0.452495 1.066596,0.904989 1.616054,1.325164 0.09697,-0.06465 0.193927,-0.129284 0.323212,-0.226247 0.193926,-0.161606 0.387852,-0.355532 0.549458,-0.549459 0.29089,-0.290889 0.58178,-0.614101 0.840348,-0.969633 -0.452495,-0.549459 -0.90499,-1.098917 -1.357486,-1.616054 0,-0.03232 0,-0.03232 0,-0.03232 0.09697,-0.161605 0.193927,-0.355531 0.29089,-0.549457 0.09696,-0.258569 0.226248,-0.517138 0.29089,-0.775707 0,-0.03232 0,-0.06465 0.03232,-0.06465 0,-0.129285 0.03232,-0.226248 0.06465,-0.290891 0.711065,-0.06465 1.422129,-0.129284 2.100872,-0.193926 0.06464,-0.323211 0.06464,-0.646422 0.09697,-0.969632 0,-0.09697 0,-0.193927 0,-0.29089 0,-0.06465 0,-0.161606 0,-0.258569 -0.03232,-0.323212 -0.03232,-0.646422 -0.09697,-0.969633 -0.678743,-0.06465 -1.389807,-0.129284 -2.100872,-0.193927 -0.03232,-0.09697 -0.06465,-0.193926 -0.06465,-0.290889 -0.09697,-0.29089 -0.193927,-0.58178 -0.323212,-0.872669 -0.09697,-0.193927 -0.226247,-0.420175 -0.32321,-0.614102 0.420173,-0.517136 0.872669,-1.066595 1.325164,-1.616054 z m -8.629731,2.682651 c 0.581779,-0.614101 1.292844,-0.904991 2.100871,-0.87267 0.840348,-0.03232 1.519091,0.258569 2.133192,0.87267 0.581779,0.581779 0.872669,1.292843 0.872669,2.10087 0,0.840348 -0.29089,1.519092 -0.872669,2.133192 -0.614101,0.58178 -1.292844,0.87267 -2.133192,0.87267 -0.808027,0 -1.519092,-0.29089 -2.100871,-0.87267 -0.581779,-0.6141 -0.872669,-1.292844 -0.872669,-2.133192 0,-0.808027 0.29089,-1.519091 0.872669,-2.10087 z"/>
8
+ </g>
9
+ </svg>
@@ -1,8 +1,8 @@
1
1
  <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
2
  <g class="replace">
3
3
  <rect x="1" y="1" width="28" height="28" rx="4" class="cline hfill rfill stand"/>
4
- <path class="normal" transform="translate(-2,-2)" style="fill:#000000;" d="m 21.561187,10.184155 c 0,-0.03232 0,-0.03232 0,-0.03232 C 21.076371,9.5054099 20.494591,8.9559512 19.815848,8.4388133 l 0,0.032323 C 19.266389,8.891311 18.71693,9.3438064 18.199794,9.7963017 17.973545,9.6670167 17.779619,9.5700535 17.585693,9.4730903 17.327124,9.3438064 17.068556,9.2145213 16.777665,9.1498799 16.680695,9.1175569 16.583739,9.0852339 16.486775,9.0852339 16.422135,8.3741695 16.357491,7.6631063 16.260528,6.952042 15.937318,6.887396 15.614106,6.887396 15.258574,6.855073 c -0.09697,0 -0.193926,0 -0.258569,0 -0.09697,0 -0.193925,0 -0.258568,0 -0.323211,0.032323 -0.614101,0.032323 -0.90499,0.096969 -0.09697,0.6787425 -0.161606,1.3898068 -0.193927,2.1008712 -0.129284,0 -0.226248,0.032323 -0.355532,0.064646 -0.03232,0 -0.06465,0 -0.09697,0.032323 -0.258568,0.064646 -0.517136,0.1939264 -0.775704,0.3232103 -0.226249,0.096969 -0.420175,0.1939264 -0.614102,0.3232114 -0.549458,-0.4524953 -1.066595,-0.87267 -1.616054,-1.3251654 0,0 0,0 -0.03232,-0.032323 C 10.022552,8.5357845 9.8932693,8.6327419 9.7963053,8.7297051 9.5700583,8.8913109 9.3761314,9.0852373 9.2145262,9.2791637 8.9236366,9.5377327 8.6973883,9.8609431 8.4388194,10.184155 c 0,0 0,0 0.032323,0 0.4201747,0.549459 0.87267,1.066596 1.325166,1.616054 -0.129285,0.193927 -0.258569,0.420175 -0.355533,0.614101 -0.129285,0.258569 -0.226248,0.549459 -0.2908894,0.808028 -0.064646,0.129284 -0.096969,0.258568 -0.096969,0.355531 -0.7110644,0.06465 -1.4221288,0.129285 -2.1008713,0.226248 -0.064646,0.323211 -0.096969,0.646422 -0.096969,1.001954 0,0.484816 0.032323,0.969632 0.1292839,1.422128 0.6787437,0.06465 1.3574862,0.129284 2.0685505,0.193926 0,0.129284 0.032323,0.258569 0.096969,0.355532 0.064646,0.29089 0.1616049,0.549459 0.2908899,0.840349 0.129284,0.226247 0.2262471,0.452495 0.387853,0.646421 -0.452496,0.549459 -0.9049912,1.066596 -1.3251647,1.616054 0.484816,0.678744 1.0665957,1.260523 1.7453387,1.74534 l 0,-0.03232 c 0.517137,-0.420175 1.066596,-0.87267 1.583733,-1.325166 l 0.03232,0 c 0.161605,0.09697 0.355532,0.193928 0.517136,0.290891 0.290891,0.129284 0.614101,0.258568 0.904991,0.32321 0.129284,0.03232 0.226248,0.06465 0.32321,0.09697 0.06465,0.678743 0.129285,1.389807 0.226249,2.100871 0.290889,0.03232 0.581779,0.06465 0.90499,0.06465 0.06465,0 0.258568,0 0.484817,0 0.355532,0 0.711064,-0.03232 1.066595,-0.09697 0.06465,-0.678742 0.129285,-1.389807 0.193926,-2.10087 0.09697,-0.03232 0.193927,-0.06465 0.29089,-0.09697 l 0,0 c 0.290891,-0.06464 0.549459,-0.161605 0.808028,-0.290889 0.226248,-0.09697 0.452495,-0.226248 0.678743,-0.387854 0,0.03232 0,0.03232 0.03232,0.03232 0.517137,0.452495 1.066596,0.904989 1.616054,1.325164 0.09697,-0.06465 0.193927,-0.129284 0.323212,-0.226247 0.193926,-0.161606 0.387852,-0.355532 0.549458,-0.549459 0.29089,-0.290889 0.58178,-0.614101 0.840348,-0.969633 -0.452495,-0.549459 -0.90499,-1.098917 -1.357486,-1.616054 0,-0.03232 0,-0.03232 0,-0.03232 0.09697,-0.161605 0.193927,-0.355531 0.29089,-0.549457 0.09696,-0.258569 0.226248,-0.517138 0.29089,-0.775707 0,-0.03232 0,-0.06465 0.03232,-0.06465 0,-0.129285 0.03232,-0.226248 0.06465,-0.290891 0.711065,-0.06465 1.422129,-0.129284 2.100872,-0.193926 0.06464,-0.323211 0.06464,-0.646422 0.09697,-0.969632 0,-0.09697 0,-0.193927 0,-0.29089 0,-0.06465 0,-0.161606 0,-0.258569 -0.03232,-0.323212 -0.03232,-0.646422 -0.09697,-0.969633 -0.678743,-0.06465 -1.389807,-0.129284 -2.100872,-0.193927 -0.03232,-0.09697 -0.06465,-0.193926 -0.06465,-0.290889 -0.09697,-0.29089 -0.193927,-0.58178 -0.323212,-0.872669 -0.09697,-0.193927 -0.226247,-0.420175 -0.32321,-0.614102 0.420173,-0.517136 0.872669,-1.066595 1.325164,-1.616054 z m -8.629731,2.682651 c 0.581779,-0.614101 1.292844,-0.904991 2.100871,-0.87267 0.840348,-0.03232 1.519091,0.258569 2.133192,0.87267 0.581779,0.581779 0.872669,1.292843 0.872669,2.10087 0,0.840348 -0.29089,1.519092 -0.872669,2.133192 -0.614101,0.58178 -1.292844,0.87267 -2.133192,0.87267 -0.808027,0 -1.519092,-0.29089 -2.100871,-0.87267 -0.581779,-0.6141 -0.872669,-1.292844 -0.872669,-2.133192 0,-0.808027 0.29089,-1.519091 0.872669,-2.10087 z"/>
4
+ <path class="normal" style="fill:#000000;" d="m 21.561187,10.184155 c 0,-0.03232 0,-0.03232 0,-0.03232 C 21.076371,9.5054099 20.494591,8.9559512 19.815848,8.4388133 l 0,0.032323 C 19.266389,8.891311 18.71693,9.3438064 18.199794,9.7963017 17.973545,9.6670167 17.779619,9.5700535 17.585693,9.4730903 17.327124,9.3438064 17.068556,9.2145213 16.777665,9.1498799 16.680695,9.1175569 16.583739,9.0852339 16.486775,9.0852339 16.422135,8.3741695 16.357491,7.6631063 16.260528,6.952042 15.937318,6.887396 15.614106,6.887396 15.258574,6.855073 c -0.09697,0 -0.193926,0 -0.258569,0 -0.09697,0 -0.193925,0 -0.258568,0 -0.323211,0.032323 -0.614101,0.032323 -0.90499,0.096969 -0.09697,0.6787425 -0.161606,1.3898068 -0.193927,2.1008712 -0.129284,0 -0.226248,0.032323 -0.355532,0.064646 -0.03232,0 -0.06465,0 -0.09697,0.032323 -0.258568,0.064646 -0.517136,0.1939264 -0.775704,0.3232103 -0.226249,0.096969 -0.420175,0.1939264 -0.614102,0.3232114 -0.549458,-0.4524953 -1.066595,-0.87267 -1.616054,-1.3251654 0,0 0,0 -0.03232,-0.032323 C 10.022552,8.5357845 9.8932693,8.6327419 9.7963053,8.7297051 9.5700583,8.8913109 9.3761314,9.0852373 9.2145262,9.2791637 8.9236366,9.5377327 8.6973883,9.8609431 8.4388194,10.184155 c 0,0 0,0 0.032323,0 0.4201747,0.549459 0.87267,1.066596 1.325166,1.616054 -0.129285,0.193927 -0.258569,0.420175 -0.355533,0.614101 -0.129285,0.258569 -0.226248,0.549459 -0.2908894,0.808028 -0.064646,0.129284 -0.096969,0.258568 -0.096969,0.355531 -0.7110644,0.06465 -1.4221288,0.129285 -2.1008713,0.226248 -0.064646,0.323211 -0.096969,0.646422 -0.096969,1.001954 0,0.484816 0.032323,0.969632 0.1292839,1.422128 0.6787437,0.06465 1.3574862,0.129284 2.0685505,0.193926 0,0.129284 0.032323,0.258569 0.096969,0.355532 0.064646,0.29089 0.1616049,0.549459 0.2908899,0.840349 0.129284,0.226247 0.2262471,0.452495 0.387853,0.646421 -0.452496,0.549459 -0.9049912,1.066596 -1.3251647,1.616054 0.484816,0.678744 1.0665957,1.260523 1.7453387,1.74534 l 0,-0.03232 c 0.517137,-0.420175 1.066596,-0.87267 1.583733,-1.325166 l 0.03232,0 c 0.161605,0.09697 0.355532,0.193928 0.517136,0.290891 0.290891,0.129284 0.614101,0.258568 0.904991,0.32321 0.129284,0.03232 0.226248,0.06465 0.32321,0.09697 0.06465,0.678743 0.129285,1.389807 0.226249,2.100871 0.290889,0.03232 0.581779,0.06465 0.90499,0.06465 0.06465,0 0.258568,0 0.484817,0 0.355532,0 0.711064,-0.03232 1.066595,-0.09697 0.06465,-0.678742 0.129285,-1.389807 0.193926,-2.10087 0.09697,-0.03232 0.193927,-0.06465 0.29089,-0.09697 l 0,0 c 0.290891,-0.06464 0.549459,-0.161605 0.808028,-0.290889 0.226248,-0.09697 0.452495,-0.226248 0.678743,-0.387854 0,0.03232 0,0.03232 0.03232,0.03232 0.517137,0.452495 1.066596,0.904989 1.616054,1.325164 0.09697,-0.06465 0.193927,-0.129284 0.323212,-0.226247 0.193926,-0.161606 0.387852,-0.355532 0.549458,-0.549459 0.29089,-0.290889 0.58178,-0.614101 0.840348,-0.969633 -0.452495,-0.549459 -0.90499,-1.098917 -1.357486,-1.616054 0,-0.03232 0,-0.03232 0,-0.03232 0.09697,-0.161605 0.193927,-0.355531 0.29089,-0.549457 0.09696,-0.258569 0.226248,-0.517138 0.29089,-0.775707 0,-0.03232 0,-0.06465 0.03232,-0.06465 0,-0.129285 0.03232,-0.226248 0.06465,-0.290891 0.711065,-0.06465 1.422129,-0.129284 2.100872,-0.193926 0.06464,-0.323211 0.06464,-0.646422 0.09697,-0.969632 0,-0.09697 0,-0.193927 0,-0.29089 0,-0.06465 0,-0.161606 0,-0.258569 -0.03232,-0.323212 -0.03232,-0.646422 -0.09697,-0.969633 -0.678743,-0.06465 -1.389807,-0.129284 -2.100872,-0.193927 -0.03232,-0.09697 -0.06465,-0.193926 -0.06465,-0.290889 -0.09697,-0.29089 -0.193927,-0.58178 -0.323212,-0.872669 -0.09697,-0.193927 -0.226247,-0.420175 -0.32321,-0.614102 0.420173,-0.517136 0.872669,-1.066595 1.325164,-1.616054 z m -8.629731,2.682651 c 0.581779,-0.614101 1.292844,-0.904991 2.100871,-0.87267 0.840348,-0.03232 1.519091,0.258569 2.133192,0.87267 0.581779,0.581779 0.872669,1.292843 0.872669,2.10087 0,0.840348 -0.29089,1.519092 -0.872669,2.133192 -0.614101,0.58178 -1.292844,0.87267 -2.133192,0.87267 -0.808027,0 -1.519092,-0.29089 -2.100871,-0.87267 -0.581779,-0.6141 -0.872669,-1.292844 -0.872669,-2.133192 0,-0.808027 0.29089,-1.519091 0.872669,-2.10087 z"/>
5
5
  </g>
6
- <circle cx="28" cy="27" r="9" class="cline rfill stand"/>
7
- <text transform="translate(28,31)" class="small">s</text>
6
+ <rect x="23" y="21" width="12" height="12" rx="2" class="cline rfill stand"/>
7
+ <text transform="translate(29,30.75)" class="small">s</text>
8
8
  </svg>
@@ -0,0 +1,11 @@
1
+ <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
+ <path class="cline stand" d="M 34.003906,5 V 4.1269531 c 0,-4.45934904 -3.585332,-8.0488281 -8.039062,-8.0488281 H 25"/>
3
+ <path class="cline stand" d="M 31.5,5 V 4.9667969 C 31.5,1.3836953 28.618741,-1.5 25.039062,-1.5 H 25"/>
4
+ <circle cx="27" cy="3" r="2" class="cfill cline rfill normal"/>
5
+ <g class="replace">
6
+ <rect x="1" y="1" width="28" height="28" rx="4" class="cline hfill rfill stand"/>
7
+ <path class="normal" style="fill:#000000;" d="m 21.561187,10.184155 c 0,-0.03232 0,-0.03232 0,-0.03232 C 21.076371,9.5054099 20.494591,8.9559512 19.815848,8.4388133 l 0,0.032323 C 19.266389,8.891311 18.71693,9.3438064 18.199794,9.7963017 17.973545,9.6670167 17.779619,9.5700535 17.585693,9.4730903 17.327124,9.3438064 17.068556,9.2145213 16.777665,9.1498799 16.680695,9.1175569 16.583739,9.0852339 16.486775,9.0852339 16.422135,8.3741695 16.357491,7.6631063 16.260528,6.952042 15.937318,6.887396 15.614106,6.887396 15.258574,6.855073 c -0.09697,0 -0.193926,0 -0.258569,0 -0.09697,0 -0.193925,0 -0.258568,0 -0.323211,0.032323 -0.614101,0.032323 -0.90499,0.096969 -0.09697,0.6787425 -0.161606,1.3898068 -0.193927,2.1008712 -0.129284,0 -0.226248,0.032323 -0.355532,0.064646 -0.03232,0 -0.06465,0 -0.09697,0.032323 -0.258568,0.064646 -0.517136,0.1939264 -0.775704,0.3232103 -0.226249,0.096969 -0.420175,0.1939264 -0.614102,0.3232114 -0.549458,-0.4524953 -1.066595,-0.87267 -1.616054,-1.3251654 0,0 0,0 -0.03232,-0.032323 C 10.022552,8.5357845 9.8932693,8.6327419 9.7963053,8.7297051 9.5700583,8.8913109 9.3761314,9.0852373 9.2145262,9.2791637 8.9236366,9.5377327 8.6973883,9.8609431 8.4388194,10.184155 c 0,0 0,0 0.032323,0 0.4201747,0.549459 0.87267,1.066596 1.325166,1.616054 -0.129285,0.193927 -0.258569,0.420175 -0.355533,0.614101 -0.129285,0.258569 -0.226248,0.549459 -0.2908894,0.808028 -0.064646,0.129284 -0.096969,0.258568 -0.096969,0.355531 -0.7110644,0.06465 -1.4221288,0.129285 -2.1008713,0.226248 -0.064646,0.323211 -0.096969,0.646422 -0.096969,1.001954 0,0.484816 0.032323,0.969632 0.1292839,1.422128 0.6787437,0.06465 1.3574862,0.129284 2.0685505,0.193926 0,0.129284 0.032323,0.258569 0.096969,0.355532 0.064646,0.29089 0.1616049,0.549459 0.2908899,0.840349 0.129284,0.226247 0.2262471,0.452495 0.387853,0.646421 -0.452496,0.549459 -0.9049912,1.066596 -1.3251647,1.616054 0.484816,0.678744 1.0665957,1.260523 1.7453387,1.74534 l 0,-0.03232 c 0.517137,-0.420175 1.066596,-0.87267 1.583733,-1.325166 l 0.03232,0 c 0.161605,0.09697 0.355532,0.193928 0.517136,0.290891 0.290891,0.129284 0.614101,0.258568 0.904991,0.32321 0.129284,0.03232 0.226248,0.06465 0.32321,0.09697 0.06465,0.678743 0.129285,1.389807 0.226249,2.100871 0.290889,0.03232 0.581779,0.06465 0.90499,0.06465 0.06465,0 0.258568,0 0.484817,0 0.355532,0 0.711064,-0.03232 1.066595,-0.09697 0.06465,-0.678742 0.129285,-1.389807 0.193926,-2.10087 0.09697,-0.03232 0.193927,-0.06465 0.29089,-0.09697 l 0,0 c 0.290891,-0.06464 0.549459,-0.161605 0.808028,-0.290889 0.226248,-0.09697 0.452495,-0.226248 0.678743,-0.387854 0,0.03232 0,0.03232 0.03232,0.03232 0.517137,0.452495 1.066596,0.904989 1.616054,1.325164 0.09697,-0.06465 0.193927,-0.129284 0.323212,-0.226247 0.193926,-0.161606 0.387852,-0.355532 0.549458,-0.549459 0.29089,-0.290889 0.58178,-0.614101 0.840348,-0.969633 -0.452495,-0.549459 -0.90499,-1.098917 -1.357486,-1.616054 0,-0.03232 0,-0.03232 0,-0.03232 0.09697,-0.161605 0.193927,-0.355531 0.29089,-0.549457 0.09696,-0.258569 0.226248,-0.517138 0.29089,-0.775707 0,-0.03232 0,-0.06465 0.03232,-0.06465 0,-0.129285 0.03232,-0.226248 0.06465,-0.290891 0.711065,-0.06465 1.422129,-0.129284 2.100872,-0.193926 0.06464,-0.323211 0.06464,-0.646422 0.09697,-0.969632 0,-0.09697 0,-0.193927 0,-0.29089 0,-0.06465 0,-0.161606 0,-0.258569 -0.03232,-0.323212 -0.03232,-0.646422 -0.09697,-0.969633 -0.678743,-0.06465 -1.389807,-0.129284 -2.100872,-0.193927 -0.03232,-0.09697 -0.06465,-0.193926 -0.06465,-0.290889 -0.09697,-0.29089 -0.193927,-0.58178 -0.323212,-0.872669 -0.09697,-0.193927 -0.226247,-0.420175 -0.32321,-0.614102 0.420173,-0.517136 0.872669,-1.066595 1.325164,-1.616054 z m -8.629731,2.682651 c 0.581779,-0.614101 1.292844,-0.904991 2.100871,-0.87267 0.840348,-0.03232 1.519091,0.258569 2.133192,0.87267 0.581779,0.581779 0.872669,1.292843 0.872669,2.10087 0,0.840348 -0.29089,1.519092 -0.872669,2.133192 -0.614101,0.58178 -1.292844,0.87267 -2.133192,0.87267 -0.808027,0 -1.519092,-0.29089 -2.100871,-0.87267 -0.581779,-0.6141 -0.872669,-1.292844 -0.872669,-2.133192 0,-0.808027 0.29089,-1.519091 0.872669,-2.10087 z"/>
8
+ </g>
9
+ <rect x="23" y="21" width="12" height="12" rx="2" class="cline rfill stand"/>
10
+ <text transform="translate(29,30.75)" class="small">s</text>
11
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg">
2
+ <line x1="8.5" y1="22.5" x2="22.5" y2="8.5" class="standfat"/>
3
+ <line x1="8.5" y1="8.5" x2="22.5" y2="22.5" class="standfat"/>
4
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
+ <circle cx="15" cy="15" r="14" class="cline stand"/>
3
+ <rect x="7" y="10" width="16" height="11" class="black" style="fill: none"/>
4
+ <path d="m 7,10 8,6 8,-6" class="black" style="fill: none"/>
5
+ </svg>
@@ -0,0 +1,74 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:cc="http://creativecommons.org/ns#"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns:svg="http://www.w3.org/2000/svg"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
+ class="clickable"
11
+ version="1.1"
12
+ id="svg10"
13
+ sodipodi:docname="test.svg"
14
+ inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
15
+ <metadata
16
+ id="metadata16">
17
+ <rdf:RDF>
18
+ <cc:Work
19
+ rdf:about="">
20
+ <dc:format>image/svg+xml</dc:format>
21
+ <dc:type
22
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
23
+ </cc:Work>
24
+ </rdf:RDF>
25
+ </metadata>
26
+ <defs
27
+ id="defs14" />
28
+ <sodipodi:namedview
29
+ pagecolor="#ffffff"
30
+ bordercolor="#666666"
31
+ borderopacity="1"
32
+ objecttolerance="10"
33
+ gridtolerance="10"
34
+ guidetolerance="10"
35
+ inkscape:pageopacity="0"
36
+ inkscape:pageshadow="2"
37
+ inkscape:window-width="2062"
38
+ inkscape:window-height="1298"
39
+ id="namedview12"
40
+ showgrid="false"
41
+ inkscape:zoom="35.146667"
42
+ inkscape:cx="13.036699"
43
+ inkscape:cy="13.350011"
44
+ inkscape:window-x="0"
45
+ inkscape:window-y="27"
46
+ inkscape:window-maximized="0"
47
+ inkscape:current-layer="svg10" />
48
+ <rect
49
+ transform="rotate(45,14,12)"
50
+ x="7"
51
+ y="3"
52
+ width="21"
53
+ height="21"
54
+ class="cline hfill stand"
55
+ id="rect2"
56
+ style="fill:#3465a4" />
57
+ <circle
58
+ cx="15.5"
59
+ cy="15.5"
60
+ r="7"
61
+ class="stand"
62
+ id="circle4" />
63
+ <circle
64
+ cx="15.5"
65
+ cy="15.5"
66
+ r="7"
67
+ class="stand"
68
+ id="circle6" />
69
+ <path
70
+ d="m 15.500001,11.435193 3.825246,2.779205 -1.461114,4.496849 h -4.728265 l -1.461115,-4.496849 z"
71
+ class="stand"
72
+ id="path8"
73
+ style="fill:#ef2929;stroke-width:1" />
74
+ </svg>
@@ -93,7 +93,7 @@ function WFAdaptorManifestation(adaptor) {
93
93
 
94
94
  nodes = JSON.parse(nodes);
95
95
  $(nodes).each(function(key,str) {
96
- nodes[key] = $X(str);;
96
+ nodes[key] = $X(str);
97
97
  });
98
98
 
99
99
  var check1 = [];
@@ -176,14 +176,44 @@ function WFAdaptorManifestation(adaptor) {
176
176
 
177
177
  if(xml_node.get(0).tagName != 'description' && !self.elements[xml_node.get(0).tagName].neverdelete) {
178
178
  var icon = self.elements[xml_node.get(0).tagName].illustrator.svg.clone();
179
- icon.children('.rfill').addClass('menu');
179
+ icon.find('.rfill').addClass('menu');
180
+ icon.find('.hfill').addClass('menu');
180
181
  menu['Delete'] = [{
181
182
  'label': 'Remove Element',
182
- 'function_call': function(selector,target,selected){ self.adaptor.description.remove(selector,target); self.adaptor.illustrator.get_label_by_svg_id(selected).addClass('selected'); },
183
+ 'function_call': function(selector,target,selected){
184
+ del_ui_pos(target)
185
+ self.adaptor.description.remove(selector,target);
186
+ localStorage.removeItem('marked');
187
+ localStorage.removeItem('marked_from');
188
+ },
183
189
  'menu_icon': icon,
184
190
  'type': undefined,
185
191
  'params': [null, xml_node, self.selected()]
186
192
  }];
193
+ var nodes = localStorage.getItem('marked');
194
+ nodes = JSON.parse(nodes);
195
+ if (nodes && nodes.length > 0) {
196
+ var icond = self.resources['delete'].clone();
197
+ icond.children('.standfat').addClass('menu');
198
+ menu['Delete'].push({
199
+ 'label': 'Remove Marked Elements',
200
+ 'function_call': function(){
201
+ $(nodes).each(function(key,str) {
202
+ nodes[key] = $X(str);
203
+ });
204
+ $(nodes).each(function(key,node){
205
+ var target = self.adaptor.description.get_node_by_svg_id($(node).attr('svg-id'));
206
+ del_ui_pos(target)
207
+ self.adaptor.description.remove(null,target);
208
+ localStorage.removeItem('marked');
209
+ localStorage.removeItem('marked_from');
210
+ });
211
+ },
212
+ 'menu_icon': icond,
213
+ 'type': undefined,
214
+ 'params': []
215
+ })
216
+ }
187
217
  }
188
218
  if($('> code', xml_node).length > 0 && xml_node.get(0).tagName == 'call') {
189
219
  var icon = self.elements.callmanipulate.illustrator.svg.clone();
@@ -198,7 +228,7 @@ function WFAdaptorManifestation(adaptor) {
198
228
  }
199
229
  if (xml_node.get(0).tagName == "call" || xml_node.get(0).tagName == "manipulate" || xml_node.get(0).tagName == "stop") {
200
230
  var icon = self.elements.call.illustrator.svg.clone();
201
- icon.children('g.replace').addClass('active');
231
+ icon.children('g.replace').addClass('passive');
202
232
  var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
203
233
  if (vtarget.length > 0) {
204
234
  if (vtarget.parents('g.activities.passive, g.activities.active').length > 0) {
@@ -223,6 +253,18 @@ function WFAdaptorManifestation(adaptor) {
223
253
  new CustomMenu(e).contextmenu(menu);
224
254
  } //}}}
225
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
+
226
268
  // Events
227
269
  this.events.touchend = function(svgid, e) { // {{{
228
270
  clearTimeout(self.presstimer);
@@ -234,6 +276,7 @@ function WFAdaptorManifestation(adaptor) {
234
276
  this.events.mousedown = function(svgid, e, child, sibling) { // {{{
235
277
  if(e.button == 0) { // left-click
236
278
  } else if(e.button == 1) { // middle-click
279
+ positionHandling(svgid);
237
280
  } else if(e.button == 2) { // right-click
238
281
  contextMenuHandling(svgid,e,child,sibling);
239
282
  }
@@ -266,6 +309,8 @@ function WFAdaptorManifestation(adaptor) {
266
309
  localStorage.removeItem('marked_from');
267
310
  }
268
311
  }
312
+ } else if (e && (e.shiftKey)) {
313
+ positionHandling(svgid);
269
314
  } else {
270
315
  self.adaptor.illustrator.get_elements().removeClass('marked');
271
316
  localStorage.removeItem('marked');
@@ -299,6 +344,7 @@ function WFAdaptorManifestation(adaptor) {
299
344
 
300
345
  // other resources
301
346
  this.resources.arrow = self.adaptor.theme_dir + 'symbols/arrow.svg';
347
+ this.resources.delete = self.adaptor.theme_dir + 'symbols/delete.svg';
302
348
 
303
349
  // Primitive Elements
304
350
  this.elements.call = { /*{{{*/
@@ -329,7 +375,7 @@ function WFAdaptorManifestation(adaptor) {
329
375
  },
330
376
  'info': function(node){ return { 'element-endpoint': $(node).attr('endpoint') }; },
331
377
  'resolve_symbol': function(node) {
332
- if($('code', node).length > 0) {
378
+ if($('> code', node).length > 0) {
333
379
  return 'callmanipulate';
334
380
  } else {
335
381
  return 'call';
@@ -986,7 +1032,7 @@ function WFAdaptorManifestation(adaptor) {
986
1032
  } else {
987
1033
  valtext = '';
988
1034
  }
989
- 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 } ];
990
1036
  return ret;
991
1037
  },
992
1038
  'svg': self.adaptor.theme_dir + 'symbols/closed_loop_measuring.svg'
@@ -1068,7 +1114,7 @@ function WFAdaptorManifestation(adaptor) {
1068
1114
  } else {
1069
1115
  valtext = '';
1070
1116
  }
1071
- 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 } ];
1072
1118
  return ret;
1073
1119
  },
1074
1120
  'svg': self.adaptor.theme_dir + 'symbols/closed_loop_control.svg'