@eclipse-glsp/client 0.9.0-rc-01 → 0.9.0

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 (581) hide show
  1. package/LICENSE +642 -277
  2. package/README.md +4 -2
  3. package/css/command-palette.css +9 -5
  4. package/css/decoration.css +3 -2
  5. package/css/glsp-sprotty.css +16 -7
  6. package/css/tool-palette.css +44 -27
  7. package/lib/base/action-dispatcher.d.ts +17 -1
  8. package/lib/base/action-dispatcher.d.ts.map +1 -1
  9. package/lib/base/action-dispatcher.js +41 -61
  10. package/lib/base/action-dispatcher.js.map +1 -1
  11. package/lib/base/actions/focus-change-action.d.ts +1 -1
  12. package/lib/base/actions/focus-change-action.d.ts.map +1 -1
  13. package/lib/base/actions/focus-change-action.js +4 -5
  14. package/lib/base/actions/focus-change-action.js.map +1 -1
  15. package/lib/base/{args.d.ts → argumentable.d.ts} +3 -5
  16. package/lib/base/argumentable.d.ts.map +1 -0
  17. package/lib/base/{args.js → argumentable.js} +1 -1
  18. package/lib/base/argumentable.js.map +1 -0
  19. package/lib/base/auto-complete/auto-complete-actions.d.ts +1 -1
  20. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  21. package/lib/base/auto-complete/auto-complete-widget.d.ts +3 -3
  22. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  23. package/lib/base/auto-complete/auto-complete-widget.js +119 -153
  24. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  25. package/lib/base/auto-complete/validation-decorator.d.ts +3 -18
  26. package/lib/base/auto-complete/validation-decorator.d.ts.map +1 -1
  27. package/lib/base/auto-complete/validation-decorator.js +44 -65
  28. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  29. package/lib/base/command-stack.d.ts.map +1 -1
  30. package/lib/base/command-stack.js +19 -37
  31. package/lib/base/command-stack.js.map +1 -1
  32. package/lib/base/container-modules.d.ts +40 -0
  33. package/lib/base/container-modules.d.ts.map +1 -0
  34. package/lib/base/container-modules.js +100 -0
  35. package/lib/base/container-modules.js.map +1 -0
  36. package/lib/base/di.config.d.ts +12 -2
  37. package/lib/base/di.config.d.ts.map +1 -1
  38. package/lib/base/di.config.js +43 -27
  39. package/lib/base/di.config.js.map +1 -1
  40. package/lib/base/drag-aware-mouse-listener.d.ts +3 -2
  41. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  42. package/lib/base/drag-aware-mouse-listener.js +23 -62
  43. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  44. package/lib/base/{editor-context.d.ts → editor-context-service.d.ts} +18 -22
  45. package/lib/base/editor-context-service.d.ts.map +1 -0
  46. package/lib/base/editor-context-service.js +109 -0
  47. package/lib/base/editor-context-service.js.map +1 -0
  48. package/lib/base/focus-tracker.d.ts +17 -1
  49. package/lib/base/focus-tracker.d.ts.map +1 -1
  50. package/lib/base/focus-tracker.js +19 -39
  51. package/lib/base/focus-tracker.js.map +1 -1
  52. package/lib/base/model/model-registry.js +10 -28
  53. package/lib/base/model/model-registry.js.map +1 -1
  54. package/lib/base/model/update-model-command.d.ts +19 -5
  55. package/lib/base/model/update-model-command.d.ts.map +1 -1
  56. package/lib/base/model/update-model-command.js +69 -94
  57. package/lib/base/model/update-model-command.js.map +1 -1
  58. package/lib/base/model-initialization-constraint.d.ts +16 -1
  59. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  60. package/lib/base/model-initialization-constraint.js +34 -54
  61. package/lib/base/model-initialization-constraint.js.map +1 -1
  62. package/lib/base/selection-clearing-mouse-listener.js +10 -28
  63. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  64. package/lib/base/source-uri-aware.js +2 -5
  65. package/lib/base/source-uri-aware.js.map +1 -1
  66. package/lib/base/tool-manager/glsp-tool-manager.d.ts +1 -1
  67. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  68. package/lib/base/tool-manager/glsp-tool-manager.js +58 -140
  69. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  70. package/lib/base/types.d.ts +3 -1
  71. package/lib/base/types.d.ts.map +1 -1
  72. package/lib/base/types.js +4 -2
  73. package/lib/base/types.js.map +1 -1
  74. package/lib/base/view/view-registry.js +10 -28
  75. package/lib/base/view/view-registry.js.map +1 -1
  76. package/lib/features/change-bounds/model.d.ts +3 -1
  77. package/lib/features/change-bounds/model.d.ts.map +1 -1
  78. package/lib/features/change-bounds/model.js +20 -31
  79. package/lib/features/change-bounds/model.js.map +1 -1
  80. package/lib/features/change-bounds/movement-restrictor.d.ts +17 -1
  81. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  82. package/lib/features/change-bounds/movement-restrictor.js +28 -42
  83. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  84. package/lib/features/change-bounds/snap.d.ts +17 -1
  85. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  86. package/lib/features/change-bounds/snap.js +13 -39
  87. package/lib/features/change-bounds/snap.js.map +1 -1
  88. package/lib/features/command-palette/command-palette-tool.js +30 -38
  89. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  90. package/lib/features/command-palette/di.config.js +6 -6
  91. package/lib/features/command-palette/di.config.js.map +1 -1
  92. package/lib/features/command-palette/server-command-palette-provider.d.ts +18 -2
  93. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  94. package/lib/features/command-palette/server-command-palette-provider.js +28 -33
  95. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  96. package/lib/features/context-menu/delete-element-context-menu.d.ts +1 -1
  97. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  98. package/lib/features/context-menu/delete-element-context-menu.js +20 -68
  99. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  100. package/lib/features/context-menu/di.config.d.ts +1 -1
  101. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  102. package/lib/features/context-menu/di.config.js +8 -8
  103. package/lib/features/context-menu/di.config.js.map +1 -1
  104. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  105. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +29 -67
  106. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  107. package/lib/features/context-menu/server-context-menu-provider.d.ts +18 -2
  108. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  109. package/lib/features/context-menu/server-context-menu-provider.js +30 -31
  110. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  111. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +22 -2
  112. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  113. package/lib/features/copy-paste/copy-paste-context-menu.js +99 -72
  114. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  115. package/lib/features/copy-paste/copy-paste-handler.d.ts +19 -2
  116. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  117. package/lib/features/copy-paste/copy-paste-handler.js +70 -70
  118. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  119. package/lib/features/copy-paste/di.config.d.ts +1 -1
  120. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  121. package/lib/features/copy-paste/di.config.js +11 -11
  122. package/lib/features/copy-paste/di.config.js.map +1 -1
  123. package/lib/features/decoration/decoration-placer.d.ts +17 -1
  124. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  125. package/lib/features/decoration/decoration-placer.js +12 -46
  126. package/lib/features/decoration/decoration-placer.js.map +1 -1
  127. package/lib/features/decoration/di.config.js +4 -4
  128. package/lib/features/decoration/di.config.js.map +1 -1
  129. package/lib/features/edit-label/di.config.js +7 -7
  130. package/lib/features/edit-label/di.config.js.map +1 -1
  131. package/lib/features/edit-label/edit-label-tool.js +20 -43
  132. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  133. package/lib/features/edit-label/edit-label-validator.d.ts +16 -1
  134. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  135. package/lib/features/edit-label/edit-label-validator.js +40 -62
  136. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  137. package/lib/features/hints/di.config.d.ts +0 -15
  138. package/lib/features/hints/di.config.d.ts.map +1 -1
  139. package/lib/features/hints/di.config.js +9 -9
  140. package/lib/features/hints/di.config.js.map +1 -1
  141. package/lib/features/hints/model.d.ts +3 -2
  142. package/lib/features/hints/model.d.ts.map +1 -1
  143. package/lib/features/hints/model.js.map +1 -1
  144. package/lib/features/hints/type-hints.d.ts +17 -45
  145. package/lib/features/hints/type-hints.d.ts.map +1 -1
  146. package/lib/features/hints/type-hints.js +81 -140
  147. package/lib/features/hints/type-hints.js.map +1 -1
  148. package/lib/features/hover/di.config.d.ts +1 -1
  149. package/lib/features/hover/di.config.d.ts.map +1 -1
  150. package/lib/features/hover/di.config.js +8 -8
  151. package/lib/features/hover/di.config.js.map +1 -1
  152. package/lib/features/hover/hover.d.ts +17 -1
  153. package/lib/features/hover/hover.d.ts.map +1 -1
  154. package/lib/features/hover/hover.js +37 -77
  155. package/lib/features/hover/hover.js.map +1 -1
  156. package/lib/features/layout/di.config.d.ts +1 -1
  157. package/lib/features/layout/di.config.d.ts.map +1 -1
  158. package/lib/features/layout/di.config.js +11 -7
  159. package/lib/features/layout/di.config.js.map +1 -1
  160. package/lib/features/layout/freeform-layout.d.ts +16 -0
  161. package/lib/features/layout/freeform-layout.d.ts.map +1 -0
  162. package/lib/features/layout/freeform-layout.js +107 -0
  163. package/lib/features/layout/freeform-layout.js.map +1 -0
  164. package/lib/features/layout/layout-commands.d.ts +19 -3
  165. package/lib/features/layout/layout-commands.d.ts.map +1 -1
  166. package/lib/features/layout/layout-commands.js +189 -265
  167. package/lib/features/layout/layout-commands.js.map +1 -1
  168. package/lib/features/layout/layout-commands.spec.d.ts +0 -15
  169. package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
  170. package/lib/features/layout/layout-commands.spec.js +95 -89
  171. package/lib/features/layout/layout-commands.spec.js.map +1 -1
  172. package/lib/features/layout/vbox-layout.d.ts +25 -0
  173. package/lib/features/layout/vbox-layout.d.ts.map +1 -0
  174. package/lib/features/layout/vbox-layout.js +188 -0
  175. package/lib/features/layout/vbox-layout.js.map +1 -0
  176. package/lib/features/model-source-watcher/di.config.d.ts +0 -15
  177. package/lib/features/model-source-watcher/di.config.d.ts.map +1 -1
  178. package/lib/features/model-source-watcher/di.config.js +7 -7
  179. package/lib/features/model-source-watcher/di.config.js.map +1 -1
  180. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +17 -2
  181. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
  182. package/lib/features/model-source-watcher/model-source-changed-action-handler.js +38 -46
  183. package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
  184. package/lib/features/mouse-tool/di.config.js +5 -5
  185. package/lib/features/mouse-tool/di.config.js.map +1 -1
  186. package/lib/features/mouse-tool/mouse-tool.d.ts +2 -1
  187. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  188. package/lib/features/mouse-tool/mouse-tool.js +70 -215
  189. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  190. package/lib/features/navigation/di.config.d.ts +0 -15
  191. package/lib/features/navigation/di.config.d.ts.map +1 -1
  192. package/lib/features/navigation/di.config.js +11 -10
  193. package/lib/features/navigation/di.config.js.map +1 -1
  194. package/lib/features/navigation/navigation-action-handler.d.ts +19 -38
  195. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  196. package/lib/features/navigation/navigation-action-handler.js +118 -254
  197. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  198. package/lib/features/navigation/navigation-target-resolver.d.ts +18 -40
  199. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  200. package/lib/features/navigation/navigation-target-resolver.js +46 -188
  201. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  202. package/lib/features/navigation/navigation-target-resolver.spec.d.ts +0 -15
  203. package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -1
  204. package/lib/features/navigation/navigation-target-resolver.spec.js +26 -26
  205. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  206. package/lib/features/rank/model.d.ts +1 -1
  207. package/lib/features/rank/model.js +2 -2
  208. package/lib/features/rank/model.js.map +1 -1
  209. package/lib/features/reconnect/model.d.ts +1 -1
  210. package/lib/features/reconnect/model.d.ts.map +1 -1
  211. package/lib/features/reconnect/model.js +9 -27
  212. package/lib/features/reconnect/model.js.map +1 -1
  213. package/lib/features/save/di.config.d.ts +1 -1
  214. package/lib/features/save/di.config.d.ts.map +1 -1
  215. package/lib/features/save/di.config.js +6 -6
  216. package/lib/features/save/di.config.js.map +1 -1
  217. package/lib/features/save/{save.d.ts → save-keylistener.d.ts} +4 -10
  218. package/lib/features/save/save-keylistener.d.ts.map +1 -0
  219. package/lib/features/{undo-redo/model.d.ts → save/save-keylistener.js} +16 -12
  220. package/lib/features/save/save-keylistener.js.map +1 -0
  221. package/lib/features/select/di.config.js +11 -11
  222. package/lib/features/select/di.config.js.map +1 -1
  223. package/lib/features/select/select-feedback-action.d.ts.map +1 -1
  224. package/lib/features/select/select-feedback-action.js +45 -71
  225. package/lib/features/select/select-feedback-action.js.map +1 -1
  226. package/lib/features/select/select-mouse-listener.js +7 -23
  227. package/lib/features/select/select-mouse-listener.js.map +1 -1
  228. package/lib/features/select/selection-service.d.ts +17 -1
  229. package/lib/features/select/selection-service.d.ts.map +1 -1
  230. package/lib/features/select/selection-service.js +134 -236
  231. package/lib/features/select/selection-service.js.map +1 -1
  232. package/lib/features/select/selection-service.spec.js +96 -139
  233. package/lib/features/select/selection-service.spec.js.map +1 -1
  234. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +19 -2
  235. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  236. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +102 -142
  237. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  238. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +17 -1
  239. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  240. package/lib/features/tool-feedback/creation-tool-feedback.js +69 -118
  241. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  242. package/lib/features/tool-feedback/css-feedback.d.ts +20 -2
  243. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  244. package/lib/features/tool-feedback/css-feedback.js +37 -81
  245. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  246. package/lib/features/tool-feedback/di.config.d.ts +1 -1
  247. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  248. package/lib/features/tool-feedback/di.config.js +27 -27
  249. package/lib/features/tool-feedback/di.config.js.map +1 -1
  250. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +18 -2
  251. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  252. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +147 -208
  253. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  254. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +19 -3
  255. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
  256. package/lib/features/tool-feedback/feedback-action-dispatcher.js +35 -72
  257. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
  258. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +17 -1
  259. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  260. package/lib/features/tool-feedback/marquee-tool-feedback.js +41 -84
  261. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  262. package/lib/features/tool-feedback/model.d.ts +1 -1
  263. package/lib/features/tool-feedback/model.js +11 -27
  264. package/lib/features/tool-feedback/model.js.map +1 -1
  265. package/lib/features/tool-feedback/view.d.ts +21 -5
  266. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  267. package/lib/features/tool-feedback/view.js +29 -51
  268. package/lib/features/tool-feedback/view.js.map +1 -1
  269. package/lib/features/tool-palette/di.config.d.ts +1 -1
  270. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  271. package/lib/features/tool-palette/di.config.js +6 -6
  272. package/lib/features/tool-palette/di.config.js.map +1 -1
  273. package/lib/features/tool-palette/palette-item.d.ts +2 -3
  274. package/lib/features/tool-palette/palette-item.d.ts.map +1 -1
  275. package/lib/features/tool-palette/palette-item.js +6 -6
  276. package/lib/features/tool-palette/palette-item.js.map +1 -1
  277. package/lib/features/tool-palette/tool-palette.d.ts +19 -3
  278. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  279. package/lib/features/tool-palette/tool-palette.js +199 -269
  280. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  281. package/lib/features/tools/base-glsp-tool.d.ts +18 -2
  282. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  283. package/lib/features/tools/base-glsp-tool.js +37 -59
  284. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  285. package/lib/features/tools/change-bounds-tool.d.ts +20 -3
  286. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  287. package/lib/features/tools/change-bounds-tool.js +192 -241
  288. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  289. package/lib/features/tools/delete-tool.d.ts +17 -1
  290. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  291. package/lib/features/tools/delete-tool.js +71 -104
  292. package/lib/features/tools/delete-tool.js.map +1 -1
  293. package/lib/features/tools/di.config.d.ts +0 -15
  294. package/lib/features/tools/di.config.d.ts.map +1 -1
  295. package/lib/features/tools/di.config.js +19 -19
  296. package/lib/features/tools/di.config.js.map +1 -1
  297. package/lib/features/tools/edge-creation-tool.d.ts +17 -2
  298. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  299. package/lib/features/tools/edge-creation-tool.js +62 -87
  300. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  301. package/lib/features/tools/edge-edit-tool.d.ts +17 -1
  302. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  303. package/lib/features/tools/edge-edit-tool.js +112 -183
  304. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  305. package/lib/features/tools/marquee-behavior.d.ts +42 -0
  306. package/lib/features/tools/marquee-behavior.d.ts.map +1 -0
  307. package/lib/features/tools/marquee-behavior.js +128 -0
  308. package/lib/features/tools/marquee-behavior.js.map +1 -0
  309. package/{src/features/undo-redo/model.ts → lib/features/tools/marquee-behavior.spec.d.ts} +3 -12
  310. package/lib/features/tools/marquee-behavior.spec.d.ts.map +1 -0
  311. package/lib/features/tools/marquee-behavior.spec.js +165 -0
  312. package/lib/features/tools/marquee-behavior.spec.js.map +1 -0
  313. package/lib/features/tools/marquee-mouse-tool.d.ts +24 -13
  314. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  315. package/lib/features/tools/marquee-mouse-tool.js +86 -195
  316. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  317. package/lib/features/tools/marquee-tool.d.ts +17 -1
  318. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  319. package/lib/features/tools/marquee-tool.js +32 -73
  320. package/lib/features/tools/marquee-tool.js.map +1 -1
  321. package/lib/features/tools/model.js +4 -22
  322. package/lib/features/tools/model.js.map +1 -1
  323. package/lib/features/tools/node-creation-tool.d.ts +17 -2
  324. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  325. package/lib/features/tools/node-creation-tool.js +60 -90
  326. package/lib/features/tools/node-creation-tool.js.map +1 -1
  327. package/lib/features/tools/view.d.ts +1 -1
  328. package/lib/features/tools/view.d.ts.map +1 -1
  329. package/lib/features/tools/view.js +12 -31
  330. package/lib/features/tools/view.js.map +1 -1
  331. package/lib/features/validation/di.config.js +12 -12
  332. package/lib/features/validation/di.config.js.map +1 -1
  333. package/lib/features/validation/issue-marker.d.ts +2 -2
  334. package/lib/features/validation/issue-marker.d.ts.map +1 -1
  335. package/lib/features/validation/issue-marker.js +17 -55
  336. package/lib/features/validation/issue-marker.js.map +1 -1
  337. package/lib/features/validation/marker-navigator.d.ts +17 -1
  338. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  339. package/lib/features/validation/marker-navigator.js +131 -164
  340. package/lib/features/validation/marker-navigator.js.map +1 -1
  341. package/lib/features/validation/marker-navigator.spec.d.ts +0 -15
  342. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  343. package/lib/features/validation/marker-navigator.spec.js +83 -77
  344. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  345. package/lib/features/validation/validate.d.ts +18 -29
  346. package/lib/features/validation/validate.d.ts.map +1 -1
  347. package/lib/features/validation/validate.js +147 -300
  348. package/lib/features/validation/validate.js.map +1 -1
  349. package/lib/features/viewport/di.config.js +10 -10
  350. package/lib/features/viewport/di.config.js.map +1 -1
  351. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +18 -2
  352. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  353. package/lib/features/viewport/glsp-scroll-mouse-listener.js +16 -47
  354. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  355. package/lib/index.d.ts +9 -15
  356. package/lib/index.d.ts.map +1 -1
  357. package/lib/index.js +29 -34
  358. package/lib/index.js.map +1 -1
  359. package/lib/lib/model.js +11 -27
  360. package/lib/lib/model.js.map +1 -1
  361. package/lib/model-source/glsp-diagram-server.d.ts +3 -5
  362. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  363. package/lib/model-source/glsp-diagram-server.js +60 -121
  364. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  365. package/lib/protocol-reexport.d.ts +45 -0
  366. package/lib/protocol-reexport.d.ts.map +1 -0
  367. package/lib/protocol-reexport.js +75 -0
  368. package/lib/protocol-reexport.js.map +1 -0
  369. package/lib/utils/argument-utils.d.ts +3 -3
  370. package/lib/utils/argument-utils.d.ts.map +1 -1
  371. package/lib/utils/argument-utils.js +32 -97
  372. package/lib/utils/argument-utils.js.map +1 -1
  373. package/lib/utils/html-utils.js +2 -2
  374. package/lib/utils/html-utils.js.map +1 -1
  375. package/lib/utils/layout-utils.d.ts +3 -2
  376. package/lib/utils/layout-utils.d.ts.map +1 -1
  377. package/lib/utils/layout-utils.js +5 -5
  378. package/lib/utils/layout-utils.js.map +1 -1
  379. package/lib/utils/marker.d.ts +0 -38
  380. package/lib/utils/marker.d.ts.map +1 -1
  381. package/lib/utils/marker.js +14 -61
  382. package/lib/utils/marker.js.map +1 -1
  383. package/lib/utils/smodel-util.d.ts +4 -4
  384. package/lib/utils/smodel-util.d.ts.map +1 -1
  385. package/lib/utils/smodel-util.js +16 -65
  386. package/lib/utils/smodel-util.js.map +1 -1
  387. package/lib/utils/viewpoint-util.d.ts +3 -2
  388. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  389. package/lib/utils/viewpoint-util.js +15 -30
  390. package/lib/utils/viewpoint-util.js.map +1 -1
  391. package/lib/views/base-view-module.d.ts +0 -15
  392. package/lib/views/base-view-module.d.ts.map +1 -1
  393. package/lib/views/base-view-module.js +28 -28
  394. package/lib/views/base-view-module.js.map +1 -1
  395. package/lib/views/compartments.d.ts +6 -0
  396. package/lib/views/compartments.d.ts.map +1 -0
  397. package/lib/views/compartments.js +43 -0
  398. package/lib/views/compartments.js.map +1 -0
  399. package/lib/views/glsp-edge-view.d.ts +18 -3
  400. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  401. package/lib/views/glsp-edge-view.js +32 -77
  402. package/lib/views/glsp-edge-view.js.map +1 -1
  403. package/lib/views/index.d.ts +1 -1
  404. package/lib/views/index.d.ts.map +1 -1
  405. package/lib/views/index.js +1 -1
  406. package/lib/views/index.js.map +1 -1
  407. package/lib/views/issue-marker-view.d.ts +2 -1
  408. package/lib/views/issue-marker-view.d.ts.map +1 -1
  409. package/lib/views/issue-marker-view.js +36 -50
  410. package/lib/views/issue-marker-view.js.map +1 -1
  411. package/lib/views/rounded-corner-view.d.ts +2 -3
  412. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  413. package/lib/views/rounded-corner-view.js +40 -70
  414. package/lib/views/rounded-corner-view.js.map +1 -1
  415. package/lib/views/rounded-corner.d.ts +2 -1
  416. package/lib/views/rounded-corner.d.ts.map +1 -1
  417. package/lib/views/rounded-corner.js +44 -65
  418. package/lib/views/rounded-corner.js.map +1 -1
  419. package/package.json +12 -19
  420. package/src/base/action-dispatcher.ts +3 -4
  421. package/src/base/actions/focus-change-action.ts +2 -2
  422. package/src/base/{args.ts → argumentable.ts} +2 -3
  423. package/src/base/auto-complete/auto-complete-actions.ts +1 -1
  424. package/src/base/auto-complete/auto-complete-widget.ts +37 -25
  425. package/src/base/auto-complete/validation-decorator.ts +12 -11
  426. package/src/base/command-stack.ts +2 -5
  427. package/src/base/container-modules.ts +112 -0
  428. package/src/base/di.config.ts +33 -18
  429. package/src/base/drag-aware-mouse-listener.ts +3 -4
  430. package/src/base/{editor-context.ts → editor-context-service.ts} +4 -31
  431. package/src/base/focus-tracker.ts +2 -4
  432. package/src/base/model/update-model-command.ts +8 -16
  433. package/src/base/model-initialization-constraint.ts +3 -2
  434. package/src/base/tool-manager/glsp-tool-manager.ts +3 -5
  435. package/src/base/types.ts +4 -2
  436. package/src/features/change-bounds/model.ts +15 -5
  437. package/src/features/change-bounds/movement-restrictor.ts +17 -9
  438. package/src/features/change-bounds/snap.ts +3 -2
  439. package/src/features/command-palette/server-command-palette-provider.ts +11 -9
  440. package/src/features/context-menu/delete-element-context-menu.ts +3 -4
  441. package/src/features/context-menu/di.config.ts +11 -9
  442. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +4 -3
  443. package/src/features/context-menu/server-context-menu-provider.ts +10 -7
  444. package/src/features/copy-paste/copy-paste-context-menu.ts +59 -30
  445. package/src/features/copy-paste/copy-paste-handler.ts +18 -10
  446. package/src/features/copy-paste/di.config.ts +2 -3
  447. package/src/features/decoration/decoration-placer.ts +3 -13
  448. package/src/features/edit-label/edit-label-validator.ts +11 -12
  449. package/src/features/hints/di.config.ts +2 -3
  450. package/src/features/hints/model.ts +4 -3
  451. package/src/features/hints/type-hints.ts +23 -90
  452. package/src/features/hover/di.config.ts +1 -2
  453. package/src/features/hover/hover.ts +2 -7
  454. package/src/features/layout/di.config.ts +8 -4
  455. package/src/features/layout/freeform-layout.ts +133 -0
  456. package/src/features/layout/layout-commands.spec.ts +82 -64
  457. package/src/features/layout/layout-commands.ts +43 -34
  458. package/src/features/layout/vbox-layout.ts +256 -0
  459. package/src/features/model-source-watcher/di.config.ts +3 -4
  460. package/src/features/model-source-watcher/model-source-changed-action-handler.ts +11 -7
  461. package/src/features/mouse-tool/mouse-tool.ts +33 -23
  462. package/src/features/navigation/di.config.ts +4 -10
  463. package/src/features/navigation/navigation-action-handler.ts +33 -69
  464. package/src/features/navigation/navigation-target-resolver.spec.ts +3 -7
  465. package/src/features/navigation/navigation-target-resolver.ts +13 -91
  466. package/src/features/rank/model.ts +2 -2
  467. package/src/features/reconnect/model.ts +2 -3
  468. package/src/features/save/di.config.ts +2 -3
  469. package/src/features/save/{save.ts → save-keylistener.ts} +3 -11
  470. package/src/features/select/select-feedback-action.ts +4 -6
  471. package/src/features/select/selection-service.spec.ts +11 -6
  472. package/src/features/select/selection-service.ts +14 -10
  473. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +26 -20
  474. package/src/features/tool-feedback/creation-tool-feedback.ts +17 -10
  475. package/src/features/tool-feedback/css-feedback.ts +9 -6
  476. package/src/features/tool-feedback/di.config.ts +2 -5
  477. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +19 -18
  478. package/src/features/tool-feedback/feedback-action-dispatcher.ts +8 -9
  479. package/src/features/tool-feedback/marquee-tool-feedback.ts +4 -5
  480. package/src/features/tool-feedback/model.ts +1 -2
  481. package/src/features/tool-feedback/view.tsx +17 -11
  482. package/src/features/tool-palette/di.config.ts +2 -4
  483. package/src/features/tool-palette/palette-item.ts +4 -6
  484. package/src/features/tool-palette/tool-palette.ts +44 -40
  485. package/src/features/tools/base-glsp-tool.ts +4 -4
  486. package/src/features/tools/change-bounds-tool.ts +64 -34
  487. package/src/features/tools/delete-tool.ts +9 -6
  488. package/src/features/tools/di.config.ts +2 -3
  489. package/src/features/tools/edge-creation-tool.ts +5 -10
  490. package/src/features/tools/edge-edit-tool.ts +10 -20
  491. package/src/features/tools/marquee-behavior.spec.ts +175 -0
  492. package/src/features/tools/marquee-behavior.ts +158 -0
  493. package/src/features/tools/marquee-mouse-tool.ts +43 -134
  494. package/src/features/tools/marquee-tool.ts +2 -3
  495. package/src/features/tools/node-creation-tool.ts +4 -11
  496. package/src/features/tools/view.tsx +17 -12
  497. package/src/features/validation/issue-marker.ts +2 -3
  498. package/src/features/validation/marker-navigator.spec.ts +18 -14
  499. package/src/features/validation/marker-navigator.ts +24 -12
  500. package/src/features/validation/validate.ts +7 -40
  501. package/src/features/viewport/glsp-scroll-mouse-listener.ts +3 -12
  502. package/src/index.ts +30 -19
  503. package/src/model-source/glsp-diagram-server.ts +12 -28
  504. package/src/protocol-reexport.ts +64 -0
  505. package/src/utils/argument-utils.ts +14 -11
  506. package/src/utils/layout-utils.ts +13 -7
  507. package/src/utils/marker.ts +2 -26
  508. package/src/utils/smodel-util.ts +15 -11
  509. package/src/utils/viewpoint-util.ts +4 -4
  510. package/src/views/base-view-module.ts +1 -2
  511. package/src/{base/actions/edit-mode-action.ts → views/compartments.tsx} +18 -14
  512. package/src/views/glsp-edge-view.tsx +21 -14
  513. package/src/views/index.ts +1 -1
  514. package/src/views/issue-marker-view.tsx +28 -19
  515. package/src/views/rounded-corner-view.tsx +38 -25
  516. package/src/views/rounded-corner.ts +5 -6
  517. package/lib/base/actions/context-actions.d.ts +0 -36
  518. package/lib/base/actions/context-actions.d.ts.map +0 -1
  519. package/lib/base/actions/context-actions.js +0 -51
  520. package/lib/base/actions/context-actions.js.map +0 -1
  521. package/lib/base/actions/edit-mode-action.d.ts +0 -13
  522. package/lib/base/actions/edit-mode-action.d.ts.map +0 -1
  523. package/lib/base/actions/edit-mode-action.js +0 -56
  524. package/lib/base/actions/edit-mode-action.js.map +0 -1
  525. package/lib/base/actions/edit-validation-actions.d.ts +0 -78
  526. package/lib/base/actions/edit-validation-actions.d.ts.map +0 -1
  527. package/lib/base/actions/edit-validation-actions.js +0 -83
  528. package/lib/base/actions/edit-validation-actions.js.map +0 -1
  529. package/lib/base/actions/protocol-actions.d.ts +0 -41
  530. package/lib/base/actions/protocol-actions.d.ts.map +0 -1
  531. package/lib/base/actions/protocol-actions.js +0 -151
  532. package/lib/base/actions/protocol-actions.js.map +0 -1
  533. package/lib/base/args.d.ts.map +0 -1
  534. package/lib/base/args.js.map +0 -1
  535. package/lib/base/editor-context.d.ts.map +0 -1
  536. package/lib/base/editor-context.js +0 -174
  537. package/lib/base/editor-context.js.map +0 -1
  538. package/lib/base/operations/operation.d.ts +0 -135
  539. package/lib/base/operations/operation.d.ts.map +0 -1
  540. package/lib/base/operations/operation.js +0 -231
  541. package/lib/base/operations/operation.js.map +0 -1
  542. package/lib/features/copy-paste/copy-paste-actions.d.ts +0 -50
  543. package/lib/features/copy-paste/copy-paste-actions.d.ts.map +0 -1
  544. package/lib/features/copy-paste/copy-paste-actions.js +0 -68
  545. package/lib/features/copy-paste/copy-paste-actions.js.map +0 -1
  546. package/lib/features/hints/request-type-hints-action.d.ts +0 -32
  547. package/lib/features/hints/request-type-hints-action.d.ts.map +0 -1
  548. package/lib/features/hints/request-type-hints-action.js +0 -30
  549. package/lib/features/hints/request-type-hints-action.js.map +0 -1
  550. package/lib/features/model-source-watcher/model-source-changed-action.d.ts +0 -24
  551. package/lib/features/model-source-watcher/model-source-changed-action.d.ts.map +0 -1
  552. package/lib/features/model-source-watcher/model-source-changed-action.js +0 -17
  553. package/lib/features/model-source-watcher/model-source-changed-action.js.map +0 -1
  554. package/lib/features/save/save.d.ts.map +0 -1
  555. package/lib/features/save/save.js +0 -62
  556. package/lib/features/save/save.js.map +0 -1
  557. package/lib/features/undo-redo/model.d.ts.map +0 -1
  558. package/lib/features/undo-redo/model.js +0 -22
  559. package/lib/features/undo-redo/model.js.map +0 -1
  560. package/lib/model-source/glsp-server-status.d.ts +0 -30
  561. package/lib/model-source/glsp-server-status.d.ts.map +0 -1
  562. package/lib/model-source/glsp-server-status.js +0 -61
  563. package/lib/model-source/glsp-server-status.js.map +0 -1
  564. package/lib/utils/array-utils.d.ts +0 -28
  565. package/lib/utils/array-utils.d.ts.map +0 -1
  566. package/lib/utils/array-utils.js +0 -61
  567. package/lib/utils/array-utils.js.map +0 -1
  568. package/lib/views/default-types.d.ts +0 -37
  569. package/lib/views/default-types.d.ts.map +0 -1
  570. package/lib/views/default-types.js +0 -47
  571. package/lib/views/default-types.js.map +0 -1
  572. package/src/base/actions/context-actions.ts +0 -43
  573. package/src/base/actions/edit-validation-actions.ts +0 -103
  574. package/src/base/actions/protocol-actions.ts +0 -82
  575. package/src/base/operations/operation.ts +0 -178
  576. package/src/features/copy-paste/copy-paste-actions.ts +0 -60
  577. package/src/features/hints/request-type-hints-action.ts +0 -36
  578. package/src/features/model-source-watcher/model-source-changed-action.ts +0 -26
  579. package/src/model-source/glsp-server-status.ts +0 -38
  580. package/src/utils/array-utils.ts +0 -55
  581. package/src/views/default-types.ts +0 -48
@@ -14,11 +14,10 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { SModelElement } from 'sprotty';
17
-
18
- import { hasArguments } from '../base/args';
17
+ import { hasArguments } from '../base/argumentable';
19
18
 
20
19
  export namespace GArgument {
21
- export function asNumber(argValue: (string | number | boolean)): number | undefined {
20
+ export function asNumber(argValue: string | number | boolean): number | undefined {
22
21
  return typeof argValue === 'number' ? argValue : undefined;
23
22
  }
24
23
 
@@ -26,7 +25,7 @@ export namespace GArgument {
26
25
  return argValues.map(asNumber);
27
26
  }
28
27
 
29
- export function asString(argValue: (string | number | boolean)): string | undefined {
28
+ export function asString(argValue: string | number | boolean): string | undefined {
30
29
  return typeof argValue === 'string' ? argValue : undefined;
31
30
  }
32
31
 
@@ -34,7 +33,7 @@ export namespace GArgument {
34
33
  return argValues.map(asString);
35
34
  }
36
35
 
37
- export function asBoolean(argValue: (string | number | boolean)): boolean | undefined {
36
+ export function asBoolean(argValue: string | number | boolean): boolean | undefined {
38
37
  return typeof argValue === 'boolean' ? argValue : undefined;
39
38
  }
40
39
 
@@ -112,16 +111,20 @@ export class CornerRadius {
112
111
  public readonly topLeft: number = 0,
113
112
  public readonly topRight: number = topLeft,
114
113
  public readonly bottomRight: number = topLeft,
115
- public readonly bottomLeft: number = topRight) {
116
- }
114
+ public readonly bottomLeft: number = topRight
115
+ ) {}
117
116
 
118
117
  static from(element: SModelElement | undefined): CornerRadius | undefined {
119
- const radius = GArgument.getNumbers(element, this.KEY_RADIUS_TOP_LEFT, this.KEY_RADIUS_TOP_RIGHT, this.KEY_RADIUS_BOTTOM_RIGHT, this.KEY_RADIUS_BOTTOM_LEFT);
118
+ const radius = GArgument.getNumbers(
119
+ element,
120
+ this.KEY_RADIUS_TOP_LEFT,
121
+ this.KEY_RADIUS_TOP_RIGHT,
122
+ this.KEY_RADIUS_BOTTOM_RIGHT,
123
+ this.KEY_RADIUS_BOTTOM_LEFT
124
+ );
120
125
  if (radius === undefined || radius[0] === undefined) {
121
126
  return undefined;
122
127
  }
123
- return GArgument.hasNValues(radius, 4)
124
- ? new CornerRadius(radius[0], radius[1], radius[2], radius[3])
125
- : new CornerRadius(radius[0]);
128
+ return GArgument.hasNValues(radius, 4) ? new CornerRadius(radius[0], radius[1], radius[2], radius[3]) : new CornerRadius(radius[0]);
126
129
  }
127
130
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020 EclipseSource and others.
2
+ * Copyright (c) 2020-2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,8 +13,8 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { BoundsAware, Dimension, ElementAndBounds, ElementMove, ModelLayoutOptions, Point, SModelElement } from 'sprotty';
17
-
16
+ import { Point } from '@eclipse-glsp/protocol';
17
+ import { BoundsAware, Dimension, ElementAndBounds, ElementMove, ModelLayoutOptions, SModelElement } from 'sprotty';
18
18
  import { IMovementRestrictor } from '../features/change-bounds/movement-restrictor';
19
19
 
20
20
  export function minWidth(element: SModelElement & BoundsAware): number {
@@ -52,16 +52,22 @@ export function isValidMove(element: SModelElement & BoundsAware, newPosition: P
52
52
  return true;
53
53
  }
54
54
 
55
- export function toValidElementMove(element: SModelElement & BoundsAware, move: WriteableElementMove, movementRestrictor?: IMovementRestrictor): WriteableElementMove | undefined {
55
+ export function toValidElementMove(
56
+ element: SModelElement & BoundsAware,
57
+ move: WriteableElementMove,
58
+ movementRestrictor?: IMovementRestrictor
59
+ ): WriteableElementMove | undefined {
56
60
  if (!isValidMove(element, move.toPosition, movementRestrictor)) {
57
61
  return;
58
62
  }
59
63
  return move;
60
64
  }
61
65
 
62
- export function toValidElementAndBounds(element: SModelElement & BoundsAware, bounds: WriteableElementAndBounds,
63
- movementRestrictor?: IMovementRestrictor): WriteableElementAndBounds | undefined {
64
-
66
+ export function toValidElementAndBounds(
67
+ element: SModelElement & BoundsAware,
68
+ bounds: WriteableElementAndBounds,
69
+ movementRestrictor?: IMovementRestrictor
70
+ ): WriteableElementAndBounds | undefined {
65
71
  if (!isValidMove(element, bounds.newPosition, movementRestrictor)) {
66
72
  return;
67
73
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,14 +13,9 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { MarkerKind } from '@eclipse-glsp/protocol';
16
17
  import { SIssueMarker, SParentElement } from 'sprotty';
17
18
 
18
- export namespace MarkerKind {
19
- export const INFO = 'info';
20
- export const WARNING = 'warning';
21
- export const ERROR = 'error';
22
- }
23
-
24
19
  export namespace MarkerPredicates {
25
20
  export const ALL = (): boolean => true;
26
21
  export const ERRORS = (marker: SIssueMarker): boolean => hasIssueWithSeverity(marker, MarkerKind.ERROR);
@@ -42,22 +37,3 @@ export function collectIssueMarkers(root: SParentElement): SIssueMarker[] {
42
37
  }
43
38
  return markers;
44
39
  }
45
-
46
- export interface Marker {
47
- /**
48
- * Short label describing this marker message, e.g., short validation message
49
- */
50
- readonly label: string;
51
- /**
52
- * Full description of this marker, e.g., full validation message
53
- */
54
- readonly description: string;
55
- /**
56
- * Id of the model element this marker refers to
57
- */
58
- readonly elementId: string;
59
- /**
60
- * Marker kind, e.g., info, warning, error or custom kind
61
- */
62
- readonly kind: string;
63
- }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,6 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { ElementAndRoutingPoints } from '@eclipse-glsp/protocol';
16
17
  import {
17
18
  BoundsAware,
18
19
  ElementAndBounds,
@@ -28,20 +29,22 @@ import {
28
29
  SRoutingHandle
29
30
  } from 'sprotty';
30
31
 
31
- import { ElementAndRoutingPoints } from '../base/operations/operation';
32
-
33
32
  export function getIndex(element: SModelElement): SModelIndex<SModelElement> {
34
33
  return element.root.index;
35
34
  }
36
35
 
37
- export function forEachElement<T>(element: SModelElement, predicate: (element: SModelElement) => element is SModelElement & T,
38
- runnable: (element: SModelElement & T) => void): void {
39
- getIndex(element).all()
40
- .filter(predicate)
41
- .forEach(runnable);
36
+ export function forEachElement<T>(
37
+ element: SModelElement,
38
+ predicate: (modelElement: SModelElement) => modelElement is SModelElement & T,
39
+ runnable: (modelElement: SModelElement & T) => void
40
+ ): void {
41
+ getIndex(element).all().filter(predicate).forEach(runnable);
42
42
  }
43
43
 
44
- export function getMatchingElements<T>(element: SModelElement, predicate: (element: SModelElement) => element is SModelElement & T): (SModelElement & T)[] {
44
+ export function getMatchingElements<T>(
45
+ element: SModelElement,
46
+ predicate: (modelElement: SModelElement) => modelElement is SModelElement & T
47
+ ): (SModelElement & T)[] {
45
48
  const matching: (SModelElement & T)[] = [];
46
49
  forEachElement(element, predicate, item => matching.push(item));
47
50
  return matching;
@@ -53,9 +56,10 @@ export function hasSelectedElements(element: SModelElement): boolean {
53
56
 
54
57
  export function getSelectedElementCount(element: SModelElement): number {
55
58
  let selected = 0;
56
- getIndex(element).all()
59
+ getIndex(element)
60
+ .all()
57
61
  .filter(isSelected)
58
- .forEach(e => selected = selected + 1);
62
+ .forEach(e => (selected = selected + 1));
59
63
  return selected;
60
64
  }
61
65
 
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
2
+ * Copyright (c) 2019-2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,15 +13,14 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { Bounds, Point } from '@eclipse-glsp/protocol';
16
17
  import {
17
- Bounds,
18
18
  BoundsAware,
19
19
  Dimension,
20
20
  findParentByFeature,
21
21
  isAlignable,
22
22
  isViewport,
23
23
  ORIGIN_POINT,
24
- Point,
25
24
  SModelElement,
26
25
  translateBounds,
27
26
  Viewport
@@ -41,7 +40,8 @@ import {
41
40
  * A mouseEvent
42
41
  */
43
42
  export function getAbsolutePosition(target: SModelElement, mouseEvent: MouseEvent): Point {
44
- let xPos = mouseEvent.pageX; let yPos = mouseEvent.pageY;
43
+ let xPos = mouseEvent.pageX;
44
+ let yPos = mouseEvent.pageY;
45
45
  const canvasBounds = target.root.canvasBounds;
46
46
  xPos -= canvasBounds.x;
47
47
  yPos -= canvasBounds.y;
@@ -13,6 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { DefaultTypes } from '@eclipse-glsp/protocol';
16
17
  import { ContainerModule, interfaces } from 'inversify';
17
18
  import {
18
19
  CircularNode,
@@ -45,9 +46,7 @@ import {
45
46
  SvgViewportView,
46
47
  ViewportRootElement
47
48
  } from 'sprotty';
48
-
49
49
  import { GLSPGraph } from '../lib/model';
50
- import { DefaultTypes } from './default-types';
51
50
  import { GEdgeView } from './glsp-edge-view';
52
51
  import { GIssueMarkerView } from './issue-marker-view';
53
52
  import { RoundedCornerNodeView } from './rounded-corner-view';
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020 EclipseSource and others.
2
+ * Copyright (c) 2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -14,20 +14,24 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { injectable } from 'inversify';
17
- import { Action } from 'sprotty';
17
+ import { VNode } from 'snabbdom';
18
+ import { BoundsAware, RenderingContext, SChildElement, SCompartment, ShapeView, svg } from 'sprotty/lib';
18
19
 
19
- @injectable()
20
- export class SetEditModeAction implements Action {
21
- static readonly KIND = 'setEditMode';
22
- constructor(public readonly editMode: string = EditMode.EDITABLE, public readonly kind: string = SetEditModeAction.KIND) { }
23
- }
20
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
+ const JSX = { createElement: svg };
24
22
 
25
- export function isSetEditModeAction(action: Action): action is SetEditModeAction {
26
- return action !== undefined && (action.kind === SetEditModeAction.KIND)
27
- && 'editMode' in action && typeof action['editMode'] === 'string';
28
- }
23
+ @injectable()
24
+ export class StructureCompartmentView extends ShapeView {
25
+ render(model: Readonly<SCompartment & SChildElement & BoundsAware>, context: RenderingContext): VNode | undefined {
26
+ if (!this.isVisible(model, context)) {
27
+ return undefined;
28
+ }
29
29
 
30
- export namespace EditMode {
31
- export const READONLY = 'readonly';
32
- export const EDITABLE = 'editable';
30
+ return (
31
+ <g>
32
+ <rect class-sprotty-comp={true} class-debug={true} x='0' y='0' width={model.size.width} height={model.size.height}></rect>
33
+ {context.renderChildren(model)}
34
+ </g>
35
+ );
36
+ }
33
37
  }
@@ -13,16 +13,14 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+ import { Point } from '@eclipse-glsp/protocol';
16
17
  import { injectable } from 'inversify';
17
- import * as snabbdom from 'snabbdom-jsx';
18
- import { Classes } from 'snabbdom/modules/class';
19
- import { VNode } from 'snabbdom/vnode';
20
- import { Point, PolylineEdgeView, RenderingContext, SEdge } from 'sprotty';
21
-
18
+ import { Classes, VNode } from 'snabbdom';
19
+ import { PolylineEdgeView, RenderingContext, SEdge, svg } from 'sprotty';
22
20
  import { EdgePadding } from '../utils/argument-utils';
23
21
 
24
22
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
25
- const JSX = { createElement: snabbdom.svg };
23
+ const JSX = { createElement: svg };
26
24
 
27
25
  @injectable()
28
26
  export class GEdgeView extends PolylineEdgeView {
@@ -33,11 +31,13 @@ export class GEdgeView extends PolylineEdgeView {
33
31
  return this.renderDanglingEdge('Cannot compute route', edge, context);
34
32
  }
35
33
 
36
- return <g class-sprotty-edge={true} class-mouseover={edge.hoverFeedback} {...this.addtionalClasses(edge, context)}>
37
- {this.renderLine(edge, route, context)}
38
- {this.renderAdditionals(edge, route, context)}
39
- {context.renderChildren(edge, { route })}
40
- </g>;
34
+ return (
35
+ <g class-sprotty-edge={true} class-mouseover={edge.hoverFeedback} {...this.addtionalClasses(edge, context)}>
36
+ {this.renderLine(edge, route, context)}
37
+ {this.renderAdditionals(edge, route, context)}
38
+ {context.renderChildren(edge, { route })}
39
+ </g>
40
+ );
41
41
  }
42
42
 
43
43
  protected addtionalClasses(_edge: Readonly<SEdge>, _context: RenderingContext): Classes {
@@ -55,8 +55,16 @@ export class GEdgeView extends PolylineEdgeView {
55
55
  }
56
56
 
57
57
  protected renderMouseHandle(segments: Point[], padding: number): VNode {
58
- return <path class-mouse-handle d={this.createPathForSegments(segments)}
59
- style-stroke-width={padding * 2} style-stroke="transparent" style-stroke-dasharray="none" style-stroke-dashoffset="0" />;
58
+ return (
59
+ <path
60
+ class-mouse-handle
61
+ d={this.createPathForSegments(segments)}
62
+ style-stroke-width={padding * 2}
63
+ style-stroke='transparent'
64
+ style-stroke-dasharray='none'
65
+ style-stroke-dashoffset='0'
66
+ />
67
+ );
60
68
  }
61
69
 
62
70
  protected createPathForSegments(segments: Point[]): string {
@@ -68,5 +76,4 @@ export class GEdgeView extends PolylineEdgeView {
68
76
  }
69
77
  return path;
70
78
  }
71
-
72
79
  }
@@ -14,7 +14,7 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  export * from './base-view-module';
17
- export * from './default-types';
17
+ export * from './compartments';
18
18
  export * from './glsp-edge-view';
19
19
  export * from './issue-marker-view';
20
20
  export * from './rounded-corner';
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020 EclipseSource and others.
2
+ * Copyright (c) 2020-2021 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -15,42 +15,51 @@
15
15
  ********************************************************************************/
16
16
  /* eslint-disable max-len */
17
17
  import { injectable } from 'inversify';
18
- import * as snabbdom from 'snabbdom-jsx';
19
- import { VNode } from 'snabbdom/vnode';
20
- import { IssueMarkerView, RenderingContext, setClass, SIssueMarker, SIssueSeverity } from 'sprotty';
18
+ import { VNode } from 'snabbdom';
19
+ import { IssueMarkerView, RenderingContext, setClass, SIssueMarker, SIssueSeverity, svg } from 'sprotty';
21
20
 
22
21
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
23
- const JSX = { createElement: snabbdom.svg };
22
+ const JSX = { createElement: svg };
24
23
 
25
24
  @injectable()
26
25
  export class GIssueMarkerView extends IssueMarkerView {
27
-
28
26
  render(marker: SIssueMarker, _context: RenderingContext): VNode {
29
27
  const maxSeverity = super.getMaxSeverity(marker);
30
- const group = <g class-sprotty-issue={true} >
31
- <g>
32
- <circle class-sprotty-issue-background={true} r={this.radius} cx={this.radius} cy={this.radius} />
33
- <path d={this.getGlspIssueMarkerPath(maxSeverity)} />
28
+ const group = (
29
+ <g class-sprotty-issue={true}>
30
+ <g>
31
+ {this.getGlspIssueMarkerBackground(maxSeverity)}
32
+ <path d={this.getGlspIssueMarkerPath(maxSeverity)} />
33
+ </g>
34
34
  </g>
35
- </g>;
35
+ );
36
36
  setClass(group, 'sprotty-' + maxSeverity, true);
37
37
  return group;
38
38
  }
39
39
 
40
+ protected getGlspIssueMarkerBackground(severity: SIssueSeverity): VNode {
41
+ switch (severity) {
42
+ case 'warning':
43
+ return <polygon class-sprotty-issue-background={true} points='8 2, 15.9 14.9, 0.2 14.9' />;
44
+ case 'error':
45
+ case 'info':
46
+ return <circle class-sprotty-issue-background={true} r={this.radius} cx={this.radius} cy={this.radius} />;
47
+ }
48
+ }
49
+
40
50
  protected get radius(): number {
41
51
  return 8; // var(--theia-icon-size)=16px => 16/2=8
42
52
  }
43
53
 
44
54
  protected getGlspIssueMarkerPath(severity: SIssueSeverity): string {
45
55
  switch (severity) {
46
- // paths used here are svg versions of FontAwesome icons, resized to var(--theia-icon-size) 16px
47
- case 'error': // 'fa-times-circle'
48
- return 'M 8,0 C 3.5806452,0 0,3.58065 0,8 c 0,4.41935 3.5806452,8 8,8 4.419355,0 8,-3.58065 8,-8 C 16,3.58065 12.419355,0 8,0 Z m 3.922581,10.1 c 0.151613,0.15161 0.151613,0.39677 0,0.54839 l -1.27742,1.27419 c -0.151613,0.15161 -0.396774,0.15161 -0.548387,0 L 8,9.80645 5.9,11.92258 c -0.1516129,0.15161 -0.3967742,0.15161 -0.5483871,0 L 4.0774194,10.64516 c -0.1516129,-0.15161 -0.1516129,-0.39677 0,-0.54839 L 6.1935484,8 4.0774194,5.9 c -0.1516129,-0.15161 -0.1516129,-0.39677 0,-0.54839 L 5.3548387,4.07419 c 0.1516129,-0.15161 0.3967742,-0.15161 0.5483871,0 L 8,6.19355 10.1,4.07742 c 0.151613,-0.15161 0.396774,-0.15161 0.548387,0 l 1.277419,1.27742 c 0.151613,0.15161 0.151613,0.39677 0,0.54839 L 9.8064516,8 Z';
49
- case 'warning': // 'fa-exclamation-circle'
50
- return 'm 16,8 c 0,4.41926 -3.582032,8 -8,8 C 3.5820323,16 0,12.41926 0,8 0,3.58332 3.5820323,0 8,0 c 4.417968,0 8,3.58332 8,8 z M 8,9.6129 c -0.8195161,0 -1.483871,0.66436 -1.483871,1.48387 0,0.81952 0.6643549,1.48388 1.483871,1.48388 0.8195161,0 1.483871,-0.66436 1.483871,-1.48388 C 9.483871,10.27726 8.8195161,9.6129 8,9.6129 Z M 6.5911935,4.27916 6.8304839,8.66626 c 0.011194,0.20529 0.1809355,0.366 0.3865161,0.366 h 1.566 c 0.2055806,0 0.3753226,-0.16071 0.3865161,-0.366 L 9.4088065,4.27916 C 9.4209035,4.05742 9.2443548,3.87097 9.0222903,3.87097 H 6.9776774 c -0.2220645,0 -0.3985806,0.18645 -0.3864839,0.40819 z';
51
- case 'info': // 'fa-info-circle information'
52
- return 'M 8.0000004,0 C 3.5820324,0 0,3.58332 0,8 0,12.41926 3.5820324,16 8.0000004,16 12.417968,16 16,12.41926 16,8 16,3.58332 12.417968,0 8.0000004,0 Z m 0,3.54839 c 0.748258,0 1.354839,0.60658 1.354839,1.35484 0,0.74825 -0.606581,1.35483 -1.354839,1.35483 -0.748258,0 -1.354839,-0.60658 -1.354839,-1.35483 0,-0.74826 0.606581,-1.35484 1.354839,-1.35484 z m 1.806452,8.19355 c 0,0.21377 -0.173323,0.38709 -0.387097,0.38709 h -2.83871 c -0.213774,0 -0.387097,-0.17332 -0.387097,-0.38709 v -0.7742 c 0,-0.21377 0.173323,-0.38709 0.387097,-0.38709 h 0.387097 V 8.51613 h -0.387097 c -0.213774,0 -0.387097,-0.17332 -0.387097,-0.3871 V 7.35484 c 0,-0.21378 0.173323,-0.3871 0.387097,-0.3871 h 2.064516 c 0.213774,0 0.387097,0.17332 0.387097,0.3871 v 3.22581 h 0.387097 c 0.213774,0 0.387097,0.17332 0.387097,0.38709 z';
56
+ // paths used here are svg versions of codicons, resized to var(--theia-icon-size) 16px
57
+ case 'error': // 'codicon-error'
58
+ return 'm 8.8527788,0.00699568 c 1.8523692,0.115773 3.5889642,1.04195762 4.8624692,2.31546152 1.505048,1.620823 2.31546,3.5889653 2.31546,5.9044268 0,1.852369 -0.694637,3.588965 -1.852367,5.094015 -1.157733,1.389277 -2.778554,2.431235 -4.6309235,2.778554 C 7.6950478,16.446772 5.8426784,16.215226 4.2218552,15.289042 2.6010319,14.362857 1.3275281,12.97358 0.63288942,11.236984 -0.06174907,9.5003878 -0.17752216,7.5322456 0.4013433,5.7956494 0.98020876,3.9432802 2.0221665,2.4382302 3.6429898,1.3962725 5.14804,0.35431486 7.0004094,-0.10877742 8.8527788,0.00699568 Z M 9.4316445,14.941722 c 1.5050505,-0.347319 2.8943275,-1.15773 3.9362845,-2.431234 0.926185,-1.273504 1.50505,-2.778554 1.389277,-4.3993771 0,-1.8523692 -0.69464,-3.7047384 -1.968142,-4.9782422 C 11.631331,1.9751379 10.242054,1.2804995 8.6212324,1.1647264 7.1161824,1.0489533 5.4953592,1.3962725 4.2218552,2.3224572 2.9483511,3.2486418 2.0221665,4.5221456 1.5590742,6.1429686 c -0.4630923,1.50505 -0.4630923,3.1258731 0.2315462,4.6309234 0.6946384,1.50505 1.7365963,2.66278 3.1258734,3.473192 1.3892769,0.810411 3.0101002,1.041958 4.5151507,0.694638 z M 8.042367,7.5322456 10.82092,4.6379187 11.631331,5.4483302 8.8527788,8.3426571 11.631331,11.236984 10.82092,12.047395 8.042367,9.1530686 5.2638128,12.047395 4.4534013,11.236984 7.2319555,8.3426571 4.4534013,5.4483302 5.2638128,4.6379187 Z';
59
+ case 'warning': // 'codicon-warning'
60
+ return 'M 7.5587159,0.61312771 H 8.565869 L 16.050847,14.644601 15.54727,15.491525 H 0.55442396 L 0.05084746,14.644601 Z M 8.0622924,2.0780776 1.5157974,14.347033 H 14.585897 Z M 8.7776,13.202541 V 12.058049 H 7.3469848 v 1.144492 z M 7.3469848,10.913557 V 6.3355883 H 8.7776 v 4.5779687 z';
61
+ case 'info': // 'codicon-info'
62
+ return 'M 8.7624795,0.01729008 A 7.8878137,7.8878137 0 0 1 13.625085,2.3592747 8.1894066,8.1894066 0 0 1 14.158672,13.251418 7.9458123,7.9458123 0 0 1 4.2061071,15.26977 8.1198082,8.1198082 0 0 1 0.58699265,11.209866 8.259005,8.259005 0 0 1 0.32019895,5.7463948 8.1198082,8.1198082 0 0 1 3.533323,1.3500986 7.8878137,7.8878137 0 0 1 8.7624795,0.01729008 Z M 9.3099868,14.921778 A 6.8322386,6.8322386 0 0 0 13.265493,12.520635 7.0410337,7.0410337 0 0 0 12.801504,3.1712556 6.7510406,6.7510406 0 0 0 4.1829077,2.3128758 7.029434,7.029434 0 0 0 4.762894,14.248994 6.7394408,6.7394408 0 0 0 9.3099868,14.921778 Z M 7.3786322,5.7811939 H 8.8285979 V 4.6212213 H 7.3786322 Z M 8.8285979,6.9411665 V 11.581057 H 7.3786322 V 6.9411665 Z';
53
63
  }
54
64
  }
55
-
56
65
  }
@@ -14,16 +14,14 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { injectable } from 'inversify';
17
- import * as snabbdom from 'snabbdom-jsx';
18
- import { Classes } from 'snabbdom/modules/class';
19
- import { VNode } from 'snabbdom/vnode';
20
- import { Hoverable, RectangularNodeView, RenderingContext, Selectable, SNode, SPort, SShapeElement } from 'sprotty/lib';
17
+ import { Classes, VNode } from 'snabbdom';
18
+ import { Hoverable, RectangularNodeView, RenderingContext, Selectable, SNode, SPort, SShapeElement, svg } from 'sprotty';
21
19
 
22
20
  import { CornerRadius } from '../utils/argument-utils';
23
21
  import { RoundedCornerWrapper } from './rounded-corner';
24
22
 
25
23
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
26
- const JSX = { createElement: snabbdom.svg };
24
+ const JSX = { createElement: svg };
27
25
 
28
26
  @injectable()
29
27
  export class RoundedCornerNodeView extends RectangularNodeView {
@@ -34,15 +32,17 @@ export class RoundedCornerNodeView extends RectangularNodeView {
34
32
  }
35
33
 
36
34
  const wrapper = new RoundedCornerWrapper(node, cornerRadius);
37
- return <g class-node={true} >
38
- <defs>
39
- <clipPath id={toClipPathId(node)}>
40
- <path d={this.renderPath(wrapper, context, this.getClipPathInsets() || 0)}></path>
41
- </clipPath>
42
- </defs>
43
- {this.renderPathNode(wrapper, context)}
44
- {context.renderChildren(node)}
45
- </g>;
35
+ return (
36
+ <g class-node={true}>
37
+ <defs>
38
+ <clipPath id={toClipPathId(node)}>
39
+ <path d={this.renderPath(wrapper, context, this.getClipPathInsets() || 0)}></path>
40
+ </clipPath>
41
+ </defs>
42
+ {this.renderPathNode(wrapper, context)}
43
+ {context.renderChildren(node)}
44
+ </g>
45
+ );
46
46
  }
47
47
 
48
48
  protected renderWithoutRadius(node: Readonly<SShapeElement & Hoverable & Selectable>, context: RenderingContext): VNode | undefined {
@@ -54,12 +54,16 @@ export class RoundedCornerNodeView extends RectangularNodeView {
54
54
  }
55
55
 
56
56
  protected renderPathNode(wrapper: Readonly<RoundedCornerWrapper>, context: RenderingContext): VNode {
57
- return <path d={this.renderPath(wrapper, context, 0)}
58
- class-sprotty-node={wrapper.element instanceof SNode}
59
- class-sprotty-port={wrapper.element instanceof SPort}
60
- class-mouseover={wrapper.element.hoverFeedback}
61
- class-selected={wrapper.element.selected}
62
- {...this.additionalClasses(wrapper.element, context)} />;
57
+ return (
58
+ <path
59
+ d={this.renderPath(wrapper, context, 0)}
60
+ class-sprotty-node={wrapper.element instanceof SNode}
61
+ class-sprotty-port={wrapper.element instanceof SPort}
62
+ class-mouseover={wrapper.element.hoverFeedback}
63
+ class-selected={wrapper.element.selected}
64
+ {...this.additionalClasses(wrapper.element, context)}
65
+ />
66
+ );
63
67
  }
64
68
 
65
69
  protected additionalClasses(_node: Readonly<SShapeElement & Hoverable & Selectable>, _context: RenderingContext): Classes {
@@ -72,14 +76,23 @@ export class RoundedCornerNodeView extends RectangularNodeView {
72
76
  const rightLineLength = Math.max(0, wrapper.size.height - wrapper.cornerRadius.topRight - wrapper.cornerRadius.bottomRight);
73
77
  const bottomLineLength = Math.max(0, wrapper.size.width - wrapper.cornerRadius.bottomLeft - wrapper.cornerRadius.bottomRight);
74
78
 
75
- const path = `M${0 + inset},${0 + wrapper.topLeftCorner.radiusY}` +
76
- `q${0},${-(wrapper.topLeftCorner.radiusY - inset)} ${wrapper.topLeftCorner.radiusX - inset},${-(wrapper.topLeftCorner.radiusY - inset)}` +
79
+ const path =
80
+ `M${0 + inset},${0 + wrapper.topLeftCorner.radiusY}` +
81
+ `q${0},${-(wrapper.topLeftCorner.radiusY - inset)} ${wrapper.topLeftCorner.radiusX - inset},${-(
82
+ wrapper.topLeftCorner.radiusY - inset
83
+ )}` +
77
84
  `h${topLineLength}` +
78
- `q${wrapper.topRightCorner.radiusX - inset},0 ${wrapper.topRightCorner.radiusX - inset},${wrapper.topRightCorner.radiusY - inset}` +
85
+ `q${wrapper.topRightCorner.radiusX - inset},0 ${wrapper.topRightCorner.radiusX - inset},${
86
+ wrapper.topRightCorner.radiusY - inset
87
+ }` +
79
88
  `v${rightLineLength}` +
80
- `q0,${wrapper.bottomRightCorner.radiusY - inset} ${-(wrapper.bottomRightCorner.radiusX - inset)},${wrapper.bottomRightCorner.radiusY - inset}` +
89
+ `q0,${wrapper.bottomRightCorner.radiusY - inset} ${-(wrapper.bottomRightCorner.radiusX - inset)},${
90
+ wrapper.bottomRightCorner.radiusY - inset
91
+ }` +
81
92
  `h${-bottomLineLength}` +
82
- `q${-(wrapper.bottomLeftCorner.radiusX - inset)},0 ${-(wrapper.bottomLeftCorner.radiusX - inset)},${-(wrapper.bottomLeftCorner.radiusY - inset)}` +
93
+ `q${-(wrapper.bottomLeftCorner.radiusX - inset)},0 ${-(wrapper.bottomLeftCorner.radiusX - inset)},${-(
94
+ wrapper.bottomLeftCorner.radiusY - inset
95
+ )}` +
83
96
  'z ';
84
97
  return path;
85
98
  }
@@ -13,8 +13,8 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Dimension, Hoverable, Selectable, SShapeElement } from 'sprotty/lib';
17
-
16
+ import { Dimension } from '@eclipse-glsp/protocol';
17
+ import { Hoverable, Selectable, SShapeElement } from 'sprotty';
18
18
  import { CornerRadius } from '../utils/argument-utils';
19
19
 
20
20
  export interface RoundedCorner {
@@ -28,8 +28,7 @@ export class RoundedCornerWrapper {
28
28
  protected _bottomRightCorner: RoundedCorner;
29
29
  protected _bottomLeftCorner: RoundedCorner;
30
30
 
31
- constructor(public readonly element: SShapeElement & Hoverable & Selectable, public readonly cornerRadius: CornerRadius) {
32
- }
31
+ constructor(public readonly element: SShapeElement & Hoverable & Selectable, public readonly cornerRadius: CornerRadius) {}
33
32
 
34
33
  get size(): Dimension {
35
34
  return this.element.size;
@@ -77,8 +76,8 @@ export class RoundedCornerWrapper {
77
76
  }
78
77
 
79
78
  /*
80
- * Scales the radius if necessary. (Percentual downscaling if the radius is bigger then the maximal allowed length)
81
- */
79
+ * Scales the radius if necessary. (Percentual downscaling if the radius is bigger then the maximal allowed length)
80
+ */
82
81
  export function scaledRadius(radius: number, maximalLength: number): number {
83
82
  if (radius <= maximalLength) {
84
83
  return radius;
@@ -1,36 +0,0 @@
1
- /********************************************************************************
2
- * Copyright (c) 2019 EclipseSource and others.
3
- *
4
- * This program and the accompanying materials are made available under the
5
- * terms of the Eclipse Public License v. 2.0 which is available at
6
- * http://www.eclipse.org/legal/epl-2.0.
7
- *
8
- * This Source Code may also be made available under the following Secondary
9
- * Licenses when the conditions for such availability set forth in the Eclipse
10
- * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
- * with the GNU Classpath Exception which is available at
12
- * https://www.gnu.org/software/classpath/license.html.
13
- *
14
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
- ********************************************************************************/
16
- import { Action, LabeledAction, RequestAction, ResponseAction } from 'sprotty';
17
- import { Args } from '../args';
18
- import { EditorContext } from '../editor-context';
19
- export declare class RequestContextActions implements RequestAction<SetContextActions> {
20
- readonly contextId: string;
21
- readonly editorContext: EditorContext;
22
- readonly requestId: string;
23
- readonly kind: string;
24
- static readonly KIND = "requestContextActions";
25
- constructor(contextId: string, editorContext: EditorContext, requestId?: string, kind?: string);
26
- }
27
- export declare class SetContextActions implements ResponseAction {
28
- readonly actions: LabeledAction[];
29
- readonly responseId: string;
30
- readonly args?: Args | undefined;
31
- readonly kind: string;
32
- static readonly KIND = "setContextActions";
33
- constructor(actions: LabeledAction[], responseId?: string, args?: Args | undefined, kind?: string);
34
- }
35
- export declare function isSetContextActionsAction(action: Action): action is SetContextActions;
36
- //# sourceMappingURL=context-actions.d.ts.map