@sapui5/sap.ui.vk 1.138.0 → 1.140.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 (220) hide show
  1. package/package.json +1 -1
  2. package/src/sap/ui/vk/.library +9 -1
  3. package/src/sap/ui/vk/AnimationPlayback.js +1 -1
  4. package/src/sap/ui/vk/AnimationPlayer.js +1 -1
  5. package/src/sap/ui/vk/AnimationSequence.js +1 -1
  6. package/src/sap/ui/vk/AnimationTimeSlider.js +1 -1
  7. package/src/sap/ui/vk/AnimationTrack.js +1 -1
  8. package/src/sap/ui/vk/Annotation.js +3 -3
  9. package/src/sap/ui/vk/BaseNodeProxy.js +1 -1
  10. package/src/sap/ui/vk/Camera.js +1 -1
  11. package/src/sap/ui/vk/ContentConnector.js +149 -95
  12. package/src/sap/ui/vk/ContentManager.js +1 -1
  13. package/src/sap/ui/vk/ContentResource.js +26 -7
  14. package/src/sap/ui/vk/ContentType.js +41 -0
  15. package/src/sap/ui/vk/Core.js +1 -1
  16. package/src/sap/ui/vk/DownloadManager.js +1 -1
  17. package/src/sap/ui/vk/DrawerToolbar.js +46 -19
  18. package/src/sap/ui/vk/DvlException.js +1 -1
  19. package/src/sap/ui/vk/FlexibleControl.js +1 -1
  20. package/src/sap/ui/vk/FlexibleControlLayoutData.js +1 -1
  21. package/src/sap/ui/vk/Highlight.js +1 -1
  22. package/src/sap/ui/vk/ImageContentManager.js +1 -1
  23. package/src/sap/ui/vk/JointUtils.js +1 -1
  24. package/src/sap/ui/vk/LayerProxy.js +1 -1
  25. package/src/sap/ui/vk/Loco.js +1 -1
  26. package/src/sap/ui/vk/Material.js +1 -1
  27. package/src/sap/ui/vk/NativeViewport.js +1 -1
  28. package/src/sap/ui/vk/NodeHierarchy.js +1 -1
  29. package/src/sap/ui/vk/NodeProxy.js +1 -1
  30. package/src/sap/ui/vk/NodeUtils.js +1 -1
  31. package/src/sap/ui/vk/Notifications.js +1 -1
  32. package/src/sap/ui/vk/OrthographicCamera.js +1 -1
  33. package/src/sap/ui/vk/PerspectiveCamera.js +1 -1
  34. package/src/sap/ui/vk/ProgressIndicator.js +1 -1
  35. package/src/sap/ui/vk/RedlineCollaboration.js +1 -1
  36. package/src/sap/ui/vk/RedlineConversation.js +1 -1
  37. package/src/sap/ui/vk/RedlineDesign.js +1 -1
  38. package/src/sap/ui/vk/RedlineElement.js +1 -1
  39. package/src/sap/ui/vk/RedlineElementComment.js +1 -1
  40. package/src/sap/ui/vk/RedlineElementEllipse.js +1 -1
  41. package/src/sap/ui/vk/RedlineElementFreehand.js +1 -1
  42. package/src/sap/ui/vk/RedlineElementLine.js +1 -1
  43. package/src/sap/ui/vk/RedlineElementRectangle.js +1 -1
  44. package/src/sap/ui/vk/RedlineElementText.js +1 -1
  45. package/src/sap/ui/vk/RedlineSurface.js +1 -1
  46. package/src/sap/ui/vk/SafeArea.js +1 -1
  47. package/src/sap/ui/vk/Scene.js +5 -1
  48. package/src/sap/ui/vk/SceneTree.js +20 -3
  49. package/src/sap/ui/vk/StepNavigation.js +1 -1
  50. package/src/sap/ui/vk/Texture.js +1 -1
  51. package/src/sap/ui/vk/ToggleMenuButton.js +1 -1
  52. package/src/sap/ui/vk/ToggleMenuItem.js +1 -1
  53. package/src/sap/ui/vk/Toolbar.js +1 -1
  54. package/src/sap/ui/vk/View.js +1 -1
  55. package/src/sap/ui/vk/ViewGallery.js +1 -1
  56. package/src/sap/ui/vk/ViewGalleryThumbnail.js +1 -1
  57. package/src/sap/ui/vk/ViewGroup.js +1 -1
  58. package/src/sap/ui/vk/ViewManager.js +1 -1
  59. package/src/sap/ui/vk/ViewStateManager.js +3 -10
  60. package/src/sap/ui/vk/ViewStateManagerBase.js +2 -2
  61. package/src/sap/ui/vk/Viewer.js +13 -3
  62. package/src/sap/ui/vk/Viewport.js +1 -1
  63. package/src/sap/ui/vk/ViewportBase.js +24 -70
  64. package/src/sap/ui/vk/dvl/BaseNodeProxy.js +1 -1
  65. package/src/sap/ui/vk/dvl/ContentManager.js +1 -1
  66. package/src/sap/ui/vk/dvl/GraphicsCore.js +1 -1
  67. package/src/sap/ui/vk/dvl/LayerProxy.js +1 -1
  68. package/src/sap/ui/vk/dvl/NodeHierarchy.js +1 -1
  69. package/src/sap/ui/vk/dvl/NodeProxy.js +1 -1
  70. package/src/sap/ui/vk/dvl/Scene.js +1 -1
  71. package/src/sap/ui/vk/dvl/ViewStateManager.js +1 -1
  72. package/src/sap/ui/vk/dvl/Viewport.js +1 -1
  73. package/src/sap/ui/vk/ecad/ElementsPanel.js +408 -385
  74. package/src/sap/ui/vk/ecad/LayersPanel.js +95 -99
  75. package/src/sap/ui/vk/i18n/messagebundle.properties +44 -46
  76. package/src/sap/ui/vk/i18n/messagebundle_ar.properties +27 -13
  77. package/src/sap/ui/vk/i18n/messagebundle_bg.properties +27 -13
  78. package/src/sap/ui/vk/i18n/messagebundle_ca.properties +27 -13
  79. package/src/sap/ui/vk/i18n/messagebundle_cnr.properties +27 -13
  80. package/src/sap/ui/vk/i18n/messagebundle_cs.properties +27 -13
  81. package/src/sap/ui/vk/i18n/messagebundle_cy.properties +27 -13
  82. package/src/sap/ui/vk/i18n/messagebundle_da.properties +27 -13
  83. package/src/sap/ui/vk/i18n/messagebundle_de.properties +28 -14
  84. package/src/sap/ui/vk/i18n/messagebundle_el.properties +27 -13
  85. package/src/sap/ui/vk/i18n/messagebundle_en.properties +27 -327
  86. package/src/sap/ui/vk/i18n/messagebundle_en_GB.properties +27 -13
  87. package/src/sap/ui/vk/i18n/messagebundle_en_US_saprigi.properties +24 -12
  88. package/src/sap/ui/vk/i18n/messagebundle_es.properties +29 -15
  89. package/src/sap/ui/vk/i18n/messagebundle_es_MX.properties +27 -13
  90. package/src/sap/ui/vk/i18n/messagebundle_et.properties +27 -13
  91. package/src/sap/ui/vk/i18n/messagebundle_fi.properties +27 -13
  92. package/src/sap/ui/vk/i18n/messagebundle_fr.properties +27 -13
  93. package/src/sap/ui/vk/i18n/messagebundle_fr_CA.properties +27 -13
  94. package/src/sap/ui/vk/i18n/messagebundle_hi.properties +27 -13
  95. package/src/sap/ui/vk/i18n/messagebundle_hr.properties +27 -13
  96. package/src/sap/ui/vk/i18n/messagebundle_hu.properties +27 -13
  97. package/src/sap/ui/vk/i18n/messagebundle_id.properties +29 -15
  98. package/src/sap/ui/vk/i18n/messagebundle_it.properties +27 -13
  99. package/src/sap/ui/vk/i18n/messagebundle_iw.properties +27 -13
  100. package/src/sap/ui/vk/i18n/messagebundle_ja.properties +29 -15
  101. package/src/sap/ui/vk/i18n/messagebundle_kk.properties +39 -25
  102. package/src/sap/ui/vk/i18n/messagebundle_ko.properties +24 -10
  103. package/src/sap/ui/vk/i18n/messagebundle_lt.properties +27 -13
  104. package/src/sap/ui/vk/i18n/messagebundle_lv.properties +27 -13
  105. package/src/sap/ui/vk/i18n/messagebundle_mk.properties +27 -13
  106. package/src/sap/ui/vk/i18n/messagebundle_ms.properties +27 -13
  107. package/src/sap/ui/vk/i18n/messagebundle_nl.properties +27 -13
  108. package/src/sap/ui/vk/i18n/messagebundle_no.properties +28 -14
  109. package/src/sap/ui/vk/i18n/messagebundle_pl.properties +27 -13
  110. package/src/sap/ui/vk/i18n/messagebundle_pt.properties +27 -13
  111. package/src/sap/ui/vk/i18n/messagebundle_pt_PT.properties +27 -13
  112. package/src/sap/ui/vk/i18n/messagebundle_ro.properties +27 -13
  113. package/src/sap/ui/vk/i18n/messagebundle_ru.properties +27 -13
  114. package/src/sap/ui/vk/i18n/messagebundle_sh.properties +27 -13
  115. package/src/sap/ui/vk/i18n/messagebundle_sk.properties +27 -13
  116. package/src/sap/ui/vk/i18n/messagebundle_sl.properties +27 -13
  117. package/src/sap/ui/vk/i18n/messagebundle_sr.properties +27 -13
  118. package/src/sap/ui/vk/i18n/messagebundle_sv.properties +27 -13
  119. package/src/sap/ui/vk/i18n/messagebundle_th.properties +27 -13
  120. package/src/sap/ui/vk/i18n/messagebundle_tr.properties +27 -13
  121. package/src/sap/ui/vk/i18n/messagebundle_uk.properties +27 -13
  122. package/src/sap/ui/vk/i18n/messagebundle_vi.properties +28 -14
  123. package/src/sap/ui/vk/i18n/messagebundle_zh_CN.properties +27 -13
  124. package/src/sap/ui/vk/i18n/messagebundle_zh_TW.properties +27 -13
  125. package/src/sap/ui/vk/library.js +5 -5
  126. package/src/sap/ui/vk/measurements/Angle.js +1 -1
  127. package/src/sap/ui/vk/measurements/Area.js +1 -1
  128. package/src/sap/ui/vk/measurements/Distance.js +1 -1
  129. package/src/sap/ui/vk/measurements/Edge.js +1 -1
  130. package/src/sap/ui/vk/measurements/Face.js +1 -1
  131. package/src/sap/ui/vk/measurements/Feature.js +1 -1
  132. package/src/sap/ui/vk/measurements/Vertex.js +1 -1
  133. package/src/sap/ui/vk/pdf/ContentManager.js +1 -1
  134. package/src/sap/ui/vk/pdf/Page.js +9 -10
  135. package/src/sap/ui/vk/pdf/Utils.js +4 -2
  136. package/src/sap/ui/vk/pdf/Viewport.js +1 -1
  137. package/src/sap/ui/vk/svg/BaseNodeProxy.js +1 -1
  138. package/src/sap/ui/vk/svg/ContentDeliveryService.js +1 -1
  139. package/src/sap/ui/vk/svg/ContentManager.js +4 -5
  140. package/src/sap/ui/vk/svg/NodeHierarchy.js +1 -1
  141. package/src/sap/ui/vk/svg/NodeProxy.js +1 -1
  142. package/src/sap/ui/vk/svg/OrthographicCamera.js +1 -1
  143. package/src/sap/ui/vk/svg/Scene.js +1 -1
  144. package/src/sap/ui/vk/svg/SceneBuilder.js +1 -1
  145. package/src/sap/ui/vk/svg/ViewStateManager.js +1 -1
  146. package/src/sap/ui/vk/svg/Viewport.js +11 -18
  147. package/src/sap/ui/vk/thirdparty/BufferGeometryUtils.js +86 -27
  148. package/src/sap/ui/vk/thirdparty/pdf.worker.js +1 -1
  149. package/src/sap/ui/vk/thirdparty/three.js +54501 -32246
  150. package/src/sap/ui/vk/threejs/AnimationHelper.js +1 -1
  151. package/src/sap/ui/vk/threejs/BaseNodeProxy.js +1 -1
  152. package/src/sap/ui/vk/threejs/Billboard.js +23 -11
  153. package/src/sap/ui/vk/threejs/Callout.js +1 -1
  154. package/src/sap/ui/vk/threejs/ContentDeliveryService.js +1 -1
  155. package/src/sap/ui/vk/threejs/ContentManager.js +2 -2
  156. package/src/sap/ui/vk/threejs/DetailView.js +1 -1
  157. package/src/sap/ui/vk/threejs/HighlightPlayer.js +14 -22
  158. package/src/sap/ui/vk/threejs/Material.js +1 -1
  159. package/src/sap/ui/vk/threejs/NodeHierarchy.js +1 -1
  160. package/src/sap/ui/vk/threejs/NodeProxy.js +9 -11
  161. package/src/sap/ui/vk/threejs/OrthographicCamera.js +1 -1
  162. package/src/sap/ui/vk/threejs/OutlineRenderer.js +4 -10
  163. package/src/sap/ui/vk/threejs/PerspectiveCamera.js +1 -1
  164. package/src/sap/ui/vk/threejs/PointCloudGroup.js +1 -1
  165. package/src/sap/ui/vk/threejs/Scene.js +1 -15
  166. package/src/sap/ui/vk/threejs/SceneBuilder.js +1 -4
  167. package/src/sap/ui/vk/threejs/Texture.js +1 -1
  168. package/src/sap/ui/vk/threejs/ThreeExtensions.js +10 -174
  169. package/src/sap/ui/vk/threejs/ThreeUtils.js +7 -18
  170. package/src/sap/ui/vk/threejs/Thrustline.js +1 -1
  171. package/src/sap/ui/vk/threejs/ViewStateManager.js +755 -451
  172. package/src/sap/ui/vk/threejs/Viewport.js +47 -35
  173. package/src/sap/ui/vk/tools/AnchorPointTool.js +1 -1
  174. package/src/sap/ui/vk/tools/AnchorPointToolGizmo.js +1 -1
  175. package/src/sap/ui/vk/tools/AxisAngleRotationTool.js +1 -1
  176. package/src/sap/ui/vk/tools/AxisAngleRotationToolGizmo.js +1 -1
  177. package/src/sap/ui/vk/tools/CreateEllipseTool.js +1 -1
  178. package/src/sap/ui/vk/tools/CreateEllipseToolGizmo.js +1 -1
  179. package/src/sap/ui/vk/tools/CreateParametricGizmo.js +1 -1
  180. package/src/sap/ui/vk/tools/CreatePathTool.js +1 -1
  181. package/src/sap/ui/vk/tools/CreatePathToolGizmo.js +1 -1
  182. package/src/sap/ui/vk/tools/CreateRectangleTool.js +1 -1
  183. package/src/sap/ui/vk/tools/CreateRectangleToolGizmo.js +1 -1
  184. package/src/sap/ui/vk/tools/CreateTextTool.js +1 -1
  185. package/src/sap/ui/vk/tools/CreateTextToolGizmo.js +1 -1
  186. package/src/sap/ui/vk/tools/CrossSectionTool.js +1 -1
  187. package/src/sap/ui/vk/tools/CrossSectionToolGizmo.js +1 -1
  188. package/src/sap/ui/vk/tools/DuplicateSvgElementTool.js +1 -1
  189. package/src/sap/ui/vk/tools/DuplicateSvgElementToolGizmo.js +1 -1
  190. package/src/sap/ui/vk/tools/ExplodeTool.js +1 -1
  191. package/src/sap/ui/vk/tools/ExplodeToolGizmo.js +1 -1
  192. package/src/sap/ui/vk/tools/Gizmo.js +4 -3
  193. package/src/sap/ui/vk/tools/HitTestTool.js +1 -1
  194. package/src/sap/ui/vk/tools/MoveTool.js +1 -1
  195. package/src/sap/ui/vk/tools/MoveToolGizmo.js +1 -1
  196. package/src/sap/ui/vk/tools/PointCloudSelectionTool.js +1 -1
  197. package/src/sap/ui/vk/tools/PointCloudSelectionToolGizmo.js +1 -1
  198. package/src/sap/ui/vk/tools/RectSelectTool.js +1 -1
  199. package/src/sap/ui/vk/tools/RedlineTool.js +1 -1
  200. package/src/sap/ui/vk/tools/RedlineToolGizmo.js +1 -1
  201. package/src/sap/ui/vk/tools/RotateOrbitTool.js +1 -1
  202. package/src/sap/ui/vk/tools/RotateTool.js +1 -1
  203. package/src/sap/ui/vk/tools/RotateToolGizmo.js +1 -1
  204. package/src/sap/ui/vk/tools/RotateTurntableTool.js +1 -1
  205. package/src/sap/ui/vk/tools/ScaleTool.js +1 -1
  206. package/src/sap/ui/vk/tools/ScaleToolGizmo.js +1 -1
  207. package/src/sap/ui/vk/tools/SceneOrientationTool.js +1 -1
  208. package/src/sap/ui/vk/tools/SceneOrientationToolGizmo.js +1 -1
  209. package/src/sap/ui/vk/tools/Tool.js +1 -1
  210. package/src/sap/ui/vk/tools/TooltipTool.js +1 -1
  211. package/src/sap/ui/vk/tools/TooltipToolGizmo.js +1 -1
  212. package/src/sap/ui/vk/tools/TooltipToolHandler.js +5 -0
  213. package/src/sap/ui/vk/tools/TransformSvgElementTool.js +1 -1
  214. package/src/sap/ui/vk/tools/TransformSvgElementToolGizmo.js +1 -1
  215. package/src/sap/ui/vk/totara/SceneContext.js +3 -1
  216. package/src/sap/ui/vk/totara/TotaraLoader.js +2 -2
  217. package/src/sap/ui/vk/totara/TotaraLoaderWorker.js +18 -21
  218. package/src/sap/ui/vk/ve/dvl.wasm +0 -0
  219. package/ui5.yaml +5 -3
  220. package/src/sap/ui/vk/threejs/v2/ViewStateManager.js +0 -1445
@@ -1,9 +1,13 @@
1
1
  /*!
2
- * ${c\pyright}
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+
4
+ (c) Copyright 2009-2015 SAP SE. All rights reserved
5
+
3
6
  */
4
7
 
5
8
  // Provides control sap.ui.vk.ecad.LayerPanel
6
9
  sap.ui.define([
10
+ "sap/m/VBox",
7
11
  "sap/m/Button",
8
12
  "sap/m/SearchField",
9
13
  "sap/m/OverflowToolbar",
@@ -12,22 +16,21 @@ sap.ui.define([
12
16
  "sap/m/Label",
13
17
  "sap/m/Table",
14
18
  "sap/m/Column",
15
- "sap/m/ScrollContainer",
16
19
  "sap/m/ColumnListItem",
20
+ "sap/m/IllustratedMessage",
21
+ "sap/m/IllustratedMessageType",
17
22
  "sap/m/plugins/ColumnResizer",
18
- "sap/ui/core/Core",
19
23
  "sap/ui/core/Control",
20
24
  "sap/ui/core/Element",
21
25
  "sap/ui/core/Icon",
22
26
  "sap/ui/core/library",
23
27
  "sap/ui/model/json/JSONModel",
24
28
  "../Core",
25
- "../library",
26
- "../ViewStateManager",
27
29
  "./VisibilityType",
28
30
  "../getResourceBundle",
29
31
  "sap/m/library"
30
32
  ], function(
33
+ VBox,
31
34
  Button,
32
35
  SearchField,
33
36
  OverflowToolbar,
@@ -36,18 +39,16 @@ sap.ui.define([
36
39
  Label,
37
40
  Table,
38
41
  Column,
39
- ScrollContainer,
40
42
  ColumnListItem,
43
+ IllustratedMessage,
44
+ IllustratedMessageType,
41
45
  ColumnResizer,
42
- Core,
43
46
  Control,
44
47
  Element,
45
48
  Icon,
46
49
  Library,
47
50
  JSONModel,
48
51
  vkCore,
49
- vkLibrary,
50
- ViewStateManager,
51
52
  VisibilityType,
52
53
  getResourceBundle,
53
54
  SapMLibrary
@@ -55,6 +56,47 @@ sap.ui.define([
55
56
  "use strict";
56
57
 
57
58
  const Sticky = SapMLibrary.Sticky;
59
+ const FlexRendertype = SapMLibrary.FlexRendertype;
60
+
61
+ function extractLayersIndex(scene) {
62
+ const index = new Map();
63
+ const metadata = scene.getSceneMetadata();
64
+ const layers = metadata.find((el) => el.category === "ecad" && el.tag === "Layers");
65
+
66
+ if (layers) {
67
+ const list = layers.value.split("|");
68
+ list.forEach(function(name) {
69
+ const idx = metadata.find((el) => el.category === name && el.tag === "Index");
70
+ if (idx) {
71
+ index.set(name, idx.value);
72
+ }
73
+ });
74
+ }
75
+ return index;
76
+ }
77
+
78
+ function getVisibility(layer) {
79
+ if (layer.hiddenElements.size === 0) {
80
+ return VisibilityType.Visible;
81
+ } else if (layer.hiddenElements.size < layer.elements.size) {
82
+ return VisibilityType.Partial;
83
+ }
84
+ return VisibilityType.Hidden;
85
+ }
86
+
87
+ function extractMetadata(nodeRef) {
88
+ const metadata = nodeRef?.userData?.metadata ?? {};
89
+ if (metadata.length) {
90
+ const map = new Map();
91
+ metadata.forEach(function(entry) {
92
+ if (entry.category === "ecad") {
93
+ map.set(entry.tag, entry.value);
94
+ }
95
+ });
96
+ return map;
97
+ }
98
+ return null;
99
+ }
58
100
 
59
101
  /**
60
102
  * Constructor for a new LayersPanel.
@@ -66,7 +108,7 @@ sap.ui.define([
66
108
  * @extends sap.ui.core.Control
67
109
  *
68
110
  * @author SAP SE
69
- * @version 1.138.0
111
+ * @version 1.140.0
70
112
  *
71
113
  * @constructor
72
114
  * @public
@@ -89,7 +131,7 @@ sap.ui.define([
89
131
  },
90
132
  aggregations: {
91
133
  content: {
92
- type: "sap.m.Table",
134
+ type: "sap.ui.core.Control",
93
135
  multiple: false
94
136
  }
95
137
  },
@@ -156,25 +198,23 @@ sap.ui.define([
156
198
  LayersPanel.prototype.onSetViewStateManager = function(manager) {
157
199
  this._manager = manager;
158
200
  manager.attachVisibilityChanged(this._onVisibilityChanged, this);
159
- this.refresh();
201
+ this._refresh();
160
202
  };
161
203
 
162
204
  LayersPanel.prototype.onUnsetViewStateManager = function(manager) {
163
205
  this._manager = null;
164
206
  manager.detachVisibilityChanged(this._onVisibilityChanged, this);
165
- this.refresh();
207
+ this._refresh();
166
208
  };
167
209
 
168
210
  LayersPanel.prototype.onSetContentConnector = function(connector) {
169
211
  connector.attachContentReplaced(this._onContentReplaced, this);
170
- connector.attachContentChangesFinished(this._onContentChangesFinished, this);
171
212
  this._setContent(connector.getContent());
172
213
  };
173
214
 
174
215
  LayersPanel.prototype.onUnsetContentConnector = function(connector) {
175
216
  this._setContent(null);
176
217
  connector.detachContentReplaced(this._onContentReplaced, this);
177
- connector.detachContentChangesFinished(this._onContentChangesFinished, this);
178
218
  };
179
219
 
180
220
  LayersPanel.prototype.init = function() {
@@ -210,11 +250,11 @@ sap.ui.define([
210
250
  });
211
251
 
212
252
  this._table = new Table({
253
+ visible: false,
213
254
  mode: "MultiSelect",
214
255
  includeItemInSelection: true,
215
- noDataText: getResourceBundle().getText("LAYERS_PANEL_NO_DATA"),
216
256
  sticky: [Sticky.HeaderToolbar, Sticky.ColumnHeaders],
217
- selectionChange: this._onSelectionChanged.bind(this),
257
+ selectionChange: this._updateButtons.bind(this),
218
258
  headerToolbar: new OverflowToolbar({
219
259
  content: [
220
260
  this._searchField,
@@ -224,15 +264,13 @@ sap.ui.define([
224
264
  ]
225
265
  }),
226
266
  dependents: [
227
- new ColumnResizer({
228
- columnResize: that._onColumnResize.bind(this)
229
- })
267
+ new ColumnResizer()
230
268
  ],
231
269
  columns: [
232
270
  new Column({
233
271
  minScreenWidth: "10rem",
234
272
  hAlign: Library.TextAlign.Begin,
235
- header: new Label({ text: getResourceBundle().getText("LAYERS_PANEL__NAME_COLUMN") })
273
+ header: new Label({ text: getResourceBundle().getText("LAYERS_PANEL_NAME_COLUMN") })
236
274
 
237
275
  }),
238
276
  new Column({
@@ -253,7 +291,7 @@ sap.ui.define([
253
291
  src: {
254
292
  path: "",
255
293
  formatter: function(layer) {
256
- switch (that._getVisibility(layer)) {
294
+ switch (getVisibility(layer)) {
257
295
  case VisibilityType.Hidden:
258
296
  return IconType.Hidden;
259
297
  case VisibilityType.Partial:
@@ -266,7 +304,7 @@ sap.ui.define([
266
304
  tooltip: {
267
305
  path: "",
268
306
  formatter: function(layer) {
269
- switch (that._getVisibility(layer)) {
307
+ switch (getVisibility(layer)) {
270
308
  case VisibilityType.Hidden:
271
309
  return getResourceBundle().getText("LAYERS_PANEL_VISIBLE_COLUMN_HIDDEN_TOOLTIP");
272
310
  case VisibilityType.Partial:
@@ -282,7 +320,21 @@ sap.ui.define([
282
320
  }
283
321
  });
284
322
 
285
- this.setAggregation("content", this._table);
323
+ this._message = new IllustratedMessage({
324
+ illustrationType: IllustratedMessageType.NoData,
325
+ enableVerticalResponsiveness: true
326
+ });
327
+
328
+ const content = new VBox({
329
+ height: "100%",
330
+ renderType: FlexRendertype.Bare,
331
+ items: [
332
+ this._table,
333
+ this._message
334
+ ]
335
+ });
336
+
337
+ this.setAggregation("content", content);
286
338
 
287
339
  this._scene = null;
288
340
  this._model = new JSONModel();
@@ -290,21 +342,22 @@ sap.ui.define([
290
342
  this._skipEvent = false;
291
343
  };
292
344
 
293
- LayersPanel.prototype.destroy = function() {
294
- if (Control.prototype.destroy) {
295
- Control.prototype.destroy.apply(this);
296
- }
345
+ LayersPanel.prototype.exit = function() {
297
346
  this._model.destroy();
298
347
  this._model = null;
348
+
349
+ Control.prototype.exit?.apply(this);
299
350
  };
300
351
 
301
352
  LayersPanel.prototype.getControl = function() {
302
353
  return this._table;
303
354
  };
304
355
 
305
- LayersPanel.prototype.refresh = function() {
356
+ LayersPanel.prototype._refresh = function() {
306
357
  if (!this._scene || !this._manager) {
307
- this._model.setData([]);
358
+ // This method may be called indirectly from the exit method after _model is destroyed
359
+ this._model?.setData([]);
360
+ this._updateMessage();
308
361
  return;
309
362
  }
310
363
  // scan the tree and collect layers info
@@ -313,7 +366,7 @@ sap.ui.define([
313
366
  this._scanTree(layers, this._scene.getRootElement());
314
367
 
315
368
  // get layer index info from scene metadata
316
- const indices = this._extractLayersIndex();
369
+ const indices = extractLayersIndex(this._scene);
317
370
 
318
371
  indices.forEach(function(index, name) {
319
372
  const layer = layers.get(name);
@@ -328,61 +381,13 @@ sap.ui.define([
328
381
  this._model.setData(data);
329
382
  this._table.setModel(this._model);
330
383
 
384
+ this._updateMessage();
331
385
  this.fireContentChanged();
332
386
  };
333
387
 
334
388
  LayersPanel.prototype._setScene = function(scene) {
335
- this._scene = (this._isECAD(scene) ? scene : null);
336
- this.refresh();
337
- };
338
-
339
- LayersPanel.prototype._isECAD = function(scene) {
340
- if (!scene) {
341
- return false;
342
- }
343
- const metadata = scene.getSceneMetadata();
344
- const data = metadata?.find((el) => el.category === "ecad" && el.tag === "version" && el.value === "8");
345
- return !!data;
346
- };
347
-
348
- LayersPanel.prototype._extractLayersIndex = function() {
349
- const index = new Map();
350
- const metadata = this._scene.getSceneMetadata();
351
- const layers = metadata.find((el) => el.category === "ecad" && el.tag === "Layers");
352
-
353
- if (layers) {
354
- const list = layers.value.split("|");
355
- list.forEach(function(name) {
356
- const idx = metadata.find((el) => el.category === name && el.tag === "Index");
357
- if (idx) {
358
- index.set(name, idx.value);
359
- }
360
- }, this);
361
- }
362
- return index;
363
- };
364
-
365
- LayersPanel.prototype._getVisibility = function(layer) {
366
- if (layer.hiddenElements.size === 0) {
367
- return VisibilityType.Visible;
368
- } else if (layer.hiddenElements.size < layer.elements.size) {
369
- return VisibilityType.Partial;
370
- }
371
- return VisibilityType.Hidden;
372
- };
373
-
374
- LayersPanel.prototype._extractMetadata = function(nodeRef) {
375
- const metadata = nodeRef?.userData?.metadata ?? {};
376
- if (metadata.length) {
377
- const map = new Map();
378
- metadata.forEach(function(entry) {
379
- if (entry.category === "ecad") {
380
- map.set(entry.tag, entry.value);
381
- }
382
- });
383
- return map;
384
- }
385
- return null;
389
+ this._scene = scene?.isECADScene() ? scene : null;
390
+ this._refresh();
386
391
  };
387
392
 
388
393
  LayersPanel.prototype._addToLayer = function(layers, layerName, nodeRef) {
@@ -403,7 +408,7 @@ sap.ui.define([
403
408
  };
404
409
 
405
410
  LayersPanel.prototype._scanTree = function(layers, nodeRef) {
406
- const metadata = this._extractMetadata(nodeRef);
411
+ const metadata = extractMetadata(nodeRef);
407
412
  if (metadata) {
408
413
  const layer = metadata.get("layer");
409
414
  if (layer) {
@@ -414,10 +419,6 @@ sap.ui.define([
414
419
  nodeRef.children.forEach((child) => this._scanTree(layers, child));
415
420
  };
416
421
 
417
- LayersPanel.prototype._handleResize = function(event) {
418
- // this._updateSelection();
419
- };
420
-
421
422
  LayersPanel.prototype._setContent = function(content) {
422
423
  // If there is no explicitly assigned view state manager then use the content connector's default one.
423
424
  if (content && !this.getViewStateManager()) {
@@ -437,11 +438,6 @@ sap.ui.define([
437
438
  this._setContent(event.getParameter("newContent"));
438
439
  };
439
440
 
440
- LayersPanel.prototype._onContentChangesFinished = function(event) {
441
- // causes second rebuild of everything
442
- // this.refresh();
443
- };
444
-
445
441
  LayersPanel.prototype._updateButtons = function() {
446
442
  let canHide = false;
447
443
  let canShow = false;
@@ -449,7 +445,7 @@ sap.ui.define([
449
445
 
450
446
  selected.forEach(function(item) {
451
447
  const layer = item.getBindingContext().getObject();
452
- const visibility = this._getVisibility(layer);
448
+ const visibility = getVisibility(layer);
453
449
 
454
450
  if (visibility === VisibilityType.Visible) {
455
451
  canHide = true;
@@ -523,10 +519,6 @@ sap.ui.define([
523
519
  }
524
520
  };
525
521
 
526
- LayersPanel.prototype._onSelectionChanged = function(event) {
527
- this._updateButtons();
528
- };
529
-
530
522
  LayersPanel.prototype._onVisibilityChanged = function(event) {
531
523
  if (this._skipEvent) {
532
524
  this._skipEvent = false;
@@ -538,7 +530,7 @@ sap.ui.define([
538
530
 
539
531
  const process = (list, show) => {
540
532
  list.forEach(function(item) {
541
- const metadata = this._extractMetadata(item);
533
+ const metadata = extractMetadata(item);
542
534
  const layer = metadata?.get("layer");
543
535
  if (layer) {
544
536
  const type = metadata?.get("type");
@@ -566,7 +558,11 @@ sap.ui.define([
566
558
  this._updateButtons();
567
559
  };
568
560
 
569
- LayersPanel.prototype._onColumnResize = function(event) {
561
+ LayersPanel.prototype._updateMessage = function() {
562
+ const hasData = this._table.getItems().length > 0;
563
+
564
+ this._table.setVisible(hasData);
565
+ this._message.setVisible(!hasData);
570
566
  };
571
567
 
572
568
  return LayersPanel;
@@ -84,7 +84,8 @@ SCENETREE_VISIBILITYSTATEVISIBLEALL=Click to hide all
84
84
  SCENETREE_VISIBILITYSTATEHIDDENALL=Click to show all
85
85
  #XTOL: Tooltip for tree item selection state selected
86
86
  SCENETREE_SELECTIONSTATESELECTED=Selected
87
-
87
+ #XMSG: The number of selected items in the tree control. Placeholder {0} contains the number.
88
+ SCENETREE_SELECTED_SCENE_TREE_ITEM_INFO=Selected: {0}
88
89
 
89
90
  #XTOL: Tooltip for fullscreen button
90
91
  CONTAINERBASE_FULLSCREEN=Full Screen
@@ -668,71 +669,68 @@ ELEMENTS_BUTTONTOOLTIP=Elements
668
669
  #XTOL: Show/hide all hotspots toogle toolbar button tooltip
669
670
  TOGGLE_HOTSPOTS_BUTTONTOOLTIP = Toggle Hotspots
670
671
 
671
- #XTOL: Text for Show Layers button in LayersPanel
672
- LAYERS_PANEL_NO_DATA=No layers
673
- #XTOL: Text for Show Layers button in LayersPanel
672
+ #XBUT: Button caption for showing layers
674
673
  LAYERS_PANEL_SHOW_BUTTON=Show
675
- #XTOL: Tooltip for for Show Layers button in LayersPanel
676
- LAYERS_PANEL_SHOW_BUTTON_TOOLTIP=Show Layer(s)
677
- #XTOL: Text for Hide Layers button in LayersPanel
674
+ #XTOL: Button tooltip for showing layers
675
+ LAYERS_PANEL_SHOW_BUTTON_TOOLTIP=Show elements of selected layers
676
+ #XBUT: Button caption for hiding layers
678
677
  LAYERS_PANEL_HIDE_BUTTON=Hide
679
- #XTOL: Tooltip for for Hide Layers button in LayersPanel
680
- LAYERS_PANEL_HIDE_BUTTON_TOOLTIP=Hide Layer(s)
681
- #XTOL: Text for Name column in LayersPanel table
682
- LAYERS_PANEL__NAME_COLUMN=Name
683
- #XTOL: Text for Visible column in LayersPanel table
684
- LAYERS_PANEL_VISIBLE_COLUMN=Visible
685
- #XTOL: Tooltip for for Visible column icon in visible state
686
- LAYERS_PANEL_VISIBLE_COLUMN_VISIBLE_TOOLTIP=Visible layer
687
- #XTOL: Tooltip for for Visible column icon in partially visible state
688
- LAYERS_PANEL_VISIBLE_COLUMN_PARTIAL_TOOLTIP=Partially visible layer
689
- #XTOL: Tooltip for for Visible column icon in partially visible state
690
- LAYERS_PANEL_VISIBLE_COLUMN_HIDDEN_TOOLTIP=Hidden layer
691
-
692
- #XTOL: Text for Show Layers button in LayersPanel
693
- ELEMENTS_PANEL_NO_DATA=No elements
694
- #XTOL: Text for Show Element button in ElementsPanel
678
+ #XTOL: Button tooltip for hiding layers
679
+ LAYERS_PANEL_HIDE_BUTTON_TOOLTIP=Hide elements of selected layers
680
+ #XTIT: Column header for name of the layer
681
+ LAYERS_PANEL_NAME_COLUMN=Name
682
+ #XTIT: Column header for visibility of the layer
683
+ LAYERS_PANEL_VISIBLE_COLUMN=Visibility
684
+ #XTOL: Tooltip for layer in visible state
685
+ LAYERS_PANEL_VISIBLE_COLUMN_VISIBLE_TOOLTIP=All elements are visible
686
+ #XTOL: Tooltip for layer in partially visible state
687
+ LAYERS_PANEL_VISIBLE_COLUMN_PARTIAL_TOOLTIP=Some elements are visible and some are hidden
688
+ #XTOL: Tooltip for layer in hidden state
689
+ LAYERS_PANEL_VISIBLE_COLUMN_HIDDEN_TOOLTIP=All elements are hidden
690
+
691
+ #XBUT: Button caption for showing elements
695
692
  ELEMENTS_PANEL_SHOW_BUTTON=Show
696
- #XTOL: Tooltip for for Show Elements button in ElementsPanel
697
- ELEMENTS_PANEL_SHOW_BUTTON_TOOLTIP=Show Element(s)
698
- #XTOL: Text for Hide Elements button in ElementsPanel
693
+ #XTOL: Button tooltip for showing elements
694
+ ELEMENTS_PANEL_SHOW_BUTTON_TOOLTIP=Show elements in the viewport
695
+ #XBUT: Button caption for hiding elements
699
696
  ELEMENTS_PANEL_HIDE_BUTTON=Hide
700
- #XTOL: Tooltip for for Hide Elements button in ElementsPanel
701
- ELEMENTS_PANEL_HIDE_BUTTON_TOOLTIP=Hide Element(s)
702
- #XTOL: Tooltip for for Settings button in ElementsPanel
697
+ #XTOL: Button tooltip for hiding elements
698
+ ELEMENTS_PANEL_HIDE_BUTTON_TOOLTIP=Hide elements in the viewport
699
+ #XTOL: Button tooltip for settings of elements table
703
700
  ELEMENTS_PANEL_SETTINGS_BUTTON_TOOLTIP=Elements panel settings
704
- #XTOL: Text for Installation Point column in ElementsPanel table. Key is misnamed, will rename in a later release.
701
+ #XTIT: Column header for installation point or identifier of an element
705
702
  ELEMENTS_PANEL_NAME_COLUMN=Installation Point
706
- #XTOL: Text for Type column in ElementsPanel table
703
+ #XTIT: Column header for type of an element
707
704
  ELEMENTS_PANEL_TYPE_COLUMN=Type
708
- #XTOL: Text for Device Reference column in ElementsPanel table
705
+ #XTIT: Column header for device reference or external identifier of an element
709
706
  ELEMENTS_PANEL_DEVICE_REFERENCE_COLUMN=Device Reference
710
- #XTOL: Text for Visible column in ElementsPanel table
711
- ELEMENTS_PANEL_VISIBLE_COLUMN=Visible
712
- #XTOL: Tooltip for for Visible column icon in visible state
707
+ #XTIT: Column header for visibility of an elements
708
+ ELEMENTS_PANEL_VISIBLE_COLUMN=Visibility
709
+ #XTOL: Tooltip for element in visible state
713
710
  ELEMENTS_PANEL_VISIBLE_COLUMN_VISIBLE_TOOLTIP=Visible element
714
- #XTOL: Tooltip for for Visible column icon in partially visible state
711
+ #XTOL: Tooltip for element in partially visible state
715
712
  ELEMENTS_PANEL_VISIBLE_COLUMN_PARTIAL_TOOLTIP=Partially visible element
716
- #XTOL: Tooltip for for Visible column icon in partially visible state
713
+ #XTOL: Tooltip for element in hidden state
717
714
  ELEMENTS_PANEL_VISIBLE_COLUMN_HIDDEN_TOOLTIP=Hidden element
718
- #XTOL: Text for Component type in ElementsPanel
715
+
716
+ #XSEL: Text for element type: component (like capacitor, resistor, diod etc.. on PCB board)
719
717
  ELEMENTS_PANEL_TYPE_COMPONENT=Component
720
- #XTOL: Text for Net type in ElementsPanel
718
+ #XSEL: Text for element type: net (or copper route on PCB board)
721
719
  ELEMENTS_PANEL_TYPE_NET=Net
722
- #XTOL: Text for Unknown type in ElementsPanel
720
+ #XTOL: Text for unknown element type
723
721
  ELEMENTS_PANEL_TYPE_UNKNOWN=Unknown
724
- #XTOL: Text for Type filter label
722
+ #XFLD: Caption for element type filter in filter bar
725
723
  TYPE_FILTER_LABEL=Type
726
- #XTOL: Text for Device Reference filter label
724
+ #XFLD: Caption for component device reference (or external identifier) filter in filter bar
727
725
  DEVICE_REF_FILTER_LABEL=Device Reference
728
- #XTOL: Text for Installation Point filter label. Key is misnamed, will rename in a later release.
726
+ #XFLD: Caption for installation point (or identifier) filter in filter bar
729
727
  REFDES_FILTER_LABEL=Installation Point
730
728
 
731
- #XTOL: Text for Rotate board CW button in DrawerToolbar
729
+ #XTOL: Button tooltip for clockwise rotate of PCB board
732
730
  ROTATE_BOARD_CW=Rotate board clockwise
733
- #XTOL: Text for Rotate board CCW button in DrawerToolbar
731
+ #XTOL: Button tooltip for counterclockwise rotate of PCB board
734
732
  ROTATE_BOARD_CCW=Rotate board counter clockwise
735
- #XTOL: Text for Flip Board button in DrawerToolbar
733
+ #XTOL: Button tooltip for flip PCB board horizontally, to see other board side
736
734
  FLIP_BOARD=Flip board horizontally
737
735
 
738
736
 
@@ -44,7 +44,7 @@ SCENETREE_VISIBILITYSTATEHIDDEN=\u0627\u0646\u0642\u0631 \u0644\u0644\u0625\u063
44
44
  SCENETREE_VISIBILITYSTATEVISIBLEALL=\u0627\u0646\u0642\u0631\u0644\u0625\u062E\u0641\u0627\u0621 \u0627\u0644\u0643\u0644
45
45
  SCENETREE_VISIBILITYSTATEHIDDENALL=\u0627\u0646\u0642\u0631 \u0644\u0625\u0638\u0647\u0627\u0631 \u0627\u0644\u0643\u0644
46
46
  SCENETREE_SELECTIONSTATESELECTED=\u0645\u062D\u062F\u062F
47
-
47
+ SCENETREE_SELECTED_SCENE_TREE_ITEM_INFO=\u0627\u0644\u0645\u062D\u062F\u062F\: {0}
48
48
 
49
49
  CONTAINERBASE_FULLSCREEN=\u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629
50
50
  CONTAINERBASE_SETTINGS=\u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A
@@ -378,28 +378,42 @@ ELEMENTS_BUTTONTOOLTIP=\u0627\u0644\u0639\u0646\u0627\u0635\u0631
378
378
 
379
379
  TOGGLE_HOTSPOTS_BUTTONTOOLTIP=\u062A\u0628\u062F\u064A\u0644 \u0627\u0644\u0645\u0646\u0627\u0637\u0642 \u0627\u0644\u0641\u0639\u0627\u0644\u0629
380
380
 
381
+ LAYERS_PANEL_NO_DATA=\u0644\u0627 \u062A\u0648\u062C\u062F \u0637\u0628\u0642\u0627\u062A
381
382
  LAYERS_PANEL_SHOW_BUTTON=\u0625\u0638\u0647\u0627\u0631
382
- LAYERS_PANEL_SHOW_BUTTON_TOOLTIP=\u0625\u0638\u0647\u0627\u0631 \u0627\u0644\u0637\u0628\u0642\u0629 (\u0627\u0644\u0637\u0628\u0642\u0627\u062A)
383
+ LAYERS_PANEL_SHOW_BUTTON_TOOLTIP=\u0625\u0638\u0647\u0627\u0631 \u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0637\u0628\u0642\u0627\u062A \u0627\u0644\u0645\u062D\u062F\u062F\u0629
383
384
  LAYERS_PANEL_HIDE_BUTTON=\u0625\u062E\u0641\u0627\u0621
384
- LAYERS_PANEL_HIDE_BUTTON_TOOLTIP=\u0625\u062E\u0641\u0627\u0621 \u0627\u0644\u0637\u0628\u0642\u0629 (\u0627\u0644\u0637\u0628\u0642\u0627\u062A)
385
- LAYERS_PANEL__NAME_COLUMN=\u0627\u0644\u0627\u0633\u0645
386
- LAYERS_PANEL_VISIBLE_COLUMN=\u0645\u0631\u0626\u064A
387
- LAYERS_PANEL_VISIBLE_COLUMN_VISIBLE_TOOLTIP=\u0637\u0628\u0642\u0629 \u0645\u0631\u0626\u064A\u0629
388
- LAYERS_PANEL_VISIBLE_COLUMN_PARTIAL_TOOLTIP=\u0637\u0628\u0642\u0629 \u0645\u0631\u0626\u064A\u0629 \u062C\u0632\u0626\u064A\u064B\u0627
389
- LAYERS_PANEL_VISIBLE_COLUMN_HIDDEN_TOOLTIP=\u0637\u0628\u0642\u0629 \u0645\u062E\u0641\u064A\u0629
390
-
385
+ LAYERS_PANEL_HIDE_BUTTON_TOOLTIP=\u0625\u062E\u0641\u0627\u0621 \u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0637\u0628\u0642\u0627\u062A \u0627\u0644\u0645\u062D\u062F\u062F\u0629
386
+ LAYERS_PANEL_NAME_COLUMN=\u0627\u0644\u0627\u0633\u0645
387
+ LAYERS_PANEL_VISIBLE_COLUMN=\u0627\u0644\u0631\u0624\u064A\u0629
388
+ LAYERS_PANEL_VISIBLE_COLUMN_VISIBLE_TOOLTIP=\u062C\u0645\u064A\u0639 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0645\u0631\u0626\u064A\u0629
389
+ LAYERS_PANEL_VISIBLE_COLUMN_PARTIAL_TOOLTIP=\u0628\u0639\u0636 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0645\u0631\u0626\u064A\u0629 \u0648\u0627\u0644\u0628\u0639\u0636 \u0645\u062E\u0641\u064A
390
+ LAYERS_PANEL_VISIBLE_COLUMN_HIDDEN_TOOLTIP=\u062C\u0645\u064A\u0639 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0645\u062E\u0641\u064A\u0629
391
+
392
+ ELEMENTS_PANEL_NO_DATA=\u0644\u0627 \u062A\u0648\u062C\u062F \u0639\u0646\u0627\u0635\u0631
391
393
  ELEMENTS_PANEL_SHOW_BUTTON=\u0625\u0638\u0647\u0627\u0631
392
- ELEMENTS_PANEL_SHOW_BUTTON_TOOLTIP=\u0625\u0638\u0647\u0627\u0631 \u0627\u0644\u0639\u0646\u0635\u0631 (\u0627\u0644\u0639\u0646\u0627\u0635\u0631)
394
+ ELEMENTS_PANEL_SHOW_BUTTON_TOOLTIP=\u0625\u0638\u0647\u0627\u0631 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0641\u064A \u0645\u0646\u0641\u0630 \u0627\u0644\u0639\u0631\u0636
393
395
  ELEMENTS_PANEL_HIDE_BUTTON=\u0625\u062E\u0641\u0627\u0621
394
- ELEMENTS_PANEL_HIDE_BUTTON_TOOLTIP=\u0625\u062E\u0641\u0627\u0621 \u0627\u0644\u0639\u0646\u0635\u0631 (\u0627\u0644\u0639\u0646\u0627\u0635\u0631)
396
+ ELEMENTS_PANEL_HIDE_BUTTON_TOOLTIP=\u0625\u062E\u0641\u0627\u0621 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0641\u064A \u0645\u0646\u0641\u0630 \u0627\u0644\u0639\u0631\u0636
395
397
  ELEMENTS_PANEL_SETTINGS_BUTTON_TOOLTIP=\u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0644\u0648\u062D\u0629 \u0627\u0644\u0639\u0646\u0627\u0635\u0631
396
- ELEMENTS_PANEL_NAME_COLUMN=\u0645\u062D\u062F\u0651\u0650\u062F \u0645\u0631\u062C\u0639\u064A
398
+ ELEMENTS_PANEL_NAME_COLUMN=\u0646\u0642\u0637\u0629 \u0627\u0644\u062A\u062B\u0628\u064A\u062A
397
399
  ELEMENTS_PANEL_TYPE_COLUMN=\u0627\u0644\u0646\u0648\u0639
398
400
  ELEMENTS_PANEL_DEVICE_REFERENCE_COLUMN=\u0645\u0631\u062C\u0639 \u0627\u0644\u062C\u0647\u0627\u0632
399
- ELEMENTS_PANEL_VISIBLE_COLUMN=\u0645\u0631\u0626\u064A
401
+ ELEMENTS_PANEL_VISIBLE_COLUMN=\u0627\u0644\u0631\u0624\u064A\u0629
400
402
  ELEMENTS_PANEL_VISIBLE_COLUMN_VISIBLE_TOOLTIP=\u0639\u0646\u0635\u0631 \u0645\u0631\u0626\u064A
401
403
  ELEMENTS_PANEL_VISIBLE_COLUMN_PARTIAL_TOOLTIP=\u0639\u0646\u0635\u0631 \u0645\u0631\u0626\u064A \u062C\u0632\u0626\u064A\u064B\u0627
402
404
  ELEMENTS_PANEL_VISIBLE_COLUMN_HIDDEN_TOOLTIP=\u0639\u0646\u0635\u0631 \u0645\u062E\u0641\u064A
405
+
403
406
  ELEMENTS_PANEL_TYPE_COMPONENT=\u0627\u0644\u0645\u0643\u0648\u0646
404
407
  ELEMENTS_PANEL_TYPE_NET=\u0635\u0627\u0641\u064A
405
408
  ELEMENTS_PANEL_TYPE_UNKNOWN=\u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641
409
+ TYPE_FILTER_LABEL=\u0627\u0644\u0646\u0648\u0639
410
+ DEVICE_REF_FILTER_LABEL=\u0645\u0631\u062C\u0639 \u0627\u0644\u062C\u0647\u0627\u0632
411
+ REFDES_FILTER_LABEL=\u0646\u0642\u0637\u0629 \u0627\u0644\u062A\u062B\u0628\u064A\u062A
412
+
413
+ ROTATE_BOARD_CW=\u062A\u062F\u0648\u064A\u0631 \u0644\u0648\u062D\u0629 \u0628\u0627\u062A\u062C\u0627\u0647 \u0639\u0642\u0627\u0631\u0628 \u0627\u0644\u0633\u0627\u0639\u0629
414
+ ROTATE_BOARD_CCW=\u062A\u062F\u0648\u064A\u0631 \u0639\u062F\u0627\u062F \u0627\u0644\u0644\u0648\u062D\u0627\u062A \u0628\u0627\u062A\u062C\u0627\u0647 \u0639\u0642\u0627\u0631\u0628 \u0627\u0644\u0633\u0627\u0639\u0629
415
+ FLIP_BOARD=\u0642\u0644\u0628 \u0627\u0644\u0644\u0648\u062D\u0629 \u0623\u0641\u0642\u064A\u064B\u0627
416
+
417
+
418
+ ENTER_FULLSCREEN=\u0628\u062F\u0621 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629
419
+ EXIT_FULLSCREEN=\u062E\u0631\u0648\u062C \u0645\u0646 \u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629
@@ -44,7 +44,7 @@ SCENETREE_VISIBILITYSTATEHIDDEN=\u041A\u043B\u0438\u043A\u043D\u0435\u0442\u0435
44
44
  SCENETREE_VISIBILITYSTATEVISIBLEALL=\u041A\u043B\u0438\u043A\u043D\u0435\u0442\u0435 \u0437\u0430 \u0441\u043A\u0440\u0438\u0432\u0430\u043D\u0435 \u043D\u0430 \u0432\u0441\u0438\u0447\u043A\u0438
45
45
  SCENETREE_VISIBILITYSTATEHIDDENALL=\u041A\u043B\u0438\u043A\u043D\u0435\u0442\u0435 \u0437\u0430 \u043F\u043E\u043A\u0430\u0437\u0432\u0430\u043D\u0435 \u043D\u0430 \u0432\u0441\u0438\u0447\u043A\u0438
46
46
  SCENETREE_SELECTIONSTATESELECTED=\u0418\u0437\u0431\u0440\u0430\u043D
47
-
47
+ SCENETREE_SELECTED_SCENE_TREE_ITEM_INFO=\u0418\u0437\u0431\u0440\u0430\u043D\u0438\: {0}
48
48
 
49
49
  CONTAINERBASE_FULLSCREEN=\u0426\u044F\u043B \u0435\u043A\u0440\u0430\u043D
50
50
  CONTAINERBASE_SETTINGS=\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438
@@ -378,28 +378,42 @@ ELEMENTS_BUTTONTOOLTIP=\u0415\u043B\u0435\u043C\u0435\u043D\u0442\u0438
378
378
 
379
379
  TOGGLE_HOTSPOTS_BUTTONTOOLTIP=\u041F\u0440\u0435\u0432\u043A\u043B\u044E\u0447\u0432\u0430\u043D\u0435 \u0437\u0430 \u0433\u043E\u0440\u0435\u0449\u0438 \u0442\u043E\u0447\u043A\u0438
380
380
 
381
+ LAYERS_PANEL_NO_DATA=\u0411\u0435\u0437 \u0441\u043B\u043E\u0435\u0432\u0435
381
382
  LAYERS_PANEL_SHOW_BUTTON=\u041F\u043E\u043A\u0430\u0437\u0432\u0430\u043D\u0435
382
- LAYERS_PANEL_SHOW_BUTTON_TOOLTIP=\u041F\u043E\u043A\u0430\u0437\u0432\u0430\u043D\u0435 \u043D\u0430 \u0441\u043B\u043E\u0435\u0432\u0435\u0442\u0435
383
+ LAYERS_PANEL_SHOW_BUTTON_TOOLTIP=\u041F\u043E\u043A\u0430\u0437\u0432\u0430\u043D\u0435 \u043D\u0430 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438\u0442\u0435 \u043D\u0430 \u0438\u0437\u0431\u0440\u0430\u043D\u0438\u0442\u0435 \u0441\u043B\u043E\u0435\u0432\u0435
383
384
  LAYERS_PANEL_HIDE_BUTTON=\u0421\u043A\u0440\u0438\u0432\u0430\u043D\u0435
384
- LAYERS_PANEL_HIDE_BUTTON_TOOLTIP=\u0421\u043A\u0440\u0438\u0432\u0430\u043D\u0435 \u043D\u0430 \u0441\u043B\u043E\u0435\u0432\u0435\u0442\u0435
385
- LAYERS_PANEL__NAME_COLUMN=\u0418\u043C\u0435
386
- LAYERS_PANEL_VISIBLE_COLUMN=\u0412\u0438\u0434\u0438\u043C\u043E
387
- LAYERS_PANEL_VISIBLE_COLUMN_VISIBLE_TOOLTIP=\u0412\u0438\u0434\u0438\u043C \u0441\u043B\u043E\u0439
388
- LAYERS_PANEL_VISIBLE_COLUMN_PARTIAL_TOOLTIP=\u0427\u0430\u0441\u0442\u0438\u0447\u043D\u043E \u0432\u0438\u0434\u0438\u043C \u0441\u043B\u043E\u0439
389
- LAYERS_PANEL_VISIBLE_COLUMN_HIDDEN_TOOLTIP=\u0421\u043A\u0440\u0438\u0442 \u0441\u043B\u043E\u0439
390
-
385
+ LAYERS_PANEL_HIDE_BUTTON_TOOLTIP=\u0421\u043A\u0440\u0438\u0432\u0430\u043D\u0435 \u043D\u0430 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438\u0442\u0435 \u043D\u0430 \u0438\u0437\u0431\u0440\u0430\u043D\u0438\u0442\u0435 \u0441\u043B\u043E\u0435\u0432\u0435
386
+ LAYERS_PANEL_NAME_COLUMN=\u0418\u043C\u0435
387
+ LAYERS_PANEL_VISIBLE_COLUMN=\u0412\u0438\u0434\u0438\u043C\u043E\u0441\u0442
388
+ LAYERS_PANEL_VISIBLE_COLUMN_VISIBLE_TOOLTIP=\u0412\u0441\u0438\u0447\u043A\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0441\u0430 \u0432\u0438\u0434\u0438\u043C\u0438
389
+ LAYERS_PANEL_VISIBLE_COLUMN_PARTIAL_TOOLTIP=\u041D\u044F\u043A\u043E\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0441\u0430 \u0432\u0438\u0434\u0438\u043C\u0438, \u0430 \u043D\u044F\u043A\u043E\u0438 - \u0441\u043A\u0440\u0438\u0442\u0438
390
+ LAYERS_PANEL_VISIBLE_COLUMN_HIDDEN_TOOLTIP=\u0412\u0441\u0438\u0447\u043A\u0438 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438 \u0441\u0430 \u0441\u043A\u0440\u0438\u0442\u0438
391
+
392
+ ELEMENTS_PANEL_NO_DATA=\u0411\u0435\u0437 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438
391
393
  ELEMENTS_PANEL_SHOW_BUTTON=\u041F\u043E\u043A\u0430\u0437\u0432\u0430\u043D\u0435
392
- ELEMENTS_PANEL_SHOW_BUTTON_TOOLTIP=\u041F\u043E\u043A\u0430\u0437\u0432\u0430\u043D\u0435 \u043D\u0430 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438\u0442\u0435
394
+ ELEMENTS_PANEL_SHOW_BUTTON_TOOLTIP=\u041F\u043E\u043A\u0430\u0437\u0432\u0430\u043D\u0435 \u043D\u0430 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438\u0442\u0435 \u0432 \u043F\u043E\u043B\u0435\u0442\u043E \u0437\u0430 \u043F\u0440\u0435\u0433\u043B\u0435\u0434
393
395
  ELEMENTS_PANEL_HIDE_BUTTON=\u0421\u043A\u0440\u0438\u0432\u0430\u043D\u0435
394
- ELEMENTS_PANEL_HIDE_BUTTON_TOOLTIP=\u0421\u043A\u0440\u0438\u0432\u0430\u043D\u0435 \u043D\u0430 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438\u0442\u0435
396
+ ELEMENTS_PANEL_HIDE_BUTTON_TOOLTIP=\u0421\u043A\u0440\u0438\u0432\u0430\u043D\u0435 \u043D\u0430 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438\u0442\u0435 \u0432 \u043F\u043E\u043B\u0435\u0442\u043E \u0437\u0430 \u043F\u0440\u0435\u0433\u043B\u0435\u0434
395
397
  ELEMENTS_PANEL_SETTINGS_BUTTON_TOOLTIP=\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043D\u0430 \u043F\u0430\u043D\u0435\u043B\u0430 \u0437\u0430 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438
396
- ELEMENTS_PANEL_NAME_COLUMN=\u0420\u0435\u0444\u0435\u0440\u0435\u043D\u0442\u0435\u043D \u0443\u043A\u0430\u0437\u0430\u0442\u0435\u043B
398
+ ELEMENTS_PANEL_NAME_COLUMN=\u0422\u043E\u0447\u043A\u0430 \u043D\u0430 \u0438\u043D\u0441\u0442\u0430\u043B\u0438\u0440\u0430\u043D\u0435
397
399
  ELEMENTS_PANEL_TYPE_COLUMN=\u0412\u0438\u0434
398
400
  ELEMENTS_PANEL_DEVICE_REFERENCE_COLUMN=\u0420\u0435\u0444\u0435\u0440\u0435\u043D\u0446\u0438\u044F \u0437\u0430 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E
399
- ELEMENTS_PANEL_VISIBLE_COLUMN=\u0412\u0438\u0434\u0438\u043C\u043E
401
+ ELEMENTS_PANEL_VISIBLE_COLUMN=\u0412\u0438\u0434\u0438\u043C\u043E\u0441\u0442
400
402
  ELEMENTS_PANEL_VISIBLE_COLUMN_VISIBLE_TOOLTIP=\u0412\u0438\u0434\u0438\u043C \u0435\u043B\u0435\u043C\u0435\u043D\u0442
401
403
  ELEMENTS_PANEL_VISIBLE_COLUMN_PARTIAL_TOOLTIP=\u0427\u0430\u0441\u0442\u0438\u0447\u043D\u043E \u0432\u0438\u0434\u0438\u043C \u0435\u043B\u0435\u043C\u0435\u043D\u0442
402
404
  ELEMENTS_PANEL_VISIBLE_COLUMN_HIDDEN_TOOLTIP=\u0421\u043A\u0440\u0438\u0442 \u0435\u043B\u0435\u043C\u0435\u043D\u0442
405
+
403
406
  ELEMENTS_PANEL_TYPE_COMPONENT=\u041A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442
404
407
  ELEMENTS_PANEL_TYPE_NET=\u041D\u0435\u0442\u043E
405
408
  ELEMENTS_PANEL_TYPE_UNKNOWN=\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E
409
+ TYPE_FILTER_LABEL=\u0412\u0438\u0434
410
+ DEVICE_REF_FILTER_LABEL=\u0420\u0435\u0444\u0435\u0440\u0435\u043D\u0446\u0438\u044F \u0437\u0430 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E
411
+ REFDES_FILTER_LABEL=\u0422\u043E\u0447\u043A\u0430 \u043D\u0430 \u0438\u043D\u0441\u0442\u0430\u043B\u0438\u0440\u0430\u043D\u0435
412
+
413
+ ROTATE_BOARD_CW=\u0417\u0430\u0432\u044A\u0440\u0442\u0435\u0442\u0435 \u043F\u0430\u043D\u0435\u043B\u0430 \u043F\u043E \u043F\u043E\u0441\u043E\u043A\u0430 \u043D\u0430 \u0447\u0430\u0441\u043E\u0432\u043D\u0438\u043A\u043E\u0432\u0430\u0442\u0430 \u0441\u0442\u0440\u0435\u043B\u043A\u0430
414
+ ROTATE_BOARD_CCW=\u0417\u0430\u0432\u044A\u0440\u0442\u0435\u0442\u0435 \u043F\u0430\u043D\u0435\u043B\u0430 \u043E\u0431\u0440\u0430\u0442\u043D\u043E \u043D\u0430 \u0447\u0430\u0441\u043E\u0432\u043D\u0438\u043A\u043E\u0432\u0430\u0442\u0430 \u0441\u0442\u0440\u0435\u043B\u043A\u0430
415
+ FLIP_BOARD=\u041E\u0431\u044A\u0440\u043D\u0435\u0442\u0435 \u043F\u0430\u043D\u0435\u043B\u0430 \u0445\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u043D\u043E
416
+
417
+
418
+ ENTER_FULLSCREEN=\u0412\u0445\u043E\u0434 \u0432 \u0440\u0435\u0436\u0438\u043C \u043D\u0430 \u0446\u044F\u043B \u0435\u043A\u0440\u0430\u043D
419
+ EXIT_FULLSCREEN=\u0418\u0437\u0445\u043E\u0434 \u043E\u0442 \u0440\u0435\u0436\u0438\u043C\u0430 \u043D\u0430 \u0446\u044F\u043B \u0435\u043A\u0440\u0430\u043D