@qooxdoo/framework 7.0.0-beta.1 → 7.0.0-beta.10

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 (1599) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/Manifest.json +2 -2
  3. package/README.md +9 -3
  4. package/bin/deploy/qx +0 -0
  5. package/lib/compiler/compile-info.json +45 -44
  6. package/lib/compiler/index.js +6600 -11001
  7. package/lib/resource/qx/tool/cli/templates/loader/loader-node.tmpl.js +3 -1
  8. package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/theme/custom/css/custom.css +1 -1
  9. package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/theme/custom/css/custom.css.map +1 -1
  10. package/lib/resource/qx/tool/cli/templates/template_vars.js +1 -1
  11. package/lib/resource/qx/tool/loadsass.js +16 -21
  12. package/lib/resource/qx/tool/schema/Manifest-1-0-0.json +1 -2
  13. package/lib/resource/qx/tool/schema/Manifest-2-0-0.json +1 -2
  14. package/lib/resource/qx/tool/schema/compile-1-0-0.json +16 -20
  15. package/lib/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
  16. package/lib/resource/qx/tool/website/build/assets/buttons.js +391 -1
  17. package/lib/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
  18. package/lib/resource/qx/tool/website/build/assets/jquery.js +5452 -3
  19. package/lib/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
  20. package/lib/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
  21. package/lib/resource/qx/tool/website/build/scripts/serve.js +87 -66
  22. package/lib/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
  23. package/lib/resource/qx/tool/website/src/assets/buttons.js +391 -1
  24. package/lib/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
  25. package/lib/resource/qx/tool/website/src/assets/jquery.js +5452 -3
  26. package/lib/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
  27. package/lib/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
  28. package/lib/resource/qx/tool/website/src/scripts/serve.js +87 -66
  29. package/npm-shrinkwrap.json +7293 -0
  30. package/package.json +29 -14
  31. package/source/class/q.js +4 -2
  32. package/source/class/qx/Annotation.js +48 -57
  33. package/source/class/qx/Bootstrap.js +206 -207
  34. package/source/class/qx/Class.js +602 -504
  35. package/source/class/qx/Interface.js +169 -137
  36. package/source/class/qx/Mixin.js +162 -120
  37. package/source/class/qx/Part.js +48 -77
  38. package/source/class/qx/Promise.js +5891 -4655
  39. package/source/class/qx/Theme.js +200 -134
  40. package/source/class/qx/__init__.js +8 -8
  41. package/source/class/qx/application/AbstractGui.js +20 -32
  42. package/source/class/qx/application/Basic.js +9 -18
  43. package/source/class/qx/application/IApplication.js +6 -10
  44. package/source/class/qx/application/Inline.js +4 -7
  45. package/source/class/qx/application/Mobile.js +22 -45
  46. package/source/class/qx/application/Native.js +8 -19
  47. package/source/class/qx/application/Routing.js +88 -114
  48. package/source/class/qx/application/Standalone.js +4 -9
  49. package/source/class/qx/application/__init__.js +1 -1
  50. package/source/class/qx/bom/AnimationFrame.js +26 -25
  51. package/source/class/qx/bom/Blocker.js +92 -100
  52. package/source/class/qx/bom/Cookie.js +18 -22
  53. package/source/class/qx/bom/Document.js +24 -31
  54. package/source/class/qx/bom/Element.js +65 -51
  55. package/source/class/qx/bom/Event.js +68 -78
  56. package/source/class/qx/bom/FileReader.js +110 -115
  57. package/source/class/qx/bom/Font.js +82 -122
  58. package/source/class/qx/bom/FullScreen.js +32 -41
  59. package/source/class/qx/bom/GeoLocation.js +39 -44
  60. package/source/class/qx/bom/HashHistory.js +58 -64
  61. package/source/class/qx/bom/History.js +61 -89
  62. package/source/class/qx/bom/Html.js +75 -71
  63. package/source/class/qx/bom/IdleCallback.js +20 -23
  64. package/source/class/qx/bom/Iframe.js +37 -69
  65. package/source/class/qx/bom/IframeHistory.js +83 -88
  66. package/source/class/qx/bom/Input.js +50 -66
  67. package/source/class/qx/bom/Label.js +65 -86
  68. package/source/class/qx/bom/Lifecycle.js +7 -9
  69. package/source/class/qx/bom/MediaQuery.js +324 -307
  70. package/source/class/qx/bom/NativeHistory.js +51 -46
  71. package/source/class/qx/bom/Notification.js +41 -47
  72. package/source/class/qx/bom/PageVisibility.js +19 -25
  73. package/source/class/qx/bom/Range.js +20 -30
  74. package/source/class/qx/bom/Selection.js +163 -172
  75. package/source/class/qx/bom/Selector.js +2401 -2181
  76. package/source/class/qx/bom/Shortcut.js +103 -129
  77. package/source/class/qx/bom/Storage.js +9 -8
  78. package/source/class/qx/bom/String.js +285 -290
  79. package/source/class/qx/bom/Style.js +30 -31
  80. package/source/class/qx/bom/Stylesheet.js +36 -60
  81. package/source/class/qx/bom/Template.js +730 -657
  82. package/source/class/qx/bom/Viewport.js +40 -46
  83. package/source/class/qx/bom/Vml.js +43 -28
  84. package/source/class/qx/bom/WebWorker.js +61 -50
  85. package/source/class/qx/bom/Window.js +88 -105
  86. package/source/class/qx/bom/__init__.js +11 -11
  87. package/source/class/qx/bom/client/Browser.js +45 -47
  88. package/source/class/qx/bom/client/Css.js +85 -85
  89. package/source/class/qx/bom/client/CssAnimation.js +41 -49
  90. package/source/class/qx/bom/client/CssTransform.js +21 -29
  91. package/source/class/qx/bom/client/CssTransition.js +9 -12
  92. package/source/class/qx/bom/client/Device.js +45 -45
  93. package/source/class/qx/bom/client/EcmaScript.js +153 -96
  94. package/source/class/qx/bom/client/Engine.js +38 -35
  95. package/source/class/qx/bom/client/Event.js +75 -63
  96. package/source/class/qx/bom/client/Html.js +97 -97
  97. package/source/class/qx/bom/client/Idle.js +4 -6
  98. package/source/class/qx/bom/client/Locale.js +15 -15
  99. package/source/class/qx/bom/client/OperatingSystem.js +89 -106
  100. package/source/class/qx/bom/client/Pdfjs.js +1364 -1067
  101. package/source/class/qx/bom/client/PhoneGap.js +6 -9
  102. package/source/class/qx/bom/client/Plugin.js +93 -97
  103. package/source/class/qx/bom/client/Runtime.js +14 -12
  104. package/source/class/qx/bom/client/Scroll.js +20 -16
  105. package/source/class/qx/bom/client/Stylesheet.js +44 -32
  106. package/source/class/qx/bom/client/Transport.js +38 -41
  107. package/source/class/qx/bom/client/Xml.js +39 -41
  108. package/source/class/qx/bom/client/__init__.js +4 -4
  109. package/source/class/qx/bom/element/Animation.js +15 -12
  110. package/source/class/qx/bom/element/AnimationCss.js +95 -64
  111. package/source/class/qx/bom/element/AnimationHandle.js +22 -29
  112. package/source/class/qx/bom/element/AnimationJs.js +94 -71
  113. package/source/class/qx/bom/element/Attribute.js +119 -134
  114. package/source/class/qx/bom/element/Background.js +35 -35
  115. package/source/class/qx/bom/element/BoxSizing.js +43 -44
  116. package/source/class/qx/bom/element/Class.js +50 -72
  117. package/source/class/qx/bom/element/Clip.js +36 -60
  118. package/source/class/qx/bom/element/Cursor.js +13 -20
  119. package/source/class/qx/bom/element/Dataset.js +33 -31
  120. package/source/class/qx/bom/element/Decoration.js +178 -168
  121. package/source/class/qx/bom/element/Dimension.js +78 -60
  122. package/source/class/qx/bom/element/Location.js +87 -94
  123. package/source/class/qx/bom/element/Opacity.js +42 -44
  124. package/source/class/qx/bom/element/Scroll.js +78 -88
  125. package/source/class/qx/bom/element/Style.js +61 -101
  126. package/source/class/qx/bom/element/Transform.js +38 -56
  127. package/source/class/qx/bom/element/__init__.js +4 -4
  128. package/source/class/qx/bom/media/Abstract.js +136 -143
  129. package/source/class/qx/bom/media/Audio.js +7 -12
  130. package/source/class/qx/bom/media/Video.js +15 -27
  131. package/source/class/qx/bom/request/IRequest.js +18 -21
  132. package/source/class/qx/bom/request/Jsonp.js +34 -39
  133. package/source/class/qx/bom/request/Script.js +94 -90
  134. package/source/class/qx/bom/request/SimpleXhr.js +111 -79
  135. package/source/class/qx/bom/request/Xhr.js +196 -143
  136. package/source/class/qx/bom/request/__init__.js +1 -1
  137. package/source/class/qx/bom/rest/Resource.js +269 -203
  138. package/source/class/qx/bom/storage/Memory.js +18 -29
  139. package/source/class/qx/bom/storage/UserData.js +28 -35
  140. package/source/class/qx/bom/storage/Web.js +19 -30
  141. package/source/class/qx/bom/webfonts/Manager.js +199 -130
  142. package/source/class/qx/bom/webfonts/Validator.js +84 -118
  143. package/source/class/qx/bom/webfonts/WebFont.js +24 -28
  144. package/source/class/qx/bom/webfonts/__init__.js +1 -1
  145. package/source/class/qx/core/Aspect.js +15 -22
  146. package/source/class/qx/core/Assert.js +391 -333
  147. package/source/class/qx/core/AssertionError.js +6 -15
  148. package/source/class/qx/core/BaseInit.js +25 -28
  149. package/source/class/qx/core/Environment.js +72 -86
  150. package/source/class/qx/core/GlobalError.js +12 -20
  151. package/source/class/qx/core/IDisposable.js +6 -9
  152. package/source/class/qx/core/Id.js +25 -15
  153. package/source/class/qx/core/Init.js +20 -20
  154. package/source/class/qx/core/MAssert.js +54 -97
  155. package/source/class/qx/core/MBindTo.js +10 -14
  156. package/source/class/qx/core/MEvent.js +76 -65
  157. package/source/class/qx/core/MLogging.js +9 -18
  158. package/source/class/qx/core/MObjectId.js +104 -65
  159. package/source/class/qx/core/MProperty.js +18 -34
  160. package/source/class/qx/core/Object.js +93 -122
  161. package/source/class/qx/core/ObjectRegistry.js +58 -81
  162. package/source/class/qx/core/Property.js +974 -780
  163. package/source/class/qx/core/ValidationError.js +3 -4
  164. package/source/class/qx/core/WindowError.js +13 -24
  165. package/source/class/qx/core/Wrapper.js +8 -9
  166. package/source/class/qx/data/Array.js +178 -191
  167. package/source/class/qx/data/Conversion.js +11 -18
  168. package/source/class/qx/data/IListData.js +11 -20
  169. package/source/class/qx/data/MBinding.js +31 -26
  170. package/source/class/qx/data/SingleValueBinding.js +491 -225
  171. package/source/class/qx/data/__init__.js +1 -1
  172. package/source/class/qx/data/controller/CheckedList.js +82 -54
  173. package/source/class/qx/data/controller/Form.js +81 -69
  174. package/source/class/qx/data/controller/IControllerDelegate.js +7 -12
  175. package/source/class/qx/data/controller/ISelection.js +6 -10
  176. package/source/class/qx/data/controller/List.js +151 -167
  177. package/source/class/qx/data/controller/MSelection.js +53 -72
  178. package/source/class/qx/data/controller/Object.js +106 -77
  179. package/source/class/qx/data/controller/Tree.js +164 -142
  180. package/source/class/qx/data/controller/__init__.js +1 -1
  181. package/source/class/qx/data/controller/website/List.js +34 -43
  182. package/source/class/qx/data/controller/website/__init__.js +2 -2
  183. package/source/class/qx/data/marshal/IMarshaler.js +4 -7
  184. package/source/class/qx/data/marshal/IMarshalerDelegate.js +10 -18
  185. package/source/class/qx/data/marshal/Json.js +112 -85
  186. package/source/class/qx/data/marshal/MEventBubbling.js +44 -42
  187. package/source/class/qx/data/marshal/__init__.js +1 -1
  188. package/source/class/qx/data/store/IStoreDelegate.js +6 -9
  189. package/source/class/qx/data/store/Json.js +71 -85
  190. package/source/class/qx/data/store/Jsonp.js +19 -25
  191. package/source/class/qx/data/store/Offline.js +21 -29
  192. package/source/class/qx/data/store/Rest.js +25 -23
  193. package/source/class/qx/data/store/__init__.js +1 -1
  194. package/source/class/qx/dev/Debug.js +105 -124
  195. package/source/class/qx/dev/FakeServer.js +68 -65
  196. package/source/class/qx/dev/ObjectSummary.js +33 -39
  197. package/source/class/qx/dev/Profile.js +62 -63
  198. package/source/class/qx/dev/StackTrace.js +64 -70
  199. package/source/class/qx/dev/Tokenizer.js +114 -126
  200. package/source/class/qx/dev/unit/AbstractTestSuite.js +17 -31
  201. package/source/class/qx/dev/unit/AsyncWrapper.js +22 -26
  202. package/source/class/qx/dev/unit/JsUnitTestResult.js +9 -21
  203. package/source/class/qx/dev/unit/MMeasure.js +46 -37
  204. package/source/class/qx/dev/unit/MMock.js +236 -240
  205. package/source/class/qx/dev/unit/MRequirements.js +53 -79
  206. package/source/class/qx/dev/unit/MRequirementsBasic.js +24 -19
  207. package/source/class/qx/dev/unit/MTestLoader.js +52 -57
  208. package/source/class/qx/dev/unit/MeasurementResult.js +18 -22
  209. package/source/class/qx/dev/unit/RequirementError.js +8 -17
  210. package/source/class/qx/dev/unit/Sinon.js +18826 -4613
  211. package/source/class/qx/dev/unit/TestCase.js +40 -51
  212. package/source/class/qx/dev/unit/TestClass.js +22 -23
  213. package/source/class/qx/dev/unit/TestFunction.js +28 -48
  214. package/source/class/qx/dev/unit/TestLoader.js +11 -14
  215. package/source/class/qx/dev/unit/TestLoaderBasic.js +3 -6
  216. package/source/class/qx/dev/unit/TestLoaderInline.js +8 -14
  217. package/source/class/qx/dev/unit/TestLoaderMobile.js +8 -14
  218. package/source/class/qx/dev/unit/TestLoaderNative.js +7 -13
  219. package/source/class/qx/dev/unit/TestResult.js +140 -118
  220. package/source/class/qx/dev/unit/TestSuite.js +46 -55
  221. package/source/class/qx/dom/Element.js +29 -74
  222. package/source/class/qx/dom/Hierarchy.js +60 -95
  223. package/source/class/qx/dom/Node.js +54 -81
  224. package/source/class/qx/dom/__init__.js +9 -9
  225. package/source/class/qx/event/AcceleratingTimer.js +28 -46
  226. package/source/class/qx/event/Emitter.js +54 -49
  227. package/source/class/qx/event/GlobalError.js +22 -38
  228. package/source/class/qx/event/IEventDispatcher.js +4 -9
  229. package/source/class/qx/event/IEventHandler.js +7 -13
  230. package/source/class/qx/event/Idle.js +32 -47
  231. package/source/class/qx/event/Manager.js +222 -237
  232. package/source/class/qx/event/Messaging.js +55 -48
  233. package/source/class/qx/event/Pool.js +5 -8
  234. package/source/class/qx/event/Registration.js +128 -118
  235. package/source/class/qx/event/Timer.js +50 -96
  236. package/source/class/qx/event/Utils.js +41 -28
  237. package/source/class/qx/event/dispatch/AbstractBubbling.js +133 -93
  238. package/source/class/qx/event/dispatch/Direct.js +46 -51
  239. package/source/class/qx/event/dispatch/DomBubbling.js +8 -15
  240. package/source/class/qx/event/dispatch/MouseCapture.js +74 -91
  241. package/source/class/qx/event/handler/Appear.js +40 -77
  242. package/source/class/qx/event/handler/Application.js +100 -126
  243. package/source/class/qx/event/handler/Capture.js +15 -37
  244. package/source/class/qx/event/handler/DragDrop.js +342 -228
  245. package/source/class/qx/event/handler/Element.js +45 -72
  246. package/source/class/qx/event/handler/ElementResize.js +35 -70
  247. package/source/class/qx/event/handler/Focus.js +908 -637
  248. package/source/class/qx/event/handler/Gesture.js +144 -93
  249. package/source/class/qx/event/handler/GestureCore.js +214 -163
  250. package/source/class/qx/event/handler/Iframe.js +21 -35
  251. package/source/class/qx/event/handler/Input.js +332 -209
  252. package/source/class/qx/event/handler/Keyboard.js +325 -270
  253. package/source/class/qx/event/handler/Mouse.js +212 -173
  254. package/source/class/qx/event/handler/Object.js +13 -31
  255. package/source/class/qx/event/handler/Offline.js +52 -67
  256. package/source/class/qx/event/handler/Orientation.js +56 -62
  257. package/source/class/qx/event/handler/OrientationCore.js +33 -43
  258. package/source/class/qx/event/handler/Pointer.js +84 -72
  259. package/source/class/qx/event/handler/PointerCore.js +183 -105
  260. package/source/class/qx/event/handler/Touch.js +43 -59
  261. package/source/class/qx/event/handler/TouchCore.js +159 -120
  262. package/source/class/qx/event/handler/Transition.js +91 -100
  263. package/source/class/qx/event/handler/UserAction.js +18 -42
  264. package/source/class/qx/event/handler/Video.js +12 -12
  265. package/source/class/qx/event/handler/Window.js +53 -69
  266. package/source/class/qx/event/message/Bus.js +109 -128
  267. package/source/class/qx/event/message/Message.js +14 -29
  268. package/source/class/qx/event/type/Data.js +11 -22
  269. package/source/class/qx/event/type/Dom.js +37 -52
  270. package/source/class/qx/event/type/Drag.js +37 -56
  271. package/source/class/qx/event/type/Event.js +80 -104
  272. package/source/class/qx/event/type/Focus.js +5 -8
  273. package/source/class/qx/event/type/GeoPosition.js +32 -41
  274. package/source/class/qx/event/type/KeyInput.js +9 -19
  275. package/source/class/qx/event/type/KeySequence.js +10 -21
  276. package/source/class/qx/event/type/Mouse.js +69 -72
  277. package/source/class/qx/event/type/MouseWheel.js +5 -9
  278. package/source/class/qx/event/type/Native.js +16 -27
  279. package/source/class/qx/event/type/Orientation.js +18 -30
  280. package/source/class/qx/event/type/Pinch.js +21 -27
  281. package/source/class/qx/event/type/Pointer.js +38 -41
  282. package/source/class/qx/event/type/Rest.js +7 -10
  283. package/source/class/qx/event/type/Roll.js +49 -58
  284. package/source/class/qx/event/type/Rotate.js +21 -27
  285. package/source/class/qx/event/type/Swipe.js +75 -86
  286. package/source/class/qx/event/type/Tap.js +2 -4
  287. package/source/class/qx/event/type/Touch.js +262 -286
  288. package/source/class/qx/event/type/Track.js +23 -28
  289. package/source/class/qx/event/type/dom/Custom.js +24 -20
  290. package/source/class/qx/event/type/dom/Pointer.js +86 -60
  291. package/source/class/qx/event/util/Keyboard.js +94 -106
  292. package/source/class/qx/html/Blocker.js +17 -18
  293. package/source/class/qx/html/Canvas.js +13 -29
  294. package/source/class/qx/html/Element.js +372 -497
  295. package/source/class/qx/html/Factory.js +31 -26
  296. package/source/class/qx/html/Iframe.js +35 -69
  297. package/source/class/qx/html/Image.js +43 -55
  298. package/source/class/qx/html/Input.js +44 -57
  299. package/source/class/qx/html/Jsx.js +49 -41
  300. package/source/class/qx/html/JsxRef.js +3 -5
  301. package/source/class/qx/html/Label.js +20 -32
  302. package/source/class/qx/html/Node.js +362 -422
  303. package/source/class/qx/html/Root.js +7 -16
  304. package/source/class/qx/html/Text.js +34 -27
  305. package/source/class/qx/io/ImageLoader.js +66 -90
  306. package/source/class/qx/io/PartLoader.js +17 -30
  307. package/source/class/qx/io/__init__.js +5 -3
  308. package/source/class/qx/io/exception/Cancel.js +33 -0
  309. package/source/class/qx/io/exception/Exception.js +37 -0
  310. package/source/class/qx/{tool/compiler/Version.js → io/exception/Protocol.js} +12 -7
  311. package/source/class/qx/io/exception/Transport.js +38 -0
  312. package/source/class/qx/io/exception/__init__.js +4 -0
  313. package/source/class/qx/io/graphql/Client.js +122 -0
  314. package/source/class/qx/io/graphql/__init__.js +9 -0
  315. package/source/class/qx/io/graphql/protocol/Message.js +65 -0
  316. package/source/class/qx/io/graphql/protocol/Request.js +93 -0
  317. package/source/class/qx/io/graphql/protocol/Response.js +63 -0
  318. package/source/class/qx/io/graphql/protocol/__init__.js +6 -0
  319. package/source/class/qx/io/jsonrpc/Client.js +355 -0
  320. package/source/class/qx/io/jsonrpc/__init__.js +15 -0
  321. package/source/class/qx/io/jsonrpc/protocol/Batch.js +103 -0
  322. package/source/class/qx/io/jsonrpc/protocol/Error.js +65 -0
  323. package/source/class/qx/io/jsonrpc/protocol/Message.js +48 -0
  324. package/source/class/qx/io/jsonrpc/protocol/Notification.js +47 -0
  325. package/source/class/qx/io/jsonrpc/protocol/Parser.js +105 -0
  326. package/source/class/qx/io/jsonrpc/protocol/Request.js +94 -0
  327. package/source/class/qx/io/jsonrpc/protocol/Result.js +49 -0
  328. package/source/class/qx/io/jsonrpc/protocol/__init__.js +5 -0
  329. package/source/class/qx/io/part/ClosurePart.js +16 -35
  330. package/source/class/qx/io/part/Package.js +35 -63
  331. package/source/class/qx/io/part/Part.js +29 -53
  332. package/source/class/qx/io/part/__init__.js +4 -4
  333. package/source/class/qx/io/request/AbstractRequest.js +268 -201
  334. package/source/class/qx/io/request/Jsonp.js +16 -19
  335. package/source/class/qx/io/request/Xhr.js +38 -37
  336. package/source/class/qx/io/request/__init__.js +1 -1
  337. package/source/class/qx/io/request/authentication/Basic.js +7 -13
  338. package/source/class/qx/io/request/authentication/Bearer.js +46 -0
  339. package/source/class/qx/io/request/authentication/IAuthentication.js +3 -6
  340. package/source/class/qx/io/request/authentication/__init__.js +1 -1
  341. package/source/class/qx/io/rest/Resource.js +122 -90
  342. package/source/class/qx/io/transport/AbstractClient.js +121 -0
  343. package/source/class/qx/io/transport/AbstractTransport.js +40 -0
  344. package/source/class/qx/io/transport/Fetch.js +98 -0
  345. package/source/class/qx/io/transport/ITransport.js +42 -0
  346. package/source/class/qx/io/transport/PostMessage.js +54 -0
  347. package/source/class/qx/io/transport/Websocket.js +97 -0
  348. package/source/class/qx/io/transport/Xhr.js +138 -0
  349. package/source/class/qx/io/transport/__init__.js +18 -0
  350. package/source/class/qx/lang/Array.js +133 -170
  351. package/source/class/qx/lang/Function.js +101 -104
  352. package/source/class/qx/lang/Json.js +1041 -774
  353. package/source/class/qx/lang/Number.js +11 -16
  354. package/source/class/qx/lang/Object.js +129 -100
  355. package/source/class/qx/lang/String.js +86 -94
  356. package/source/class/qx/lang/Type.js +44 -65
  357. package/source/class/qx/lang/normalize/Array.js +39 -49
  358. package/source/class/qx/lang/normalize/Date.js +50 -32
  359. package/source/class/qx/lang/normalize/Error.js +4 -7
  360. package/source/class/qx/lang/normalize/Function.js +11 -19
  361. package/source/class/qx/lang/normalize/Number.js +3 -5
  362. package/source/class/qx/lang/normalize/Object.js +17 -18
  363. package/source/class/qx/lang/normalize/String.js +39 -40
  364. package/source/class/qx/locale/Date.js +175 -178
  365. package/source/class/qx/locale/Key.js +13 -11
  366. package/source/class/qx/locale/LocalizedString.js +18 -15
  367. package/source/class/qx/locale/MTranslation.js +22 -23
  368. package/source/class/qx/locale/Manager.js +62 -100
  369. package/source/class/qx/locale/Number.js +20 -12
  370. package/source/class/qx/locale/String.js +26 -15
  371. package/source/class/qx/log/Logger.js +128 -180
  372. package/source/class/qx/log/__init__.js +3 -3
  373. package/source/class/qx/log/appender/Console.js +100 -111
  374. package/source/class/qx/log/appender/Element.js +25 -39
  375. package/source/class/qx/log/appender/Formatter.js +117 -66
  376. package/source/class/qx/log/appender/Native.js +4 -10
  377. package/source/class/qx/log/appender/NodeConsole.js +20 -28
  378. package/source/class/qx/log/appender/PhoneGap.js +5 -13
  379. package/source/class/qx/log/appender/RhinoConsole.js +12 -23
  380. package/source/class/qx/log/appender/RhinoFile.js +19 -26
  381. package/source/class/qx/log/appender/RingBuffer.js +10 -19
  382. package/source/class/qx/log/appender/Util.js +11 -9
  383. package/source/class/qx/module/Animation.js +73 -63
  384. package/source/class/qx/module/Attribute.js +27 -46
  385. package/source/class/qx/module/Blocker.js +33 -41
  386. package/source/class/qx/module/Cookie.js +6 -10
  387. package/source/class/qx/module/Css.js +82 -97
  388. package/source/class/qx/module/Dataset.js +12 -24
  389. package/source/class/qx/module/Environment.js +4 -6
  390. package/source/class/qx/module/Event.js +124 -127
  391. package/source/class/qx/module/Io.js +5 -9
  392. package/source/class/qx/module/Manipulating.js +98 -117
  393. package/source/class/qx/module/MatchMedia.js +50 -24
  394. package/source/class/qx/module/Messaging.js +6 -10
  395. package/source/class/qx/module/Placeholder.js +54 -44
  396. package/source/class/qx/module/Placement.js +33 -33
  397. package/source/class/qx/module/Rest.js +3 -4
  398. package/source/class/qx/module/Storage.js +34 -48
  399. package/source/class/qx/module/Template.js +6 -9
  400. package/source/class/qx/module/TextSelection.js +13 -21
  401. package/source/class/qx/module/Transform.js +28 -45
  402. package/source/class/qx/module/Traversing.js +160 -154
  403. package/source/class/qx/module/__init__.js +1 -1
  404. package/source/class/qx/module/dev/FakeServer.js +19 -25
  405. package/source/class/qx/module/event/GestureHandler.js +25 -13
  406. package/source/class/qx/module/event/Keyboard.js +42 -31
  407. package/source/class/qx/module/event/Mouse.js +48 -46
  408. package/source/class/qx/module/event/Native.js +18 -30
  409. package/source/class/qx/module/event/Orientation.js +11 -18
  410. package/source/class/qx/module/event/OrientationHandler.js +19 -17
  411. package/source/class/qx/module/event/Pinch.js +13 -14
  412. package/source/class/qx/module/event/Pointer.js +22 -22
  413. package/source/class/qx/module/event/PointerHandler.js +14 -11
  414. package/source/class/qx/module/event/Rotate.js +13 -14
  415. package/source/class/qx/module/event/Swipe.js +18 -24
  416. package/source/class/qx/module/event/Tap.js +25 -25
  417. package/source/class/qx/module/event/Touch.js +4 -7
  418. package/source/class/qx/module/event/TouchHandler.js +16 -16
  419. package/source/class/qx/module/event/Track.js +13 -14
  420. package/source/class/qx/module/util/Array.js +30 -41
  421. package/source/class/qx/module/util/Function.js +1 -2
  422. package/source/class/qx/module/util/Object.js +8 -11
  423. package/source/class/qx/module/util/String.js +10 -18
  424. package/source/class/qx/module/util/Type.js +3 -4
  425. package/source/class/qx/test/Annotation.js +195 -89
  426. package/source/class/qx/test/Bootstrap.js +98 -124
  427. package/source/class/qx/test/Browser.js +8 -11
  428. package/source/class/qx/test/Class.js +164 -198
  429. package/source/class/qx/test/Dom.js +10 -28
  430. package/source/class/qx/test/EditDistance.js +16 -16
  431. package/source/class/qx/test/Interface.js +380 -383
  432. package/source/class/qx/test/MAppearance.js +10 -14
  433. package/source/class/qx/test/MDecoration.js +1 -3
  434. package/source/class/qx/test/Mixin.js +449 -173
  435. package/source/class/qx/test/Promise.js +422 -333
  436. package/source/class/qx/test/Theme.js +204 -179
  437. package/source/class/qx/test/Xml.js +155 -84
  438. package/source/class/qx/test/application/Routing.js +45 -44
  439. package/source/class/qx/test/bom/AnimationFrame.js +23 -21
  440. package/source/class/qx/test/bom/Attribute.js +66 -47
  441. package/source/class/qx/test/bom/Basic.js +52 -27
  442. package/source/class/qx/test/bom/Blocker.js +100 -70
  443. package/source/class/qx/test/bom/Class.js +19 -34
  444. package/source/class/qx/test/bom/Cookie.js +49 -28
  445. package/source/class/qx/test/bom/Dataset.js +12 -24
  446. package/source/class/qx/test/bom/Element.js +55 -47
  447. package/source/class/qx/test/bom/Event.js +68 -45
  448. package/source/class/qx/test/bom/FileReader.js +6 -12
  449. package/source/class/qx/test/bom/Font.js +256 -118
  450. package/source/class/qx/test/bom/GeoLocation.js +82 -64
  451. package/source/class/qx/test/bom/History.js +63 -84
  452. package/source/class/qx/test/bom/IdleCallback.js +51 -38
  453. package/source/class/qx/test/bom/Iframe.js +14 -18
  454. package/source/class/qx/test/bom/Label.js +74 -105
  455. package/source/class/qx/test/bom/Location.js +70 -99
  456. package/source/class/qx/test/bom/PageVisibility.js +13 -16
  457. package/source/class/qx/test/bom/Selector.js +16 -16
  458. package/source/class/qx/test/bom/String.js +19 -15
  459. package/source/class/qx/test/bom/Stylesheet.js +39 -48
  460. package/source/class/qx/test/bom/Template.js +49 -57
  461. package/source/class/qx/test/bom/Viewport.js +7 -11
  462. package/source/class/qx/test/bom/WebWorker.js +49 -37
  463. package/source/class/qx/test/bom/Window.js +6 -12
  464. package/source/class/qx/test/bom/client/Css.js +26 -19
  465. package/source/class/qx/test/bom/client/Device.js +29 -18
  466. package/source/class/qx/test/bom/client/OperatingSystem.js +17 -20
  467. package/source/class/qx/test/bom/client/Pdfjs.js +15 -13
  468. package/source/class/qx/test/bom/element/AnimationHandle.js +20 -17
  469. package/source/class/qx/test/bom/element/AnimationJs.js +48 -31
  470. package/source/class/qx/test/bom/element/Background.js +93 -46
  471. package/source/class/qx/test/bom/element/BoxSizing.js +66 -61
  472. package/source/class/qx/test/bom/element/Class.js +33 -58
  473. package/source/class/qx/test/bom/element/Dimension.js +58 -37
  474. package/source/class/qx/test/bom/element/Style.js +87 -83
  475. package/source/class/qx/test/bom/element/Transform.js +209 -86
  476. package/source/class/qx/test/bom/media/Audio.js +18 -14
  477. package/source/class/qx/test/bom/media/MediaTestCase.js +61 -66
  478. package/source/class/qx/test/bom/media/Video.js +39 -28
  479. package/source/class/qx/test/bom/request/Jsonp.js +60 -57
  480. package/source/class/qx/test/bom/request/Script.js +150 -138
  481. package/source/class/qx/test/bom/request/SimpleXhr.js +206 -134
  482. package/source/class/qx/test/bom/request/Xhr.js +179 -132
  483. package/source/class/qx/test/bom/request/XhrWithRemote.js +206 -160
  484. package/source/class/qx/test/bom/rest/Resource.js +345 -281
  485. package/source/class/qx/test/bom/rest/ResourceWithRemote.js +74 -57
  486. package/source/class/qx/test/bom/storage/Local.js +3 -4
  487. package/source/class/qx/test/bom/storage/Session.js +3 -4
  488. package/source/class/qx/test/bom/storage/WebStorageTestCase.js +28 -27
  489. package/source/class/qx/test/bom/webfonts/Abstract.js +8 -10
  490. package/source/class/qx/test/bom/webfonts/Manager.js +127 -80
  491. package/source/class/qx/test/bom/webfonts/Validator.js +36 -30
  492. package/source/class/qx/test/compiler/ClassFile.js +29 -11
  493. package/source/class/qx/test/compiler/jsdoc/Parser.js +122 -96
  494. package/source/class/qx/test/core/Assert.js +151 -86
  495. package/source/class/qx/test/core/Environment.js +162 -123
  496. package/source/class/qx/test/core/EventEmitterDummy.js +7 -8
  497. package/source/class/qx/test/core/InheritanceDummy.js +23 -33
  498. package/source/class/qx/test/core/MemoryManagement.js +13 -5
  499. package/source/class/qx/test/core/Object.js +106 -112
  500. package/source/class/qx/test/core/ObjectId.js +7 -6
  501. package/source/class/qx/test/core/Property.js +483 -387
  502. package/source/class/qx/test/core/PropertyHelper.js +49 -64
  503. package/source/class/qx/test/core/Target.js +9 -13
  504. package/source/class/qx/test/core/Validation.js +409 -136
  505. package/source/class/qx/test/data/DataArray.js +1059 -394
  506. package/source/class/qx/test/data/DataArrayWithChangeBubble.js +315 -172
  507. package/source/class/qx/test/data/__init__.js +4 -4
  508. package/source/class/qx/test/data/controller/Form.js +141 -99
  509. package/source/class/qx/test/data/controller/FormWithArrayAndModel.js +66 -51
  510. package/source/class/qx/test/data/controller/List.js +644 -336
  511. package/source/class/qx/test/data/controller/ListReverse.js +64 -63
  512. package/source/class/qx/test/data/controller/ListWithObjects.js +305 -149
  513. package/source/class/qx/test/data/controller/Object.js +252 -94
  514. package/source/class/qx/test/data/controller/Tree.js +1219 -383
  515. package/source/class/qx/test/data/controller/__init__.js +4 -4
  516. package/source/class/qx/test/data/marshal/Json.js +832 -447
  517. package/source/class/qx/test/data/marshal/__init__.js +4 -4
  518. package/source/class/qx/test/data/singlevalue/Array.js +383 -144
  519. package/source/class/qx/test/data/singlevalue/Deep.js +361 -175
  520. package/source/class/qx/test/data/singlevalue/Resolve.js +51 -29
  521. package/source/class/qx/test/data/singlevalue/Simple.js +530 -208
  522. package/source/class/qx/test/data/singlevalue/TextFieldDummy.js +32 -28
  523. package/source/class/qx/test/data/singlevalue/__init__.js +4 -4
  524. package/source/class/qx/test/data/store/Json.js +574 -313
  525. package/source/class/qx/test/data/store/Jsonp.js +103 -77
  526. package/source/class/qx/test/data/store/Offline.js +127 -110
  527. package/source/class/qx/test/data/store/Rest.js +58 -52
  528. package/source/class/qx/test/data/store/RestWithRemote.js +36 -30
  529. package/source/class/qx/test/data/store/__init__.js +4 -4
  530. package/source/class/qx/test/dev/Debug.js +9 -13
  531. package/source/class/qx/test/dev/StackTrace.js +51 -42
  532. package/source/class/qx/test/dev/unit/Requirements.js +36 -49
  533. package/source/class/qx/test/dev/unit/Sinon.js +85 -73
  534. package/source/class/qx/test/dev/unit/TestCase.js +12 -17
  535. package/source/class/qx/test/dom/Element.js +17 -12
  536. package/source/class/qx/test/dom/Hierarchy.js +53 -38
  537. package/source/class/qx/test/dom/Node.js +97 -43
  538. package/source/class/qx/test/event/Bubbling.js +258 -88
  539. package/source/class/qx/test/event/Emitter.js +38 -39
  540. package/source/class/qx/test/event/GlobalError.js +59 -87
  541. package/source/class/qx/test/event/GlobalEventMonitors.js +22 -25
  542. package/source/class/qx/test/event/Messaging.js +66 -49
  543. package/source/class/qx/test/event/MockBubblingHandler.js +10 -15
  544. package/source/class/qx/test/event/MockHandler.js +14 -33
  545. package/source/class/qx/test/event/Registration.js +38 -32
  546. package/source/class/qx/test/event/Timer.js +61 -39
  547. package/source/class/qx/test/event/Utils.js +164 -123
  548. package/source/class/qx/test/event/dispatch/MouseCapture.js +61 -51
  549. package/source/class/qx/test/event/dispatch/MouseEventOnDocument.js +22 -23
  550. package/source/class/qx/test/event/dispatch/TestingHandler.js +8 -10
  551. package/source/class/qx/test/event/dispatch/TestingWindow.js +9 -13
  552. package/source/class/qx/test/event/dispatch/__init__.js +4 -4
  553. package/source/class/qx/test/event/handler/Offline.js +7 -8
  554. package/source/class/qx/test/event/message/Bus.js +112 -72
  555. package/source/class/qx/test/event/message/__init__.js +4 -4
  556. package/source/class/qx/test/event/type/Dom.js +12 -11
  557. package/source/class/qx/test/event/type/Event.js +7 -16
  558. package/source/class/qx/test/event/type/Mouse.js +12 -11
  559. package/source/class/qx/test/event/type/Native.js +12 -11
  560. package/source/class/qx/test/event/type/__init__.js +4 -4
  561. package/source/class/qx/test/event/util/Keyboard.js +4 -3
  562. package/source/class/qx/test/html/Element.js +538 -239
  563. package/source/class/qx/test/html/Iframe.js +85 -73
  564. package/source/class/qx/test/html/jsx/TestJsx.js +15 -4
  565. package/source/class/qx/test/html/jsx/TestJsxBrowser.js +37 -19
  566. package/source/class/qx/test/html/jsx/TestWidget.js +26 -26
  567. package/source/class/qx/test/io/ImageLoader.js +256 -160
  568. package/source/class/qx/test/io/MAssert.js +46 -0
  569. package/source/class/qx/test/io/MRemoteTest.js +9 -11
  570. package/source/class/qx/test/io/__init__.js +4 -4
  571. package/source/class/qx/test/io/graphql/Client.js +190 -0
  572. package/source/class/qx/test/io/graphql/ClientFetch.js +34 -0
  573. package/source/class/qx/test/io/graphql/Request.js +41 -0
  574. package/source/class/qx/test/io/jsonrpc/Client.js +333 -0
  575. package/source/class/qx/test/io/jsonrpc/Protocol.js +108 -0
  576. package/source/class/qx/test/io/request/Jsonp.js +23 -20
  577. package/source/class/qx/test/io/request/JsonpWithRemote.js +25 -22
  578. package/source/class/qx/test/io/request/MRequest.js +137 -114
  579. package/source/class/qx/test/io/request/Xhr.js +367 -209
  580. package/source/class/qx/test/io/request/XhrWithRemote.js +133 -100
  581. package/source/class/qx/test/io/rest/Resource.js +325 -270
  582. package/source/class/qx/test/io/rest/ResourceWithRemote.js +75 -58
  583. package/source/class/qx/test/io/transport/PostMessage.js +56 -0
  584. package/source/class/qx/test/io/transport/Websocket.js +64 -0
  585. package/source/class/qx/test/lang/Array.js +79 -105
  586. package/source/class/qx/test/lang/Function.js +64 -53
  587. package/source/class/qx/test/lang/Json.js +51 -79
  588. package/source/class/qx/test/lang/Number.js +4 -6
  589. package/source/class/qx/test/lang/Object.js +143 -133
  590. package/source/class/qx/test/lang/String.js +151 -95
  591. package/source/class/qx/test/lang/Type.js +34 -44
  592. package/source/class/qx/test/lang/Webkit.js +8 -13
  593. package/source/class/qx/test/lang/normalize/Array.js +121 -68
  594. package/source/class/qx/test/lang/normalize/Date.js +232 -49
  595. package/source/class/qx/test/lang/normalize/Error.js +5 -8
  596. package/source/class/qx/test/lang/normalize/Function.js +7 -13
  597. package/source/class/qx/test/lang/normalize/Object.js +22 -29
  598. package/source/class/qx/test/lang/normalize/String.js +19 -28
  599. package/source/class/qx/test/locale/Date.js +91 -43
  600. package/source/class/qx/test/locale/Locale.js +52 -32
  601. package/source/class/qx/test/locale/LocalizedString.js +12 -12
  602. package/source/class/qx/test/log/DeprecationMethodOverriding.js +52 -31
  603. package/source/class/qx/test/log/Filters.js +6 -3
  604. package/source/class/qx/test/log/Formatter.js +13 -7
  605. package/source/class/qx/test/log/Logger.js +19 -29
  606. package/source/class/qx/test/log/RingBuffer.js +14 -25
  607. package/source/class/qx/test/log/__init__.js +4 -4
  608. package/source/class/qx/test/log/fixture/ClassA.js +22 -22
  609. package/source/class/qx/test/log/fixture/ClassB1.js +7 -9
  610. package/source/class/qx/test/log/fixture/ClassB2.js +5 -7
  611. package/source/class/qx/test/log/fixture/ClassC1.js +5 -7
  612. package/source/class/qx/test/log/fixture/ClassC2.js +7 -9
  613. package/source/class/qx/test/mobile/LocaleSwitch.js +29 -36
  614. package/source/class/qx/test/mobile/MobileTestCase.js +39 -49
  615. package/source/class/qx/test/mobile/basic/Atom.js +129 -53
  616. package/source/class/qx/test/mobile/basic/Image.js +41 -31
  617. package/source/class/qx/test/mobile/basic/Label.js +6 -10
  618. package/source/class/qx/test/mobile/container/Carousel.js +41 -45
  619. package/source/class/qx/test/mobile/container/Composite.js +48 -65
  620. package/source/class/qx/test/mobile/container/Drawer.js +42 -29
  621. package/source/class/qx/test/mobile/container/Navigation.js +14 -20
  622. package/source/class/qx/test/mobile/container/Scroll.js +23 -19
  623. package/source/class/qx/test/mobile/core/Widget.js +150 -86
  624. package/source/class/qx/test/mobile/dialog/Menu.js +47 -26
  625. package/source/class/qx/test/mobile/dialog/Popup.js +30 -19
  626. package/source/class/qx/test/mobile/embed/Html.js +5 -8
  627. package/source/class/qx/test/mobile/form/Button.js +15 -13
  628. package/source/class/qx/test/mobile/form/CheckBox.js +21 -17
  629. package/source/class/qx/test/mobile/form/Form.js +37 -24
  630. package/source/class/qx/test/mobile/form/Group.js +5 -9
  631. package/source/class/qx/test/mobile/form/Label.js +11 -13
  632. package/source/class/qx/test/mobile/form/NumberField.js +49 -45
  633. package/source/class/qx/test/mobile/form/RadioButton.js +30 -19
  634. package/source/class/qx/test/mobile/form/SelectBox.js +39 -25
  635. package/source/class/qx/test/mobile/form/SingleRenderer.js +31 -27
  636. package/source/class/qx/test/mobile/form/Slider.js +55 -35
  637. package/source/class/qx/test/mobile/form/TextArea.js +34 -24
  638. package/source/class/qx/test/mobile/form/TextField.js +34 -24
  639. package/source/class/qx/test/mobile/form/ToggleButton.js +10 -14
  640. package/source/class/qx/test/mobile/layout/Card.js +21 -17
  641. package/source/class/qx/test/mobile/layout/HBox.js +25 -20
  642. package/source/class/qx/test/mobile/layout/VBox.js +25 -21
  643. package/source/class/qx/test/mobile/list/List.js +114 -83
  644. package/source/class/qx/test/mobile/navigationbar/NavigationBar.js +5 -9
  645. package/source/class/qx/test/mobile/page/Manager.js +7 -13
  646. package/source/class/qx/test/mobile/page/NavigationPage.js +7 -17
  647. package/source/class/qx/test/mobile/page/Page.js +101 -68
  648. package/source/class/qx/test/mobile/tabbar/TabBar.js +11 -21
  649. package/source/class/qx/test/mobile/toolbar/Toolbar.js +16 -16
  650. package/source/class/qx/test/performance/BaseCall.js +31 -36
  651. package/source/class/qx/test/performance/Event.js +60 -53
  652. package/source/class/qx/test/performance/Object.js +16 -22
  653. package/source/class/qx/test/performance/Property.js +20 -22
  654. package/source/class/qx/test/performance/data/Marshaling.js +25 -30
  655. package/source/class/qx/test/performance/decorator/AbstractDecorator.js +22 -34
  656. package/source/class/qx/test/performance/decorator/Background.js +4 -6
  657. package/source/class/qx/test/performance/decorator/BackgroundScale.js +6 -8
  658. package/source/class/qx/test/performance/decorator/Single.js +4 -6
  659. package/source/class/qx/test/performance/element/Element.js +50 -67
  660. package/source/class/qx/test/performance/widget/AbstractWidget.js +31 -44
  661. package/source/class/qx/test/performance/widget/Button.js +5 -7
  662. package/source/class/qx/test/performance/widget/Label.js +5 -7
  663. package/source/class/qx/test/performance/widget/RichLabel.js +6 -8
  664. package/source/class/qx/test/performance/widget/Widget.js +5 -7
  665. package/source/class/qx/test/performance/widget/WidgetWithDecorator.js +7 -9
  666. package/source/class/qx/test/performance/widget/WidgetWithSingle.js +9 -11
  667. package/source/class/qx/test/renderer/Color.js +22 -49
  668. package/source/class/qx/test/testclasses/BaseClassBoth.js +11 -8
  669. package/source/class/qx/test/testclasses/BaseClassIncluded.js +5 -6
  670. package/source/class/qx/test/testclasses/BaseClassPatched.js +15 -8
  671. package/source/class/qx/test/testclasses/DerivedClassBoth.js +7 -7
  672. package/source/class/qx/test/testclasses/DerivedClassIncluded.js +7 -7
  673. package/source/class/qx/test/testclasses/DerivedClassPatched.js +7 -7
  674. package/source/class/qx/test/testclasses/MMixinOne.js +4 -4
  675. package/source/class/qx/test/testclasses/MMixinTwo.js +2 -2
  676. package/source/class/qx/test/testclasses/RootClass.js +8 -8
  677. package/source/class/qx/test/theme/__init__.js +4 -4
  678. package/source/class/qx/test/theme/manager/Color.js +52 -66
  679. package/source/class/qx/test/theme/manager/Decoration.js +177 -154
  680. package/source/class/qx/test/theme/manager/Font.js +68 -39
  681. package/source/class/qx/test/theme/manager/Icon.js +46 -43
  682. package/source/class/qx/test/theme/manager/Meta.js +121 -110
  683. package/source/class/qx/test/theme/manager/__init__.js +4 -4
  684. package/source/class/qx/test/theme/manager/mock/Appearance.js +17 -23
  685. package/source/class/qx/test/theme/manager/mock/Color.js +7 -9
  686. package/source/class/qx/test/theme/manager/mock/Decoration.js +7 -10
  687. package/source/class/qx/test/theme/manager/mock/Font.js +6 -10
  688. package/source/class/qx/test/theme/simple/Appearance.js +268 -210
  689. package/source/class/qx/test/tool/utils/Utils.js +10 -8
  690. package/source/class/qx/test/toolchain/PrivateOptimization.js +20 -13
  691. package/source/class/qx/test/toolchain/TestRunner.js +12 -12
  692. package/source/class/qx/test/toolchain/VariantOptimization.js +37 -26
  693. package/source/class/qx/test/toolchain/__init__.js +4 -4
  694. package/source/class/qx/test/type/Array.js +8 -12
  695. package/source/class/qx/test/type/BaseArray.js +58 -78
  696. package/source/class/qx/test/type/BaseString.js +30 -61
  697. package/source/class/qx/test/type/__init__.js +4 -4
  698. package/source/class/qx/test/ui/BackgroundColor.js +20 -21
  699. package/source/class/qx/test/ui/ChildrenHandling.js +136 -81
  700. package/source/class/qx/test/ui/Destroy.js +310 -248
  701. package/source/class/qx/test/ui/Focus.js +40 -87
  702. package/source/class/qx/test/ui/Insets.js +14 -18
  703. package/source/class/qx/test/ui/LayoutTestCase.js +99 -92
  704. package/source/class/qx/test/ui/LocaleSwitch.js +37 -41
  705. package/source/class/qx/test/ui/RadioItems.js +11 -22
  706. package/source/class/qx/test/ui/Widget.js +13 -17
  707. package/source/class/qx/test/ui/Window.js +26 -39
  708. package/source/class/qx/test/ui/basic/Atom.js +37 -25
  709. package/source/class/qx/test/ui/basic/Image.js +179 -138
  710. package/source/class/qx/test/ui/basic/Label.js +147 -65
  711. package/source/class/qx/test/ui/basic/__init__.js +4 -4
  712. package/source/class/qx/test/ui/command/Command.js +105 -69
  713. package/source/class/qx/test/ui/command/Group.js +24 -21
  714. package/source/class/qx/test/ui/command/GroupManager.js +7 -12
  715. package/source/class/qx/test/ui/container/Stack.js +26 -36
  716. package/source/class/qx/test/ui/core/AbstractScrollArea.js +84 -67
  717. package/source/class/qx/test/ui/core/Appearance.js +53 -54
  718. package/source/class/qx/test/ui/core/Blocker.js +80 -44
  719. package/source/class/qx/test/ui/core/DragDropScrolling.js +69 -55
  720. package/source/class/qx/test/ui/core/Placement.js +22 -34
  721. package/source/class/qx/test/ui/core/Queues.js +28 -39
  722. package/source/class/qx/test/ui/core/SizeHint.js +32 -76
  723. package/source/class/qx/test/ui/core/SizeHintX.js +8 -15
  724. package/source/class/qx/test/ui/core/SizeHintY.js +8 -15
  725. package/source/class/qx/test/ui/core/Spacer.js +11 -18
  726. package/source/class/qx/test/ui/core/Widget.js +117 -112
  727. package/source/class/qx/test/ui/core/__init__.js +4 -4
  728. package/source/class/qx/test/ui/decoration/LinearGradient.js +18 -14
  729. package/source/class/qx/test/ui/embed/Iframe.js +70 -65
  730. package/source/class/qx/test/ui/embed/__init__.js +4 -4
  731. package/source/class/qx/test/ui/form/AbstractSelectBox.js +11 -16
  732. package/source/class/qx/test/ui/form/AbstractVirtualBox.js +12 -19
  733. package/source/class/qx/test/ui/form/BooleanFormat.js +40 -25
  734. package/source/class/qx/test/ui/form/Color.js +29 -19
  735. package/source/class/qx/test/ui/form/ComboBox.js +39 -67
  736. package/source/class/qx/test/ui/form/Date.js +34 -21
  737. package/source/class/qx/test/ui/form/DateField.js +16 -19
  738. package/source/class/qx/test/ui/form/Executable.js +98 -68
  739. package/source/class/qx/test/ui/form/Field.js +65 -54
  740. package/source/class/qx/test/ui/form/Form.js +211 -123
  741. package/source/class/qx/test/ui/form/FormManager.js +72 -100
  742. package/source/class/qx/test/ui/form/FormValidator.js +549 -399
  743. package/source/class/qx/test/ui/form/Label.js +87 -65
  744. package/source/class/qx/test/ui/form/List.js +19 -19
  745. package/source/class/qx/test/ui/form/MenuButton.js +26 -20
  746. package/source/class/qx/test/ui/form/ModelProperty.js +40 -36
  747. package/source/class/qx/test/ui/form/ModelSelection.js +39 -84
  748. package/source/class/qx/test/ui/form/NumberFormat.js +30 -19
  749. package/source/class/qx/test/ui/form/Placeholder.js +147 -87
  750. package/source/class/qx/test/ui/form/RadioButtonGroup.js +31 -26
  751. package/source/class/qx/test/ui/form/RadioGroup.js +58 -54
  752. package/source/class/qx/test/ui/form/Range.js +63 -28
  753. package/source/class/qx/test/ui/form/Renderer.js +39 -33
  754. package/source/class/qx/test/ui/form/Resetter.js +21 -35
  755. package/source/class/qx/test/ui/form/Slider.js +37 -21
  756. package/source/class/qx/test/ui/form/Spinner.js +9 -5
  757. package/source/class/qx/test/ui/form/SplitButton.js +7 -11
  758. package/source/class/qx/test/ui/form/StringFormat.js +60 -30
  759. package/source/class/qx/test/ui/form/TextArea.js +59 -41
  760. package/source/class/qx/test/ui/form/TextField.js +14 -16
  761. package/source/class/qx/test/ui/form/ToggleButton.js +20 -24
  762. package/source/class/qx/test/ui/form/VirtualSelectBox.js +66 -40
  763. package/source/class/qx/test/ui/form/__init__.js +4 -4
  764. package/source/class/qx/test/ui/form/virtual/VirtualComboBox.js +58 -60
  765. package/source/class/qx/test/ui/form/virtual/VirtualDropDownList.js +120 -110
  766. package/source/class/qx/test/ui/form/virtual/VirtualSelectBox.js +43 -27
  767. package/source/class/qx/test/ui/groupbox/CheckGroupBox.js +13 -18
  768. package/source/class/qx/test/ui/indicator/ProgressBar.js +73 -48
  769. package/source/class/qx/test/ui/layout/Box.js +23 -22
  770. package/source/class/qx/test/ui/layout/Flow.js +233 -153
  771. package/source/class/qx/test/ui/layout/Grid.js +88 -101
  772. package/source/class/qx/test/ui/layout/LayoutItem.js +57 -83
  773. package/source/class/qx/test/ui/layout/LayoutRoot.js +7 -11
  774. package/source/class/qx/test/ui/layout/Util.js +30 -31
  775. package/source/class/qx/test/ui/layout/__init__.js +4 -4
  776. package/source/class/qx/test/ui/list/AbstractListTest.js +13 -21
  777. package/source/class/qx/test/ui/list/Group.js +191 -114
  778. package/source/class/qx/test/ui/list/List.js +189 -132
  779. package/source/class/qx/test/ui/list/MAssert.js +14 -9
  780. package/source/class/qx/test/ui/list/ObjectGroup.js +131 -109
  781. package/source/class/qx/test/ui/list/core/MultiSelection.js +58 -44
  782. package/source/class/qx/test/ui/list/core/SingleSelection.js +43 -43
  783. package/source/class/qx/test/ui/list/fixture/GroupMock.js +6 -9
  784. package/source/class/qx/test/ui/list/fixture/ItemMock.js +9 -13
  785. package/source/class/qx/test/ui/root/Inline.js +22 -20
  786. package/source/class/qx/test/ui/selection/AbstractMultiSelectonTest.js +188 -105
  787. package/source/class/qx/test/ui/selection/AbstractSingleSelectonTest.js +173 -125
  788. package/source/class/qx/test/ui/selection/ListMultiSelection.js +19 -21
  789. package/source/class/qx/test/ui/selection/ListSingleSelection.js +19 -21
  790. package/source/class/qx/test/ui/selection/RadioGroup.js +41 -29
  791. package/source/class/qx/test/ui/selection/SelectBox.js +11 -17
  792. package/source/class/qx/test/ui/selection/Stack.js +22 -27
  793. package/source/class/qx/test/ui/selection/TabView.js +35 -26
  794. package/source/class/qx/test/ui/selection/TreeMultiSelection.js +14 -19
  795. package/source/class/qx/test/ui/selection/TreeSingleSelection.js +20 -24
  796. package/source/class/qx/test/ui/selection/__init__.js +4 -4
  797. package/source/class/qx/test/ui/table/Dispose.js +46 -46
  798. package/source/class/qx/test/ui/table/Table.js +74 -69
  799. package/source/class/qx/test/ui/table/__init__.js +4 -4
  800. package/source/class/qx/test/ui/table/celleditor/AbstractField.js +14 -28
  801. package/source/class/qx/test/ui/table/celleditor/ComboBox.js +11 -18
  802. package/source/class/qx/test/ui/table/celleditor/PasswordField.js +6 -10
  803. package/source/class/qx/test/ui/table/celleditor/SelectBox.js +16 -32
  804. package/source/class/qx/test/ui/table/celleditor/TextField.js +6 -9
  805. package/source/class/qx/test/ui/table/celleditor/__init__.js +4 -4
  806. package/source/class/qx/test/ui/table/columnmodel/Basic.js +130 -129
  807. package/source/class/qx/test/ui/table/model/Filtered.js +51 -36
  808. package/source/class/qx/test/ui/table/model/Simple.js +43 -45
  809. package/source/class/qx/test/ui/table/selection/Model.js +70 -22
  810. package/source/class/qx/test/ui/toolbar/OverflowHandling.js +145 -123
  811. package/source/class/qx/test/ui/toolbar/ToolBar.js +20 -30
  812. package/source/class/qx/test/ui/tree/Tree.js +63 -42
  813. package/source/class/qx/test/ui/tree/TreeFolder.js +44 -46
  814. package/source/class/qx/test/ui/tree/virtual/AbstractTreeTest.js +61 -96
  815. package/source/class/qx/test/ui/tree/virtual/MultiSelection.js +68 -39
  816. package/source/class/qx/test/ui/tree/virtual/OneSelection.js +82 -42
  817. package/source/class/qx/test/ui/tree/virtual/OpenCloseController.js +80 -101
  818. package/source/class/qx/test/ui/tree/virtual/SingleSelection.js +40 -32
  819. package/source/class/qx/test/ui/tree/virtual/Sorting.js +46 -47
  820. package/source/class/qx/test/ui/tree/virtual/Tree.js +267 -191
  821. package/source/class/qx/test/ui/tree/virtual/TreeItem.js +60 -63
  822. package/source/class/qx/test/ui/tree/virtual/UtilTest.js +65 -50
  823. package/source/class/qx/test/ui/tree/virtual/WidgetProvider.js +127 -132
  824. package/source/class/qx/test/ui/virtual/Axis.js +210 -193
  825. package/source/class/qx/test/ui/virtual/Pane.js +287 -190
  826. package/source/class/qx/test/ui/virtual/PaneUpdate.js +71 -77
  827. package/source/class/qx/test/ui/virtual/PointerEventMock.js +10 -13
  828. package/source/class/qx/test/ui/virtual/Scroller.js +29 -39
  829. package/source/class/qx/test/ui/virtual/__init__.js +4 -4
  830. package/source/class/qx/test/ui/virtual/cell/WidgetCell.js +39 -40
  831. package/source/class/qx/test/ui/virtual/layer/CellSpanManager.js +157 -127
  832. package/source/class/qx/test/ui/virtual/layer/Column.js +6 -10
  833. package/source/class/qx/test/ui/virtual/layer/GridLines.js +6 -10
  834. package/source/class/qx/test/ui/virtual/layer/GridLinesHorizontal.js +6 -9
  835. package/source/class/qx/test/ui/virtual/layer/GridLinesVertical.js +6 -9
  836. package/source/class/qx/test/ui/virtual/layer/HtmlCell.js +12 -19
  837. package/source/class/qx/test/ui/virtual/layer/HtmlCellSpan.js +13 -21
  838. package/source/class/qx/test/ui/virtual/layer/LayerMock.js +31 -43
  839. package/source/class/qx/test/ui/virtual/layer/LayerSimple.js +26 -26
  840. package/source/class/qx/test/ui/virtual/layer/LayerTestCase.js +52 -50
  841. package/source/class/qx/test/ui/virtual/layer/Row.js +6 -10
  842. package/source/class/qx/test/ui/virtual/layer/WidgetCell.js +45 -52
  843. package/source/class/qx/test/ui/virtual/layer/WidgetCellSpan.js +71 -48
  844. package/source/class/qx/test/ui/virtual/layer/__init__.js +4 -4
  845. package/source/class/qx/test/ui/virtual/performance/AbstractLayerTest.js +84 -68
  846. package/source/class/qx/test/ui/virtual/performance/DomCell.js +6 -9
  847. package/source/class/qx/test/ui/virtual/performance/DomPoolCell.js +6 -9
  848. package/source/class/qx/test/ui/virtual/performance/HtmlDivCell.js +7 -11
  849. package/source/class/qx/test/ui/virtual/performance/HtmlDivRelative.js +6 -9
  850. package/source/class/qx/test/ui/virtual/performance/HtmlTableCell.js +8 -13
  851. package/source/class/qx/test/ui/virtual/performance/HtmlTableCellNaive.js +8 -13
  852. package/source/class/qx/test/ui/virtual/performance/HtmlTableCssCell.js +8 -19
  853. package/source/class/qx/test/ui/virtual/performance/WidgetCell.js +10 -15
  854. package/source/class/qx/test/ui/virtual/performance/__init__.js +4 -4
  855. package/source/class/qx/test/ui/virtual/performance/layer/DomCell.js +24 -18
  856. package/source/class/qx/test/ui/virtual/performance/layer/DomPoolCell.js +28 -26
  857. package/source/class/qx/test/ui/virtual/performance/layer/HtmlDivRelative.js +13 -17
  858. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCell.js +29 -28
  859. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCellNaive.js +22 -24
  860. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCssCell.js +32 -47
  861. package/source/class/qx/test/ui/virtual/performance/layer/__init__.js +4 -4
  862. package/source/class/qx/test/ui/window/Desktop.js +21 -12
  863. package/source/class/qx/test/util/Base64.js +10 -13
  864. package/source/class/qx/test/util/ColorUtil.js +121 -54
  865. package/source/class/qx/test/util/DateFormat.js +569 -299
  866. package/source/class/qx/test/util/DateMock.js +16 -19
  867. package/source/class/qx/test/util/DeferredCall.js +12 -13
  868. package/source/class/qx/test/util/Delegate.js +28 -26
  869. package/source/class/qx/test/util/DisposeUtil.js +32 -14
  870. package/source/class/qx/test/util/DynamicScriptLoader.js +99 -64
  871. package/source/class/qx/test/util/Fsm.js +16 -18
  872. package/source/class/qx/test/util/Function.js +23 -19
  873. package/source/class/qx/test/util/LibraryManager.js +15 -22
  874. package/source/class/qx/test/util/NumberFormat.js +53 -64
  875. package/source/class/qx/test/util/PropertyUtil.js +35 -35
  876. package/source/class/qx/test/util/Request.js +26 -18
  877. package/source/class/qx/test/util/ResourceManager.js +50 -35
  878. package/source/class/qx/test/util/ResponseParser.js +45 -35
  879. package/source/class/qx/test/util/RingBuffer.js +15 -28
  880. package/source/class/qx/test/util/Serializer.js +210 -153
  881. package/source/class/qx/test/util/StringBuilder.js +7 -13
  882. package/source/class/qx/test/util/StringSplit.js +114 -69
  883. package/source/class/qx/test/util/Uri.js +74 -78
  884. package/source/class/qx/test/util/Validate.js +95 -64
  885. package/source/class/qx/test/util/placement/BestFitAxis.js +17 -26
  886. package/source/class/qx/test/util/placement/DirectAxis.js +8 -11
  887. package/source/class/qx/test/util/placement/KeepAlignAxis.js +17 -26
  888. package/source/class/qx/test/util/placement/Placement.js +607 -244
  889. package/source/class/qx/test/util/placement/__init__.js +4 -4
  890. package/source/class/qx/theme/Classic.js +9 -11
  891. package/source/class/qx/theme/Indigo.js +9 -11
  892. package/source/class/qx/theme/Modern.js +9 -11
  893. package/source/class/qx/theme/Simple.js +9 -11
  894. package/source/class/qx/theme/TangibleDark.js +1 -1
  895. package/source/class/qx/theme/TangibleLight.js +1 -1
  896. package/source/class/qx/theme/__init__.js +4 -4
  897. package/source/class/qx/theme/classic/Appearance.js +995 -1336
  898. package/source/class/qx/theme/classic/Color.js +83 -83
  899. package/source/class/qx/theme/classic/Decoration.js +318 -299
  900. package/source/class/qx/theme/classic/Font.js +38 -25
  901. package/source/class/qx/theme/icon/Oxygen.js +4 -5
  902. package/source/class/qx/theme/icon/Tango.js +4 -5
  903. package/source/class/qx/theme/indigo/Appearance.js +66 -85
  904. package/source/class/qx/theme/indigo/Color.js +65 -66
  905. package/source/class/qx/theme/indigo/Decoration.js +31 -45
  906. package/source/class/qx/theme/indigo/Font.js +20 -29
  907. package/source/class/qx/theme/manager/Appearance.js +58 -91
  908. package/source/class/qx/theme/manager/Color.js +20 -41
  909. package/source/class/qx/theme/manager/Decoration.js +72 -100
  910. package/source/class/qx/theme/manager/Font.js +51 -67
  911. package/source/class/qx/theme/manager/Icon.js +13 -27
  912. package/source/class/qx/theme/manager/Meta.js +27 -44
  913. package/source/class/qx/theme/modern/Appearance.js +1049 -1440
  914. package/source/class/qx/theme/modern/Color.js +155 -166
  915. package/source/class/qx/theme/modern/Decoration.js +471 -598
  916. package/source/class/qx/theme/modern/Font.js +59 -52
  917. package/source/class/qx/theme/simple/Appearance.js +936 -1207
  918. package/source/class/qx/theme/simple/Color.js +62 -62
  919. package/source/class/qx/theme/simple/Decoration.js +456 -678
  920. package/source/class/qx/theme/simple/Font.js +18 -25
  921. package/source/class/qx/theme/simple/Image.js +49 -52
  922. package/source/class/qx/theme/tangible/Appearance.js +1575 -1743
  923. package/source/class/qx/theme/tangible/ColorDark.js +5 -5
  924. package/source/class/qx/theme/tangible/ColorEngine.js +38 -35
  925. package/source/class/qx/theme/tangible/ColorLight.js +7 -7
  926. package/source/class/qx/theme/tangible/Decoration.js +1108 -1300
  927. package/source/class/qx/theme/tangible/Font.js +66 -70
  928. package/source/class/qx/theme/tangible/Image.js +44 -48
  929. package/source/class/qx/tool/cli/Application.js +5 -5
  930. package/source/class/qx/tool/cli/Cli.js +107 -54
  931. package/source/class/qx/tool/cli/ConfigDb.js +18 -15
  932. package/source/class/qx/tool/cli/LibraryApplication.js +1 -1
  933. package/source/class/qx/tool/cli/Watch.js +174 -102
  934. package/source/class/qx/tool/cli/api/AbstractApi.js +17 -18
  935. package/source/class/qx/tool/cli/api/CompilerApi.js +29 -12
  936. package/source/class/qx/tool/cli/api/LibraryApi.js +4 -6
  937. package/source/class/qx/tool/cli/api/Test.js +12 -9
  938. package/source/class/qx/tool/cli/commands/Add.js +12 -15
  939. package/source/class/qx/tool/cli/commands/Clean.js +10 -9
  940. package/source/class/qx/tool/cli/commands/Command.js +25 -13
  941. package/source/class/qx/tool/cli/commands/Compile.js +635 -269
  942. package/source/class/qx/tool/cli/commands/Config.js +75 -42
  943. package/source/class/qx/tool/cli/commands/Create.js +108 -59
  944. package/source/class/qx/tool/cli/commands/Deploy.js +138 -86
  945. package/source/class/qx/tool/cli/commands/Es6ify.js +118 -0
  946. package/source/class/qx/tool/cli/commands/Lint.js +101 -41
  947. package/source/class/qx/tool/cli/commands/Migrate.js +13 -7
  948. package/source/class/qx/tool/cli/commands/Package.js +67 -46
  949. package/source/class/qx/tool/cli/commands/Pkg.js +21 -18
  950. package/source/class/qx/tool/cli/commands/Run.js +57 -37
  951. package/source/class/qx/tool/cli/commands/Serve.js +62 -37
  952. package/source/class/qx/tool/cli/commands/Test.js +40 -18
  953. package/source/class/qx/tool/cli/commands/add/Class.js +66 -28
  954. package/source/class/qx/tool/cli/commands/add/Script.js +54 -27
  955. package/source/class/qx/tool/cli/commands/package/Install.js +265 -103
  956. package/source/class/qx/tool/cli/commands/package/List.js +199 -75
  957. package/source/class/qx/tool/cli/commands/package/Migrate.js +7 -3
  958. package/source/class/qx/tool/cli/commands/package/Publish.js +230 -115
  959. package/source/class/qx/tool/cli/commands/package/Remove.js +40 -17
  960. package/source/class/qx/tool/cli/commands/package/Update.js +115 -48
  961. package/source/class/qx/tool/cli/commands/package/Upgrade.js +41 -20
  962. package/source/class/qx/tool/compiler/Analyser.js +443 -239
  963. package/source/class/qx/tool/compiler/ClassFile.js +831 -401
  964. package/source/class/qx/tool/compiler/Console.js +136 -87
  965. package/source/class/qx/tool/compiler/Es6ify.js +404 -0
  966. package/source/class/qx/tool/compiler/Preprocess.js +28 -25
  967. package/source/class/qx/tool/compiler/app/Application.js +149 -72
  968. package/source/class/qx/tool/compiler/app/Cldr.js +506 -106
  969. package/source/class/qx/tool/compiler/app/Library.js +62 -27
  970. package/source/class/qx/tool/compiler/app/Part.js +10 -12
  971. package/source/class/qx/tool/compiler/app/Translation.js +189 -162
  972. package/source/class/qx/tool/compiler/app/WebFont.js +216 -162
  973. package/source/class/qx/tool/compiler/jsdoc/ChildControlParser.js +3 -3
  974. package/source/class/qx/tool/compiler/jsdoc/CommandParser.js +8 -9
  975. package/source/class/qx/tool/compiler/jsdoc/ParamParser.js +7 -6
  976. package/source/class/qx/tool/compiler/jsdoc/Parser.js +27 -18
  977. package/source/class/qx/tool/compiler/jsdoc/ReturnParser.js +3 -3
  978. package/source/class/qx/tool/compiler/jsdoc/ThrowsParser.js +4 -4
  979. package/source/class/qx/tool/compiler/makers/AbstractAppMaker.js +5 -6
  980. package/source/class/qx/tool/compiler/makers/AppMaker.js +53 -32
  981. package/source/class/qx/tool/compiler/makers/Maker.js +29 -21
  982. package/source/class/qx/tool/compiler/resources/AbstractMatcher.js +8 -8
  983. package/source/class/qx/tool/compiler/resources/Asset.js +123 -61
  984. package/source/class/qx/tool/compiler/resources/ImageLoader.js +18 -8
  985. package/source/class/qx/tool/compiler/resources/Manager.js +156 -93
  986. package/source/class/qx/tool/compiler/resources/MetaLoader.js +5 -3
  987. package/source/class/qx/tool/compiler/resources/ResourceConverter.js +8 -8
  988. package/source/class/qx/tool/compiler/resources/ResourceLoader.js +8 -9
  989. package/source/class/qx/tool/compiler/resources/ScssConverter.js +54 -18
  990. package/source/class/qx/tool/compiler/resources/ScssFile.js +157 -80
  991. package/source/class/qx/tool/compiler/resources/ScssIncludeConverter.js +3 -3
  992. package/source/class/qx/tool/compiler/targets/BuildTarget.js +23 -13
  993. package/source/class/qx/tool/compiler/targets/SourceCodeCopier.js +29 -9
  994. package/source/class/qx/tool/compiler/targets/SourceTarget.js +2 -2
  995. package/source/class/qx/tool/compiler/targets/Target.js +292 -187
  996. package/source/class/qx/tool/compiler/targets/TypeScriptWriter.js +163 -104
  997. package/source/class/qx/tool/compiler/targets/meta/AbstractJavascriptMeta.js +48 -23
  998. package/source/class/qx/tool/compiler/targets/meta/ApplicationMeta.js +75 -62
  999. package/source/class/qx/tool/compiler/targets/meta/BootJs.js +49 -29
  1000. package/source/class/qx/tool/compiler/targets/meta/Javascript.js +6 -7
  1001. package/source/class/qx/tool/compiler/targets/meta/Package.js +54 -51
  1002. package/source/class/qx/tool/compiler/targets/meta/PackageJavascript.js +41 -21
  1003. package/source/class/qx/tool/compiler/targets/meta/Part.js +9 -10
  1004. package/source/class/qx/tool/compiler/targets/meta/PolyfillJs.js +23 -10
  1005. package/source/class/qx/tool/compiler/targets/meta/Uglify.js +35 -23
  1006. package/source/class/qx/tool/config/Abstract.js +61 -25
  1007. package/source/class/qx/tool/config/Compile.js +3 -2
  1008. package/source/class/qx/tool/config/Lockfile.js +3 -2
  1009. package/source/class/qx/tool/config/Manifest.js +3 -2
  1010. package/source/class/qx/tool/config/Registry.js +4 -3
  1011. package/source/class/qx/tool/config/Utils.js +97 -37
  1012. package/source/class/qx/tool/migration/BaseMigration.js +67 -25
  1013. package/source/class/qx/tool/migration/M6_0_0.js +96 -46
  1014. package/source/class/qx/tool/migration/M7_0_0.js +12 -6
  1015. package/source/class/qx/tool/migration/Runner.js +28 -14
  1016. package/source/class/qx/tool/utils/IndexedArray.js +15 -18
  1017. package/source/class/qx/tool/utils/Json.js +36 -15
  1018. package/source/class/qx/tool/utils/LogManager.js +50 -26
  1019. package/source/class/qx/tool/utils/Logger.js +11 -12
  1020. package/source/class/qx/tool/utils/Promisify.js +45 -49
  1021. package/source/class/qx/tool/utils/Utils.js +63 -48
  1022. package/source/class/qx/tool/utils/Values.js +4 -7
  1023. package/source/class/qx/tool/utils/Website.js +82 -29
  1024. package/source/class/qx/tool/utils/files/FindFiles.js +37 -33
  1025. package/source/class/qx/tool/utils/files/Utils.js +74 -54
  1026. package/source/class/qx/tool/utils/json/Parser.js +163 -54
  1027. package/source/class/qx/tool/utils/json/Stringify.js +87 -72
  1028. package/source/class/qx/tool/utils/json/Tokenizer.js +64 -39
  1029. package/source/class/qx/tool/utils/json/Writer.js +20 -21
  1030. package/source/class/qx/type/Array.js +19 -41
  1031. package/source/class/qx/type/BaseArray.js +136 -151
  1032. package/source/class/qx/type/BaseError.js +17 -34
  1033. package/source/class/qx/type/BaseString.js +104 -120
  1034. package/source/class/qx/type/__init__.js +3 -3
  1035. package/source/class/qx/ui/basic/Atom.js +75 -109
  1036. package/source/class/qx/ui/basic/Image.js +283 -319
  1037. package/source/class/qx/ui/basic/Label.js +161 -208
  1038. package/source/class/qx/ui/command/Command.js +51 -86
  1039. package/source/class/qx/ui/command/Group.js +43 -50
  1040. package/source/class/qx/ui/command/GroupManager.js +50 -53
  1041. package/source/class/qx/ui/container/Composite.js +15 -29
  1042. package/source/class/qx/ui/container/Resizer.js +7 -11
  1043. package/source/class/qx/ui/container/Scroll.js +10 -21
  1044. package/source/class/qx/ui/container/SlideBar.js +78 -118
  1045. package/source/class/qx/ui/container/Stack.js +27 -54
  1046. package/source/class/qx/ui/control/ColorPopup.js +109 -130
  1047. package/source/class/qx/ui/control/ColorSelector.js +334 -301
  1048. package/source/class/qx/ui/control/DateChooser.js +143 -177
  1049. package/source/class/qx/ui/core/Blocker.js +91 -127
  1050. package/source/class/qx/ui/core/ColumnData.js +16 -34
  1051. package/source/class/qx/ui/core/DragDropCursor.js +17 -30
  1052. package/source/class/qx/ui/core/DragDropScrolling.js +8 -14
  1053. package/source/class/qx/ui/core/EventHandler.js +108 -132
  1054. package/source/class/qx/ui/core/FocusHandler.js +78 -127
  1055. package/source/class/qx/ui/core/IMultiSelection.js +5 -9
  1056. package/source/class/qx/ui/core/ISingleSelection.js +10 -16
  1057. package/source/class/qx/ui/core/ISingleSelectionProvider.js +4 -6
  1058. package/source/class/qx/ui/core/LayoutItem.js +190 -306
  1059. package/source/class/qx/ui/core/MBlocker.js +22 -38
  1060. package/source/class/qx/ui/core/MChildrenHandling.js +14 -29
  1061. package/source/class/qx/ui/core/MContentPadding.js +50 -69
  1062. package/source/class/qx/ui/core/MDragDropScrolling.js +82 -80
  1063. package/source/class/qx/ui/core/MExecutable.js +27 -52
  1064. package/source/class/qx/ui/core/MLayoutHandling.js +6 -14
  1065. package/source/class/qx/ui/core/MMovable.js +64 -80
  1066. package/source/class/qx/ui/core/MMultiSelectionHandling.js +68 -87
  1067. package/source/class/qx/ui/core/MNativeOverflow.js +16 -26
  1068. package/source/class/qx/ui/core/MPlacement.js +171 -170
  1069. package/source/class/qx/ui/core/MRemoteChildrenHandling.js +14 -27
  1070. package/source/class/qx/ui/core/MRemoteLayoutHandling.js +4 -7
  1071. package/source/class/qx/ui/core/MResizable.js +142 -175
  1072. package/source/class/qx/ui/core/MSingleSelectionHandling.js +40 -45
  1073. package/source/class/qx/ui/core/SingleSelectionManager.js +41 -60
  1074. package/source/class/qx/ui/core/Spacer.js +12 -22
  1075. package/source/class/qx/ui/core/Widget.js +688 -973
  1076. package/source/class/qx/ui/core/queue/Appearance.js +15 -24
  1077. package/source/class/qx/ui/core/queue/Dispose.js +7 -16
  1078. package/source/class/qx/ui/core/queue/Layout.js +44 -71
  1079. package/source/class/qx/ui/core/queue/Manager.js +140 -133
  1080. package/source/class/qx/ui/core/queue/Visibility.js +21 -39
  1081. package/source/class/qx/ui/core/queue/Widget.js +15 -26
  1082. package/source/class/qx/ui/core/scroll/AbstractScrollArea.js +124 -162
  1083. package/source/class/qx/ui/core/scroll/IScrollBar.js +13 -24
  1084. package/source/class/qx/ui/core/scroll/MRoll.js +14 -19
  1085. package/source/class/qx/ui/core/scroll/MScrollBarFactory.js +3 -6
  1086. package/source/class/qx/ui/core/scroll/MWheelHandling.js +10 -12
  1087. package/source/class/qx/ui/core/scroll/NativeScrollBar.js +103 -124
  1088. package/source/class/qx/ui/core/scroll/ScrollBar.js +89 -130
  1089. package/source/class/qx/ui/core/scroll/ScrollPane.js +95 -134
  1090. package/source/class/qx/ui/core/scroll/ScrollSlider.js +13 -19
  1091. package/source/class/qx/ui/core/scroll/__init__.js +4 -4
  1092. package/source/class/qx/ui/core/selection/Abstract.js +255 -456
  1093. package/source/class/qx/ui/core/selection/ScrollArea.js +35 -73
  1094. package/source/class/qx/ui/core/selection/Widget.js +57 -120
  1095. package/source/class/qx/ui/decoration/Abstract.js +11 -20
  1096. package/source/class/qx/ui/decoration/Decorator.js +56 -55
  1097. package/source/class/qx/ui/decoration/IDecorator.js +5 -11
  1098. package/source/class/qx/ui/decoration/MBackgroundColor.js +13 -20
  1099. package/source/class/qx/ui/decoration/MBackgroundImage.js +82 -77
  1100. package/source/class/qx/ui/decoration/MBorderImage.js +72 -94
  1101. package/source/class/qx/ui/decoration/MBorderRadius.js +35 -38
  1102. package/source/class/qx/ui/decoration/MBoxShadow.js +61 -55
  1103. package/source/class/qx/ui/decoration/MDoubleBorder.js +157 -155
  1104. package/source/class/qx/ui/decoration/MLinearBackgroundGradient.js +169 -89
  1105. package/source/class/qx/ui/decoration/MSingleBorder.js +138 -124
  1106. package/source/class/qx/ui/decoration/MTransition.js +46 -42
  1107. package/source/class/qx/ui/decoration/__init__.js +2 -2
  1108. package/source/class/qx/ui/embed/AbstractIframe.js +37 -55
  1109. package/source/class/qx/ui/embed/Canvas.js +34 -66
  1110. package/source/class/qx/ui/embed/Html.js +46 -70
  1111. package/source/class/qx/ui/embed/Iframe.js +178 -158
  1112. package/source/class/qx/ui/embed/ThemedIframe.js +91 -135
  1113. package/source/class/qx/ui/form/AbstractField.js +262 -303
  1114. package/source/class/qx/ui/form/AbstractSelectBox.js +98 -88
  1115. package/source/class/qx/ui/form/Button.js +38 -73
  1116. package/source/class/qx/ui/form/CheckBox.js +47 -45
  1117. package/source/class/qx/ui/form/CheckedList.js +41 -25
  1118. package/source/class/qx/ui/form/CheckedSelectBox.js +97 -62
  1119. package/source/class/qx/ui/form/ComboBox.js +129 -143
  1120. package/source/class/qx/ui/form/DateField.js +150 -176
  1121. package/source/class/qx/ui/form/Form.js +50 -69
  1122. package/source/class/qx/ui/form/HoverButton.js +37 -54
  1123. package/source/class/qx/ui/form/IArrayForm.js +8 -16
  1124. package/source/class/qx/ui/form/IBooleanForm.js +8 -16
  1125. package/source/class/qx/ui/form/IColorForm.js +8 -16
  1126. package/source/class/qx/ui/form/IDateForm.js +8 -16
  1127. package/source/class/qx/ui/form/IExecutable.js +7 -14
  1128. package/source/class/qx/ui/form/IField.js +7 -14
  1129. package/source/class/qx/ui/form/IForm.js +17 -32
  1130. package/source/class/qx/ui/form/IListItem.js +1 -4
  1131. package/source/class/qx/ui/form/IModel.js +7 -15
  1132. package/source/class/qx/ui/form/IModelForm.js +8 -16
  1133. package/source/class/qx/ui/form/IModelSelection.js +4 -8
  1134. package/source/class/qx/ui/form/INumberForm.js +8 -15
  1135. package/source/class/qx/ui/form/IRadioItem.js +8 -17
  1136. package/source/class/qx/ui/form/IRange.js +10 -20
  1137. package/source/class/qx/ui/form/IStringForm.js +8 -16
  1138. package/source/class/qx/ui/form/List.js +85 -122
  1139. package/source/class/qx/ui/form/ListItem.js +21 -38
  1140. package/source/class/qx/ui/form/MForm.js +35 -41
  1141. package/source/class/qx/ui/form/MModelProperty.js +9 -14
  1142. package/source/class/qx/ui/form/MModelSelection.js +30 -32
  1143. package/source/class/qx/ui/form/MenuButton.js +68 -73
  1144. package/source/class/qx/ui/form/PasswordField.js +4 -6
  1145. package/source/class/qx/ui/form/RadioButton.js +43 -72
  1146. package/source/class/qx/ui/form/RadioButtonGroup.js +70 -82
  1147. package/source/class/qx/ui/form/RadioGroup.js +110 -126
  1148. package/source/class/qx/ui/form/RepeatButton.js +57 -106
  1149. package/source/class/qx/ui/form/Resetter.js +19 -29
  1150. package/source/class/qx/ui/form/SelectBox.js +80 -101
  1151. package/source/class/qx/ui/form/Slider.js +216 -268
  1152. package/source/class/qx/ui/form/Spinner.js +173 -217
  1153. package/source/class/qx/ui/form/SplitButton.js +76 -115
  1154. package/source/class/qx/ui/form/Tag.js +7 -8
  1155. package/source/class/qx/ui/form/TextArea.js +147 -153
  1156. package/source/class/qx/ui/form/TextField.js +37 -46
  1157. package/source/class/qx/ui/form/ToggleButton.js +62 -90
  1158. package/source/class/qx/ui/form/VirtualComboBox.js +73 -113
  1159. package/source/class/qx/ui/form/VirtualSelectBox.js +264 -274
  1160. package/source/class/qx/ui/form/core/AbstractVirtualBox.js +117 -157
  1161. package/source/class/qx/ui/form/core/VirtualDropDownList.js +101 -144
  1162. package/source/class/qx/ui/form/renderer/AbstractRenderer.js +48 -55
  1163. package/source/class/qx/ui/form/renderer/Double.js +25 -34
  1164. package/source/class/qx/ui/form/renderer/IFormRenderer.js +4 -8
  1165. package/source/class/qx/ui/form/renderer/Single.js +25 -35
  1166. package/source/class/qx/ui/form/renderer/SinglePlaceholder.js +12 -11
  1167. package/source/class/qx/ui/form/renderer/__init__.js +5 -5
  1168. package/source/class/qx/ui/form/validation/AsyncValidator.js +13 -19
  1169. package/source/class/qx/ui/form/validation/Manager.js +74 -108
  1170. package/source/class/qx/ui/form/validation/__init__.js +6 -6
  1171. package/source/class/qx/ui/groupbox/CheckGroupBox.js +30 -47
  1172. package/source/class/qx/ui/groupbox/GroupBox.js +36 -75
  1173. package/source/class/qx/ui/groupbox/RadioGroupBox.js +29 -59
  1174. package/source/class/qx/ui/groupbox/__init__.js +3 -3
  1175. package/source/class/qx/ui/indicator/ProgressBar.js +29 -46
  1176. package/source/class/qx/ui/layout/Abstract.js +28 -53
  1177. package/source/class/qx/ui/layout/Atom.js +95 -111
  1178. package/source/class/qx/ui/layout/Basic.js +29 -30
  1179. package/source/class/qx/ui/layout/Canvas.js +62 -99
  1180. package/source/class/qx/ui/layout/Dock.js +266 -250
  1181. package/source/class/qx/ui/layout/Flow.js +50 -76
  1182. package/source/class/qx/ui/layout/Grid.js +268 -343
  1183. package/source/class/qx/ui/layout/Grow.js +26 -32
  1184. package/source/class/qx/ui/layout/HBox.js +137 -153
  1185. package/source/class/qx/ui/layout/LineSizeIterator.js +19 -28
  1186. package/source/class/qx/ui/layout/Util.js +91 -120
  1187. package/source/class/qx/ui/layout/VBox.js +125 -147
  1188. package/source/class/qx/ui/list/List.js +148 -262
  1189. package/source/class/qx/ui/list/core/IListDelegate.js +13 -26
  1190. package/source/class/qx/ui/list/core/MWidgetController.js +51 -78
  1191. package/source/class/qx/ui/list/provider/IListProvider.js +15 -28
  1192. package/source/class/qx/ui/list/provider/WidgetProvider.js +52 -84
  1193. package/source/class/qx/ui/menu/AbstractButton.js +141 -122
  1194. package/source/class/qx/ui/menu/Button.js +14 -25
  1195. package/source/class/qx/ui/menu/ButtonLayout.js +49 -37
  1196. package/source/class/qx/ui/menu/CheckBox.js +28 -45
  1197. package/source/class/qx/ui/menu/Layout.js +45 -51
  1198. package/source/class/qx/ui/menu/Manager.js +132 -208
  1199. package/source/class/qx/ui/menu/Menu.js +227 -250
  1200. package/source/class/qx/ui/menu/MenuSlideBar.js +13 -20
  1201. package/source/class/qx/ui/menu/RadioButton.js +38 -51
  1202. package/source/class/qx/ui/menu/Separator.js +9 -16
  1203. package/source/class/qx/ui/menubar/Button.js +22 -67
  1204. package/source/class/qx/ui/menubar/MenuBar.js +17 -9
  1205. package/source/class/qx/ui/mobile/__init__.js +5 -5
  1206. package/source/class/qx/ui/mobile/basic/Atom.js +79 -101
  1207. package/source/class/qx/ui/mobile/basic/Image.js +80 -86
  1208. package/source/class/qx/ui/mobile/basic/Label.js +38 -54
  1209. package/source/class/qx/ui/mobile/container/Carousel.js +281 -188
  1210. package/source/class/qx/ui/mobile/container/Collapsible.js +57 -77
  1211. package/source/class/qx/ui/mobile/container/Composite.js +9 -13
  1212. package/source/class/qx/ui/mobile/container/Drawer.js +167 -164
  1213. package/source/class/qx/ui/mobile/container/INavigation.js +6 -10
  1214. package/source/class/qx/ui/mobile/container/IScrollDelegate.js +4 -6
  1215. package/source/class/qx/ui/mobile/container/MIScroll.js +108 -100
  1216. package/source/class/qx/ui/mobile/container/MNativeScroll.js +118 -102
  1217. package/source/class/qx/ui/mobile/container/MScrollHandling.js +8 -7
  1218. package/source/class/qx/ui/mobile/container/Navigation.js +46 -65
  1219. package/source/class/qx/ui/mobile/container/Scroll.js +140 -151
  1220. package/source/class/qx/ui/mobile/control/Picker.js +125 -112
  1221. package/source/class/qx/ui/mobile/core/Blocker.js +62 -71
  1222. package/source/class/qx/ui/mobile/core/DomUpdatedHandler.js +24 -60
  1223. package/source/class/qx/ui/mobile/core/EventHandler.js +158 -138
  1224. package/source/class/qx/ui/mobile/core/MChildrenHandling.js +14 -30
  1225. package/source/class/qx/ui/mobile/core/MLayoutHandling.js +6 -14
  1226. package/source/class/qx/ui/mobile/core/MResize.js +16 -30
  1227. package/source/class/qx/ui/mobile/core/Root.js +90 -80
  1228. package/source/class/qx/ui/mobile/core/Widget.js +351 -479
  1229. package/source/class/qx/ui/mobile/dialog/BusyIndicator.js +31 -46
  1230. package/source/class/qx/ui/mobile/dialog/Manager.js +127 -89
  1231. package/source/class/qx/ui/mobile/dialog/Menu.js +111 -122
  1232. package/source/class/qx/ui/mobile/dialog/Popup.js +202 -194
  1233. package/source/class/qx/ui/mobile/embed/Canvas.js +12 -25
  1234. package/source/class/qx/ui/mobile/embed/Html.js +13 -27
  1235. package/source/class/qx/ui/mobile/form/Button.js +12 -18
  1236. package/source/class/qx/ui/mobile/form/CheckBox.js +20 -35
  1237. package/source/class/qx/ui/mobile/form/Form.js +31 -51
  1238. package/source/class/qx/ui/mobile/form/Group.js +18 -30
  1239. package/source/class/qx/ui/mobile/form/Input.js +30 -35
  1240. package/source/class/qx/ui/mobile/form/Label.js +76 -79
  1241. package/source/class/qx/ui/mobile/form/MState.js +20 -27
  1242. package/source/class/qx/ui/mobile/form/MText.js +27 -47
  1243. package/source/class/qx/ui/mobile/form/MValue.js +66 -94
  1244. package/source/class/qx/ui/mobile/form/NumberField.js +30 -47
  1245. package/source/class/qx/ui/mobile/form/PasswordField.js +8 -14
  1246. package/source/class/qx/ui/mobile/form/RadioButton.js +25 -46
  1247. package/source/class/qx/ui/mobile/form/RadioGroup.js +2 -4
  1248. package/source/class/qx/ui/mobile/form/Row.js +14 -29
  1249. package/source/class/qx/ui/mobile/form/SelectBox.js +77 -104
  1250. package/source/class/qx/ui/mobile/form/Slider.js +116 -144
  1251. package/source/class/qx/ui/mobile/form/TextArea.js +26 -39
  1252. package/source/class/qx/ui/mobile/form/TextField.js +18 -28
  1253. package/source/class/qx/ui/mobile/form/Title.js +11 -19
  1254. package/source/class/qx/ui/mobile/form/ToggleButton.js +35 -58
  1255. package/source/class/qx/ui/mobile/form/__init__.js +1 -1
  1256. package/source/class/qx/ui/mobile/form/renderer/AbstractRenderer.js +24 -31
  1257. package/source/class/qx/ui/mobile/form/renderer/Single.js +59 -85
  1258. package/source/class/qx/ui/mobile/form/renderer/SinglePlaceholder.js +8 -16
  1259. package/source/class/qx/ui/mobile/layout/Abstract.js +48 -85
  1260. package/source/class/qx/ui/mobile/layout/AbstractBox.js +93 -125
  1261. package/source/class/qx/ui/mobile/layout/Card.js +133 -116
  1262. package/source/class/qx/ui/mobile/layout/CardAnimation.js +95 -72
  1263. package/source/class/qx/ui/mobile/layout/HBox.js +9 -12
  1264. package/source/class/qx/ui/mobile/layout/VBox.js +9 -12
  1265. package/source/class/qx/ui/mobile/list/IListDelegate.js +5 -9
  1266. package/source/class/qx/ui/mobile/list/List.js +172 -183
  1267. package/source/class/qx/ui/mobile/list/provider/Provider.js +58 -65
  1268. package/source/class/qx/ui/mobile/list/renderer/Abstract.js +54 -82
  1269. package/source/class/qx/ui/mobile/list/renderer/Default.js +39 -55
  1270. package/source/class/qx/ui/mobile/list/renderer/group/Abstract.js +20 -33
  1271. package/source/class/qx/ui/mobile/list/renderer/group/Default.js +29 -45
  1272. package/source/class/qx/ui/mobile/navigationbar/BackButton.js +11 -15
  1273. package/source/class/qx/ui/mobile/navigationbar/Button.js +11 -15
  1274. package/source/class/qx/ui/mobile/navigationbar/NavigationBar.js +23 -29
  1275. package/source/class/qx/ui/mobile/navigationbar/Title.js +12 -20
  1276. package/source/class/qx/ui/mobile/page/Manager.js +195 -169
  1277. package/source/class/qx/ui/mobile/page/NavigationPage.js +132 -196
  1278. package/source/class/qx/ui/mobile/page/Page.js +109 -148
  1279. package/source/class/qx/ui/mobile/tabbar/TabBar.js +41 -62
  1280. package/source/class/qx/ui/mobile/tabbar/TabButton.js +19 -28
  1281. package/source/class/qx/ui/mobile/toolbar/Button.js +7 -11
  1282. package/source/class/qx/ui/mobile/toolbar/Separator.js +11 -15
  1283. package/source/class/qx/ui/mobile/toolbar/ToolBar.js +30 -39
  1284. package/source/class/qx/ui/popup/Manager.js +41 -53
  1285. package/source/class/qx/ui/popup/Popup.js +22 -47
  1286. package/source/class/qx/ui/popup/__init__.js +32 -32
  1287. package/source/class/qx/ui/progressive/Progressive.js +96 -137
  1288. package/source/class/qx/ui/progressive/State.js +12 -19
  1289. package/source/class/qx/ui/progressive/headfoot/Abstract.js +10 -15
  1290. package/source/class/qx/ui/progressive/headfoot/Null.js +4 -7
  1291. package/source/class/qx/ui/progressive/headfoot/Progress.js +67 -69
  1292. package/source/class/qx/ui/progressive/headfoot/TableHeading.js +42 -54
  1293. package/source/class/qx/ui/progressive/model/Abstract.js +8 -15
  1294. package/source/class/qx/ui/progressive/model/Default.js +17 -29
  1295. package/source/class/qx/ui/progressive/renderer/Abstract.js +6 -11
  1296. package/source/class/qx/ui/progressive/renderer/FunctionCaller.js +4 -7
  1297. package/source/class/qx/ui/progressive/renderer/table/Row.js +215 -242
  1298. package/source/class/qx/ui/progressive/renderer/table/Widths.js +32 -47
  1299. package/source/class/qx/ui/progressive/renderer/table/cell/Abstract.js +17 -24
  1300. package/source/class/qx/ui/progressive/renderer/table/cell/Boolean.js +68 -79
  1301. package/source/class/qx/ui/progressive/renderer/table/cell/Conditional.js +146 -199
  1302. package/source/class/qx/ui/progressive/renderer/table/cell/Default.js +14 -32
  1303. package/source/class/qx/ui/progressive/renderer/table/cell/Html.js +2 -3
  1304. package/source/class/qx/ui/progressive/renderer/table/cell/Icon.js +38 -53
  1305. package/source/class/qx/ui/progressive/renderer/table/cell/Image.js +20 -42
  1306. package/source/class/qx/ui/progressive/renderer/table/cell/String.js +6 -12
  1307. package/source/class/qx/ui/progressive/structure/Abstract.js +14 -26
  1308. package/source/class/qx/ui/progressive/structure/Default.js +20 -40
  1309. package/source/class/qx/ui/root/Abstract.js +73 -90
  1310. package/source/class/qx/ui/root/Application.js +57 -61
  1311. package/source/class/qx/ui/root/Inline.js +78 -64
  1312. package/source/class/qx/ui/root/Page.js +25 -46
  1313. package/source/class/qx/ui/splitpane/Blocker.js +23 -30
  1314. package/source/class/qx/ui/splitpane/HLayout.js +53 -49
  1315. package/source/class/qx/ui/splitpane/Pane.js +115 -150
  1316. package/source/class/qx/ui/splitpane/Slider.js +9 -15
  1317. package/source/class/qx/ui/splitpane/Splitter.js +27 -46
  1318. package/source/class/qx/ui/splitpane/VLayout.js +53 -49
  1319. package/source/class/qx/ui/style/Stylesheet.js +12 -19
  1320. package/source/class/qx/ui/table/ICellEditorFactory.js +4 -8
  1321. package/source/class/qx/ui/table/ICellRenderer.js +3 -7
  1322. package/source/class/qx/ui/table/IColumnMenuButton.js +6 -11
  1323. package/source/class/qx/ui/table/IColumnMenuItem.js +5 -8
  1324. package/source/class/qx/ui/table/IHeaderRenderer.js +4 -8
  1325. package/source/class/qx/ui/table/IRowRenderer.js +6 -12
  1326. package/source/class/qx/ui/table/ITableModel.js +23 -41
  1327. package/source/class/qx/ui/table/MTableContextMenu.js +25 -28
  1328. package/source/class/qx/ui/table/Table.js +573 -743
  1329. package/source/class/qx/ui/table/celleditor/AbstractField.js +16 -26
  1330. package/source/class/qx/ui/table/celleditor/CheckBox.js +15 -16
  1331. package/source/class/qx/ui/table/celleditor/ComboBox.js +24 -34
  1332. package/source/class/qx/ui/table/celleditor/Dynamic.js +25 -32
  1333. package/source/class/qx/ui/table/celleditor/PasswordField.js +4 -8
  1334. package/source/class/qx/ui/table/celleditor/SelectBox.js +29 -38
  1335. package/source/class/qx/ui/table/celleditor/TextField.js +9 -14
  1336. package/source/class/qx/ui/table/cellrenderer/Abstract.js +79 -72
  1337. package/source/class/qx/ui/table/cellrenderer/AbstractImage.js +71 -86
  1338. package/source/class/qx/ui/table/cellrenderer/Boolean.js +36 -50
  1339. package/source/class/qx/ui/table/cellrenderer/Conditional.js +74 -63
  1340. package/source/class/qx/ui/table/cellrenderer/Date.js +12 -22
  1341. package/source/class/qx/ui/table/cellrenderer/Debug.js +9 -9
  1342. package/source/class/qx/ui/table/cellrenderer/Default.js +30 -52
  1343. package/source/class/qx/ui/table/cellrenderer/Dynamic.js +13 -24
  1344. package/source/class/qx/ui/table/cellrenderer/Html.js +6 -8
  1345. package/source/class/qx/ui/table/cellrenderer/Image.js +13 -26
  1346. package/source/class/qx/ui/table/cellrenderer/Number.js +13 -24
  1347. package/source/class/qx/ui/table/cellrenderer/Password.js +8 -11
  1348. package/source/class/qx/ui/table/cellrenderer/Replace.js +27 -42
  1349. package/source/class/qx/ui/table/cellrenderer/String.js +5 -7
  1350. package/source/class/qx/ui/table/columnmenu/Button.js +19 -29
  1351. package/source/class/qx/ui/table/columnmenu/MenuItem.js +11 -19
  1352. package/source/class/qx/ui/table/columnmenu/__init__.js +4 -4
  1353. package/source/class/qx/ui/table/columnmenu/grid/__init__.js +4 -4
  1354. package/source/class/qx/ui/table/columnmenu/simple/__init__.js +4 -4
  1355. package/source/class/qx/ui/table/columnmodel/Basic.js +193 -215
  1356. package/source/class/qx/ui/table/columnmodel/Resize.js +65 -111
  1357. package/source/class/qx/ui/table/columnmodel/resizebehavior/Abstract.js +17 -24
  1358. package/source/class/qx/ui/table/columnmodel/resizebehavior/Default.js +66 -117
  1359. package/source/class/qx/ui/table/headerrenderer/Default.js +25 -46
  1360. package/source/class/qx/ui/table/headerrenderer/HeaderCell.js +39 -51
  1361. package/source/class/qx/ui/table/headerrenderer/Icon.js +11 -27
  1362. package/source/class/qx/ui/table/model/Abstract.js +52 -62
  1363. package/source/class/qx/ui/table/model/Filtered.js +121 -153
  1364. package/source/class/qx/ui/table/model/Remote.js +166 -271
  1365. package/source/class/qx/ui/table/model/Simple.js +215 -250
  1366. package/source/class/qx/ui/table/pane/CellEvent.js +25 -32
  1367. package/source/class/qx/ui/table/pane/Clipper.js +8 -12
  1368. package/source/class/qx/ui/table/pane/FocusIndicator.js +42 -48
  1369. package/source/class/qx/ui/table/pane/Header.js +48 -86
  1370. package/source/class/qx/ui/table/pane/Model.js +80 -97
  1371. package/source/class/qx/ui/table/pane/Pane.js +129 -189
  1372. package/source/class/qx/ui/table/pane/Scroller.js +542 -663
  1373. package/source/class/qx/ui/table/rowrenderer/Default.js +76 -87
  1374. package/source/class/qx/ui/table/selection/Manager.js +23 -57
  1375. package/source/class/qx/ui/table/selection/Model.js +89 -179
  1376. package/source/class/qx/ui/tabview/Page.js +69 -74
  1377. package/source/class/qx/ui/tabview/TabButton.js +45 -72
  1378. package/source/class/qx/ui/tabview/TabView.js +96 -140
  1379. package/source/class/qx/ui/toolbar/Button.js +13 -43
  1380. package/source/class/qx/ui/toolbar/CheckBox.js +12 -43
  1381. package/source/class/qx/ui/toolbar/MenuButton.js +18 -34
  1382. package/source/class/qx/ui/toolbar/Part.js +42 -64
  1383. package/source/class/qx/ui/toolbar/PartContainer.js +19 -28
  1384. package/source/class/qx/ui/toolbar/RadioButton.js +29 -15
  1385. package/source/class/qx/ui/toolbar/Separator.js +15 -25
  1386. package/source/class/qx/ui/toolbar/SplitButton.js +18 -55
  1387. package/source/class/qx/ui/toolbar/ToolBar.js +185 -232
  1388. package/source/class/qx/ui/tooltip/Manager.js +125 -123
  1389. package/source/class/qx/ui/tooltip/ToolTip.js +49 -79
  1390. package/source/class/qx/ui/tooltip/__init__.js +23 -23
  1391. package/source/class/qx/ui/tree/Tree.js +95 -148
  1392. package/source/class/qx/ui/tree/TreeFile.js +8 -15
  1393. package/source/class/qx/ui/tree/TreeFolder.js +8 -15
  1394. package/source/class/qx/ui/tree/VirtualTree.js +207 -333
  1395. package/source/class/qx/ui/tree/VirtualTreeItem.js +30 -45
  1396. package/source/class/qx/ui/tree/__init__.js +50 -50
  1397. package/source/class/qx/ui/tree/core/AbstractItem.js +98 -152
  1398. package/source/class/qx/ui/tree/core/AbstractTreeItem.js +83 -137
  1399. package/source/class/qx/ui/tree/core/FolderOpenButton.js +15 -34
  1400. package/source/class/qx/ui/tree/core/IVirtualTree.js +13 -33
  1401. package/source/class/qx/ui/tree/core/IVirtualTreeDelegate.js +9 -16
  1402. package/source/class/qx/ui/tree/core/MWidgetController.js +58 -69
  1403. package/source/class/qx/ui/tree/core/OpenCloseController.js +29 -35
  1404. package/source/class/qx/ui/tree/core/Util.js +12 -16
  1405. package/source/class/qx/ui/tree/provider/IVirtualTreeProvider.js +10 -23
  1406. package/source/class/qx/ui/tree/provider/WidgetProvider.js +39 -67
  1407. package/source/class/qx/ui/tree/selection/SelectionManager.js +27 -41
  1408. package/source/class/qx/ui/treevirtual/DefaultDataCellRenderer.js +2 -3
  1409. package/source/class/qx/ui/treevirtual/MFamily.js +26 -63
  1410. package/source/class/qx/ui/treevirtual/MNode.js +43 -103
  1411. package/source/class/qx/ui/treevirtual/MTreePrimitive.js +41 -52
  1412. package/source/class/qx/ui/treevirtual/SelectionManager.js +44 -58
  1413. package/source/class/qx/ui/treevirtual/SimpleTreeDataCellRenderer.js +172 -229
  1414. package/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js +256 -367
  1415. package/source/class/qx/ui/treevirtual/SimpleTreeDataRowRenderer.js +8 -18
  1416. package/source/class/qx/ui/treevirtual/TreeVirtual.js +155 -250
  1417. package/source/class/qx/ui/treevirtual/celleditor/NodeEditor.js +10 -16
  1418. package/source/class/qx/ui/treevirtual/pane/Scroller.js +14 -11
  1419. package/source/class/qx/ui/virtual/__init__.js +4 -4
  1420. package/source/class/qx/ui/virtual/behavior/Prefetch.js +71 -86
  1421. package/source/class/qx/ui/virtual/cell/Abstract.js +18 -27
  1422. package/source/class/qx/ui/virtual/cell/AbstractImage.js +42 -51
  1423. package/source/class/qx/ui/virtual/cell/AbstractWidget.js +25 -49
  1424. package/source/class/qx/ui/virtual/cell/Boolean.js +31 -44
  1425. package/source/class/qx/ui/virtual/cell/Cell.js +143 -183
  1426. package/source/class/qx/ui/virtual/cell/CellStylesheet.js +31 -38
  1427. package/source/class/qx/ui/virtual/cell/Date.js +15 -24
  1428. package/source/class/qx/ui/virtual/cell/Html.js +9 -20
  1429. package/source/class/qx/ui/virtual/cell/ICell.js +4 -6
  1430. package/source/class/qx/ui/virtual/cell/IWidgetCell.js +7 -12
  1431. package/source/class/qx/ui/virtual/cell/IWidgetCellDelegate.js +4 -6
  1432. package/source/class/qx/ui/virtual/cell/Image.js +8 -14
  1433. package/source/class/qx/ui/virtual/cell/Number.js +14 -23
  1434. package/source/class/qx/ui/virtual/cell/String.js +11 -20
  1435. package/source/class/qx/ui/virtual/cell/WidgetCell.js +13 -16
  1436. package/source/class/qx/ui/virtual/cell/__init__.js +4 -4
  1437. package/source/class/qx/ui/virtual/core/Axis.js +75 -103
  1438. package/source/class/qx/ui/virtual/core/CellEvent.js +23 -31
  1439. package/source/class/qx/ui/virtual/core/IHtmlCellProvider.js +4 -6
  1440. package/source/class/qx/ui/virtual/core/ILayer.js +5 -15
  1441. package/source/class/qx/ui/virtual/core/IWidgetCellProvider.js +5 -7
  1442. package/source/class/qx/ui/virtual/core/Pane.js +199 -242
  1443. package/source/class/qx/ui/virtual/core/Scroller.js +25 -43
  1444. package/source/class/qx/ui/virtual/layer/Abstract.js +44 -83
  1445. package/source/class/qx/ui/virtual/layer/AbstractBackground.js +47 -68
  1446. package/source/class/qx/ui/virtual/layer/CellSpanManager.js +74 -96
  1447. package/source/class/qx/ui/virtual/layer/Column.js +26 -36
  1448. package/source/class/qx/ui/virtual/layer/GridLines.js +43 -70
  1449. package/source/class/qx/ui/virtual/layer/HtmlCell.js +34 -32
  1450. package/source/class/qx/ui/virtual/layer/HtmlCellSpan.js +54 -56
  1451. package/source/class/qx/ui/virtual/layer/Row.js +28 -36
  1452. package/source/class/qx/ui/virtual/layer/WidgetCell.js +87 -123
  1453. package/source/class/qx/ui/virtual/layer/WidgetCellSpan.js +123 -124
  1454. package/source/class/qx/ui/virtual/selection/Abstract.js +26 -54
  1455. package/source/class/qx/ui/virtual/selection/CellLines.js +11 -21
  1456. package/source/class/qx/ui/virtual/selection/CellRectangle.js +45 -73
  1457. package/source/class/qx/ui/virtual/selection/Column.js +16 -35
  1458. package/source/class/qx/ui/virtual/selection/ISelectionDelegate.js +5 -9
  1459. package/source/class/qx/ui/virtual/selection/MModel.js +84 -122
  1460. package/source/class/qx/ui/virtual/selection/Row.js +29 -61
  1461. package/source/class/qx/ui/website/Accordion.js +39 -42
  1462. package/source/class/qx/ui/website/Button.js +17 -25
  1463. package/source/class/qx/ui/website/Calendar.js +243 -172
  1464. package/source/class/qx/ui/website/Carousel.js +169 -155
  1465. package/source/class/qx/ui/website/DatePicker.js +99 -85
  1466. package/source/class/qx/ui/website/Rating.js +35 -53
  1467. package/source/class/qx/ui/website/Slider.js +174 -153
  1468. package/source/class/qx/ui/website/Table.js +482 -456
  1469. package/source/class/qx/ui/website/Tabs.js +225 -180
  1470. package/source/class/qx/ui/website/Widget.js +39 -52
  1471. package/source/class/qx/ui/window/Desktop.js +14 -12
  1472. package/source/class/qx/ui/window/IDesktop.js +8 -10
  1473. package/source/class/qx/ui/window/IWindowManager.js +7 -9
  1474. package/source/class/qx/ui/window/MDesktop.js +34 -62
  1475. package/source/class/qx/ui/window/Manager.js +31 -57
  1476. package/source/class/qx/ui/window/Window.js +256 -349
  1477. package/source/class/qx/util/AliasManager.js +23 -42
  1478. package/source/class/qx/util/Animation.js +248 -191
  1479. package/source/class/qx/util/Base64.js +144 -89
  1480. package/source/class/qx/util/ColorUtil.js +253 -287
  1481. package/source/class/qx/util/DeferredCall.js +21 -30
  1482. package/source/class/qx/util/DeferredCallManager.js +23 -44
  1483. package/source/class/qx/util/Delegate.js +4 -10
  1484. package/source/class/qx/util/DisposeUtil.js +76 -70
  1485. package/source/class/qx/util/DynamicScriptLoader.js +83 -66
  1486. package/source/class/qx/util/EditDistance.js +64 -58
  1487. package/source/class/qx/util/ExtendedColor.js +157 -163
  1488. package/source/class/qx/util/Function.js +8 -8
  1489. package/source/class/qx/util/LibraryManager.js +11 -18
  1490. package/source/class/qx/util/OOUtil.js +17 -36
  1491. package/source/class/qx/util/ObjectPool.js +19 -45
  1492. package/source/class/qx/util/Permutation.js +9 -16
  1493. package/source/class/qx/util/PropertyUtil.js +58 -70
  1494. package/source/class/qx/util/Request.js +27 -16
  1495. package/source/class/qx/util/ResourceManager.js +103 -104
  1496. package/source/class/qx/util/ResponseParser.js +14 -21
  1497. package/source/class/qx/util/RingBuffer.js +46 -48
  1498. package/source/class/qx/util/Serializer.js +103 -68
  1499. package/source/class/qx/util/StringBuilder.js +11 -22
  1500. package/source/class/qx/util/StringEscape.js +15 -29
  1501. package/source/class/qx/util/StringSplit.js +18 -21
  1502. package/source/class/qx/util/TimerManager.js +61 -70
  1503. package/source/class/qx/util/Uri.js +42 -30
  1504. package/source/class/qx/util/Uuid.js +50 -35
  1505. package/source/class/qx/util/Validate.js +88 -73
  1506. package/source/class/qx/util/ValueManager.js +17 -29
  1507. package/source/class/qx/util/Wheel.js +22 -16
  1508. package/source/class/qx/util/format/DateFormat.js +853 -763
  1509. package/source/class/qx/util/format/IFormat.js +4 -8
  1510. package/source/class/qx/util/format/NumberFormat.js +84 -91
  1511. package/source/class/qx/util/fsm/FiniteStateMachine.js +323 -382
  1512. package/source/class/qx/util/fsm/State.js +210 -249
  1513. package/source/class/qx/util/fsm/Transition.js +138 -160
  1514. package/source/class/qx/util/placement/AbstractAxis.js +12 -14
  1515. package/source/class/qx/util/placement/BestFitAxis.js +5 -8
  1516. package/source/class/qx/util/placement/DirectAxis.js +5 -7
  1517. package/source/class/qx/util/placement/KeepAlignAxis.js +8 -14
  1518. package/source/class/qx/util/placement/Placement.js +39 -56
  1519. package/source/class/qx/util/placement/__init__.js +4 -4
  1520. package/source/class/qx/xml/Document.js +21 -34
  1521. package/source/class/qx/xml/Element.js +90 -73
  1522. package/source/class/qx/xml/String.js +15 -21
  1523. package/source/class/qxWeb.js +104 -69
  1524. package/source/resource/qx/decoration/Indigo/font/JosefinSlab-SemiBold.ttf +0 -0
  1525. package/source/resource/qx/decoration/Indigo/font/SIL Open Font License 1.1.txt +0 -0
  1526. package/source/resource/qx/iconfont/MaterialIcons/fetch-fonts.sh +0 -0
  1527. package/source/resource/qx/mobile/js/iscroll.js +1328 -982
  1528. package/source/resource/qx/mobile/js/iscroll.min.js +1081 -1
  1529. package/source/resource/qx/mobile/scss/common/_gradients.scss +3 -1
  1530. package/source/resource/qx/mobile/scss/theme/indigo/_styles.scss +1 -1
  1531. package/source/resource/qx/mobile/scss/ui/_carousel.scss +2 -2
  1532. package/source/resource/qx/mobile/scss/ui/_checkbox.scss +3 -3
  1533. package/source/resource/qx/mobile/scss/ui/_collapsible.scss +2 -2
  1534. package/source/resource/qx/mobile/scss/ui/_picker.scss +4 -4
  1535. package/source/resource/qx/mobile/scss/ui/_radiobutton.scss +4 -4
  1536. package/source/resource/qx/mobile/scss/ui/_slider.scss +7 -7
  1537. package/source/resource/qx/scss/_gradients.scss +3 -1
  1538. package/source/resource/qx/scss/_mixins.scss +4 -2
  1539. package/source/resource/qx/test/dynamicscriptloader/first.js +1 -1
  1540. package/source/resource/qx/test/dynamicscriptloader/second.js +1 -1
  1541. package/source/resource/qx/test/dynamicscriptloader/third.js +1 -1
  1542. package/source/resource/qx/test/script.js +1 -1
  1543. package/source/resource/qx/test/webworker.js +2 -2
  1544. package/source/resource/qx/tool/bin/build-devtools +0 -0
  1545. package/source/resource/qx/tool/bin/build-website +0 -0
  1546. package/source/resource/qx/tool/bin/download-assets +0 -0
  1547. package/source/resource/qx/tool/cli/templates/loader/loader-node.tmpl.js +3 -1
  1548. package/source/resource/qx/tool/cli/templates/skeleton/mobile/source/theme/custom/scss/_styles.scss +1 -1
  1549. package/source/resource/qx/tool/cli/templates/template_vars.js +1 -1
  1550. package/source/resource/qx/tool/loadsass.js +16 -21
  1551. package/source/resource/qx/tool/schema/Manifest-1-0-0.json +1 -2
  1552. package/source/resource/qx/tool/schema/Manifest-2-0-0.json +1 -2
  1553. package/source/resource/qx/tool/schema/compile-1-0-0.json +16 -20
  1554. package/source/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
  1555. package/source/resource/qx/tool/website/build/assets/buttons.js +391 -1
  1556. package/source/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
  1557. package/source/resource/qx/tool/website/build/assets/jquery.js +5452 -3
  1558. package/source/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
  1559. package/source/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
  1560. package/source/resource/qx/tool/website/build/scripts/serve.js +87 -66
  1561. package/source/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
  1562. package/source/resource/qx/tool/website/src/assets/buttons.js +391 -1
  1563. package/source/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
  1564. package/source/resource/qx/tool/website/src/assets/jquery.js +5452 -3
  1565. package/source/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
  1566. package/source/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
  1567. package/source/resource/qx/tool/website/src/scripts/serve.js +87 -66
  1568. package/source/resource/qx/website/scss/ui/_carousel.scss +2 -2
  1569. package/source/translation/hr.po +297 -0
  1570. package/lib/resource/qx/static/blank.gif +0 -0
  1571. package/lib/resource/qx/tool/website/.gitignore +0 -2
  1572. package/source/class/qx/io/remote/Exchange.js +0 -1063
  1573. package/source/class/qx/io/remote/Request.js +0 -1021
  1574. package/source/class/qx/io/remote/RequestQueue.js +0 -521
  1575. package/source/class/qx/io/remote/Response.js +0 -137
  1576. package/source/class/qx/io/remote/Rpc.js +0 -1075
  1577. package/source/class/qx/io/remote/RpcError.js +0 -198
  1578. package/source/class/qx/io/remote/__init__.js +0 -88
  1579. package/source/class/qx/io/remote/transport/Abstract.js +0 -513
  1580. package/source/class/qx/io/remote/transport/Iframe.js +0 -652
  1581. package/source/class/qx/io/remote/transport/Script.js +0 -475
  1582. package/source/class/qx/io/remote/transport/XmlHttp.js +0 -1019
  1583. package/source/class/qx/io/remote/transport/__init__.js +0 -3
  1584. package/source/class/qx/io/request/auth/.gitignore +0 -0
  1585. package/source/class/qx/test/bom/client/.gitignore +0 -0
  1586. package/source/class/qx/test/io/remote/AbstractRequest.js +0 -150
  1587. package/source/class/qx/test/io/remote/RequestIframe.js +0 -105
  1588. package/source/class/qx/test/io/remote/RequestXhr.js +0 -151
  1589. package/source/class/qx/test/io/remote/Rpc.js +0 -205
  1590. package/source/class/qx/test/io/remote/__init__.js +0 -4
  1591. package/source/class/qx/test/io/remote/transport/Iframe.js +0 -67
  1592. package/source/class/qx/test/io/remote/transport/XmlHttp.js +0 -133
  1593. package/source/class/qx/test/io/remote/transport/__init__.js +0 -4
  1594. package/source/class/qx/test/ui/control/.gitignore +0 -0
  1595. package/source/resource/qx/decoration/Modern/treevirtual/.gitignore +0 -0
  1596. package/source/resource/qx/mobile/css/.gitignore +0 -3
  1597. package/source/resource/qx/tool/website/.gitignore +0 -2
  1598. package/source/resource/qx/website/.gitignore +0 -1
  1599. package/source/resource/qx/website/scss/.gitignore +0 -1
@@ -60,8 +60,8 @@
60
60
  *
61
61
  * By using <code>qx.Class</code> within an app, the native JS data types are
62
62
  * conveniently polyfilled according to {@link qx.lang.normalize}.
63
- *
64
- * Annotations can be added to classes, constructors, destructors, and methods, properties, and statics -
63
+ *
64
+ * Annotations can be added to classes, constructors, destructors, and methods, properties, and statics -
65
65
  * see <code>qx.Annotation</code> for examples and means access annotations at runtime.
66
66
  *
67
67
  * @require(qx.Interface)
@@ -74,15 +74,15 @@
74
74
  * @require(qx.lang.normalize.Object)
75
75
  * @require(qx.lang.normalize.Number)
76
76
  */
77
- qx.Bootstrap.define("qx.Class",
78
- {
79
- statics :
80
- {
77
+ qx.Bootstrap.define("qx.Class", {
78
+ statics: {
81
79
  /**
82
80
  * A static reference to the property implementation in the case it
83
81
  * should be included.
84
82
  */
85
- __Property : qx.core.Environment.get("module.property") ? qx.core.Property : null,
83
+ __Property: qx.core.Environment.get("module.property")
84
+ ? qx.core.Property
85
+ : null,
86
86
 
87
87
  /*
88
88
  ---------------------------------------------------------------------------
@@ -158,35 +158,41 @@ qx.Bootstrap.define("qx.Class",
158
158
  * </table>
159
159
  * @return {Class} The defined class
160
160
  */
161
- define: function(name, config) {
161
+ define(name, config) {
162
162
  try {
163
163
  return this.__defineImpl(name, config);
164
- } catch(ex) {
164
+ } catch (ex) {
165
165
  qx.Class.$$brokenClassDefinitions = true;
166
166
  throw ex;
167
167
  }
168
168
  },
169
169
 
170
170
  /**
171
- * Implementation behind `define` - this exists just for the simplicity of wrapping an exception
171
+ * Implementation behind `define` - this exists just for the simplicity of wrapping an exception
172
172
  * handler around the code
173
- *
173
+ *
174
174
  * @param {String} name @see `define()`
175
175
  * @param {*} config @see `define()`
176
176
  * @returns @see `define()`
177
177
  */
178
- __defineImpl: function(name, config) {
178
+ __defineImpl(name, config) {
179
179
  if (!config) {
180
180
  config = {};
181
181
  }
182
182
 
183
183
  // Normalize include to array
184
- if (config.include && !(qx.Bootstrap.getClass(config.include) === "Array")) {
184
+ if (
185
+ config.include &&
186
+ !(qx.Bootstrap.getClass(config.include) === "Array")
187
+ ) {
185
188
  config.include = [config.include];
186
189
  }
187
190
 
188
191
  // Normalize implement to array
189
- if (config.implement && !(qx.Bootstrap.getClass(config.implement) === "Array")) {
192
+ if (
193
+ config.implement &&
194
+ !(qx.Bootstrap.getClass(config.implement) === "Array")
195
+ ) {
190
196
  config.implement = [config.implement];
191
197
  }
192
198
 
@@ -201,25 +207,34 @@ qx.Bootstrap.define("qx.Class",
201
207
  if (qx.core.Environment.get("qx.debug")) {
202
208
  try {
203
209
  this.__validateConfig(name, config);
204
- } catch(ex) {
210
+ } catch (ex) {
205
211
  if (implicitType) {
206
- ex.message = 'Assumed static class because no "extend" key was found. ' + ex.message;
212
+ ex.message =
213
+ 'Assumed static class because no "extend" key was found. ' +
214
+ ex.message;
207
215
  }
208
216
  throw ex;
209
217
  }
210
218
  }
211
219
 
212
220
  // Create the class
213
- var clazz = this.__createClass(name, config.type, config.extend, config.statics, config.construct, config.destruct, config.include);
214
-
221
+ var clazz = this.__createClass(
222
+ name,
223
+ config.type,
224
+ config.extend,
225
+ config.statics,
226
+ config.construct,
227
+ config.destruct,
228
+ config.include
229
+ );
230
+
215
231
  // Initialise class and constructor/destructor annotations
216
- [ "@", "@construct", "@destruct" ].forEach(function(id) {
232
+ ["@", "@construct", "@destruct"].forEach(function (id) {
217
233
  this.__attachAnno(clazz, id, null, config[id]);
218
234
  }, this);
219
235
 
220
236
  // Members, properties, events and mixins are only allowed for non-static classes
221
- if (config.extend)
222
- {
237
+ if (config.extend) {
223
238
  // Attach properties
224
239
  if (config.properties) {
225
240
  this.__addProperties(clazz, config.properties, true);
@@ -237,73 +252,65 @@ qx.Bootstrap.define("qx.Class",
237
252
 
238
253
  // Include mixins
239
254
  // Must be the last here to detect conflicts
240
- if (config.include)
241
- {
242
- for (var i=0, l=config.include.length; i<l; i++) {
255
+ if (config.include) {
256
+ for (var i = 0, l = config.include.length; i < l; i++) {
243
257
  this.__addMixin(clazz, config.include[i], false);
244
258
  }
245
259
  }
246
260
  }
247
261
  // If config has a 'extend' key but it's null or undefined
248
- else if (config.hasOwnProperty('extend') && qx.core.Environment.get("qx.debug"))
249
- {
250
- throw new Error('"extend" parameter is null or undefined');
262
+ else if (
263
+ config.hasOwnProperty("extend") &&
264
+ qx.core.Environment.get("qx.debug")
265
+ ) {
266
+ throw new Error('"extend" parameter is null or undefined');
251
267
  }
252
268
 
253
269
  // Process environment
254
- if (config.environment)
255
- {
270
+ if (config.environment) {
256
271
  for (var key in config.environment) {
257
272
  qx.core.Environment.add(key, config.environment[key]);
258
273
  }
259
274
  }
260
275
 
261
276
  // Interface support for non-static classes
262
- if (config.implement)
263
- {
264
- for (var i=0, l=config.implement.length; i<l; i++) {
277
+ if (config.implement) {
278
+ for (var i = 0, l = config.implement.length; i < l; i++) {
265
279
  this.__addInterface(clazz, config.implement[i]);
266
280
  }
267
281
  }
268
282
 
269
-
270
283
  if (qx.core.Environment.get("qx.debug")) {
271
284
  this.__validateAbstractInterfaces(clazz);
272
285
  }
273
286
 
274
-
275
287
  // Process defer
276
- if (config.defer)
277
- {
288
+ if (config.defer) {
278
289
  config.defer.self = clazz;
279
- qx.Bootstrap.addPendingDefer(clazz, function() {
290
+ qx.Bootstrap.addPendingDefer(clazz, function () {
280
291
  clazz = qx.Class.getByName(clazz.classname);
281
- config.defer(clazz, clazz.prototype,
282
- {
283
- add : function(name, config)
284
- {
285
- // build pseudo properties map
286
- var properties = {};
287
- properties[name] = config;
288
-
289
- // execute generic property handler
290
- qx.Class.__addProperties(clazz, properties, true);
291
- }
292
- });
292
+ config.defer(clazz, clazz.prototype, {
293
+ add(name, config) {
294
+ // build pseudo properties map
295
+ var properties = {};
296
+ properties[name] = config;
297
+
298
+ // execute generic property handler
299
+ qx.Class.__addProperties(clazz, properties, true);
300
+ }
301
+ });
293
302
  });
294
303
  }
295
304
 
296
305
  return clazz;
297
306
  },
298
307
 
299
-
300
308
  /**
301
309
  * Removes a class from qooxdoo defined by {@link #define}
302
310
  *
303
311
  * @param name {String} Name of the class
304
312
  */
305
- undefine : function(name)
306
- {
313
+ undefine(name) {
307
314
  // first, delete the class from the registry
308
315
  delete this.$$registry[name];
309
316
  // delete the class reference from the namespaces and all empty namespaces
@@ -319,9 +326,10 @@ qx.Bootstrap.define("qx.Class",
319
326
  var last = objects[i];
320
327
  var parent = objects[i - 1];
321
328
  if (
322
- // The class being undefined, but parent classes in case it is a nested class that is being undefined
323
- (i == objects.length - 1 && qx.Bootstrap.isFunction(last)) ||
324
- qx.Bootstrap.objectGetLength(last) === 0) {
329
+ // The class being undefined, but parent classes in case it is a nested class that is being undefined
330
+ (i == objects.length - 1 && qx.Bootstrap.isFunction(last)) ||
331
+ qx.Bootstrap.objectGetLength(last) === 0
332
+ ) {
325
333
  delete parent[ns[i - 1]];
326
334
  } else {
327
335
  break;
@@ -329,7 +337,6 @@ qx.Bootstrap.define("qx.Class",
329
337
  }
330
338
  },
331
339
 
332
-
333
340
  /**
334
341
  * Whether the given class exists
335
342
  *
@@ -337,19 +344,17 @@ qx.Bootstrap.define("qx.Class",
337
344
  * @param name {String} class name to check
338
345
  * @return {Boolean} true if class exists
339
346
  */
340
- isDefined : qx.util.OOUtil.classIsDefined,
341
-
347
+ isDefined: qx.util.OOUtil.classIsDefined,
342
348
 
343
349
  /**
344
350
  * Determine the total number of classes
345
351
  *
346
352
  * @return {Number} the total number of classes
347
353
  */
348
- getTotalNumber : function() {
354
+ getTotalNumber() {
349
355
  return qx.Bootstrap.objectGetLength(this.$$registry);
350
356
  },
351
357
 
352
-
353
358
  /**
354
359
  * Find a class by its name
355
360
  *
@@ -357,8 +362,7 @@ qx.Bootstrap.define("qx.Class",
357
362
  * @param name {String} class name to resolve
358
363
  * @return {Class} the class
359
364
  */
360
- getByName : qx.Bootstrap.getByName,
361
-
365
+ getByName: qx.Bootstrap.getByName,
362
366
 
363
367
  /**
364
368
  * Include all features of the given mixin into the class. The mixin must
@@ -368,12 +372,14 @@ qx.Bootstrap.define("qx.Class",
368
372
  * @param clazz {Class} An existing class which should be augmented by including a mixin.
369
373
  * @param mixin {Mixin} The mixin to be included.
370
374
  */
371
- include : function(clazz, mixin)
372
- {
373
- if (qx.core.Environment.get("qx.debug"))
374
- {
375
+ include(clazz, mixin) {
376
+ if (qx.core.Environment.get("qx.debug")) {
375
377
  if (!mixin) {
376
- throw new Error("The mixin to include into class '" + clazz.classname + "' is undefined/null!");
378
+ throw new Error(
379
+ "The mixin to include into class '" +
380
+ clazz.classname +
381
+ "' is undefined/null!"
382
+ );
377
383
  }
378
384
 
379
385
  qx.Mixin.isCompatible(mixin, clazz);
@@ -382,7 +388,6 @@ qx.Bootstrap.define("qx.Class",
382
388
  qx.Class.__addMixin(clazz, mixin, false);
383
389
  },
384
390
 
385
-
386
391
  /**
387
392
  * Include all features of the given mixin into the class. The mixin may
388
393
  * include features, which are already defined in the target class. Existing
@@ -390,19 +395,21 @@ qx.Bootstrap.define("qx.Class",
390
395
  * Please keep in mind that this functionality is not intended for regular
391
396
  * use, but as a formalized way (and a last resort) in order to patch
392
397
  * existing classes.
393
- *
398
+ *
394
399
  * <b>WARNING</b>: You may break working classes and features.
395
400
  *
396
401
  * @param clazz {Class} An existing class which should be modified by including a mixin.
397
402
  * @param mixin {Mixin} The mixin to be included.
398
403
  * @return {Class} the new class definition
399
404
  */
400
- patch : function(clazz, mixin)
401
- {
402
- if (qx.core.Environment.get("qx.debug"))
403
- {
405
+ patch(clazz, mixin) {
406
+ if (qx.core.Environment.get("qx.debug")) {
404
407
  if (!mixin) {
405
- throw new Error("The mixin to patch class '" + clazz.classname + "' is undefined/null!");
408
+ throw new Error(
409
+ "The mixin to patch class '" +
410
+ clazz.classname +
411
+ "' is undefined/null!"
412
+ );
406
413
  }
407
414
 
408
415
  qx.Mixin.isCompatible(mixin, clazz);
@@ -411,19 +418,17 @@ qx.Bootstrap.define("qx.Class",
411
418
  qx.Class.__addMixin(clazz, mixin, true);
412
419
  return qx.Class.getByName(clazz.classname);
413
420
  },
414
-
415
-
421
+
416
422
  /**
417
423
  * Detects whether the object is a Class (and not an instance of a class)
418
- *
424
+ *
419
425
  * @param obj {Object?} the object to inspect
420
426
  * @return {Boolean} true if it is a class, false if it is anything else
421
427
  */
422
- isClass: function(obj) {
428
+ isClass(obj) {
423
429
  return obj && obj.$$type === "Class" && obj.constructor === obj;
424
430
  },
425
431
 
426
-
427
432
  /**
428
433
  * Whether a class is a direct or indirect sub class of another class,
429
434
  * or both classes coincide.
@@ -432,8 +437,7 @@ qx.Bootstrap.define("qx.Class",
432
437
  * @param superClass {Class} the potential super class
433
438
  * @return {Boolean} whether clazz is a sub class of superClass.
434
439
  */
435
- isSubClassOf : function(clazz, superClass)
436
- {
440
+ isSubClassOf(clazz, superClass) {
437
441
  if (!clazz) {
438
442
  return false;
439
443
  }
@@ -449,7 +453,6 @@ qx.Bootstrap.define("qx.Class",
449
453
  return false;
450
454
  },
451
455
 
452
-
453
456
  /**
454
457
  * Returns the definition of the given property. Returns null
455
458
  * if the property does not exist.
@@ -459,8 +462,7 @@ qx.Bootstrap.define("qx.Class",
459
462
  * @param name {String} name of the class to check for
460
463
  * @return {Map|null} whether the object support the given event.
461
464
  */
462
- getPropertyDefinition : qx.util.OOUtil.getPropertyDefinition,
463
-
465
+ getPropertyDefinition: qx.util.OOUtil.getPropertyDefinition,
464
466
 
465
467
  /**
466
468
  * Returns a list of all properties supported by the given class
@@ -468,12 +470,10 @@ qx.Bootstrap.define("qx.Class",
468
470
  * @param clazz {Class} Class to query
469
471
  * @return {String[]} List of all property names
470
472
  */
471
- getProperties : function(clazz)
472
- {
473
+ getProperties(clazz) {
473
474
  var list = [];
474
475
 
475
- while (clazz)
476
- {
476
+ while (clazz) {
477
477
  if (clazz.$$properties) {
478
478
  list.push.apply(list, Object.keys(clazz.$$properties));
479
479
  }
@@ -484,7 +484,6 @@ qx.Bootstrap.define("qx.Class",
484
484
  return list;
485
485
  },
486
486
 
487
-
488
487
  /**
489
488
  * Returns the class or one of its superclasses which contains the
490
489
  * declaration for the given property in its class definition. Returns null
@@ -494,10 +493,8 @@ qx.Bootstrap.define("qx.Class",
494
493
  * @param name {String} name of the property
495
494
  * @return {Class | null} The class which includes the property
496
495
  */
497
- getByProperty : function(clazz, name)
498
- {
499
- while (clazz)
500
- {
496
+ getByProperty(clazz, name) {
497
+ while (clazz) {
501
498
  if (clazz.$$properties && clazz.$$properties[name]) {
502
499
  return clazz;
503
500
  }
@@ -508,7 +505,6 @@ qx.Bootstrap.define("qx.Class",
508
505
  return null;
509
506
  },
510
507
 
511
-
512
508
  /**
513
509
  * Whether a class has the given property
514
510
  *
@@ -517,8 +513,7 @@ qx.Bootstrap.define("qx.Class",
517
513
  * @param name {String} name of the property to check for
518
514
  * @return {Boolean} whether the class includes the given property.
519
515
  */
520
- hasProperty : qx.util.OOUtil.hasProperty,
521
-
516
+ hasProperty: qx.util.OOUtil.hasProperty,
522
517
 
523
518
  /**
524
519
  * Returns the event type of the given event. Returns null if
@@ -529,8 +524,7 @@ qx.Bootstrap.define("qx.Class",
529
524
  * @param name {String} name of the event
530
525
  * @return {String|null} Event type of the given event.
531
526
  */
532
- getEventType : qx.util.OOUtil.getEventType,
533
-
527
+ getEventType: qx.util.OOUtil.getEventType,
534
528
 
535
529
  /**
536
530
  * Whether a class supports the given event type
@@ -540,8 +534,7 @@ qx.Bootstrap.define("qx.Class",
540
534
  * @param name {String} name of the event to check for
541
535
  * @return {Boolean} whether the class supports the given event.
542
536
  */
543
- supportsEvent : qx.util.OOUtil.supportsEvent,
544
-
537
+ supportsEvent: qx.util.OOUtil.supportsEvent,
545
538
 
546
539
  /**
547
540
  * Whether a class directly includes a mixin.
@@ -550,11 +543,10 @@ qx.Bootstrap.define("qx.Class",
550
543
  * @param mixin {Mixin} the mixin to check for
551
544
  * @return {Boolean} whether the class includes the mixin directly.
552
545
  */
553
- hasOwnMixin : function(clazz, mixin) {
546
+ hasOwnMixin(clazz, mixin) {
554
547
  return clazz.$$includes && clazz.$$includes.indexOf(mixin) !== -1;
555
548
  },
556
549
 
557
-
558
550
  /**
559
551
  * Returns the class or one of its superclasses which contains the
560
552
  * declaration for the given mixin. Returns null if the mixin is not
@@ -564,18 +556,14 @@ qx.Bootstrap.define("qx.Class",
564
556
  * @param mixin {Mixin} mixin to look for
565
557
  * @return {Class | null} The class which directly includes the given mixin
566
558
  */
567
- getByMixin : function(clazz, mixin)
568
- {
559
+ getByMixin(clazz, mixin) {
569
560
  var list, i, l;
570
561
 
571
- while (clazz)
572
- {
573
- if (clazz.$$includes)
574
- {
562
+ while (clazz) {
563
+ if (clazz.$$includes) {
575
564
  list = clazz.$$flatIncludes;
576
565
 
577
- for (i=0, l=list.length; i<l; i++)
578
- {
566
+ for (i = 0, l = list.length; i < l; i++) {
579
567
  if (list[i] === mixin) {
580
568
  return clazz;
581
569
  }
@@ -588,7 +576,6 @@ qx.Bootstrap.define("qx.Class",
588
576
  return null;
589
577
  },
590
578
 
591
-
592
579
  /**
593
580
  * Returns a list of all mixins available in a given class.
594
581
  *
@@ -596,8 +583,7 @@ qx.Bootstrap.define("qx.Class",
596
583
  * @param clazz {Class} class which should be inspected
597
584
  * @return {Mixin[]} array of mixins this class uses
598
585
  */
599
- getMixins : qx.util.OOUtil.getMixins,
600
-
586
+ getMixins: qx.util.OOUtil.getMixins,
601
587
 
602
588
  /**
603
589
  * Whether a given class or any of its superclasses includes a given mixin.
@@ -606,11 +592,10 @@ qx.Bootstrap.define("qx.Class",
606
592
  * @param mixin {Mixin} the mixin to check for
607
593
  * @return {Boolean} whether the class includes the mixin.
608
594
  */
609
- hasMixin: function(clazz, mixin) {
595
+ hasMixin(clazz, mixin) {
610
596
  return !!this.getByMixin(clazz, mixin);
611
597
  },
612
598
 
613
-
614
599
  /**
615
600
  * Whether a given class directly includes an interface.
616
601
  *
@@ -622,11 +607,10 @@ qx.Bootstrap.define("qx.Class",
622
607
  * @param iface {Interface} the interface to check for
623
608
  * @return {Boolean} whether the class includes the mixin directly.
624
609
  */
625
- hasOwnInterface : function(clazz, iface) {
610
+ hasOwnInterface(clazz, iface) {
626
611
  return clazz.$$implements && clazz.$$implements.indexOf(iface) !== -1;
627
612
  },
628
613
 
629
-
630
614
  /**
631
615
  * Returns the class or one of its super classes which contains the
632
616
  * declaration of the given interface. Returns null if the interface is not
@@ -637,8 +621,7 @@ qx.Bootstrap.define("qx.Class",
637
621
  * @param iface {Interface} interface to look for
638
622
  * @return {Class | null} the class which directly implements the given interface
639
623
  */
640
- getByInterface : qx.util.OOUtil.getByInterface,
641
-
624
+ getByInterface: qx.util.OOUtil.getByInterface,
642
625
 
643
626
  /**
644
627
  * Returns a list of all interfaces a given class has to implement.
@@ -646,12 +629,10 @@ qx.Bootstrap.define("qx.Class",
646
629
  * @param clazz {Class} class which should be inspected
647
630
  * @return {Interface[]} array of interfaces this class implements
648
631
  */
649
- getInterfaces : function(clazz)
650
- {
632
+ getInterfaces(clazz) {
651
633
  var list = [];
652
634
 
653
- while (clazz)
654
- {
635
+ while (clazz) {
655
636
  if (clazz.$$implements) {
656
637
  list.push.apply(list, clazz.$$flatImplements);
657
638
  }
@@ -662,7 +643,6 @@ qx.Bootstrap.define("qx.Class",
662
643
  return list;
663
644
  },
664
645
 
665
-
666
646
  /**
667
647
  * Whether a given class or any of its super classes includes a given interface.
668
648
  *
@@ -676,8 +656,7 @@ qx.Bootstrap.define("qx.Class",
676
656
  * @param iface {Interface} the interface to check for
677
657
  * @return {Boolean} whether the class includes the interface.
678
658
  */
679
- hasInterface : qx.util.OOUtil.hasInterface,
680
-
659
+ hasInterface: qx.util.OOUtil.hasInterface,
681
660
 
682
661
  /**
683
662
  * Whether a given class complies to an interface.
@@ -690,8 +669,7 @@ qx.Bootstrap.define("qx.Class",
690
669
  * @param iface {Interface} the interface to check for
691
670
  * @return {Boolean} whether the class conforms to the interface.
692
671
  */
693
- implementsInterface : function(obj, iface)
694
- {
672
+ implementsInterface(obj, iface) {
695
673
  var clazz = obj.constructor;
696
674
 
697
675
  if (this.hasInterface(clazz, iface)) {
@@ -709,25 +687,24 @@ qx.Bootstrap.define("qx.Class",
709
687
  return false;
710
688
  },
711
689
 
712
-
713
690
  /**
714
691
  * Helper method to handle singletons
715
692
  *
716
693
  * @internal
717
694
  * @return {Object} The singleton instance
718
695
  */
719
- getInstance : function()
720
- {
721
- if (this.$$instance === null)
722
- {
723
- throw new Error("Singleton instance of " + this +
724
- " is requested, but not ready yet. This is most likely due to a recursive call in the constructor path.");
696
+ getInstance() {
697
+ if (this.$$instance === null) {
698
+ throw new Error(
699
+ "Singleton instance of " +
700
+ this +
701
+ " is requested, but not ready yet. This is most likely due to a recursive call in the constructor path."
702
+ );
725
703
  }
726
704
 
727
- if (!this.$$instance)
728
- {
705
+ if (!this.$$instance) {
729
706
  this.$$allowconstruct = true;
730
- this.$$instance = null; // null means "object is being created"; needed for another call of getInstance() during instantiation
707
+ this.$$instance = null; // null means "object is being created"; needed for another call of getInstance() during instantiation
731
708
  this.$$instance = new this();
732
709
  delete this.$$allowconstruct;
733
710
  }
@@ -735,25 +712,23 @@ qx.Bootstrap.define("qx.Class",
735
712
  return this.$$instance;
736
713
  },
737
714
 
738
-
739
715
  /**
740
716
  * Retreive all subclasses of a given class
741
717
  *
742
718
  * @param clazz {Class} the class which should be inspected
743
- *
719
+ *
744
720
  * @return {Object} class name hash holding the references to the subclasses or null if the class does not exist.
745
721
  */
746
- getSubclasses : function(clazz)
747
- {
748
- if(!clazz) {
722
+ getSubclasses(clazz) {
723
+ if (!clazz) {
749
724
  return null;
750
725
  }
751
-
726
+
752
727
  var subclasses = {};
753
728
  var registry = qx.Class.$$registry;
754
729
 
755
730
  for (var name in registry) {
756
- if(registry[name].superclass && registry[name].superclass == clazz) {
731
+ if (registry[name].superclass && registry[name].superclass == clazz) {
757
732
  subclasses[name] = registry[name];
758
733
  }
759
734
  }
@@ -761,8 +736,6 @@ qx.Bootstrap.define("qx.Class",
761
736
  return subclasses;
762
737
  },
763
738
 
764
-
765
-
766
739
  /*
767
740
  ---------------------------------------------------------------------------
768
741
  PRIVATE/INTERNAL BASICS
@@ -776,57 +749,49 @@ qx.Bootstrap.define("qx.Class",
776
749
  * @internal
777
750
  * @return {String} The class identifier
778
751
  */
779
- genericToString : function() {
752
+ genericToString() {
780
753
  return "[Class " + this.classname + "]";
781
754
  },
782
755
 
783
-
784
756
  /** Stores all defined classes */
785
- $$registry : qx.Bootstrap.$$registry,
786
-
757
+ $$registry: qx.Bootstrap.$$registry,
787
758
 
788
759
  /** @type {Map} allowed keys in non-static class definition */
789
- __allowedKeys : qx.core.Environment.select("qx.debug",
790
- {
791
- "true":
792
- {
793
- "@" : "object",
794
- "@construct" : "object",
795
- "@destruct" : "object",
796
- "type" : "string", // String
797
- "extend" : "function", // Function
798
- "implement" : "object", // Interface[]
799
- "include" : "object", // Mixin[]
800
- "construct" : "function", // Function
801
- "statics" : "object", // Map
802
- "properties" : "object", // Map
803
- "members" : "object", // Map
804
- "environment" : "object", // Map
805
- "events" : "object", // Map
806
- "defer" : "function", // Function
807
- "destruct" : "function" // Function
760
+ __allowedKeys: qx.core.Environment.select("qx.debug", {
761
+ true: {
762
+ "@": "object",
763
+ "@construct": "object",
764
+ "@destruct": "object",
765
+ type: "string", // String
766
+ extend: "function", // Function
767
+ implement: "object", // Interface[]
768
+ include: "object", // Mixin[]
769
+ construct: "function", // Function
770
+ statics: "object", // Map
771
+ properties: "object", // Map
772
+ members: "object", // Map
773
+ environment: "object", // Map
774
+ events: "object", // Map
775
+ defer: "function", // Function
776
+ destruct: "function" // Function
808
777
  },
809
778
 
810
- "default" : null
779
+ default: null
811
780
  }),
812
781
 
813
-
814
782
  /** @type {Map} allowed keys in static class definition */
815
- __staticAllowedKeys : qx.core.Environment.select("qx.debug",
816
- {
817
- "true":
818
- {
819
- "@" : "object",
820
- "type" : "string", // String
821
- "statics" : "object", // Map
822
- "environment" : "object", // Map
823
- "defer" : "function" // Function
783
+ __staticAllowedKeys: qx.core.Environment.select("qx.debug", {
784
+ true: {
785
+ "@": "object",
786
+ type: "string", // String
787
+ statics: "object", // Map
788
+ environment: "object", // Map
789
+ defer: "function" // Function
824
790
  },
825
791
 
826
- "default" : null
792
+ default: null
827
793
  }),
828
794
 
829
-
830
795
  /**
831
796
  * Validates an incoming configuration and checks for proper keys and values
832
797
  *
@@ -834,157 +799,241 @@ qx.Bootstrap.define("qx.Class",
834
799
  * @param name {String} The name of the class
835
800
  * @param config {Map} Configuration map
836
801
  */
837
- __validateConfig : qx.core.Environment.select("qx.debug",
838
- {
839
- "true": function(name, config)
840
- {
802
+ __validateConfig: qx.core.Environment.select("qx.debug", {
803
+ true(name, config) {
841
804
  // Validate type
842
- if (config.type && !(config.type === "static" || config.type === "abstract" || config.type === "singleton")) {
843
- throw new Error('Invalid type "' + config.type + '" definition for class "' + name + '"!');
805
+ if (
806
+ config.type &&
807
+ !(
808
+ config.type === "static" ||
809
+ config.type === "abstract" ||
810
+ config.type === "singleton"
811
+ )
812
+ ) {
813
+ throw new Error(
814
+ 'Invalid type "' +
815
+ config.type +
816
+ '" definition for class "' +
817
+ name +
818
+ '"!'
819
+ );
844
820
  }
845
821
 
846
822
  // Validate non-static class on the "extend" key
847
823
  if (config.type && config.type !== "static" && !config.extend) {
848
- throw new Error('Invalid config in class "' + name + '"! Every non-static class has to extend at least the "qx.core.Object" class.');
824
+ throw new Error(
825
+ 'Invalid config in class "' +
826
+ name +
827
+ '"! Every non-static class has to extend at least the "qx.core.Object" class.'
828
+ );
849
829
  }
850
830
 
851
831
  // Validate keys
852
- var allowed = config.type === "static" ? this.__staticAllowedKeys : this.__allowedKeys;
853
- for (var key in config)
854
- {
832
+ var allowed =
833
+ config.type === "static"
834
+ ? this.__staticAllowedKeys
835
+ : this.__allowedKeys;
836
+ for (var key in config) {
855
837
  if (!allowed[key]) {
856
- throw new Error('The configuration key "' + key + '" in class "' + name + '" is not allowed!');
838
+ throw new Error(
839
+ 'The configuration key "' +
840
+ key +
841
+ '" in class "' +
842
+ name +
843
+ '" is not allowed!'
844
+ );
857
845
  }
858
846
 
859
847
  if (config[key] == null) {
860
- throw new Error('Invalid key "' + key + '" in class "' + name + '"! The value is undefined/null!');
848
+ throw new Error(
849
+ 'Invalid key "' +
850
+ key +
851
+ '" in class "' +
852
+ name +
853
+ '"! The value is undefined/null!'
854
+ );
861
855
  }
862
856
 
863
857
  if (typeof config[key] !== allowed[key]) {
864
- throw new Error('Invalid type of key "' + key + '" in class "' + name + '"! The type of the key must be "' + allowed[key] + '"!');
858
+ throw new Error(
859
+ 'Invalid type of key "' +
860
+ key +
861
+ '" in class "' +
862
+ name +
863
+ '"! The type of the key must be "' +
864
+ allowed[key] +
865
+ '"!'
866
+ );
865
867
  }
866
868
  }
867
869
 
868
870
  // Validate maps
869
- var maps = [ "statics", "properties", "members", "environment", "settings", "variants", "events" ];
870
- for (var i=0, l=maps.length; i<l; i++)
871
- {
871
+ var maps = [
872
+ "statics",
873
+ "properties",
874
+ "members",
875
+ "environment",
876
+ "settings",
877
+ "variants",
878
+ "events"
879
+ ];
880
+
881
+ for (var i = 0, l = maps.length; i < l; i++) {
872
882
  var key = maps[i];
873
883
 
874
- if (config[key] !== undefined && (
875
- config[key].$$hash !== undefined || !qx.Bootstrap.isObject(config[key])
876
- )) {
877
- throw new Error('Invalid key "' + key + '" in class "' + name + '"! The value needs to be a map!');
884
+ if (
885
+ config[key] !== undefined &&
886
+ (config[key].$$hash !== undefined ||
887
+ !qx.Bootstrap.isObject(config[key]))
888
+ ) {
889
+ throw new Error(
890
+ 'Invalid key "' +
891
+ key +
892
+ '" in class "' +
893
+ name +
894
+ '"! The value needs to be a map!'
895
+ );
878
896
  }
879
897
  }
880
898
 
881
899
  // Validate include definition
882
- if (config.include)
883
- {
884
- if (qx.Bootstrap.getClass(config.include) === "Array")
885
- {
886
- for (var i=0, a=config.include, l=a.length; i<l; i++)
887
- {
900
+ if (config.include) {
901
+ if (qx.Bootstrap.getClass(config.include) === "Array") {
902
+ for (var i = 0, a = config.include, l = a.length; i < l; i++) {
888
903
  if (a[i] == null || a[i].$$type !== "Mixin") {
889
- throw new Error('The include definition in class "' + name + '" contains an invalid mixin at position ' + i + ': ' + a[i]);
904
+ throw new Error(
905
+ 'The include definition in class "' +
906
+ name +
907
+ '" contains an invalid mixin at position ' +
908
+ i +
909
+ ": " +
910
+ a[i]
911
+ );
890
912
  }
891
913
  }
892
- }
893
- else
894
- {
895
- throw new Error('Invalid include definition in class "' + name + '"! Only mixins and arrays of mixins are allowed!');
914
+ } else {
915
+ throw new Error(
916
+ 'Invalid include definition in class "' +
917
+ name +
918
+ '"! Only mixins and arrays of mixins are allowed!'
919
+ );
896
920
  }
897
921
  }
898
922
 
899
923
  // Validate implement definition
900
- if (config.implement)
901
- {
902
- if (qx.Bootstrap.getClass(config.implement) === "Array")
903
- {
904
- for (var i=0, a=config.implement, l=a.length; i<l; i++)
905
- {
924
+ if (config.implement) {
925
+ if (qx.Bootstrap.getClass(config.implement) === "Array") {
926
+ for (var i = 0, a = config.implement, l = a.length; i < l; i++) {
906
927
  if (a[i] == null || a[i].$$type !== "Interface") {
907
- throw new Error('The implement definition in class "' + name + '" contains an invalid interface at position ' + i + ': ' + a[i]);
928
+ throw new Error(
929
+ 'The implement definition in class "' +
930
+ name +
931
+ '" contains an invalid interface at position ' +
932
+ i +
933
+ ": " +
934
+ a[i]
935
+ );
908
936
  }
909
937
  }
910
- }
911
- else
912
- {
913
- throw new Error('Invalid implement definition in class "' + name + '"! Only interfaces and arrays of interfaces are allowed!');
938
+ } else {
939
+ throw new Error(
940
+ 'Invalid implement definition in class "' +
941
+ name +
942
+ '"! Only interfaces and arrays of interfaces are allowed!'
943
+ );
914
944
  }
915
945
  }
916
946
 
917
947
  // Check mixin compatibility
918
- if (config.include)
919
- {
948
+ if (config.include) {
920
949
  try {
921
950
  qx.Mixin.checkCompatibility(config.include);
922
- } catch(ex) {
923
- throw new Error('Error in include definition of class "' + name + '"! ' + ex.message);
951
+ } catch (ex) {
952
+ throw new Error(
953
+ 'Error in include definition of class "' +
954
+ name +
955
+ '"! ' +
956
+ ex.message
957
+ );
924
958
  }
925
959
  }
926
960
 
927
961
  // Validate environment
928
- if (config.environment)
929
- {
930
- for (var key in config.environment)
931
- {
932
- if (key.substr(0, key.indexOf(".")) != name.substr(0, name.indexOf("."))) {
933
- throw new Error('Forbidden environment setting "' + key +
934
- '" found in "' + name + '". It is forbidden to define a ' +
935
- 'environment setting for an external namespace!');
962
+ if (config.environment) {
963
+ for (var key in config.environment) {
964
+ if (
965
+ key.substr(0, key.indexOf(".")) !=
966
+ name.substr(0, name.indexOf("."))
967
+ ) {
968
+ throw new Error(
969
+ 'Forbidden environment setting "' +
970
+ key +
971
+ '" found in "' +
972
+ name +
973
+ '". It is forbidden to define a ' +
974
+ "environment setting for an external namespace!"
975
+ );
936
976
  }
937
977
  }
938
978
  }
939
979
 
940
980
  // Validate settings
941
- if (config.settings)
942
- {
943
- for (var key in config.settings)
944
- {
945
- if (key.substr(0, key.indexOf(".")) != name.substr(0, name.indexOf("."))) {
946
- throw new Error('Forbidden setting "' + key + '" found in "' + name + '". It is forbidden to define a default setting for an external namespace!');
981
+ if (config.settings) {
982
+ for (var key in config.settings) {
983
+ if (
984
+ key.substr(0, key.indexOf(".")) !=
985
+ name.substr(0, name.indexOf("."))
986
+ ) {
987
+ throw new Error(
988
+ 'Forbidden setting "' +
989
+ key +
990
+ '" found in "' +
991
+ name +
992
+ '". It is forbidden to define a default setting for an external namespace!'
993
+ );
947
994
  }
948
995
  }
949
996
  }
950
997
 
951
998
  // Validate variants
952
- if (config.variants)
953
- {
954
- for (var key in config.variants)
955
- {
956
- if (key.substr(0, key.indexOf(".")) != name.substr(0, name.indexOf("."))) {
957
- throw new Error('Forbidden variant "' + key + '" found in "' + name + '". It is forbidden to define a variant for an external namespace!');
999
+ if (config.variants) {
1000
+ for (var key in config.variants) {
1001
+ if (
1002
+ key.substr(0, key.indexOf(".")) !=
1003
+ name.substr(0, name.indexOf("."))
1004
+ ) {
1005
+ throw new Error(
1006
+ 'Forbidden variant "' +
1007
+ key +
1008
+ '" found in "' +
1009
+ name +
1010
+ '". It is forbidden to define a variant for an external namespace!'
1011
+ );
958
1012
  }
959
1013
  }
960
1014
  }
961
1015
  },
962
1016
 
963
- "default" : function(name, config) {}
1017
+ default(name, config) {}
964
1018
  }),
965
1019
 
966
-
967
1020
  /**
968
1021
  * Validates the interfaces required by abstract base classes
969
1022
  *
970
1023
  * @signature function(clazz)
971
1024
  * @param clazz {Class} The configured class.
972
1025
  */
973
- __validateAbstractInterfaces : qx.core.Environment.select("qx.debug",
974
- {
975
- "true": function(clazz)
976
- {
1026
+ __validateAbstractInterfaces: qx.core.Environment.select("qx.debug", {
1027
+ true(clazz) {
977
1028
  var superclass = clazz.superclass;
978
- while (superclass)
979
- {
1029
+ while (superclass) {
980
1030
  if (superclass.$$classtype !== "abstract") {
981
1031
  break;
982
1032
  }
983
1033
 
984
1034
  var interfaces = superclass.$$implements;
985
- if (interfaces)
986
- {
987
- for (var i=0; i<interfaces.length; i++) {
1035
+ if (interfaces) {
1036
+ for (var i = 0; i < interfaces.length; i++) {
988
1037
  qx.Interface.assert(clazz, interfaces[i], true);
989
1038
  }
990
1039
  }
@@ -992,10 +1041,9 @@ qx.Bootstrap.define("qx.Class",
992
1041
  }
993
1042
  },
994
1043
 
995
- "default" : function(clazz) {}
1044
+ default(clazz) {}
996
1045
  }),
997
-
998
-
1046
+
999
1047
  /**
1000
1048
  * Attaches an annotation to a class
1001
1049
  *
@@ -1004,20 +1052,19 @@ qx.Bootstrap.define("qx.Class",
1004
1052
  * @param key {String} Name of the annotated item
1005
1053
  * @param anno {Object} Annotation object
1006
1054
  */
1007
- __attachAnno : function(clazz, group, key, anno) {
1055
+ __attachAnno(clazz, group, key, anno) {
1008
1056
  if (anno !== undefined) {
1009
1057
  if (clazz.$$annotations === undefined) {
1010
1058
  clazz.$$annotations = {};
1011
1059
  clazz.$$annotations[group] = {};
1012
-
1013
1060
  } else if (clazz.$$annotations[group] === undefined) {
1014
1061
  clazz.$$annotations[group] = {};
1015
1062
  }
1016
-
1063
+
1017
1064
  if (!qx.lang.Type.isArray(anno)) {
1018
1065
  anno = [anno];
1019
1066
  }
1020
-
1067
+
1021
1068
  if (key) {
1022
1069
  clazz.$$annotations[group][key] = anno;
1023
1070
  } else {
@@ -1026,7 +1073,6 @@ qx.Bootstrap.define("qx.Class",
1026
1073
  }
1027
1074
  },
1028
1075
 
1029
-
1030
1076
  /**
1031
1077
  * Creates a class by type. Supports modern inheritance etc.
1032
1078
  *
@@ -1039,26 +1085,21 @@ qx.Bootstrap.define("qx.Class",
1039
1085
  * @param mixins {Mixin[]} array of mixins of the class
1040
1086
  * @return {Class} The generated class
1041
1087
  */
1042
- __createClass : function(name, type, extend, statics, construct, destruct, mixins)
1043
- {
1088
+ __createClass(name, type, extend, statics, construct, destruct, mixins) {
1044
1089
  var isStrictMode = function () {
1045
- return (typeof this == 'undefined');
1090
+ return typeof this == "undefined";
1046
1091
  };
1047
1092
 
1048
1093
  var clazz;
1049
1094
 
1050
- if (!extend && qx.core.Environment.get("qx.aspects") == false)
1051
- {
1095
+ if (!extend && qx.core.Environment.get("qx.aspects") == false) {
1052
1096
  // Create empty/non-empty class
1053
1097
  clazz = statics || {};
1054
1098
  qx.Bootstrap.setDisplayNames(clazz, name);
1055
- }
1056
- else
1057
- {
1099
+ } else {
1058
1100
  clazz = {};
1059
1101
 
1060
- if (extend)
1061
- {
1102
+ if (extend) {
1062
1103
  // Create default constructor
1063
1104
  if (!construct) {
1064
1105
  construct = this.__createDefaultConstructor();
@@ -1073,47 +1114,56 @@ qx.Bootstrap.define("qx.Class",
1073
1114
 
1074
1115
  qx.Bootstrap.setDisplayName(construct, name, "constructor");
1075
1116
  }
1076
-
1117
+
1077
1118
  // Copy statics
1078
- if (statics)
1079
- {
1119
+ if (statics) {
1080
1120
  qx.Bootstrap.setDisplayNames(statics, name);
1081
1121
 
1082
1122
  var key;
1083
1123
 
1084
- for (var i=0, a=Object.keys(statics), l=a.length; i<l; i++)
1085
- {
1124
+ for (var i = 0, a = Object.keys(statics), l = a.length; i < l; i++) {
1086
1125
  key = a[i];
1087
1126
  var staticValue = statics[key];
1088
1127
 
1089
1128
  if (qx.core.Environment.get("qx.debug")) {
1090
- if (key.charAt(0) === '@') {
1129
+ if (key.charAt(0) === "@") {
1091
1130
  if (statics[key.substring(1)] === undefined) {
1092
- throw new Error('Annonation for static "' + key.substring(1) + '" of Class "' + clazz.classname + '" does not exist!');
1131
+ throw new Error(
1132
+ 'Annonation for static "' +
1133
+ key.substring(1) +
1134
+ '" of Class "' +
1135
+ clazz.classname +
1136
+ '" does not exist!'
1137
+ );
1093
1138
  }
1094
1139
  if (key.charAt(1) === "_" && key.charAt(2) === "_") {
1095
- throw new Error('Cannot annotate private static "' + key.substring(1) + '" of Class "' + clazz.classname);
1140
+ throw new Error(
1141
+ 'Cannot annotate private static "' +
1142
+ key.substring(1) +
1143
+ '" of Class "' +
1144
+ clazz.classname
1145
+ );
1096
1146
  }
1097
1147
  }
1098
1148
  }
1099
- if (key.charAt(0) === '@') {
1149
+ if (key.charAt(0) === "@") {
1100
1150
  continue;
1101
1151
  }
1102
1152
 
1103
- if (qx.core.Environment.get("qx.aspects"))
1104
- {
1105
-
1153
+ if (qx.core.Environment.get("qx.aspects")) {
1106
1154
  if (staticValue instanceof Function) {
1107
- staticValue = qx.core.Aspect.wrap(name + "." + key, staticValue, "static");
1155
+ staticValue = qx.core.Aspect.wrap(
1156
+ name + "." + key,
1157
+ staticValue,
1158
+ "static"
1159
+ );
1108
1160
  }
1109
1161
 
1110
1162
  clazz[key] = staticValue;
1111
- }
1112
- else
1113
- {
1163
+ } else {
1114
1164
  clazz[key] = staticValue;
1115
1165
  }
1116
-
1166
+
1117
1167
  // Attach annotations
1118
1168
  this.__attachAnno(clazz, "statics", key, statics["@" + key]);
1119
1169
  }
@@ -1128,7 +1178,7 @@ qx.Bootstrap.define("qx.Class",
1128
1178
  if (!isStrictMode()) {
1129
1179
  try {
1130
1180
  clazz.name = name;
1131
- } catch(ex) {
1181
+ } catch (ex) {
1132
1182
  // Nothing
1133
1183
  }
1134
1184
  }
@@ -1145,13 +1195,11 @@ qx.Bootstrap.define("qx.Class",
1145
1195
  clazz.toString = this.genericToString;
1146
1196
  }
1147
1197
 
1148
- if (extend)
1149
- {
1198
+ if (extend) {
1150
1199
  qx.Bootstrap.extendClass(clazz, construct, extend, name, basename);
1151
1200
 
1152
1201
  // Store destruct onto class
1153
- if (destruct)
1154
- {
1202
+ if (destruct) {
1155
1203
  if (qx.core.Environment.get("qx.aspects")) {
1156
1204
  destruct = qx.core.Aspect.wrap(name, destruct, "destructor");
1157
1205
  }
@@ -1168,11 +1216,6 @@ qx.Bootstrap.define("qx.Class",
1168
1216
  return clazz;
1169
1217
  },
1170
1218
 
1171
-
1172
-
1173
-
1174
-
1175
-
1176
1219
  /*
1177
1220
  ---------------------------------------------------------------------------
1178
1221
  PRIVATE ADD HELPERS
@@ -1186,46 +1229,58 @@ qx.Bootstrap.define("qx.Class",
1186
1229
  * @param events {Map} map of event names the class fires.
1187
1230
  * @param patch {Boolean ? false} Enable redefinition of event type?
1188
1231
  */
1189
- __addEvents : function(clazz, events, patch)
1190
- {
1191
- if (qx.core.Environment.get("qx.debug"))
1192
- {
1193
- if (typeof events !== "object" || qx.Bootstrap.getClass(events) === "Array") {
1194
- throw new Error(clazz.classname + ": the events must be defined as map!");
1232
+ __addEvents(clazz, events, patch) {
1233
+ if (qx.core.Environment.get("qx.debug")) {
1234
+ if (
1235
+ typeof events !== "object" ||
1236
+ qx.Bootstrap.getClass(events) === "Array"
1237
+ ) {
1238
+ throw new Error(
1239
+ clazz.classname + ": the events must be defined as map!"
1240
+ );
1195
1241
  }
1196
1242
 
1197
- for (var key in events)
1198
- {
1243
+ for (var key in events) {
1199
1244
  if (typeof events[key] !== "string") {
1200
- throw new Error(clazz.classname + "/" + key + ": the event value needs to be a string with the class name of the event object which will be fired.");
1245
+ throw new Error(
1246
+ clazz.classname +
1247
+ "/" +
1248
+ key +
1249
+ ": the event value needs to be a string with the class name of the event object which will be fired."
1250
+ );
1201
1251
  }
1202
1252
  }
1203
1253
 
1204
1254
  // Compare old and new event type/value if patching is disabled
1205
- if (clazz.$$events && patch !== true)
1206
- {
1207
- for (var key in events)
1208
- {
1209
- if (clazz.$$events[key] !== undefined && clazz.$$events[key] !== events[key]) {
1210
- throw new Error(clazz.classname + "/" + key + ": the event value/type cannot be changed from " + clazz.$$events[key] + " to " + events[key]);
1255
+ if (clazz.$$events && patch !== true) {
1256
+ for (var key in events) {
1257
+ if (
1258
+ clazz.$$events[key] !== undefined &&
1259
+ clazz.$$events[key] !== events[key]
1260
+ ) {
1261
+ throw new Error(
1262
+ clazz.classname +
1263
+ "/" +
1264
+ key +
1265
+ ": the event value/type cannot be changed from " +
1266
+ clazz.$$events[key] +
1267
+ " to " +
1268
+ events[key]
1269
+ );
1211
1270
  }
1212
1271
  }
1213
1272
  }
1214
1273
  }
1215
1274
 
1216
- if (clazz.$$events)
1217
- {
1275
+ if (clazz.$$events) {
1218
1276
  for (var key in events) {
1219
1277
  clazz.$$events[key] = events[key];
1220
1278
  }
1221
- }
1222
- else
1223
- {
1279
+ } else {
1224
1280
  clazz.$$events = events;
1225
1281
  }
1226
1282
  },
1227
1283
 
1228
-
1229
1284
  /**
1230
1285
  * Attach properties to classes
1231
1286
  *
@@ -1234,13 +1289,12 @@ qx.Bootstrap.define("qx.Class",
1234
1289
  * @param patch {Boolean ? false} Overwrite property with the limitations of a property
1235
1290
  which means you are able to refine but not to replace (esp. for new properties)
1236
1291
  */
1237
- __addProperties : function(clazz, properties, patch)
1238
- {
1292
+ __addProperties(clazz, properties, patch) {
1239
1293
  // check for the property module
1240
1294
  if (!qx.core.Environment.get("module.property")) {
1241
1295
  throw new Error("Property module disabled.");
1242
1296
  }
1243
-
1297
+
1244
1298
  if (qx.core.Environment.get("qx.debug")) {
1245
1299
  if (qx.Bootstrap.isQxCoreObject(properties)) {
1246
1300
  throw new Error("Invalid 'properties' for " + clazz.classname);
@@ -1255,8 +1309,7 @@ qx.Bootstrap.define("qx.Class",
1255
1309
 
1256
1310
  var proto = clazz.prototype;
1257
1311
 
1258
- for (var name in properties)
1259
- {
1312
+ for (var name in properties) {
1260
1313
  config = properties[name];
1261
1314
 
1262
1315
  // Check incoming configuration
@@ -1268,8 +1321,7 @@ qx.Bootstrap.define("qx.Class",
1268
1321
  config.name = name;
1269
1322
 
1270
1323
  // Add config to local registry
1271
- if (!config.refine)
1272
- {
1324
+ if (!config.refine) {
1273
1325
  if (clazz.$$properties === undefined) {
1274
1326
  clazz.$$properties = {};
1275
1327
  }
@@ -1292,14 +1344,13 @@ qx.Bootstrap.define("qx.Class",
1292
1344
  var event = {};
1293
1345
  event[config.event] = "qx.event.type.Data";
1294
1346
  if (config.async) {
1295
- event[config.event + "Async"] = "qx.event.type.Data";
1347
+ event[config.event + "Async"] = "qx.event.type.Data";
1296
1348
  }
1297
1349
  this.__addEvents(clazz, event, patch);
1298
1350
  }
1299
1351
 
1300
1352
  // Remember inheritable properties
1301
- if (config.inheritable)
1302
- {
1353
+ if (config.inheritable) {
1303
1354
  this.__Property.$$inheritable[name] = true;
1304
1355
  if (!proto.$$refreshInheritables) {
1305
1356
  this.__Property.attachRefreshInheritables(clazz);
@@ -1309,7 +1360,7 @@ qx.Bootstrap.define("qx.Class",
1309
1360
  if (!config.refine) {
1310
1361
  this.__Property.attachMethods(clazz, name, config);
1311
1362
  }
1312
-
1363
+
1313
1364
  // Add annotations
1314
1365
  this.__attachAnno(clazz, "properties", name, config["@"]);
1315
1366
  }
@@ -1324,10 +1375,8 @@ qx.Bootstrap.define("qx.Class",
1324
1375
  * @param config {Map} configuration map
1325
1376
  * @param patch {Boolean ? false} enable refine/patch?
1326
1377
  */
1327
- __validateProperty : qx.core.Environment.select("qx.debug",
1328
- {
1329
- "true": function(clazz, name, config, patch)
1330
- {
1378
+ __validateProperty: qx.core.Environment.select("qx.debug", {
1379
+ true(clazz, name, config, patch) {
1331
1380
  // check for properties
1332
1381
  if (!qx.core.Environment.get("module.property")) {
1333
1382
  throw new Error("Property module disabled.");
@@ -1335,77 +1384,149 @@ qx.Bootstrap.define("qx.Class",
1335
1384
 
1336
1385
  var has = this.hasProperty(clazz, name);
1337
1386
 
1338
- if (has)
1339
- {
1387
+ if (has) {
1340
1388
  var existingProperty = this.getPropertyDefinition(clazz, name);
1341
1389
 
1342
- if (config.refine && existingProperty.init === undefined && existingProperty["@"] === undefined) {
1343
- this.warn("Refine a property when there is previously no init or annotations defined. Property '" + name + "' of class '" + clazz.classname + "'.");
1390
+ if (
1391
+ config.refine &&
1392
+ existingProperty.init === undefined &&
1393
+ existingProperty["@"] === undefined
1394
+ ) {
1395
+ this.warn(
1396
+ "Refine a property when there is previously no init or annotations defined. Property '" +
1397
+ name +
1398
+ "' of class '" +
1399
+ clazz.classname +
1400
+ "'."
1401
+ );
1344
1402
  }
1345
1403
  }
1346
1404
 
1347
1405
  if (!has && config.refine) {
1348
- throw new Error("Could not refine non-existent property: '" + name + "' of class: '" + clazz.classname + "'!");
1406
+ throw new Error(
1407
+ "Could not refine non-existent property: '" +
1408
+ name +
1409
+ "' of class: '" +
1410
+ clazz.classname +
1411
+ "'!"
1412
+ );
1349
1413
  }
1350
1414
 
1351
1415
  if (has && !patch) {
1352
- throw new Error("Class " + clazz.classname + " already has a property: " + name + "!");
1416
+ throw new Error(
1417
+ "Class " +
1418
+ clazz.classname +
1419
+ " already has a property: " +
1420
+ name +
1421
+ "!"
1422
+ );
1353
1423
  }
1354
1424
 
1355
- if (has && patch)
1356
- {
1425
+ if (has && patch) {
1357
1426
  if (!config.refine) {
1358
- throw new Error('Could not refine property "' + name + '" without a "refine" flag in the property definition! This class: ' + clazz.classname + ', original class: ' + this.getByProperty(clazz, name).classname + '.');
1427
+ throw new Error(
1428
+ 'Could not refine property "' +
1429
+ name +
1430
+ '" without a "refine" flag in the property definition! This class: ' +
1431
+ clazz.classname +
1432
+ ", original class: " +
1433
+ this.getByProperty(clazz, name).classname +
1434
+ "."
1435
+ );
1359
1436
  }
1360
1437
 
1361
- for (var key in config)
1362
- {
1438
+ for (var key in config) {
1363
1439
  if (key !== "init" && key !== "refine" && key !== "@") {
1364
- throw new Error("Class " + clazz.classname + " could not refine property: " + name + "! Key: " + key + " could not be refined!");
1440
+ throw new Error(
1441
+ "Class " +
1442
+ clazz.classname +
1443
+ " could not refine property: " +
1444
+ name +
1445
+ "! Key: " +
1446
+ key +
1447
+ " could not be refined!"
1448
+ );
1365
1449
  }
1366
1450
  }
1367
1451
  }
1368
1452
 
1369
1453
  // Check 0.7 keys
1370
- var allowed = config.group ? this.__Property.$$allowedGroupKeys : this.__Property.$$allowedKeys;
1371
- for (var key in config)
1372
- {
1454
+ var allowed = config.group
1455
+ ? this.__Property.$$allowedGroupKeys
1456
+ : this.__Property.$$allowedKeys;
1457
+ for (var key in config) {
1373
1458
  if (allowed[key] === undefined) {
1374
- throw new Error('The configuration key "' + key + '" of property "' + name + '" in class "' + clazz.classname + '" is not allowed!');
1459
+ throw new Error(
1460
+ 'The configuration key "' +
1461
+ key +
1462
+ '" of property "' +
1463
+ name +
1464
+ '" in class "' +
1465
+ clazz.classname +
1466
+ '" is not allowed!'
1467
+ );
1375
1468
  }
1376
1469
 
1377
1470
  if (config[key] === undefined) {
1378
- throw new Error('Invalid key "' + key + '" of property "' + name + '" in class "' + clazz.classname + '"! The value is undefined: ' + config[key]);
1471
+ throw new Error(
1472
+ 'Invalid key "' +
1473
+ key +
1474
+ '" of property "' +
1475
+ name +
1476
+ '" in class "' +
1477
+ clazz.classname +
1478
+ '"! The value is undefined: ' +
1479
+ config[key]
1480
+ );
1379
1481
  }
1380
1482
 
1381
1483
  if (allowed[key] !== null && typeof config[key] !== allowed[key]) {
1382
- throw new Error('Invalid type of key "' + key + '" of property "' + name + '" in class "' + clazz.classname + '"! The type of the key must be "' + allowed[key] + '"!');
1484
+ throw new Error(
1485
+ 'Invalid type of key "' +
1486
+ key +
1487
+ '" of property "' +
1488
+ name +
1489
+ '" in class "' +
1490
+ clazz.classname +
1491
+ '"! The type of the key must be "' +
1492
+ allowed[key] +
1493
+ '"!'
1494
+ );
1383
1495
  }
1384
1496
  }
1385
1497
 
1386
- if (config.transform != null)
1387
- {
1498
+ if (config.transform != null) {
1388
1499
  if (!(typeof config.transform === "string")) {
1389
- throw new Error('Invalid transform definition of property "' + name + '" in class "' + clazz.classname + '"! Needs to be a String.');
1500
+ throw new Error(
1501
+ 'Invalid transform definition of property "' +
1502
+ name +
1503
+ '" in class "' +
1504
+ clazz.classname +
1505
+ '"! Needs to be a String.'
1506
+ );
1390
1507
  }
1391
1508
  }
1392
1509
 
1393
- if (config.check != null)
1394
- {
1510
+ if (config.check != null) {
1395
1511
  if (
1396
1512
  !qx.Bootstrap.isString(config.check) &&
1397
1513
  !qx.Bootstrap.isArray(config.check) &&
1398
1514
  !qx.Bootstrap.isFunction(config.check)
1399
1515
  ) {
1400
- throw new Error('Invalid check definition of property "' + name + '" in class "' + clazz.classname + '"! Needs to be a String, Array or Function.');
1516
+ throw new Error(
1517
+ 'Invalid check definition of property "' +
1518
+ name +
1519
+ '" in class "' +
1520
+ clazz.classname +
1521
+ '"! Needs to be a String, Array or Function.'
1522
+ );
1401
1523
  }
1402
1524
  }
1403
1525
  },
1404
1526
 
1405
- "default" : null
1527
+ default: null
1406
1528
  }),
1407
1529
 
1408
-
1409
1530
  /**
1410
1531
  * Attach members to a class
1411
1532
  *
@@ -1417,40 +1538,67 @@ qx.Bootstrap.define("qx.Class",
1417
1538
  * @param wrap {Boolean ? false} Whether the member method should be wrapped.
1418
1539
  * this is needed to allow base calls in patched mixin members.
1419
1540
  */
1420
- __addMembers : function(clazz, members, patch, base, wrap)
1421
- {
1541
+ __addMembers(clazz, members, patch, base, wrap) {
1422
1542
  var proto = clazz.prototype;
1423
1543
  var key, member;
1424
1544
  qx.Bootstrap.setDisplayNames(members, clazz.classname + ".prototype");
1425
1545
 
1426
- for (var i=0, a=Object.keys(members), l=a.length; i<l; i++)
1427
- {
1546
+ for (var i = 0, a = Object.keys(members), l = a.length; i < l; i++) {
1428
1547
  key = a[i];
1429
1548
  member = members[key];
1430
1549
 
1431
- if (qx.core.Environment.get("qx.debug"))
1432
- {
1433
- if (key.charAt(0) === '@') {
1550
+ if (qx.core.Environment.get("qx.debug")) {
1551
+ if (key.charAt(0) === "@") {
1434
1552
  var annoKey = key.substring(1);
1435
- if (members[annoKey] === undefined && proto[annoKey] === undefined) {
1436
- throw new Error('Annonation for "' + annoKey + '" of Class "' + clazz.classname + '" does not exist!');
1553
+ if (
1554
+ members[annoKey] === undefined &&
1555
+ proto[annoKey] === undefined
1556
+ ) {
1557
+ throw new Error(
1558
+ 'Annonation for "' +
1559
+ annoKey +
1560
+ '" of Class "' +
1561
+ clazz.classname +
1562
+ '" does not exist!'
1563
+ );
1437
1564
  }
1438
1565
  if (key.charAt(1) === "_" && key.charAt(2) === "_") {
1439
- throw new Error('Cannot annotate private member "' + key.substring(1) + '" of Class "' + clazz.classname);
1566
+ throw new Error(
1567
+ 'Cannot annotate private member "' +
1568
+ key.substring(1) +
1569
+ '" of Class "' +
1570
+ clazz.classname
1571
+ );
1440
1572
  }
1441
1573
  } else {
1442
- if (proto[key] !== undefined && key.charAt(0) === "_" && key.charAt(1) === "_") {
1443
- throw new Error('Overwriting private member "' + key + '" of Class "' + clazz.classname + '" is not allowed!');
1574
+ if (
1575
+ proto[key] !== undefined &&
1576
+ key.charAt(0) === "_" &&
1577
+ key.charAt(1) === "_"
1578
+ ) {
1579
+ throw new Error(
1580
+ 'Overwriting private member "' +
1581
+ key +
1582
+ '" of Class "' +
1583
+ clazz.classname +
1584
+ '" is not allowed!'
1585
+ );
1444
1586
  }
1445
-
1587
+
1446
1588
  if (patch !== true && proto.hasOwnProperty(key)) {
1447
- throw new Error('Overwriting member "' + key + '" of Class "' + clazz.classname + '" is not allowed!');
1589
+ throw new Error(
1590
+ 'Overwriting member "' +
1591
+ key +
1592
+ '" of Class "' +
1593
+ clazz.classname +
1594
+ '" is not allowed!'
1595
+ );
1448
1596
  }
1449
1597
  }
1450
1598
  }
1451
-
1599
+
1452
1600
  // Annotations are not members
1453
- if (key.charAt(0) === '@') {
1601
+ if (key.charAt(0) === "@") {
1454
1602
  var annoKey = key.substring(1);
1455
1603
  if (members[annoKey] === undefined) {
1456
1604
  this.__attachAnno(clazz, "members", annoKey, members[key]);
@@ -1460,96 +1608,55 @@ qx.Bootstrap.define("qx.Class",
1460
1608
 
1461
1609
  // If it's a property accessor, we need to install it now so that this.base can refer to it
1462
1610
  if (proto[key] != undefined && proto[key].$$install) {
1463
- proto[key].$$install();
1611
+ proto[key].$$install();
1464
1612
  }
1465
1613
 
1466
1614
  // Added helper stuff to functions
1467
1615
  // Hint: Could not use typeof function because RegExp objects are functions, too
1468
1616
  // Protect to apply base property and aspect support on special attributes e.g.
1469
1617
  // classes which are function like as well.
1470
- if (base !== false && member instanceof Function && member.$$type == null) {
1471
- if (!qx.core.Environment.get("qx.compiler")) {
1472
- if (wrap) {
1473
- // wrap "patched" mixin member
1474
- member = this.__mixinMemberWrapper(member, proto[key]);
1475
- } else {
1476
- // Configure extend (named base here)
1477
- // Hint: proto[key] is not yet overwritten here
1478
- if (proto[key]) {
1479
- member.base = proto[key];
1480
- }
1481
- member.self = clazz;
1482
- }
1483
- } else {
1484
- // If the class has it's own implementation, we need to remember that method in the
1485
- // mixed-in method's `.base`; wrap the method with a closure so that it can have a
1486
- // `.base` set, if we were to set `member.base` it would mean that the mixin can
1487
- // only be added into one class
1618
+ if (
1619
+ base !== false &&
1620
+ member instanceof Function &&
1621
+ member.$$type == null
1622
+ ) {
1623
+ // If the class has it's own implementation, we need to remember that method in the
1624
+ // mixed-in method's `.base`; wrap the method with a closure so that it can have a
1625
+ // `.base` set, if we were to set `member.base` it would mean that the mixin can
1626
+ // only be added into one class
1627
+ if (wrap) {
1488
1628
  if (proto[key]) {
1489
- member = qx.lang.Function.create(member, {always: true});
1490
- member.base = proto[key];
1491
- }
1492
- if (wrap) {
1493
- member.self = clazz;
1629
+ member = qx.lang.Function.create(member, { always: true });
1494
1630
  }
1631
+ member.self = clazz;
1495
1632
  }
1633
+ member.base = proto[key];
1496
1634
 
1497
1635
  if (qx.core.Environment.get("qx.aspects")) {
1498
- member = qx.core.Aspect.wrap(clazz.classname + "." + key, member, "member");
1636
+ member = qx.core.Aspect.wrap(
1637
+ clazz.classname + "." + key,
1638
+ member,
1639
+ "member"
1640
+ );
1499
1641
  }
1500
1642
  }
1501
1643
 
1502
1644
  // Attach member
1503
1645
  proto[key] = member;
1504
-
1646
+
1505
1647
  // Attach annotations
1506
1648
  this.__attachAnno(clazz, "members", key, members["@" + key]);
1507
1649
  }
1508
1650
  },
1509
1651
 
1510
-
1511
- /**
1512
- * Wraps a member function of a mixin, which is included using "patch". This
1513
- * allows "base" calls in the mixin member function.
1514
- *
1515
- * @param member {Function} The mixin method to wrap
1516
- * @param base {Function} The overwritten method
1517
- * @return {Function} the wrapped mixin member
1518
- */
1519
- __mixinMemberWrapper : function(member, base) {
1520
- if (qx.core.Environment.get("qx.compiler")) {
1521
- throw new Error("This function should not be used except with code compiled by the generator (ie python toolchain)");
1522
-
1523
- } else {
1524
- if (base)
1525
- {
1526
- return function()
1527
- {
1528
- var oldBase = member.base;
1529
- member.base = base;
1530
- var retval = member.apply(this, arguments);
1531
- member.base = oldBase;
1532
- return retval;
1533
- };
1534
- }
1535
- else
1536
- {
1537
- return member;
1538
- }
1539
- }
1540
- },
1541
-
1542
-
1543
1652
  /**
1544
1653
  * Add a single interface to a class
1545
1654
  *
1546
1655
  * @param clazz {Class} class to add interface to
1547
1656
  * @param iface {Interface} the Interface to add
1548
1657
  */
1549
- __addInterface : function(clazz, iface)
1550
- {
1551
- if (qx.core.Environment.get("qx.debug"))
1552
- {
1658
+ __addInterface(clazz, iface) {
1659
+ if (qx.core.Environment.get("qx.debug")) {
1553
1660
  if (!clazz || !iface) {
1554
1661
  throw new Error("Incomplete parameters!");
1555
1662
  }
@@ -1558,7 +1665,13 @@ qx.Bootstrap.define("qx.Class",
1558
1665
  // directly used by this class. It is allowed however, to have an interface
1559
1666
  // included multiple times by extends in the interfaces etc.
1560
1667
  if (this.hasOwnInterface(clazz, iface)) {
1561
- throw new Error('Interface "' + iface.name + '" is already used by Class "' + clazz.classname + '!');
1668
+ throw new Error(
1669
+ 'Interface "' +
1670
+ iface.name +
1671
+ '" is already used by Class "' +
1672
+ clazz.classname +
1673
+ "!"
1674
+ );
1562
1675
  }
1563
1676
 
1564
1677
  // Check interface and wrap members
@@ -1569,19 +1682,15 @@ qx.Bootstrap.define("qx.Class",
1569
1682
 
1570
1683
  // Store interface reference
1571
1684
  var list = qx.Interface.flatten([iface]);
1572
- if (clazz.$$implements)
1573
- {
1685
+ if (clazz.$$implements) {
1574
1686
  clazz.$$implements.push(iface);
1575
1687
  clazz.$$flatImplements.push.apply(clazz.$$flatImplements, list);
1576
- }
1577
- else
1578
- {
1688
+ } else {
1579
1689
  clazz.$$implements = [iface];
1580
1690
  clazz.$$flatImplements = list;
1581
1691
  }
1582
1692
  },
1583
1693
 
1584
-
1585
1694
  /**
1586
1695
  * Include all features of the mixin into the given class, recursively.
1587
1696
  *
@@ -1589,10 +1698,8 @@ qx.Bootstrap.define("qx.Class",
1589
1698
  * @param mixin {Mixin} Include all features of this mixin
1590
1699
  * @param patch {Boolean} Overwrite existing fields, functions and properties
1591
1700
  */
1592
- __addMixin : function(clazz, mixin, patch)
1593
- {
1594
- if (qx.core.Environment.get("qx.debug"))
1595
- {
1701
+ __addMixin(clazz, mixin, patch) {
1702
+ if (qx.core.Environment.get("qx.debug")) {
1596
1703
  if (!clazz || !mixin) {
1597
1704
  throw new Error("Incomplete parameters!");
1598
1705
  }
@@ -1606,8 +1713,7 @@ qx.Bootstrap.define("qx.Class",
1606
1713
  var list = qx.Mixin.flatten([mixin]);
1607
1714
  var entry;
1608
1715
 
1609
- for (var i=0, l=list.length; i<l; i++)
1610
- {
1716
+ for (var i = 0, l = list.length; i < l; i++) {
1611
1717
  entry = list[i];
1612
1718
 
1613
1719
  // Attach events
@@ -1627,22 +1733,15 @@ qx.Bootstrap.define("qx.Class",
1627
1733
  }
1628
1734
 
1629
1735
  // Store mixin reference
1630
- if (clazz.$$includes)
1631
- {
1736
+ if (clazz.$$includes) {
1632
1737
  clazz.$$includes.push(mixin);
1633
1738
  clazz.$$flatIncludes.push.apply(clazz.$$flatIncludes, list);
1634
- }
1635
- else
1636
- {
1739
+ } else {
1637
1740
  clazz.$$includes = [mixin];
1638
1741
  clazz.$$flatIncludes = list;
1639
1742
  }
1640
1743
  },
1641
1744
 
1642
-
1643
-
1644
-
1645
-
1646
1745
  /*
1647
1746
  ---------------------------------------------------------------------------
1648
1747
  PRIVATE FUNCTION HELPERS
@@ -1655,8 +1754,7 @@ qx.Bootstrap.define("qx.Class",
1655
1754
  *
1656
1755
  * @return {Function} The default constructor.
1657
1756
  */
1658
- __createDefaultConstructor : function()
1659
- {
1757
+ __createDefaultConstructor() {
1660
1758
  function defaultConstructor() {
1661
1759
  defaultConstructor.base.apply(this, arguments);
1662
1760
  }
@@ -1664,7 +1762,6 @@ qx.Bootstrap.define("qx.Class",
1664
1762
  return defaultConstructor;
1665
1763
  },
1666
1764
 
1667
-
1668
1765
  /**
1669
1766
  * Generate a wrapper of the original class constructor in order to enable
1670
1767
  * some of the advanced OO features (e.g. abstract class, singleton, mixins)
@@ -1674,45 +1771,47 @@ qx.Bootstrap.define("qx.Class",
1674
1771
  * @param type {String} the user specified class type
1675
1772
  * @return {Function} The wrapped constructor
1676
1773
  */
1677
- __wrapConstructor : function(construct, name, type)
1678
- {
1679
- var wrapper = function()
1680
- {
1774
+ __wrapConstructor(construct, name, type) {
1775
+ var wrapper = function () {
1681
1776
  var clazz = wrapper;
1682
1777
 
1683
- if (qx.core.Environment.get("qx.debug"))
1684
- {
1778
+ if (qx.core.Environment.get("qx.debug")) {
1685
1779
  // new keyword check
1686
1780
  if (!(this instanceof clazz)) {
1687
- throw new Error("Please initialize '" + name + "' objects using the new keyword!");
1781
+ throw new Error(
1782
+ "Please initialize '" + name + "' objects using the new keyword!"
1783
+ );
1688
1784
  }
1689
1785
 
1690
1786
  // add abstract and singleton checks
1691
- if (type === "abstract")
1692
- {
1693
- if (this.classname===name) {
1694
- throw new Error("The class '," + name + "' is abstract! It is not possible to instantiate it.");
1787
+ if (type === "abstract") {
1788
+ if (this.classname === name) {
1789
+ throw new Error(
1790
+ "The class '," +
1791
+ name +
1792
+ "' is abstract! It is not possible to instantiate it."
1793
+ );
1695
1794
  }
1696
- }
1697
- else if (type === "singleton")
1698
- {
1795
+ } else if (type === "singleton") {
1699
1796
  if (!clazz.$$allowconstruct) {
1700
- throw new Error("The class '" + name + "' is a singleton! It is not possible to instantiate it directly. Use the static getInstance() method instead.");
1797
+ throw new Error(
1798
+ "The class '" +
1799
+ name +
1800
+ "' is a singleton! It is not possible to instantiate it directly. Use the static getInstance() method instead."
1801
+ );
1701
1802
  }
1702
1803
  }
1703
1804
  }
1704
1805
 
1705
1806
  // Execute default constructor
1706
- var retval=clazz.$$original.apply(this,arguments);
1807
+ var retval = clazz.$$original.apply(this, arguments);
1707
1808
 
1708
1809
  // Initialize local mixins
1709
- if (clazz.$$includes)
1710
- {
1711
- var mixins=clazz.$$flatIncludes;
1712
- for (var i=0, l=mixins.length; i<l; i++)
1713
- {
1810
+ if (clazz.$$includes) {
1811
+ var mixins = clazz.$$flatIncludes;
1812
+ for (var i = 0, l = mixins.length; i < l; i++) {
1714
1813
  if (mixins[i].$$constructor) {
1715
- mixins[i].$$constructor.apply(this,arguments);
1814
+ mixins[i].$$constructor.apply(this, arguments);
1716
1815
  }
1717
1816
  }
1718
1817
  }
@@ -1728,8 +1827,7 @@ qx.Bootstrap.define("qx.Class",
1728
1827
  return retval;
1729
1828
  };
1730
1829
 
1731
- if (qx.core.Environment.get("qx.aspects"))
1732
- {
1830
+ if (qx.core.Environment.get("qx.aspects")) {
1733
1831
  var aspectWrapper = qx.core.Aspect.wrap(name, wrapper, "constructor");
1734
1832
  wrapper.$$original = construct;
1735
1833
  wrapper.constructor = aspectWrapper;
@@ -1747,20 +1845,20 @@ qx.Bootstrap.define("qx.Class",
1747
1845
  }
1748
1846
  },
1749
1847
 
1750
- defer : function()
1751
- {
1848
+ defer() {
1752
1849
  // Binding of already loaded bootstrap classes
1753
- if (qx.core.Environment.get("qx.aspects"))
1754
- {
1755
- for (var classname in qx.Bootstrap.$$registry)
1756
- {
1850
+ if (qx.core.Environment.get("qx.aspects")) {
1851
+ for (var classname in qx.Bootstrap.$$registry) {
1757
1852
  var statics = qx.Bootstrap.$$registry[classname];
1758
1853
 
1759
- for (var key in statics)
1760
- {
1854
+ for (var key in statics) {
1761
1855
  // only functions, no regexps
1762
1856
  if (statics[key] instanceof Function) {
1763
- statics[key] = qx.core.Aspect.wrap(classname + "." + key, statics[key], "static");
1857
+ statics[key] = qx.core.Aspect.wrap(
1858
+ classname + "." + key,
1859
+ statics[key],
1860
+ "static"
1861
+ );
1764
1862
  }
1765
1863
  }
1766
1864
  }