@qooxdoo/framework 7.0.0-beta.6 → 7.0.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 (1555) hide show
  1. package/CHANGELOG.md +0 -6
  2. package/Manifest.json +2 -2
  3. package/README.md +3 -1
  4. package/lib/compiler/compile-info.json +57 -55
  5. package/lib/compiler/index.js +6272 -4273
  6. package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/theme/custom/css/custom.css.map +1 -1
  7. package/lib/resource/qx/tool/loadsass.js +16 -15
  8. package/lib/resource/qx/tool/schema/compile-1-0-0.json +13 -13
  9. package/lib/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
  10. package/lib/resource/qx/tool/website/build/assets/buttons.js +391 -1
  11. package/lib/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
  12. package/lib/resource/qx/tool/website/build/assets/jquery.js +5452 -3
  13. package/lib/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
  14. package/lib/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
  15. package/lib/resource/qx/tool/website/build/scripts/serve.js +87 -66
  16. package/lib/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
  17. package/lib/resource/qx/tool/website/src/assets/buttons.js +391 -1
  18. package/lib/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
  19. package/lib/resource/qx/tool/website/src/assets/jquery.js +5452 -3
  20. package/lib/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
  21. package/lib/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
  22. package/lib/resource/qx/tool/website/src/scripts/serve.js +87 -66
  23. package/npm-shrinkwrap.json +7293 -0
  24. package/package.json +6 -4
  25. package/source/class/q.js +4 -2
  26. package/source/class/qx/Annotation.js +48 -57
  27. package/source/class/qx/Bootstrap.js +206 -207
  28. package/source/class/qx/Class.js +602 -504
  29. package/source/class/qx/Interface.js +169 -137
  30. package/source/class/qx/Mixin.js +162 -120
  31. package/source/class/qx/Part.js +48 -77
  32. package/source/class/qx/Promise.js +5891 -4655
  33. package/source/class/qx/Theme.js +200 -134
  34. package/source/class/qx/__init__.js +8 -8
  35. package/source/class/qx/application/AbstractGui.js +20 -32
  36. package/source/class/qx/application/Basic.js +9 -18
  37. package/source/class/qx/application/IApplication.js +6 -10
  38. package/source/class/qx/application/Inline.js +4 -7
  39. package/source/class/qx/application/Mobile.js +22 -45
  40. package/source/class/qx/application/Native.js +8 -19
  41. package/source/class/qx/application/Routing.js +88 -114
  42. package/source/class/qx/application/Standalone.js +4 -9
  43. package/source/class/qx/application/__init__.js +1 -1
  44. package/source/class/qx/bom/AnimationFrame.js +26 -25
  45. package/source/class/qx/bom/Blocker.js +92 -100
  46. package/source/class/qx/bom/Cookie.js +18 -22
  47. package/source/class/qx/bom/Document.js +24 -31
  48. package/source/class/qx/bom/Element.js +65 -51
  49. package/source/class/qx/bom/Event.js +68 -78
  50. package/source/class/qx/bom/FileReader.js +110 -115
  51. package/source/class/qx/bom/Font.js +82 -122
  52. package/source/class/qx/bom/FullScreen.js +32 -41
  53. package/source/class/qx/bom/GeoLocation.js +39 -44
  54. package/source/class/qx/bom/HashHistory.js +58 -64
  55. package/source/class/qx/bom/History.js +61 -89
  56. package/source/class/qx/bom/Html.js +75 -71
  57. package/source/class/qx/bom/IdleCallback.js +20 -23
  58. package/source/class/qx/bom/Iframe.js +37 -69
  59. package/source/class/qx/bom/IframeHistory.js +83 -88
  60. package/source/class/qx/bom/Input.js +50 -66
  61. package/source/class/qx/bom/Label.js +65 -86
  62. package/source/class/qx/bom/Lifecycle.js +7 -9
  63. package/source/class/qx/bom/MediaQuery.js +324 -307
  64. package/source/class/qx/bom/NativeHistory.js +51 -46
  65. package/source/class/qx/bom/Notification.js +41 -47
  66. package/source/class/qx/bom/PageVisibility.js +19 -25
  67. package/source/class/qx/bom/Range.js +20 -30
  68. package/source/class/qx/bom/Selection.js +163 -172
  69. package/source/class/qx/bom/Selector.js +2401 -2181
  70. package/source/class/qx/bom/Shortcut.js +103 -129
  71. package/source/class/qx/bom/Storage.js +9 -8
  72. package/source/class/qx/bom/String.js +285 -290
  73. package/source/class/qx/bom/Style.js +30 -31
  74. package/source/class/qx/bom/Stylesheet.js +36 -60
  75. package/source/class/qx/bom/Template.js +730 -657
  76. package/source/class/qx/bom/Viewport.js +40 -46
  77. package/source/class/qx/bom/Vml.js +43 -28
  78. package/source/class/qx/bom/WebWorker.js +61 -50
  79. package/source/class/qx/bom/Window.js +88 -105
  80. package/source/class/qx/bom/__init__.js +11 -11
  81. package/source/class/qx/bom/client/Browser.js +45 -47
  82. package/source/class/qx/bom/client/Css.js +85 -85
  83. package/source/class/qx/bom/client/CssAnimation.js +41 -49
  84. package/source/class/qx/bom/client/CssTransform.js +21 -29
  85. package/source/class/qx/bom/client/CssTransition.js +9 -12
  86. package/source/class/qx/bom/client/Device.js +45 -45
  87. package/source/class/qx/bom/client/EcmaScript.js +153 -96
  88. package/source/class/qx/bom/client/Engine.js +38 -35
  89. package/source/class/qx/bom/client/Event.js +75 -63
  90. package/source/class/qx/bom/client/Html.js +97 -97
  91. package/source/class/qx/bom/client/Idle.js +4 -6
  92. package/source/class/qx/bom/client/Locale.js +15 -15
  93. package/source/class/qx/bom/client/OperatingSystem.js +89 -106
  94. package/source/class/qx/bom/client/Pdfjs.js +1364 -1067
  95. package/source/class/qx/bom/client/PhoneGap.js +6 -9
  96. package/source/class/qx/bom/client/Plugin.js +93 -97
  97. package/source/class/qx/bom/client/Runtime.js +14 -12
  98. package/source/class/qx/bom/client/Scroll.js +20 -16
  99. package/source/class/qx/bom/client/Stylesheet.js +44 -32
  100. package/source/class/qx/bom/client/Transport.js +38 -41
  101. package/source/class/qx/bom/client/Xml.js +39 -41
  102. package/source/class/qx/bom/client/__init__.js +4 -4
  103. package/source/class/qx/bom/element/Animation.js +15 -12
  104. package/source/class/qx/bom/element/AnimationCss.js +95 -64
  105. package/source/class/qx/bom/element/AnimationHandle.js +22 -29
  106. package/source/class/qx/bom/element/AnimationJs.js +94 -71
  107. package/source/class/qx/bom/element/Attribute.js +119 -134
  108. package/source/class/qx/bom/element/Background.js +35 -35
  109. package/source/class/qx/bom/element/BoxSizing.js +43 -44
  110. package/source/class/qx/bom/element/Class.js +50 -72
  111. package/source/class/qx/bom/element/Clip.js +36 -60
  112. package/source/class/qx/bom/element/Cursor.js +13 -20
  113. package/source/class/qx/bom/element/Dataset.js +33 -31
  114. package/source/class/qx/bom/element/Decoration.js +178 -168
  115. package/source/class/qx/bom/element/Dimension.js +78 -60
  116. package/source/class/qx/bom/element/Location.js +87 -94
  117. package/source/class/qx/bom/element/Opacity.js +42 -44
  118. package/source/class/qx/bom/element/Scroll.js +78 -88
  119. package/source/class/qx/bom/element/Style.js +61 -101
  120. package/source/class/qx/bom/element/Transform.js +38 -56
  121. package/source/class/qx/bom/element/__init__.js +4 -4
  122. package/source/class/qx/bom/media/Abstract.js +136 -143
  123. package/source/class/qx/bom/media/Audio.js +7 -12
  124. package/source/class/qx/bom/media/Video.js +15 -27
  125. package/source/class/qx/bom/request/IRequest.js +18 -21
  126. package/source/class/qx/bom/request/Jsonp.js +34 -39
  127. package/source/class/qx/bom/request/Script.js +94 -90
  128. package/source/class/qx/bom/request/SimpleXhr.js +111 -79
  129. package/source/class/qx/bom/request/Xhr.js +196 -143
  130. package/source/class/qx/bom/request/__init__.js +1 -1
  131. package/source/class/qx/bom/rest/Resource.js +269 -203
  132. package/source/class/qx/bom/storage/Memory.js +18 -29
  133. package/source/class/qx/bom/storage/UserData.js +28 -35
  134. package/source/class/qx/bom/storage/Web.js +19 -30
  135. package/source/class/qx/bom/webfonts/Manager.js +199 -130
  136. package/source/class/qx/bom/webfonts/Validator.js +84 -118
  137. package/source/class/qx/bom/webfonts/WebFont.js +24 -28
  138. package/source/class/qx/bom/webfonts/__init__.js +1 -1
  139. package/source/class/qx/core/Aspect.js +15 -22
  140. package/source/class/qx/core/Assert.js +391 -333
  141. package/source/class/qx/core/AssertionError.js +6 -15
  142. package/source/class/qx/core/BaseInit.js +25 -28
  143. package/source/class/qx/core/Environment.js +72 -86
  144. package/source/class/qx/core/GlobalError.js +12 -20
  145. package/source/class/qx/core/IDisposable.js +6 -9
  146. package/source/class/qx/core/Id.js +25 -15
  147. package/source/class/qx/core/Init.js +20 -20
  148. package/source/class/qx/core/MAssert.js +54 -97
  149. package/source/class/qx/core/MBindTo.js +10 -14
  150. package/source/class/qx/core/MEvent.js +76 -65
  151. package/source/class/qx/core/MLogging.js +9 -18
  152. package/source/class/qx/core/MObjectId.js +104 -65
  153. package/source/class/qx/core/MProperty.js +18 -34
  154. package/source/class/qx/core/Object.js +93 -122
  155. package/source/class/qx/core/ObjectRegistry.js +58 -81
  156. package/source/class/qx/core/Property.js +974 -780
  157. package/source/class/qx/core/ValidationError.js +3 -4
  158. package/source/class/qx/core/WindowError.js +13 -24
  159. package/source/class/qx/core/Wrapper.js +8 -9
  160. package/source/class/qx/data/Array.js +178 -191
  161. package/source/class/qx/data/Conversion.js +11 -18
  162. package/source/class/qx/data/IListData.js +11 -20
  163. package/source/class/qx/data/MBinding.js +31 -26
  164. package/source/class/qx/data/SingleValueBinding.js +491 -225
  165. package/source/class/qx/data/__init__.js +1 -1
  166. package/source/class/qx/data/controller/CheckedList.js +82 -54
  167. package/source/class/qx/data/controller/Form.js +81 -69
  168. package/source/class/qx/data/controller/IControllerDelegate.js +7 -12
  169. package/source/class/qx/data/controller/ISelection.js +6 -10
  170. package/source/class/qx/data/controller/List.js +151 -167
  171. package/source/class/qx/data/controller/MSelection.js +53 -72
  172. package/source/class/qx/data/controller/Object.js +106 -77
  173. package/source/class/qx/data/controller/Tree.js +164 -142
  174. package/source/class/qx/data/controller/__init__.js +1 -1
  175. package/source/class/qx/data/controller/website/List.js +34 -43
  176. package/source/class/qx/data/controller/website/__init__.js +2 -2
  177. package/source/class/qx/data/marshal/IMarshaler.js +4 -7
  178. package/source/class/qx/data/marshal/IMarshalerDelegate.js +10 -18
  179. package/source/class/qx/data/marshal/Json.js +112 -85
  180. package/source/class/qx/data/marshal/MEventBubbling.js +44 -42
  181. package/source/class/qx/data/marshal/__init__.js +1 -1
  182. package/source/class/qx/data/store/IStoreDelegate.js +6 -9
  183. package/source/class/qx/data/store/Json.js +71 -85
  184. package/source/class/qx/data/store/Jsonp.js +19 -25
  185. package/source/class/qx/data/store/Offline.js +21 -29
  186. package/source/class/qx/data/store/Rest.js +25 -23
  187. package/source/class/qx/data/store/__init__.js +1 -1
  188. package/source/class/qx/dev/Debug.js +105 -124
  189. package/source/class/qx/dev/FakeServer.js +68 -65
  190. package/source/class/qx/dev/ObjectSummary.js +33 -39
  191. package/source/class/qx/dev/Profile.js +62 -63
  192. package/source/class/qx/dev/StackTrace.js +64 -70
  193. package/source/class/qx/dev/Tokenizer.js +114 -126
  194. package/source/class/qx/dev/unit/AbstractTestSuite.js +17 -31
  195. package/source/class/qx/dev/unit/AsyncWrapper.js +22 -26
  196. package/source/class/qx/dev/unit/JsUnitTestResult.js +9 -21
  197. package/source/class/qx/dev/unit/MMeasure.js +46 -37
  198. package/source/class/qx/dev/unit/MMock.js +236 -240
  199. package/source/class/qx/dev/unit/MRequirements.js +53 -79
  200. package/source/class/qx/dev/unit/MRequirementsBasic.js +24 -19
  201. package/source/class/qx/dev/unit/MTestLoader.js +52 -57
  202. package/source/class/qx/dev/unit/MeasurementResult.js +18 -22
  203. package/source/class/qx/dev/unit/RequirementError.js +8 -17
  204. package/source/class/qx/dev/unit/Sinon.js +18826 -4613
  205. package/source/class/qx/dev/unit/TestCase.js +40 -51
  206. package/source/class/qx/dev/unit/TestClass.js +22 -23
  207. package/source/class/qx/dev/unit/TestFunction.js +28 -48
  208. package/source/class/qx/dev/unit/TestLoader.js +11 -14
  209. package/source/class/qx/dev/unit/TestLoaderBasic.js +3 -6
  210. package/source/class/qx/dev/unit/TestLoaderInline.js +8 -14
  211. package/source/class/qx/dev/unit/TestLoaderMobile.js +8 -14
  212. package/source/class/qx/dev/unit/TestLoaderNative.js +7 -13
  213. package/source/class/qx/dev/unit/TestResult.js +140 -118
  214. package/source/class/qx/dev/unit/TestSuite.js +46 -55
  215. package/source/class/qx/dom/Element.js +29 -74
  216. package/source/class/qx/dom/Hierarchy.js +60 -95
  217. package/source/class/qx/dom/Node.js +54 -81
  218. package/source/class/qx/dom/__init__.js +9 -9
  219. package/source/class/qx/event/AcceleratingTimer.js +28 -46
  220. package/source/class/qx/event/Emitter.js +54 -49
  221. package/source/class/qx/event/GlobalError.js +22 -38
  222. package/source/class/qx/event/IEventDispatcher.js +4 -9
  223. package/source/class/qx/event/IEventHandler.js +7 -13
  224. package/source/class/qx/event/Idle.js +32 -47
  225. package/source/class/qx/event/Manager.js +222 -237
  226. package/source/class/qx/event/Messaging.js +55 -48
  227. package/source/class/qx/event/Pool.js +5 -8
  228. package/source/class/qx/event/Registration.js +128 -118
  229. package/source/class/qx/event/Timer.js +50 -96
  230. package/source/class/qx/event/Utils.js +41 -28
  231. package/source/class/qx/event/dispatch/AbstractBubbling.js +133 -93
  232. package/source/class/qx/event/dispatch/Direct.js +46 -51
  233. package/source/class/qx/event/dispatch/DomBubbling.js +8 -15
  234. package/source/class/qx/event/dispatch/MouseCapture.js +74 -91
  235. package/source/class/qx/event/handler/Appear.js +40 -77
  236. package/source/class/qx/event/handler/Application.js +100 -126
  237. package/source/class/qx/event/handler/Capture.js +15 -37
  238. package/source/class/qx/event/handler/DragDrop.js +342 -228
  239. package/source/class/qx/event/handler/Element.js +45 -72
  240. package/source/class/qx/event/handler/ElementResize.js +35 -70
  241. package/source/class/qx/event/handler/Focus.js +908 -637
  242. package/source/class/qx/event/handler/Gesture.js +144 -93
  243. package/source/class/qx/event/handler/GestureCore.js +214 -163
  244. package/source/class/qx/event/handler/Iframe.js +21 -35
  245. package/source/class/qx/event/handler/Input.js +332 -209
  246. package/source/class/qx/event/handler/Keyboard.js +325 -270
  247. package/source/class/qx/event/handler/Mouse.js +212 -173
  248. package/source/class/qx/event/handler/Object.js +13 -31
  249. package/source/class/qx/event/handler/Offline.js +52 -67
  250. package/source/class/qx/event/handler/Orientation.js +56 -62
  251. package/source/class/qx/event/handler/OrientationCore.js +33 -43
  252. package/source/class/qx/event/handler/Pointer.js +84 -72
  253. package/source/class/qx/event/handler/PointerCore.js +183 -105
  254. package/source/class/qx/event/handler/Touch.js +43 -59
  255. package/source/class/qx/event/handler/TouchCore.js +159 -120
  256. package/source/class/qx/event/handler/Transition.js +91 -100
  257. package/source/class/qx/event/handler/UserAction.js +18 -42
  258. package/source/class/qx/event/handler/Video.js +12 -12
  259. package/source/class/qx/event/handler/Window.js +53 -69
  260. package/source/class/qx/event/message/Bus.js +109 -128
  261. package/source/class/qx/event/message/Message.js +14 -29
  262. package/source/class/qx/event/type/Data.js +11 -22
  263. package/source/class/qx/event/type/Dom.js +37 -52
  264. package/source/class/qx/event/type/Drag.js +37 -56
  265. package/source/class/qx/event/type/Event.js +80 -104
  266. package/source/class/qx/event/type/Focus.js +5 -8
  267. package/source/class/qx/event/type/GeoPosition.js +32 -41
  268. package/source/class/qx/event/type/KeyInput.js +9 -19
  269. package/source/class/qx/event/type/KeySequence.js +10 -21
  270. package/source/class/qx/event/type/Mouse.js +69 -72
  271. package/source/class/qx/event/type/MouseWheel.js +5 -9
  272. package/source/class/qx/event/type/Native.js +16 -27
  273. package/source/class/qx/event/type/Orientation.js +18 -30
  274. package/source/class/qx/event/type/Pinch.js +21 -27
  275. package/source/class/qx/event/type/Pointer.js +38 -41
  276. package/source/class/qx/event/type/Rest.js +7 -10
  277. package/source/class/qx/event/type/Roll.js +49 -58
  278. package/source/class/qx/event/type/Rotate.js +21 -27
  279. package/source/class/qx/event/type/Swipe.js +75 -86
  280. package/source/class/qx/event/type/Tap.js +2 -4
  281. package/source/class/qx/event/type/Touch.js +262 -286
  282. package/source/class/qx/event/type/Track.js +23 -28
  283. package/source/class/qx/event/type/dom/Custom.js +24 -20
  284. package/source/class/qx/event/type/dom/Pointer.js +86 -60
  285. package/source/class/qx/event/util/Keyboard.js +94 -106
  286. package/source/class/qx/html/Blocker.js +17 -18
  287. package/source/class/qx/html/Canvas.js +13 -29
  288. package/source/class/qx/html/Element.js +372 -497
  289. package/source/class/qx/html/Factory.js +31 -26
  290. package/source/class/qx/html/Iframe.js +35 -69
  291. package/source/class/qx/html/Image.js +43 -55
  292. package/source/class/qx/html/Input.js +44 -57
  293. package/source/class/qx/html/Jsx.js +49 -41
  294. package/source/class/qx/html/JsxRef.js +3 -5
  295. package/source/class/qx/html/Label.js +20 -32
  296. package/source/class/qx/html/Node.js +362 -422
  297. package/source/class/qx/html/Root.js +7 -16
  298. package/source/class/qx/html/Text.js +34 -27
  299. package/source/class/qx/io/ImageLoader.js +66 -90
  300. package/source/class/qx/io/PartLoader.js +17 -30
  301. package/source/class/qx/io/exception/Cancel.js +4 -5
  302. package/source/class/qx/io/exception/Exception.js +4 -5
  303. package/source/class/qx/io/exception/Protocol.js +2 -3
  304. package/source/class/qx/io/exception/Transport.js +13 -14
  305. package/source/class/qx/io/graphql/Client.js +22 -12
  306. package/source/class/qx/io/graphql/protocol/Message.js +3 -3
  307. package/source/class/qx/io/graphql/protocol/Request.js +8 -10
  308. package/source/class/qx/io/graphql/protocol/Response.js +7 -5
  309. package/source/class/qx/io/jsonrpc/Client.js +70 -38
  310. package/source/class/qx/io/jsonrpc/__init__.js +1 -1
  311. package/source/class/qx/io/jsonrpc/protocol/Batch.js +14 -8
  312. package/source/class/qx/io/jsonrpc/protocol/Error.js +11 -9
  313. package/source/class/qx/io/jsonrpc/protocol/Message.js +3 -3
  314. package/source/class/qx/io/jsonrpc/protocol/Notification.js +8 -6
  315. package/source/class/qx/io/jsonrpc/protocol/Parser.js +33 -9
  316. package/source/class/qx/io/jsonrpc/protocol/Request.js +8 -7
  317. package/source/class/qx/io/jsonrpc/protocol/Result.js +7 -6
  318. package/source/class/qx/io/part/ClosurePart.js +16 -35
  319. package/source/class/qx/io/part/Package.js +35 -63
  320. package/source/class/qx/io/part/Part.js +29 -53
  321. package/source/class/qx/io/part/__init__.js +4 -4
  322. package/source/class/qx/io/request/AbstractRequest.js +268 -201
  323. package/source/class/qx/io/request/Jsonp.js +16 -19
  324. package/source/class/qx/io/request/Xhr.js +38 -37
  325. package/source/class/qx/io/request/__init__.js +1 -1
  326. package/source/class/qx/io/request/authentication/Basic.js +7 -13
  327. package/source/class/qx/io/request/authentication/Bearer.js +7 -13
  328. package/source/class/qx/io/request/authentication/IAuthentication.js +3 -6
  329. package/source/class/qx/io/request/authentication/__init__.js +1 -1
  330. package/source/class/qx/io/rest/Resource.js +122 -90
  331. package/source/class/qx/io/transport/AbstractClient.js +31 -10
  332. package/source/class/qx/io/transport/AbstractTransport.js +7 -8
  333. package/source/class/qx/io/transport/Fetch.js +8 -5
  334. package/source/class/qx/io/transport/ITransport.js +4 -2
  335. package/source/class/qx/io/transport/PostMessage.js +1 -2
  336. package/source/class/qx/io/transport/Websocket.js +5 -5
  337. package/source/class/qx/io/transport/Xhr.js +17 -18
  338. package/source/class/qx/lang/Array.js +133 -170
  339. package/source/class/qx/lang/Function.js +101 -104
  340. package/source/class/qx/lang/Json.js +1041 -774
  341. package/source/class/qx/lang/Number.js +11 -16
  342. package/source/class/qx/lang/Object.js +129 -100
  343. package/source/class/qx/lang/String.js +86 -94
  344. package/source/class/qx/lang/Type.js +44 -65
  345. package/source/class/qx/lang/normalize/Array.js +39 -49
  346. package/source/class/qx/lang/normalize/Date.js +50 -32
  347. package/source/class/qx/lang/normalize/Error.js +4 -7
  348. package/source/class/qx/lang/normalize/Function.js +11 -19
  349. package/source/class/qx/lang/normalize/Number.js +3 -5
  350. package/source/class/qx/lang/normalize/Object.js +17 -18
  351. package/source/class/qx/lang/normalize/String.js +39 -40
  352. package/source/class/qx/locale/Date.js +175 -178
  353. package/source/class/qx/locale/Key.js +13 -11
  354. package/source/class/qx/locale/LocalizedString.js +18 -15
  355. package/source/class/qx/locale/MTranslation.js +22 -23
  356. package/source/class/qx/locale/Manager.js +62 -100
  357. package/source/class/qx/locale/Number.js +20 -12
  358. package/source/class/qx/locale/String.js +26 -15
  359. package/source/class/qx/log/Logger.js +128 -180
  360. package/source/class/qx/log/__init__.js +3 -3
  361. package/source/class/qx/log/appender/Console.js +100 -111
  362. package/source/class/qx/log/appender/Element.js +25 -39
  363. package/source/class/qx/log/appender/Formatter.js +117 -66
  364. package/source/class/qx/log/appender/Native.js +4 -10
  365. package/source/class/qx/log/appender/NodeConsole.js +20 -28
  366. package/source/class/qx/log/appender/PhoneGap.js +5 -13
  367. package/source/class/qx/log/appender/RhinoConsole.js +12 -23
  368. package/source/class/qx/log/appender/RhinoFile.js +19 -26
  369. package/source/class/qx/log/appender/RingBuffer.js +10 -19
  370. package/source/class/qx/log/appender/Util.js +11 -9
  371. package/source/class/qx/module/Animation.js +73 -63
  372. package/source/class/qx/module/Attribute.js +27 -46
  373. package/source/class/qx/module/Blocker.js +33 -41
  374. package/source/class/qx/module/Cookie.js +6 -10
  375. package/source/class/qx/module/Css.js +82 -97
  376. package/source/class/qx/module/Dataset.js +12 -24
  377. package/source/class/qx/module/Environment.js +4 -6
  378. package/source/class/qx/module/Event.js +124 -127
  379. package/source/class/qx/module/Io.js +5 -9
  380. package/source/class/qx/module/Manipulating.js +98 -117
  381. package/source/class/qx/module/MatchMedia.js +50 -24
  382. package/source/class/qx/module/Messaging.js +6 -10
  383. package/source/class/qx/module/Placeholder.js +54 -44
  384. package/source/class/qx/module/Placement.js +33 -33
  385. package/source/class/qx/module/Rest.js +3 -4
  386. package/source/class/qx/module/Storage.js +34 -48
  387. package/source/class/qx/module/Template.js +6 -9
  388. package/source/class/qx/module/TextSelection.js +13 -21
  389. package/source/class/qx/module/Transform.js +28 -45
  390. package/source/class/qx/module/Traversing.js +160 -154
  391. package/source/class/qx/module/__init__.js +1 -1
  392. package/source/class/qx/module/dev/FakeServer.js +19 -25
  393. package/source/class/qx/module/event/GestureHandler.js +25 -13
  394. package/source/class/qx/module/event/Keyboard.js +42 -31
  395. package/source/class/qx/module/event/Mouse.js +48 -46
  396. package/source/class/qx/module/event/Native.js +18 -30
  397. package/source/class/qx/module/event/Orientation.js +11 -18
  398. package/source/class/qx/module/event/OrientationHandler.js +19 -17
  399. package/source/class/qx/module/event/Pinch.js +13 -14
  400. package/source/class/qx/module/event/Pointer.js +22 -22
  401. package/source/class/qx/module/event/PointerHandler.js +14 -11
  402. package/source/class/qx/module/event/Rotate.js +13 -14
  403. package/source/class/qx/module/event/Swipe.js +18 -24
  404. package/source/class/qx/module/event/Tap.js +25 -25
  405. package/source/class/qx/module/event/Touch.js +4 -7
  406. package/source/class/qx/module/event/TouchHandler.js +16 -16
  407. package/source/class/qx/module/event/Track.js +13 -14
  408. package/source/class/qx/module/util/Array.js +30 -41
  409. package/source/class/qx/module/util/Function.js +1 -2
  410. package/source/class/qx/module/util/Object.js +8 -11
  411. package/source/class/qx/module/util/String.js +10 -18
  412. package/source/class/qx/module/util/Type.js +3 -4
  413. package/source/class/qx/test/Annotation.js +195 -89
  414. package/source/class/qx/test/Bootstrap.js +98 -124
  415. package/source/class/qx/test/Browser.js +8 -11
  416. package/source/class/qx/test/Class.js +164 -198
  417. package/source/class/qx/test/Dom.js +10 -28
  418. package/source/class/qx/test/EditDistance.js +16 -16
  419. package/source/class/qx/test/Interface.js +380 -383
  420. package/source/class/qx/test/MAppearance.js +10 -14
  421. package/source/class/qx/test/MDecoration.js +1 -3
  422. package/source/class/qx/test/Mixin.js +449 -173
  423. package/source/class/qx/test/Promise.js +422 -333
  424. package/source/class/qx/test/Theme.js +204 -179
  425. package/source/class/qx/test/Xml.js +155 -84
  426. package/source/class/qx/test/application/Routing.js +45 -44
  427. package/source/class/qx/test/bom/AnimationFrame.js +23 -21
  428. package/source/class/qx/test/bom/Attribute.js +66 -47
  429. package/source/class/qx/test/bom/Basic.js +52 -27
  430. package/source/class/qx/test/bom/Blocker.js +100 -70
  431. package/source/class/qx/test/bom/Class.js +19 -34
  432. package/source/class/qx/test/bom/Cookie.js +49 -28
  433. package/source/class/qx/test/bom/Dataset.js +12 -24
  434. package/source/class/qx/test/bom/Element.js +55 -47
  435. package/source/class/qx/test/bom/Event.js +68 -45
  436. package/source/class/qx/test/bom/FileReader.js +6 -12
  437. package/source/class/qx/test/bom/Font.js +256 -118
  438. package/source/class/qx/test/bom/GeoLocation.js +82 -64
  439. package/source/class/qx/test/bom/History.js +63 -84
  440. package/source/class/qx/test/bom/IdleCallback.js +51 -38
  441. package/source/class/qx/test/bom/Iframe.js +14 -18
  442. package/source/class/qx/test/bom/Label.js +74 -105
  443. package/source/class/qx/test/bom/Location.js +70 -99
  444. package/source/class/qx/test/bom/PageVisibility.js +13 -16
  445. package/source/class/qx/test/bom/Selector.js +16 -16
  446. package/source/class/qx/test/bom/String.js +19 -15
  447. package/source/class/qx/test/bom/Stylesheet.js +39 -48
  448. package/source/class/qx/test/bom/Template.js +49 -57
  449. package/source/class/qx/test/bom/Viewport.js +7 -11
  450. package/source/class/qx/test/bom/WebWorker.js +49 -37
  451. package/source/class/qx/test/bom/Window.js +6 -12
  452. package/source/class/qx/test/bom/client/Css.js +26 -19
  453. package/source/class/qx/test/bom/client/Device.js +29 -18
  454. package/source/class/qx/test/bom/client/OperatingSystem.js +17 -20
  455. package/source/class/qx/test/bom/client/Pdfjs.js +15 -13
  456. package/source/class/qx/test/bom/element/AnimationHandle.js +20 -17
  457. package/source/class/qx/test/bom/element/AnimationJs.js +48 -31
  458. package/source/class/qx/test/bom/element/Background.js +93 -46
  459. package/source/class/qx/test/bom/element/BoxSizing.js +66 -61
  460. package/source/class/qx/test/bom/element/Class.js +33 -58
  461. package/source/class/qx/test/bom/element/Dimension.js +58 -37
  462. package/source/class/qx/test/bom/element/Style.js +87 -83
  463. package/source/class/qx/test/bom/element/Transform.js +209 -86
  464. package/source/class/qx/test/bom/media/Audio.js +18 -14
  465. package/source/class/qx/test/bom/media/MediaTestCase.js +61 -66
  466. package/source/class/qx/test/bom/media/Video.js +39 -28
  467. package/source/class/qx/test/bom/request/Jsonp.js +60 -57
  468. package/source/class/qx/test/bom/request/Script.js +150 -138
  469. package/source/class/qx/test/bom/request/SimpleXhr.js +206 -134
  470. package/source/class/qx/test/bom/request/Xhr.js +179 -132
  471. package/source/class/qx/test/bom/request/XhrWithRemote.js +206 -160
  472. package/source/class/qx/test/bom/rest/Resource.js +345 -281
  473. package/source/class/qx/test/bom/rest/ResourceWithRemote.js +74 -57
  474. package/source/class/qx/test/bom/storage/Local.js +3 -4
  475. package/source/class/qx/test/bom/storage/Session.js +3 -4
  476. package/source/class/qx/test/bom/storage/WebStorageTestCase.js +28 -27
  477. package/source/class/qx/test/bom/webfonts/Abstract.js +8 -10
  478. package/source/class/qx/test/bom/webfonts/Manager.js +127 -80
  479. package/source/class/qx/test/bom/webfonts/Validator.js +36 -30
  480. package/source/class/qx/test/compiler/ClassFile.js +29 -11
  481. package/source/class/qx/test/compiler/jsdoc/Parser.js +122 -96
  482. package/source/class/qx/test/core/Assert.js +151 -86
  483. package/source/class/qx/test/core/Environment.js +162 -123
  484. package/source/class/qx/test/core/EventEmitterDummy.js +7 -8
  485. package/source/class/qx/test/core/InheritanceDummy.js +23 -33
  486. package/source/class/qx/test/core/MemoryManagement.js +13 -5
  487. package/source/class/qx/test/core/Object.js +106 -112
  488. package/source/class/qx/test/core/ObjectId.js +7 -6
  489. package/source/class/qx/test/core/Property.js +483 -387
  490. package/source/class/qx/test/core/PropertyHelper.js +49 -64
  491. package/source/class/qx/test/core/Target.js +9 -13
  492. package/source/class/qx/test/core/Validation.js +409 -136
  493. package/source/class/qx/test/data/DataArray.js +1059 -394
  494. package/source/class/qx/test/data/DataArrayWithChangeBubble.js +315 -172
  495. package/source/class/qx/test/data/__init__.js +4 -4
  496. package/source/class/qx/test/data/controller/Form.js +141 -99
  497. package/source/class/qx/test/data/controller/FormWithArrayAndModel.js +66 -51
  498. package/source/class/qx/test/data/controller/List.js +644 -336
  499. package/source/class/qx/test/data/controller/ListReverse.js +64 -63
  500. package/source/class/qx/test/data/controller/ListWithObjects.js +305 -149
  501. package/source/class/qx/test/data/controller/Object.js +252 -94
  502. package/source/class/qx/test/data/controller/Tree.js +1219 -383
  503. package/source/class/qx/test/data/controller/__init__.js +4 -4
  504. package/source/class/qx/test/data/marshal/Json.js +832 -447
  505. package/source/class/qx/test/data/marshal/__init__.js +4 -4
  506. package/source/class/qx/test/data/singlevalue/Array.js +383 -144
  507. package/source/class/qx/test/data/singlevalue/Deep.js +361 -175
  508. package/source/class/qx/test/data/singlevalue/Resolve.js +51 -29
  509. package/source/class/qx/test/data/singlevalue/Simple.js +530 -208
  510. package/source/class/qx/test/data/singlevalue/TextFieldDummy.js +32 -28
  511. package/source/class/qx/test/data/singlevalue/__init__.js +4 -4
  512. package/source/class/qx/test/data/store/Json.js +574 -313
  513. package/source/class/qx/test/data/store/Jsonp.js +103 -77
  514. package/source/class/qx/test/data/store/Offline.js +127 -110
  515. package/source/class/qx/test/data/store/Rest.js +58 -52
  516. package/source/class/qx/test/data/store/RestWithRemote.js +36 -30
  517. package/source/class/qx/test/data/store/__init__.js +4 -4
  518. package/source/class/qx/test/dev/Debug.js +9 -13
  519. package/source/class/qx/test/dev/StackTrace.js +51 -42
  520. package/source/class/qx/test/dev/unit/Requirements.js +36 -49
  521. package/source/class/qx/test/dev/unit/Sinon.js +85 -73
  522. package/source/class/qx/test/dev/unit/TestCase.js +12 -17
  523. package/source/class/qx/test/dom/Element.js +17 -12
  524. package/source/class/qx/test/dom/Hierarchy.js +53 -38
  525. package/source/class/qx/test/dom/Node.js +97 -43
  526. package/source/class/qx/test/event/Bubbling.js +258 -88
  527. package/source/class/qx/test/event/Emitter.js +38 -39
  528. package/source/class/qx/test/event/GlobalError.js +59 -87
  529. package/source/class/qx/test/event/GlobalEventMonitors.js +22 -25
  530. package/source/class/qx/test/event/Messaging.js +66 -49
  531. package/source/class/qx/test/event/MockBubblingHandler.js +10 -15
  532. package/source/class/qx/test/event/MockHandler.js +14 -33
  533. package/source/class/qx/test/event/Registration.js +38 -32
  534. package/source/class/qx/test/event/Timer.js +61 -39
  535. package/source/class/qx/test/event/Utils.js +164 -123
  536. package/source/class/qx/test/event/dispatch/MouseCapture.js +61 -51
  537. package/source/class/qx/test/event/dispatch/MouseEventOnDocument.js +22 -23
  538. package/source/class/qx/test/event/dispatch/TestingHandler.js +8 -10
  539. package/source/class/qx/test/event/dispatch/TestingWindow.js +9 -13
  540. package/source/class/qx/test/event/dispatch/__init__.js +4 -4
  541. package/source/class/qx/test/event/handler/Offline.js +7 -8
  542. package/source/class/qx/test/event/message/Bus.js +112 -72
  543. package/source/class/qx/test/event/message/__init__.js +4 -4
  544. package/source/class/qx/test/event/type/Dom.js +12 -11
  545. package/source/class/qx/test/event/type/Event.js +7 -16
  546. package/source/class/qx/test/event/type/Mouse.js +12 -11
  547. package/source/class/qx/test/event/type/Native.js +12 -11
  548. package/source/class/qx/test/event/type/__init__.js +4 -4
  549. package/source/class/qx/test/event/util/Keyboard.js +4 -3
  550. package/source/class/qx/test/html/Element.js +538 -239
  551. package/source/class/qx/test/html/Iframe.js +85 -73
  552. package/source/class/qx/test/html/jsx/TestJsx.js +15 -4
  553. package/source/class/qx/test/html/jsx/TestJsxBrowser.js +37 -19
  554. package/source/class/qx/test/html/jsx/TestWidget.js +26 -26
  555. package/source/class/qx/test/io/ImageLoader.js +256 -160
  556. package/source/class/qx/test/io/MAssert.js +7 -7
  557. package/source/class/qx/test/io/MRemoteTest.js +9 -11
  558. package/source/class/qx/test/io/__init__.js +4 -4
  559. package/source/class/qx/test/io/graphql/Client.js +135 -114
  560. package/source/class/qx/test/io/graphql/ClientFetch.js +4 -4
  561. package/source/class/qx/test/io/graphql/Request.js +12 -13
  562. package/source/class/qx/test/io/jsonrpc/Client.js +135 -69
  563. package/source/class/qx/test/io/jsonrpc/Protocol.js +42 -14
  564. package/source/class/qx/test/io/request/Jsonp.js +23 -20
  565. package/source/class/qx/test/io/request/JsonpWithRemote.js +25 -22
  566. package/source/class/qx/test/io/request/MRequest.js +137 -114
  567. package/source/class/qx/test/io/request/Xhr.js +367 -209
  568. package/source/class/qx/test/io/request/XhrWithRemote.js +133 -100
  569. package/source/class/qx/test/io/rest/Resource.js +325 -270
  570. package/source/class/qx/test/io/rest/ResourceWithRemote.js +75 -58
  571. package/source/class/qx/test/io/transport/PostMessage.js +5 -5
  572. package/source/class/qx/test/io/transport/Websocket.js +9 -8
  573. package/source/class/qx/test/lang/Array.js +79 -105
  574. package/source/class/qx/test/lang/Function.js +64 -53
  575. package/source/class/qx/test/lang/Json.js +51 -79
  576. package/source/class/qx/test/lang/Number.js +4 -6
  577. package/source/class/qx/test/lang/Object.js +143 -133
  578. package/source/class/qx/test/lang/String.js +151 -95
  579. package/source/class/qx/test/lang/Type.js +34 -44
  580. package/source/class/qx/test/lang/Webkit.js +8 -13
  581. package/source/class/qx/test/lang/normalize/Array.js +121 -68
  582. package/source/class/qx/test/lang/normalize/Date.js +232 -49
  583. package/source/class/qx/test/lang/normalize/Error.js +5 -8
  584. package/source/class/qx/test/lang/normalize/Function.js +7 -13
  585. package/source/class/qx/test/lang/normalize/Object.js +22 -29
  586. package/source/class/qx/test/lang/normalize/String.js +19 -28
  587. package/source/class/qx/test/locale/Date.js +91 -43
  588. package/source/class/qx/test/locale/Locale.js +52 -32
  589. package/source/class/qx/test/locale/LocalizedString.js +12 -12
  590. package/source/class/qx/test/log/DeprecationMethodOverriding.js +52 -31
  591. package/source/class/qx/test/log/Filters.js +6 -3
  592. package/source/class/qx/test/log/Formatter.js +13 -7
  593. package/source/class/qx/test/log/Logger.js +19 -29
  594. package/source/class/qx/test/log/RingBuffer.js +14 -25
  595. package/source/class/qx/test/log/__init__.js +4 -4
  596. package/source/class/qx/test/log/fixture/ClassA.js +22 -22
  597. package/source/class/qx/test/log/fixture/ClassB1.js +7 -9
  598. package/source/class/qx/test/log/fixture/ClassB2.js +5 -7
  599. package/source/class/qx/test/log/fixture/ClassC1.js +5 -7
  600. package/source/class/qx/test/log/fixture/ClassC2.js +7 -9
  601. package/source/class/qx/test/mobile/LocaleSwitch.js +29 -36
  602. package/source/class/qx/test/mobile/MobileTestCase.js +39 -49
  603. package/source/class/qx/test/mobile/basic/Atom.js +129 -53
  604. package/source/class/qx/test/mobile/basic/Image.js +41 -31
  605. package/source/class/qx/test/mobile/basic/Label.js +6 -10
  606. package/source/class/qx/test/mobile/container/Carousel.js +41 -45
  607. package/source/class/qx/test/mobile/container/Composite.js +48 -65
  608. package/source/class/qx/test/mobile/container/Drawer.js +42 -29
  609. package/source/class/qx/test/mobile/container/Navigation.js +14 -20
  610. package/source/class/qx/test/mobile/container/Scroll.js +23 -19
  611. package/source/class/qx/test/mobile/core/Widget.js +150 -86
  612. package/source/class/qx/test/mobile/dialog/Menu.js +47 -26
  613. package/source/class/qx/test/mobile/dialog/Popup.js +30 -19
  614. package/source/class/qx/test/mobile/embed/Html.js +5 -8
  615. package/source/class/qx/test/mobile/form/Button.js +15 -13
  616. package/source/class/qx/test/mobile/form/CheckBox.js +21 -17
  617. package/source/class/qx/test/mobile/form/Form.js +37 -24
  618. package/source/class/qx/test/mobile/form/Group.js +5 -9
  619. package/source/class/qx/test/mobile/form/Label.js +11 -13
  620. package/source/class/qx/test/mobile/form/NumberField.js +49 -45
  621. package/source/class/qx/test/mobile/form/RadioButton.js +30 -19
  622. package/source/class/qx/test/mobile/form/SelectBox.js +39 -25
  623. package/source/class/qx/test/mobile/form/SingleRenderer.js +31 -27
  624. package/source/class/qx/test/mobile/form/Slider.js +55 -35
  625. package/source/class/qx/test/mobile/form/TextArea.js +34 -24
  626. package/source/class/qx/test/mobile/form/TextField.js +34 -24
  627. package/source/class/qx/test/mobile/form/ToggleButton.js +10 -14
  628. package/source/class/qx/test/mobile/layout/Card.js +21 -17
  629. package/source/class/qx/test/mobile/layout/HBox.js +25 -20
  630. package/source/class/qx/test/mobile/layout/VBox.js +25 -21
  631. package/source/class/qx/test/mobile/list/List.js +114 -83
  632. package/source/class/qx/test/mobile/navigationbar/NavigationBar.js +5 -9
  633. package/source/class/qx/test/mobile/page/Manager.js +7 -13
  634. package/source/class/qx/test/mobile/page/NavigationPage.js +7 -17
  635. package/source/class/qx/test/mobile/page/Page.js +101 -68
  636. package/source/class/qx/test/mobile/tabbar/TabBar.js +11 -21
  637. package/source/class/qx/test/mobile/toolbar/Toolbar.js +16 -16
  638. package/source/class/qx/test/performance/BaseCall.js +31 -36
  639. package/source/class/qx/test/performance/Event.js +60 -53
  640. package/source/class/qx/test/performance/Object.js +16 -22
  641. package/source/class/qx/test/performance/Property.js +20 -22
  642. package/source/class/qx/test/performance/data/Marshaling.js +25 -30
  643. package/source/class/qx/test/performance/decorator/AbstractDecorator.js +22 -34
  644. package/source/class/qx/test/performance/decorator/Background.js +4 -6
  645. package/source/class/qx/test/performance/decorator/BackgroundScale.js +6 -8
  646. package/source/class/qx/test/performance/decorator/Single.js +4 -6
  647. package/source/class/qx/test/performance/element/Element.js +50 -67
  648. package/source/class/qx/test/performance/widget/AbstractWidget.js +31 -44
  649. package/source/class/qx/test/performance/widget/Button.js +5 -7
  650. package/source/class/qx/test/performance/widget/Label.js +5 -7
  651. package/source/class/qx/test/performance/widget/RichLabel.js +6 -8
  652. package/source/class/qx/test/performance/widget/Widget.js +5 -7
  653. package/source/class/qx/test/performance/widget/WidgetWithDecorator.js +7 -9
  654. package/source/class/qx/test/performance/widget/WidgetWithSingle.js +9 -11
  655. package/source/class/qx/test/renderer/Color.js +22 -49
  656. package/source/class/qx/test/testclasses/BaseClassBoth.js +11 -8
  657. package/source/class/qx/test/testclasses/BaseClassIncluded.js +5 -6
  658. package/source/class/qx/test/testclasses/BaseClassPatched.js +15 -8
  659. package/source/class/qx/test/testclasses/DerivedClassBoth.js +7 -7
  660. package/source/class/qx/test/testclasses/DerivedClassIncluded.js +7 -7
  661. package/source/class/qx/test/testclasses/DerivedClassPatched.js +7 -7
  662. package/source/class/qx/test/testclasses/MMixinOne.js +4 -4
  663. package/source/class/qx/test/testclasses/MMixinTwo.js +2 -2
  664. package/source/class/qx/test/testclasses/RootClass.js +8 -8
  665. package/source/class/qx/test/theme/__init__.js +4 -4
  666. package/source/class/qx/test/theme/manager/Color.js +52 -66
  667. package/source/class/qx/test/theme/manager/Decoration.js +177 -154
  668. package/source/class/qx/test/theme/manager/Font.js +68 -39
  669. package/source/class/qx/test/theme/manager/Icon.js +46 -43
  670. package/source/class/qx/test/theme/manager/Meta.js +121 -110
  671. package/source/class/qx/test/theme/manager/__init__.js +4 -4
  672. package/source/class/qx/test/theme/manager/mock/Appearance.js +17 -23
  673. package/source/class/qx/test/theme/manager/mock/Color.js +7 -9
  674. package/source/class/qx/test/theme/manager/mock/Decoration.js +7 -10
  675. package/source/class/qx/test/theme/manager/mock/Font.js +6 -10
  676. package/source/class/qx/test/theme/simple/Appearance.js +268 -210
  677. package/source/class/qx/test/tool/utils/Utils.js +10 -8
  678. package/source/class/qx/test/toolchain/PrivateOptimization.js +20 -13
  679. package/source/class/qx/test/toolchain/TestRunner.js +12 -12
  680. package/source/class/qx/test/toolchain/VariantOptimization.js +37 -26
  681. package/source/class/qx/test/toolchain/__init__.js +4 -4
  682. package/source/class/qx/test/type/Array.js +8 -12
  683. package/source/class/qx/test/type/BaseArray.js +58 -78
  684. package/source/class/qx/test/type/BaseString.js +27 -65
  685. package/source/class/qx/test/type/__init__.js +4 -4
  686. package/source/class/qx/test/ui/BackgroundColor.js +20 -21
  687. package/source/class/qx/test/ui/ChildrenHandling.js +136 -81
  688. package/source/class/qx/test/ui/Destroy.js +310 -248
  689. package/source/class/qx/test/ui/Focus.js +40 -87
  690. package/source/class/qx/test/ui/Insets.js +14 -18
  691. package/source/class/qx/test/ui/LayoutTestCase.js +99 -92
  692. package/source/class/qx/test/ui/LocaleSwitch.js +37 -41
  693. package/source/class/qx/test/ui/RadioItems.js +11 -22
  694. package/source/class/qx/test/ui/Widget.js +13 -17
  695. package/source/class/qx/test/ui/Window.js +26 -39
  696. package/source/class/qx/test/ui/basic/Atom.js +37 -25
  697. package/source/class/qx/test/ui/basic/Image.js +179 -138
  698. package/source/class/qx/test/ui/basic/Label.js +147 -65
  699. package/source/class/qx/test/ui/basic/__init__.js +4 -4
  700. package/source/class/qx/test/ui/command/Command.js +105 -69
  701. package/source/class/qx/test/ui/command/Group.js +24 -21
  702. package/source/class/qx/test/ui/command/GroupManager.js +7 -12
  703. package/source/class/qx/test/ui/container/Stack.js +26 -36
  704. package/source/class/qx/test/ui/core/AbstractScrollArea.js +84 -67
  705. package/source/class/qx/test/ui/core/Appearance.js +53 -54
  706. package/source/class/qx/test/ui/core/Blocker.js +80 -44
  707. package/source/class/qx/test/ui/core/DragDropScrolling.js +69 -55
  708. package/source/class/qx/test/ui/core/Placement.js +22 -34
  709. package/source/class/qx/test/ui/core/Queues.js +28 -39
  710. package/source/class/qx/test/ui/core/SizeHint.js +32 -76
  711. package/source/class/qx/test/ui/core/SizeHintX.js +8 -15
  712. package/source/class/qx/test/ui/core/SizeHintY.js +8 -15
  713. package/source/class/qx/test/ui/core/Spacer.js +11 -18
  714. package/source/class/qx/test/ui/core/Widget.js +117 -112
  715. package/source/class/qx/test/ui/core/__init__.js +4 -4
  716. package/source/class/qx/test/ui/decoration/LinearGradient.js +18 -14
  717. package/source/class/qx/test/ui/embed/Iframe.js +69 -65
  718. package/source/class/qx/test/ui/embed/__init__.js +4 -4
  719. package/source/class/qx/test/ui/form/AbstractSelectBox.js +11 -16
  720. package/source/class/qx/test/ui/form/AbstractVirtualBox.js +12 -19
  721. package/source/class/qx/test/ui/form/BooleanFormat.js +40 -25
  722. package/source/class/qx/test/ui/form/Color.js +29 -19
  723. package/source/class/qx/test/ui/form/ComboBox.js +39 -25
  724. package/source/class/qx/test/ui/form/Date.js +34 -21
  725. package/source/class/qx/test/ui/form/DateField.js +16 -19
  726. package/source/class/qx/test/ui/form/Executable.js +98 -68
  727. package/source/class/qx/test/ui/form/Field.js +65 -54
  728. package/source/class/qx/test/ui/form/Form.js +211 -123
  729. package/source/class/qx/test/ui/form/FormManager.js +72 -100
  730. package/source/class/qx/test/ui/form/FormValidator.js +549 -399
  731. package/source/class/qx/test/ui/form/Label.js +87 -65
  732. package/source/class/qx/test/ui/form/List.js +19 -19
  733. package/source/class/qx/test/ui/form/MenuButton.js +26 -20
  734. package/source/class/qx/test/ui/form/ModelProperty.js +40 -36
  735. package/source/class/qx/test/ui/form/ModelSelection.js +39 -84
  736. package/source/class/qx/test/ui/form/NumberFormat.js +30 -19
  737. package/source/class/qx/test/ui/form/Placeholder.js +147 -87
  738. package/source/class/qx/test/ui/form/RadioButtonGroup.js +31 -26
  739. package/source/class/qx/test/ui/form/RadioGroup.js +58 -54
  740. package/source/class/qx/test/ui/form/Range.js +63 -28
  741. package/source/class/qx/test/ui/form/Renderer.js +39 -33
  742. package/source/class/qx/test/ui/form/Resetter.js +21 -35
  743. package/source/class/qx/test/ui/form/Slider.js +37 -21
  744. package/source/class/qx/test/ui/form/Spinner.js +9 -5
  745. package/source/class/qx/test/ui/form/SplitButton.js +7 -11
  746. package/source/class/qx/test/ui/form/StringFormat.js +60 -30
  747. package/source/class/qx/test/ui/form/TextArea.js +59 -41
  748. package/source/class/qx/test/ui/form/TextField.js +14 -16
  749. package/source/class/qx/test/ui/form/ToggleButton.js +20 -24
  750. package/source/class/qx/test/ui/form/VirtualSelectBox.js +66 -40
  751. package/source/class/qx/test/ui/form/__init__.js +4 -4
  752. package/source/class/qx/test/ui/form/virtual/VirtualComboBox.js +58 -60
  753. package/source/class/qx/test/ui/form/virtual/VirtualDropDownList.js +120 -110
  754. package/source/class/qx/test/ui/form/virtual/VirtualSelectBox.js +43 -27
  755. package/source/class/qx/test/ui/groupbox/CheckGroupBox.js +13 -18
  756. package/source/class/qx/test/ui/indicator/ProgressBar.js +73 -48
  757. package/source/class/qx/test/ui/layout/Box.js +23 -22
  758. package/source/class/qx/test/ui/layout/Flow.js +233 -153
  759. package/source/class/qx/test/ui/layout/Grid.js +88 -101
  760. package/source/class/qx/test/ui/layout/LayoutItem.js +57 -83
  761. package/source/class/qx/test/ui/layout/LayoutRoot.js +7 -11
  762. package/source/class/qx/test/ui/layout/Util.js +30 -31
  763. package/source/class/qx/test/ui/layout/__init__.js +4 -4
  764. package/source/class/qx/test/ui/list/AbstractListTest.js +13 -21
  765. package/source/class/qx/test/ui/list/Group.js +191 -114
  766. package/source/class/qx/test/ui/list/List.js +189 -132
  767. package/source/class/qx/test/ui/list/MAssert.js +14 -9
  768. package/source/class/qx/test/ui/list/ObjectGroup.js +131 -109
  769. package/source/class/qx/test/ui/list/core/MultiSelection.js +58 -44
  770. package/source/class/qx/test/ui/list/core/SingleSelection.js +43 -43
  771. package/source/class/qx/test/ui/list/fixture/GroupMock.js +6 -9
  772. package/source/class/qx/test/ui/list/fixture/ItemMock.js +9 -13
  773. package/source/class/qx/test/ui/root/Inline.js +22 -20
  774. package/source/class/qx/test/ui/selection/AbstractMultiSelectonTest.js +188 -105
  775. package/source/class/qx/test/ui/selection/AbstractSingleSelectonTest.js +173 -125
  776. package/source/class/qx/test/ui/selection/ListMultiSelection.js +19 -21
  777. package/source/class/qx/test/ui/selection/ListSingleSelection.js +19 -21
  778. package/source/class/qx/test/ui/selection/RadioGroup.js +41 -29
  779. package/source/class/qx/test/ui/selection/SelectBox.js +11 -17
  780. package/source/class/qx/test/ui/selection/Stack.js +22 -27
  781. package/source/class/qx/test/ui/selection/TabView.js +35 -26
  782. package/source/class/qx/test/ui/selection/TreeMultiSelection.js +14 -19
  783. package/source/class/qx/test/ui/selection/TreeSingleSelection.js +20 -24
  784. package/source/class/qx/test/ui/selection/__init__.js +4 -4
  785. package/source/class/qx/test/ui/table/Dispose.js +46 -46
  786. package/source/class/qx/test/ui/table/Table.js +74 -69
  787. package/source/class/qx/test/ui/table/__init__.js +4 -4
  788. package/source/class/qx/test/ui/table/celleditor/AbstractField.js +14 -28
  789. package/source/class/qx/test/ui/table/celleditor/ComboBox.js +11 -18
  790. package/source/class/qx/test/ui/table/celleditor/PasswordField.js +6 -10
  791. package/source/class/qx/test/ui/table/celleditor/SelectBox.js +16 -32
  792. package/source/class/qx/test/ui/table/celleditor/TextField.js +6 -9
  793. package/source/class/qx/test/ui/table/celleditor/__init__.js +4 -4
  794. package/source/class/qx/test/ui/table/columnmodel/Basic.js +130 -129
  795. package/source/class/qx/test/ui/table/model/Filtered.js +51 -36
  796. package/source/class/qx/test/ui/table/model/Simple.js +43 -45
  797. package/source/class/qx/test/ui/table/selection/Model.js +70 -22
  798. package/source/class/qx/test/ui/toolbar/OverflowHandling.js +145 -123
  799. package/source/class/qx/test/ui/toolbar/ToolBar.js +20 -30
  800. package/source/class/qx/test/ui/tree/Tree.js +63 -42
  801. package/source/class/qx/test/ui/tree/TreeFolder.js +44 -46
  802. package/source/class/qx/test/ui/tree/virtual/AbstractTreeTest.js +61 -96
  803. package/source/class/qx/test/ui/tree/virtual/MultiSelection.js +68 -39
  804. package/source/class/qx/test/ui/tree/virtual/OneSelection.js +82 -42
  805. package/source/class/qx/test/ui/tree/virtual/OpenCloseController.js +80 -101
  806. package/source/class/qx/test/ui/tree/virtual/SingleSelection.js +40 -32
  807. package/source/class/qx/test/ui/tree/virtual/Sorting.js +46 -47
  808. package/source/class/qx/test/ui/tree/virtual/Tree.js +267 -191
  809. package/source/class/qx/test/ui/tree/virtual/TreeItem.js +60 -63
  810. package/source/class/qx/test/ui/tree/virtual/UtilTest.js +65 -50
  811. package/source/class/qx/test/ui/tree/virtual/WidgetProvider.js +127 -132
  812. package/source/class/qx/test/ui/virtual/Axis.js +210 -193
  813. package/source/class/qx/test/ui/virtual/Pane.js +287 -190
  814. package/source/class/qx/test/ui/virtual/PaneUpdate.js +71 -77
  815. package/source/class/qx/test/ui/virtual/PointerEventMock.js +10 -13
  816. package/source/class/qx/test/ui/virtual/Scroller.js +29 -39
  817. package/source/class/qx/test/ui/virtual/__init__.js +4 -4
  818. package/source/class/qx/test/ui/virtual/cell/WidgetCell.js +39 -40
  819. package/source/class/qx/test/ui/virtual/layer/CellSpanManager.js +157 -127
  820. package/source/class/qx/test/ui/virtual/layer/Column.js +6 -10
  821. package/source/class/qx/test/ui/virtual/layer/GridLines.js +6 -10
  822. package/source/class/qx/test/ui/virtual/layer/GridLinesHorizontal.js +6 -9
  823. package/source/class/qx/test/ui/virtual/layer/GridLinesVertical.js +6 -9
  824. package/source/class/qx/test/ui/virtual/layer/HtmlCell.js +12 -19
  825. package/source/class/qx/test/ui/virtual/layer/HtmlCellSpan.js +13 -21
  826. package/source/class/qx/test/ui/virtual/layer/LayerMock.js +31 -43
  827. package/source/class/qx/test/ui/virtual/layer/LayerSimple.js +26 -26
  828. package/source/class/qx/test/ui/virtual/layer/LayerTestCase.js +52 -50
  829. package/source/class/qx/test/ui/virtual/layer/Row.js +6 -10
  830. package/source/class/qx/test/ui/virtual/layer/WidgetCell.js +45 -52
  831. package/source/class/qx/test/ui/virtual/layer/WidgetCellSpan.js +71 -48
  832. package/source/class/qx/test/ui/virtual/layer/__init__.js +4 -4
  833. package/source/class/qx/test/ui/virtual/performance/AbstractLayerTest.js +84 -68
  834. package/source/class/qx/test/ui/virtual/performance/DomCell.js +6 -9
  835. package/source/class/qx/test/ui/virtual/performance/DomPoolCell.js +6 -9
  836. package/source/class/qx/test/ui/virtual/performance/HtmlDivCell.js +7 -11
  837. package/source/class/qx/test/ui/virtual/performance/HtmlDivRelative.js +6 -9
  838. package/source/class/qx/test/ui/virtual/performance/HtmlTableCell.js +8 -13
  839. package/source/class/qx/test/ui/virtual/performance/HtmlTableCellNaive.js +8 -13
  840. package/source/class/qx/test/ui/virtual/performance/HtmlTableCssCell.js +8 -19
  841. package/source/class/qx/test/ui/virtual/performance/WidgetCell.js +10 -15
  842. package/source/class/qx/test/ui/virtual/performance/__init__.js +4 -4
  843. package/source/class/qx/test/ui/virtual/performance/layer/DomCell.js +24 -18
  844. package/source/class/qx/test/ui/virtual/performance/layer/DomPoolCell.js +28 -26
  845. package/source/class/qx/test/ui/virtual/performance/layer/HtmlDivRelative.js +13 -17
  846. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCell.js +29 -28
  847. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCellNaive.js +22 -24
  848. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCssCell.js +32 -47
  849. package/source/class/qx/test/ui/virtual/performance/layer/__init__.js +4 -4
  850. package/source/class/qx/test/ui/window/Desktop.js +21 -12
  851. package/source/class/qx/test/util/Base64.js +10 -13
  852. package/source/class/qx/test/util/ColorUtil.js +121 -54
  853. package/source/class/qx/test/util/DateFormat.js +582 -351
  854. package/source/class/qx/test/util/DateMock.js +16 -19
  855. package/source/class/qx/test/util/DeferredCall.js +12 -13
  856. package/source/class/qx/test/util/Delegate.js +28 -26
  857. package/source/class/qx/test/util/DisposeUtil.js +32 -14
  858. package/source/class/qx/test/util/DynamicScriptLoader.js +99 -64
  859. package/source/class/qx/test/util/Fsm.js +16 -18
  860. package/source/class/qx/test/util/Function.js +23 -19
  861. package/source/class/qx/test/util/LibraryManager.js +15 -22
  862. package/source/class/qx/test/util/NumberFormat.js +53 -64
  863. package/source/class/qx/test/util/PropertyUtil.js +35 -35
  864. package/source/class/qx/test/util/Request.js +26 -18
  865. package/source/class/qx/test/util/ResourceManager.js +50 -35
  866. package/source/class/qx/test/util/ResponseParser.js +45 -35
  867. package/source/class/qx/test/util/RingBuffer.js +15 -28
  868. package/source/class/qx/test/util/Serializer.js +210 -153
  869. package/source/class/qx/test/util/StringBuilder.js +7 -13
  870. package/source/class/qx/test/util/StringSplit.js +114 -69
  871. package/source/class/qx/test/util/Uri.js +74 -78
  872. package/source/class/qx/test/util/Validate.js +95 -64
  873. package/source/class/qx/test/util/placement/BestFitAxis.js +17 -26
  874. package/source/class/qx/test/util/placement/DirectAxis.js +8 -11
  875. package/source/class/qx/test/util/placement/KeepAlignAxis.js +17 -26
  876. package/source/class/qx/test/util/placement/Placement.js +607 -244
  877. package/source/class/qx/test/util/placement/__init__.js +4 -4
  878. package/source/class/qx/theme/Classic.js +9 -11
  879. package/source/class/qx/theme/Indigo.js +9 -11
  880. package/source/class/qx/theme/Modern.js +9 -11
  881. package/source/class/qx/theme/Simple.js +9 -11
  882. package/source/class/qx/theme/TangibleDark.js +1 -1
  883. package/source/class/qx/theme/TangibleLight.js +1 -1
  884. package/source/class/qx/theme/__init__.js +4 -4
  885. package/source/class/qx/theme/classic/Appearance.js +995 -1336
  886. package/source/class/qx/theme/classic/Color.js +83 -83
  887. package/source/class/qx/theme/classic/Decoration.js +318 -299
  888. package/source/class/qx/theme/classic/Font.js +38 -25
  889. package/source/class/qx/theme/icon/Oxygen.js +4 -5
  890. package/source/class/qx/theme/icon/Tango.js +4 -5
  891. package/source/class/qx/theme/indigo/Appearance.js +66 -85
  892. package/source/class/qx/theme/indigo/Color.js +65 -66
  893. package/source/class/qx/theme/indigo/Decoration.js +31 -45
  894. package/source/class/qx/theme/indigo/Font.js +20 -29
  895. package/source/class/qx/theme/manager/Appearance.js +58 -91
  896. package/source/class/qx/theme/manager/Color.js +20 -41
  897. package/source/class/qx/theme/manager/Decoration.js +72 -100
  898. package/source/class/qx/theme/manager/Font.js +51 -67
  899. package/source/class/qx/theme/manager/Icon.js +13 -27
  900. package/source/class/qx/theme/manager/Meta.js +27 -44
  901. package/source/class/qx/theme/modern/Appearance.js +1049 -1440
  902. package/source/class/qx/theme/modern/Color.js +155 -166
  903. package/source/class/qx/theme/modern/Decoration.js +471 -598
  904. package/source/class/qx/theme/modern/Font.js +59 -52
  905. package/source/class/qx/theme/simple/Appearance.js +936 -1207
  906. package/source/class/qx/theme/simple/Color.js +62 -62
  907. package/source/class/qx/theme/simple/Decoration.js +456 -678
  908. package/source/class/qx/theme/simple/Font.js +18 -25
  909. package/source/class/qx/theme/simple/Image.js +49 -52
  910. package/source/class/qx/theme/tangible/Appearance.js +1575 -1743
  911. package/source/class/qx/theme/tangible/ColorDark.js +5 -5
  912. package/source/class/qx/theme/tangible/ColorEngine.js +38 -35
  913. package/source/class/qx/theme/tangible/ColorLight.js +7 -7
  914. package/source/class/qx/theme/tangible/Decoration.js +1108 -1300
  915. package/source/class/qx/theme/tangible/Font.js +66 -70
  916. package/source/class/qx/theme/tangible/Image.js +44 -48
  917. package/source/class/qx/tool/cli/Application.js +5 -5
  918. package/source/class/qx/tool/cli/Cli.js +103 -52
  919. package/source/class/qx/tool/cli/ConfigDb.js +18 -15
  920. package/source/class/qx/tool/cli/LibraryApplication.js +1 -1
  921. package/source/class/qx/tool/cli/Watch.js +174 -102
  922. package/source/class/qx/tool/cli/api/AbstractApi.js +17 -18
  923. package/source/class/qx/tool/cli/api/CompilerApi.js +15 -8
  924. package/source/class/qx/tool/cli/api/LibraryApi.js +4 -6
  925. package/source/class/qx/tool/cli/api/Test.js +12 -9
  926. package/source/class/qx/tool/cli/commands/Add.js +12 -15
  927. package/source/class/qx/tool/cli/commands/Clean.js +10 -9
  928. package/source/class/qx/tool/cli/commands/Command.js +18 -13
  929. package/source/class/qx/tool/cli/commands/Compile.js +630 -264
  930. package/source/class/qx/tool/cli/commands/Config.js +75 -42
  931. package/source/class/qx/tool/cli/commands/Create.js +108 -59
  932. package/source/class/qx/tool/cli/commands/Deploy.js +138 -86
  933. package/source/class/qx/tool/cli/commands/Es6ify.js +118 -0
  934. package/source/class/qx/tool/cli/commands/Lint.js +75 -34
  935. package/source/class/qx/tool/cli/commands/Migrate.js +13 -7
  936. package/source/class/qx/tool/cli/commands/Package.js +67 -45
  937. package/source/class/qx/tool/cli/commands/Pkg.js +21 -18
  938. package/source/class/qx/tool/cli/commands/Run.js +57 -37
  939. package/source/class/qx/tool/cli/commands/Serve.js +62 -37
  940. package/source/class/qx/tool/cli/commands/Test.js +40 -18
  941. package/source/class/qx/tool/cli/commands/add/Class.js +66 -28
  942. package/source/class/qx/tool/cli/commands/add/Script.js +54 -27
  943. package/source/class/qx/tool/cli/commands/package/Install.js +265 -103
  944. package/source/class/qx/tool/cli/commands/package/List.js +199 -75
  945. package/source/class/qx/tool/cli/commands/package/Migrate.js +7 -3
  946. package/source/class/qx/tool/cli/commands/package/Publish.js +209 -117
  947. package/source/class/qx/tool/cli/commands/package/Remove.js +40 -17
  948. package/source/class/qx/tool/cli/commands/package/Update.js +115 -48
  949. package/source/class/qx/tool/cli/commands/package/Upgrade.js +41 -20
  950. package/source/class/qx/tool/compiler/Analyser.js +427 -222
  951. package/source/class/qx/tool/compiler/ClassFile.js +831 -401
  952. package/source/class/qx/tool/compiler/Console.js +136 -87
  953. package/source/class/qx/tool/compiler/Es6ify.js +404 -0
  954. package/source/class/qx/tool/compiler/Preprocess.js +28 -25
  955. package/source/class/qx/tool/compiler/app/Application.js +149 -72
  956. package/source/class/qx/tool/compiler/app/Cldr.js +506 -106
  957. package/source/class/qx/tool/compiler/app/Library.js +62 -27
  958. package/source/class/qx/tool/compiler/app/Part.js +10 -12
  959. package/source/class/qx/tool/compiler/app/Translation.js +189 -162
  960. package/source/class/qx/tool/compiler/app/WebFont.js +215 -161
  961. package/source/class/qx/tool/compiler/jsdoc/ChildControlParser.js +3 -3
  962. package/source/class/qx/tool/compiler/jsdoc/CommandParser.js +8 -9
  963. package/source/class/qx/tool/compiler/jsdoc/ParamParser.js +7 -6
  964. package/source/class/qx/tool/compiler/jsdoc/Parser.js +27 -18
  965. package/source/class/qx/tool/compiler/jsdoc/ReturnParser.js +3 -3
  966. package/source/class/qx/tool/compiler/jsdoc/ThrowsParser.js +4 -4
  967. package/source/class/qx/tool/compiler/makers/AbstractAppMaker.js +5 -6
  968. package/source/class/qx/tool/compiler/makers/AppMaker.js +38 -18
  969. package/source/class/qx/tool/compiler/makers/Maker.js +29 -21
  970. package/source/class/qx/tool/compiler/resources/AbstractMatcher.js +8 -8
  971. package/source/class/qx/tool/compiler/resources/Asset.js +123 -61
  972. package/source/class/qx/tool/compiler/resources/ImageLoader.js +18 -8
  973. package/source/class/qx/tool/compiler/resources/Manager.js +156 -93
  974. package/source/class/qx/tool/compiler/resources/MetaLoader.js +5 -3
  975. package/source/class/qx/tool/compiler/resources/ResourceConverter.js +8 -8
  976. package/source/class/qx/tool/compiler/resources/ResourceLoader.js +8 -9
  977. package/source/class/qx/tool/compiler/resources/ScssConverter.js +54 -18
  978. package/source/class/qx/tool/compiler/resources/ScssFile.js +157 -80
  979. package/source/class/qx/tool/compiler/resources/ScssIncludeConverter.js +3 -3
  980. package/source/class/qx/tool/compiler/targets/BuildTarget.js +23 -13
  981. package/source/class/qx/tool/compiler/targets/SourceCodeCopier.js +29 -9
  982. package/source/class/qx/tool/compiler/targets/SourceTarget.js +2 -2
  983. package/source/class/qx/tool/compiler/targets/Target.js +292 -188
  984. package/source/class/qx/tool/compiler/targets/TypeScriptWriter.js +163 -103
  985. package/source/class/qx/tool/compiler/targets/meta/AbstractJavascriptMeta.js +48 -23
  986. package/source/class/qx/tool/compiler/targets/meta/ApplicationMeta.js +75 -62
  987. package/source/class/qx/tool/compiler/targets/meta/BootJs.js +49 -29
  988. package/source/class/qx/tool/compiler/targets/meta/Javascript.js +6 -7
  989. package/source/class/qx/tool/compiler/targets/meta/Package.js +54 -51
  990. package/source/class/qx/tool/compiler/targets/meta/PackageJavascript.js +41 -21
  991. package/source/class/qx/tool/compiler/targets/meta/Part.js +9 -10
  992. package/source/class/qx/tool/compiler/targets/meta/PolyfillJs.js +10 -5
  993. package/source/class/qx/tool/compiler/targets/meta/Uglify.js +35 -23
  994. package/source/class/qx/tool/config/Abstract.js +61 -25
  995. package/source/class/qx/tool/config/Compile.js +3 -2
  996. package/source/class/qx/tool/config/Lockfile.js +3 -2
  997. package/source/class/qx/tool/config/Manifest.js +3 -2
  998. package/source/class/qx/tool/config/Registry.js +4 -3
  999. package/source/class/qx/tool/config/Utils.js +88 -37
  1000. package/source/class/qx/tool/migration/BaseMigration.js +67 -25
  1001. package/source/class/qx/tool/migration/M6_0_0.js +96 -46
  1002. package/source/class/qx/tool/migration/M7_0_0.js +12 -6
  1003. package/source/class/qx/tool/migration/Runner.js +28 -14
  1004. package/source/class/qx/tool/utils/IndexedArray.js +15 -18
  1005. package/source/class/qx/tool/utils/Json.js +35 -14
  1006. package/source/class/qx/tool/utils/LogManager.js +50 -26
  1007. package/source/class/qx/tool/utils/Logger.js +11 -12
  1008. package/source/class/qx/tool/utils/Promisify.js +45 -49
  1009. package/source/class/qx/tool/utils/Utils.js +63 -48
  1010. package/source/class/qx/tool/utils/Values.js +4 -7
  1011. package/source/class/qx/tool/utils/Website.js +82 -29
  1012. package/source/class/qx/tool/utils/files/FindFiles.js +37 -33
  1013. package/source/class/qx/tool/utils/files/Utils.js +74 -54
  1014. package/source/class/qx/tool/utils/json/Parser.js +163 -54
  1015. package/source/class/qx/tool/utils/json/Stringify.js +87 -72
  1016. package/source/class/qx/tool/utils/json/Tokenizer.js +64 -39
  1017. package/source/class/qx/tool/utils/json/Writer.js +20 -21
  1018. package/source/class/qx/type/Array.js +19 -41
  1019. package/source/class/qx/type/BaseArray.js +136 -151
  1020. package/source/class/qx/type/BaseError.js +17 -34
  1021. package/source/class/qx/type/BaseString.js +104 -121
  1022. package/source/class/qx/type/__init__.js +3 -3
  1023. package/source/class/qx/ui/basic/Atom.js +75 -109
  1024. package/source/class/qx/ui/basic/Image.js +283 -319
  1025. package/source/class/qx/ui/basic/Label.js +161 -208
  1026. package/source/class/qx/ui/command/Command.js +51 -86
  1027. package/source/class/qx/ui/command/Group.js +43 -50
  1028. package/source/class/qx/ui/command/GroupManager.js +50 -53
  1029. package/source/class/qx/ui/container/Composite.js +15 -29
  1030. package/source/class/qx/ui/container/Resizer.js +7 -11
  1031. package/source/class/qx/ui/container/Scroll.js +10 -21
  1032. package/source/class/qx/ui/container/SlideBar.js +76 -119
  1033. package/source/class/qx/ui/container/Stack.js +27 -54
  1034. package/source/class/qx/ui/control/ColorPopup.js +109 -130
  1035. package/source/class/qx/ui/control/ColorSelector.js +334 -301
  1036. package/source/class/qx/ui/control/DateChooser.js +143 -177
  1037. package/source/class/qx/ui/core/Blocker.js +91 -127
  1038. package/source/class/qx/ui/core/ColumnData.js +16 -34
  1039. package/source/class/qx/ui/core/DragDropCursor.js +17 -30
  1040. package/source/class/qx/ui/core/DragDropScrolling.js +8 -14
  1041. package/source/class/qx/ui/core/EventHandler.js +108 -132
  1042. package/source/class/qx/ui/core/FocusHandler.js +78 -127
  1043. package/source/class/qx/ui/core/IMultiSelection.js +5 -9
  1044. package/source/class/qx/ui/core/ISingleSelection.js +10 -16
  1045. package/source/class/qx/ui/core/ISingleSelectionProvider.js +4 -6
  1046. package/source/class/qx/ui/core/LayoutItem.js +190 -306
  1047. package/source/class/qx/ui/core/MBlocker.js +22 -38
  1048. package/source/class/qx/ui/core/MChildrenHandling.js +14 -29
  1049. package/source/class/qx/ui/core/MContentPadding.js +50 -69
  1050. package/source/class/qx/ui/core/MDragDropScrolling.js +82 -80
  1051. package/source/class/qx/ui/core/MExecutable.js +27 -52
  1052. package/source/class/qx/ui/core/MLayoutHandling.js +6 -14
  1053. package/source/class/qx/ui/core/MMovable.js +64 -80
  1054. package/source/class/qx/ui/core/MMultiSelectionHandling.js +68 -87
  1055. package/source/class/qx/ui/core/MNativeOverflow.js +16 -26
  1056. package/source/class/qx/ui/core/MPlacement.js +171 -170
  1057. package/source/class/qx/ui/core/MRemoteChildrenHandling.js +14 -27
  1058. package/source/class/qx/ui/core/MRemoteLayoutHandling.js +4 -7
  1059. package/source/class/qx/ui/core/MResizable.js +142 -175
  1060. package/source/class/qx/ui/core/MSingleSelectionHandling.js +40 -45
  1061. package/source/class/qx/ui/core/SingleSelectionManager.js +41 -60
  1062. package/source/class/qx/ui/core/Spacer.js +12 -22
  1063. package/source/class/qx/ui/core/Widget.js +628 -983
  1064. package/source/class/qx/ui/core/queue/Appearance.js +15 -24
  1065. package/source/class/qx/ui/core/queue/Dispose.js +7 -16
  1066. package/source/class/qx/ui/core/queue/Layout.js +44 -71
  1067. package/source/class/qx/ui/core/queue/Manager.js +140 -133
  1068. package/source/class/qx/ui/core/queue/Visibility.js +21 -39
  1069. package/source/class/qx/ui/core/queue/Widget.js +15 -26
  1070. package/source/class/qx/ui/core/scroll/AbstractScrollArea.js +124 -162
  1071. package/source/class/qx/ui/core/scroll/IScrollBar.js +13 -24
  1072. package/source/class/qx/ui/core/scroll/MRoll.js +14 -19
  1073. package/source/class/qx/ui/core/scroll/MScrollBarFactory.js +3 -6
  1074. package/source/class/qx/ui/core/scroll/MWheelHandling.js +10 -12
  1075. package/source/class/qx/ui/core/scroll/NativeScrollBar.js +101 -125
  1076. package/source/class/qx/ui/core/scroll/ScrollBar.js +86 -130
  1077. package/source/class/qx/ui/core/scroll/ScrollPane.js +95 -134
  1078. package/source/class/qx/ui/core/scroll/ScrollSlider.js +13 -19
  1079. package/source/class/qx/ui/core/scroll/__init__.js +4 -4
  1080. package/source/class/qx/ui/core/selection/Abstract.js +255 -456
  1081. package/source/class/qx/ui/core/selection/ScrollArea.js +35 -73
  1082. package/source/class/qx/ui/core/selection/Widget.js +57 -120
  1083. package/source/class/qx/ui/decoration/Abstract.js +11 -20
  1084. package/source/class/qx/ui/decoration/Decorator.js +56 -55
  1085. package/source/class/qx/ui/decoration/IDecorator.js +5 -11
  1086. package/source/class/qx/ui/decoration/MBackgroundColor.js +13 -20
  1087. package/source/class/qx/ui/decoration/MBackgroundImage.js +82 -77
  1088. package/source/class/qx/ui/decoration/MBorderImage.js +72 -94
  1089. package/source/class/qx/ui/decoration/MBorderRadius.js +35 -38
  1090. package/source/class/qx/ui/decoration/MBoxShadow.js +61 -55
  1091. package/source/class/qx/ui/decoration/MDoubleBorder.js +157 -155
  1092. package/source/class/qx/ui/decoration/MLinearBackgroundGradient.js +169 -89
  1093. package/source/class/qx/ui/decoration/MSingleBorder.js +138 -124
  1094. package/source/class/qx/ui/decoration/MTransition.js +46 -42
  1095. package/source/class/qx/ui/decoration/__init__.js +2 -2
  1096. package/source/class/qx/ui/embed/AbstractIframe.js +37 -55
  1097. package/source/class/qx/ui/embed/Canvas.js +34 -66
  1098. package/source/class/qx/ui/embed/Html.js +46 -70
  1099. package/source/class/qx/ui/embed/Iframe.js +178 -158
  1100. package/source/class/qx/ui/embed/ThemedIframe.js +91 -135
  1101. package/source/class/qx/ui/form/AbstractField.js +262 -303
  1102. package/source/class/qx/ui/form/AbstractSelectBox.js +65 -87
  1103. package/source/class/qx/ui/form/Button.js +35 -73
  1104. package/source/class/qx/ui/form/CheckBox.js +26 -48
  1105. package/source/class/qx/ui/form/CheckedList.js +41 -25
  1106. package/source/class/qx/ui/form/CheckedSelectBox.js +97 -62
  1107. package/source/class/qx/ui/form/ComboBox.js +93 -121
  1108. package/source/class/qx/ui/form/DateField.js +140 -181
  1109. package/source/class/qx/ui/form/Form.js +50 -69
  1110. package/source/class/qx/ui/form/HoverButton.js +37 -54
  1111. package/source/class/qx/ui/form/IArrayForm.js +8 -16
  1112. package/source/class/qx/ui/form/IBooleanForm.js +8 -16
  1113. package/source/class/qx/ui/form/IColorForm.js +8 -16
  1114. package/source/class/qx/ui/form/IDateForm.js +8 -16
  1115. package/source/class/qx/ui/form/IExecutable.js +7 -14
  1116. package/source/class/qx/ui/form/IField.js +7 -14
  1117. package/source/class/qx/ui/form/IForm.js +17 -32
  1118. package/source/class/qx/ui/form/IListItem.js +1 -4
  1119. package/source/class/qx/ui/form/IModel.js +7 -15
  1120. package/source/class/qx/ui/form/IModelForm.js +8 -16
  1121. package/source/class/qx/ui/form/IModelSelection.js +4 -8
  1122. package/source/class/qx/ui/form/INumberForm.js +8 -15
  1123. package/source/class/qx/ui/form/IRadioItem.js +8 -17
  1124. package/source/class/qx/ui/form/IRange.js +10 -20
  1125. package/source/class/qx/ui/form/IStringForm.js +8 -16
  1126. package/source/class/qx/ui/form/List.js +82 -122
  1127. package/source/class/qx/ui/form/ListItem.js +21 -38
  1128. package/source/class/qx/ui/form/MForm.js +35 -41
  1129. package/source/class/qx/ui/form/MModelProperty.js +9 -14
  1130. package/source/class/qx/ui/form/MModelSelection.js +30 -32
  1131. package/source/class/qx/ui/form/MenuButton.js +44 -75
  1132. package/source/class/qx/ui/form/PasswordField.js +4 -6
  1133. package/source/class/qx/ui/form/RadioButton.js +36 -72
  1134. package/source/class/qx/ui/form/RadioButtonGroup.js +67 -82
  1135. package/source/class/qx/ui/form/RadioGroup.js +92 -127
  1136. package/source/class/qx/ui/form/RepeatButton.js +57 -106
  1137. package/source/class/qx/ui/form/Resetter.js +19 -29
  1138. package/source/class/qx/ui/form/SelectBox.js +56 -104
  1139. package/source/class/qx/ui/form/Slider.js +202 -269
  1140. package/source/class/qx/ui/form/Spinner.js +173 -217
  1141. package/source/class/qx/ui/form/SplitButton.js +73 -115
  1142. package/source/class/qx/ui/form/Tag.js +7 -8
  1143. package/source/class/qx/ui/form/TextArea.js +147 -153
  1144. package/source/class/qx/ui/form/TextField.js +37 -46
  1145. package/source/class/qx/ui/form/ToggleButton.js +54 -90
  1146. package/source/class/qx/ui/form/VirtualComboBox.js +73 -113
  1147. package/source/class/qx/ui/form/VirtualSelectBox.js +264 -274
  1148. package/source/class/qx/ui/form/core/AbstractVirtualBox.js +117 -157
  1149. package/source/class/qx/ui/form/core/VirtualDropDownList.js +101 -144
  1150. package/source/class/qx/ui/form/renderer/AbstractRenderer.js +48 -55
  1151. package/source/class/qx/ui/form/renderer/Double.js +25 -34
  1152. package/source/class/qx/ui/form/renderer/IFormRenderer.js +4 -8
  1153. package/source/class/qx/ui/form/renderer/Single.js +25 -35
  1154. package/source/class/qx/ui/form/renderer/SinglePlaceholder.js +12 -11
  1155. package/source/class/qx/ui/form/renderer/__init__.js +5 -5
  1156. package/source/class/qx/ui/form/validation/AsyncValidator.js +13 -19
  1157. package/source/class/qx/ui/form/validation/Manager.js +74 -108
  1158. package/source/class/qx/ui/form/validation/__init__.js +6 -6
  1159. package/source/class/qx/ui/groupbox/CheckGroupBox.js +30 -47
  1160. package/source/class/qx/ui/groupbox/GroupBox.js +36 -75
  1161. package/source/class/qx/ui/groupbox/RadioGroupBox.js +29 -59
  1162. package/source/class/qx/ui/groupbox/__init__.js +3 -3
  1163. package/source/class/qx/ui/indicator/ProgressBar.js +29 -46
  1164. package/source/class/qx/ui/layout/Abstract.js +28 -53
  1165. package/source/class/qx/ui/layout/Atom.js +95 -111
  1166. package/source/class/qx/ui/layout/Basic.js +29 -30
  1167. package/source/class/qx/ui/layout/Canvas.js +62 -99
  1168. package/source/class/qx/ui/layout/Dock.js +266 -250
  1169. package/source/class/qx/ui/layout/Flow.js +50 -76
  1170. package/source/class/qx/ui/layout/Grid.js +268 -343
  1171. package/source/class/qx/ui/layout/Grow.js +26 -32
  1172. package/source/class/qx/ui/layout/HBox.js +137 -153
  1173. package/source/class/qx/ui/layout/LineSizeIterator.js +19 -28
  1174. package/source/class/qx/ui/layout/Util.js +91 -120
  1175. package/source/class/qx/ui/layout/VBox.js +125 -147
  1176. package/source/class/qx/ui/list/List.js +148 -262
  1177. package/source/class/qx/ui/list/core/IListDelegate.js +13 -26
  1178. package/source/class/qx/ui/list/core/MWidgetController.js +51 -78
  1179. package/source/class/qx/ui/list/provider/IListProvider.js +15 -28
  1180. package/source/class/qx/ui/list/provider/WidgetProvider.js +52 -84
  1181. package/source/class/qx/ui/menu/AbstractButton.js +118 -127
  1182. package/source/class/qx/ui/menu/Button.js +11 -25
  1183. package/source/class/qx/ui/menu/ButtonLayout.js +49 -37
  1184. package/source/class/qx/ui/menu/CheckBox.js +21 -46
  1185. package/source/class/qx/ui/menu/Layout.js +45 -51
  1186. package/source/class/qx/ui/menu/Manager.js +131 -209
  1187. package/source/class/qx/ui/menu/Menu.js +164 -259
  1188. package/source/class/qx/ui/menu/MenuSlideBar.js +13 -20
  1189. package/source/class/qx/ui/menu/RadioButton.js +29 -51
  1190. package/source/class/qx/ui/menu/Separator.js +9 -16
  1191. package/source/class/qx/ui/menubar/Button.js +23 -41
  1192. package/source/class/qx/ui/menubar/MenuBar.js +9 -13
  1193. package/source/class/qx/ui/mobile/__init__.js +5 -5
  1194. package/source/class/qx/ui/mobile/basic/Atom.js +79 -101
  1195. package/source/class/qx/ui/mobile/basic/Image.js +80 -86
  1196. package/source/class/qx/ui/mobile/basic/Label.js +38 -54
  1197. package/source/class/qx/ui/mobile/container/Carousel.js +281 -188
  1198. package/source/class/qx/ui/mobile/container/Collapsible.js +57 -77
  1199. package/source/class/qx/ui/mobile/container/Composite.js +9 -13
  1200. package/source/class/qx/ui/mobile/container/Drawer.js +167 -164
  1201. package/source/class/qx/ui/mobile/container/INavigation.js +6 -10
  1202. package/source/class/qx/ui/mobile/container/IScrollDelegate.js +4 -6
  1203. package/source/class/qx/ui/mobile/container/MIScroll.js +108 -100
  1204. package/source/class/qx/ui/mobile/container/MNativeScroll.js +118 -102
  1205. package/source/class/qx/ui/mobile/container/MScrollHandling.js +8 -7
  1206. package/source/class/qx/ui/mobile/container/Navigation.js +46 -65
  1207. package/source/class/qx/ui/mobile/container/Scroll.js +140 -151
  1208. package/source/class/qx/ui/mobile/control/Picker.js +125 -112
  1209. package/source/class/qx/ui/mobile/core/Blocker.js +62 -71
  1210. package/source/class/qx/ui/mobile/core/DomUpdatedHandler.js +24 -60
  1211. package/source/class/qx/ui/mobile/core/EventHandler.js +158 -138
  1212. package/source/class/qx/ui/mobile/core/MChildrenHandling.js +14 -30
  1213. package/source/class/qx/ui/mobile/core/MLayoutHandling.js +6 -14
  1214. package/source/class/qx/ui/mobile/core/MResize.js +16 -30
  1215. package/source/class/qx/ui/mobile/core/Root.js +90 -80
  1216. package/source/class/qx/ui/mobile/core/Widget.js +351 -479
  1217. package/source/class/qx/ui/mobile/dialog/BusyIndicator.js +31 -46
  1218. package/source/class/qx/ui/mobile/dialog/Manager.js +127 -89
  1219. package/source/class/qx/ui/mobile/dialog/Menu.js +111 -122
  1220. package/source/class/qx/ui/mobile/dialog/Popup.js +202 -194
  1221. package/source/class/qx/ui/mobile/embed/Canvas.js +12 -25
  1222. package/source/class/qx/ui/mobile/embed/Html.js +13 -27
  1223. package/source/class/qx/ui/mobile/form/Button.js +12 -18
  1224. package/source/class/qx/ui/mobile/form/CheckBox.js +20 -35
  1225. package/source/class/qx/ui/mobile/form/Form.js +31 -51
  1226. package/source/class/qx/ui/mobile/form/Group.js +18 -30
  1227. package/source/class/qx/ui/mobile/form/Input.js +30 -35
  1228. package/source/class/qx/ui/mobile/form/Label.js +76 -79
  1229. package/source/class/qx/ui/mobile/form/MState.js +20 -27
  1230. package/source/class/qx/ui/mobile/form/MText.js +27 -47
  1231. package/source/class/qx/ui/mobile/form/MValue.js +66 -94
  1232. package/source/class/qx/ui/mobile/form/NumberField.js +30 -47
  1233. package/source/class/qx/ui/mobile/form/PasswordField.js +8 -14
  1234. package/source/class/qx/ui/mobile/form/RadioButton.js +25 -46
  1235. package/source/class/qx/ui/mobile/form/RadioGroup.js +2 -4
  1236. package/source/class/qx/ui/mobile/form/Row.js +14 -29
  1237. package/source/class/qx/ui/mobile/form/SelectBox.js +77 -104
  1238. package/source/class/qx/ui/mobile/form/Slider.js +116 -144
  1239. package/source/class/qx/ui/mobile/form/TextArea.js +26 -39
  1240. package/source/class/qx/ui/mobile/form/TextField.js +18 -28
  1241. package/source/class/qx/ui/mobile/form/Title.js +11 -19
  1242. package/source/class/qx/ui/mobile/form/ToggleButton.js +35 -58
  1243. package/source/class/qx/ui/mobile/form/__init__.js +1 -1
  1244. package/source/class/qx/ui/mobile/form/renderer/AbstractRenderer.js +24 -31
  1245. package/source/class/qx/ui/mobile/form/renderer/Single.js +59 -85
  1246. package/source/class/qx/ui/mobile/form/renderer/SinglePlaceholder.js +8 -16
  1247. package/source/class/qx/ui/mobile/layout/Abstract.js +48 -85
  1248. package/source/class/qx/ui/mobile/layout/AbstractBox.js +93 -125
  1249. package/source/class/qx/ui/mobile/layout/Card.js +133 -116
  1250. package/source/class/qx/ui/mobile/layout/CardAnimation.js +95 -72
  1251. package/source/class/qx/ui/mobile/layout/HBox.js +9 -12
  1252. package/source/class/qx/ui/mobile/layout/VBox.js +9 -12
  1253. package/source/class/qx/ui/mobile/list/IListDelegate.js +5 -9
  1254. package/source/class/qx/ui/mobile/list/List.js +172 -183
  1255. package/source/class/qx/ui/mobile/list/provider/Provider.js +58 -65
  1256. package/source/class/qx/ui/mobile/list/renderer/Abstract.js +54 -82
  1257. package/source/class/qx/ui/mobile/list/renderer/Default.js +39 -55
  1258. package/source/class/qx/ui/mobile/list/renderer/group/Abstract.js +20 -33
  1259. package/source/class/qx/ui/mobile/list/renderer/group/Default.js +29 -45
  1260. package/source/class/qx/ui/mobile/navigationbar/BackButton.js +11 -15
  1261. package/source/class/qx/ui/mobile/navigationbar/Button.js +11 -15
  1262. package/source/class/qx/ui/mobile/navigationbar/NavigationBar.js +23 -29
  1263. package/source/class/qx/ui/mobile/navigationbar/Title.js +12 -20
  1264. package/source/class/qx/ui/mobile/page/Manager.js +195 -169
  1265. package/source/class/qx/ui/mobile/page/NavigationPage.js +132 -196
  1266. package/source/class/qx/ui/mobile/page/Page.js +109 -148
  1267. package/source/class/qx/ui/mobile/tabbar/TabBar.js +41 -62
  1268. package/source/class/qx/ui/mobile/tabbar/TabButton.js +19 -28
  1269. package/source/class/qx/ui/mobile/toolbar/Button.js +7 -11
  1270. package/source/class/qx/ui/mobile/toolbar/Separator.js +11 -15
  1271. package/source/class/qx/ui/mobile/toolbar/ToolBar.js +30 -39
  1272. package/source/class/qx/ui/popup/Manager.js +41 -53
  1273. package/source/class/qx/ui/popup/Popup.js +22 -47
  1274. package/source/class/qx/ui/popup/__init__.js +32 -32
  1275. package/source/class/qx/ui/progressive/Progressive.js +96 -137
  1276. package/source/class/qx/ui/progressive/State.js +12 -19
  1277. package/source/class/qx/ui/progressive/headfoot/Abstract.js +10 -15
  1278. package/source/class/qx/ui/progressive/headfoot/Null.js +4 -7
  1279. package/source/class/qx/ui/progressive/headfoot/Progress.js +67 -69
  1280. package/source/class/qx/ui/progressive/headfoot/TableHeading.js +42 -54
  1281. package/source/class/qx/ui/progressive/model/Abstract.js +8 -15
  1282. package/source/class/qx/ui/progressive/model/Default.js +17 -29
  1283. package/source/class/qx/ui/progressive/renderer/Abstract.js +6 -11
  1284. package/source/class/qx/ui/progressive/renderer/FunctionCaller.js +4 -7
  1285. package/source/class/qx/ui/progressive/renderer/table/Row.js +215 -242
  1286. package/source/class/qx/ui/progressive/renderer/table/Widths.js +32 -47
  1287. package/source/class/qx/ui/progressive/renderer/table/cell/Abstract.js +17 -24
  1288. package/source/class/qx/ui/progressive/renderer/table/cell/Boolean.js +68 -79
  1289. package/source/class/qx/ui/progressive/renderer/table/cell/Conditional.js +146 -199
  1290. package/source/class/qx/ui/progressive/renderer/table/cell/Default.js +14 -32
  1291. package/source/class/qx/ui/progressive/renderer/table/cell/Html.js +2 -3
  1292. package/source/class/qx/ui/progressive/renderer/table/cell/Icon.js +38 -53
  1293. package/source/class/qx/ui/progressive/renderer/table/cell/Image.js +20 -42
  1294. package/source/class/qx/ui/progressive/renderer/table/cell/String.js +6 -12
  1295. package/source/class/qx/ui/progressive/structure/Abstract.js +14 -26
  1296. package/source/class/qx/ui/progressive/structure/Default.js +20 -40
  1297. package/source/class/qx/ui/root/Abstract.js +73 -90
  1298. package/source/class/qx/ui/root/Application.js +57 -61
  1299. package/source/class/qx/ui/root/Inline.js +78 -64
  1300. package/source/class/qx/ui/root/Page.js +25 -46
  1301. package/source/class/qx/ui/splitpane/Blocker.js +20 -30
  1302. package/source/class/qx/ui/splitpane/HLayout.js +53 -49
  1303. package/source/class/qx/ui/splitpane/Pane.js +112 -150
  1304. package/source/class/qx/ui/splitpane/Slider.js +9 -15
  1305. package/source/class/qx/ui/splitpane/Splitter.js +27 -46
  1306. package/source/class/qx/ui/splitpane/VLayout.js +53 -49
  1307. package/source/class/qx/ui/style/Stylesheet.js +12 -19
  1308. package/source/class/qx/ui/table/ICellEditorFactory.js +4 -8
  1309. package/source/class/qx/ui/table/ICellRenderer.js +3 -7
  1310. package/source/class/qx/ui/table/IColumnMenuButton.js +6 -11
  1311. package/source/class/qx/ui/table/IColumnMenuItem.js +5 -8
  1312. package/source/class/qx/ui/table/IHeaderRenderer.js +4 -8
  1313. package/source/class/qx/ui/table/IRowRenderer.js +6 -12
  1314. package/source/class/qx/ui/table/ITableModel.js +23 -41
  1315. package/source/class/qx/ui/table/MTableContextMenu.js +25 -28
  1316. package/source/class/qx/ui/table/Table.js +556 -748
  1317. package/source/class/qx/ui/table/celleditor/AbstractField.js +16 -26
  1318. package/source/class/qx/ui/table/celleditor/CheckBox.js +15 -16
  1319. package/source/class/qx/ui/table/celleditor/ComboBox.js +24 -34
  1320. package/source/class/qx/ui/table/celleditor/Dynamic.js +25 -32
  1321. package/source/class/qx/ui/table/celleditor/PasswordField.js +4 -8
  1322. package/source/class/qx/ui/table/celleditor/SelectBox.js +29 -38
  1323. package/source/class/qx/ui/table/celleditor/TextField.js +9 -14
  1324. package/source/class/qx/ui/table/cellrenderer/Abstract.js +78 -73
  1325. package/source/class/qx/ui/table/cellrenderer/AbstractImage.js +65 -84
  1326. package/source/class/qx/ui/table/cellrenderer/Boolean.js +36 -50
  1327. package/source/class/qx/ui/table/cellrenderer/Conditional.js +74 -63
  1328. package/source/class/qx/ui/table/cellrenderer/Date.js +12 -22
  1329. package/source/class/qx/ui/table/cellrenderer/Debug.js +9 -9
  1330. package/source/class/qx/ui/table/cellrenderer/Default.js +30 -52
  1331. package/source/class/qx/ui/table/cellrenderer/Dynamic.js +13 -24
  1332. package/source/class/qx/ui/table/cellrenderer/Html.js +6 -8
  1333. package/source/class/qx/ui/table/cellrenderer/Image.js +13 -26
  1334. package/source/class/qx/ui/table/cellrenderer/Number.js +13 -24
  1335. package/source/class/qx/ui/table/cellrenderer/Password.js +8 -11
  1336. package/source/class/qx/ui/table/cellrenderer/Replace.js +27 -42
  1337. package/source/class/qx/ui/table/cellrenderer/String.js +5 -7
  1338. package/source/class/qx/ui/table/columnmenu/Button.js +19 -29
  1339. package/source/class/qx/ui/table/columnmenu/MenuItem.js +11 -19
  1340. package/source/class/qx/ui/table/columnmenu/__init__.js +4 -4
  1341. package/source/class/qx/ui/table/columnmenu/grid/__init__.js +4 -4
  1342. package/source/class/qx/ui/table/columnmenu/simple/__init__.js +4 -4
  1343. package/source/class/qx/ui/table/columnmodel/Basic.js +193 -215
  1344. package/source/class/qx/ui/table/columnmodel/Resize.js +65 -111
  1345. package/source/class/qx/ui/table/columnmodel/resizebehavior/Abstract.js +17 -24
  1346. package/source/class/qx/ui/table/columnmodel/resizebehavior/Default.js +66 -117
  1347. package/source/class/qx/ui/table/headerrenderer/Default.js +25 -46
  1348. package/source/class/qx/ui/table/headerrenderer/HeaderCell.js +36 -51
  1349. package/source/class/qx/ui/table/headerrenderer/Icon.js +11 -27
  1350. package/source/class/qx/ui/table/model/Abstract.js +52 -62
  1351. package/source/class/qx/ui/table/model/Filtered.js +121 -153
  1352. package/source/class/qx/ui/table/model/Remote.js +166 -271
  1353. package/source/class/qx/ui/table/model/Simple.js +225 -252
  1354. package/source/class/qx/ui/table/pane/CellEvent.js +25 -32
  1355. package/source/class/qx/ui/table/pane/Clipper.js +8 -12
  1356. package/source/class/qx/ui/table/pane/FocusIndicator.js +42 -48
  1357. package/source/class/qx/ui/table/pane/Header.js +45 -86
  1358. package/source/class/qx/ui/table/pane/Model.js +73 -96
  1359. package/source/class/qx/ui/table/pane/Pane.js +132 -190
  1360. package/source/class/qx/ui/table/pane/Scroller.js +542 -659
  1361. package/source/class/qx/ui/table/rowrenderer/Default.js +75 -86
  1362. package/source/class/qx/ui/table/selection/Manager.js +23 -57
  1363. package/source/class/qx/ui/table/selection/Model.js +89 -179
  1364. package/source/class/qx/ui/tabview/Page.js +48 -79
  1365. package/source/class/qx/ui/tabview/TabButton.js +45 -72
  1366. package/source/class/qx/ui/tabview/TabView.js +94 -141
  1367. package/source/class/qx/ui/toolbar/Button.js +13 -18
  1368. package/source/class/qx/ui/toolbar/CheckBox.js +13 -17
  1369. package/source/class/qx/ui/toolbar/MenuButton.js +18 -34
  1370. package/source/class/qx/ui/toolbar/Part.js +42 -64
  1371. package/source/class/qx/ui/toolbar/PartContainer.js +19 -28
  1372. package/source/class/qx/ui/toolbar/RadioButton.js +12 -19
  1373. package/source/class/qx/ui/toolbar/Separator.js +15 -25
  1374. package/source/class/qx/ui/toolbar/SplitButton.js +19 -28
  1375. package/source/class/qx/ui/toolbar/ToolBar.js +182 -232
  1376. package/source/class/qx/ui/tooltip/Manager.js +125 -123
  1377. package/source/class/qx/ui/tooltip/ToolTip.js +49 -79
  1378. package/source/class/qx/ui/tooltip/__init__.js +23 -23
  1379. package/source/class/qx/ui/tree/Tree.js +95 -148
  1380. package/source/class/qx/ui/tree/TreeFile.js +8 -15
  1381. package/source/class/qx/ui/tree/TreeFolder.js +8 -15
  1382. package/source/class/qx/ui/tree/VirtualTree.js +207 -333
  1383. package/source/class/qx/ui/tree/VirtualTreeItem.js +30 -45
  1384. package/source/class/qx/ui/tree/__init__.js +50 -50
  1385. package/source/class/qx/ui/tree/core/AbstractItem.js +98 -152
  1386. package/source/class/qx/ui/tree/core/AbstractTreeItem.js +83 -137
  1387. package/source/class/qx/ui/tree/core/FolderOpenButton.js +15 -34
  1388. package/source/class/qx/ui/tree/core/IVirtualTree.js +13 -33
  1389. package/source/class/qx/ui/tree/core/IVirtualTreeDelegate.js +9 -16
  1390. package/source/class/qx/ui/tree/core/MWidgetController.js +58 -69
  1391. package/source/class/qx/ui/tree/core/OpenCloseController.js +29 -35
  1392. package/source/class/qx/ui/tree/core/Util.js +12 -16
  1393. package/source/class/qx/ui/tree/provider/IVirtualTreeProvider.js +10 -23
  1394. package/source/class/qx/ui/tree/provider/WidgetProvider.js +39 -67
  1395. package/source/class/qx/ui/tree/selection/SelectionManager.js +27 -41
  1396. package/source/class/qx/ui/treevirtual/DefaultDataCellRenderer.js +2 -3
  1397. package/source/class/qx/ui/treevirtual/MFamily.js +26 -63
  1398. package/source/class/qx/ui/treevirtual/MNode.js +43 -103
  1399. package/source/class/qx/ui/treevirtual/MTreePrimitive.js +41 -52
  1400. package/source/class/qx/ui/treevirtual/SelectionManager.js +44 -58
  1401. package/source/class/qx/ui/treevirtual/SimpleTreeDataCellRenderer.js +172 -229
  1402. package/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js +256 -367
  1403. package/source/class/qx/ui/treevirtual/SimpleTreeDataRowRenderer.js +8 -18
  1404. package/source/class/qx/ui/treevirtual/TreeVirtual.js +155 -250
  1405. package/source/class/qx/ui/treevirtual/celleditor/NodeEditor.js +10 -16
  1406. package/source/class/qx/ui/treevirtual/pane/Scroller.js +14 -11
  1407. package/source/class/qx/ui/virtual/__init__.js +4 -4
  1408. package/source/class/qx/ui/virtual/behavior/Prefetch.js +71 -86
  1409. package/source/class/qx/ui/virtual/cell/Abstract.js +18 -27
  1410. package/source/class/qx/ui/virtual/cell/AbstractImage.js +42 -51
  1411. package/source/class/qx/ui/virtual/cell/AbstractWidget.js +25 -49
  1412. package/source/class/qx/ui/virtual/cell/Boolean.js +31 -44
  1413. package/source/class/qx/ui/virtual/cell/Cell.js +143 -183
  1414. package/source/class/qx/ui/virtual/cell/CellStylesheet.js +31 -38
  1415. package/source/class/qx/ui/virtual/cell/Date.js +15 -24
  1416. package/source/class/qx/ui/virtual/cell/Html.js +9 -20
  1417. package/source/class/qx/ui/virtual/cell/ICell.js +4 -6
  1418. package/source/class/qx/ui/virtual/cell/IWidgetCell.js +7 -12
  1419. package/source/class/qx/ui/virtual/cell/IWidgetCellDelegate.js +4 -6
  1420. package/source/class/qx/ui/virtual/cell/Image.js +8 -14
  1421. package/source/class/qx/ui/virtual/cell/Number.js +14 -23
  1422. package/source/class/qx/ui/virtual/cell/String.js +11 -20
  1423. package/source/class/qx/ui/virtual/cell/WidgetCell.js +13 -16
  1424. package/source/class/qx/ui/virtual/cell/__init__.js +4 -4
  1425. package/source/class/qx/ui/virtual/core/Axis.js +75 -103
  1426. package/source/class/qx/ui/virtual/core/CellEvent.js +23 -31
  1427. package/source/class/qx/ui/virtual/core/IHtmlCellProvider.js +4 -6
  1428. package/source/class/qx/ui/virtual/core/ILayer.js +5 -15
  1429. package/source/class/qx/ui/virtual/core/IWidgetCellProvider.js +5 -7
  1430. package/source/class/qx/ui/virtual/core/Pane.js +199 -242
  1431. package/source/class/qx/ui/virtual/core/Scroller.js +25 -43
  1432. package/source/class/qx/ui/virtual/layer/Abstract.js +44 -83
  1433. package/source/class/qx/ui/virtual/layer/AbstractBackground.js +47 -68
  1434. package/source/class/qx/ui/virtual/layer/CellSpanManager.js +74 -96
  1435. package/source/class/qx/ui/virtual/layer/Column.js +26 -36
  1436. package/source/class/qx/ui/virtual/layer/GridLines.js +43 -70
  1437. package/source/class/qx/ui/virtual/layer/HtmlCell.js +34 -32
  1438. package/source/class/qx/ui/virtual/layer/HtmlCellSpan.js +54 -56
  1439. package/source/class/qx/ui/virtual/layer/Row.js +28 -36
  1440. package/source/class/qx/ui/virtual/layer/WidgetCell.js +87 -123
  1441. package/source/class/qx/ui/virtual/layer/WidgetCellSpan.js +123 -124
  1442. package/source/class/qx/ui/virtual/selection/Abstract.js +26 -54
  1443. package/source/class/qx/ui/virtual/selection/CellLines.js +11 -21
  1444. package/source/class/qx/ui/virtual/selection/CellRectangle.js +45 -73
  1445. package/source/class/qx/ui/virtual/selection/Column.js +16 -35
  1446. package/source/class/qx/ui/virtual/selection/ISelectionDelegate.js +5 -9
  1447. package/source/class/qx/ui/virtual/selection/MModel.js +84 -122
  1448. package/source/class/qx/ui/virtual/selection/Row.js +29 -61
  1449. package/source/class/qx/ui/website/Accordion.js +39 -42
  1450. package/source/class/qx/ui/website/Button.js +17 -25
  1451. package/source/class/qx/ui/website/Calendar.js +243 -172
  1452. package/source/class/qx/ui/website/Carousel.js +169 -155
  1453. package/source/class/qx/ui/website/DatePicker.js +99 -85
  1454. package/source/class/qx/ui/website/Rating.js +35 -53
  1455. package/source/class/qx/ui/website/Slider.js +174 -153
  1456. package/source/class/qx/ui/website/Table.js +482 -456
  1457. package/source/class/qx/ui/website/Tabs.js +225 -180
  1458. package/source/class/qx/ui/website/Widget.js +39 -52
  1459. package/source/class/qx/ui/window/Desktop.js +14 -12
  1460. package/source/class/qx/ui/window/IDesktop.js +8 -10
  1461. package/source/class/qx/ui/window/IWindowManager.js +7 -9
  1462. package/source/class/qx/ui/window/MDesktop.js +34 -62
  1463. package/source/class/qx/ui/window/Manager.js +31 -57
  1464. package/source/class/qx/ui/window/Window.js +250 -351
  1465. package/source/class/qx/util/AliasManager.js +23 -42
  1466. package/source/class/qx/util/Animation.js +248 -191
  1467. package/source/class/qx/util/Base64.js +144 -89
  1468. package/source/class/qx/util/ColorUtil.js +253 -287
  1469. package/source/class/qx/util/DeferredCall.js +21 -30
  1470. package/source/class/qx/util/DeferredCallManager.js +23 -44
  1471. package/source/class/qx/util/Delegate.js +4 -10
  1472. package/source/class/qx/util/DisposeUtil.js +76 -70
  1473. package/source/class/qx/util/DynamicScriptLoader.js +83 -66
  1474. package/source/class/qx/util/EditDistance.js +64 -58
  1475. package/source/class/qx/util/ExtendedColor.js +157 -163
  1476. package/source/class/qx/util/Function.js +8 -8
  1477. package/source/class/qx/util/LibraryManager.js +11 -18
  1478. package/source/class/qx/util/OOUtil.js +17 -36
  1479. package/source/class/qx/util/ObjectPool.js +19 -45
  1480. package/source/class/qx/util/Permutation.js +9 -16
  1481. package/source/class/qx/util/PropertyUtil.js +58 -70
  1482. package/source/class/qx/util/Request.js +27 -16
  1483. package/source/class/qx/util/ResourceManager.js +103 -104
  1484. package/source/class/qx/util/ResponseParser.js +14 -21
  1485. package/source/class/qx/util/RingBuffer.js +46 -48
  1486. package/source/class/qx/util/Serializer.js +103 -68
  1487. package/source/class/qx/util/StringBuilder.js +11 -22
  1488. package/source/class/qx/util/StringEscape.js +15 -29
  1489. package/source/class/qx/util/StringSplit.js +18 -21
  1490. package/source/class/qx/util/TimerManager.js +61 -70
  1491. package/source/class/qx/util/Uri.js +42 -30
  1492. package/source/class/qx/util/Uuid.js +50 -35
  1493. package/source/class/qx/util/Validate.js +88 -73
  1494. package/source/class/qx/util/ValueManager.js +17 -29
  1495. package/source/class/qx/util/Wheel.js +22 -16
  1496. package/source/class/qx/util/format/DateFormat.js +822 -759
  1497. package/source/class/qx/util/format/IFormat.js +4 -8
  1498. package/source/class/qx/util/format/NumberFormat.js +84 -91
  1499. package/source/class/qx/util/fsm/FiniteStateMachine.js +323 -382
  1500. package/source/class/qx/util/fsm/State.js +210 -249
  1501. package/source/class/qx/util/fsm/Transition.js +138 -160
  1502. package/source/class/qx/util/placement/AbstractAxis.js +12 -14
  1503. package/source/class/qx/util/placement/BestFitAxis.js +5 -8
  1504. package/source/class/qx/util/placement/DirectAxis.js +5 -7
  1505. package/source/class/qx/util/placement/KeepAlignAxis.js +8 -14
  1506. package/source/class/qx/util/placement/Placement.js +39 -56
  1507. package/source/class/qx/util/placement/__init__.js +4 -4
  1508. package/source/class/qx/xml/Document.js +21 -34
  1509. package/source/class/qx/xml/Element.js +90 -73
  1510. package/source/class/qx/xml/String.js +15 -21
  1511. package/source/class/qxWeb.js +102 -69
  1512. package/source/resource/qx/mobile/js/iscroll.js +1328 -982
  1513. package/source/resource/qx/mobile/js/iscroll.min.js +1081 -1
  1514. package/source/resource/qx/test/dynamicscriptloader/first.js +1 -1
  1515. package/source/resource/qx/test/dynamicscriptloader/second.js +1 -1
  1516. package/source/resource/qx/test/dynamicscriptloader/third.js +1 -1
  1517. package/source/resource/qx/test/script.js +1 -1
  1518. package/source/resource/qx/test/webworker.js +2 -2
  1519. package/source/resource/qx/tool/loadsass.js +16 -15
  1520. package/source/resource/qx/tool/schema/compile-1-0-0.json +13 -13
  1521. package/source/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
  1522. package/source/resource/qx/tool/website/build/assets/buttons.js +391 -1
  1523. package/source/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
  1524. package/source/resource/qx/tool/website/build/assets/jquery.js +5452 -3
  1525. package/source/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
  1526. package/source/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
  1527. package/source/resource/qx/tool/website/build/scripts/serve.js +87 -66
  1528. package/source/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
  1529. package/source/resource/qx/tool/website/src/assets/buttons.js +391 -1
  1530. package/source/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
  1531. package/source/resource/qx/tool/website/src/assets/jquery.js +5452 -3
  1532. package/source/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
  1533. package/source/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
  1534. package/source/resource/qx/tool/website/src/scripts/serve.js +87 -66
  1535. package/lib/resource/qx/static/blank.gif +0 -0
  1536. package/source/class/qx/io/remote/Exchange.js +0 -1063
  1537. package/source/class/qx/io/remote/Request.js +0 -1021
  1538. package/source/class/qx/io/remote/RequestQueue.js +0 -521
  1539. package/source/class/qx/io/remote/Response.js +0 -137
  1540. package/source/class/qx/io/remote/Rpc.js +0 -1075
  1541. package/source/class/qx/io/remote/RpcError.js +0 -198
  1542. package/source/class/qx/io/remote/__init__.js +0 -88
  1543. package/source/class/qx/io/remote/transport/Abstract.js +0 -513
  1544. package/source/class/qx/io/remote/transport/Iframe.js +0 -652
  1545. package/source/class/qx/io/remote/transport/Script.js +0 -475
  1546. package/source/class/qx/io/remote/transport/XmlHttp.js +0 -1019
  1547. package/source/class/qx/io/remote/transport/__init__.js +0 -3
  1548. package/source/class/qx/test/io/remote/AbstractRequest.js +0 -150
  1549. package/source/class/qx/test/io/remote/RequestIframe.js +0 -105
  1550. package/source/class/qx/test/io/remote/RequestXhr.js +0 -151
  1551. package/source/class/qx/test/io/remote/Rpc.js +0 -205
  1552. package/source/class/qx/test/io/remote/__init__.js +0 -4
  1553. package/source/class/qx/test/io/remote/transport/Iframe.js +0 -67
  1554. package/source/class/qx/test/io/remote/transport/XmlHttp.js +0 -133
  1555. package/source/class/qx/test/io/remote/transport/__init__.js +0 -4
@@ -39,12 +39,10 @@
39
39
  *
40
40
  * @ignore(qx.ui.root.Inline)
41
41
  */
42
- qx.Class.define("qx.ui.core.Widget",
43
- {
44
- extend : qx.ui.core.LayoutItem,
45
- include : [qx.locale.MTranslation],
46
- implement: [ qx.core.IDisposable ],
47
-
42
+ qx.Class.define("qx.ui.core.Widget", {
43
+ extend: qx.ui.core.LayoutItem,
44
+ include: [qx.locale.MTranslation],
45
+ implement: [qx.core.IDisposable],
48
46
 
49
47
  /*
50
48
  *****************************************************************************
@@ -52,9 +50,8 @@ qx.Class.define("qx.ui.core.Widget",
52
50
  *****************************************************************************
53
51
  */
54
52
 
55
- construct : function()
56
- {
57
- this.base(arguments);
53
+ construct() {
54
+ super();
58
55
 
59
56
  // Create basic element
60
57
  this.__contentElement = this.__createContentElement();
@@ -65,47 +62,42 @@ qx.Class.define("qx.ui.core.Widget",
65
62
  this.initNativeContextMenu();
66
63
  },
67
64
 
68
-
69
-
70
-
71
65
  /*
72
66
  *****************************************************************************
73
67
  EVENTS
74
68
  *****************************************************************************
75
69
  */
76
70
 
77
- events :
78
- {
71
+ events: {
79
72
  /**
80
73
  * Fired after the widget appears on the screen.
81
74
  */
82
- appear : "qx.event.type.Event",
75
+ appear: "qx.event.type.Event",
83
76
 
84
77
  /**
85
78
  * Fired after the widget disappears from the screen.
86
79
  */
87
- disappear : "qx.event.type.Event",
80
+ disappear: "qx.event.type.Event",
88
81
 
89
82
  /**
90
83
  * Fired after the creation of a child control. The passed data is the
91
84
  * newly created child widget.
92
85
  */
93
- createChildControl : "qx.event.type.Data",
94
-
86
+ createChildControl: "qx.event.type.Data",
95
87
 
96
88
  /**
97
89
  * Fired on resize (after layout) of the widget.
98
90
  * The data property of the event contains the widget's computed location
99
91
  * and dimension as returned by {@link qx.ui.core.LayoutItem#getBounds}
100
92
  */
101
- resize : "qx.event.type.Data",
93
+ resize: "qx.event.type.Data",
102
94
 
103
95
  /**
104
96
  * Fired on move (after layout) of the widget.
105
97
  * The data property of the event contains the widget's computed location
106
98
  * and dimension as returned by {@link qx.ui.core.LayoutItem#getBounds}
107
99
  */
108
- move : "qx.event.type.Data",
100
+ move: "qx.event.type.Data",
109
101
 
110
102
  /**
111
103
  * Fired after the appearance has been applied. This happens before the
@@ -113,132 +105,130 @@ qx.Class.define("qx.ui.core.Widget",
113
105
  * contains the state map. This can be used to react on state changes or to
114
106
  * read properties set by the appearance.
115
107
  */
116
- syncAppearance : "qx.event.type.Data",
117
-
118
-
108
+ syncAppearance: "qx.event.type.Data",
119
109
 
120
110
  /** Fired if the mouse cursor moves over the widget.
121
111
  * The data property of the event contains the widget's computed location
122
112
  * and dimension as returned by {@link qx.ui.core.LayoutItem#getBounds}
123
113
  */
124
- mousemove : "qx.event.type.Mouse",
114
+ mousemove: "qx.event.type.Mouse",
125
115
 
126
116
  /**
127
117
  * Fired if the mouse cursor enters the widget.
128
118
  *
129
119
  * Note: This event is also dispatched if the widget is disabled!
130
120
  */
131
- mouseover : "qx.event.type.Mouse",
121
+ mouseover: "qx.event.type.Mouse",
132
122
 
133
123
  /**
134
124
  * Fired if the mouse cursor leaves widget.
135
125
  *
136
126
  * Note: This event is also dispatched if the widget is disabled!
137
127
  */
138
- mouseout : "qx.event.type.Mouse",
128
+ mouseout: "qx.event.type.Mouse",
139
129
 
140
130
  /** Mouse button is pressed on the widget. */
141
- mousedown : "qx.event.type.Mouse",
131
+ mousedown: "qx.event.type.Mouse",
142
132
 
143
133
  /** Mouse button is released on the widget. */
144
- mouseup : "qx.event.type.Mouse",
134
+ mouseup: "qx.event.type.Mouse",
145
135
 
146
136
  /** Widget is clicked using left or middle button.
147
137
  {@link qx.event.type.Mouse#getButton} for more details.*/
148
- click : "qx.event.type.Mouse",
138
+ click: "qx.event.type.Mouse",
149
139
 
150
140
  /** Widget is clicked using a non primary button.
151
141
  {@link qx.event.type.Mouse#getButton} for more details.*/
152
- auxclick : "qx.event.type.Mouse",
142
+ auxclick: "qx.event.type.Mouse",
153
143
 
154
144
  /** Widget is double clicked using left or middle button.
155
145
  {@link qx.event.type.Mouse#getButton} for more details.*/
156
- dblclick : "qx.event.type.Mouse",
146
+ dblclick: "qx.event.type.Mouse",
157
147
 
158
148
  /** Widget is clicked using the right mouse button. */
159
- contextmenu : "qx.event.type.Mouse",
149
+ contextmenu: "qx.event.type.Mouse",
160
150
 
161
151
  /** Fired before the context menu is opened. */
162
- beforeContextmenuOpen : "qx.event.type.Data",
152
+ beforeContextmenuOpen: "qx.event.type.Data",
163
153
 
164
154
  /** Fired if the mouse wheel is used over the widget. */
165
- mousewheel : "qx.event.type.MouseWheel",
155
+ mousewheel: "qx.event.type.MouseWheel",
166
156
 
167
157
  /** Fired if a touch at the screen is started. */
168
- touchstart : "qx.event.type.Touch",
158
+ touchstart: "qx.event.type.Touch",
169
159
 
170
160
  /** Fired if a touch at the screen has ended. */
171
- touchend : "qx.event.type.Touch",
161
+ touchend: "qx.event.type.Touch",
172
162
 
173
163
  /** Fired during a touch at the screen. */
174
- touchmove : "qx.event.type.Touch",
164
+ touchmove: "qx.event.type.Touch",
175
165
 
176
166
  /** Fired if a touch at the screen is canceled. */
177
- touchcancel : "qx.event.type.Touch",
167
+ touchcancel: "qx.event.type.Touch",
178
168
 
179
169
  /** Fired when a pointer taps on the screen. */
180
- tap : "qx.event.type.Tap",
170
+ tap: "qx.event.type.Tap",
181
171
 
182
172
  /** Fired when a pointer holds on the screen. */
183
- longtap : "qx.event.type.Tap",
173
+ longtap: "qx.event.type.Tap",
184
174
 
185
175
  /** Fired when a pointer taps twice on the screen. */
186
- dbltap : "qx.event.type.Tap",
176
+ dbltap: "qx.event.type.Tap",
187
177
 
188
178
  /** Fired when a pointer swipes over the screen. */
189
- swipe : "qx.event.type.Touch",
179
+ swipe: "qx.event.type.Touch",
190
180
 
191
181
  /** Fired when two pointers performing a rotate gesture on the screen. */
192
- rotate : "qx.event.type.Rotate",
182
+ rotate: "qx.event.type.Rotate",
193
183
 
194
184
  /** Fired when two pointers performing a pinch in/out gesture on the screen. */
195
- pinch : "qx.event.type.Pinch",
185
+ pinch: "qx.event.type.Pinch",
196
186
 
197
187
  /** Fired when an active pointer moves on the screen (after pointerdown till pointerup). */
198
- track : "qx.event.type.Track",
188
+ track: "qx.event.type.Track",
199
189
 
200
190
  /** Fired when an active pointer moves on the screen or the mouse wheel is used. */
201
- roll : "qx.event.type.Roll",
191
+ roll: "qx.event.type.Roll",
202
192
 
203
193
  /** Fired if a pointer (mouse/touch/pen) moves or changes any of it's values. */
204
- pointermove : "qx.event.type.Pointer",
194
+ pointermove: "qx.event.type.Pointer",
205
195
 
206
196
  /** Fired if a pointer (mouse/touch/pen) hovers the widget. */
207
- pointerover : "qx.event.type.Pointer",
197
+ pointerover: "qx.event.type.Pointer",
208
198
 
209
199
  /** Fired if a pointer (mouse/touch/pen) leaves this widget. */
210
- pointerout : "qx.event.type.Pointer",
200
+ pointerout: "qx.event.type.Pointer",
211
201
 
212
202
  /**
213
203
  * Fired if a pointer (mouse/touch/pen) button is pressed or
214
204
  * a finger touches the widget.
215
205
  */
216
- pointerdown : "qx.event.type.Pointer",
206
+ pointerdown: "qx.event.type.Pointer",
217
207
 
218
208
  /**
219
209
  * Fired if all pointer (mouse/touch/pen) buttons are released or
220
210
  * the finger is lifted from the widget.
221
211
  */
222
- pointerup : "qx.event.type.Pointer",
212
+ pointerup: "qx.event.type.Pointer",
223
213
 
224
214
  /** Fired if a pointer (mouse/touch/pen) action is canceled. */
225
- pointercancel : "qx.event.type.Pointer",
215
+ pointercancel: "qx.event.type.Pointer",
226
216
 
227
217
  /** This event if fired if a keyboard key is released. */
228
- keyup : "qx.event.type.KeySequence",
218
+ keyup: "qx.event.type.KeySequence",
229
219
 
230
220
  /**
231
221
  * This event if fired if a keyboard key is pressed down. This event is
232
222
  * only fired once if the user keeps the key pressed for a while.
233
223
  */
234
- keydown : "qx.event.type.KeySequence",
224
+ keydown: "qx.event.type.KeySequence",
235
225
 
236
226
  /**
237
227
  * This event is fired any time a key is pressed. It will be repeated if
238
228
  * the user keeps the key pressed. The pressed key can be determined using
239
229
  * {@link qx.event.type.KeySequence#getKeyIdentifier}.
240
230
  */
241
- keypress : "qx.event.type.KeySequence",
231
+ keypress: "qx.event.type.KeySequence",
242
232
 
243
233
  /**
244
234
  * This event is fired if the pressed key or keys result in a printable
@@ -249,56 +239,50 @@ qx.Class.define("qx.ui.core.Widget",
249
239
  * The unicode code of the pressed key can be read using
250
240
  * {@link qx.event.type.KeyInput#getCharCode}.
251
241
  */
252
- keyinput : "qx.event.type.KeyInput",
253
-
254
-
242
+ keyinput: "qx.event.type.KeyInput",
255
243
 
256
244
  /**
257
245
  * The event is fired when the widget gets focused. Only widgets which are
258
246
  * {@link #focusable} receive this event.
259
247
  */
260
- focus : "qx.event.type.Focus",
248
+ focus: "qx.event.type.Focus",
261
249
 
262
250
  /**
263
251
  * The event is fired when the widget gets blurred. Only widgets which are
264
252
  * {@link #focusable} receive this event.
265
253
  */
266
- blur : "qx.event.type.Focus",
254
+ blur: "qx.event.type.Focus",
267
255
 
268
256
  /**
269
257
  * When the widget itself or any child of the widget receive the focus.
270
258
  */
271
- focusin : "qx.event.type.Focus",
259
+ focusin: "qx.event.type.Focus",
272
260
 
273
261
  /**
274
262
  * When the widget itself or any child of the widget lost the focus.
275
263
  */
276
- focusout : "qx.event.type.Focus",
264
+ focusout: "qx.event.type.Focus",
277
265
 
278
266
  /**
279
267
  * When the widget gets active (receives keyboard events etc.)
280
268
  */
281
- activate : "qx.event.type.Focus",
269
+ activate: "qx.event.type.Focus",
282
270
 
283
271
  /**
284
272
  * When the widget gets inactive
285
273
  */
286
- deactivate : "qx.event.type.Focus",
287
-
288
-
274
+ deactivate: "qx.event.type.Focus",
289
275
 
290
276
  /**
291
277
  * Fired if the widget becomes the capturing widget by a call to {@link #capture}.
292
278
  */
293
- capture : "qx.event.type.Event",
279
+ capture: "qx.event.type.Event",
294
280
 
295
281
  /**
296
282
  * Fired if the widget looses the capturing mode by a call to
297
283
  * {@link #releaseCapture} or a mouse click.
298
284
  */
299
- losecapture : "qx.event.type.Event",
300
-
301
-
285
+ losecapture: "qx.event.type.Event",
302
286
 
303
287
  /**
304
288
  * Fired on the drop target when the drag&drop action is finished
@@ -308,7 +292,7 @@ qx.Class.define("qx.ui.core.Widget",
308
292
  * Modeled after the WHATWG specification of Drag&Drop:
309
293
  * http://www.whatwg.org/specs/web-apps/current-work/#dnd
310
294
  */
311
- drop : "qx.event.type.Drag",
295
+ drop: "qx.event.type.Drag",
312
296
 
313
297
  /**
314
298
  * Fired on a potential drop target when leaving it.
@@ -316,7 +300,7 @@ qx.Class.define("qx.ui.core.Widget",
316
300
  * Modeled after the WHATWG specification of Drag&Drop:
317
301
  * http://www.whatwg.org/specs/web-apps/current-work/#dnd
318
302
  */
319
- dragleave : "qx.event.type.Drag",
303
+ dragleave: "qx.event.type.Drag",
320
304
 
321
305
  /**
322
306
  * Fired on a potential drop target when reaching it via the pointer.
@@ -326,7 +310,7 @@ qx.Class.define("qx.ui.core.Widget",
326
310
  * Modeled after the WHATWG specification of Drag&Drop:
327
311
  * http://www.whatwg.org/specs/web-apps/current-work/#dnd
328
312
  */
329
- dragover : "qx.event.type.Drag",
313
+ dragover: "qx.event.type.Drag",
330
314
 
331
315
  /**
332
316
  * Fired during the drag. Contains the current pointer coordinates
@@ -336,7 +320,7 @@ qx.Class.define("qx.ui.core.Widget",
336
320
  * Modeled after the WHATWG specification of Drag&Drop:
337
321
  * http://www.whatwg.org/specs/web-apps/current-work/#dnd
338
322
  */
339
- drag : "qx.event.type.Drag",
323
+ drag: "qx.event.type.Drag",
340
324
 
341
325
  /**
342
326
  * Initiate the drag-and-drop operation. This event is cancelable
@@ -345,12 +329,12 @@ qx.Class.define("qx.ui.core.Widget",
345
329
  * Modeled after the WHATWG specification of Drag&Drop:
346
330
  * http://www.whatwg.org/specs/web-apps/current-work/#dnd
347
331
  */
348
- dragstart : "qx.event.type.Drag",
332
+ dragstart: "qx.event.type.Drag",
349
333
 
350
334
  /**
351
335
  * Fired on the source (drag) target every time a drag session was ended.
352
336
  */
353
- dragend : "qx.event.type.Drag",
337
+ dragend: "qx.event.type.Drag",
354
338
 
355
339
  /**
356
340
  * Fired when the drag configuration has been modified e.g. the user
@@ -359,7 +343,7 @@ qx.Class.define("qx.ui.core.Widget",
359
343
  * droppable element, you can cancel the event and prevent a drop based on
360
344
  * e.g. the current action.
361
345
  */
362
- dragchange : "qx.event.type.Drag",
346
+ dragchange: "qx.event.type.Drag",
363
347
 
364
348
  /**
365
349
  * Fired when the drop was successfully done and the target widget
@@ -367,21 +351,16 @@ qx.Class.define("qx.ui.core.Widget",
367
351
  * respecting the selected action, to the event. This can be done using
368
352
  * the event's {@link qx.event.type.Drag#addData} method.
369
353
  */
370
- droprequest : "qx.event.type.Drag"
354
+ droprequest: "qx.event.type.Drag"
371
355
  },
372
356
 
373
-
374
-
375
-
376
-
377
357
  /*
378
358
  *****************************************************************************
379
359
  PROPERTIES
380
360
  *****************************************************************************
381
361
  */
382
362
 
383
- properties :
384
- {
363
+ properties: {
385
364
  /*
386
365
  ---------------------------------------------------------------------------
387
366
  PADDING
@@ -389,45 +368,37 @@ qx.Class.define("qx.ui.core.Widget",
389
368
  */
390
369
 
391
370
  /** Padding of the widget (top) */
392
- paddingTop :
393
- {
394
- check : "Integer",
395
- init : 0,
396
- apply : "_applyPadding",
397
- themeable : true
371
+ paddingTop: {
372
+ check: "Integer",
373
+ init: 0,
374
+ apply: "_applyPadding",
375
+ themeable: true
398
376
  },
399
377
 
400
-
401
378
  /** Padding of the widget (right) */
402
- paddingRight :
403
- {
404
- check : "Integer",
405
- init : 0,
406
- apply : "_applyPadding",
407
- themeable : true
379
+ paddingRight: {
380
+ check: "Integer",
381
+ init: 0,
382
+ apply: "_applyPadding",
383
+ themeable: true
408
384
  },
409
385
 
410
-
411
386
  /** Padding of the widget (bottom) */
412
- paddingBottom :
413
- {
414
- check : "Integer",
415
- init : 0,
416
- apply : "_applyPadding",
417
- themeable : true
387
+ paddingBottom: {
388
+ check: "Integer",
389
+ init: 0,
390
+ apply: "_applyPadding",
391
+ themeable: true
418
392
  },
419
393
 
420
-
421
394
  /** Padding of the widget (left) */
422
- paddingLeft :
423
- {
424
- check : "Integer",
425
- init : 0,
426
- apply : "_applyPadding",
427
- themeable : true
395
+ paddingLeft: {
396
+ check: "Integer",
397
+ init: 0,
398
+ apply: "_applyPadding",
399
+ themeable: true
428
400
  },
429
401
 
430
-
431
402
  /**
432
403
  * The 'padding' property is a shorthand property for setting 'paddingTop',
433
404
  * 'paddingRight', 'paddingBottom' and 'paddingLeft' at the same time.
@@ -436,18 +407,12 @@ qx.Class.define("qx.ui.core.Widget",
436
407
  * If there is only one value, it applies to all sides, if there are two or three,
437
408
  * the missing values are taken from the opposite side.
438
409
  */
439
- padding :
440
- {
441
- group : [ "paddingTop", "paddingRight", "paddingBottom", "paddingLeft" ],
442
- mode : "shorthand",
443
- themeable : true
410
+ padding: {
411
+ group: ["paddingTop", "paddingRight", "paddingBottom", "paddingLeft"],
412
+ mode: "shorthand",
413
+ themeable: true
444
414
  },
445
415
 
446
-
447
-
448
-
449
-
450
-
451
416
  /*
452
417
  ---------------------------------------------------------------------------
453
418
  STYLING PROPERTIES
@@ -458,17 +423,15 @@ qx.Class.define("qx.ui.core.Widget",
458
423
  * The z-index property sets the stack order of an element. An element with
459
424
  * greater stack order is always in front of another element with lower stack order.
460
425
  */
461
- zIndex :
462
- {
463
- nullable : true,
464
- init : 10,
465
- apply : "_applyZIndex",
466
- event : "changeZIndex",
467
- check : "Integer",
468
- themeable : true
426
+ zIndex: {
427
+ nullable: true,
428
+ init: 10,
429
+ apply: "_applyZIndex",
430
+ event: "changeZIndex",
431
+ check: "Integer",
432
+ themeable: true
469
433
  },
470
434
 
471
-
472
435
  /**
473
436
  * The decorator property points to an object, which is responsible
474
437
  * for drawing the widget's decoration, e.g. border, background or shadow.
@@ -476,60 +439,52 @@ qx.Class.define("qx.ui.core.Widget",
476
439
  * This can be a decorator object or a string pointing to a decorator
477
440
  * defined in the decoration theme.
478
441
  */
479
- decorator :
480
- {
481
- nullable : true,
482
- init : null,
483
- apply : "_applyDecorator",
484
- event : "changeDecorator",
485
- check : "Decorator",
486
- themeable : true
442
+ decorator: {
443
+ nullable: true,
444
+ init: null,
445
+ apply: "_applyDecorator",
446
+ event: "changeDecorator",
447
+ check: "Decorator",
448
+ themeable: true
487
449
  },
488
450
 
489
-
490
451
  /**
491
452
  * The background color the rendered widget.
492
453
  */
493
- backgroundColor :
494
- {
495
- nullable : true,
496
- check : "Color",
497
- apply : "_applyBackgroundColor",
498
- event : "changeBackgroundColor",
499
- themeable : true
454
+ backgroundColor: {
455
+ nullable: true,
456
+ check: "Color",
457
+ apply: "_applyBackgroundColor",
458
+ event: "changeBackgroundColor",
459
+ themeable: true
500
460
  },
501
461
 
502
-
503
462
  /**
504
463
  * The text color the rendered widget.
505
464
  */
506
- textColor :
507
- {
508
- nullable : true,
509
- check : "Color",
510
- apply : "_applyTextColor",
511
- event : "changeTextColor",
512
- themeable : true,
513
- inheritable : true
465
+ textColor: {
466
+ nullable: true,
467
+ check: "Color",
468
+ apply: "_applyTextColor",
469
+ event: "changeTextColor",
470
+ themeable: true,
471
+ inheritable: true
514
472
  },
515
473
 
516
-
517
474
  /**
518
475
  * The widget's font. The value is either a font name defined in the font
519
476
  * theme or an instance of {@link qx.bom.Font}.
520
477
  */
521
- font :
522
- {
523
- nullable : true,
524
- apply : "_applyFont",
525
- check : "Font",
526
- event : "changeFont",
527
- themeable : true,
528
- inheritable : true,
529
- dereference : true
478
+ font: {
479
+ nullable: true,
480
+ apply: "_applyFont",
481
+ check: "Font",
482
+ event: "changeFont",
483
+ themeable: true,
484
+ inheritable: true,
485
+ dereference: true
530
486
  },
531
487
 
532
-
533
488
  /**
534
489
  * Mapping to native style property opacity.
535
490
  *
@@ -538,16 +493,14 @@ qx.Class.define("qx.ui.core.Widget",
538
493
  * Any values outside the range 0.0 (fully transparent) to 1.0
539
494
  * (fully opaque) will be clamped to this range.
540
495
  */
541
- opacity :
542
- {
543
- check : "Number",
544
- apply : "_applyOpacity",
545
- themeable : true,
546
- nullable : true,
547
- init : null
496
+ opacity: {
497
+ check: "Number",
498
+ apply: "_applyOpacity",
499
+ themeable: true,
500
+ nullable: true,
501
+ init: null
548
502
  },
549
503
 
550
-
551
504
  /**
552
505
  * Mapping to native style property cursor.
553
506
  *
@@ -574,17 +527,15 @@ qx.Class.define("qx.ui.core.Widget",
574
527
  * <li>help </li>
575
528
  * </ul>
576
529
  */
577
- cursor :
578
- {
579
- check : "String",
580
- apply : "_applyCursor",
581
- themeable : true,
582
- inheritable : true,
583
- nullable : true,
584
- init : null
530
+ cursor: {
531
+ check: "String",
532
+ apply: "_applyCursor",
533
+ themeable: true,
534
+ inheritable: true,
535
+ nullable: true,
536
+ init: null
585
537
  },
586
538
 
587
-
588
539
  /**
589
540
  * Sets the tooltip instance to use for this widget. If only the tooltip
590
541
  * text and icon have to be set its better to use the {@link #toolTipText}
@@ -594,60 +545,52 @@ qx.Class.define("qx.ui.core.Widget",
594
545
  * If this property is set the {@link #toolTipText} and {@link #toolTipIcon}
595
546
  * properties are ignored.
596
547
  */
597
- toolTip :
598
- {
599
- check : "qx.ui.tooltip.ToolTip",
600
- nullable : true
548
+ toolTip: {
549
+ check: "qx.ui.tooltip.ToolTip",
550
+ nullable: true
601
551
  },
602
552
 
603
-
604
553
  /**
605
554
  * The text of the widget's tooltip. This text can contain HTML markup.
606
555
  * The text is displayed using a shared tooltip instance. If the tooltip
607
556
  * must be customized beyond the text and an icon {@link #toolTipIcon}, the
608
557
  * {@link #toolTip} property has to be used
609
558
  */
610
- toolTipText :
611
- {
612
- check : "String",
613
- nullable : true,
614
- event : "changeToolTipText",
615
- apply : "_applyToolTipText"
559
+ toolTipText: {
560
+ check: "String",
561
+ nullable: true,
562
+ event: "changeToolTipText",
563
+ apply: "_applyToolTipText"
616
564
  },
617
565
 
618
-
619
566
  /**
620
- * The icon URI of the widget's tooltip. This icon is displayed using a shared
621
- * tooltip instance. If the tooltip must be customized beyond the tooltip text
622
- * {@link #toolTipText} and the icon, the {@link #toolTip} property has to be
623
- * used.
624
- */
625
- toolTipIcon :
626
- {
627
- check : "String",
628
- nullable : true,
629
- event : "changeToolTipText"
567
+ * The icon URI of the widget's tooltip. This icon is displayed using a shared
568
+ * tooltip instance. If the tooltip must be customized beyond the tooltip text
569
+ * {@link #toolTipText} and the icon, the {@link #toolTip} property has to be
570
+ * used.
571
+ */
572
+ toolTipIcon: {
573
+ check: "String",
574
+ nullable: true,
575
+ event: "changeToolTipText"
630
576
  },
631
577
 
632
578
  /**
633
579
  * Controls if a tooltip should shown or not.
634
580
  */
635
- blockToolTip :
636
- {
637
- check : "Boolean",
638
- init : false
581
+ blockToolTip: {
582
+ check: "Boolean",
583
+ init: false
639
584
  },
640
585
 
641
586
  /**
642
587
  * Forces to show tooltip when widget is disabled.
643
588
  */
644
- showToolTipWhenDisabled:
645
- {
646
- check : "Boolean",
647
- init : false
589
+ showToolTipWhenDisabled: {
590
+ check: "Boolean",
591
+ init: false
648
592
  },
649
593
 
650
-
651
594
  /*
652
595
  ---------------------------------------------------------------------------
653
596
  MANAGEMENT PROPERTIES
@@ -664,31 +607,27 @@ qx.Class.define("qx.ui.core.Widget",
664
607
  * widget was not a child of its parent.</li>
665
608
  * </ul>
666
609
  */
667
- visibility :
668
- {
669
- check : ["visible", "hidden", "excluded"],
670
- init : "visible",
671
- apply : "_applyVisibility",
672
- event : "changeVisibility"
610
+ visibility: {
611
+ check: ["visible", "hidden", "excluded"],
612
+ init: "visible",
613
+ apply: "_applyVisibility",
614
+ event: "changeVisibility"
673
615
  },
674
616
 
675
-
676
617
  /**
677
618
  * Whether the widget is enabled. Disabled widgets are usually grayed out
678
619
  * and do not process user created events. While in the disabled state most
679
620
  * user input events are blocked. Only the {@link #pointerover} and
680
621
  * {@link #pointerout} events will be dispatched.
681
622
  */
682
- enabled :
683
- {
684
- init : true,
685
- check : "Boolean",
686
- inheritable : true,
687
- apply : "_applyEnabled",
688
- event : "changeEnabled"
623
+ enabled: {
624
+ init: true,
625
+ check: "Boolean",
626
+ inheritable: true,
627
+ apply: "_applyEnabled",
628
+ event: "changeEnabled"
689
629
  },
690
630
 
691
-
692
631
  /**
693
632
  * Whether the widget is anonymous.
694
633
  *
@@ -698,14 +637,12 @@ qx.Class.define("qx.ui.core.Widget",
698
637
  * especially true for widgets like checkboxes or buttons where the text
699
638
  * or icon are handled synchronously for state changes to the outer widget.
700
639
  */
701
- anonymous :
702
- {
703
- init : false,
704
- check : "Boolean",
705
- apply : "_applyAnonymous"
640
+ anonymous: {
641
+ init: false,
642
+ check: "Boolean",
643
+ apply: "_applyAnonymous"
706
644
  },
707
645
 
708
-
709
646
  /**
710
647
  * Defines the tab index of an widget. If widgets with tab indexes are part
711
648
  * of the current focus root these elements are sorted in first priority. Afterwards
@@ -713,14 +650,12 @@ qx.Class.define("qx.ui.core.Widget",
713
650
  *
714
651
  * Please note: The value must be between 1 and 32000.
715
652
  */
716
- tabIndex :
717
- {
718
- check : "Integer",
719
- nullable : true,
720
- apply : "_applyTabIndex"
653
+ tabIndex: {
654
+ check: "Integer",
655
+ nullable: true,
656
+ apply: "_applyTabIndex"
721
657
  },
722
658
 
723
-
724
659
  /**
725
660
  * Whether the widget is focusable e.g. rendering a focus border and visualize
726
661
  * as active element.
@@ -729,14 +664,12 @@ qx.Class.define("qx.ui.core.Widget",
729
664
  * <code>isChecked</code> or other stuff to test whether the widget is
730
665
  * reachable via the TAB key.
731
666
  */
732
- focusable :
733
- {
734
- check : "Boolean",
735
- init : false,
736
- apply : "_applyFocusable"
667
+ focusable: {
668
+ check: "Boolean",
669
+ init: false,
670
+ apply: "_applyFocusable"
737
671
  },
738
672
 
739
-
740
673
  /**
741
674
  * If this property is enabled, the widget and all of its child widgets
742
675
  * will never get focused. The focus keeps at the currently
@@ -746,14 +679,12 @@ qx.Class.define("qx.ui.core.Widget",
746
679
  *
747
680
  * This is mainly useful for widget authors. Please use with caution!
748
681
  */
749
- keepFocus :
750
- {
751
- check : "Boolean",
752
- init : false,
753
- apply : "_applyKeepFocus"
682
+ keepFocus: {
683
+ check: "Boolean",
684
+ init: false,
685
+ apply: "_applyKeepFocus"
754
686
  },
755
687
 
756
-
757
688
  /**
758
689
  * If this property if enabled, the widget and all of its child widgets
759
690
  * will never get activated. The activation keeps at the currently
@@ -761,32 +692,26 @@ qx.Class.define("qx.ui.core.Widget",
761
692
  *
762
693
  * This is mainly useful for widget authors. Please use with caution!
763
694
  */
764
- keepActive :
765
- {
766
- check : "Boolean",
767
- init : false,
768
- apply : "_applyKeepActive"
695
+ keepActive: {
696
+ check: "Boolean",
697
+ init: false,
698
+ apply: "_applyKeepActive"
769
699
  },
770
700
 
771
-
772
701
  /** Whether the widget acts as a source for drag&drop operations */
773
- draggable :
774
- {
775
- check : "Boolean",
776
- init : false,
777
- apply : "_applyDraggable"
702
+ draggable: {
703
+ check: "Boolean",
704
+ init: false,
705
+ apply: "_applyDraggable"
778
706
  },
779
707
 
780
-
781
708
  /** Whether the widget acts as a target for drag&drop operations */
782
- droppable :
783
- {
784
- check : "Boolean",
785
- init : false,
786
- apply : "_applyDroppable"
709
+ droppable: {
710
+ check: "Boolean",
711
+ init: false,
712
+ apply: "_applyDroppable"
787
713
  },
788
714
 
789
-
790
715
  /**
791
716
  * Whether the widget contains content which may be selected by the user.
792
717
  *
@@ -794,70 +719,61 @@ qx.Class.define("qx.ui.core.Widget",
794
719
  * be used for text selection. But it is normally useful for
795
720
  * forms fields, longer texts/documents, editors, etc.
796
721
  */
797
- selectable :
798
- {
799
- check : "Boolean",
800
- init : false,
801
- event : "changeSelectable",
802
- apply : "_applySelectable"
722
+ selectable: {
723
+ check: "Boolean",
724
+ init: false,
725
+ event: "changeSelectable",
726
+ apply: "_applySelectable"
803
727
  },
804
728
 
805
-
806
729
  /**
807
730
  * Whether to show a context menu and which one
808
731
  */
809
- contextMenu :
810
- {
811
- check : "qx.ui.menu.Menu",
812
- apply : "_applyContextMenu",
813
- nullable : true,
814
- event : "changeContextMenu"
732
+ contextMenu: {
733
+ check: "qx.ui.menu.Menu",
734
+ apply: "_applyContextMenu",
735
+ nullable: true,
736
+ event: "changeContextMenu"
815
737
  },
816
738
 
817
-
818
739
  /**
819
740
  * Whether the native context menu should be enabled for this widget. To
820
741
  * globally enable the native context menu set the {@link #nativeContextMenu}
821
742
  * property of the root widget ({@link qx.ui.root.Abstract}) to
822
743
  * <code>true</code>.
823
744
  */
824
- nativeContextMenu :
825
- {
826
- check : "Boolean",
827
- init : false,
828
- themeable : true,
829
- event : "changeNativeContextMenu",
830
- apply : "_applyNativeContextMenu"
745
+ nativeContextMenu: {
746
+ check: "Boolean",
747
+ init: false,
748
+ themeable: true,
749
+ event: "changeNativeContextMenu",
750
+ apply: "_applyNativeContextMenu"
831
751
  },
832
752
 
833
-
834
753
  /**
835
754
  * The appearance ID. This ID is used to identify the appearance theme
836
755
  * entry to use for this widget. This controls the styling of the element.
837
756
  */
838
- appearance :
839
- {
840
- check : "String",
841
- init : "widget",
842
- apply : "_applyAppearance",
843
- event : "changeAppearance"
757
+ appearance: {
758
+ check: "String",
759
+ init: "widget",
760
+ apply: "_applyAppearance",
761
+ event: "changeAppearance"
844
762
  }
845
763
  },
846
764
 
847
-
848
765
  /*
849
766
  *****************************************************************************
850
767
  STATICS
851
768
  *****************************************************************************
852
769
  */
853
770
 
854
- statics :
855
- {
771
+ statics: {
856
772
  /** Whether the widget should print out hints and debug messages */
857
- DEBUG : false,
773
+ DEBUG: false,
858
774
 
859
775
  /** Whether to throw an error on focus/blur if the widget is unfocusable */
860
- UNFOCUSABLE_WIDGET_FOCUS_BLUR_ERROR : true,
776
+ UNFOCUSABLE_WIDGET_FOCUS_BLUR_ERROR: true,
861
777
 
862
778
  /**
863
779
  * Returns the widget, which contains the given DOM element.
@@ -867,21 +783,23 @@ qx.Class.define("qx.ui.core.Widget",
867
783
  * will not be returned.
868
784
  * @return {qx.ui.core.Widget} The widget containing the element.
869
785
  */
870
- getWidgetByElement : function(element, considerAnonymousState)
871
- {
872
- while(element)
873
- {
874
- if (qx.core.Environment.get("qx.debug")) {
875
- qx.core.Assert.assertTrue((!element.$$qxObjectHash && !element.$$qxObject) ||
876
- (element.$$qxObject && element.$$qxObjectHash && element.$$qxObject.toHashCode() === element.$$qxObjectHash));
877
- }
786
+ getWidgetByElement(element, considerAnonymousState) {
787
+ while (element) {
788
+ if (qx.core.Environment.get("qx.debug")) {
789
+ qx.core.Assert.assertTrue(
790
+ (!element.$$qxObjectHash && !element.$$qxObject) ||
791
+ (element.$$qxObject &&
792
+ element.$$qxObjectHash &&
793
+ element.$$qxObject.toHashCode() === element.$$qxObjectHash)
794
+ );
795
+ }
878
796
  var widget = element.$$qxObject;
879
797
 
880
798
  // check for anonymous widgets
881
799
  if (widget) {
882
- if (!considerAnonymousState || !widget.getAnonymous()) {
883
- return widget;
884
- }
800
+ if (!considerAnonymousState || !widget.getAnonymous()) {
801
+ return widget;
802
+ }
885
803
  }
886
804
 
887
805
  // Fix for FF, which occasionally breaks (BUG#3525)
@@ -894,7 +812,6 @@ qx.Class.define("qx.ui.core.Widget",
894
812
  return null;
895
813
  },
896
814
 
897
-
898
815
  /**
899
816
  * Whether the "parent" widget contains the "child" widget.
900
817
  *
@@ -902,10 +819,8 @@ qx.Class.define("qx.ui.core.Widget",
902
819
  * @param child {qx.ui.core.Widget} The child widget
903
820
  * @return {Boolean} Whether one of the "child"'s parents is "parent"
904
821
  */
905
- contains : function(parent, child)
906
- {
907
- while (child)
908
- {
822
+ contains(parent, child) {
823
+ while (child) {
909
824
  child = child.getLayoutParent();
910
825
 
911
826
  if (parent == child) {
@@ -917,26 +832,19 @@ qx.Class.define("qx.ui.core.Widget",
917
832
  },
918
833
 
919
834
  /** @type {Map} Contains all pooled separators for reuse */
920
- __separatorPool : new qx.util.ObjectPool()
835
+ __separatorPool: new qx.util.ObjectPool()
921
836
  },
922
837
 
923
-
924
-
925
-
926
-
927
-
928
838
  /*
929
839
  *****************************************************************************
930
840
  MEMBERS
931
841
  *****************************************************************************
932
842
  */
933
843
 
934
- members :
935
- {
936
- __contentElement : null,
937
- __initialAppearanceApplied : null,
938
- __toolTipTextListenerId : null,
939
-
844
+ members: {
845
+ __contentElement: null,
846
+ __initialAppearanceApplied: null,
847
+ __toolTipTextListenerId: null,
940
848
 
941
849
  /*
942
850
  ---------------------------------------------------------------------------
@@ -947,15 +855,13 @@ qx.Class.define("qx.ui.core.Widget",
947
855
  /**
948
856
  * @type {qx.ui.layout.Abstract} The connected layout manager
949
857
  */
950
- __layoutManager : null,
951
-
858
+ __layoutManager: null,
952
859
 
953
860
  // overridden
954
- _getLayout : function() {
861
+ _getLayout() {
955
862
  return this.__layoutManager;
956
863
  },
957
864
 
958
-
959
865
  /**
960
866
  * Set a layout manager for the widget. A a layout manager can only be connected
961
867
  * with one widget. Reset the connection with a previous widget first, if you
@@ -964,8 +870,7 @@ qx.Class.define("qx.ui.core.Widget",
964
870
  * @param layout {qx.ui.layout.Abstract} The new layout or
965
871
  * <code>null</code> to reset the layout.
966
872
  */
967
- _setLayout : function(layout)
968
- {
873
+ _setLayout(layout) {
969
874
  if (qx.core.Environment.get("qx.debug")) {
970
875
  if (layout) {
971
876
  this.assertInstance(layout, qx.ui.layout.Abstract);
@@ -984,10 +889,8 @@ qx.Class.define("qx.ui.core.Widget",
984
889
  qx.ui.core.queue.Layout.add(this);
985
890
  },
986
891
 
987
-
988
892
  // overridden
989
- setLayoutParent : function(parent)
990
- {
893
+ setLayoutParent(parent) {
991
894
  if (this.$$parent === parent) {
992
895
  return;
993
896
  }
@@ -1011,15 +914,12 @@ qx.Class.define("qx.ui.core.Widget",
1011
914
  qx.ui.core.queue.Visibility.add(this);
1012
915
  },
1013
916
 
1014
-
1015
917
  /** @type {Boolean} Whether insets have changed and must be updated */
1016
- _updateInsets : null,
1017
-
918
+ _updateInsets: null,
1018
919
 
1019
920
  // overridden
1020
- renderLayout : function(left, top, width, height)
1021
- {
1022
- var changes = this.base(arguments, left, top, width, height);
921
+ renderLayout(left, top, width, height) {
922
+ var changes = super.renderLayout(left, top, width, height);
1023
923
 
1024
924
  // Directly return if superclass has detected that no
1025
925
  // changes needs to be applied
@@ -1037,14 +937,12 @@ qx.Class.define("qx.ui.core.Widget",
1037
937
 
1038
938
  var contentStyles = {};
1039
939
  // Move content to new position
1040
- if (changes.position)
1041
- {
940
+ if (changes.position) {
1042
941
  contentStyles.left = left + pixel;
1043
942
  contentStyles.top = top + pixel;
1044
943
  }
1045
944
 
1046
- if (inner || changes.margin)
1047
- {
945
+ if (inner || changes.margin) {
1048
946
  contentStyles.width = width + pixel;
1049
947
  contentStyles.height = height + pixel;
1050
948
  }
@@ -1053,17 +951,17 @@ qx.Class.define("qx.ui.core.Widget",
1053
951
  content.setStyles(contentStyles);
1054
952
  }
1055
953
 
1056
- if (inner || changes.local || changes.margin)
1057
- {
954
+ if (inner || changes.local || changes.margin) {
1058
955
  if (this.__layoutManager && this.hasLayoutChildren()) {
1059
956
  var inset = this.getInsets();
1060
957
  var innerWidth = width - inset.left - inset.right;
1061
958
  var innerHeight = height - inset.top - inset.bottom;
1062
959
 
1063
960
  var decorator = this.getDecorator();
1064
- var decoratorPadding = {left: 0, right: 0, top: 0, bottom: 0};
961
+ var decoratorPadding = { left: 0, right: 0, top: 0, bottom: 0 };
1065
962
  if (decorator) {
1066
- decorator = qx.theme.manager.Decoration.getInstance().resolve(decorator);
963
+ decorator =
964
+ qx.theme.manager.Decoration.getInstance().resolve(decorator);
1067
965
  decoratorPadding = decorator.getPadding();
1068
966
  }
1069
967
 
@@ -1071,14 +969,16 @@ qx.Class.define("qx.ui.core.Widget",
1071
969
  top: this.getPaddingTop() + decoratorPadding.top,
1072
970
  right: this.getPaddingRight() + decoratorPadding.right,
1073
971
  bottom: this.getPaddingBottom() + decoratorPadding.bottom,
1074
- left : this.getPaddingLeft() + decoratorPadding.left
972
+ left: this.getPaddingLeft() + decoratorPadding.left
1075
973
  };
1076
974
 
1077
975
  this.__layoutManager.renderLayout(innerWidth, innerHeight, padding);
1078
976
  } else if (this.hasLayoutChildren()) {
1079
- throw new Error("At least one child in control " +
1080
- this._findTopControl() +
1081
- " requires a layout, but no one was defined!");
977
+ throw new Error(
978
+ "At least one child in control " +
979
+ this._findTopControl() +
980
+ " requires a layout, but no one was defined!"
981
+ );
1082
982
  }
1083
983
  }
1084
984
 
@@ -1097,26 +997,16 @@ qx.Class.define("qx.ui.core.Widget",
1097
997
  return changes;
1098
998
  },
1099
999
 
1100
-
1101
-
1102
-
1103
-
1104
-
1105
-
1106
-
1107
-
1108
-
1109
1000
  /*
1110
1001
  ---------------------------------------------------------------------------
1111
1002
  SEPARATOR SUPPORT
1112
1003
  ---------------------------------------------------------------------------
1113
1004
  */
1114
1005
 
1115
- __separators : null,
1006
+ __separators: null,
1116
1007
 
1117
1008
  // overridden
1118
- clearSeparators : function()
1119
- {
1009
+ clearSeparators() {
1120
1010
  var reg = this.__separators;
1121
1011
  if (!reg) {
1122
1012
  return;
@@ -1126,8 +1016,7 @@ qx.Class.define("qx.ui.core.Widget",
1126
1016
  var content = this.getContentElement();
1127
1017
  var widget;
1128
1018
 
1129
- for (var i=0, l=reg.length; i<l; i++)
1130
- {
1019
+ for (var i = 0, l = reg.length; i < l; i++) {
1131
1020
  widget = reg[i];
1132
1021
  pool.poolObject(widget);
1133
1022
  content.remove(widget.getContentElement());
@@ -1137,15 +1026,17 @@ qx.Class.define("qx.ui.core.Widget",
1137
1026
  reg.length = 0;
1138
1027
  },
1139
1028
 
1140
-
1141
1029
  // overridden
1142
- renderSeparator : function(separator, bounds)
1143
- {
1030
+ renderSeparator(separator, bounds) {
1144
1031
  // Insert
1145
- var widget = qx.ui.core.Widget.__separatorPool.getObject(qx.ui.core.Widget);
1032
+ var widget = qx.ui.core.Widget.__separatorPool.getObject(
1033
+ qx.ui.core.Widget
1034
+ );
1035
+
1146
1036
  widget.set({
1147
1037
  decorator: separator
1148
1038
  });
1039
+
1149
1040
  var elem = widget.getContentElement();
1150
1041
  this.getContentElement().add(elem);
1151
1042
 
@@ -1160,10 +1051,10 @@ qx.Class.define("qx.ui.core.Widget",
1160
1051
  domEl.style.height = bounds.height + "px";
1161
1052
  } else {
1162
1053
  elem.setStyles({
1163
- left : bounds.left + "px",
1164
- top : bounds.top + "px",
1165
- width : bounds.width + "px",
1166
- height : bounds.height + "px"
1054
+ left: bounds.left + "px",
1055
+ top: bounds.top + "px",
1056
+ width: bounds.width + "px",
1057
+ height: bounds.height + "px"
1167
1058
  });
1168
1059
  }
1169
1060
 
@@ -1174,12 +1065,6 @@ qx.Class.define("qx.ui.core.Widget",
1174
1065
  this.__separators.push(widget);
1175
1066
  },
1176
1067
 
1177
-
1178
-
1179
-
1180
-
1181
-
1182
-
1183
1068
  /*
1184
1069
  ---------------------------------------------------------------------------
1185
1070
  SIZE HINTS
@@ -1187,8 +1072,7 @@ qx.Class.define("qx.ui.core.Widget",
1187
1072
  */
1188
1073
 
1189
1074
  // overridden
1190
- _computeSizeHint : function()
1191
- {
1075
+ _computeSizeHint() {
1192
1076
  // Start with the user defined values
1193
1077
  var width = this.getWidth();
1194
1078
  var minWidth = this.getMinWidth();
@@ -1198,13 +1082,18 @@ qx.Class.define("qx.ui.core.Widget",
1198
1082
  var minHeight = this.getMinHeight();
1199
1083
  var maxHeight = this.getMaxHeight();
1200
1084
 
1201
- if (qx.core.Environment.get("qx.debug"))
1202
- {
1085
+ if (qx.core.Environment.get("qx.debug")) {
1203
1086
  if (minWidth !== null && maxWidth !== null) {
1204
- this.assert(minWidth <= maxWidth, "minWidth is larger than maxWidth!");
1087
+ this.assert(
1088
+ minWidth <= maxWidth,
1089
+ "minWidth is larger than maxWidth!"
1090
+ );
1205
1091
  }
1206
1092
  if (minHeight !== null && maxHeight !== null) {
1207
- this.assert(minHeight <= maxHeight, "minHeight is larger than maxHeight!");
1093
+ this.assert(
1094
+ minHeight <= maxHeight,
1095
+ "minHeight is larger than maxHeight!"
1096
+ );
1208
1097
  }
1209
1098
  }
1210
1099
 
@@ -1223,8 +1112,7 @@ qx.Class.define("qx.ui.core.Widget",
1223
1112
  height = contentHint.height + insetY;
1224
1113
  }
1225
1114
 
1226
- if (minWidth == null)
1227
- {
1115
+ if (minWidth == null) {
1228
1116
  minWidth = insetX;
1229
1117
 
1230
1118
  if (contentHint.minWidth != null) {
@@ -1236,8 +1124,7 @@ qx.Class.define("qx.ui.core.Widget",
1236
1124
  }
1237
1125
  }
1238
1126
 
1239
- if (minHeight == null)
1240
- {
1127
+ if (minHeight == null) {
1241
1128
  minHeight = insetY;
1242
1129
 
1243
1130
  if (contentHint.minHeight != null) {
@@ -1249,8 +1136,7 @@ qx.Class.define("qx.ui.core.Widget",
1249
1136
  }
1250
1137
  }
1251
1138
 
1252
- if (maxWidth == null)
1253
- {
1139
+ if (maxWidth == null) {
1254
1140
  if (contentHint.maxWidth == null) {
1255
1141
  maxWidth = Infinity;
1256
1142
  } else {
@@ -1262,8 +1148,7 @@ qx.Class.define("qx.ui.core.Widget",
1262
1148
  }
1263
1149
  }
1264
1150
 
1265
- if (maxHeight == null)
1266
- {
1151
+ if (maxHeight == null) {
1267
1152
  if (contentHint.maxHeight == null) {
1268
1153
  maxHeight = Infinity;
1269
1154
  } else {
@@ -1277,27 +1162,24 @@ qx.Class.define("qx.ui.core.Widget",
1277
1162
 
1278
1163
  // Build size hint and return
1279
1164
  return {
1280
- width : width,
1281
- minWidth : minWidth,
1282
- maxWidth : maxWidth,
1283
- height : height,
1284
- minHeight : minHeight,
1285
- maxHeight : maxHeight
1165
+ width: width,
1166
+ minWidth: minWidth,
1167
+ maxWidth: maxWidth,
1168
+ height: height,
1169
+ minHeight: minHeight,
1170
+ maxHeight: maxHeight
1286
1171
  };
1287
1172
  },
1288
1173
 
1289
-
1290
1174
  // overridden
1291
- invalidateLayoutCache : function()
1292
- {
1293
- this.base(arguments);
1175
+ invalidateLayoutCache() {
1176
+ super.invalidateLayoutCache();
1294
1177
 
1295
1178
  if (this.__layoutManager) {
1296
1179
  this.__layoutManager.invalidateLayoutCache();
1297
1180
  }
1298
1181
  },
1299
1182
 
1300
-
1301
1183
  /**
1302
1184
  * Returns the recommended/natural dimensions of the widget's content.
1303
1185
  *
@@ -1310,46 +1192,38 @@ qx.Class.define("qx.ui.core.Widget",
1310
1192
  *
1311
1193
  * @return {Map}
1312
1194
  */
1313
- _getContentHint : function()
1314
- {
1195
+ _getContentHint() {
1315
1196
  var layout = this.__layoutManager;
1316
- if (layout)
1317
- {
1318
- if (this.hasLayoutChildren())
1319
- {
1197
+ if (layout) {
1198
+ if (this.hasLayoutChildren()) {
1320
1199
  var hint = layout.getSizeHint();
1321
1200
 
1322
- if (qx.core.Environment.get("qx.debug"))
1323
- {
1324
- var msg = "The layout of the widget" + this.toString() +
1201
+ if (qx.core.Environment.get("qx.debug")) {
1202
+ var msg =
1203
+ "The layout of the widget" +
1204
+ this.toString() +
1325
1205
  " returned an invalid size hint!";
1326
1206
  this.assertInteger(hint.width, "Wrong 'left' argument. " + msg);
1327
1207
  this.assertInteger(hint.height, "Wrong 'top' argument. " + msg);
1328
1208
  }
1329
1209
 
1330
1210
  return hint;
1331
- }
1332
- else
1333
- {
1211
+ } else {
1334
1212
  return {
1335
- width : 0,
1336
- height : 0
1213
+ width: 0,
1214
+ height: 0
1337
1215
  };
1338
1216
  }
1339
- }
1340
- else
1341
- {
1217
+ } else {
1342
1218
  return {
1343
- width : 100,
1344
- height : 50
1219
+ width: 100,
1220
+ height: 50
1345
1221
  };
1346
1222
  }
1347
1223
  },
1348
1224
 
1349
-
1350
1225
  // overridden
1351
- _getHeightForWidth : function(width)
1352
- {
1226
+ _getHeightForWidth(width) {
1353
1227
  // Prepare insets
1354
1228
  var insets = this.getInsets();
1355
1229
 
@@ -1360,7 +1234,7 @@ qx.Class.define("qx.ui.core.Widget",
1360
1234
  var contentWidth = width - insetX;
1361
1235
 
1362
1236
  // Compute height
1363
- var contentHeight = 0;
1237
+ var contentHeight = 0;
1364
1238
  var layout = this._getLayout();
1365
1239
  if (layout && layout.hasHeightForWidth()) {
1366
1240
  contentHeight = layout.getHeightForWidth(contentWidth);
@@ -1374,7 +1248,6 @@ qx.Class.define("qx.ui.core.Widget",
1374
1248
  return height;
1375
1249
  },
1376
1250
 
1377
-
1378
1251
  /**
1379
1252
  * Returns the computed height for the given width.
1380
1253
  *
@@ -1382,15 +1255,10 @@ qx.Class.define("qx.ui.core.Widget",
1382
1255
  * @param width {Integer} Incoming width (as limitation)
1383
1256
  * @return {Integer} Computed height while respecting the given width.
1384
1257
  */
1385
- _getContentHeightForWidth : function(width) {
1258
+ _getContentHeightForWidth(width) {
1386
1259
  throw new Error("Abstract method call: _getContentHeightForWidth()!");
1387
1260
  },
1388
1261
 
1389
-
1390
-
1391
-
1392
-
1393
-
1394
1262
  /*
1395
1263
  ---------------------------------------------------------------------------
1396
1264
  INSET CALCULATION SUPPORT
@@ -1403,30 +1271,34 @@ qx.Class.define("qx.ui.core.Widget",
1403
1271
  * @return {Map} Contains the keys <code>top</code>, <code>right</code>,
1404
1272
  * <code>bottom</code> and <code>left</code>. All values are integers.
1405
1273
  */
1406
- getInsets : function()
1407
- {
1274
+ getInsets() {
1408
1275
  var top = this.getPaddingTop();
1409
1276
  var right = this.getPaddingRight();
1410
1277
  var bottom = this.getPaddingBottom();
1411
1278
  var left = this.getPaddingLeft();
1412
1279
  if (this.getDecorator()) {
1413
- var decorator = qx.theme.manager.Decoration.getInstance().resolve(this.getDecorator());
1280
+ var decorator = qx.theme.manager.Decoration.getInstance().resolve(
1281
+ this.getDecorator()
1282
+ );
1283
+
1414
1284
  var inset = decorator.getInsets();
1415
1285
 
1416
- if (qx.core.Environment.get("qx.debug"))
1417
- {
1286
+ if (qx.core.Environment.get("qx.debug")) {
1418
1287
  this.assertNumber(
1419
1288
  inset.top,
1420
1289
  "Invalid top decorator inset detected: " + inset.top
1421
1290
  );
1291
+
1422
1292
  this.assertNumber(
1423
1293
  inset.right,
1424
1294
  "Invalid right decorator inset detected: " + inset.right
1425
1295
  );
1296
+
1426
1297
  this.assertNumber(
1427
1298
  inset.bottom,
1428
1299
  "Invalid bottom decorator inset detected: " + inset.bottom
1429
1300
  );
1301
+
1430
1302
  this.assertNumber(
1431
1303
  inset.left,
1432
1304
  "Invalid left decorator inset detected: " + inset.left
@@ -1440,17 +1312,13 @@ qx.Class.define("qx.ui.core.Widget",
1440
1312
  }
1441
1313
 
1442
1314
  return {
1443
- "top" : top,
1444
- "right" : right,
1445
- "bottom" : bottom,
1446
- "left" : left
1315
+ top: top,
1316
+ right: right,
1317
+ bottom: bottom,
1318
+ left: left
1447
1319
  };
1448
1320
  },
1449
1321
 
1450
-
1451
-
1452
-
1453
-
1454
1322
  /*
1455
1323
  ---------------------------------------------------------------------------
1456
1324
  COMPUTED LAYOUT SUPPORT
@@ -1467,8 +1335,7 @@ qx.Class.define("qx.ui.core.Widget",
1467
1335
  * @return {Map} The widget inner dimension in pixel (if the layout is
1468
1336
  * valid). Contains the keys <code>width</code> and <code>height</code>.
1469
1337
  */
1470
- getInnerSize : function()
1471
- {
1338
+ getInnerSize() {
1472
1339
  var computed = this.getBounds();
1473
1340
  if (!computed) {
1474
1341
  return null;
@@ -1477,15 +1344,11 @@ qx.Class.define("qx.ui.core.Widget",
1477
1344
  // Return map data
1478
1345
  var insets = this.getInsets();
1479
1346
  return {
1480
- width : computed.width - insets.left - insets.right,
1481
- height : computed.height - insets.top - insets.bottom
1347
+ width: computed.width - insets.left - insets.right,
1348
+ height: computed.height - insets.top - insets.bottom
1482
1349
  };
1483
1350
  },
1484
1351
 
1485
-
1486
-
1487
-
1488
-
1489
1352
  /*
1490
1353
  ---------------------------------------------------------------------------
1491
1354
  ANIMATION SUPPORT: USER API
@@ -1498,7 +1361,7 @@ qx.Class.define("qx.ui.core.Widget",
1498
1361
  * @return {qx.bom.element.AnimationHandle} The animation handle to react for
1499
1362
  * the fade animation.
1500
1363
  */
1501
- fadeOut : function(duration) {
1364
+ fadeOut(duration) {
1502
1365
  return this.getContentElement().fadeOut(duration);
1503
1366
  },
1504
1367
 
@@ -1508,11 +1371,10 @@ qx.Class.define("qx.ui.core.Widget",
1508
1371
  * @return {qx.bom.element.AnimationHandle} The animation handle to react for
1509
1372
  * the fade animation.
1510
1373
  */
1511
- fadeIn : function(duration) {
1374
+ fadeIn(duration) {
1512
1375
  return this.getContentElement().fadeIn(duration);
1513
1376
  },
1514
1377
 
1515
-
1516
1378
  /*
1517
1379
  ---------------------------------------------------------------------------
1518
1380
  VISIBILITY SUPPORT: USER API
@@ -1520,7 +1382,7 @@ qx.Class.define("qx.ui.core.Widget",
1520
1382
  */
1521
1383
 
1522
1384
  // property apply
1523
- _applyAnonymous : function(value) {
1385
+ _applyAnonymous(value) {
1524
1386
  if (value) {
1525
1387
  this.getContentElement().setAttribute("qxanonymous", "true");
1526
1388
  } else {
@@ -1528,34 +1390,30 @@ qx.Class.define("qx.ui.core.Widget",
1528
1390
  }
1529
1391
  },
1530
1392
 
1531
-
1532
1393
  /**
1533
1394
  * Make this widget visible.
1534
1395
  *
1535
1396
  */
1536
- show : function() {
1397
+ show() {
1537
1398
  this.setVisibility("visible");
1538
1399
  },
1539
1400
 
1540
-
1541
1401
  /**
1542
1402
  * Hide this widget.
1543
1403
  *
1544
1404
  */
1545
- hide : function() {
1405
+ hide() {
1546
1406
  this.setVisibility("hidden");
1547
1407
  },
1548
1408
 
1549
-
1550
1409
  /**
1551
1410
  * Hide this widget and exclude it from the underlying layout.
1552
1411
  *
1553
1412
  */
1554
- exclude : function() {
1413
+ exclude() {
1555
1414
  this.setVisibility("excluded");
1556
1415
  },
1557
1416
 
1558
-
1559
1417
  /**
1560
1418
  * Whether the widget is locally visible.
1561
1419
  *
@@ -1563,11 +1421,10 @@ qx.Class.define("qx.ui.core.Widget",
1563
1421
  *
1564
1422
  * @return {Boolean} Returns <code>true</code> when the widget is visible
1565
1423
  */
1566
- isVisible : function() {
1424
+ isVisible() {
1567
1425
  return this.getVisibility() === "visible";
1568
1426
  },
1569
1427
 
1570
-
1571
1428
  /**
1572
1429
  * Whether the widget is locally hidden.
1573
1430
  *
@@ -1575,11 +1432,10 @@ qx.Class.define("qx.ui.core.Widget",
1575
1432
  *
1576
1433
  * @return {Boolean} Returns <code>true</code> when the widget is hidden
1577
1434
  */
1578
- isHidden : function() {
1435
+ isHidden() {
1579
1436
  return this.getVisibility() !== "visible";
1580
1437
  },
1581
1438
 
1582
-
1583
1439
  /**
1584
1440
  * Whether the widget is locally excluded.
1585
1441
  *
@@ -1587,11 +1443,10 @@ qx.Class.define("qx.ui.core.Widget",
1587
1443
  *
1588
1444
  * @return {Boolean} Returns <code>true</code> when the widget is excluded
1589
1445
  */
1590
- isExcluded : function() {
1446
+ isExcluded() {
1591
1447
  return this.getVisibility() === "excluded";
1592
1448
  },
1593
1449
 
1594
-
1595
1450
  /**
1596
1451
  * Detects if the widget and all its parents are visible.
1597
1452
  *
@@ -1600,8 +1455,7 @@ qx.Class.define("qx.ui.core.Widget",
1600
1455
  *
1601
1456
  * @return {Boolean} true, if the widget is currently on the screen
1602
1457
  */
1603
- isSeeable : function()
1604
- {
1458
+ isSeeable() {
1605
1459
  // Flush the queues because to detect if the widget ins visible, the
1606
1460
  // queues need to be flushed (see bug #5254)
1607
1461
  qx.ui.core.queue.Manager.flush();
@@ -1615,41 +1469,34 @@ qx.Class.define("qx.ui.core.Widget",
1615
1469
  return false;
1616
1470
  },
1617
1471
 
1618
-
1619
-
1620
-
1621
1472
  /*
1622
1473
  ---------------------------------------------------------------------------
1623
1474
  CREATION OF HTML ELEMENTS
1624
1475
  ---------------------------------------------------------------------------
1625
1476
  */
1626
1477
 
1627
-
1628
1478
  /**
1629
1479
  * Create the widget's content HTML element.
1630
1480
  *
1631
1481
  * @return {qx.html.Element} The content HTML element
1632
1482
  */
1633
- __createContentElement : function()
1634
- {
1483
+ __createContentElement() {
1635
1484
  var el = this._createContentElement();
1636
1485
  el.connectObject(this);
1637
1486
 
1638
1487
  // make sure to allow all pointer events
1639
- el.setStyles({"touch-action": "none", "-ms-touch-action" : "none"});
1488
+ el.setStyles({ "touch-action": "none", "-ms-touch-action": "none" });
1640
1489
 
1641
1490
  if (qx.core.Environment.get("qx.debug")) {
1642
1491
  el.setAttribute("qxClass", this.classname);
1643
1492
  }
1644
1493
 
1645
1494
  var styles = {
1646
- "zIndex": 10,
1647
- "boxSizing": "border-box"
1495
+ zIndex: 10,
1496
+ boxSizing: "border-box"
1648
1497
  };
1649
1498
 
1650
- if (!qx.ui.root.Inline ||
1651
- !(this instanceof qx.ui.root.Inline))
1652
- {
1499
+ if (!qx.ui.root.Inline || !(this instanceof qx.ui.root.Inline)) {
1653
1500
  styles.position = "absolute";
1654
1501
  }
1655
1502
 
@@ -1658,7 +1505,6 @@ qx.Class.define("qx.ui.core.Widget",
1658
1505
  return el;
1659
1506
  },
1660
1507
 
1661
-
1662
1508
  /**
1663
1509
  * Creates the content element. The style properties
1664
1510
  * position and zIndex are modified from the Widget
@@ -1669,26 +1515,23 @@ qx.Class.define("qx.ui.core.Widget",
1669
1515
  *
1670
1516
  * @return {qx.html.Element} The widget's content element
1671
1517
  */
1672
- _createContentElement : function()
1673
- {
1518
+ _createContentElement() {
1674
1519
  return new qx.html.Element("div", {
1675
1520
  overflowX: "hidden",
1676
1521
  overflowY: "hidden"
1677
1522
  });
1678
1523
  },
1679
1524
 
1680
-
1681
1525
  /**
1682
1526
  * Returns the element wrapper of the widget's content element.
1683
1527
  * This method exposes widget internal and must be used with caution!
1684
1528
  *
1685
1529
  * @return {qx.html.Element} The widget's content element
1686
1530
  */
1687
- getContentElement : function() {
1531
+ getContentElement() {
1688
1532
  return this.__contentElement;
1689
1533
  },
1690
1534
 
1691
-
1692
1535
  /*
1693
1536
  ---------------------------------------------------------------------------
1694
1537
  CHILDREN HANDLING
@@ -1696,8 +1539,7 @@ qx.Class.define("qx.ui.core.Widget",
1696
1539
  */
1697
1540
 
1698
1541
  /** @type {qx.ui.core.LayoutItem[]} List of all child widgets */
1699
- __widgetChildren : null,
1700
-
1542
+ __widgetChildren: null,
1701
1543
 
1702
1544
  /**
1703
1545
  * Returns all children, which are layout relevant. This excludes all widgets,
@@ -1706,19 +1548,16 @@ qx.Class.define("qx.ui.core.Widget",
1706
1548
  * @internal
1707
1549
  * @return {qx.ui.core.Widget[]} All layout relevant children.
1708
1550
  */
1709
- getLayoutChildren : function()
1710
- {
1551
+ getLayoutChildren() {
1711
1552
  var children = this.__widgetChildren;
1712
1553
  if (!children) {
1713
1554
  return this.__emptyChildren;
1714
1555
  }
1715
1556
 
1716
1557
  var layoutChildren;
1717
- for (var i=0, l=children.length; i<l; i++)
1718
- {
1558
+ for (var i = 0, l = children.length; i < l; i++) {
1719
1559
  var child = children[i];
1720
- if (child.hasUserBounds() || child.isExcluded())
1721
- {
1560
+ if (child.hasUserBounds() || child.isExcluded()) {
1722
1561
  if (layoutChildren == null) {
1723
1562
  layoutChildren = children.concat();
1724
1563
  }
@@ -1730,21 +1569,18 @@ qx.Class.define("qx.ui.core.Widget",
1730
1569
  return layoutChildren || children;
1731
1570
  },
1732
1571
 
1733
-
1734
1572
  /**
1735
1573
  * Marks the layout of this widget as invalid and triggers a layout update.
1736
1574
  * This is a shortcut for <code>qx.ui.core.queue.Layout.add(this);</code>.
1737
1575
  */
1738
- scheduleLayoutUpdate : function() {
1576
+ scheduleLayoutUpdate() {
1739
1577
  qx.ui.core.queue.Layout.add(this);
1740
1578
  },
1741
1579
 
1742
-
1743
1580
  /**
1744
1581
  * Resets the cache for children which should be laid out.
1745
1582
  */
1746
- invalidateLayoutChildren : function()
1747
- {
1583
+ invalidateLayoutChildren() {
1748
1584
  var layout = this.__layoutManager;
1749
1585
  if (layout) {
1750
1586
  layout.invalidateChildrenCache();
@@ -1753,7 +1589,6 @@ qx.Class.define("qx.ui.core.Widget",
1753
1589
  qx.ui.core.queue.Layout.add(this);
1754
1590
  },
1755
1591
 
1756
-
1757
1592
  /**
1758
1593
  * Returns whether the layout has children, which are layout relevant. This
1759
1594
  * excludes all widgets, which have a {@link qx.ui.core.Widget#visibility}
@@ -1761,16 +1596,14 @@ qx.Class.define("qx.ui.core.Widget",
1761
1596
  *
1762
1597
  * @return {Boolean} Whether the layout has layout relevant children
1763
1598
  */
1764
- hasLayoutChildren : function()
1765
- {
1599
+ hasLayoutChildren() {
1766
1600
  var children = this.__widgetChildren;
1767
1601
  if (!children) {
1768
1602
  return false;
1769
1603
  }
1770
1604
 
1771
1605
  var child;
1772
- for (var i=0, l=children.length; i<l; i++)
1773
- {
1606
+ for (var i = 0, l = children.length; i < l; i++) {
1774
1607
  child = children[i];
1775
1608
  if (!child.hasUserBounds() && !child.isExcluded()) {
1776
1609
  return true;
@@ -1780,7 +1613,6 @@ qx.Class.define("qx.ui.core.Widget",
1780
1613
  return false;
1781
1614
  },
1782
1615
 
1783
-
1784
1616
  /**
1785
1617
  * Returns the widget which contains the children and
1786
1618
  * is relevant for laying them out. This is from the user point of
@@ -1788,19 +1620,17 @@ qx.Class.define("qx.ui.core.Widget",
1788
1620
  *
1789
1621
  * @return {qx.ui.core.Widget} Widget which contains the children.
1790
1622
  */
1791
- getChildrenContainer : function() {
1623
+ getChildrenContainer() {
1792
1624
  return this;
1793
1625
  },
1794
1626
 
1795
-
1796
1627
  /**
1797
1628
  * @type {Array} Placeholder for children list in empty widgets.
1798
1629
  * Mainly to keep instance number low.
1799
1630
  *
1800
1631
  * @lint ignoreReferenceField(__emptyChildren)
1801
1632
  */
1802
- __emptyChildren : [],
1803
-
1633
+ __emptyChildren: [],
1804
1634
 
1805
1635
  /**
1806
1636
  * Returns the children list
@@ -1808,11 +1638,10 @@ qx.Class.define("qx.ui.core.Widget",
1808
1638
  * @return {qx.ui.core.LayoutItem[]} The children array (Arrays are
1809
1639
  * reference types, so please do not modify it in-place).
1810
1640
  */
1811
- _getChildren : function() {
1641
+ _getChildren() {
1812
1642
  return this.__widgetChildren || this.__emptyChildren;
1813
1643
  },
1814
1644
 
1815
-
1816
1645
  /**
1817
1646
  * Returns the index position of the given widget if it is
1818
1647
  * a child widget. Otherwise it returns <code>-1</code>.
@@ -1821,8 +1650,7 @@ qx.Class.define("qx.ui.core.Widget",
1821
1650
  * @return {Integer} The index position or <code>-1</code> when
1822
1651
  * the given widget is no child of this layout.
1823
1652
  */
1824
- _indexOf : function(child)
1825
- {
1653
+ _indexOf(child) {
1826
1654
  var children = this.__widgetChildren;
1827
1655
  if (!children) {
1828
1656
  return -1;
@@ -1831,34 +1659,29 @@ qx.Class.define("qx.ui.core.Widget",
1831
1659
  return children.indexOf(child);
1832
1660
  },
1833
1661
 
1834
-
1835
1662
  /**
1836
1663
  * Whether the widget contains children.
1837
1664
  *
1838
1665
  * @return {Boolean} Returns <code>true</code> when the widget has children.
1839
1666
  */
1840
- _hasChildren : function()
1841
- {
1667
+ _hasChildren() {
1842
1668
  var children = this.__widgetChildren;
1843
- return children != null && (!!children[0]);
1669
+ return children != null && !!children[0];
1844
1670
  },
1845
1671
 
1846
-
1847
1672
  /**
1848
1673
  * Recursively adds all children to the given queue
1849
1674
  *
1850
1675
  * @param queue {Array} The queue to add widgets to
1851
1676
  */
1852
- addChildrenToQueue : function(queue)
1853
- {
1677
+ addChildrenToQueue(queue) {
1854
1678
  var children = this.__widgetChildren;
1855
1679
  if (!children) {
1856
1680
  return;
1857
1681
  }
1858
1682
 
1859
1683
  var child;
1860
- for (var i=0, l=children.length; i<l; i++)
1861
- {
1684
+ for (var i = 0, l = children.length; i < l; i++) {
1862
1685
  child = children[i];
1863
1686
  queue.push(child);
1864
1687
 
@@ -1866,7 +1689,6 @@ qx.Class.define("qx.ui.core.Widget",
1866
1689
  }
1867
1690
  },
1868
1691
 
1869
-
1870
1692
  /**
1871
1693
  * Adds a new child widget.
1872
1694
  *
@@ -1877,10 +1699,13 @@ qx.Class.define("qx.ui.core.Widget",
1877
1699
  * @param child {qx.ui.core.LayoutItem} the widget to add.
1878
1700
  * @param options {Map?null} Optional layout data for widget.
1879
1701
  */
1880
- _add : function(child, options)
1881
- {
1702
+ _add(child, options) {
1882
1703
  if (qx.core.Environment.get("qx.debug")) {
1883
- this.assertInstance(child, qx.ui.core.LayoutItem.constructor, "'Child' must be an instance of qx.ui.core.LayoutItem!");
1704
+ this.assertInstance(
1705
+ child,
1706
+ qx.ui.core.LayoutItem.constructor,
1707
+ "'Child' must be an instance of qx.ui.core.LayoutItem!"
1708
+ );
1884
1709
  }
1885
1710
 
1886
1711
  // When moving in the same widget, remove widget first
@@ -1891,13 +1716,12 @@ qx.Class.define("qx.ui.core.Widget",
1891
1716
  if (this.__widgetChildren) {
1892
1717
  this.__widgetChildren.push(child);
1893
1718
  } else {
1894
- this.__widgetChildren = [ child ];
1719
+ this.__widgetChildren = [child];
1895
1720
  }
1896
1721
 
1897
1722
  this.__addHelper(child, options);
1898
1723
  },
1899
1724
 
1900
-
1901
1725
  /**
1902
1726
  * Add a child widget at the specified index
1903
1727
  *
@@ -1907,8 +1731,7 @@ qx.Class.define("qx.ui.core.Widget",
1907
1731
  * current list of children.
1908
1732
  * @param options {Map?null} Optional layout data for widget.
1909
1733
  */
1910
- _addAt : function(child, index, options)
1911
- {
1734
+ _addAt(child, index, options) {
1912
1735
  if (!this.__widgetChildren) {
1913
1736
  this.__widgetChildren = [];
1914
1737
  }
@@ -1933,7 +1756,6 @@ qx.Class.define("qx.ui.core.Widget",
1933
1756
  this.__addHelper(child, options);
1934
1757
  },
1935
1758
 
1936
-
1937
1759
  /**
1938
1760
  * Add a widget before another already inserted widget
1939
1761
  *
@@ -1941,11 +1763,13 @@ qx.Class.define("qx.ui.core.Widget",
1941
1763
  * @param before {qx.ui.core.LayoutItem} widget before the new widget will be inserted.
1942
1764
  * @param options {Map?null} Optional layout data for widget.
1943
1765
  */
1944
- _addBefore : function(child, before, options)
1945
- {
1766
+ _addBefore(child, before, options) {
1946
1767
  if (qx.core.Environment.get("qx.debug")) {
1947
- this.assertInArray(before, this._getChildren(),
1948
- "The 'before' widget is not a child of this widget!");
1768
+ this.assertInArray(
1769
+ before,
1770
+ this._getChildren(),
1771
+ "The 'before' widget is not a child of this widget!"
1772
+ );
1949
1773
  }
1950
1774
 
1951
1775
  if (child == before) {
@@ -1966,7 +1790,6 @@ qx.Class.define("qx.ui.core.Widget",
1966
1790
  this.__addHelper(child, options);
1967
1791
  },
1968
1792
 
1969
-
1970
1793
  /**
1971
1794
  * Add a widget after another already inserted widget
1972
1795
  *
@@ -1975,11 +1798,13 @@ qx.Class.define("qx.ui.core.Widget",
1975
1798
  * be inserted
1976
1799
  * @param options {Map?null} Optional layout data for widget.
1977
1800
  */
1978
- _addAfter : function(child, after, options)
1979
- {
1801
+ _addAfter(child, after, options) {
1980
1802
  if (qx.core.Environment.get("qx.debug")) {
1981
- this.assertInArray(after, this._getChildren(),
1982
- "The 'after' widget is not a child of this widget!");
1803
+ this.assertInArray(
1804
+ after,
1805
+ this._getChildren(),
1806
+ "The 'after' widget is not a child of this widget!"
1807
+ );
1983
1808
  }
1984
1809
 
1985
1810
  if (child == after) {
@@ -2000,14 +1825,12 @@ qx.Class.define("qx.ui.core.Widget",
2000
1825
  this.__addHelper(child, options);
2001
1826
  },
2002
1827
 
2003
-
2004
1828
  /**
2005
1829
  * Remove the given child widget.
2006
1830
  *
2007
1831
  * @param child {qx.ui.core.LayoutItem} the widget to remove
2008
1832
  */
2009
- _remove : function(child)
2010
- {
1833
+ _remove(child) {
2011
1834
  if (!this.__widgetChildren) {
2012
1835
  throw new Error("This widget has no children!");
2013
1836
  }
@@ -2016,15 +1839,13 @@ qx.Class.define("qx.ui.core.Widget",
2016
1839
  this.__removeHelper(child);
2017
1840
  },
2018
1841
 
2019
-
2020
1842
  /**
2021
1843
  * Remove the widget at the specified index.
2022
1844
  *
2023
1845
  * @param index {Integer} Index of the widget to remove.
2024
1846
  * @return {qx.ui.core.LayoutItem} The removed item.
2025
1847
  */
2026
- _removeAt : function(index)
2027
- {
1848
+ _removeAt(index) {
2028
1849
  if (!this.__widgetChildren) {
2029
1850
  throw new Error("This widget has no children!");
2030
1851
  }
@@ -2037,14 +1858,12 @@ qx.Class.define("qx.ui.core.Widget",
2037
1858
  return child;
2038
1859
  },
2039
1860
 
2040
-
2041
1861
  /**
2042
1862
  * Remove all children.
2043
1863
  *
2044
1864
  * @return {Array} An array containing the removed children.
2045
1865
  */
2046
- _removeAll : function()
2047
- {
1866
+ _removeAll() {
2048
1867
  if (!this.__widgetChildren) {
2049
1868
  return [];
2050
1869
  }
@@ -2054,7 +1873,7 @@ qx.Class.define("qx.ui.core.Widget",
2054
1873
  var children = this.__widgetChildren.concat();
2055
1874
  this.__widgetChildren.length = 0;
2056
1875
 
2057
- for (var i=children.length-1; i>=0; i--) {
1876
+ for (var i = children.length - 1; i >= 0; i--) {
2058
1877
  this.__removeHelper(children[i]);
2059
1878
  }
2060
1879
 
@@ -2063,9 +1882,6 @@ qx.Class.define("qx.ui.core.Widget",
2063
1882
  return children;
2064
1883
  },
2065
1884
 
2066
-
2067
-
2068
-
2069
1885
  /*
2070
1886
  ---------------------------------------------------------------------------
2071
1887
  CHILDREN HANDLING - TEMPLATE METHODS
@@ -2079,8 +1895,7 @@ qx.Class.define("qx.ui.core.Widget",
2079
1895
  * @signature function(child)
2080
1896
  * @param child {qx.ui.core.LayoutItem} The added child.
2081
1897
  */
2082
- _afterAddChild : null,
2083
-
1898
+ _afterAddChild: null,
2084
1899
 
2085
1900
  /**
2086
1901
  * This method gets called each time after a child widget was removed and
@@ -2089,10 +1904,7 @@ qx.Class.define("qx.ui.core.Widget",
2089
1904
  * @signature function(child)
2090
1905
  * @param child {qx.ui.core.LayoutItem} The removed child.
2091
1906
  */
2092
- _afterRemoveChild : null,
2093
-
2094
-
2095
-
1907
+ _afterRemoveChild: null,
2096
1908
 
2097
1909
  /*
2098
1910
  ---------------------------------------------------------------------------
@@ -2107,12 +1919,19 @@ qx.Class.define("qx.ui.core.Widget",
2107
1919
  * @param child {qx.ui.core.LayoutItem} The child to add.
2108
1920
  * @param options {Map|null} Optional layout data for the widget.
2109
1921
  */
2110
- __addHelper : function(child, options)
2111
- {
2112
- if (qx.core.Environment.get("qx.debug"))
2113
- {
2114
- this.assertInstance(child, qx.ui.core.LayoutItem, "Invalid widget to add: " + child);
2115
- this.assertNotIdentical(child, this, "Could not add widget to itself: " + child);
1922
+ __addHelper(child, options) {
1923
+ if (qx.core.Environment.get("qx.debug")) {
1924
+ this.assertInstance(
1925
+ child,
1926
+ qx.ui.core.LayoutItem,
1927
+ "Invalid widget to add: " + child
1928
+ );
1929
+
1930
+ this.assertNotIdentical(
1931
+ child,
1932
+ this,
1933
+ "Could not add widget to itself: " + child
1934
+ );
2116
1935
 
2117
1936
  if (options != null) {
2118
1937
  this.assertType(options, "object", "Invalid layout data: " + options);
@@ -2143,21 +1962,21 @@ qx.Class.define("qx.ui.core.Widget",
2143
1962
  }
2144
1963
  },
2145
1964
 
2146
-
2147
1965
  /**
2148
1966
  * Convenience function to remove a child widget. It will remove it
2149
1967
  * from the parent widget and schedule a layout update.
2150
1968
  *
2151
1969
  * @param child {qx.ui.core.LayoutItem} The child to remove.
2152
1970
  */
2153
- __removeHelper : function(child)
2154
- {
1971
+ __removeHelper(child) {
2155
1972
  if (qx.core.Environment.get("qx.debug")) {
2156
1973
  this.assertNotUndefined(child);
2157
1974
  }
2158
1975
 
2159
1976
  if (child.getLayoutParent() !== this) {
2160
- throw new Error("Remove Error: " + child + " is not a child of this widget!");
1977
+ throw new Error(
1978
+ "Remove Error: " + child + " is not a child of this widget!"
1979
+ );
2161
1980
  }
2162
1981
 
2163
1982
  // Clear parent connection
@@ -2177,9 +1996,6 @@ qx.Class.define("qx.ui.core.Widget",
2177
1996
  }
2178
1997
  },
2179
1998
 
2180
-
2181
-
2182
-
2183
1999
  /*
2184
2000
  ---------------------------------------------------------------------------
2185
2001
  EVENTS
@@ -2197,25 +2013,23 @@ qx.Class.define("qx.ui.core.Widget",
2197
2013
  * the container are captured. If false events originating in the container
2198
2014
  * are not captured.
2199
2015
  */
2200
- capture : function(capture) {
2016
+ capture(capture) {
2201
2017
  this.getContentElement().capture(capture);
2202
2018
  },
2203
2019
 
2204
-
2205
2020
  /**
2206
2021
  * Disables pointer capture mode enabled by {@link #capture}.
2207
2022
  */
2208
- releaseCapture : function() {
2023
+ releaseCapture() {
2209
2024
  this.getContentElement().releaseCapture();
2210
2025
  },
2211
2026
 
2212
-
2213
2027
  /**
2214
2028
  * Checks if pointer event capturing is enabled for this widget.
2215
2029
  *
2216
2030
  * @return {Boolean} <code>true</code> if capturing is active
2217
2031
  */
2218
- isCapturing : function() {
2032
+ isCapturing() {
2219
2033
  var el = this.getContentElement().getDomElement();
2220
2034
  if (!el) {
2221
2035
  return false;
@@ -2225,9 +2039,6 @@ qx.Class.define("qx.ui.core.Widget",
2225
2039
  return el == dispatcher.getCaptureElement();
2226
2040
  },
2227
2041
 
2228
-
2229
-
2230
-
2231
2042
  /*
2232
2043
  ---------------------------------------------------------------------------
2233
2044
  PADDING SUPPORT
@@ -2235,22 +2046,20 @@ qx.Class.define("qx.ui.core.Widget",
2235
2046
  */
2236
2047
 
2237
2048
  // property apply
2238
- _applyPadding : function(value, old, name)
2239
- {
2049
+ _applyPadding(value, old, name) {
2240
2050
  this._updateInsets = true;
2241
2051
  qx.ui.core.queue.Layout.add(this);
2242
2052
 
2243
2053
  this.__updateContentPadding(name, value);
2244
2054
  },
2245
2055
 
2246
-
2247
2056
  /**
2248
2057
  * Helper to updated the css padding of the content element considering the
2249
2058
  * padding of the decorator.
2250
2059
  * @param style {String} The name of the css padding property e.g. <code>paddingTop</code>
2251
2060
  * @param value {Number} The value to set.
2252
2061
  */
2253
- __updateContentPadding : function(style, value) {
2062
+ __updateContentPadding(style, value) {
2254
2063
  var content = this.getContentElement();
2255
2064
  var decorator = this.getDecorator();
2256
2065
  decorator = qx.theme.manager.Decoration.getInstance().resolve(decorator);
@@ -2261,7 +2070,6 @@ qx.Class.define("qx.ui.core.Widget",
2261
2070
  content.setStyle(style, value + "px");
2262
2071
  },
2263
2072
 
2264
-
2265
2073
  /*
2266
2074
  ---------------------------------------------------------------------------
2267
2075
  DECORATION SUPPORT
@@ -2269,8 +2077,7 @@ qx.Class.define("qx.ui.core.Widget",
2269
2077
  */
2270
2078
 
2271
2079
  // property apply
2272
- _applyDecorator : function(value, old)
2273
- {
2080
+ _applyDecorator(value, old) {
2274
2081
  var content = this.getContentElement();
2275
2082
 
2276
2083
  if (old) {
@@ -2282,14 +2089,11 @@ qx.Class.define("qx.ui.core.Widget",
2282
2089
  value = qx.theme.manager.Decoration.getInstance().addCssClass(value);
2283
2090
  content.addClass(value);
2284
2091
  }
2285
- if (value || old){
2092
+ if (value || old) {
2286
2093
  qx.ui.core.queue.Layout.add(this);
2287
2094
  }
2288
2095
  },
2289
2096
 
2290
-
2291
-
2292
-
2293
2097
  /*
2294
2098
  ---------------------------------------------------------------------------
2295
2099
  OTHER PROPERTIES
@@ -2297,40 +2101,37 @@ qx.Class.define("qx.ui.core.Widget",
2297
2101
  */
2298
2102
 
2299
2103
  // property apply
2300
- _applyToolTipText : function(value, old)
2301
- {
2302
- if (qx.core.Environment.get("qx.dynlocale"))
2303
- {
2104
+ _applyToolTipText(value, old) {
2105
+ if (qx.core.Environment.get("qx.dynlocale")) {
2304
2106
  if (this.__toolTipTextListenerId) {
2305
2107
  return;
2306
2108
  }
2307
2109
  var manager = qx.locale.Manager.getInstance();
2308
- this.__toolTipTextListenerId = manager.addListener("changeLocale",
2309
- function() {
2110
+ this.__toolTipTextListenerId = manager.addListener(
2111
+ "changeLocale",
2112
+ function () {
2310
2113
  var toolTipText = this.getToolTipText();
2311
2114
  if (toolTipText && toolTipText.translate) {
2312
2115
  this.setToolTipText(toolTipText.translate());
2313
2116
  }
2314
- }
2315
- , this);
2117
+ },
2118
+ this
2119
+ );
2316
2120
  }
2317
2121
  },
2318
2122
 
2319
2123
  // property apply
2320
- _applyTextColor : function(value, old) {
2124
+ _applyTextColor(value, old) {
2321
2125
  // empty template
2322
2126
  },
2323
2127
 
2324
-
2325
2128
  // property apply
2326
- _applyZIndex : function(value, old) {
2129
+ _applyZIndex(value, old) {
2327
2130
  this.getContentElement().setStyle("zIndex", value == null ? 0 : value);
2328
2131
  },
2329
2132
 
2330
-
2331
2133
  // property apply
2332
- _applyVisibility : function(value, old)
2333
- {
2134
+ _applyVisibility(value, old) {
2334
2135
  var content = this.getContentElement();
2335
2136
 
2336
2137
  if (value === "visible") {
@@ -2341,7 +2142,13 @@ qx.Class.define("qx.ui.core.Widget",
2341
2142
 
2342
2143
  // only force a layout update if visibility change from/to "exclude"
2343
2144
  var parent = this.$$parent;
2344
- if (parent && (old == null || value == null || old === "excluded" || value === "excluded")) {
2145
+ if (
2146
+ parent &&
2147
+ (old == null ||
2148
+ value == null ||
2149
+ old === "excluded" ||
2150
+ value === "excluded")
2151
+ ) {
2345
2152
  parent.invalidateLayoutChildren();
2346
2153
  }
2347
2154
 
@@ -2349,16 +2156,13 @@ qx.Class.define("qx.ui.core.Widget",
2349
2156
  qx.ui.core.queue.Visibility.add(this);
2350
2157
  },
2351
2158
 
2352
-
2353
2159
  // property apply
2354
- _applyOpacity : function(value, old) {
2160
+ _applyOpacity(value, old) {
2355
2161
  this.getContentElement().setStyle("opacity", value == 1 ? null : value);
2356
2162
  },
2357
2163
 
2358
-
2359
2164
  // property apply
2360
- _applyCursor : function(value, old)
2361
- {
2165
+ _applyCursor(value, old) {
2362
2166
  if (value == null && !this.isSelectable()) {
2363
2167
  value = "default";
2364
2168
  }
@@ -2366,13 +2170,14 @@ qx.Class.define("qx.ui.core.Widget",
2366
2170
  // In Opera the cursor must be set directly.
2367
2171
  // http://bugzilla.qooxdoo.org/show_bug.cgi?id=1729
2368
2172
  this.getContentElement().setStyle(
2369
- "cursor", value, qx.core.Environment.get("engine.name") == "opera"
2173
+ "cursor",
2174
+ value,
2175
+ qx.core.Environment.get("engine.name") == "opera"
2370
2176
  );
2371
2177
  },
2372
2178
 
2373
-
2374
2179
  // property apply
2375
- _applyBackgroundColor : function(value, old) {
2180
+ _applyBackgroundColor(value, old) {
2376
2181
  var color = this.getBackgroundColor();
2377
2182
  var content = this.getContentElement();
2378
2183
 
@@ -2380,13 +2185,11 @@ qx.Class.define("qx.ui.core.Widget",
2380
2185
  content.setStyle("backgroundColor", resolved);
2381
2186
  },
2382
2187
 
2383
-
2384
2188
  // property apply
2385
- _applyFont : function(value, old) {
2189
+ _applyFont(value, old) {
2386
2190
  // empty template
2387
2191
  },
2388
2192
 
2389
-
2390
2193
  /*
2391
2194
  ---------------------------------------------------------------------------
2392
2195
  DYNAMIC THEME SWITCH SUPPORT
@@ -2394,12 +2197,12 @@ qx.Class.define("qx.ui.core.Widget",
2394
2197
  */
2395
2198
 
2396
2199
  // overridden
2397
- _onChangeTheme : function() {
2200
+ _onChangeTheme() {
2398
2201
  if (this.isDisposed()) {
2399
2202
  return;
2400
2203
  }
2401
2204
 
2402
- this.base(arguments);
2205
+ super._onChangeTheme();
2403
2206
 
2404
2207
  // update the appearance
2405
2208
  this.updateAppearance();
@@ -2428,8 +2231,6 @@ qx.Class.define("qx.ui.core.Widget",
2428
2231
  }
2429
2232
  },
2430
2233
 
2431
-
2432
-
2433
2234
  /*
2434
2235
  ---------------------------------------------------------------------------
2435
2236
  STATE HANDLING
@@ -2437,16 +2238,13 @@ qx.Class.define("qx.ui.core.Widget",
2437
2238
  */
2438
2239
 
2439
2240
  /** @type {Map} The current widget states */
2440
- __states : null,
2441
-
2241
+ __states: null,
2442
2242
 
2443
2243
  /** @type {Boolean} Whether the widget has state changes which are not yet queued */
2444
- $$stateChanges : null,
2445
-
2244
+ $$stateChanges: null,
2446
2245
 
2447
2246
  /** @type {Map} Can be overridden to forward states to the child controls. */
2448
- _forwardStates : null,
2449
-
2247
+ _forwardStates: null,
2450
2248
 
2451
2249
  /**
2452
2250
  * Returns whether a state is set.
@@ -2454,20 +2252,17 @@ qx.Class.define("qx.ui.core.Widget",
2454
2252
  * @param state {String} the state to check.
2455
2253
  * @return {Boolean} whether the state is set.
2456
2254
  */
2457
- hasState : function(state)
2458
- {
2255
+ hasState(state) {
2459
2256
  var states = this.__states;
2460
2257
  return !!states && !!states[state];
2461
2258
  },
2462
2259
 
2463
-
2464
2260
  /**
2465
2261
  * Sets a state.
2466
2262
  *
2467
2263
  * @param state {String} The state to add
2468
2264
  */
2469
- addState : function(state)
2470
- {
2265
+ addState(state) {
2471
2266
  // Dynamically create state map
2472
2267
  var states = this.__states;
2473
2268
  if (!states) {
@@ -2494,11 +2289,9 @@ qx.Class.define("qx.ui.core.Widget",
2494
2289
  var forward = this._forwardStates;
2495
2290
  var controls = this.__childControls;
2496
2291
 
2497
- if (forward && forward[state] && controls)
2498
- {
2292
+ if (forward && forward[state] && controls) {
2499
2293
  var control;
2500
- for (var id in controls)
2501
- {
2294
+ for (var id in controls) {
2502
2295
  control = controls[id];
2503
2296
  if (control instanceof qx.ui.core.Widget) {
2504
2297
  controls[id].addState(state);
@@ -2507,14 +2300,12 @@ qx.Class.define("qx.ui.core.Widget",
2507
2300
  }
2508
2301
  },
2509
2302
 
2510
-
2511
2303
  /**
2512
2304
  * Clears a state.
2513
2305
  *
2514
2306
  * @param state {String} the state to clear.
2515
2307
  */
2516
- removeState : function(state)
2517
- {
2308
+ removeState(state) {
2518
2309
  // Check for existing state
2519
2310
  var states = this.__states;
2520
2311
  if (!states || !states[state]) {
@@ -2537,10 +2328,8 @@ qx.Class.define("qx.ui.core.Widget",
2537
2328
  var forward = this._forwardStates;
2538
2329
  var controls = this.__childControls;
2539
2330
 
2540
- if (forward && forward[state] && controls)
2541
- {
2542
- for (var id in controls)
2543
- {
2331
+ if (forward && forward[state] && controls) {
2332
+ for (var id in controls) {
2544
2333
  var control = controls[id];
2545
2334
  if (control instanceof qx.ui.core.Widget) {
2546
2335
  control.removeState(state);
@@ -2549,7 +2338,6 @@ qx.Class.define("qx.ui.core.Widget",
2549
2338
  }
2550
2339
  },
2551
2340
 
2552
-
2553
2341
  /**
2554
2342
  * Replaces the first state with the second one.
2555
2343
  *
@@ -2558,8 +2346,7 @@ qx.Class.define("qx.ui.core.Widget",
2558
2346
  * @param old {String} Previous state
2559
2347
  * @param value {String} New state
2560
2348
  */
2561
- replaceState : function(old, value)
2562
- {
2349
+ replaceState(old, value) {
2563
2350
  var states = this.__states;
2564
2351
  if (!states) {
2565
2352
  states = this.__states = {};
@@ -2583,10 +2370,8 @@ qx.Class.define("qx.ui.core.Widget",
2583
2370
  var forward = this._forwardStates;
2584
2371
  var controls = this.__childControls;
2585
2372
 
2586
- if (forward && forward[value] && controls)
2587
- {
2588
- for (var id in controls)
2589
- {
2373
+ if (forward && forward[value] && controls) {
2374
+ for (var id in controls) {
2590
2375
  var control = controls[id];
2591
2376
  if (control instanceof qx.ui.core.Widget) {
2592
2377
  control.replaceState(old, value);
@@ -2595,10 +2380,6 @@ qx.Class.define("qx.ui.core.Widget",
2595
2380
  }
2596
2381
  },
2597
2382
 
2598
-
2599
-
2600
-
2601
-
2602
2383
  /*
2603
2384
  ---------------------------------------------------------------------------
2604
2385
  APPEARANCE SUPPORT
@@ -2606,20 +2387,17 @@ qx.Class.define("qx.ui.core.Widget",
2606
2387
  */
2607
2388
 
2608
2389
  /** @type {String} The currently compiled selector to lookup the matching appearance */
2609
- __appearanceSelector : null,
2610
-
2390
+ __appearanceSelector: null,
2611
2391
 
2612
2392
  /** @type {Boolean} Whether the selectors needs to be recomputed before updating appearance */
2613
- __updateSelector : null,
2614
-
2393
+ __updateSelector: null,
2615
2394
 
2616
2395
  /**
2617
2396
  * Renders the appearance using the current widget states.
2618
2397
  *
2619
2398
  * Used exclusively by {qx.ui.core.queue.Appearance}.
2620
2399
  */
2621
- syncAppearance : function()
2622
- {
2400
+ syncAppearance() {
2623
2401
  var states = this.__states;
2624
2402
  var selector = this.__appearanceSelector;
2625
2403
  var manager = qx.theme.manager.Appearance.getInstance();
@@ -2629,16 +2407,19 @@ qx.Class.define("qx.ui.core.Widget",
2629
2407
  var unstyler = qx.core.Property.$$method.resetThemed;
2630
2408
 
2631
2409
  // Check for requested selector update
2632
- if (this.__updateSelector)
2633
- {
2410
+ if (this.__updateSelector) {
2634
2411
  // Clear flag
2635
2412
  delete this.__updateSelector;
2636
2413
 
2637
2414
  // Check if the selector was created previously
2638
- if (selector)
2639
- {
2415
+ if (selector) {
2640
2416
  // Query old selector
2641
- var oldData = manager.styleFrom(selector, states, null, this.getAppearance());
2417
+ var oldData = manager.styleFrom(
2418
+ selector,
2419
+ states,
2420
+ null,
2421
+ this.getAppearance()
2422
+ );
2642
2423
 
2643
2424
  // Clear current selector (to force recompute)
2644
2425
  selector = null;
@@ -2646,29 +2427,34 @@ qx.Class.define("qx.ui.core.Widget",
2646
2427
  }
2647
2428
 
2648
2429
  // Build selector
2649
- if (!selector)
2650
- {
2430
+ if (!selector) {
2651
2431
  var obj = this;
2652
2432
  var id = [];
2653
2433
 
2654
2434
  do {
2655
- id.push(obj.$$subcontrol||obj.getAppearance());
2656
- } while (obj = obj.$$subparent);
2435
+ id.push(obj.$$subcontrol || obj.getAppearance());
2436
+ } while ((obj = obj.$$subparent));
2657
2437
 
2658
2438
  // Combine parent control IDs, add top level appearance, filter result
2659
2439
  // to not include positioning information anymore (e.g. #3)
2660
- selector = id.reverse().join("/").replace(/#[0-9]+/g, "");
2440
+ selector = id
2441
+ .reverse()
2442
+ .join("/")
2443
+ .replace(/#[0-9]+/g, "");
2661
2444
  this.__appearanceSelector = selector;
2662
2445
  }
2663
2446
 
2664
2447
  // Query current selector
2665
- var newData = manager.styleFrom(selector, states, null, this.getAppearance());
2666
- if (newData)
2667
- {
2668
- if (oldData)
2669
- {
2670
- for (var prop in oldData)
2671
- {
2448
+ var newData = manager.styleFrom(
2449
+ selector,
2450
+ states,
2451
+ null,
2452
+ this.getAppearance()
2453
+ );
2454
+
2455
+ if (newData) {
2456
+ if (oldData) {
2457
+ for (var prop in oldData) {
2672
2458
  if (newData[prop] === undefined) {
2673
2459
  this[unstyler[prop]]();
2674
2460
  }
@@ -2676,25 +2462,27 @@ qx.Class.define("qx.ui.core.Widget",
2676
2462
  }
2677
2463
 
2678
2464
  // Check property availability of new data
2679
- if (qx.core.Environment.get("qx.debug"))
2680
- {
2681
- for (var prop in newData)
2682
- {
2465
+ if (qx.core.Environment.get("qx.debug")) {
2466
+ for (var prop in newData) {
2683
2467
  if (!this[styler[prop]]) {
2684
- throw new Error(this.classname +
2685
- ' has no themeable property "' + prop +
2686
- '" while styling ' + selector);
2468
+ throw new Error(
2469
+ this.classname +
2470
+ ' has no themeable property "' +
2471
+ prop +
2472
+ '" while styling ' +
2473
+ selector
2474
+ );
2687
2475
  }
2688
2476
  }
2689
2477
  }
2690
2478
 
2691
2479
  // Apply new data
2692
2480
  for (var prop in newData) {
2693
- newData[prop] === undefined ? this[unstyler[prop]]() : this[styler[prop]](newData[prop]);
2481
+ newData[prop] === undefined
2482
+ ? this[unstyler[prop]]()
2483
+ : this[styler[prop]](newData[prop]);
2694
2484
  }
2695
- }
2696
- else if (oldData)
2697
- {
2485
+ } else if (oldData) {
2698
2486
  // Clear old data
2699
2487
  for (var prop in oldData) {
2700
2488
  this[unstyler[prop]]();
@@ -2704,25 +2492,21 @@ qx.Class.define("qx.ui.core.Widget",
2704
2492
  this.fireDataEvent("syncAppearance", this.__states);
2705
2493
  },
2706
2494
 
2707
-
2708
2495
  // property apply
2709
- _applyAppearance : function(value, old) {
2496
+ _applyAppearance(value, old) {
2710
2497
  this.updateAppearance();
2711
2498
  },
2712
2499
 
2713
-
2714
2500
  /**
2715
2501
  * Helper method called from the visibility queue to detect outstanding changes
2716
2502
  * to the appearance.
2717
2503
  *
2718
2504
  * @internal
2719
2505
  */
2720
- checkAppearanceNeeds : function()
2721
- {
2506
+ checkAppearanceNeeds() {
2722
2507
  // CASE 1: Widget has never got an appearance already because it was never
2723
2508
  // visible before. Normally add it to the queue is the easiest way to update it.
2724
- if (!this.__initialAppearanceApplied)
2725
- {
2509
+ if (!this.__initialAppearanceApplied) {
2726
2510
  qx.ui.core.queue.Appearance.add(this);
2727
2511
  this.__initialAppearanceApplied = true;
2728
2512
  }
@@ -2732,20 +2516,17 @@ qx.Class.define("qx.ui.core.Widget",
2732
2516
  // In this case the widget is already queued in the appearance. This is basically
2733
2517
  // what all addState/removeState do, but the queue itself may not have been registered
2734
2518
  // to be flushed
2735
- else if (this.$$stateChanges)
2736
- {
2519
+ else if (this.$$stateChanges) {
2737
2520
  qx.ui.core.queue.Appearance.add(this);
2738
2521
  delete this.$$stateChanges;
2739
2522
  }
2740
2523
  },
2741
2524
 
2742
-
2743
2525
  /**
2744
2526
  * Refreshes the appearance of this widget and all
2745
2527
  * registered child controls.
2746
2528
  */
2747
- updateAppearance : function()
2748
- {
2529
+ updateAppearance() {
2749
2530
  // Clear selector
2750
2531
  this.__updateSelector = true;
2751
2532
 
@@ -2754,11 +2535,9 @@ qx.Class.define("qx.ui.core.Widget",
2754
2535
 
2755
2536
  // Update child controls
2756
2537
  var controls = this.__childControls;
2757
- if (controls)
2758
- {
2538
+ if (controls) {
2759
2539
  var obj;
2760
- for (var id in controls)
2761
- {
2540
+ for (var id in controls) {
2762
2541
  obj = controls[id];
2763
2542
 
2764
2543
  if (obj instanceof qx.ui.core.Widget) {
@@ -2768,10 +2547,6 @@ qx.Class.define("qx.ui.core.Widget",
2768
2547
  }
2769
2548
  },
2770
2549
 
2771
-
2772
-
2773
-
2774
-
2775
2550
  /*
2776
2551
  ---------------------------------------------------------------------------
2777
2552
  WIDGET QUEUE
@@ -2784,14 +2559,10 @@ qx.Class.define("qx.ui.core.Widget",
2784
2559
  *
2785
2560
  * @param jobs {Map} A map of jobs.
2786
2561
  */
2787
- syncWidget : function(jobs) {
2562
+ syncWidget(jobs) {
2788
2563
  // empty implementation
2789
2564
  },
2790
2565
 
2791
-
2792
-
2793
-
2794
-
2795
2566
  /*
2796
2567
  ---------------------------------------------------------------------------
2797
2568
  EVENT SUPPORT
@@ -2805,12 +2576,10 @@ qx.Class.define("qx.ui.core.Widget",
2805
2576
  * @return {qx.ui.core.Widget} A working event target of this widget.
2806
2577
  * May be <code>null</code> as well.
2807
2578
  */
2808
- getEventTarget : function()
2809
- {
2579
+ getEventTarget() {
2810
2580
  var target = this;
2811
2581
 
2812
- while (target.getAnonymous())
2813
- {
2582
+ while (target.getAnonymous()) {
2814
2583
  target = target.getLayoutParent();
2815
2584
  if (!target) {
2816
2585
  return null;
@@ -2820,7 +2589,6 @@ qx.Class.define("qx.ui.core.Widget",
2820
2589
  return target;
2821
2590
  },
2822
2591
 
2823
-
2824
2592
  /**
2825
2593
  * Returns the next focus target in the parent chain. May
2826
2594
  * also return the widget itself if it is not anonymous and focusable.
@@ -2828,16 +2596,14 @@ qx.Class.define("qx.ui.core.Widget",
2828
2596
  * @return {qx.ui.core.Widget} A working focus target of this widget.
2829
2597
  * May be <code>null</code> as well.
2830
2598
  */
2831
- getFocusTarget : function()
2832
- {
2599
+ getFocusTarget() {
2833
2600
  var target = this;
2834
2601
 
2835
2602
  if (!target.getEnabled()) {
2836
2603
  return null;
2837
2604
  }
2838
2605
 
2839
- while (target.getAnonymous() || !target.getFocusable())
2840
- {
2606
+ while (target.getAnonymous() || !target.getFocusable()) {
2841
2607
  target = target.getLayoutParent();
2842
2608
  if (!target || !target.getEnabled()) {
2843
2609
  return null;
@@ -2847,17 +2613,15 @@ qx.Class.define("qx.ui.core.Widget",
2847
2613
  return target;
2848
2614
  },
2849
2615
 
2850
-
2851
2616
  /**
2852
2617
  * Returns the element which should be focused.
2853
2618
  *
2854
2619
  * @return {qx.html.Element} The html element to focus.
2855
2620
  */
2856
- getFocusElement : function() {
2621
+ getFocusElement() {
2857
2622
  return this.getContentElement();
2858
2623
  },
2859
2624
 
2860
-
2861
2625
  /**
2862
2626
  * Whether the widget is reachable by pressing the TAB key.
2863
2627
  *
@@ -2867,19 +2631,16 @@ qx.Class.define("qx.ui.core.Widget",
2867
2631
  *
2868
2632
  * @return {Boolean} Whether the element is tabable.
2869
2633
  */
2870
- isTabable : function() {
2871
- return (!!this.getContentElement().getDomElement()) && this.isFocusable();
2634
+ isTabable() {
2635
+ return !!this.getContentElement().getDomElement() && this.isFocusable();
2872
2636
  },
2873
2637
 
2874
-
2875
2638
  // property apply
2876
- _applyFocusable : function(value, old)
2877
- {
2639
+ _applyFocusable(value, old) {
2878
2640
  var target = this.getFocusElement();
2879
2641
 
2880
2642
  // Apply native tabIndex attribute
2881
- if (value)
2882
- {
2643
+ if (value) {
2883
2644
  var tabIndex = this.getTabIndex();
2884
2645
  if (tabIndex == null) {
2885
2646
  tabIndex = 1;
@@ -2889,9 +2650,7 @@ qx.Class.define("qx.ui.core.Widget",
2889
2650
 
2890
2651
  // Omit native dotted outline border
2891
2652
  target.setStyle("outline", "none");
2892
- }
2893
- else
2894
- {
2653
+ } else {
2895
2654
  if (target.isNativelyFocusable()) {
2896
2655
  target.setAttribute("tabIndex", -1);
2897
2656
  } else if (old) {
@@ -2900,26 +2659,20 @@ qx.Class.define("qx.ui.core.Widget",
2900
2659
  }
2901
2660
  },
2902
2661
 
2903
-
2904
2662
  // property apply
2905
- _applyKeepFocus : function(value)
2906
- {
2663
+ _applyKeepFocus(value) {
2907
2664
  var target = this.getFocusElement();
2908
2665
  target.setAttribute("qxKeepFocus", value ? "on" : null);
2909
2666
  },
2910
2667
 
2911
-
2912
2668
  // property apply
2913
- _applyKeepActive : function(value)
2914
- {
2669
+ _applyKeepActive(value) {
2915
2670
  var target = this.getContentElement();
2916
2671
  target.setAttribute("qxKeepActive", value ? "on" : null);
2917
2672
  },
2918
2673
 
2919
-
2920
2674
  // property apply
2921
- _applyTabIndex : function(value)
2922
- {
2675
+ _applyTabIndex(value) {
2923
2676
  if (value == null) {
2924
2677
  value = 1;
2925
2678
  } else if (value < 1 || value > 32000) {
@@ -2931,10 +2684,8 @@ qx.Class.define("qx.ui.core.Widget",
2931
2684
  }
2932
2685
  },
2933
2686
 
2934
-
2935
2687
  // property apply
2936
- _applySelectable : function(value, old)
2937
- {
2688
+ _applySelectable(value, old) {
2938
2689
  // Re-apply cursor if not in "initSelectable"
2939
2690
  if (old !== null) {
2940
2691
  this._applyCursor(this.getCursor());
@@ -2944,12 +2695,9 @@ qx.Class.define("qx.ui.core.Widget",
2944
2695
  this.getContentElement().setSelectable(value);
2945
2696
  },
2946
2697
 
2947
-
2948
2698
  // property apply
2949
- _applyEnabled : function(value, old)
2950
- {
2951
- if (value===false)
2952
- {
2699
+ _applyEnabled(value, old) {
2700
+ if (value === false) {
2953
2701
  this.addState("disabled");
2954
2702
 
2955
2703
  // hovered not configured in widget, but as this is a
@@ -2958,8 +2706,7 @@ qx.Class.define("qx.ui.core.Widget",
2958
2706
  this.removeState("hovered");
2959
2707
 
2960
2708
  // Blur when focused
2961
- if (this.isFocusable())
2962
- {
2709
+ if (this.isFocusable()) {
2963
2710
  // Remove focused state
2964
2711
  this.removeState("focused");
2965
2712
 
@@ -2976,9 +2723,7 @@ qx.Class.define("qx.ui.core.Widget",
2976
2723
  if (this.isDroppable()) {
2977
2724
  this._applyDroppable(false, true);
2978
2725
  }
2979
- }
2980
- else
2981
- {
2726
+ } else {
2982
2727
  this.removeState("disabled");
2983
2728
 
2984
2729
  // Re-add tabIndex
@@ -2998,9 +2743,6 @@ qx.Class.define("qx.ui.core.Widget",
2998
2743
  }
2999
2744
  },
3000
2745
 
3001
-
3002
-
3003
-
3004
2746
  /*
3005
2747
  ---------------------------------------------------------------------------
3006
2748
  CONTEXT MENU
@@ -3008,52 +2750,52 @@ qx.Class.define("qx.ui.core.Widget",
3008
2750
  */
3009
2751
 
3010
2752
  // property apply
3011
- _applyNativeContextMenu : function(value, old, name) {
2753
+ _applyNativeContextMenu(value, old, name) {
3012
2754
  // empty body to allow overriding
3013
2755
  },
3014
2756
 
3015
-
3016
2757
  // property apply
3017
- _applyContextMenu : function(value, old)
3018
- {
3019
- if (old)
3020
- {
2758
+ _applyContextMenu(value, old) {
2759
+ if (old) {
3021
2760
  old.removeState("contextmenu");
3022
2761
 
3023
2762
  if (old.getOpener() == this) {
3024
2763
  old.resetOpener();
3025
2764
  }
3026
2765
 
3027
- if (!value)
3028
- {
2766
+ if (!value) {
3029
2767
  this.removeListener("contextmenu", this._onContextMenuOpen);
3030
2768
  this.removeListener("longtap", this._onContextMenuOpen);
3031
- old.removeListener("changeVisibility", this._onBeforeContextMenuOpen, this);
2769
+ old.removeListener(
2770
+ "changeVisibility",
2771
+ this._onBeforeContextMenuOpen,
2772
+ this
2773
+ );
3032
2774
  }
3033
2775
  }
3034
2776
 
3035
- if (value)
3036
- {
2777
+ if (value) {
3037
2778
  value.setOpener(this);
3038
2779
  value.addState("contextmenu");
3039
2780
 
3040
- if (!old)
3041
- {
2781
+ if (!old) {
3042
2782
  this.addListener("contextmenu", this._onContextMenuOpen);
3043
2783
  this.addListener("longtap", this._onContextMenuOpen);
3044
- value.addListener("changeVisibility", this._onBeforeContextMenuOpen, this);
2784
+ value.addListener(
2785
+ "changeVisibility",
2786
+ this._onBeforeContextMenuOpen,
2787
+ this
2788
+ );
3045
2789
  }
3046
2790
  }
3047
2791
  },
3048
2792
 
3049
-
3050
2793
  /**
3051
2794
  * Event listener for <code>contextmenu</code> event
3052
2795
  *
3053
2796
  * @param e {qx.event.type.Pointer} The event object
3054
2797
  */
3055
- _onContextMenuOpen : function(e)
3056
- {
2798
+ _onContextMenuOpen(e) {
3057
2799
  // only allow long tap context menu on touch interactions
3058
2800
  if (e.getType() == "longtap") {
3059
2801
  if (e.getPointerType() !== "touch") {
@@ -3067,22 +2809,20 @@ qx.Class.define("qx.ui.core.Widget",
3067
2809
  e.stop();
3068
2810
  },
3069
2811
 
3070
-
3071
2812
  /**
3072
2813
  * Event listener for <code>beforeContextmenuOpen</code> event
3073
2814
  *
3074
2815
  * @param e {qx.event.type.Data} The data event
3075
2816
  */
3076
- _onBeforeContextMenuOpen : function(e)
3077
- {
3078
- if (e.getData() == "visible" && this.hasListener("beforeContextmenuOpen")) {
2817
+ _onBeforeContextMenuOpen(e) {
2818
+ if (
2819
+ e.getData() == "visible" &&
2820
+ this.hasListener("beforeContextmenuOpen")
2821
+ ) {
3079
2822
  this.fireDataEvent("beforeContextmenuOpen", e);
3080
2823
  }
3081
2824
  },
3082
2825
 
3083
-
3084
-
3085
-
3086
2826
  /*
3087
2827
  ---------------------------------------------------------------------------
3088
2828
  USEFUL COMMON EVENT LISTENERS
@@ -3095,14 +2835,10 @@ qx.Class.define("qx.ui.core.Widget",
3095
2835
  *
3096
2836
  * @param e {qx.event.type.Event} Any bubbling event
3097
2837
  */
3098
- _onStopEvent : function(e) {
2838
+ _onStopEvent(e) {
3099
2839
  e.stopPropagation();
3100
2840
  },
3101
2841
 
3102
-
3103
-
3104
-
3105
-
3106
2842
  /*
3107
2843
  ---------------------------------------------------------------------------
3108
2844
  DRAG & DROP SUPPORT
@@ -3115,13 +2851,12 @@ qx.Class.define("qx.ui.core.Widget",
3115
2851
  * and return your custom instance.
3116
2852
  * @return {qx.ui.core.DragDropCursor} A drag drop cursor implementation.
3117
2853
  */
3118
- _getDragDropCursor : function() {
2854
+ _getDragDropCursor() {
3119
2855
  return qx.ui.core.DragDropCursor.getInstance();
3120
2856
  },
3121
2857
 
3122
2858
  // property apply
3123
- _applyDraggable : function(value, old)
3124
- {
2859
+ _applyDraggable(value, old) {
3125
2860
  if (!this.isEnabled() && value === true) {
3126
2861
  value = false;
3127
2862
  }
@@ -3130,15 +2865,12 @@ qx.Class.define("qx.ui.core.Widget",
3130
2865
  this._getDragDropCursor();
3131
2866
 
3132
2867
  // Process listeners
3133
- if (value)
3134
- {
2868
+ if (value) {
3135
2869
  this.addListener("dragstart", this._onDragStart);
3136
2870
  this.addListener("drag", this._onDrag);
3137
2871
  this.addListener("dragend", this._onDragEnd);
3138
2872
  this.addListener("dragchange", this._onDragChange);
3139
- }
3140
- else
3141
- {
2873
+ } else {
3142
2874
  this.removeListener("dragstart", this._onDragStart);
3143
2875
  this.removeListener("drag", this._onDrag);
3144
2876
  this.removeListener("dragend", this._onDragEnd);
@@ -3149,10 +2881,8 @@ qx.Class.define("qx.ui.core.Widget",
3149
2881
  this.getContentElement().setAttribute("qxDraggable", value ? "on" : null);
3150
2882
  },
3151
2883
 
3152
-
3153
2884
  // property apply
3154
- _applyDroppable : function(value, old)
3155
- {
2885
+ _applyDroppable(value, old) {
3156
2886
  if (!this.isEnabled() && value === true) {
3157
2887
  value = false;
3158
2888
  }
@@ -3161,58 +2891,46 @@ qx.Class.define("qx.ui.core.Widget",
3161
2891
  this.getContentElement().setAttribute("qxDroppable", value ? "on" : null);
3162
2892
  },
3163
2893
 
3164
-
3165
2894
  /**
3166
2895
  * Event listener for own <code>dragstart</code> event.
3167
2896
  *
3168
2897
  * @param e {qx.event.type.Drag} Drag event
3169
2898
  */
3170
- _onDragStart : function(e)
3171
- {
2899
+ _onDragStart(e) {
3172
2900
  this._getDragDropCursor().placeToPointer(e);
3173
2901
  this.getApplicationRoot().setGlobalCursor("default");
3174
2902
  },
3175
2903
 
3176
-
3177
2904
  /**
3178
2905
  * Event listener for own <code>drag</code> event.
3179
2906
  *
3180
2907
  * @param e {qx.event.type.Drag} Drag event
3181
2908
  */
3182
- _onDrag : function(e) {
2909
+ _onDrag(e) {
3183
2910
  this._getDragDropCursor().placeToPointer(e);
3184
2911
  },
3185
2912
 
3186
-
3187
2913
  /**
3188
2914
  * Event listener for own <code>dragend</code> event.
3189
2915
  *
3190
2916
  * @param e {qx.event.type.Drag} Drag event
3191
2917
  */
3192
- _onDragEnd : function(e)
3193
- {
2918
+ _onDragEnd(e) {
3194
2919
  this._getDragDropCursor().moveTo(-1000, -1000);
3195
2920
  this.getApplicationRoot().resetGlobalCursor();
3196
2921
  },
3197
2922
 
3198
-
3199
2923
  /**
3200
2924
  * Event listener for own <code>dragchange</code> event.
3201
2925
  *
3202
2926
  * @param e {qx.event.type.Drag} Drag event
3203
2927
  */
3204
- _onDragChange : function(e)
3205
- {
2928
+ _onDragChange(e) {
3206
2929
  var cursor = this._getDragDropCursor();
3207
2930
  var action = e.getCurrentAction();
3208
2931
  action ? cursor.setAction(action) : cursor.resetAction();
3209
2932
  },
3210
2933
 
3211
-
3212
-
3213
-
3214
-
3215
-
3216
2934
  /*
3217
2935
  ---------------------------------------------------------------------------
3218
2936
  VISUALIZE FOCUS STATES
@@ -3227,11 +2945,10 @@ qx.Class.define("qx.ui.core.Widget",
3227
2945
  *
3228
2946
  * @internal
3229
2947
  */
3230
- visualizeFocus : function() {
2948
+ visualizeFocus() {
3231
2949
  this.addState("focused");
3232
2950
  },
3233
2951
 
3234
-
3235
2952
  /**
3236
2953
  * Event handler which is executed when the widget lost the focus.
3237
2954
  *
@@ -3240,15 +2957,10 @@ qx.Class.define("qx.ui.core.Widget",
3240
2957
  *
3241
2958
  * @internal
3242
2959
  */
3243
- visualizeBlur : function() {
2960
+ visualizeBlur() {
3244
2961
  this.removeState("focused");
3245
2962
  },
3246
2963
 
3247
-
3248
-
3249
-
3250
-
3251
-
3252
2964
  /*
3253
2965
  ---------------------------------------------------------------------------
3254
2966
  SCROLL CHILD INTO VIEW
@@ -3270,8 +2982,7 @@ qx.Class.define("qx.ui.core.Widget",
3270
2982
  * @param direct {Boolean?true} Whether the execution should be made
3271
2983
  * directly when possible
3272
2984
  */
3273
- scrollChildIntoView : function(child, alignX, alignY, direct)
3274
- {
2985
+ scrollChildIntoView(child, alignX, alignY, direct) {
3275
2986
  // Scroll directly on default
3276
2987
  direct = typeof direct == "undefined" ? true : direct;
3277
2988
 
@@ -3299,7 +3010,7 @@ qx.Class.define("qx.ui.core.Widget",
3299
3010
 
3300
3011
  // Siblings
3301
3012
  if (direct) {
3302
- parent.getChildren().forEach(function(sibling) {
3013
+ parent.getChildren().forEach(function (sibling) {
3303
3014
  direct = direct && !Layout.isScheduled(sibling);
3304
3015
  });
3305
3016
  }
@@ -3310,7 +3021,6 @@ qx.Class.define("qx.ui.core.Widget",
3310
3021
  this.scrollChildIntoViewY(child, alignY, direct);
3311
3022
  },
3312
3023
 
3313
-
3314
3024
  /**
3315
3025
  * The method scrolls the given item into view (x-axis only).
3316
3026
  *
@@ -3322,11 +3032,14 @@ qx.Class.define("qx.ui.core.Widget",
3322
3032
  * @param direct {Boolean?true} Whether the execution should be made
3323
3033
  * directly when possible
3324
3034
  */
3325
- scrollChildIntoViewX : function(child, align, direct) {
3326
- this.getContentElement().scrollChildIntoViewX(child.getContentElement(), align, direct);
3035
+ scrollChildIntoViewX(child, align, direct) {
3036
+ this.getContentElement().scrollChildIntoViewX(
3037
+ child.getContentElement(),
3038
+ align,
3039
+ direct
3040
+ );
3327
3041
  },
3328
3042
 
3329
-
3330
3043
  /**
3331
3044
  * The method scrolls the given item into view (y-axis only).
3332
3045
  *
@@ -3338,14 +3051,14 @@ qx.Class.define("qx.ui.core.Widget",
3338
3051
  * @param direct {Boolean?true} Whether the execution should be made
3339
3052
  * directly when possible
3340
3053
  */
3341
- scrollChildIntoViewY : function(child, align, direct) {
3342
- this.getContentElement().scrollChildIntoViewY(child.getContentElement(), align, direct);
3054
+ scrollChildIntoViewY(child, align, direct) {
3055
+ this.getContentElement().scrollChildIntoViewY(
3056
+ child.getContentElement(),
3057
+ align,
3058
+ direct
3059
+ );
3343
3060
  },
3344
3061
 
3345
-
3346
-
3347
-
3348
-
3349
3062
  /*
3350
3063
  ---------------------------------------------------------------------------
3351
3064
  FOCUS SYSTEM USER ACCESS
@@ -3356,8 +3069,7 @@ qx.Class.define("qx.ui.core.Widget",
3356
3069
  * Focus this widget.
3357
3070
  *
3358
3071
  */
3359
- focus : function()
3360
- {
3072
+ focus() {
3361
3073
  if (this.isFocusable()) {
3362
3074
  this.getFocusElement().focus();
3363
3075
  } else if (qx.ui.core.Widget.UNFOCUSABLE_WIDGET_FOCUS_BLUR_ERROR) {
@@ -3365,13 +3077,11 @@ qx.Class.define("qx.ui.core.Widget",
3365
3077
  }
3366
3078
  },
3367
3079
 
3368
-
3369
3080
  /**
3370
3081
  * Remove focus from this widget.
3371
3082
  *
3372
3083
  */
3373
- blur : function()
3374
- {
3084
+ blur() {
3375
3085
  if (this.isFocusable()) {
3376
3086
  this.getFocusElement().blur();
3377
3087
  } else if (qx.ui.core.Widget.UNFOCUSABLE_WIDGET_FOCUS_BLUR_ERROR) {
@@ -3379,25 +3089,22 @@ qx.Class.define("qx.ui.core.Widget",
3379
3089
  }
3380
3090
  },
3381
3091
 
3382
-
3383
3092
  /**
3384
3093
  * Activate this widget e.g. for keyboard events.
3385
3094
  *
3386
3095
  */
3387
- activate : function() {
3096
+ activate() {
3388
3097
  this.getContentElement().activate();
3389
3098
  },
3390
3099
 
3391
-
3392
3100
  /**
3393
3101
  * Deactivate this widget e.g. for keyboard events.
3394
3102
  *
3395
3103
  */
3396
- deactivate : function() {
3104
+ deactivate() {
3397
3105
  this.getContentElement().deactivate();
3398
3106
  },
3399
3107
 
3400
-
3401
3108
  /**
3402
3109
  * Focus this widget when using the keyboard. This is
3403
3110
  * mainly thought for the advanced qooxdoo keyboard handling
@@ -3405,14 +3112,10 @@ qx.Class.define("qx.ui.core.Widget",
3405
3112
  *
3406
3113
  * @internal
3407
3114
  */
3408
- tabFocus : function() {
3115
+ tabFocus() {
3409
3116
  this.getFocusElement().focus();
3410
3117
  },
3411
3118
 
3412
-
3413
-
3414
-
3415
-
3416
3119
  /*
3417
3120
  ---------------------------------------------------------------------------
3418
3121
  CHILD CONTROL SUPPORT
@@ -3425,8 +3128,7 @@ qx.Class.define("qx.ui.core.Widget",
3425
3128
  * @param id {String} ID of the child control
3426
3129
  * @return {Boolean} <code>true</code> when the child control is registered.
3427
3130
  */
3428
- hasChildControl : function(id)
3429
- {
3131
+ hasChildControl(id) {
3430
3132
  if (!this.__childControls) {
3431
3133
  return false;
3432
3134
  }
@@ -3434,21 +3136,18 @@ qx.Class.define("qx.ui.core.Widget",
3434
3136
  return !!this.__childControls[id];
3435
3137
  },
3436
3138
 
3437
-
3438
3139
  /** @type {Map} Map of instantiated child controls */
3439
- __childControls : null,
3440
-
3140
+ __childControls: null,
3441
3141
 
3442
3142
  /**
3443
3143
  * Returns a map of all already created child controls
3444
3144
  *
3445
3145
  * @return {Map} mapping of child control id to the child widget.
3446
3146
  */
3447
- _getCreatedChildControls : function() {
3147
+ _getCreatedChildControls() {
3448
3148
  return this.__childControls;
3449
3149
  },
3450
3150
 
3451
-
3452
3151
  /**
3453
3152
  * Returns the child control from the given ID. Returns
3454
3153
  * <code>null</code> when the child control is unknown.
@@ -3467,10 +3166,8 @@ qx.Class.define("qx.ui.core.Widget",
3467
3166
  * should not be created dynamically if not yet available.
3468
3167
  * @return {qx.ui.core.Widget} Child control
3469
3168
  */
3470
- getChildControl : function(id, notcreate)
3471
- {
3472
- if (!this.__childControls)
3473
- {
3169
+ getChildControl(id, notcreate) {
3170
+ if (!this.__childControls) {
3474
3171
  if (notcreate) {
3475
3172
  return null;
3476
3173
  }
@@ -3490,43 +3187,37 @@ qx.Class.define("qx.ui.core.Widget",
3490
3187
  return this._createChildControl(id);
3491
3188
  },
3492
3189
 
3493
-
3494
3190
  /**
3495
3191
  * Shows the given child control by ID
3496
3192
  *
3497
3193
  * @param id {String} ID of the child control
3498
3194
  * @return {qx.ui.core.Widget} the child control
3499
3195
  */
3500
- _showChildControl : function(id)
3501
- {
3196
+ _showChildControl(id) {
3502
3197
  var control = this.getChildControl(id);
3503
3198
  control.show();
3504
3199
  return control;
3505
3200
  },
3506
3201
 
3507
-
3508
3202
  /**
3509
3203
  * Excludes the given child control by ID
3510
3204
  *
3511
3205
  * @param id {String} ID of the child control
3512
3206
  */
3513
- _excludeChildControl : function(id)
3514
- {
3207
+ _excludeChildControl(id) {
3515
3208
  var control = this.getChildControl(id, true);
3516
3209
  if (control) {
3517
3210
  control.exclude();
3518
3211
  }
3519
3212
  },
3520
3213
 
3521
-
3522
3214
  /**
3523
3215
  * Whether the given child control is visible.
3524
3216
  *
3525
3217
  * @param id {String} ID of the child control
3526
3218
  * @return {Boolean} <code>true</code> when the child control is visible.
3527
3219
  */
3528
- _isChildControlVisible : function(id)
3529
- {
3220
+ _isChildControlVisible(id) {
3530
3221
  var control = this.getChildControl(id, true);
3531
3222
  if (control) {
3532
3223
  return control.isVisible();
@@ -3535,7 +3226,6 @@ qx.Class.define("qx.ui.core.Widget",
3535
3226
  return false;
3536
3227
  },
3537
3228
 
3538
-
3539
3229
  /**
3540
3230
  * Release the child control by ID and decouple the
3541
3231
  * child from the parent. This method does not dispose the child control.
@@ -3543,8 +3233,7 @@ qx.Class.define("qx.ui.core.Widget",
3543
3233
  * @param id {String} ID of the child control
3544
3234
  * @return {qx.ui.core.Widget} The released control
3545
3235
  */
3546
- _releaseChildControl : function(id)
3547
- {
3236
+ _releaseChildControl(id) {
3548
3237
  var control = this.getChildControl(id, false);
3549
3238
  if (!control) {
3550
3239
  throw new Error("Unsupported control: " + id);
@@ -3571,7 +3260,6 @@ qx.Class.define("qx.ui.core.Widget",
3571
3260
  return control;
3572
3261
  },
3573
3262
 
3574
-
3575
3263
  /**
3576
3264
  * Force the creation of the given child control by ID.
3577
3265
  *
@@ -3582,8 +3270,7 @@ qx.Class.define("qx.ui.core.Widget",
3582
3270
  * @return {qx.ui.core.Widget} The created control
3583
3271
  * @throws {Error} when the control was created before
3584
3272
  */
3585
- _createChildControl : function(id)
3586
- {
3273
+ _createChildControl(id) {
3587
3274
  if (!this.__childControls) {
3588
3275
  this.__childControls = {};
3589
3276
  } else if (this.__childControls[id]) {
@@ -3596,12 +3283,18 @@ qx.Class.define("qx.ui.core.Widget",
3596
3283
  var control = this._createChildControlImpl(id);
3597
3284
  } else {
3598
3285
  var control = this._createChildControlImpl(
3599
- id.substring(0, pos), id.substring(pos + 1, id.length)
3286
+ id.substring(0, pos),
3287
+ id.substring(pos + 1, id.length)
3600
3288
  );
3601
3289
  }
3602
- } catch(exc) {
3603
- exc.message = "Exception while creating child control '" + id +
3604
- "' of widget " + this.toString() + ": " + exc.message;
3290
+ } catch (exc) {
3291
+ exc.message =
3292
+ "Exception while creating child control '" +
3293
+ id +
3294
+ "' of widget " +
3295
+ this.toString() +
3296
+ ": " +
3297
+ exc.message;
3605
3298
  throw exc;
3606
3299
  }
3607
3300
 
@@ -3617,10 +3310,8 @@ qx.Class.define("qx.ui.core.Widget",
3617
3310
  var states = this.__states;
3618
3311
  var forward = this._forwardStates;
3619
3312
 
3620
- if (states && forward && control instanceof qx.ui.core.Widget)
3621
- {
3622
- for (var state in states)
3623
- {
3313
+ if (states && forward && control instanceof qx.ui.core.Widget) {
3314
+ for (var state in states) {
3624
3315
  if (forward[state]) {
3625
3316
  control.addState(state);
3626
3317
  }
@@ -3638,10 +3329,9 @@ qx.Class.define("qx.ui.core.Widget",
3638
3329
  this.fireDataEvent("createChildControl", control);
3639
3330
 
3640
3331
  // Register control and return
3641
- return this.__childControls[id] = control;
3332
+ return (this.__childControls[id] = control);
3642
3333
  },
3643
3334
 
3644
-
3645
3335
  /**
3646
3336
  * Internal method to create child controls. This method
3647
3337
  * should be overwritten by classes which extends this one
@@ -3653,18 +3343,16 @@ qx.Class.define("qx.ui.core.Widget",
3653
3343
  * all text following the # will be the hash argument.
3654
3344
  * @return {qx.ui.core.Widget} The created control or <code>null</code>
3655
3345
  */
3656
- _createChildControlImpl : function(id, hash) {
3346
+ _createChildControlImpl(id, hash) {
3657
3347
  return null;
3658
3348
  },
3659
3349
 
3660
-
3661
3350
  /**
3662
3351
  * Dispose all registered controls. This is automatically
3663
3352
  * executed by the widget.
3664
3353
  *
3665
3354
  */
3666
- _disposeChildControls : function()
3667
- {
3355
+ _disposeChildControls() {
3668
3356
  var controls = this.__childControls;
3669
3357
  if (!controls) {
3670
3358
  return;
@@ -3672,8 +3360,7 @@ qx.Class.define("qx.ui.core.Widget",
3672
3360
 
3673
3361
  var Widget = qx.ui.core.Widget;
3674
3362
 
3675
- for (var id in controls)
3676
- {
3363
+ for (var id in controls) {
3677
3364
  var control = controls[id];
3678
3365
  if (!Widget.contains(this, control)) {
3679
3366
  control.destroy();
@@ -3685,18 +3372,15 @@ qx.Class.define("qx.ui.core.Widget",
3685
3372
  delete this.__childControls;
3686
3373
  },
3687
3374
 
3688
-
3689
3375
  /**
3690
3376
  * Finds and returns the top level control. This is the first
3691
3377
  * widget which is not a child control of any other widget.
3692
3378
  *
3693
3379
  * @return {qx.ui.core.Widget} The top control
3694
3380
  */
3695
- _findTopControl : function()
3696
- {
3381
+ _findTopControl() {
3697
3382
  var obj = this;
3698
- while (obj)
3699
- {
3383
+ while (obj) {
3700
3384
  if (!obj.$$subparent) {
3701
3385
  return obj;
3702
3386
  }
@@ -3707,7 +3391,6 @@ qx.Class.define("qx.ui.core.Widget",
3707
3391
  return null;
3708
3392
  },
3709
3393
 
3710
-
3711
3394
  /**
3712
3395
  * Return the ID (name) if this instance was a created as a child control of another widget.
3713
3396
  *
@@ -3715,20 +3398,16 @@ qx.Class.define("qx.ui.core.Widget",
3715
3398
  *
3716
3399
  * @return {String|null} ID of the current widget or null if it was not created as a subcontrol
3717
3400
  */
3718
- getSubcontrolId : function()
3719
- {
3401
+ getSubcontrolId() {
3720
3402
  return this.$$subcontrol || null;
3721
3403
  },
3722
3404
 
3723
-
3724
-
3725
3405
  /*
3726
3406
  ---------------------------------------------------------------------------
3727
3407
  LOWER LEVEL ACCESS
3728
3408
  ---------------------------------------------------------------------------
3729
3409
  */
3730
3410
 
3731
-
3732
3411
  /**
3733
3412
  * Computes the location of the content element in context of the document
3734
3413
  * dimensions.
@@ -3751,13 +3430,11 @@ qx.Class.define("qx.ui.core.Widget",
3751
3430
  * <code>right</code> and <code>bottom</code> which contains the distance
3752
3431
  * of the element relative to the document.
3753
3432
  */
3754
- getContentLocation : function(mode)
3755
- {
3433
+ getContentLocation(mode) {
3756
3434
  var domEl = this.getContentElement().getDomElement();
3757
3435
  return domEl ? qx.bom.element.Location.get(domEl, mode) : null;
3758
3436
  },
3759
3437
 
3760
-
3761
3438
  /**
3762
3439
  * Directly modifies the relative left position in relation
3763
3440
  * to the parent element.
@@ -3768,8 +3445,7 @@ qx.Class.define("qx.ui.core.Widget",
3768
3445
  *
3769
3446
  * @param value {Integer} Left position
3770
3447
  */
3771
- setDomLeft : function(value)
3772
- {
3448
+ setDomLeft(value) {
3773
3449
  var domEl = this.getContentElement().getDomElement();
3774
3450
  if (domEl) {
3775
3451
  domEl.style.left = value + "px";
@@ -3778,7 +3454,6 @@ qx.Class.define("qx.ui.core.Widget",
3778
3454
  }
3779
3455
  },
3780
3456
 
3781
-
3782
3457
  /**
3783
3458
  * Directly modifies the relative top position in relation
3784
3459
  * to the parent element.
@@ -3789,8 +3464,7 @@ qx.Class.define("qx.ui.core.Widget",
3789
3464
  *
3790
3465
  * @param value {Integer} Top position
3791
3466
  */
3792
- setDomTop : function(value)
3793
- {
3467
+ setDomTop(value) {
3794
3468
  var domEl = this.getContentElement().getDomElement();
3795
3469
  if (domEl) {
3796
3470
  domEl.style.top = value + "px";
@@ -3799,7 +3473,6 @@ qx.Class.define("qx.ui.core.Widget",
3799
3473
  }
3800
3474
  },
3801
3475
 
3802
-
3803
3476
  /**
3804
3477
  * Directly modifies the relative left and top position in relation
3805
3478
  * to the parent element.
@@ -3811,34 +3484,28 @@ qx.Class.define("qx.ui.core.Widget",
3811
3484
  * @param left {Integer} Left position
3812
3485
  * @param top {Integer} Top position
3813
3486
  */
3814
- setDomPosition : function(left, top)
3815
- {
3487
+ setDomPosition(left, top) {
3816
3488
  var domEl = this.getContentElement().getDomElement();
3817
- if (domEl)
3818
- {
3489
+ if (domEl) {
3819
3490
  domEl.style.left = left + "px";
3820
3491
  domEl.style.top = top + "px";
3821
- }
3822
- else
3823
- {
3492
+ } else {
3824
3493
  throw new Error("DOM element is not yet created!");
3825
3494
  }
3826
3495
  },
3827
3496
 
3828
-
3829
-
3830
3497
  /*
3831
3498
  ---------------------------------------------------------------------------
3832
3499
  ARIA attrs support
3833
3500
  ---------------------------------------------------------------------------
3834
3501
  */
3835
-
3502
+
3836
3503
  /**
3837
3504
  * Sets the string which labels this widget. This will be read out by screenreaders. Needed if there is no
3838
3505
  * readable text/label in this widget which would automatically act as aria-label.
3839
3506
  * @param label {String} Labelling Text
3840
3507
  */
3841
- setAriaLabel: function(label) {
3508
+ setAriaLabel(label) {
3842
3509
  this.getContentElement().setAttribute("aria-label", label);
3843
3510
  },
3844
3511
 
@@ -3849,7 +3516,7 @@ qx.Class.define("qx.ui.core.Widget",
3849
3516
  * widgets can be added.
3850
3517
  * @param labelWidgets {qx.ui.core.Widget[]} Indefinite Number of labelling Widgets
3851
3518
  */
3852
- addAriaLabelledBy: function(...labelWidgets) {
3519
+ addAriaLabelledBy(...labelWidgets) {
3853
3520
  this.__addAriaXBy(labelWidgets, "aria-labelledby");
3854
3521
  },
3855
3522
 
@@ -3858,7 +3525,7 @@ qx.Class.define("qx.ui.core.Widget",
3858
3525
  * information. Multiple Widgets possible.
3859
3526
  * @param describingWidgets {qx.ui.core.Widget[]} Indefinite Number of describing Widgets
3860
3527
  */
3861
- addAriaDescribedBy: function(...describingWidgets) {
3528
+ addAriaDescribedBy(...describingWidgets) {
3862
3529
  this.__addAriaXBy(describingWidgets, "aria-describedby");
3863
3530
  },
3864
3531
 
@@ -3867,14 +3534,18 @@ qx.Class.define("qx.ui.core.Widget",
3867
3534
  * @param widgets {qx.ui.core.Widget[]} Indefinite Number of widgets
3868
3535
  * @param ariaAttr {String} aria-labelledby | aria-describedby
3869
3536
  */
3870
- __addAriaXBy: function(widgets, ariaAttr) {
3537
+ __addAriaXBy(widgets, ariaAttr) {
3871
3538
  if (!["aria-labelledby", "aria-describedby"].includes(ariaAttr)) {
3872
3539
  throw new Error("Only aria-labelledby or aria-describedby allowed!");
3873
3540
  }
3874
3541
  let idArr = [];
3875
3542
  for (const widget of widgets) {
3876
3543
  if (!(widget instanceof qx.ui.core.Widget)) {
3877
- throw new Error("Given widget " + widget + " is not an instance of qx.ui.core.Widget!");
3544
+ throw new Error(
3545
+ "Given widget " +
3546
+ widget +
3547
+ " is not an instance of qx.ui.core.Widget!"
3548
+ );
3878
3549
  }
3879
3550
  const contentEl = widget.getContentElement();
3880
3551
  let widgetId = contentEl.getAttribute("id");
@@ -3896,8 +3567,6 @@ qx.Class.define("qx.ui.core.Widget",
3896
3567
  contentEl.setAttribute(ariaAttr, res);
3897
3568
  },
3898
3569
 
3899
-
3900
-
3901
3570
  /*
3902
3571
  ---------------------------------------------------------------------------
3903
3572
  ENHANCED DISPOSE SUPPORT
@@ -3911,8 +3580,7 @@ qx.Class.define("qx.ui.core.Widget",
3911
3580
  * real dispose happens after the next queue flush.
3912
3581
  *
3913
3582
  */
3914
- destroy : function()
3915
- {
3583
+ destroy() {
3916
3584
  if (this.$$disposed) {
3917
3585
  return;
3918
3586
  }
@@ -3930,10 +3598,6 @@ qx.Class.define("qx.ui.core.Widget",
3930
3598
  qx.ui.core.queue.Dispose.add(this);
3931
3599
  },
3932
3600
 
3933
-
3934
-
3935
-
3936
-
3937
3601
  /*
3938
3602
  ---------------------------------------------------------------------------
3939
3603
  CLONE SUPPORT
@@ -3941,43 +3605,32 @@ qx.Class.define("qx.ui.core.Widget",
3941
3605
  */
3942
3606
 
3943
3607
  // overridden
3944
- clone : function()
3945
- {
3946
- var clone = this.base(arguments);
3608
+ clone() {
3609
+ var clone = super.clone();
3947
3610
 
3948
- if (this.getChildren)
3949
- {
3611
+ if (this.getChildren) {
3950
3612
  var children = this.getChildren();
3951
- for (var i=0, l=children.length; i<l; i++) {
3613
+ for (var i = 0, l = children.length; i < l; i++) {
3952
3614
  clone.add(children[i].clone());
3953
3615
  }
3954
3616
  }
3955
3617
 
3956
3618
  return clone;
3957
3619
  }
3958
-
3959
3620
  },
3960
3621
 
3961
-
3962
-
3963
-
3964
-
3965
3622
  /*
3966
3623
  *****************************************************************************
3967
3624
  DESTRUCTOR
3968
3625
  *****************************************************************************
3969
3626
  */
3970
3627
 
3971
- destruct : function()
3972
- {
3628
+ destruct() {
3973
3629
  // Some dispose stuff is not needed in global shutdown, otherwise
3974
3630
  // it just slows down things a bit, so do not do them.
3975
- if (!qx.core.ObjectRegistry.inShutDown)
3976
- {
3977
- if (qx.core.Environment.get("qx.dynlocale"))
3978
- {
3979
- if (this.__toolTipTextListenerId)
3980
- {
3631
+ if (!qx.core.ObjectRegistry.inShutDown) {
3632
+ if (qx.core.Environment.get("qx.dynlocale")) {
3633
+ if (this.__toolTipTextListenerId) {
3981
3634
  qx.locale.Manager.getInstance().removeListenerById(
3982
3635
  this.__toolTipTextListenerId
3983
3636
  );
@@ -3987,7 +3640,7 @@ qx.Class.define("qx.ui.core.Widget",
3987
3640
  // Remove widget pointer from DOM
3988
3641
  var contentEl = this.getContentElement();
3989
3642
  if (contentEl) {
3990
- contentEl.disconnectWidget(this);
3643
+ contentEl.disconnectWidget(this);
3991
3644
  }
3992
3645
 
3993
3646
  // Clean up all child controls
@@ -4005,28 +3658,20 @@ qx.Class.define("qx.ui.core.Widget",
4005
3658
  }
4006
3659
 
4007
3660
  // pool decorators if not in global shutdown
4008
- if (!qx.core.ObjectRegistry.inShutDown)
4009
- {
3661
+ if (!qx.core.ObjectRegistry.inShutDown) {
4010
3662
  this.clearSeparators();
4011
3663
  this.__separators = null;
4012
- }
4013
- else
4014
- {
3664
+ } else {
4015
3665
  this._disposeArray("__separators");
4016
3666
  }
4017
3667
 
4018
3668
  // Clear children array
4019
3669
  this._disposeArray("__widgetChildren");
4020
3670
 
4021
-
4022
3671
  // Cleanup map of appearance states
4023
3672
  this.__states = this.__childControls = null;
4024
3673
 
4025
-
4026
3674
  // Dispose layout manager and HTML elements
4027
- this._disposeObjects(
4028
- "__layoutManager",
4029
- "__contentElement"
4030
- );
3675
+ this._disposeObjects("__layoutManager", "__contentElement");
4031
3676
  }
4032
3677
  });