@babylonjs/gui 5.0.0-rc.2 → 5.0.0-rc.5

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 (265) hide show
  1. package/2D/adtInstrumentation.d.ts +2 -2
  2. package/2D/adtInstrumentation.js.map +1 -1
  3. package/2D/advancedDynamicTexture.d.ts +43 -20
  4. package/2D/advancedDynamicTexture.js +45 -22
  5. package/2D/advancedDynamicTexture.js.map +1 -1
  6. package/2D/controls/button.d.ts +50 -12
  7. package/2D/controls/button.js +48 -10
  8. package/2D/controls/button.js.map +1 -1
  9. package/2D/controls/checkbox.d.ts +17 -9
  10. package/2D/controls/checkbox.js +17 -7
  11. package/2D/controls/checkbox.js.map +1 -1
  12. package/2D/controls/colorpicker.d.ts +21 -8
  13. package/2D/controls/colorpicker.js +540 -523
  14. package/2D/controls/colorpicker.js.map +1 -1
  15. package/2D/controls/container.d.ts +63 -18
  16. package/2D/controls/container.js +63 -18
  17. package/2D/controls/container.js.map +1 -1
  18. package/2D/controls/control.d.ts +172 -49
  19. package/2D/controls/control.js +166 -41
  20. package/2D/controls/control.js.map +1 -1
  21. package/2D/controls/displayGrid.d.ts +2 -4
  22. package/2D/controls/displayGrid.js +3 -3
  23. package/2D/controls/displayGrid.js.map +1 -1
  24. package/2D/controls/ellipse.d.ts +1 -1
  25. package/2D/controls/ellipse.js +2 -2
  26. package/2D/controls/ellipse.js.map +1 -1
  27. package/2D/controls/focusableButton.d.ts +13 -6
  28. package/2D/controls/focusableButton.js +10 -3
  29. package/2D/controls/focusableButton.js.map +1 -1
  30. package/2D/controls/focusableControl.d.ts +11 -11
  31. package/2D/controls/focusableControl.js.map +1 -1
  32. package/2D/controls/grid.d.ts +7 -3
  33. package/2D/controls/grid.js +9 -5
  34. package/2D/controls/grid.js.map +1 -1
  35. package/2D/controls/image.d.ts +15 -8
  36. package/2D/controls/image.js +29 -21
  37. package/2D/controls/image.js.map +1 -1
  38. package/2D/controls/index.js.map +1 -1
  39. package/2D/controls/inputPassword.d.ts +1 -1
  40. package/2D/controls/inputPassword.js +2 -2
  41. package/2D/controls/inputPassword.js.map +1 -1
  42. package/2D/controls/inputText.d.ts +34 -15
  43. package/2D/controls/inputText.js +47 -24
  44. package/2D/controls/inputText.js.map +1 -1
  45. package/2D/controls/line.d.ts +4 -4
  46. package/2D/controls/line.js +5 -5
  47. package/2D/controls/line.js.map +1 -1
  48. package/2D/controls/multiLine.d.ts +9 -11
  49. package/2D/controls/multiLine.js +8 -8
  50. package/2D/controls/multiLine.js.map +1 -1
  51. package/2D/controls/radioButton.d.ts +4 -4
  52. package/2D/controls/radioButton.js +2 -2
  53. package/2D/controls/radioButton.js.map +1 -1
  54. package/2D/controls/rectangle.d.ts +1 -1
  55. package/2D/controls/rectangle.js +2 -2
  56. package/2D/controls/rectangle.js.map +1 -1
  57. package/2D/controls/scrollViewers/scrollViewer.d.ts +14 -7
  58. package/2D/controls/scrollViewers/scrollViewer.js +14 -13
  59. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  60. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +20 -8
  61. package/2D/controls/scrollViewers/scrollViewerWindow.js +25 -10
  62. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  63. package/2D/controls/selector.d.ts +79 -25
  64. package/2D/controls/selector.js +93 -30
  65. package/2D/controls/selector.js.map +1 -1
  66. package/2D/controls/sliders/baseSlider.d.ts +9 -5
  67. package/2D/controls/sliders/baseSlider.js +11 -7
  68. package/2D/controls/sliders/baseSlider.js.map +1 -1
  69. package/2D/controls/sliders/imageBasedSlider.d.ts +10 -8
  70. package/2D/controls/sliders/imageBasedSlider.js +10 -6
  71. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  72. package/2D/controls/sliders/imageScrollBar.d.ts +8 -4
  73. package/2D/controls/sliders/imageScrollBar.js +10 -3
  74. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  75. package/2D/controls/sliders/scrollBar.d.ts +8 -4
  76. package/2D/controls/sliders/scrollBar.js +10 -3
  77. package/2D/controls/sliders/scrollBar.js.map +1 -1
  78. package/2D/controls/sliders/slider.d.ts +2 -4
  79. package/2D/controls/sliders/slider.js +6 -6
  80. package/2D/controls/sliders/slider.js.map +1 -1
  81. package/2D/controls/stackPanel.d.ts +11 -3
  82. package/2D/controls/stackPanel.js +16 -6
  83. package/2D/controls/stackPanel.js.map +1 -1
  84. package/2D/controls/statics.js +2 -0
  85. package/2D/controls/statics.js.map +1 -1
  86. package/2D/controls/textBlock.d.ts +9 -6
  87. package/2D/controls/textBlock.js +11 -6
  88. package/2D/controls/textBlock.js.map +1 -1
  89. package/2D/controls/textWrapper.js.map +1 -1
  90. package/2D/controls/toggleButton.d.ts +43 -9
  91. package/2D/controls/toggleButton.js +40 -6
  92. package/2D/controls/toggleButton.js.map +1 -1
  93. package/2D/controls/virtualKeyboard.d.ts +2 -2
  94. package/2D/controls/virtualKeyboard.js +6 -6
  95. package/2D/controls/virtualKeyboard.js.map +1 -1
  96. package/2D/index.js.map +1 -1
  97. package/2D/math2D.d.ts +2 -2
  98. package/2D/math2D.js +2 -2
  99. package/2D/math2D.js.map +1 -1
  100. package/2D/measure.d.ts +4 -4
  101. package/2D/measure.js +6 -16
  102. package/2D/measure.js.map +1 -1
  103. package/2D/multiLinePoint.d.ts +3 -3
  104. package/2D/multiLinePoint.js +3 -3
  105. package/2D/multiLinePoint.js.map +1 -1
  106. package/2D/style.d.ts +2 -2
  107. package/2D/style.js.map +1 -1
  108. package/2D/valueAndUnit.d.ts +1 -1
  109. package/2D/valueAndUnit.js +8 -4
  110. package/2D/valueAndUnit.js.map +1 -1
  111. package/2D/xmlLoader.d.ts +10 -10
  112. package/2D/xmlLoader.js +17 -17
  113. package/2D/xmlLoader.js.map +1 -1
  114. package/3D/behaviors/defaultBehavior.d.ts +7 -7
  115. package/3D/behaviors/defaultBehavior.js.map +1 -1
  116. package/3D/controls/abstractButton3D.d.ts +2 -2
  117. package/3D/controls/abstractButton3D.js +1 -1
  118. package/3D/controls/abstractButton3D.js.map +1 -1
  119. package/3D/controls/button3D.d.ts +4 -4
  120. package/3D/controls/button3D.js.map +1 -1
  121. package/3D/controls/container3D.d.ts +3 -3
  122. package/3D/controls/container3D.js +1 -2
  123. package/3D/controls/container3D.js.map +1 -1
  124. package/3D/controls/contentDisplay3D.js +1 -0
  125. package/3D/controls/contentDisplay3D.js.map +1 -1
  126. package/3D/controls/control3D.d.ts +53 -17
  127. package/3D/controls/control3D.js +48 -11
  128. package/3D/controls/control3D.js.map +1 -1
  129. package/3D/controls/cylinderPanel.d.ts +2 -2
  130. package/3D/controls/cylinderPanel.js +2 -2
  131. package/3D/controls/cylinderPanel.js.map +1 -1
  132. package/3D/controls/handMenu.d.ts +5 -5
  133. package/3D/controls/handMenu.js.map +1 -1
  134. package/3D/controls/holographicBackplate.d.ts +4 -3
  135. package/3D/controls/holographicBackplate.js +4 -4
  136. package/3D/controls/holographicBackplate.js.map +1 -1
  137. package/3D/controls/holographicButton.d.ts +6 -5
  138. package/3D/controls/holographicButton.js +1 -0
  139. package/3D/controls/holographicButton.js.map +1 -1
  140. package/3D/controls/holographicSlate.d.ts +10 -7
  141. package/3D/controls/holographicSlate.js +17 -14
  142. package/3D/controls/holographicSlate.js.map +1 -1
  143. package/3D/controls/index.js.map +1 -1
  144. package/3D/controls/meshButton3D.d.ts +4 -4
  145. package/3D/controls/meshButton3D.js +3 -2
  146. package/3D/controls/meshButton3D.js.map +1 -1
  147. package/3D/controls/nearMenu.d.ts +5 -5
  148. package/3D/controls/nearMenu.js +6 -4
  149. package/3D/controls/nearMenu.js.map +1 -1
  150. package/3D/controls/planePanel.d.ts +1 -1
  151. package/3D/controls/planePanel.js.map +1 -1
  152. package/3D/controls/scatterPanel.d.ts +2 -2
  153. package/3D/controls/scatterPanel.js +1 -1
  154. package/3D/controls/scatterPanel.js.map +1 -1
  155. package/3D/controls/slider3D.d.ts +5 -5
  156. package/3D/controls/slider3D.js +8 -9
  157. package/3D/controls/slider3D.js.map +1 -1
  158. package/3D/controls/spherePanel.d.ts +2 -2
  159. package/3D/controls/spherePanel.js +2 -2
  160. package/3D/controls/spherePanel.js.map +1 -1
  161. package/3D/controls/stackPanel3D.js +3 -3
  162. package/3D/controls/stackPanel3D.js.map +1 -1
  163. package/3D/controls/touchButton3D.d.ts +12 -7
  164. package/3D/controls/touchButton3D.js +11 -5
  165. package/3D/controls/touchButton3D.js.map +1 -1
  166. package/3D/controls/touchHolographicButton.d.ts +7 -6
  167. package/3D/controls/touchHolographicButton.js +7 -7
  168. package/3D/controls/touchHolographicButton.js.map +1 -1
  169. package/3D/controls/touchHolographicMenu.d.ts +6 -6
  170. package/3D/controls/touchHolographicMenu.js +1 -0
  171. package/3D/controls/touchHolographicMenu.js.map +1 -1
  172. package/3D/controls/touchMeshButton3D.d.ts +4 -5
  173. package/3D/controls/touchMeshButton3D.js +3 -3
  174. package/3D/controls/touchMeshButton3D.js.map +1 -1
  175. package/3D/controls/volumeBasedPanel.d.ts +10 -9
  176. package/3D/controls/volumeBasedPanel.js +13 -13
  177. package/3D/controls/volumeBasedPanel.js.map +1 -1
  178. package/3D/gizmos/gizmoHandle.d.ts +5 -5
  179. package/3D/gizmos/gizmoHandle.js.map +1 -1
  180. package/3D/gizmos/index.js.map +1 -1
  181. package/3D/gizmos/slateGizmo.d.ts +4 -4
  182. package/3D/gizmos/slateGizmo.js.map +1 -1
  183. package/3D/gui3DManager.d.ts +7 -7
  184. package/3D/gui3DManager.js +3 -3
  185. package/3D/gui3DManager.js.map +1 -1
  186. package/3D/index.js.map +1 -1
  187. package/3D/materials/fluent/fluentMaterial.d.ts +12 -12
  188. package/3D/materials/fluent/fluentMaterial.js +17 -6
  189. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  190. package/3D/materials/fluent/index.js.map +1 -1
  191. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +1 -1
  192. package/3D/materials/fluent/shaders/fluent.fragment.js +4 -2
  193. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
  194. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +1 -1
  195. package/3D/materials/fluent/shaders/fluent.vertex.js +4 -2
  196. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
  197. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +12 -12
  198. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +48 -13
  199. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  200. package/3D/materials/fluentBackplate/index.js.map +1 -1
  201. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +1 -1
  202. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +4 -2
  203. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
  204. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +1 -1
  205. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +4 -2
  206. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
  207. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +12 -12
  208. package/3D/materials/fluentButton/fluentButtonMaterial.js +8 -6
  209. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  210. package/3D/materials/fluentButton/index.js.map +1 -1
  211. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +1 -1
  212. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +4 -2
  213. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
  214. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +1 -1
  215. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +4 -2
  216. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
  217. package/3D/materials/fluentMaterial.d.ts +1 -1
  218. package/3D/materials/fluentMaterial.js +1 -1
  219. package/3D/materials/fluentMaterial.js.map +1 -1
  220. package/3D/materials/handle/handleMaterial.d.ts +4 -4
  221. package/3D/materials/handle/handleMaterial.js.map +1 -1
  222. package/3D/materials/handle/index.js.map +1 -1
  223. package/3D/materials/handle/shaders/handle.fragment.d.ts +1 -1
  224. package/3D/materials/handle/shaders/handle.fragment.js +3 -1
  225. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
  226. package/3D/materials/handle/shaders/handle.vertex.d.ts +1 -1
  227. package/3D/materials/handle/shaders/handle.vertex.js +4 -2
  228. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
  229. package/3D/materials/index.js.map +1 -1
  230. package/3D/materials/mrdl/index.js.map +1 -1
  231. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +15 -15
  232. package/3D/materials/mrdl/mrdlBackplateMaterial.js +42 -15
  233. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  234. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +16 -16
  235. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +88 -23
  236. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  237. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +17 -17
  238. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +89 -24
  239. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  240. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +1 -1
  241. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +4 -2
  242. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
  243. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +1 -1
  244. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +4 -2
  245. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
  246. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +1 -1
  247. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +4 -2
  248. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
  249. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +1 -1
  250. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +4 -2
  251. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
  252. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +1 -1
  253. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +4 -2
  254. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
  255. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +1 -1
  256. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +4 -2
  257. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
  258. package/3D/vector3WithInfo.d.ts +1 -1
  259. package/3D/vector3WithInfo.js.map +1 -1
  260. package/index.js.map +1 -1
  261. package/legacy/legacy.d.ts +1 -1
  262. package/legacy/legacy.js +3 -3
  263. package/legacy/legacy.js.map +1 -1
  264. package/package.json +21 -328
  265. package/readme.md +2 -2
@@ -9,7 +9,7 @@ import { Slider } from "./sliders/slider.js";
9
9
  import { Container } from "./container.js";
10
10
  /** Class used to create a RadioGroup
11
11
  * which contains groups of radio buttons
12
- */
12
+ */
13
13
  var SelectorGroup = /** @class */ (function () {
14
14
  /**
15
15
  * Creates a new SelectorGroup
@@ -55,7 +55,10 @@ var SelectorGroup = /** @class */ (function () {
55
55
  enumerable: false,
56
56
  configurable: true
57
57
  });
58
- /** @hidden */
58
+ /**
59
+ * @param text
60
+ * @hidden
61
+ */
59
62
  SelectorGroup.prototype._addGroupHeader = function (text) {
60
63
  var groupHeading = new TextBlock("groupHead", text);
61
64
  groupHeading.width = 0.9;
@@ -68,7 +71,10 @@ var SelectorGroup = /** @class */ (function () {
68
71
  this._groupPanel.addControl(groupHeading);
69
72
  return groupHeading;
70
73
  };
71
- /** @hidden*/
74
+ /**
75
+ * @param selectorNb
76
+ * @hidden
77
+ */
72
78
  SelectorGroup.prototype._getSelector = function (selectorNb) {
73
79
  if (selectorNb < 0 || selectorNb >= this._selectors.length) {
74
80
  return;
@@ -76,8 +82,8 @@ var SelectorGroup = /** @class */ (function () {
76
82
  return this._selectors[selectorNb];
77
83
  };
78
84
  /** Removes the selector at the given position
79
- * @param selectorNb the position of the selector within the group
80
- */
85
+ * @param selectorNb the position of the selector within the group
86
+ */
81
87
  SelectorGroup.prototype.removeSelector = function (selectorNb) {
82
88
  if (selectorNb < 0 || selectorNb >= this._selectors.length) {
83
89
  return;
@@ -90,7 +96,7 @@ var SelectorGroup = /** @class */ (function () {
90
96
  export { SelectorGroup };
91
97
  /** Class used to create a CheckboxGroup
92
98
  * which contains groups of checkbox buttons
93
- */
99
+ */
94
100
  var CheckboxGroup = /** @class */ (function (_super) {
95
101
  __extends(CheckboxGroup, _super);
96
102
  function CheckboxGroup() {
@@ -101,10 +107,11 @@ var CheckboxGroup = /** @class */ (function (_super) {
101
107
  * @param func is the function called when the Selector is checked
102
108
  * @param checked is true when Selector is checked
103
109
  */
110
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
104
111
  CheckboxGroup.prototype.addCheckbox = function (text, func, checked) {
105
112
  if (func === void 0) { func = function (s) { }; }
106
113
  if (checked === void 0) { checked = false; }
107
- var checked = checked || false;
114
+ checked = checked || false;
108
115
  var button = new Checkbox();
109
116
  button.width = "20px";
110
117
  button.height = "20px";
@@ -126,19 +133,35 @@ var CheckboxGroup = /** @class */ (function (_super) {
126
133
  button.background = this.groupPanel.parent.parent.buttonBackground;
127
134
  }
128
135
  };
129
- /** @hidden */
136
+ /**
137
+ * @param selectorNb
138
+ * @param label
139
+ * @hidden
140
+ */
130
141
  CheckboxGroup.prototype._setSelectorLabel = function (selectorNb, label) {
131
142
  this.selectors[selectorNb].children[1].text = label;
132
143
  };
133
- /** @hidden */
144
+ /**
145
+ * @param selectorNb
146
+ * @param color
147
+ * @hidden
148
+ */
134
149
  CheckboxGroup.prototype._setSelectorLabelColor = function (selectorNb, color) {
135
150
  this.selectors[selectorNb].children[1].color = color;
136
151
  };
137
- /** @hidden */
152
+ /**
153
+ * @param selectorNb
154
+ * @param color
155
+ * @hidden
156
+ */
138
157
  CheckboxGroup.prototype._setSelectorButtonColor = function (selectorNb, color) {
139
158
  this.selectors[selectorNb].children[0].color = color;
140
159
  };
141
- /** @hidden */
160
+ /**
161
+ * @param selectorNb
162
+ * @param color
163
+ * @hidden
164
+ */
142
165
  CheckboxGroup.prototype._setSelectorButtonBackground = function (selectorNb, color) {
143
166
  this.selectors[selectorNb].children[0].background = color;
144
167
  };
@@ -147,7 +170,7 @@ var CheckboxGroup = /** @class */ (function (_super) {
147
170
  export { CheckboxGroup };
148
171
  /** Class used to create a RadioGroup
149
172
  * which contains groups of radio buttons
150
- */
173
+ */
151
174
  var RadioGroup = /** @class */ (function (_super) {
152
175
  __extends(RadioGroup, _super);
153
176
  function RadioGroup() {
@@ -160,6 +183,7 @@ var RadioGroup = /** @class */ (function (_super) {
160
183
  * @param func is the function called when the Selector is checked
161
184
  * @param checked is true when Selector is checked
162
185
  */
186
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
163
187
  RadioGroup.prototype.addRadio = function (label, func, checked) {
164
188
  if (func === void 0) { func = function (n) { }; }
165
189
  if (checked === void 0) { checked = false; }
@@ -189,19 +213,35 @@ var RadioGroup = /** @class */ (function (_super) {
189
213
  button.background = this.groupPanel.parent.parent.buttonBackground;
190
214
  }
191
215
  };
192
- /** @hidden */
216
+ /**
217
+ * @param selectorNb
218
+ * @param label
219
+ * @hidden
220
+ */
193
221
  RadioGroup.prototype._setSelectorLabel = function (selectorNb, label) {
194
222
  this.selectors[selectorNb].children[1].text = label;
195
223
  };
196
- /** @hidden */
224
+ /**
225
+ * @param selectorNb
226
+ * @param color
227
+ * @hidden
228
+ */
197
229
  RadioGroup.prototype._setSelectorLabelColor = function (selectorNb, color) {
198
230
  this.selectors[selectorNb].children[1].color = color;
199
231
  };
200
- /** @hidden */
232
+ /**
233
+ * @param selectorNb
234
+ * @param color
235
+ * @hidden
236
+ */
201
237
  RadioGroup.prototype._setSelectorButtonColor = function (selectorNb, color) {
202
238
  this.selectors[selectorNb].children[0].color = color;
203
239
  };
204
- /** @hidden */
240
+ /**
241
+ * @param selectorNb
242
+ * @param color
243
+ * @hidden
244
+ */
205
245
  RadioGroup.prototype._setSelectorButtonBackground = function (selectorNb, color) {
206
246
  this.selectors[selectorNb].children[0].background = color;
207
247
  };
@@ -210,7 +250,7 @@ var RadioGroup = /** @class */ (function (_super) {
210
250
  export { RadioGroup };
211
251
  /** Class used to create a SliderGroup
212
252
  * which contains groups of slider buttons
213
- */
253
+ */
214
254
  var SliderGroup = /** @class */ (function (_super) {
215
255
  __extends(SliderGroup, _super);
216
256
  function SliderGroup() {
@@ -226,13 +266,17 @@ var SliderGroup = /** @class */ (function (_super) {
226
266
  * @param value is the start value for the Slider between min and max
227
267
  * @param onValueChange is the function used to format the value displayed, eg radians to degrees
228
268
  */
229
- SliderGroup.prototype.addSlider = function (label, func, unit, min, max, value, onValueChange) {
269
+ SliderGroup.prototype.addSlider = function (label,
270
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
271
+ func, unit, min, max, value, onValueChange) {
230
272
  if (func === void 0) { func = function (v) { }; }
231
273
  if (unit === void 0) { unit = "Units"; }
232
274
  if (min === void 0) { min = 0; }
233
275
  if (max === void 0) { max = 0; }
234
276
  if (value === void 0) { value = 0; }
235
- if (onValueChange === void 0) { onValueChange = function (v) { return v | 0; }; }
277
+ if (onValueChange === void 0) { onValueChange = function (v) {
278
+ return v | 0;
279
+ }; }
236
280
  var button = new Slider();
237
281
  button.name = unit;
238
282
  button.value = value;
@@ -262,20 +306,37 @@ var SliderGroup = /** @class */ (function (_super) {
262
306
  button.background = this.groupPanel.parent.parent.buttonBackground;
263
307
  }
264
308
  };
265
- /** @hidden */
309
+ /**
310
+ * @param selectorNb
311
+ * @param label
312
+ * @hidden
313
+ */
266
314
  SliderGroup.prototype._setSelectorLabel = function (selectorNb, label) {
267
315
  this.selectors[selectorNb].children[0].name = label;
268
- this.selectors[selectorNb].children[0].text = label + ": " + this.selectors[selectorNb].children[1].value + " " + this.selectors[selectorNb].children[1].name;
316
+ this.selectors[selectorNb].children[0].text =
317
+ label + ": " + this.selectors[selectorNb].children[1].value + " " + this.selectors[selectorNb].children[1].name;
269
318
  };
270
- /** @hidden */
319
+ /**
320
+ * @param selectorNb
321
+ * @param color
322
+ * @hidden
323
+ */
271
324
  SliderGroup.prototype._setSelectorLabelColor = function (selectorNb, color) {
272
325
  this.selectors[selectorNb].children[0].color = color;
273
326
  };
274
- /** @hidden */
327
+ /**
328
+ * @param selectorNb
329
+ * @param color
330
+ * @hidden
331
+ */
275
332
  SliderGroup.prototype._setSelectorButtonColor = function (selectorNb, color) {
276
333
  this.selectors[selectorNb].children[1].color = color;
277
334
  };
278
- /** @hidden */
335
+ /**
336
+ * @param selectorNb
337
+ * @param color
338
+ * @hidden
339
+ */
279
340
  SliderGroup.prototype._setSelectorButtonBackground = function (selectorNb, color) {
280
341
  this.selectors[selectorNb].children[1].background = color;
281
342
  };
@@ -284,14 +345,14 @@ var SliderGroup = /** @class */ (function (_super) {
284
345
  export { SliderGroup };
285
346
  /** Class used to hold the controls for the checkboxes, radio buttons and sliders
286
347
  * @see https://doc.babylonjs.com/how_to/selector
287
- */
348
+ */
288
349
  var SelectionPanel = /** @class */ (function (_super) {
289
350
  __extends(SelectionPanel, _super);
290
351
  /**
291
- * Creates a new SelectionPanel
292
- * @param name of SelectionPanel
293
- * @param groups is an array of SelectionGroups
294
- */
352
+ * Creates a new SelectionPanel
353
+ * @param name of SelectionPanel
354
+ * @param groups is an array of SelectionGroups
355
+ */
295
356
  function SelectionPanel(
296
357
  /** name of SelectionPanel */
297
358
  name,
@@ -617,7 +678,9 @@ var SelectionPanel = /** @class */ (function (_super) {
617
678
  if (min === void 0) { min = 0; }
618
679
  if (max === void 0) { max = 0; }
619
680
  if (value === void 0) { value = 0; }
620
- if (onVal === void 0) { onVal = function (v) { return v | 0; }; }
681
+ if (onVal === void 0) { onVal = function (v) {
682
+ return v | 0;
683
+ }; }
621
684
  if (groupNb < 0 || groupNb >= this._groups.length) {
622
685
  return;
623
686
  }
@@ -1 +1 @@
1
- {"version":3,"file":"selector.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/2D/controls/selector.ts"],"names":[],"mappings":"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","sourcesContent":["import { Rectangle } from \"./rectangle\";\r\nimport { StackPanel } from \"./stackPanel\";\r\nimport { Control } from \"./control\";\r\nimport { TextBlock } from \"./textBlock\";\r\nimport { Checkbox } from \"./checkbox\";\r\nimport { RadioButton } from \"./radioButton\";\r\nimport { Slider } from \"./sliders/slider\";\r\nimport { Container } from \"./container\";\r\n\r\n/** Class used to create a RadioGroup\r\n * which contains groups of radio buttons\r\n*/\r\nexport class SelectorGroup {\r\n private _groupPanel = new StackPanel();\r\n private _selectors: StackPanel[] = new Array();\r\n private _groupHeader: TextBlock;\r\n\r\n /**\r\n * Creates a new SelectorGroup\r\n * @param name of group, used as a group heading\r\n */\r\n constructor(\r\n /** name of SelectorGroup */\r\n public name: string) {\r\n\r\n this._groupPanel.verticalAlignment = Control.VERTICAL_ALIGNMENT_TOP;\r\n this._groupPanel.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n this._groupHeader = this._addGroupHeader(name);\r\n }\r\n\r\n /** Gets the groupPanel of the SelectorGroup */\r\n public get groupPanel(): StackPanel {\r\n return this._groupPanel;\r\n }\r\n\r\n /** Gets the selectors array */\r\n public get selectors(): StackPanel[] {\r\n return this._selectors;\r\n }\r\n\r\n /** Gets and sets the group header */\r\n public get header() {\r\n return this._groupHeader.text;\r\n }\r\n\r\n public set header(label: string) {\r\n if (this._groupHeader.text === \"label\") {\r\n return;\r\n }\r\n\r\n this._groupHeader.text = label;\r\n }\r\n\r\n /** @hidden */\r\n private _addGroupHeader(text: string): TextBlock {\r\n var groupHeading = new TextBlock(\"groupHead\", text);\r\n groupHeading.width = 0.9;\r\n groupHeading.height = \"30px\";\r\n groupHeading.textWrapping = true;\r\n groupHeading.color = \"black\";\r\n groupHeading.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n groupHeading.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n groupHeading.left = \"2px\";\r\n this._groupPanel.addControl(groupHeading);\r\n return groupHeading;\r\n }\r\n\r\n /** @hidden*/\r\n public _getSelector(selectorNb: number) {\r\n if (selectorNb < 0 || selectorNb >= this._selectors.length) {\r\n return;\r\n }\r\n return this._selectors[selectorNb];\r\n }\r\n\r\n /** Removes the selector at the given position\r\n * @param selectorNb the position of the selector within the group\r\n */\r\n public removeSelector(selectorNb: number) {\r\n if (selectorNb < 0 || selectorNb >= this._selectors.length) {\r\n return;\r\n }\r\n this._groupPanel.removeControl(this._selectors[selectorNb]);\r\n this._selectors.splice(selectorNb, 1);\r\n }\r\n\r\n}\r\n\r\n/** Class used to create a CheckboxGroup\r\n * which contains groups of checkbox buttons\r\n*/\r\nexport class CheckboxGroup extends SelectorGroup {\r\n /** Adds a checkbox as a control\r\n * @param text is the label for the selector\r\n * @param func is the function called when the Selector is checked\r\n * @param checked is true when Selector is checked\r\n */\r\n public addCheckbox(text: string, func = (s: boolean) => { }, checked: boolean = false): void {\r\n var checked = checked || false;\r\n var button = new Checkbox();\r\n button.width = \"20px\";\r\n button.height = \"20px\";\r\n button.color = \"#364249\";\r\n button.background = \"#CCCCCC\";\r\n button.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n\r\n button.onIsCheckedChangedObservable.add(function (state) {\r\n func(state);\r\n });\r\n\r\n var _selector = Control.AddHeader(button, text, \"200px\", { isHorizontal: true, controlFirst: true });\r\n _selector.height = \"30px\";\r\n _selector.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n _selector.left = \"4px\";\r\n\r\n this.groupPanel.addControl(_selector);\r\n this.selectors.push(_selector);\r\n button.isChecked = checked;\r\n\r\n if (this.groupPanel.parent && this.groupPanel.parent.parent) {\r\n button.color = (<SelectionPanel>this.groupPanel.parent.parent).buttonColor;\r\n button.background = (<SelectionPanel>this.groupPanel.parent.parent).buttonBackground;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _setSelectorLabel(selectorNb: number, label: string) {\r\n (<TextBlock>this.selectors[selectorNb].children[1]).text = label;\r\n }\r\n\r\n /** @hidden */\r\n public _setSelectorLabelColor(selectorNb: number, color: string) {\r\n (<TextBlock>this.selectors[selectorNb].children[1]).color = color;\r\n }\r\n\r\n /** @hidden */\r\n public _setSelectorButtonColor(selectorNb: number, color: string) {\r\n this.selectors[selectorNb].children[0].color = color;\r\n }\r\n\r\n /** @hidden */\r\n public _setSelectorButtonBackground(selectorNb: number, color: string) {\r\n (<Checkbox>this.selectors[selectorNb].children[0]).background = color;\r\n }\r\n}\r\n\r\n/** Class used to create a RadioGroup\r\n * which contains groups of radio buttons\r\n*/\r\nexport class RadioGroup extends SelectorGroup {\r\n private _selectNb = 0;\r\n\r\n /** Adds a radio button as a control\r\n * @param label is the label for the selector\r\n * @param func is the function called when the Selector is checked\r\n * @param checked is true when Selector is checked\r\n */\r\n public addRadio(label: string, func = (n: number) => { }, checked = false): void {\r\n var nb = this._selectNb++;\r\n var button = new RadioButton();\r\n button.name = label;\r\n button.width = \"20px\";\r\n button.height = \"20px\";\r\n button.color = \"#364249\";\r\n button.background = \"#CCCCCC\";\r\n button.group = this.name;\r\n button.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n\r\n button.onIsCheckedChangedObservable.add(function (state) {\r\n if (state) {\r\n func(nb);\r\n }\r\n });\r\n\r\n var _selector = Control.AddHeader(button, label, \"200px\", { isHorizontal: true, controlFirst: true });\r\n _selector.height = \"30px\";\r\n _selector.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n _selector.left = \"4px\";\r\n this.groupPanel.addControl(_selector);\r\n this.selectors.push(_selector);\r\n button.isChecked = checked;\r\n\r\n if (this.groupPanel.parent && this.groupPanel.parent.parent) {\r\n button.color = (<SelectionPanel>this.groupPanel.parent.parent).buttonColor;\r\n button.background = (<SelectionPanel>this.groupPanel.parent.parent).buttonBackground;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _setSelectorLabel(selectorNb: number, label: string) {\r\n (<TextBlock>this.selectors[selectorNb].children[1]).text = label;\r\n }\r\n\r\n /** @hidden */\r\n public _setSelectorLabelColor(selectorNb: number, color: string) {\r\n (<TextBlock>this.selectors[selectorNb].children[1]).color = color;\r\n }\r\n\r\n /** @hidden */\r\n public _setSelectorButtonColor(selectorNb: number, color: string) {\r\n this.selectors[selectorNb].children[0].color = color;\r\n }\r\n\r\n /** @hidden */\r\n public _setSelectorButtonBackground(selectorNb: number, color: string) {\r\n (<RadioButton>this.selectors[selectorNb].children[0]).background = color;\r\n }\r\n}\r\n\r\n/** Class used to create a SliderGroup\r\n * which contains groups of slider buttons\r\n*/\r\nexport class SliderGroup extends SelectorGroup {\r\n /**\r\n * Adds a slider to the SelectorGroup\r\n * @param label is the label for the SliderBar\r\n * @param func is the function called when the Slider moves\r\n * @param unit is a string describing the units used, eg degrees or metres\r\n * @param min is the minimum value for the Slider\r\n * @param max is the maximum value for the Slider\r\n * @param value is the start value for the Slider between min and max\r\n * @param onValueChange is the function used to format the value displayed, eg radians to degrees\r\n */\r\n public addSlider(label: string, func = (v: number) => { }, unit: string = \"Units\", min: number = 0, max: number = 0, value: number = 0, onValueChange = (v: number) => { return v | 0; }): void {\r\n var button = new Slider();\r\n button.name = unit;\r\n button.value = value;\r\n button.minimum = min;\r\n button.maximum = max;\r\n button.width = 0.9;\r\n button.height = \"20px\";\r\n button.color = \"#364249\";\r\n button.background = \"#CCCCCC\";\r\n button.borderColor = \"black\";\r\n button.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n button.left = \"4px\";\r\n button.paddingBottom = \"4px\";\r\n\r\n button.onValueChangedObservable.add(function (value) {\r\n (<TextBlock>button.parent!.children[0]).text = button.parent!.children[0].name + \": \" + onValueChange(value) + \" \" + button.name;\r\n func(value);\r\n });\r\n\r\n var _selector = Control.AddHeader(button, label + \": \" + onValueChange(value) + \" \" + unit, \"30px\", { isHorizontal: false, controlFirst: false });\r\n _selector.height = \"60px\";\r\n _selector.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n _selector.left = \"4px\";\r\n _selector.children[0].name = label;\r\n this.groupPanel.addControl(_selector);\r\n this.selectors.push(_selector);\r\n\r\n if (this.groupPanel.parent && this.groupPanel.parent.parent) {\r\n button.color = (<SelectionPanel>this.groupPanel.parent.parent).buttonColor;\r\n button.background = (<SelectionPanel>this.groupPanel.parent.parent).buttonBackground;\r\n }\r\n }\r\n\r\n /** @hidden */\r\n public _setSelectorLabel(selectorNb: number, label: string) {\r\n this.selectors[selectorNb].children[0].name = label;\r\n (<TextBlock>this.selectors[selectorNb].children[0]).text = label + \": \" + (<Slider>this.selectors[selectorNb].children[1]).value + \" \" + this.selectors[selectorNb].children[1].name;\r\n }\r\n\r\n /** @hidden */\r\n public _setSelectorLabelColor(selectorNb: number, color: string) {\r\n (<TextBlock>this.selectors[selectorNb].children[0]).color = color;\r\n }\r\n\r\n /** @hidden */\r\n public _setSelectorButtonColor(selectorNb: number, color: string) {\r\n this.selectors[selectorNb].children[1].color = color;\r\n }\r\n\r\n /** @hidden */\r\n public _setSelectorButtonBackground(selectorNb: number, color: string) {\r\n (<Slider>this.selectors[selectorNb].children[1]).background = color;\r\n }\r\n}\r\n\r\n/** Class used to hold the controls for the checkboxes, radio buttons and sliders\r\n * @see https://doc.babylonjs.com/how_to/selector\r\n*/\r\nexport class SelectionPanel extends Rectangle {\r\n private _panel: StackPanel;\r\n private _buttonColor: string = \"#364249\";\r\n private _buttonBackground: string = \"#CCCCCC\";\r\n private _headerColor: string = \"black\";\r\n private _barColor: string = \"white\";\r\n private _barHeight: string = \"2px\";\r\n private _spacerHeight: string = \"20px\";\r\n private _labelColor: string;\r\n private _groups: SelectorGroup[];\r\n private _bars: any[] = new Array();\r\n\r\n /**\r\n * Creates a new SelectionPanel\r\n * @param name of SelectionPanel\r\n * @param groups is an array of SelectionGroups\r\n */\r\n constructor(\r\n /** name of SelectionPanel */\r\n public name: string,\r\n /** an array of SelectionGroups */\r\n public groups: SelectorGroup[] = []) {\r\n super(name);\r\n this._groups = groups;\r\n this.thickness = 2;\r\n this._panel = new StackPanel();\r\n this._panel.verticalAlignment = Control.VERTICAL_ALIGNMENT_TOP;\r\n this._panel.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n this._panel.top = 5;\r\n this._panel.left = 5;\r\n this._panel.width = 0.95;\r\n if (groups.length > 0) {\r\n for (var i = 0; i < groups.length - 1; i++) {\r\n this._panel.addControl(groups[i].groupPanel);\r\n this._addSpacer();\r\n }\r\n this._panel.addControl(groups[groups.length - 1].groupPanel);\r\n }\r\n this.addControl(this._panel);\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"SelectionPanel\";\r\n }\r\n\r\n /** Gets the (stack) panel of the SelectionPanel */\r\n public get panel(): StackPanel {\r\n return this._panel;\r\n }\r\n\r\n /** Gets or sets the headerColor */\r\n public get headerColor(): string {\r\n return this._headerColor;\r\n }\r\n\r\n public set headerColor(color: string) {\r\n if (this._headerColor === color) {\r\n return;\r\n }\r\n this._headerColor = color;\r\n this._setHeaderColor();\r\n\r\n }\r\n\r\n private _setHeaderColor() {\r\n for (var i = 0; i < this._groups.length; i++) {\r\n this._groups[i].groupPanel.children[0].color = this._headerColor;\r\n }\r\n }\r\n\r\n /** Gets or sets the button color */\r\n public get buttonColor(): string {\r\n return this._buttonColor;\r\n }\r\n\r\n public set buttonColor(color: string) {\r\n if (this._buttonColor === color) {\r\n return;\r\n }\r\n\r\n this._buttonColor = color;\r\n this._setbuttonColor();\r\n\r\n }\r\n\r\n private _setbuttonColor() {\r\n for (var i = 0; i < this._groups.length; i++) {\r\n for (var j = 0; j < this._groups[i].selectors.length; j++) {\r\n (<CheckboxGroup | RadioGroup | SliderGroup>this._groups[i])._setSelectorButtonColor(j, this._buttonColor);\r\n }\r\n }\r\n }\r\n\r\n /** Gets or sets the label color */\r\n public get labelColor(): string {\r\n return this._labelColor;\r\n }\r\n\r\n public set labelColor(color: string) {\r\n if (this._labelColor === color) {\r\n return;\r\n }\r\n this._labelColor = color;\r\n this._setLabelColor();\r\n }\r\n\r\n private _setLabelColor() {\r\n for (var i = 0; i < this._groups.length; i++) {\r\n for (var j = 0; j < this._groups[i].selectors.length; j++) {\r\n (<CheckboxGroup | RadioGroup | SliderGroup>this._groups[i])._setSelectorLabelColor(j, this._labelColor);\r\n }\r\n }\r\n }\r\n\r\n /** Gets or sets the button background */\r\n public get buttonBackground(): string {\r\n return this._buttonBackground;\r\n }\r\n\r\n public set buttonBackground(color: string) {\r\n if (this._buttonBackground === color) {\r\n return;\r\n }\r\n\r\n this._buttonBackground = color;\r\n this._setButtonBackground();\r\n\r\n }\r\n\r\n private _setButtonBackground() {\r\n for (var i = 0; i < this._groups.length; i++) {\r\n for (var j = 0; j < this._groups[i].selectors.length; j++) {\r\n (<CheckboxGroup | RadioGroup | SliderGroup>this._groups[i])._setSelectorButtonBackground(j, this._buttonBackground);\r\n }\r\n }\r\n }\r\n\r\n /** Gets or sets the color of separator bar */\r\n public get barColor(): string {\r\n return this._barColor;\r\n }\r\n\r\n public set barColor(color: string) {\r\n if (this._barColor === color) {\r\n return;\r\n }\r\n\r\n this._barColor = color;\r\n this._setBarColor();\r\n }\r\n\r\n private _setBarColor() {\r\n for (var i = 0; i < this._bars.length; i++) {\r\n this._bars[i].children[0].background = this._barColor;\r\n }\r\n }\r\n\r\n /** Gets or sets the height of separator bar */\r\n public get barHeight(): string {\r\n return this._barHeight;\r\n }\r\n\r\n public set barHeight(value: string) {\r\n if (this._barHeight === value) {\r\n return;\r\n }\r\n\r\n this._barHeight = value;\r\n this._setBarHeight();\r\n }\r\n\r\n private _setBarHeight() {\r\n for (var i = 0; i < this._bars.length; i++) {\r\n this._bars[i].children[0].height = this._barHeight;\r\n }\r\n }\r\n\r\n /** Gets or sets the height of spacers*/\r\n public get spacerHeight(): string {\r\n return this._spacerHeight;\r\n }\r\n\r\n public set spacerHeight(value: string) {\r\n if (this._spacerHeight === value) {\r\n return;\r\n }\r\n\r\n this._spacerHeight = value;\r\n this._setSpacerHeight();\r\n }\r\n\r\n private _setSpacerHeight() {\r\n for (var i = 0; i < this._bars.length; i++) {\r\n this._bars[i].height = this._spacerHeight;\r\n }\r\n }\r\n\r\n /** Adds a bar between groups */\r\n private _addSpacer(): void {\r\n var separator = new Container();\r\n separator.width = 1;\r\n separator.height = this._spacerHeight;\r\n separator.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n\r\n var bar = new Rectangle();\r\n bar.width = 1;\r\n bar.height = this._barHeight;\r\n bar.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n bar.verticalAlignment = Control.VERTICAL_ALIGNMENT_CENTER;\r\n bar.background = this._barColor;\r\n bar.color = \"transparent\";\r\n separator.addControl(bar);\r\n\r\n this._panel.addControl(separator);\r\n this._bars.push(separator);\r\n }\r\n\r\n /** Add a group to the selection panel\r\n * @param group is the selector group to add\r\n */\r\n public addGroup(group: SelectorGroup): void {\r\n if (this._groups.length > 0) {\r\n this._addSpacer();\r\n }\r\n this._panel.addControl(group.groupPanel);\r\n this._groups.push(group);\r\n group.groupPanel.children[0].color = this._headerColor;\r\n for (var j = 0; j < group.selectors.length; j++) {\r\n (<CheckboxGroup | RadioGroup | SliderGroup>group)._setSelectorButtonColor(j, this._buttonColor);\r\n (<CheckboxGroup | RadioGroup | SliderGroup>group)._setSelectorButtonBackground(j, this._buttonBackground);\r\n }\r\n }\r\n\r\n /** Remove the group from the given position\r\n * @param groupNb is the position of the group in the list\r\n */\r\n public removeGroup(groupNb: number): void {\r\n if (groupNb < 0 || groupNb >= this._groups.length) {\r\n return;\r\n }\r\n var group = this._groups[groupNb];\r\n this._panel.removeControl(group.groupPanel);\r\n this._groups.splice(groupNb, 1);\r\n if (groupNb < this._bars.length) {\r\n this._panel.removeControl(this._bars[groupNb]);\r\n this._bars.splice(groupNb, 1);\r\n }\r\n }\r\n\r\n /** Change a group header label\r\n * @param label is the new group header label\r\n * @param groupNb is the number of the group to relabel\r\n * */\r\n public setHeaderName(label: string, groupNb: number) {\r\n if (groupNb < 0 || groupNb >= this._groups.length) {\r\n return;\r\n }\r\n var group = this._groups[groupNb];\r\n (<TextBlock>group.groupPanel.children[0]).text = label;\r\n }\r\n\r\n /** Change selector label to the one given\r\n * @param label is the new selector label\r\n * @param groupNb is the number of the groupcontaining the selector\r\n * @param selectorNb is the number of the selector within a group to relabel\r\n * */\r\n public relabel(label: string, groupNb: number, selectorNb: number): void {\r\n if (groupNb < 0 || groupNb >= this._groups.length) {\r\n return;\r\n }\r\n var group = this._groups[groupNb];\r\n if (selectorNb < 0 || selectorNb >= group.selectors.length) {\r\n return;\r\n }\r\n (<CheckboxGroup | RadioGroup | SliderGroup>group)._setSelectorLabel(selectorNb, label);\r\n }\r\n\r\n /** For a given group position remove the selector at the given position\r\n * @param groupNb is the number of the group to remove the selector from\r\n * @param selectorNb is the number of the selector within the group\r\n */\r\n public removeFromGroupSelector(groupNb: number, selectorNb: number): void {\r\n if (groupNb < 0 || groupNb >= this._groups.length) {\r\n return;\r\n }\r\n var group = this._groups[groupNb];\r\n if (selectorNb < 0 || selectorNb >= group.selectors.length) {\r\n return;\r\n }\r\n group.removeSelector(selectorNb);\r\n }\r\n\r\n /** For a given group position of correct type add a checkbox button\r\n * @param groupNb is the number of the group to remove the selector from\r\n * @param label is the label for the selector\r\n * @param func is the function called when the Selector is checked\r\n * @param checked is true when Selector is checked\r\n */\r\n public addToGroupCheckbox(groupNb: number, label: string, func = () => { }, checked: boolean = false): void {\r\n if (groupNb < 0 || groupNb >= this._groups.length) {\r\n return;\r\n }\r\n var group = this._groups[groupNb];\r\n (<CheckboxGroup>group).addCheckbox(label, func, checked);\r\n }\r\n\r\n /** For a given group position of correct type add a radio button\r\n * @param groupNb is the number of the group to remove the selector from\r\n * @param label is the label for the selector\r\n * @param func is the function called when the Selector is checked\r\n * @param checked is true when Selector is checked\r\n */\r\n public addToGroupRadio(groupNb: number, label: string, func = () => { }, checked: boolean = false): void {\r\n if (groupNb < 0 || groupNb >= this._groups.length) {\r\n return;\r\n }\r\n var group = this._groups[groupNb];\r\n (<RadioGroup>group).addRadio(label, func, checked);\r\n }\r\n\r\n /**\r\n * For a given slider group add a slider\r\n * @param groupNb is the number of the group to add the slider to\r\n * @param label is the label for the Slider\r\n * @param func is the function called when the Slider moves\r\n * @param unit is a string describing the units used, eg degrees or metres\r\n * @param min is the minimum value for the Slider\r\n * @param max is the maximum value for the Slider\r\n * @param value is the start value for the Slider between min and max\r\n * @param onVal is the function used to format the value displayed, eg radians to degrees\r\n */\r\n public addToGroupSlider(groupNb: number, label: string, func = () => { }, unit: string = \"Units\", min: number = 0, max: number = 0, value: number = 0, onVal = (v: number) => { return v | 0; }): void {\r\n if (groupNb < 0 || groupNb >= this._groups.length) {\r\n return;\r\n }\r\n var group = this._groups[groupNb];\r\n (<SliderGroup>group).addSlider(label, func, unit, min, max, value, onVal);\r\n }\r\n\r\n}"]}
1
+ {"version":3,"file":"selector.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/2D/controls/selector.ts"],"names":[],"mappings":"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","sourcesContent":["import { Rectangle } from \"./rectangle\";\r\nimport { StackPanel } from \"./stackPanel\";\r\nimport { Control } from \"./control\";\r\nimport { TextBlock } from \"./textBlock\";\r\nimport { Checkbox } from \"./checkbox\";\r\nimport { RadioButton } from \"./radioButton\";\r\nimport { Slider } from \"./sliders/slider\";\r\nimport { Container } from \"./container\";\r\n\r\n/** Class used to create a RadioGroup\r\n * which contains groups of radio buttons\r\n */\r\nexport class SelectorGroup {\r\n private _groupPanel = new StackPanel();\r\n private _selectors: StackPanel[] = new Array();\r\n private _groupHeader: TextBlock;\r\n\r\n /**\r\n * Creates a new SelectorGroup\r\n * @param name of group, used as a group heading\r\n */\r\n constructor(\r\n /** name of SelectorGroup */\r\n public name: string\r\n ) {\r\n this._groupPanel.verticalAlignment = Control.VERTICAL_ALIGNMENT_TOP;\r\n this._groupPanel.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n this._groupHeader = this._addGroupHeader(name);\r\n }\r\n\r\n /** Gets the groupPanel of the SelectorGroup */\r\n public get groupPanel(): StackPanel {\r\n return this._groupPanel;\r\n }\r\n\r\n /** Gets the selectors array */\r\n public get selectors(): StackPanel[] {\r\n return this._selectors;\r\n }\r\n\r\n /** Gets and sets the group header */\r\n public get header() {\r\n return this._groupHeader.text;\r\n }\r\n\r\n public set header(label: string) {\r\n if (this._groupHeader.text === \"label\") {\r\n return;\r\n }\r\n\r\n this._groupHeader.text = label;\r\n }\r\n\r\n /**\r\n * @param text\r\n * @hidden\r\n */\r\n private _addGroupHeader(text: string): TextBlock {\r\n const groupHeading = new TextBlock(\"groupHead\", text);\r\n groupHeading.width = 0.9;\r\n groupHeading.height = \"30px\";\r\n groupHeading.textWrapping = true;\r\n groupHeading.color = \"black\";\r\n groupHeading.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n groupHeading.textHorizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n groupHeading.left = \"2px\";\r\n this._groupPanel.addControl(groupHeading);\r\n return groupHeading;\r\n }\r\n\r\n /**\r\n * @param selectorNb\r\n * @hidden\r\n */\r\n public _getSelector(selectorNb: number) {\r\n if (selectorNb < 0 || selectorNb >= this._selectors.length) {\r\n return;\r\n }\r\n return this._selectors[selectorNb];\r\n }\r\n\r\n /** Removes the selector at the given position\r\n * @param selectorNb the position of the selector within the group\r\n */\r\n public removeSelector(selectorNb: number) {\r\n if (selectorNb < 0 || selectorNb >= this._selectors.length) {\r\n return;\r\n }\r\n this._groupPanel.removeControl(this._selectors[selectorNb]);\r\n this._selectors.splice(selectorNb, 1);\r\n }\r\n}\r\n\r\n/** Class used to create a CheckboxGroup\r\n * which contains groups of checkbox buttons\r\n */\r\nexport class CheckboxGroup extends SelectorGroup {\r\n /** Adds a checkbox as a control\r\n * @param text is the label for the selector\r\n * @param func is the function called when the Selector is checked\r\n * @param checked is true when Selector is checked\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n public addCheckbox(text: string, func = (s: boolean) => {}, checked: boolean = false): void {\r\n checked = checked || false;\r\n const button = new Checkbox();\r\n button.width = \"20px\";\r\n button.height = \"20px\";\r\n button.color = \"#364249\";\r\n button.background = \"#CCCCCC\";\r\n button.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n\r\n button.onIsCheckedChangedObservable.add(function (state) {\r\n func(state);\r\n });\r\n\r\n const _selector = Control.AddHeader(button, text, \"200px\", { isHorizontal: true, controlFirst: true });\r\n _selector.height = \"30px\";\r\n _selector.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n _selector.left = \"4px\";\r\n\r\n this.groupPanel.addControl(_selector);\r\n this.selectors.push(_selector);\r\n button.isChecked = checked;\r\n\r\n if (this.groupPanel.parent && this.groupPanel.parent.parent) {\r\n button.color = (<SelectionPanel>this.groupPanel.parent.parent).buttonColor;\r\n button.background = (<SelectionPanel>this.groupPanel.parent.parent).buttonBackground;\r\n }\r\n }\r\n\r\n /**\r\n * @param selectorNb\r\n * @param label\r\n * @hidden\r\n */\r\n public _setSelectorLabel(selectorNb: number, label: string) {\r\n (<TextBlock>this.selectors[selectorNb].children[1]).text = label;\r\n }\r\n\r\n /**\r\n * @param selectorNb\r\n * @param color\r\n * @hidden\r\n */\r\n public _setSelectorLabelColor(selectorNb: number, color: string) {\r\n (<TextBlock>this.selectors[selectorNb].children[1]).color = color;\r\n }\r\n\r\n /**\r\n * @param selectorNb\r\n * @param color\r\n * @hidden\r\n */\r\n public _setSelectorButtonColor(selectorNb: number, color: string) {\r\n this.selectors[selectorNb].children[0].color = color;\r\n }\r\n\r\n /**\r\n * @param selectorNb\r\n * @param color\r\n * @hidden\r\n */\r\n public _setSelectorButtonBackground(selectorNb: number, color: string) {\r\n (<Checkbox>this.selectors[selectorNb].children[0]).background = color;\r\n }\r\n}\r\n\r\n/** Class used to create a RadioGroup\r\n * which contains groups of radio buttons\r\n */\r\nexport class RadioGroup extends SelectorGroup {\r\n private _selectNb = 0;\r\n\r\n /** Adds a radio button as a control\r\n * @param label is the label for the selector\r\n * @param func is the function called when the Selector is checked\r\n * @param checked is true when Selector is checked\r\n */\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n public addRadio(label: string, func = (n: number) => {}, checked = false): void {\r\n const nb = this._selectNb++;\r\n const button = new RadioButton();\r\n button.name = label;\r\n button.width = \"20px\";\r\n button.height = \"20px\";\r\n button.color = \"#364249\";\r\n button.background = \"#CCCCCC\";\r\n button.group = this.name;\r\n button.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n\r\n button.onIsCheckedChangedObservable.add(function (state) {\r\n if (state) {\r\n func(nb);\r\n }\r\n });\r\n\r\n const _selector = Control.AddHeader(button, label, \"200px\", { isHorizontal: true, controlFirst: true });\r\n _selector.height = \"30px\";\r\n _selector.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n _selector.left = \"4px\";\r\n this.groupPanel.addControl(_selector);\r\n this.selectors.push(_selector);\r\n button.isChecked = checked;\r\n\r\n if (this.groupPanel.parent && this.groupPanel.parent.parent) {\r\n button.color = (<SelectionPanel>this.groupPanel.parent.parent).buttonColor;\r\n button.background = (<SelectionPanel>this.groupPanel.parent.parent).buttonBackground;\r\n }\r\n }\r\n\r\n /**\r\n * @param selectorNb\r\n * @param label\r\n * @hidden\r\n */\r\n public _setSelectorLabel(selectorNb: number, label: string) {\r\n (<TextBlock>this.selectors[selectorNb].children[1]).text = label;\r\n }\r\n\r\n /**\r\n * @param selectorNb\r\n * @param color\r\n * @hidden\r\n */\r\n public _setSelectorLabelColor(selectorNb: number, color: string) {\r\n (<TextBlock>this.selectors[selectorNb].children[1]).color = color;\r\n }\r\n\r\n /**\r\n * @param selectorNb\r\n * @param color\r\n * @hidden\r\n */\r\n public _setSelectorButtonColor(selectorNb: number, color: string) {\r\n this.selectors[selectorNb].children[0].color = color;\r\n }\r\n\r\n /**\r\n * @param selectorNb\r\n * @param color\r\n * @hidden\r\n */\r\n public _setSelectorButtonBackground(selectorNb: number, color: string) {\r\n (<RadioButton>this.selectors[selectorNb].children[0]).background = color;\r\n }\r\n}\r\n\r\n/** Class used to create a SliderGroup\r\n * which contains groups of slider buttons\r\n */\r\nexport class SliderGroup extends SelectorGroup {\r\n /**\r\n * Adds a slider to the SelectorGroup\r\n * @param label is the label for the SliderBar\r\n * @param func is the function called when the Slider moves\r\n * @param unit is a string describing the units used, eg degrees or metres\r\n * @param min is the minimum value for the Slider\r\n * @param max is the maximum value for the Slider\r\n * @param value is the start value for the Slider between min and max\r\n * @param onValueChange is the function used to format the value displayed, eg radians to degrees\r\n */\r\n public addSlider(\r\n label: string,\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n func = (v: number) => {},\r\n unit: string = \"Units\",\r\n min: number = 0,\r\n max: number = 0,\r\n value: number = 0,\r\n onValueChange = (v: number) => {\r\n return v | 0;\r\n }\r\n ): void {\r\n const button = new Slider();\r\n button.name = unit;\r\n button.value = value;\r\n button.minimum = min;\r\n button.maximum = max;\r\n button.width = 0.9;\r\n button.height = \"20px\";\r\n button.color = \"#364249\";\r\n button.background = \"#CCCCCC\";\r\n button.borderColor = \"black\";\r\n button.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n button.left = \"4px\";\r\n button.paddingBottom = \"4px\";\r\n\r\n button.onValueChangedObservable.add(function (value) {\r\n (<TextBlock>button.parent!.children[0]).text = button.parent!.children[0].name + \": \" + onValueChange(value) + \" \" + button.name;\r\n func(value);\r\n });\r\n\r\n const _selector = Control.AddHeader(button, label + \": \" + onValueChange(value) + \" \" + unit, \"30px\", { isHorizontal: false, controlFirst: false });\r\n _selector.height = \"60px\";\r\n _selector.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n _selector.left = \"4px\";\r\n _selector.children[0].name = label;\r\n this.groupPanel.addControl(_selector);\r\n this.selectors.push(_selector);\r\n\r\n if (this.groupPanel.parent && this.groupPanel.parent.parent) {\r\n button.color = (<SelectionPanel>this.groupPanel.parent.parent).buttonColor;\r\n button.background = (<SelectionPanel>this.groupPanel.parent.parent).buttonBackground;\r\n }\r\n }\r\n\r\n /**\r\n * @param selectorNb\r\n * @param label\r\n * @hidden\r\n */\r\n public _setSelectorLabel(selectorNb: number, label: string) {\r\n this.selectors[selectorNb].children[0].name = label;\r\n (<TextBlock>this.selectors[selectorNb].children[0]).text =\r\n label + \": \" + (<Slider>this.selectors[selectorNb].children[1]).value + \" \" + this.selectors[selectorNb].children[1].name;\r\n }\r\n\r\n /**\r\n * @param selectorNb\r\n * @param color\r\n * @hidden\r\n */\r\n public _setSelectorLabelColor(selectorNb: number, color: string) {\r\n (<TextBlock>this.selectors[selectorNb].children[0]).color = color;\r\n }\r\n\r\n /**\r\n * @param selectorNb\r\n * @param color\r\n * @hidden\r\n */\r\n public _setSelectorButtonColor(selectorNb: number, color: string) {\r\n this.selectors[selectorNb].children[1].color = color;\r\n }\r\n\r\n /**\r\n * @param selectorNb\r\n * @param color\r\n * @hidden\r\n */\r\n public _setSelectorButtonBackground(selectorNb: number, color: string) {\r\n (<Slider>this.selectors[selectorNb].children[1]).background = color;\r\n }\r\n}\r\n\r\n/** Class used to hold the controls for the checkboxes, radio buttons and sliders\r\n * @see https://doc.babylonjs.com/how_to/selector\r\n */\r\nexport class SelectionPanel extends Rectangle {\r\n private _panel: StackPanel;\r\n private _buttonColor: string = \"#364249\";\r\n private _buttonBackground: string = \"#CCCCCC\";\r\n private _headerColor: string = \"black\";\r\n private _barColor: string = \"white\";\r\n private _barHeight: string = \"2px\";\r\n private _spacerHeight: string = \"20px\";\r\n private _labelColor: string;\r\n private _groups: SelectorGroup[];\r\n private _bars: any[] = new Array();\r\n\r\n /**\r\n * Creates a new SelectionPanel\r\n * @param name of SelectionPanel\r\n * @param groups is an array of SelectionGroups\r\n */\r\n constructor(\r\n /** name of SelectionPanel */\r\n public name: string,\r\n /** an array of SelectionGroups */\r\n public groups: SelectorGroup[] = []\r\n ) {\r\n super(name);\r\n this._groups = groups;\r\n this.thickness = 2;\r\n this._panel = new StackPanel();\r\n this._panel.verticalAlignment = Control.VERTICAL_ALIGNMENT_TOP;\r\n this._panel.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n this._panel.top = 5;\r\n this._panel.left = 5;\r\n this._panel.width = 0.95;\r\n if (groups.length > 0) {\r\n for (let i = 0; i < groups.length - 1; i++) {\r\n this._panel.addControl(groups[i].groupPanel);\r\n this._addSpacer();\r\n }\r\n this._panel.addControl(groups[groups.length - 1].groupPanel);\r\n }\r\n this.addControl(this._panel);\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"SelectionPanel\";\r\n }\r\n\r\n /** Gets the (stack) panel of the SelectionPanel */\r\n public get panel(): StackPanel {\r\n return this._panel;\r\n }\r\n\r\n /** Gets or sets the headerColor */\r\n public get headerColor(): string {\r\n return this._headerColor;\r\n }\r\n\r\n public set headerColor(color: string) {\r\n if (this._headerColor === color) {\r\n return;\r\n }\r\n this._headerColor = color;\r\n this._setHeaderColor();\r\n }\r\n\r\n private _setHeaderColor() {\r\n for (let i = 0; i < this._groups.length; i++) {\r\n this._groups[i].groupPanel.children[0].color = this._headerColor;\r\n }\r\n }\r\n\r\n /** Gets or sets the button color */\r\n public get buttonColor(): string {\r\n return this._buttonColor;\r\n }\r\n\r\n public set buttonColor(color: string) {\r\n if (this._buttonColor === color) {\r\n return;\r\n }\r\n\r\n this._buttonColor = color;\r\n this._setbuttonColor();\r\n }\r\n\r\n private _setbuttonColor() {\r\n for (let i = 0; i < this._groups.length; i++) {\r\n for (let j = 0; j < this._groups[i].selectors.length; j++) {\r\n (<CheckboxGroup | RadioGroup | SliderGroup>this._groups[i])._setSelectorButtonColor(j, this._buttonColor);\r\n }\r\n }\r\n }\r\n\r\n /** Gets or sets the label color */\r\n public get labelColor(): string {\r\n return this._labelColor;\r\n }\r\n\r\n public set labelColor(color: string) {\r\n if (this._labelColor === color) {\r\n return;\r\n }\r\n this._labelColor = color;\r\n this._setLabelColor();\r\n }\r\n\r\n private _setLabelColor() {\r\n for (let i = 0; i < this._groups.length; i++) {\r\n for (let j = 0; j < this._groups[i].selectors.length; j++) {\r\n (<CheckboxGroup | RadioGroup | SliderGroup>this._groups[i])._setSelectorLabelColor(j, this._labelColor);\r\n }\r\n }\r\n }\r\n\r\n /** Gets or sets the button background */\r\n public get buttonBackground(): string {\r\n return this._buttonBackground;\r\n }\r\n\r\n public set buttonBackground(color: string) {\r\n if (this._buttonBackground === color) {\r\n return;\r\n }\r\n\r\n this._buttonBackground = color;\r\n this._setButtonBackground();\r\n }\r\n\r\n private _setButtonBackground() {\r\n for (let i = 0; i < this._groups.length; i++) {\r\n for (let j = 0; j < this._groups[i].selectors.length; j++) {\r\n (<CheckboxGroup | RadioGroup | SliderGroup>this._groups[i])._setSelectorButtonBackground(j, this._buttonBackground);\r\n }\r\n }\r\n }\r\n\r\n /** Gets or sets the color of separator bar */\r\n public get barColor(): string {\r\n return this._barColor;\r\n }\r\n\r\n public set barColor(color: string) {\r\n if (this._barColor === color) {\r\n return;\r\n }\r\n\r\n this._barColor = color;\r\n this._setBarColor();\r\n }\r\n\r\n private _setBarColor() {\r\n for (let i = 0; i < this._bars.length; i++) {\r\n this._bars[i].children[0].background = this._barColor;\r\n }\r\n }\r\n\r\n /** Gets or sets the height of separator bar */\r\n public get barHeight(): string {\r\n return this._barHeight;\r\n }\r\n\r\n public set barHeight(value: string) {\r\n if (this._barHeight === value) {\r\n return;\r\n }\r\n\r\n this._barHeight = value;\r\n this._setBarHeight();\r\n }\r\n\r\n private _setBarHeight() {\r\n for (let i = 0; i < this._bars.length; i++) {\r\n this._bars[i].children[0].height = this._barHeight;\r\n }\r\n }\r\n\r\n /** Gets or sets the height of spacers*/\r\n public get spacerHeight(): string {\r\n return this._spacerHeight;\r\n }\r\n\r\n public set spacerHeight(value: string) {\r\n if (this._spacerHeight === value) {\r\n return;\r\n }\r\n\r\n this._spacerHeight = value;\r\n this._setSpacerHeight();\r\n }\r\n\r\n private _setSpacerHeight() {\r\n for (let i = 0; i < this._bars.length; i++) {\r\n this._bars[i].height = this._spacerHeight;\r\n }\r\n }\r\n\r\n /** Adds a bar between groups */\r\n private _addSpacer(): void {\r\n const separator = new Container();\r\n separator.width = 1;\r\n separator.height = this._spacerHeight;\r\n separator.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n\r\n const bar = new Rectangle();\r\n bar.width = 1;\r\n bar.height = this._barHeight;\r\n bar.horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_LEFT;\r\n bar.verticalAlignment = Control.VERTICAL_ALIGNMENT_CENTER;\r\n bar.background = this._barColor;\r\n bar.color = \"transparent\";\r\n separator.addControl(bar);\r\n\r\n this._panel.addControl(separator);\r\n this._bars.push(separator);\r\n }\r\n\r\n /** Add a group to the selection panel\r\n * @param group is the selector group to add\r\n */\r\n public addGroup(group: SelectorGroup): void {\r\n if (this._groups.length > 0) {\r\n this._addSpacer();\r\n }\r\n this._panel.addControl(group.groupPanel);\r\n this._groups.push(group);\r\n group.groupPanel.children[0].color = this._headerColor;\r\n for (let j = 0; j < group.selectors.length; j++) {\r\n (<CheckboxGroup | RadioGroup | SliderGroup>group)._setSelectorButtonColor(j, this._buttonColor);\r\n (<CheckboxGroup | RadioGroup | SliderGroup>group)._setSelectorButtonBackground(j, this._buttonBackground);\r\n }\r\n }\r\n\r\n /** Remove the group from the given position\r\n * @param groupNb is the position of the group in the list\r\n */\r\n public removeGroup(groupNb: number): void {\r\n if (groupNb < 0 || groupNb >= this._groups.length) {\r\n return;\r\n }\r\n const group = this._groups[groupNb];\r\n this._panel.removeControl(group.groupPanel);\r\n this._groups.splice(groupNb, 1);\r\n if (groupNb < this._bars.length) {\r\n this._panel.removeControl(this._bars[groupNb]);\r\n this._bars.splice(groupNb, 1);\r\n }\r\n }\r\n\r\n /** Change a group header label\r\n * @param label is the new group header label\r\n * @param groupNb is the number of the group to relabel\r\n * */\r\n public setHeaderName(label: string, groupNb: number) {\r\n if (groupNb < 0 || groupNb >= this._groups.length) {\r\n return;\r\n }\r\n const group = this._groups[groupNb];\r\n (<TextBlock>group.groupPanel.children[0]).text = label;\r\n }\r\n\r\n /** Change selector label to the one given\r\n * @param label is the new selector label\r\n * @param groupNb is the number of the groupcontaining the selector\r\n * @param selectorNb is the number of the selector within a group to relabel\r\n * */\r\n public relabel(label: string, groupNb: number, selectorNb: number): void {\r\n if (groupNb < 0 || groupNb >= this._groups.length) {\r\n return;\r\n }\r\n const group = this._groups[groupNb];\r\n if (selectorNb < 0 || selectorNb >= group.selectors.length) {\r\n return;\r\n }\r\n (<CheckboxGroup | RadioGroup | SliderGroup>group)._setSelectorLabel(selectorNb, label);\r\n }\r\n\r\n /** For a given group position remove the selector at the given position\r\n * @param groupNb is the number of the group to remove the selector from\r\n * @param selectorNb is the number of the selector within the group\r\n */\r\n public removeFromGroupSelector(groupNb: number, selectorNb: number): void {\r\n if (groupNb < 0 || groupNb >= this._groups.length) {\r\n return;\r\n }\r\n const group = this._groups[groupNb];\r\n if (selectorNb < 0 || selectorNb >= group.selectors.length) {\r\n return;\r\n }\r\n group.removeSelector(selectorNb);\r\n }\r\n\r\n /** For a given group position of correct type add a checkbox button\r\n * @param groupNb is the number of the group to remove the selector from\r\n * @param label is the label for the selector\r\n * @param func is the function called when the Selector is checked\r\n * @param checked is true when Selector is checked\r\n */\r\n public addToGroupCheckbox(groupNb: number, label: string, func = () => {}, checked: boolean = false): void {\r\n if (groupNb < 0 || groupNb >= this._groups.length) {\r\n return;\r\n }\r\n const group = this._groups[groupNb];\r\n (<CheckboxGroup>group).addCheckbox(label, func, checked);\r\n }\r\n\r\n /** For a given group position of correct type add a radio button\r\n * @param groupNb is the number of the group to remove the selector from\r\n * @param label is the label for the selector\r\n * @param func is the function called when the Selector is checked\r\n * @param checked is true when Selector is checked\r\n */\r\n public addToGroupRadio(groupNb: number, label: string, func = () => {}, checked: boolean = false): void {\r\n if (groupNb < 0 || groupNb >= this._groups.length) {\r\n return;\r\n }\r\n const group = this._groups[groupNb];\r\n (<RadioGroup>group).addRadio(label, func, checked);\r\n }\r\n\r\n /**\r\n * For a given slider group add a slider\r\n * @param groupNb is the number of the group to add the slider to\r\n * @param label is the label for the Slider\r\n * @param func is the function called when the Slider moves\r\n * @param unit is a string describing the units used, eg degrees or metres\r\n * @param min is the minimum value for the Slider\r\n * @param max is the maximum value for the Slider\r\n * @param value is the start value for the Slider between min and max\r\n * @param onVal is the function used to format the value displayed, eg radians to degrees\r\n */\r\n public addToGroupSlider(\r\n groupNb: number,\r\n label: string,\r\n func = () => {},\r\n unit: string = \"Units\",\r\n min: number = 0,\r\n max: number = 0,\r\n value: number = 0,\r\n onVal = (v: number) => {\r\n return v | 0;\r\n }\r\n ): void {\r\n if (groupNb < 0 || groupNb >= this._groups.length) {\r\n return;\r\n }\r\n const group = this._groups[groupNb];\r\n (<SliderGroup>group).addSlider(label, func, unit, min, max, value, onVal);\r\n }\r\n}\r\n"]}
@@ -1,8 +1,8 @@
1
- import { Observable } from "@babylonjs/core/Misc/observable";
2
- import { Vector2 } from "@babylonjs/core/Maths/math.vector";
1
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
2
+ import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
3
3
  import { Control } from "../control";
4
4
  import { ValueAndUnit } from "../../valueAndUnit";
5
- import { PointerInfoBase } from '@babylonjs/core/Events/pointerEvents';
5
+ import { PointerInfoBase } from "@babylonjs/core/Events/pointerEvents.js";
6
6
  /**
7
7
  * Class used to create slider controls
8
8
  */
@@ -26,7 +26,7 @@ export declare class BaseSlider extends Control {
26
26
  protected _backgroundBoxLength: number;
27
27
  protected _backgroundBoxThickness: number;
28
28
  protected _effectiveThumbThickness: number;
29
- /** Observable raised when the sldier value changes */
29
+ /** Observable raised when the slider value changes */
30
30
  onValueChangedObservable: Observable<number>;
31
31
  /** Gets or sets a boolean indicating if the thumb must be rendered */
32
32
  get displayThumb(): boolean;
@@ -69,7 +69,11 @@ export declare class BaseSlider extends Control {
69
69
  protected _getThumbThickness(type: string): number;
70
70
  protected _prepareRenderingData(type: string): void;
71
71
  private _pointerIsDown;
72
- /** @hidden */
72
+ /**
73
+ * @param x
74
+ * @param y
75
+ * @hidden
76
+ */
73
77
  protected _updateValueFromPointer(x: number, y: number): void;
74
78
  _onPointerDown(target: Control, coordinates: Vector2, pointerId: number, buttonIndex: number, pi: PointerInfoBase): boolean;
75
79
  _onPointerMove(target: Control, coordinates: Vector2, pointerId: number, pi: PointerInfoBase): void;
@@ -27,7 +27,7 @@ var BaseSlider = /** @class */ (function (_super) {
27
27
  _this._lastPointerDownId = -1;
28
28
  // Shared rendering info
29
29
  _this._effectiveBarOffset = 0;
30
- /** Observable raised when the sldier value changes */
30
+ /** Observable raised when the slider value changes */
31
31
  _this.onValueChangedObservable = new Observable();
32
32
  // Events
33
33
  _this._pointerIsDown = false;
@@ -235,7 +235,7 @@ var BaseSlider = /** @class */ (function (_super) {
235
235
  this._backgroundBoxLength -= this._effectiveThumbThickness;
236
236
  }
237
237
  //throw error when height is less than width for vertical slider
238
- if ((this.isVertical && this._currentMeasure.height < this._currentMeasure.width)) {
238
+ if (this.isVertical && this._currentMeasure.height < this._currentMeasure.width) {
239
239
  console.error("Height should be greater than width");
240
240
  return;
241
241
  }
@@ -245,11 +245,11 @@ var BaseSlider = /** @class */ (function (_super) {
245
245
  else {
246
246
  this._effectiveBarOffset = this._backgroundBoxThickness * this._barOffset.getValue(this._host);
247
247
  }
248
- this._backgroundBoxThickness -= (this._effectiveBarOffset * 2);
248
+ this._backgroundBoxThickness -= this._effectiveBarOffset * 2;
249
249
  if (this.isVertical) {
250
250
  this._renderLeft += this._effectiveBarOffset;
251
251
  if (!this.isThumbClamped && this.displayThumb) {
252
- this._renderTop += (this._effectiveThumbThickness / 2);
252
+ this._renderTop += this._effectiveThumbThickness / 2;
253
253
  }
254
254
  this._renderHeight = this._backgroundBoxLength;
255
255
  this._renderWidth = this._backgroundBoxThickness;
@@ -257,13 +257,17 @@ var BaseSlider = /** @class */ (function (_super) {
257
257
  else {
258
258
  this._renderTop += this._effectiveBarOffset;
259
259
  if (!this.isThumbClamped && this.displayThumb) {
260
- this._renderLeft += (this._effectiveThumbThickness / 2);
260
+ this._renderLeft += this._effectiveThumbThickness / 2;
261
261
  }
262
262
  this._renderHeight = this._backgroundBoxThickness;
263
263
  this._renderWidth = this._backgroundBoxLength;
264
264
  }
265
265
  };
266
- /** @hidden */
266
+ /**
267
+ * @param x
268
+ * @param y
269
+ * @hidden
270
+ */
267
271
  BaseSlider.prototype._updateValueFromPointer = function (x, y) {
268
272
  if (this.rotation != 0) {
269
273
  this._invertTransformMatrix.transformCoordinates(x, y, this._transformedPosition);
@@ -272,7 +276,7 @@ var BaseSlider = /** @class */ (function (_super) {
272
276
  }
273
277
  var value;
274
278
  if (this._isVertical) {
275
- value = this._minimum + (1 - ((y - this._currentMeasure.top) / this._currentMeasure.height)) * (this._maximum - this._minimum);
279
+ value = this._minimum + (1 - (y - this._currentMeasure.top) / this._currentMeasure.height) * (this._maximum - this._minimum);
276
280
  }
277
281
  else {
278
282
  value = this._minimum + ((x - this._currentMeasure.left) / this._currentMeasure.width) * (this._maximum - this._minimum);