@qooxdoo/framework 7.0.0-beta.6 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1555) hide show
  1. package/CHANGELOG.md +0 -6
  2. package/Manifest.json +2 -2
  3. package/README.md +3 -1
  4. package/lib/compiler/compile-info.json +57 -55
  5. package/lib/compiler/index.js +6272 -4273
  6. package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/theme/custom/css/custom.css.map +1 -1
  7. package/lib/resource/qx/tool/loadsass.js +16 -15
  8. package/lib/resource/qx/tool/schema/compile-1-0-0.json +13 -13
  9. package/lib/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
  10. package/lib/resource/qx/tool/website/build/assets/buttons.js +391 -1
  11. package/lib/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
  12. package/lib/resource/qx/tool/website/build/assets/jquery.js +5452 -3
  13. package/lib/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
  14. package/lib/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
  15. package/lib/resource/qx/tool/website/build/scripts/serve.js +87 -66
  16. package/lib/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
  17. package/lib/resource/qx/tool/website/src/assets/buttons.js +391 -1
  18. package/lib/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
  19. package/lib/resource/qx/tool/website/src/assets/jquery.js +5452 -3
  20. package/lib/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
  21. package/lib/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
  22. package/lib/resource/qx/tool/website/src/scripts/serve.js +87 -66
  23. package/npm-shrinkwrap.json +7293 -0
  24. package/package.json +6 -4
  25. package/source/class/q.js +4 -2
  26. package/source/class/qx/Annotation.js +48 -57
  27. package/source/class/qx/Bootstrap.js +206 -207
  28. package/source/class/qx/Class.js +602 -504
  29. package/source/class/qx/Interface.js +169 -137
  30. package/source/class/qx/Mixin.js +162 -120
  31. package/source/class/qx/Part.js +48 -77
  32. package/source/class/qx/Promise.js +5891 -4655
  33. package/source/class/qx/Theme.js +200 -134
  34. package/source/class/qx/__init__.js +8 -8
  35. package/source/class/qx/application/AbstractGui.js +20 -32
  36. package/source/class/qx/application/Basic.js +9 -18
  37. package/source/class/qx/application/IApplication.js +6 -10
  38. package/source/class/qx/application/Inline.js +4 -7
  39. package/source/class/qx/application/Mobile.js +22 -45
  40. package/source/class/qx/application/Native.js +8 -19
  41. package/source/class/qx/application/Routing.js +88 -114
  42. package/source/class/qx/application/Standalone.js +4 -9
  43. package/source/class/qx/application/__init__.js +1 -1
  44. package/source/class/qx/bom/AnimationFrame.js +26 -25
  45. package/source/class/qx/bom/Blocker.js +92 -100
  46. package/source/class/qx/bom/Cookie.js +18 -22
  47. package/source/class/qx/bom/Document.js +24 -31
  48. package/source/class/qx/bom/Element.js +65 -51
  49. package/source/class/qx/bom/Event.js +68 -78
  50. package/source/class/qx/bom/FileReader.js +110 -115
  51. package/source/class/qx/bom/Font.js +82 -122
  52. package/source/class/qx/bom/FullScreen.js +32 -41
  53. package/source/class/qx/bom/GeoLocation.js +39 -44
  54. package/source/class/qx/bom/HashHistory.js +58 -64
  55. package/source/class/qx/bom/History.js +61 -89
  56. package/source/class/qx/bom/Html.js +75 -71
  57. package/source/class/qx/bom/IdleCallback.js +20 -23
  58. package/source/class/qx/bom/Iframe.js +37 -69
  59. package/source/class/qx/bom/IframeHistory.js +83 -88
  60. package/source/class/qx/bom/Input.js +50 -66
  61. package/source/class/qx/bom/Label.js +65 -86
  62. package/source/class/qx/bom/Lifecycle.js +7 -9
  63. package/source/class/qx/bom/MediaQuery.js +324 -307
  64. package/source/class/qx/bom/NativeHistory.js +51 -46
  65. package/source/class/qx/bom/Notification.js +41 -47
  66. package/source/class/qx/bom/PageVisibility.js +19 -25
  67. package/source/class/qx/bom/Range.js +20 -30
  68. package/source/class/qx/bom/Selection.js +163 -172
  69. package/source/class/qx/bom/Selector.js +2401 -2181
  70. package/source/class/qx/bom/Shortcut.js +103 -129
  71. package/source/class/qx/bom/Storage.js +9 -8
  72. package/source/class/qx/bom/String.js +285 -290
  73. package/source/class/qx/bom/Style.js +30 -31
  74. package/source/class/qx/bom/Stylesheet.js +36 -60
  75. package/source/class/qx/bom/Template.js +730 -657
  76. package/source/class/qx/bom/Viewport.js +40 -46
  77. package/source/class/qx/bom/Vml.js +43 -28
  78. package/source/class/qx/bom/WebWorker.js +61 -50
  79. package/source/class/qx/bom/Window.js +88 -105
  80. package/source/class/qx/bom/__init__.js +11 -11
  81. package/source/class/qx/bom/client/Browser.js +45 -47
  82. package/source/class/qx/bom/client/Css.js +85 -85
  83. package/source/class/qx/bom/client/CssAnimation.js +41 -49
  84. package/source/class/qx/bom/client/CssTransform.js +21 -29
  85. package/source/class/qx/bom/client/CssTransition.js +9 -12
  86. package/source/class/qx/bom/client/Device.js +45 -45
  87. package/source/class/qx/bom/client/EcmaScript.js +153 -96
  88. package/source/class/qx/bom/client/Engine.js +38 -35
  89. package/source/class/qx/bom/client/Event.js +75 -63
  90. package/source/class/qx/bom/client/Html.js +97 -97
  91. package/source/class/qx/bom/client/Idle.js +4 -6
  92. package/source/class/qx/bom/client/Locale.js +15 -15
  93. package/source/class/qx/bom/client/OperatingSystem.js +89 -106
  94. package/source/class/qx/bom/client/Pdfjs.js +1364 -1067
  95. package/source/class/qx/bom/client/PhoneGap.js +6 -9
  96. package/source/class/qx/bom/client/Plugin.js +93 -97
  97. package/source/class/qx/bom/client/Runtime.js +14 -12
  98. package/source/class/qx/bom/client/Scroll.js +20 -16
  99. package/source/class/qx/bom/client/Stylesheet.js +44 -32
  100. package/source/class/qx/bom/client/Transport.js +38 -41
  101. package/source/class/qx/bom/client/Xml.js +39 -41
  102. package/source/class/qx/bom/client/__init__.js +4 -4
  103. package/source/class/qx/bom/element/Animation.js +15 -12
  104. package/source/class/qx/bom/element/AnimationCss.js +95 -64
  105. package/source/class/qx/bom/element/AnimationHandle.js +22 -29
  106. package/source/class/qx/bom/element/AnimationJs.js +94 -71
  107. package/source/class/qx/bom/element/Attribute.js +119 -134
  108. package/source/class/qx/bom/element/Background.js +35 -35
  109. package/source/class/qx/bom/element/BoxSizing.js +43 -44
  110. package/source/class/qx/bom/element/Class.js +50 -72
  111. package/source/class/qx/bom/element/Clip.js +36 -60
  112. package/source/class/qx/bom/element/Cursor.js +13 -20
  113. package/source/class/qx/bom/element/Dataset.js +33 -31
  114. package/source/class/qx/bom/element/Decoration.js +178 -168
  115. package/source/class/qx/bom/element/Dimension.js +78 -60
  116. package/source/class/qx/bom/element/Location.js +87 -94
  117. package/source/class/qx/bom/element/Opacity.js +42 -44
  118. package/source/class/qx/bom/element/Scroll.js +78 -88
  119. package/source/class/qx/bom/element/Style.js +61 -101
  120. package/source/class/qx/bom/element/Transform.js +38 -56
  121. package/source/class/qx/bom/element/__init__.js +4 -4
  122. package/source/class/qx/bom/media/Abstract.js +136 -143
  123. package/source/class/qx/bom/media/Audio.js +7 -12
  124. package/source/class/qx/bom/media/Video.js +15 -27
  125. package/source/class/qx/bom/request/IRequest.js +18 -21
  126. package/source/class/qx/bom/request/Jsonp.js +34 -39
  127. package/source/class/qx/bom/request/Script.js +94 -90
  128. package/source/class/qx/bom/request/SimpleXhr.js +111 -79
  129. package/source/class/qx/bom/request/Xhr.js +196 -143
  130. package/source/class/qx/bom/request/__init__.js +1 -1
  131. package/source/class/qx/bom/rest/Resource.js +269 -203
  132. package/source/class/qx/bom/storage/Memory.js +18 -29
  133. package/source/class/qx/bom/storage/UserData.js +28 -35
  134. package/source/class/qx/bom/storage/Web.js +19 -30
  135. package/source/class/qx/bom/webfonts/Manager.js +199 -130
  136. package/source/class/qx/bom/webfonts/Validator.js +84 -118
  137. package/source/class/qx/bom/webfonts/WebFont.js +24 -28
  138. package/source/class/qx/bom/webfonts/__init__.js +1 -1
  139. package/source/class/qx/core/Aspect.js +15 -22
  140. package/source/class/qx/core/Assert.js +391 -333
  141. package/source/class/qx/core/AssertionError.js +6 -15
  142. package/source/class/qx/core/BaseInit.js +25 -28
  143. package/source/class/qx/core/Environment.js +72 -86
  144. package/source/class/qx/core/GlobalError.js +12 -20
  145. package/source/class/qx/core/IDisposable.js +6 -9
  146. package/source/class/qx/core/Id.js +25 -15
  147. package/source/class/qx/core/Init.js +20 -20
  148. package/source/class/qx/core/MAssert.js +54 -97
  149. package/source/class/qx/core/MBindTo.js +10 -14
  150. package/source/class/qx/core/MEvent.js +76 -65
  151. package/source/class/qx/core/MLogging.js +9 -18
  152. package/source/class/qx/core/MObjectId.js +104 -65
  153. package/source/class/qx/core/MProperty.js +18 -34
  154. package/source/class/qx/core/Object.js +93 -122
  155. package/source/class/qx/core/ObjectRegistry.js +58 -81
  156. package/source/class/qx/core/Property.js +974 -780
  157. package/source/class/qx/core/ValidationError.js +3 -4
  158. package/source/class/qx/core/WindowError.js +13 -24
  159. package/source/class/qx/core/Wrapper.js +8 -9
  160. package/source/class/qx/data/Array.js +178 -191
  161. package/source/class/qx/data/Conversion.js +11 -18
  162. package/source/class/qx/data/IListData.js +11 -20
  163. package/source/class/qx/data/MBinding.js +31 -26
  164. package/source/class/qx/data/SingleValueBinding.js +491 -225
  165. package/source/class/qx/data/__init__.js +1 -1
  166. package/source/class/qx/data/controller/CheckedList.js +82 -54
  167. package/source/class/qx/data/controller/Form.js +81 -69
  168. package/source/class/qx/data/controller/IControllerDelegate.js +7 -12
  169. package/source/class/qx/data/controller/ISelection.js +6 -10
  170. package/source/class/qx/data/controller/List.js +151 -167
  171. package/source/class/qx/data/controller/MSelection.js +53 -72
  172. package/source/class/qx/data/controller/Object.js +106 -77
  173. package/source/class/qx/data/controller/Tree.js +164 -142
  174. package/source/class/qx/data/controller/__init__.js +1 -1
  175. package/source/class/qx/data/controller/website/List.js +34 -43
  176. package/source/class/qx/data/controller/website/__init__.js +2 -2
  177. package/source/class/qx/data/marshal/IMarshaler.js +4 -7
  178. package/source/class/qx/data/marshal/IMarshalerDelegate.js +10 -18
  179. package/source/class/qx/data/marshal/Json.js +112 -85
  180. package/source/class/qx/data/marshal/MEventBubbling.js +44 -42
  181. package/source/class/qx/data/marshal/__init__.js +1 -1
  182. package/source/class/qx/data/store/IStoreDelegate.js +6 -9
  183. package/source/class/qx/data/store/Json.js +71 -85
  184. package/source/class/qx/data/store/Jsonp.js +19 -25
  185. package/source/class/qx/data/store/Offline.js +21 -29
  186. package/source/class/qx/data/store/Rest.js +25 -23
  187. package/source/class/qx/data/store/__init__.js +1 -1
  188. package/source/class/qx/dev/Debug.js +105 -124
  189. package/source/class/qx/dev/FakeServer.js +68 -65
  190. package/source/class/qx/dev/ObjectSummary.js +33 -39
  191. package/source/class/qx/dev/Profile.js +62 -63
  192. package/source/class/qx/dev/StackTrace.js +64 -70
  193. package/source/class/qx/dev/Tokenizer.js +114 -126
  194. package/source/class/qx/dev/unit/AbstractTestSuite.js +17 -31
  195. package/source/class/qx/dev/unit/AsyncWrapper.js +22 -26
  196. package/source/class/qx/dev/unit/JsUnitTestResult.js +9 -21
  197. package/source/class/qx/dev/unit/MMeasure.js +46 -37
  198. package/source/class/qx/dev/unit/MMock.js +236 -240
  199. package/source/class/qx/dev/unit/MRequirements.js +53 -79
  200. package/source/class/qx/dev/unit/MRequirementsBasic.js +24 -19
  201. package/source/class/qx/dev/unit/MTestLoader.js +52 -57
  202. package/source/class/qx/dev/unit/MeasurementResult.js +18 -22
  203. package/source/class/qx/dev/unit/RequirementError.js +8 -17
  204. package/source/class/qx/dev/unit/Sinon.js +18826 -4613
  205. package/source/class/qx/dev/unit/TestCase.js +40 -51
  206. package/source/class/qx/dev/unit/TestClass.js +22 -23
  207. package/source/class/qx/dev/unit/TestFunction.js +28 -48
  208. package/source/class/qx/dev/unit/TestLoader.js +11 -14
  209. package/source/class/qx/dev/unit/TestLoaderBasic.js +3 -6
  210. package/source/class/qx/dev/unit/TestLoaderInline.js +8 -14
  211. package/source/class/qx/dev/unit/TestLoaderMobile.js +8 -14
  212. package/source/class/qx/dev/unit/TestLoaderNative.js +7 -13
  213. package/source/class/qx/dev/unit/TestResult.js +140 -118
  214. package/source/class/qx/dev/unit/TestSuite.js +46 -55
  215. package/source/class/qx/dom/Element.js +29 -74
  216. package/source/class/qx/dom/Hierarchy.js +60 -95
  217. package/source/class/qx/dom/Node.js +54 -81
  218. package/source/class/qx/dom/__init__.js +9 -9
  219. package/source/class/qx/event/AcceleratingTimer.js +28 -46
  220. package/source/class/qx/event/Emitter.js +54 -49
  221. package/source/class/qx/event/GlobalError.js +22 -38
  222. package/source/class/qx/event/IEventDispatcher.js +4 -9
  223. package/source/class/qx/event/IEventHandler.js +7 -13
  224. package/source/class/qx/event/Idle.js +32 -47
  225. package/source/class/qx/event/Manager.js +222 -237
  226. package/source/class/qx/event/Messaging.js +55 -48
  227. package/source/class/qx/event/Pool.js +5 -8
  228. package/source/class/qx/event/Registration.js +128 -118
  229. package/source/class/qx/event/Timer.js +50 -96
  230. package/source/class/qx/event/Utils.js +41 -28
  231. package/source/class/qx/event/dispatch/AbstractBubbling.js +133 -93
  232. package/source/class/qx/event/dispatch/Direct.js +46 -51
  233. package/source/class/qx/event/dispatch/DomBubbling.js +8 -15
  234. package/source/class/qx/event/dispatch/MouseCapture.js +74 -91
  235. package/source/class/qx/event/handler/Appear.js +40 -77
  236. package/source/class/qx/event/handler/Application.js +100 -126
  237. package/source/class/qx/event/handler/Capture.js +15 -37
  238. package/source/class/qx/event/handler/DragDrop.js +342 -228
  239. package/source/class/qx/event/handler/Element.js +45 -72
  240. package/source/class/qx/event/handler/ElementResize.js +35 -70
  241. package/source/class/qx/event/handler/Focus.js +908 -637
  242. package/source/class/qx/event/handler/Gesture.js +144 -93
  243. package/source/class/qx/event/handler/GestureCore.js +214 -163
  244. package/source/class/qx/event/handler/Iframe.js +21 -35
  245. package/source/class/qx/event/handler/Input.js +332 -209
  246. package/source/class/qx/event/handler/Keyboard.js +325 -270
  247. package/source/class/qx/event/handler/Mouse.js +212 -173
  248. package/source/class/qx/event/handler/Object.js +13 -31
  249. package/source/class/qx/event/handler/Offline.js +52 -67
  250. package/source/class/qx/event/handler/Orientation.js +56 -62
  251. package/source/class/qx/event/handler/OrientationCore.js +33 -43
  252. package/source/class/qx/event/handler/Pointer.js +84 -72
  253. package/source/class/qx/event/handler/PointerCore.js +183 -105
  254. package/source/class/qx/event/handler/Touch.js +43 -59
  255. package/source/class/qx/event/handler/TouchCore.js +159 -120
  256. package/source/class/qx/event/handler/Transition.js +91 -100
  257. package/source/class/qx/event/handler/UserAction.js +18 -42
  258. package/source/class/qx/event/handler/Video.js +12 -12
  259. package/source/class/qx/event/handler/Window.js +53 -69
  260. package/source/class/qx/event/message/Bus.js +109 -128
  261. package/source/class/qx/event/message/Message.js +14 -29
  262. package/source/class/qx/event/type/Data.js +11 -22
  263. package/source/class/qx/event/type/Dom.js +37 -52
  264. package/source/class/qx/event/type/Drag.js +37 -56
  265. package/source/class/qx/event/type/Event.js +80 -104
  266. package/source/class/qx/event/type/Focus.js +5 -8
  267. package/source/class/qx/event/type/GeoPosition.js +32 -41
  268. package/source/class/qx/event/type/KeyInput.js +9 -19
  269. package/source/class/qx/event/type/KeySequence.js +10 -21
  270. package/source/class/qx/event/type/Mouse.js +69 -72
  271. package/source/class/qx/event/type/MouseWheel.js +5 -9
  272. package/source/class/qx/event/type/Native.js +16 -27
  273. package/source/class/qx/event/type/Orientation.js +18 -30
  274. package/source/class/qx/event/type/Pinch.js +21 -27
  275. package/source/class/qx/event/type/Pointer.js +38 -41
  276. package/source/class/qx/event/type/Rest.js +7 -10
  277. package/source/class/qx/event/type/Roll.js +49 -58
  278. package/source/class/qx/event/type/Rotate.js +21 -27
  279. package/source/class/qx/event/type/Swipe.js +75 -86
  280. package/source/class/qx/event/type/Tap.js +2 -4
  281. package/source/class/qx/event/type/Touch.js +262 -286
  282. package/source/class/qx/event/type/Track.js +23 -28
  283. package/source/class/qx/event/type/dom/Custom.js +24 -20
  284. package/source/class/qx/event/type/dom/Pointer.js +86 -60
  285. package/source/class/qx/event/util/Keyboard.js +94 -106
  286. package/source/class/qx/html/Blocker.js +17 -18
  287. package/source/class/qx/html/Canvas.js +13 -29
  288. package/source/class/qx/html/Element.js +372 -497
  289. package/source/class/qx/html/Factory.js +31 -26
  290. package/source/class/qx/html/Iframe.js +35 -69
  291. package/source/class/qx/html/Image.js +43 -55
  292. package/source/class/qx/html/Input.js +44 -57
  293. package/source/class/qx/html/Jsx.js +49 -41
  294. package/source/class/qx/html/JsxRef.js +3 -5
  295. package/source/class/qx/html/Label.js +20 -32
  296. package/source/class/qx/html/Node.js +362 -422
  297. package/source/class/qx/html/Root.js +7 -16
  298. package/source/class/qx/html/Text.js +34 -27
  299. package/source/class/qx/io/ImageLoader.js +66 -90
  300. package/source/class/qx/io/PartLoader.js +17 -30
  301. package/source/class/qx/io/exception/Cancel.js +4 -5
  302. package/source/class/qx/io/exception/Exception.js +4 -5
  303. package/source/class/qx/io/exception/Protocol.js +2 -3
  304. package/source/class/qx/io/exception/Transport.js +13 -14
  305. package/source/class/qx/io/graphql/Client.js +22 -12
  306. package/source/class/qx/io/graphql/protocol/Message.js +3 -3
  307. package/source/class/qx/io/graphql/protocol/Request.js +8 -10
  308. package/source/class/qx/io/graphql/protocol/Response.js +7 -5
  309. package/source/class/qx/io/jsonrpc/Client.js +70 -38
  310. package/source/class/qx/io/jsonrpc/__init__.js +1 -1
  311. package/source/class/qx/io/jsonrpc/protocol/Batch.js +14 -8
  312. package/source/class/qx/io/jsonrpc/protocol/Error.js +11 -9
  313. package/source/class/qx/io/jsonrpc/protocol/Message.js +3 -3
  314. package/source/class/qx/io/jsonrpc/protocol/Notification.js +8 -6
  315. package/source/class/qx/io/jsonrpc/protocol/Parser.js +33 -9
  316. package/source/class/qx/io/jsonrpc/protocol/Request.js +8 -7
  317. package/source/class/qx/io/jsonrpc/protocol/Result.js +7 -6
  318. package/source/class/qx/io/part/ClosurePart.js +16 -35
  319. package/source/class/qx/io/part/Package.js +35 -63
  320. package/source/class/qx/io/part/Part.js +29 -53
  321. package/source/class/qx/io/part/__init__.js +4 -4
  322. package/source/class/qx/io/request/AbstractRequest.js +268 -201
  323. package/source/class/qx/io/request/Jsonp.js +16 -19
  324. package/source/class/qx/io/request/Xhr.js +38 -37
  325. package/source/class/qx/io/request/__init__.js +1 -1
  326. package/source/class/qx/io/request/authentication/Basic.js +7 -13
  327. package/source/class/qx/io/request/authentication/Bearer.js +7 -13
  328. package/source/class/qx/io/request/authentication/IAuthentication.js +3 -6
  329. package/source/class/qx/io/request/authentication/__init__.js +1 -1
  330. package/source/class/qx/io/rest/Resource.js +122 -90
  331. package/source/class/qx/io/transport/AbstractClient.js +31 -10
  332. package/source/class/qx/io/transport/AbstractTransport.js +7 -8
  333. package/source/class/qx/io/transport/Fetch.js +8 -5
  334. package/source/class/qx/io/transport/ITransport.js +4 -2
  335. package/source/class/qx/io/transport/PostMessage.js +1 -2
  336. package/source/class/qx/io/transport/Websocket.js +5 -5
  337. package/source/class/qx/io/transport/Xhr.js +17 -18
  338. package/source/class/qx/lang/Array.js +133 -170
  339. package/source/class/qx/lang/Function.js +101 -104
  340. package/source/class/qx/lang/Json.js +1041 -774
  341. package/source/class/qx/lang/Number.js +11 -16
  342. package/source/class/qx/lang/Object.js +129 -100
  343. package/source/class/qx/lang/String.js +86 -94
  344. package/source/class/qx/lang/Type.js +44 -65
  345. package/source/class/qx/lang/normalize/Array.js +39 -49
  346. package/source/class/qx/lang/normalize/Date.js +50 -32
  347. package/source/class/qx/lang/normalize/Error.js +4 -7
  348. package/source/class/qx/lang/normalize/Function.js +11 -19
  349. package/source/class/qx/lang/normalize/Number.js +3 -5
  350. package/source/class/qx/lang/normalize/Object.js +17 -18
  351. package/source/class/qx/lang/normalize/String.js +39 -40
  352. package/source/class/qx/locale/Date.js +175 -178
  353. package/source/class/qx/locale/Key.js +13 -11
  354. package/source/class/qx/locale/LocalizedString.js +18 -15
  355. package/source/class/qx/locale/MTranslation.js +22 -23
  356. package/source/class/qx/locale/Manager.js +62 -100
  357. package/source/class/qx/locale/Number.js +20 -12
  358. package/source/class/qx/locale/String.js +26 -15
  359. package/source/class/qx/log/Logger.js +128 -180
  360. package/source/class/qx/log/__init__.js +3 -3
  361. package/source/class/qx/log/appender/Console.js +100 -111
  362. package/source/class/qx/log/appender/Element.js +25 -39
  363. package/source/class/qx/log/appender/Formatter.js +117 -66
  364. package/source/class/qx/log/appender/Native.js +4 -10
  365. package/source/class/qx/log/appender/NodeConsole.js +20 -28
  366. package/source/class/qx/log/appender/PhoneGap.js +5 -13
  367. package/source/class/qx/log/appender/RhinoConsole.js +12 -23
  368. package/source/class/qx/log/appender/RhinoFile.js +19 -26
  369. package/source/class/qx/log/appender/RingBuffer.js +10 -19
  370. package/source/class/qx/log/appender/Util.js +11 -9
  371. package/source/class/qx/module/Animation.js +73 -63
  372. package/source/class/qx/module/Attribute.js +27 -46
  373. package/source/class/qx/module/Blocker.js +33 -41
  374. package/source/class/qx/module/Cookie.js +6 -10
  375. package/source/class/qx/module/Css.js +82 -97
  376. package/source/class/qx/module/Dataset.js +12 -24
  377. package/source/class/qx/module/Environment.js +4 -6
  378. package/source/class/qx/module/Event.js +124 -127
  379. package/source/class/qx/module/Io.js +5 -9
  380. package/source/class/qx/module/Manipulating.js +98 -117
  381. package/source/class/qx/module/MatchMedia.js +50 -24
  382. package/source/class/qx/module/Messaging.js +6 -10
  383. package/source/class/qx/module/Placeholder.js +54 -44
  384. package/source/class/qx/module/Placement.js +33 -33
  385. package/source/class/qx/module/Rest.js +3 -4
  386. package/source/class/qx/module/Storage.js +34 -48
  387. package/source/class/qx/module/Template.js +6 -9
  388. package/source/class/qx/module/TextSelection.js +13 -21
  389. package/source/class/qx/module/Transform.js +28 -45
  390. package/source/class/qx/module/Traversing.js +160 -154
  391. package/source/class/qx/module/__init__.js +1 -1
  392. package/source/class/qx/module/dev/FakeServer.js +19 -25
  393. package/source/class/qx/module/event/GestureHandler.js +25 -13
  394. package/source/class/qx/module/event/Keyboard.js +42 -31
  395. package/source/class/qx/module/event/Mouse.js +48 -46
  396. package/source/class/qx/module/event/Native.js +18 -30
  397. package/source/class/qx/module/event/Orientation.js +11 -18
  398. package/source/class/qx/module/event/OrientationHandler.js +19 -17
  399. package/source/class/qx/module/event/Pinch.js +13 -14
  400. package/source/class/qx/module/event/Pointer.js +22 -22
  401. package/source/class/qx/module/event/PointerHandler.js +14 -11
  402. package/source/class/qx/module/event/Rotate.js +13 -14
  403. package/source/class/qx/module/event/Swipe.js +18 -24
  404. package/source/class/qx/module/event/Tap.js +25 -25
  405. package/source/class/qx/module/event/Touch.js +4 -7
  406. package/source/class/qx/module/event/TouchHandler.js +16 -16
  407. package/source/class/qx/module/event/Track.js +13 -14
  408. package/source/class/qx/module/util/Array.js +30 -41
  409. package/source/class/qx/module/util/Function.js +1 -2
  410. package/source/class/qx/module/util/Object.js +8 -11
  411. package/source/class/qx/module/util/String.js +10 -18
  412. package/source/class/qx/module/util/Type.js +3 -4
  413. package/source/class/qx/test/Annotation.js +195 -89
  414. package/source/class/qx/test/Bootstrap.js +98 -124
  415. package/source/class/qx/test/Browser.js +8 -11
  416. package/source/class/qx/test/Class.js +164 -198
  417. package/source/class/qx/test/Dom.js +10 -28
  418. package/source/class/qx/test/EditDistance.js +16 -16
  419. package/source/class/qx/test/Interface.js +380 -383
  420. package/source/class/qx/test/MAppearance.js +10 -14
  421. package/source/class/qx/test/MDecoration.js +1 -3
  422. package/source/class/qx/test/Mixin.js +449 -173
  423. package/source/class/qx/test/Promise.js +422 -333
  424. package/source/class/qx/test/Theme.js +204 -179
  425. package/source/class/qx/test/Xml.js +155 -84
  426. package/source/class/qx/test/application/Routing.js +45 -44
  427. package/source/class/qx/test/bom/AnimationFrame.js +23 -21
  428. package/source/class/qx/test/bom/Attribute.js +66 -47
  429. package/source/class/qx/test/bom/Basic.js +52 -27
  430. package/source/class/qx/test/bom/Blocker.js +100 -70
  431. package/source/class/qx/test/bom/Class.js +19 -34
  432. package/source/class/qx/test/bom/Cookie.js +49 -28
  433. package/source/class/qx/test/bom/Dataset.js +12 -24
  434. package/source/class/qx/test/bom/Element.js +55 -47
  435. package/source/class/qx/test/bom/Event.js +68 -45
  436. package/source/class/qx/test/bom/FileReader.js +6 -12
  437. package/source/class/qx/test/bom/Font.js +256 -118
  438. package/source/class/qx/test/bom/GeoLocation.js +82 -64
  439. package/source/class/qx/test/bom/History.js +63 -84
  440. package/source/class/qx/test/bom/IdleCallback.js +51 -38
  441. package/source/class/qx/test/bom/Iframe.js +14 -18
  442. package/source/class/qx/test/bom/Label.js +74 -105
  443. package/source/class/qx/test/bom/Location.js +70 -99
  444. package/source/class/qx/test/bom/PageVisibility.js +13 -16
  445. package/source/class/qx/test/bom/Selector.js +16 -16
  446. package/source/class/qx/test/bom/String.js +19 -15
  447. package/source/class/qx/test/bom/Stylesheet.js +39 -48
  448. package/source/class/qx/test/bom/Template.js +49 -57
  449. package/source/class/qx/test/bom/Viewport.js +7 -11
  450. package/source/class/qx/test/bom/WebWorker.js +49 -37
  451. package/source/class/qx/test/bom/Window.js +6 -12
  452. package/source/class/qx/test/bom/client/Css.js +26 -19
  453. package/source/class/qx/test/bom/client/Device.js +29 -18
  454. package/source/class/qx/test/bom/client/OperatingSystem.js +17 -20
  455. package/source/class/qx/test/bom/client/Pdfjs.js +15 -13
  456. package/source/class/qx/test/bom/element/AnimationHandle.js +20 -17
  457. package/source/class/qx/test/bom/element/AnimationJs.js +48 -31
  458. package/source/class/qx/test/bom/element/Background.js +93 -46
  459. package/source/class/qx/test/bom/element/BoxSizing.js +66 -61
  460. package/source/class/qx/test/bom/element/Class.js +33 -58
  461. package/source/class/qx/test/bom/element/Dimension.js +58 -37
  462. package/source/class/qx/test/bom/element/Style.js +87 -83
  463. package/source/class/qx/test/bom/element/Transform.js +209 -86
  464. package/source/class/qx/test/bom/media/Audio.js +18 -14
  465. package/source/class/qx/test/bom/media/MediaTestCase.js +61 -66
  466. package/source/class/qx/test/bom/media/Video.js +39 -28
  467. package/source/class/qx/test/bom/request/Jsonp.js +60 -57
  468. package/source/class/qx/test/bom/request/Script.js +150 -138
  469. package/source/class/qx/test/bom/request/SimpleXhr.js +206 -134
  470. package/source/class/qx/test/bom/request/Xhr.js +179 -132
  471. package/source/class/qx/test/bom/request/XhrWithRemote.js +206 -160
  472. package/source/class/qx/test/bom/rest/Resource.js +345 -281
  473. package/source/class/qx/test/bom/rest/ResourceWithRemote.js +74 -57
  474. package/source/class/qx/test/bom/storage/Local.js +3 -4
  475. package/source/class/qx/test/bom/storage/Session.js +3 -4
  476. package/source/class/qx/test/bom/storage/WebStorageTestCase.js +28 -27
  477. package/source/class/qx/test/bom/webfonts/Abstract.js +8 -10
  478. package/source/class/qx/test/bom/webfonts/Manager.js +127 -80
  479. package/source/class/qx/test/bom/webfonts/Validator.js +36 -30
  480. package/source/class/qx/test/compiler/ClassFile.js +29 -11
  481. package/source/class/qx/test/compiler/jsdoc/Parser.js +122 -96
  482. package/source/class/qx/test/core/Assert.js +151 -86
  483. package/source/class/qx/test/core/Environment.js +162 -123
  484. package/source/class/qx/test/core/EventEmitterDummy.js +7 -8
  485. package/source/class/qx/test/core/InheritanceDummy.js +23 -33
  486. package/source/class/qx/test/core/MemoryManagement.js +13 -5
  487. package/source/class/qx/test/core/Object.js +106 -112
  488. package/source/class/qx/test/core/ObjectId.js +7 -6
  489. package/source/class/qx/test/core/Property.js +483 -387
  490. package/source/class/qx/test/core/PropertyHelper.js +49 -64
  491. package/source/class/qx/test/core/Target.js +9 -13
  492. package/source/class/qx/test/core/Validation.js +409 -136
  493. package/source/class/qx/test/data/DataArray.js +1059 -394
  494. package/source/class/qx/test/data/DataArrayWithChangeBubble.js +315 -172
  495. package/source/class/qx/test/data/__init__.js +4 -4
  496. package/source/class/qx/test/data/controller/Form.js +141 -99
  497. package/source/class/qx/test/data/controller/FormWithArrayAndModel.js +66 -51
  498. package/source/class/qx/test/data/controller/List.js +644 -336
  499. package/source/class/qx/test/data/controller/ListReverse.js +64 -63
  500. package/source/class/qx/test/data/controller/ListWithObjects.js +305 -149
  501. package/source/class/qx/test/data/controller/Object.js +252 -94
  502. package/source/class/qx/test/data/controller/Tree.js +1219 -383
  503. package/source/class/qx/test/data/controller/__init__.js +4 -4
  504. package/source/class/qx/test/data/marshal/Json.js +832 -447
  505. package/source/class/qx/test/data/marshal/__init__.js +4 -4
  506. package/source/class/qx/test/data/singlevalue/Array.js +383 -144
  507. package/source/class/qx/test/data/singlevalue/Deep.js +361 -175
  508. package/source/class/qx/test/data/singlevalue/Resolve.js +51 -29
  509. package/source/class/qx/test/data/singlevalue/Simple.js +530 -208
  510. package/source/class/qx/test/data/singlevalue/TextFieldDummy.js +32 -28
  511. package/source/class/qx/test/data/singlevalue/__init__.js +4 -4
  512. package/source/class/qx/test/data/store/Json.js +574 -313
  513. package/source/class/qx/test/data/store/Jsonp.js +103 -77
  514. package/source/class/qx/test/data/store/Offline.js +127 -110
  515. package/source/class/qx/test/data/store/Rest.js +58 -52
  516. package/source/class/qx/test/data/store/RestWithRemote.js +36 -30
  517. package/source/class/qx/test/data/store/__init__.js +4 -4
  518. package/source/class/qx/test/dev/Debug.js +9 -13
  519. package/source/class/qx/test/dev/StackTrace.js +51 -42
  520. package/source/class/qx/test/dev/unit/Requirements.js +36 -49
  521. package/source/class/qx/test/dev/unit/Sinon.js +85 -73
  522. package/source/class/qx/test/dev/unit/TestCase.js +12 -17
  523. package/source/class/qx/test/dom/Element.js +17 -12
  524. package/source/class/qx/test/dom/Hierarchy.js +53 -38
  525. package/source/class/qx/test/dom/Node.js +97 -43
  526. package/source/class/qx/test/event/Bubbling.js +258 -88
  527. package/source/class/qx/test/event/Emitter.js +38 -39
  528. package/source/class/qx/test/event/GlobalError.js +59 -87
  529. package/source/class/qx/test/event/GlobalEventMonitors.js +22 -25
  530. package/source/class/qx/test/event/Messaging.js +66 -49
  531. package/source/class/qx/test/event/MockBubblingHandler.js +10 -15
  532. package/source/class/qx/test/event/MockHandler.js +14 -33
  533. package/source/class/qx/test/event/Registration.js +38 -32
  534. package/source/class/qx/test/event/Timer.js +61 -39
  535. package/source/class/qx/test/event/Utils.js +164 -123
  536. package/source/class/qx/test/event/dispatch/MouseCapture.js +61 -51
  537. package/source/class/qx/test/event/dispatch/MouseEventOnDocument.js +22 -23
  538. package/source/class/qx/test/event/dispatch/TestingHandler.js +8 -10
  539. package/source/class/qx/test/event/dispatch/TestingWindow.js +9 -13
  540. package/source/class/qx/test/event/dispatch/__init__.js +4 -4
  541. package/source/class/qx/test/event/handler/Offline.js +7 -8
  542. package/source/class/qx/test/event/message/Bus.js +112 -72
  543. package/source/class/qx/test/event/message/__init__.js +4 -4
  544. package/source/class/qx/test/event/type/Dom.js +12 -11
  545. package/source/class/qx/test/event/type/Event.js +7 -16
  546. package/source/class/qx/test/event/type/Mouse.js +12 -11
  547. package/source/class/qx/test/event/type/Native.js +12 -11
  548. package/source/class/qx/test/event/type/__init__.js +4 -4
  549. package/source/class/qx/test/event/util/Keyboard.js +4 -3
  550. package/source/class/qx/test/html/Element.js +538 -239
  551. package/source/class/qx/test/html/Iframe.js +85 -73
  552. package/source/class/qx/test/html/jsx/TestJsx.js +15 -4
  553. package/source/class/qx/test/html/jsx/TestJsxBrowser.js +37 -19
  554. package/source/class/qx/test/html/jsx/TestWidget.js +26 -26
  555. package/source/class/qx/test/io/ImageLoader.js +256 -160
  556. package/source/class/qx/test/io/MAssert.js +7 -7
  557. package/source/class/qx/test/io/MRemoteTest.js +9 -11
  558. package/source/class/qx/test/io/__init__.js +4 -4
  559. package/source/class/qx/test/io/graphql/Client.js +135 -114
  560. package/source/class/qx/test/io/graphql/ClientFetch.js +4 -4
  561. package/source/class/qx/test/io/graphql/Request.js +12 -13
  562. package/source/class/qx/test/io/jsonrpc/Client.js +135 -69
  563. package/source/class/qx/test/io/jsonrpc/Protocol.js +42 -14
  564. package/source/class/qx/test/io/request/Jsonp.js +23 -20
  565. package/source/class/qx/test/io/request/JsonpWithRemote.js +25 -22
  566. package/source/class/qx/test/io/request/MRequest.js +137 -114
  567. package/source/class/qx/test/io/request/Xhr.js +367 -209
  568. package/source/class/qx/test/io/request/XhrWithRemote.js +133 -100
  569. package/source/class/qx/test/io/rest/Resource.js +325 -270
  570. package/source/class/qx/test/io/rest/ResourceWithRemote.js +75 -58
  571. package/source/class/qx/test/io/transport/PostMessage.js +5 -5
  572. package/source/class/qx/test/io/transport/Websocket.js +9 -8
  573. package/source/class/qx/test/lang/Array.js +79 -105
  574. package/source/class/qx/test/lang/Function.js +64 -53
  575. package/source/class/qx/test/lang/Json.js +51 -79
  576. package/source/class/qx/test/lang/Number.js +4 -6
  577. package/source/class/qx/test/lang/Object.js +143 -133
  578. package/source/class/qx/test/lang/String.js +151 -95
  579. package/source/class/qx/test/lang/Type.js +34 -44
  580. package/source/class/qx/test/lang/Webkit.js +8 -13
  581. package/source/class/qx/test/lang/normalize/Array.js +121 -68
  582. package/source/class/qx/test/lang/normalize/Date.js +232 -49
  583. package/source/class/qx/test/lang/normalize/Error.js +5 -8
  584. package/source/class/qx/test/lang/normalize/Function.js +7 -13
  585. package/source/class/qx/test/lang/normalize/Object.js +22 -29
  586. package/source/class/qx/test/lang/normalize/String.js +19 -28
  587. package/source/class/qx/test/locale/Date.js +91 -43
  588. package/source/class/qx/test/locale/Locale.js +52 -32
  589. package/source/class/qx/test/locale/LocalizedString.js +12 -12
  590. package/source/class/qx/test/log/DeprecationMethodOverriding.js +52 -31
  591. package/source/class/qx/test/log/Filters.js +6 -3
  592. package/source/class/qx/test/log/Formatter.js +13 -7
  593. package/source/class/qx/test/log/Logger.js +19 -29
  594. package/source/class/qx/test/log/RingBuffer.js +14 -25
  595. package/source/class/qx/test/log/__init__.js +4 -4
  596. package/source/class/qx/test/log/fixture/ClassA.js +22 -22
  597. package/source/class/qx/test/log/fixture/ClassB1.js +7 -9
  598. package/source/class/qx/test/log/fixture/ClassB2.js +5 -7
  599. package/source/class/qx/test/log/fixture/ClassC1.js +5 -7
  600. package/source/class/qx/test/log/fixture/ClassC2.js +7 -9
  601. package/source/class/qx/test/mobile/LocaleSwitch.js +29 -36
  602. package/source/class/qx/test/mobile/MobileTestCase.js +39 -49
  603. package/source/class/qx/test/mobile/basic/Atom.js +129 -53
  604. package/source/class/qx/test/mobile/basic/Image.js +41 -31
  605. package/source/class/qx/test/mobile/basic/Label.js +6 -10
  606. package/source/class/qx/test/mobile/container/Carousel.js +41 -45
  607. package/source/class/qx/test/mobile/container/Composite.js +48 -65
  608. package/source/class/qx/test/mobile/container/Drawer.js +42 -29
  609. package/source/class/qx/test/mobile/container/Navigation.js +14 -20
  610. package/source/class/qx/test/mobile/container/Scroll.js +23 -19
  611. package/source/class/qx/test/mobile/core/Widget.js +150 -86
  612. package/source/class/qx/test/mobile/dialog/Menu.js +47 -26
  613. package/source/class/qx/test/mobile/dialog/Popup.js +30 -19
  614. package/source/class/qx/test/mobile/embed/Html.js +5 -8
  615. package/source/class/qx/test/mobile/form/Button.js +15 -13
  616. package/source/class/qx/test/mobile/form/CheckBox.js +21 -17
  617. package/source/class/qx/test/mobile/form/Form.js +37 -24
  618. package/source/class/qx/test/mobile/form/Group.js +5 -9
  619. package/source/class/qx/test/mobile/form/Label.js +11 -13
  620. package/source/class/qx/test/mobile/form/NumberField.js +49 -45
  621. package/source/class/qx/test/mobile/form/RadioButton.js +30 -19
  622. package/source/class/qx/test/mobile/form/SelectBox.js +39 -25
  623. package/source/class/qx/test/mobile/form/SingleRenderer.js +31 -27
  624. package/source/class/qx/test/mobile/form/Slider.js +55 -35
  625. package/source/class/qx/test/mobile/form/TextArea.js +34 -24
  626. package/source/class/qx/test/mobile/form/TextField.js +34 -24
  627. package/source/class/qx/test/mobile/form/ToggleButton.js +10 -14
  628. package/source/class/qx/test/mobile/layout/Card.js +21 -17
  629. package/source/class/qx/test/mobile/layout/HBox.js +25 -20
  630. package/source/class/qx/test/mobile/layout/VBox.js +25 -21
  631. package/source/class/qx/test/mobile/list/List.js +114 -83
  632. package/source/class/qx/test/mobile/navigationbar/NavigationBar.js +5 -9
  633. package/source/class/qx/test/mobile/page/Manager.js +7 -13
  634. package/source/class/qx/test/mobile/page/NavigationPage.js +7 -17
  635. package/source/class/qx/test/mobile/page/Page.js +101 -68
  636. package/source/class/qx/test/mobile/tabbar/TabBar.js +11 -21
  637. package/source/class/qx/test/mobile/toolbar/Toolbar.js +16 -16
  638. package/source/class/qx/test/performance/BaseCall.js +31 -36
  639. package/source/class/qx/test/performance/Event.js +60 -53
  640. package/source/class/qx/test/performance/Object.js +16 -22
  641. package/source/class/qx/test/performance/Property.js +20 -22
  642. package/source/class/qx/test/performance/data/Marshaling.js +25 -30
  643. package/source/class/qx/test/performance/decorator/AbstractDecorator.js +22 -34
  644. package/source/class/qx/test/performance/decorator/Background.js +4 -6
  645. package/source/class/qx/test/performance/decorator/BackgroundScale.js +6 -8
  646. package/source/class/qx/test/performance/decorator/Single.js +4 -6
  647. package/source/class/qx/test/performance/element/Element.js +50 -67
  648. package/source/class/qx/test/performance/widget/AbstractWidget.js +31 -44
  649. package/source/class/qx/test/performance/widget/Button.js +5 -7
  650. package/source/class/qx/test/performance/widget/Label.js +5 -7
  651. package/source/class/qx/test/performance/widget/RichLabel.js +6 -8
  652. package/source/class/qx/test/performance/widget/Widget.js +5 -7
  653. package/source/class/qx/test/performance/widget/WidgetWithDecorator.js +7 -9
  654. package/source/class/qx/test/performance/widget/WidgetWithSingle.js +9 -11
  655. package/source/class/qx/test/renderer/Color.js +22 -49
  656. package/source/class/qx/test/testclasses/BaseClassBoth.js +11 -8
  657. package/source/class/qx/test/testclasses/BaseClassIncluded.js +5 -6
  658. package/source/class/qx/test/testclasses/BaseClassPatched.js +15 -8
  659. package/source/class/qx/test/testclasses/DerivedClassBoth.js +7 -7
  660. package/source/class/qx/test/testclasses/DerivedClassIncluded.js +7 -7
  661. package/source/class/qx/test/testclasses/DerivedClassPatched.js +7 -7
  662. package/source/class/qx/test/testclasses/MMixinOne.js +4 -4
  663. package/source/class/qx/test/testclasses/MMixinTwo.js +2 -2
  664. package/source/class/qx/test/testclasses/RootClass.js +8 -8
  665. package/source/class/qx/test/theme/__init__.js +4 -4
  666. package/source/class/qx/test/theme/manager/Color.js +52 -66
  667. package/source/class/qx/test/theme/manager/Decoration.js +177 -154
  668. package/source/class/qx/test/theme/manager/Font.js +68 -39
  669. package/source/class/qx/test/theme/manager/Icon.js +46 -43
  670. package/source/class/qx/test/theme/manager/Meta.js +121 -110
  671. package/source/class/qx/test/theme/manager/__init__.js +4 -4
  672. package/source/class/qx/test/theme/manager/mock/Appearance.js +17 -23
  673. package/source/class/qx/test/theme/manager/mock/Color.js +7 -9
  674. package/source/class/qx/test/theme/manager/mock/Decoration.js +7 -10
  675. package/source/class/qx/test/theme/manager/mock/Font.js +6 -10
  676. package/source/class/qx/test/theme/simple/Appearance.js +268 -210
  677. package/source/class/qx/test/tool/utils/Utils.js +10 -8
  678. package/source/class/qx/test/toolchain/PrivateOptimization.js +20 -13
  679. package/source/class/qx/test/toolchain/TestRunner.js +12 -12
  680. package/source/class/qx/test/toolchain/VariantOptimization.js +37 -26
  681. package/source/class/qx/test/toolchain/__init__.js +4 -4
  682. package/source/class/qx/test/type/Array.js +8 -12
  683. package/source/class/qx/test/type/BaseArray.js +58 -78
  684. package/source/class/qx/test/type/BaseString.js +27 -65
  685. package/source/class/qx/test/type/__init__.js +4 -4
  686. package/source/class/qx/test/ui/BackgroundColor.js +20 -21
  687. package/source/class/qx/test/ui/ChildrenHandling.js +136 -81
  688. package/source/class/qx/test/ui/Destroy.js +310 -248
  689. package/source/class/qx/test/ui/Focus.js +40 -87
  690. package/source/class/qx/test/ui/Insets.js +14 -18
  691. package/source/class/qx/test/ui/LayoutTestCase.js +99 -92
  692. package/source/class/qx/test/ui/LocaleSwitch.js +37 -41
  693. package/source/class/qx/test/ui/RadioItems.js +11 -22
  694. package/source/class/qx/test/ui/Widget.js +13 -17
  695. package/source/class/qx/test/ui/Window.js +26 -39
  696. package/source/class/qx/test/ui/basic/Atom.js +37 -25
  697. package/source/class/qx/test/ui/basic/Image.js +179 -138
  698. package/source/class/qx/test/ui/basic/Label.js +147 -65
  699. package/source/class/qx/test/ui/basic/__init__.js +4 -4
  700. package/source/class/qx/test/ui/command/Command.js +105 -69
  701. package/source/class/qx/test/ui/command/Group.js +24 -21
  702. package/source/class/qx/test/ui/command/GroupManager.js +7 -12
  703. package/source/class/qx/test/ui/container/Stack.js +26 -36
  704. package/source/class/qx/test/ui/core/AbstractScrollArea.js +84 -67
  705. package/source/class/qx/test/ui/core/Appearance.js +53 -54
  706. package/source/class/qx/test/ui/core/Blocker.js +80 -44
  707. package/source/class/qx/test/ui/core/DragDropScrolling.js +69 -55
  708. package/source/class/qx/test/ui/core/Placement.js +22 -34
  709. package/source/class/qx/test/ui/core/Queues.js +28 -39
  710. package/source/class/qx/test/ui/core/SizeHint.js +32 -76
  711. package/source/class/qx/test/ui/core/SizeHintX.js +8 -15
  712. package/source/class/qx/test/ui/core/SizeHintY.js +8 -15
  713. package/source/class/qx/test/ui/core/Spacer.js +11 -18
  714. package/source/class/qx/test/ui/core/Widget.js +117 -112
  715. package/source/class/qx/test/ui/core/__init__.js +4 -4
  716. package/source/class/qx/test/ui/decoration/LinearGradient.js +18 -14
  717. package/source/class/qx/test/ui/embed/Iframe.js +69 -65
  718. package/source/class/qx/test/ui/embed/__init__.js +4 -4
  719. package/source/class/qx/test/ui/form/AbstractSelectBox.js +11 -16
  720. package/source/class/qx/test/ui/form/AbstractVirtualBox.js +12 -19
  721. package/source/class/qx/test/ui/form/BooleanFormat.js +40 -25
  722. package/source/class/qx/test/ui/form/Color.js +29 -19
  723. package/source/class/qx/test/ui/form/ComboBox.js +39 -25
  724. package/source/class/qx/test/ui/form/Date.js +34 -21
  725. package/source/class/qx/test/ui/form/DateField.js +16 -19
  726. package/source/class/qx/test/ui/form/Executable.js +98 -68
  727. package/source/class/qx/test/ui/form/Field.js +65 -54
  728. package/source/class/qx/test/ui/form/Form.js +211 -123
  729. package/source/class/qx/test/ui/form/FormManager.js +72 -100
  730. package/source/class/qx/test/ui/form/FormValidator.js +549 -399
  731. package/source/class/qx/test/ui/form/Label.js +87 -65
  732. package/source/class/qx/test/ui/form/List.js +19 -19
  733. package/source/class/qx/test/ui/form/MenuButton.js +26 -20
  734. package/source/class/qx/test/ui/form/ModelProperty.js +40 -36
  735. package/source/class/qx/test/ui/form/ModelSelection.js +39 -84
  736. package/source/class/qx/test/ui/form/NumberFormat.js +30 -19
  737. package/source/class/qx/test/ui/form/Placeholder.js +147 -87
  738. package/source/class/qx/test/ui/form/RadioButtonGroup.js +31 -26
  739. package/source/class/qx/test/ui/form/RadioGroup.js +58 -54
  740. package/source/class/qx/test/ui/form/Range.js +63 -28
  741. package/source/class/qx/test/ui/form/Renderer.js +39 -33
  742. package/source/class/qx/test/ui/form/Resetter.js +21 -35
  743. package/source/class/qx/test/ui/form/Slider.js +37 -21
  744. package/source/class/qx/test/ui/form/Spinner.js +9 -5
  745. package/source/class/qx/test/ui/form/SplitButton.js +7 -11
  746. package/source/class/qx/test/ui/form/StringFormat.js +60 -30
  747. package/source/class/qx/test/ui/form/TextArea.js +59 -41
  748. package/source/class/qx/test/ui/form/TextField.js +14 -16
  749. package/source/class/qx/test/ui/form/ToggleButton.js +20 -24
  750. package/source/class/qx/test/ui/form/VirtualSelectBox.js +66 -40
  751. package/source/class/qx/test/ui/form/__init__.js +4 -4
  752. package/source/class/qx/test/ui/form/virtual/VirtualComboBox.js +58 -60
  753. package/source/class/qx/test/ui/form/virtual/VirtualDropDownList.js +120 -110
  754. package/source/class/qx/test/ui/form/virtual/VirtualSelectBox.js +43 -27
  755. package/source/class/qx/test/ui/groupbox/CheckGroupBox.js +13 -18
  756. package/source/class/qx/test/ui/indicator/ProgressBar.js +73 -48
  757. package/source/class/qx/test/ui/layout/Box.js +23 -22
  758. package/source/class/qx/test/ui/layout/Flow.js +233 -153
  759. package/source/class/qx/test/ui/layout/Grid.js +88 -101
  760. package/source/class/qx/test/ui/layout/LayoutItem.js +57 -83
  761. package/source/class/qx/test/ui/layout/LayoutRoot.js +7 -11
  762. package/source/class/qx/test/ui/layout/Util.js +30 -31
  763. package/source/class/qx/test/ui/layout/__init__.js +4 -4
  764. package/source/class/qx/test/ui/list/AbstractListTest.js +13 -21
  765. package/source/class/qx/test/ui/list/Group.js +191 -114
  766. package/source/class/qx/test/ui/list/List.js +189 -132
  767. package/source/class/qx/test/ui/list/MAssert.js +14 -9
  768. package/source/class/qx/test/ui/list/ObjectGroup.js +131 -109
  769. package/source/class/qx/test/ui/list/core/MultiSelection.js +58 -44
  770. package/source/class/qx/test/ui/list/core/SingleSelection.js +43 -43
  771. package/source/class/qx/test/ui/list/fixture/GroupMock.js +6 -9
  772. package/source/class/qx/test/ui/list/fixture/ItemMock.js +9 -13
  773. package/source/class/qx/test/ui/root/Inline.js +22 -20
  774. package/source/class/qx/test/ui/selection/AbstractMultiSelectonTest.js +188 -105
  775. package/source/class/qx/test/ui/selection/AbstractSingleSelectonTest.js +173 -125
  776. package/source/class/qx/test/ui/selection/ListMultiSelection.js +19 -21
  777. package/source/class/qx/test/ui/selection/ListSingleSelection.js +19 -21
  778. package/source/class/qx/test/ui/selection/RadioGroup.js +41 -29
  779. package/source/class/qx/test/ui/selection/SelectBox.js +11 -17
  780. package/source/class/qx/test/ui/selection/Stack.js +22 -27
  781. package/source/class/qx/test/ui/selection/TabView.js +35 -26
  782. package/source/class/qx/test/ui/selection/TreeMultiSelection.js +14 -19
  783. package/source/class/qx/test/ui/selection/TreeSingleSelection.js +20 -24
  784. package/source/class/qx/test/ui/selection/__init__.js +4 -4
  785. package/source/class/qx/test/ui/table/Dispose.js +46 -46
  786. package/source/class/qx/test/ui/table/Table.js +74 -69
  787. package/source/class/qx/test/ui/table/__init__.js +4 -4
  788. package/source/class/qx/test/ui/table/celleditor/AbstractField.js +14 -28
  789. package/source/class/qx/test/ui/table/celleditor/ComboBox.js +11 -18
  790. package/source/class/qx/test/ui/table/celleditor/PasswordField.js +6 -10
  791. package/source/class/qx/test/ui/table/celleditor/SelectBox.js +16 -32
  792. package/source/class/qx/test/ui/table/celleditor/TextField.js +6 -9
  793. package/source/class/qx/test/ui/table/celleditor/__init__.js +4 -4
  794. package/source/class/qx/test/ui/table/columnmodel/Basic.js +130 -129
  795. package/source/class/qx/test/ui/table/model/Filtered.js +51 -36
  796. package/source/class/qx/test/ui/table/model/Simple.js +43 -45
  797. package/source/class/qx/test/ui/table/selection/Model.js +70 -22
  798. package/source/class/qx/test/ui/toolbar/OverflowHandling.js +145 -123
  799. package/source/class/qx/test/ui/toolbar/ToolBar.js +20 -30
  800. package/source/class/qx/test/ui/tree/Tree.js +63 -42
  801. package/source/class/qx/test/ui/tree/TreeFolder.js +44 -46
  802. package/source/class/qx/test/ui/tree/virtual/AbstractTreeTest.js +61 -96
  803. package/source/class/qx/test/ui/tree/virtual/MultiSelection.js +68 -39
  804. package/source/class/qx/test/ui/tree/virtual/OneSelection.js +82 -42
  805. package/source/class/qx/test/ui/tree/virtual/OpenCloseController.js +80 -101
  806. package/source/class/qx/test/ui/tree/virtual/SingleSelection.js +40 -32
  807. package/source/class/qx/test/ui/tree/virtual/Sorting.js +46 -47
  808. package/source/class/qx/test/ui/tree/virtual/Tree.js +267 -191
  809. package/source/class/qx/test/ui/tree/virtual/TreeItem.js +60 -63
  810. package/source/class/qx/test/ui/tree/virtual/UtilTest.js +65 -50
  811. package/source/class/qx/test/ui/tree/virtual/WidgetProvider.js +127 -132
  812. package/source/class/qx/test/ui/virtual/Axis.js +210 -193
  813. package/source/class/qx/test/ui/virtual/Pane.js +287 -190
  814. package/source/class/qx/test/ui/virtual/PaneUpdate.js +71 -77
  815. package/source/class/qx/test/ui/virtual/PointerEventMock.js +10 -13
  816. package/source/class/qx/test/ui/virtual/Scroller.js +29 -39
  817. package/source/class/qx/test/ui/virtual/__init__.js +4 -4
  818. package/source/class/qx/test/ui/virtual/cell/WidgetCell.js +39 -40
  819. package/source/class/qx/test/ui/virtual/layer/CellSpanManager.js +157 -127
  820. package/source/class/qx/test/ui/virtual/layer/Column.js +6 -10
  821. package/source/class/qx/test/ui/virtual/layer/GridLines.js +6 -10
  822. package/source/class/qx/test/ui/virtual/layer/GridLinesHorizontal.js +6 -9
  823. package/source/class/qx/test/ui/virtual/layer/GridLinesVertical.js +6 -9
  824. package/source/class/qx/test/ui/virtual/layer/HtmlCell.js +12 -19
  825. package/source/class/qx/test/ui/virtual/layer/HtmlCellSpan.js +13 -21
  826. package/source/class/qx/test/ui/virtual/layer/LayerMock.js +31 -43
  827. package/source/class/qx/test/ui/virtual/layer/LayerSimple.js +26 -26
  828. package/source/class/qx/test/ui/virtual/layer/LayerTestCase.js +52 -50
  829. package/source/class/qx/test/ui/virtual/layer/Row.js +6 -10
  830. package/source/class/qx/test/ui/virtual/layer/WidgetCell.js +45 -52
  831. package/source/class/qx/test/ui/virtual/layer/WidgetCellSpan.js +71 -48
  832. package/source/class/qx/test/ui/virtual/layer/__init__.js +4 -4
  833. package/source/class/qx/test/ui/virtual/performance/AbstractLayerTest.js +84 -68
  834. package/source/class/qx/test/ui/virtual/performance/DomCell.js +6 -9
  835. package/source/class/qx/test/ui/virtual/performance/DomPoolCell.js +6 -9
  836. package/source/class/qx/test/ui/virtual/performance/HtmlDivCell.js +7 -11
  837. package/source/class/qx/test/ui/virtual/performance/HtmlDivRelative.js +6 -9
  838. package/source/class/qx/test/ui/virtual/performance/HtmlTableCell.js +8 -13
  839. package/source/class/qx/test/ui/virtual/performance/HtmlTableCellNaive.js +8 -13
  840. package/source/class/qx/test/ui/virtual/performance/HtmlTableCssCell.js +8 -19
  841. package/source/class/qx/test/ui/virtual/performance/WidgetCell.js +10 -15
  842. package/source/class/qx/test/ui/virtual/performance/__init__.js +4 -4
  843. package/source/class/qx/test/ui/virtual/performance/layer/DomCell.js +24 -18
  844. package/source/class/qx/test/ui/virtual/performance/layer/DomPoolCell.js +28 -26
  845. package/source/class/qx/test/ui/virtual/performance/layer/HtmlDivRelative.js +13 -17
  846. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCell.js +29 -28
  847. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCellNaive.js +22 -24
  848. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCssCell.js +32 -47
  849. package/source/class/qx/test/ui/virtual/performance/layer/__init__.js +4 -4
  850. package/source/class/qx/test/ui/window/Desktop.js +21 -12
  851. package/source/class/qx/test/util/Base64.js +10 -13
  852. package/source/class/qx/test/util/ColorUtil.js +121 -54
  853. package/source/class/qx/test/util/DateFormat.js +582 -351
  854. package/source/class/qx/test/util/DateMock.js +16 -19
  855. package/source/class/qx/test/util/DeferredCall.js +12 -13
  856. package/source/class/qx/test/util/Delegate.js +28 -26
  857. package/source/class/qx/test/util/DisposeUtil.js +32 -14
  858. package/source/class/qx/test/util/DynamicScriptLoader.js +99 -64
  859. package/source/class/qx/test/util/Fsm.js +16 -18
  860. package/source/class/qx/test/util/Function.js +23 -19
  861. package/source/class/qx/test/util/LibraryManager.js +15 -22
  862. package/source/class/qx/test/util/NumberFormat.js +53 -64
  863. package/source/class/qx/test/util/PropertyUtil.js +35 -35
  864. package/source/class/qx/test/util/Request.js +26 -18
  865. package/source/class/qx/test/util/ResourceManager.js +50 -35
  866. package/source/class/qx/test/util/ResponseParser.js +45 -35
  867. package/source/class/qx/test/util/RingBuffer.js +15 -28
  868. package/source/class/qx/test/util/Serializer.js +210 -153
  869. package/source/class/qx/test/util/StringBuilder.js +7 -13
  870. package/source/class/qx/test/util/StringSplit.js +114 -69
  871. package/source/class/qx/test/util/Uri.js +74 -78
  872. package/source/class/qx/test/util/Validate.js +95 -64
  873. package/source/class/qx/test/util/placement/BestFitAxis.js +17 -26
  874. package/source/class/qx/test/util/placement/DirectAxis.js +8 -11
  875. package/source/class/qx/test/util/placement/KeepAlignAxis.js +17 -26
  876. package/source/class/qx/test/util/placement/Placement.js +607 -244
  877. package/source/class/qx/test/util/placement/__init__.js +4 -4
  878. package/source/class/qx/theme/Classic.js +9 -11
  879. package/source/class/qx/theme/Indigo.js +9 -11
  880. package/source/class/qx/theme/Modern.js +9 -11
  881. package/source/class/qx/theme/Simple.js +9 -11
  882. package/source/class/qx/theme/TangibleDark.js +1 -1
  883. package/source/class/qx/theme/TangibleLight.js +1 -1
  884. package/source/class/qx/theme/__init__.js +4 -4
  885. package/source/class/qx/theme/classic/Appearance.js +995 -1336
  886. package/source/class/qx/theme/classic/Color.js +83 -83
  887. package/source/class/qx/theme/classic/Decoration.js +318 -299
  888. package/source/class/qx/theme/classic/Font.js +38 -25
  889. package/source/class/qx/theme/icon/Oxygen.js +4 -5
  890. package/source/class/qx/theme/icon/Tango.js +4 -5
  891. package/source/class/qx/theme/indigo/Appearance.js +66 -85
  892. package/source/class/qx/theme/indigo/Color.js +65 -66
  893. package/source/class/qx/theme/indigo/Decoration.js +31 -45
  894. package/source/class/qx/theme/indigo/Font.js +20 -29
  895. package/source/class/qx/theme/manager/Appearance.js +58 -91
  896. package/source/class/qx/theme/manager/Color.js +20 -41
  897. package/source/class/qx/theme/manager/Decoration.js +72 -100
  898. package/source/class/qx/theme/manager/Font.js +51 -67
  899. package/source/class/qx/theme/manager/Icon.js +13 -27
  900. package/source/class/qx/theme/manager/Meta.js +27 -44
  901. package/source/class/qx/theme/modern/Appearance.js +1049 -1440
  902. package/source/class/qx/theme/modern/Color.js +155 -166
  903. package/source/class/qx/theme/modern/Decoration.js +471 -598
  904. package/source/class/qx/theme/modern/Font.js +59 -52
  905. package/source/class/qx/theme/simple/Appearance.js +936 -1207
  906. package/source/class/qx/theme/simple/Color.js +62 -62
  907. package/source/class/qx/theme/simple/Decoration.js +456 -678
  908. package/source/class/qx/theme/simple/Font.js +18 -25
  909. package/source/class/qx/theme/simple/Image.js +49 -52
  910. package/source/class/qx/theme/tangible/Appearance.js +1575 -1743
  911. package/source/class/qx/theme/tangible/ColorDark.js +5 -5
  912. package/source/class/qx/theme/tangible/ColorEngine.js +38 -35
  913. package/source/class/qx/theme/tangible/ColorLight.js +7 -7
  914. package/source/class/qx/theme/tangible/Decoration.js +1108 -1300
  915. package/source/class/qx/theme/tangible/Font.js +66 -70
  916. package/source/class/qx/theme/tangible/Image.js +44 -48
  917. package/source/class/qx/tool/cli/Application.js +5 -5
  918. package/source/class/qx/tool/cli/Cli.js +103 -52
  919. package/source/class/qx/tool/cli/ConfigDb.js +18 -15
  920. package/source/class/qx/tool/cli/LibraryApplication.js +1 -1
  921. package/source/class/qx/tool/cli/Watch.js +174 -102
  922. package/source/class/qx/tool/cli/api/AbstractApi.js +17 -18
  923. package/source/class/qx/tool/cli/api/CompilerApi.js +15 -8
  924. package/source/class/qx/tool/cli/api/LibraryApi.js +4 -6
  925. package/source/class/qx/tool/cli/api/Test.js +12 -9
  926. package/source/class/qx/tool/cli/commands/Add.js +12 -15
  927. package/source/class/qx/tool/cli/commands/Clean.js +10 -9
  928. package/source/class/qx/tool/cli/commands/Command.js +18 -13
  929. package/source/class/qx/tool/cli/commands/Compile.js +630 -264
  930. package/source/class/qx/tool/cli/commands/Config.js +75 -42
  931. package/source/class/qx/tool/cli/commands/Create.js +108 -59
  932. package/source/class/qx/tool/cli/commands/Deploy.js +138 -86
  933. package/source/class/qx/tool/cli/commands/Es6ify.js +118 -0
  934. package/source/class/qx/tool/cli/commands/Lint.js +75 -34
  935. package/source/class/qx/tool/cli/commands/Migrate.js +13 -7
  936. package/source/class/qx/tool/cli/commands/Package.js +67 -45
  937. package/source/class/qx/tool/cli/commands/Pkg.js +21 -18
  938. package/source/class/qx/tool/cli/commands/Run.js +57 -37
  939. package/source/class/qx/tool/cli/commands/Serve.js +62 -37
  940. package/source/class/qx/tool/cli/commands/Test.js +40 -18
  941. package/source/class/qx/tool/cli/commands/add/Class.js +66 -28
  942. package/source/class/qx/tool/cli/commands/add/Script.js +54 -27
  943. package/source/class/qx/tool/cli/commands/package/Install.js +265 -103
  944. package/source/class/qx/tool/cli/commands/package/List.js +199 -75
  945. package/source/class/qx/tool/cli/commands/package/Migrate.js +7 -3
  946. package/source/class/qx/tool/cli/commands/package/Publish.js +209 -117
  947. package/source/class/qx/tool/cli/commands/package/Remove.js +40 -17
  948. package/source/class/qx/tool/cli/commands/package/Update.js +115 -48
  949. package/source/class/qx/tool/cli/commands/package/Upgrade.js +41 -20
  950. package/source/class/qx/tool/compiler/Analyser.js +427 -222
  951. package/source/class/qx/tool/compiler/ClassFile.js +831 -401
  952. package/source/class/qx/tool/compiler/Console.js +136 -87
  953. package/source/class/qx/tool/compiler/Es6ify.js +404 -0
  954. package/source/class/qx/tool/compiler/Preprocess.js +28 -25
  955. package/source/class/qx/tool/compiler/app/Application.js +149 -72
  956. package/source/class/qx/tool/compiler/app/Cldr.js +506 -106
  957. package/source/class/qx/tool/compiler/app/Library.js +62 -27
  958. package/source/class/qx/tool/compiler/app/Part.js +10 -12
  959. package/source/class/qx/tool/compiler/app/Translation.js +189 -162
  960. package/source/class/qx/tool/compiler/app/WebFont.js +215 -161
  961. package/source/class/qx/tool/compiler/jsdoc/ChildControlParser.js +3 -3
  962. package/source/class/qx/tool/compiler/jsdoc/CommandParser.js +8 -9
  963. package/source/class/qx/tool/compiler/jsdoc/ParamParser.js +7 -6
  964. package/source/class/qx/tool/compiler/jsdoc/Parser.js +27 -18
  965. package/source/class/qx/tool/compiler/jsdoc/ReturnParser.js +3 -3
  966. package/source/class/qx/tool/compiler/jsdoc/ThrowsParser.js +4 -4
  967. package/source/class/qx/tool/compiler/makers/AbstractAppMaker.js +5 -6
  968. package/source/class/qx/tool/compiler/makers/AppMaker.js +38 -18
  969. package/source/class/qx/tool/compiler/makers/Maker.js +29 -21
  970. package/source/class/qx/tool/compiler/resources/AbstractMatcher.js +8 -8
  971. package/source/class/qx/tool/compiler/resources/Asset.js +123 -61
  972. package/source/class/qx/tool/compiler/resources/ImageLoader.js +18 -8
  973. package/source/class/qx/tool/compiler/resources/Manager.js +156 -93
  974. package/source/class/qx/tool/compiler/resources/MetaLoader.js +5 -3
  975. package/source/class/qx/tool/compiler/resources/ResourceConverter.js +8 -8
  976. package/source/class/qx/tool/compiler/resources/ResourceLoader.js +8 -9
  977. package/source/class/qx/tool/compiler/resources/ScssConverter.js +54 -18
  978. package/source/class/qx/tool/compiler/resources/ScssFile.js +157 -80
  979. package/source/class/qx/tool/compiler/resources/ScssIncludeConverter.js +3 -3
  980. package/source/class/qx/tool/compiler/targets/BuildTarget.js +23 -13
  981. package/source/class/qx/tool/compiler/targets/SourceCodeCopier.js +29 -9
  982. package/source/class/qx/tool/compiler/targets/SourceTarget.js +2 -2
  983. package/source/class/qx/tool/compiler/targets/Target.js +292 -188
  984. package/source/class/qx/tool/compiler/targets/TypeScriptWriter.js +163 -103
  985. package/source/class/qx/tool/compiler/targets/meta/AbstractJavascriptMeta.js +48 -23
  986. package/source/class/qx/tool/compiler/targets/meta/ApplicationMeta.js +75 -62
  987. package/source/class/qx/tool/compiler/targets/meta/BootJs.js +49 -29
  988. package/source/class/qx/tool/compiler/targets/meta/Javascript.js +6 -7
  989. package/source/class/qx/tool/compiler/targets/meta/Package.js +54 -51
  990. package/source/class/qx/tool/compiler/targets/meta/PackageJavascript.js +41 -21
  991. package/source/class/qx/tool/compiler/targets/meta/Part.js +9 -10
  992. package/source/class/qx/tool/compiler/targets/meta/PolyfillJs.js +10 -5
  993. package/source/class/qx/tool/compiler/targets/meta/Uglify.js +35 -23
  994. package/source/class/qx/tool/config/Abstract.js +61 -25
  995. package/source/class/qx/tool/config/Compile.js +3 -2
  996. package/source/class/qx/tool/config/Lockfile.js +3 -2
  997. package/source/class/qx/tool/config/Manifest.js +3 -2
  998. package/source/class/qx/tool/config/Registry.js +4 -3
  999. package/source/class/qx/tool/config/Utils.js +88 -37
  1000. package/source/class/qx/tool/migration/BaseMigration.js +67 -25
  1001. package/source/class/qx/tool/migration/M6_0_0.js +96 -46
  1002. package/source/class/qx/tool/migration/M7_0_0.js +12 -6
  1003. package/source/class/qx/tool/migration/Runner.js +28 -14
  1004. package/source/class/qx/tool/utils/IndexedArray.js +15 -18
  1005. package/source/class/qx/tool/utils/Json.js +35 -14
  1006. package/source/class/qx/tool/utils/LogManager.js +50 -26
  1007. package/source/class/qx/tool/utils/Logger.js +11 -12
  1008. package/source/class/qx/tool/utils/Promisify.js +45 -49
  1009. package/source/class/qx/tool/utils/Utils.js +63 -48
  1010. package/source/class/qx/tool/utils/Values.js +4 -7
  1011. package/source/class/qx/tool/utils/Website.js +82 -29
  1012. package/source/class/qx/tool/utils/files/FindFiles.js +37 -33
  1013. package/source/class/qx/tool/utils/files/Utils.js +74 -54
  1014. package/source/class/qx/tool/utils/json/Parser.js +163 -54
  1015. package/source/class/qx/tool/utils/json/Stringify.js +87 -72
  1016. package/source/class/qx/tool/utils/json/Tokenizer.js +64 -39
  1017. package/source/class/qx/tool/utils/json/Writer.js +20 -21
  1018. package/source/class/qx/type/Array.js +19 -41
  1019. package/source/class/qx/type/BaseArray.js +136 -151
  1020. package/source/class/qx/type/BaseError.js +17 -34
  1021. package/source/class/qx/type/BaseString.js +104 -121
  1022. package/source/class/qx/type/__init__.js +3 -3
  1023. package/source/class/qx/ui/basic/Atom.js +75 -109
  1024. package/source/class/qx/ui/basic/Image.js +283 -319
  1025. package/source/class/qx/ui/basic/Label.js +161 -208
  1026. package/source/class/qx/ui/command/Command.js +51 -86
  1027. package/source/class/qx/ui/command/Group.js +43 -50
  1028. package/source/class/qx/ui/command/GroupManager.js +50 -53
  1029. package/source/class/qx/ui/container/Composite.js +15 -29
  1030. package/source/class/qx/ui/container/Resizer.js +7 -11
  1031. package/source/class/qx/ui/container/Scroll.js +10 -21
  1032. package/source/class/qx/ui/container/SlideBar.js +76 -119
  1033. package/source/class/qx/ui/container/Stack.js +27 -54
  1034. package/source/class/qx/ui/control/ColorPopup.js +109 -130
  1035. package/source/class/qx/ui/control/ColorSelector.js +334 -301
  1036. package/source/class/qx/ui/control/DateChooser.js +143 -177
  1037. package/source/class/qx/ui/core/Blocker.js +91 -127
  1038. package/source/class/qx/ui/core/ColumnData.js +16 -34
  1039. package/source/class/qx/ui/core/DragDropCursor.js +17 -30
  1040. package/source/class/qx/ui/core/DragDropScrolling.js +8 -14
  1041. package/source/class/qx/ui/core/EventHandler.js +108 -132
  1042. package/source/class/qx/ui/core/FocusHandler.js +78 -127
  1043. package/source/class/qx/ui/core/IMultiSelection.js +5 -9
  1044. package/source/class/qx/ui/core/ISingleSelection.js +10 -16
  1045. package/source/class/qx/ui/core/ISingleSelectionProvider.js +4 -6
  1046. package/source/class/qx/ui/core/LayoutItem.js +190 -306
  1047. package/source/class/qx/ui/core/MBlocker.js +22 -38
  1048. package/source/class/qx/ui/core/MChildrenHandling.js +14 -29
  1049. package/source/class/qx/ui/core/MContentPadding.js +50 -69
  1050. package/source/class/qx/ui/core/MDragDropScrolling.js +82 -80
  1051. package/source/class/qx/ui/core/MExecutable.js +27 -52
  1052. package/source/class/qx/ui/core/MLayoutHandling.js +6 -14
  1053. package/source/class/qx/ui/core/MMovable.js +64 -80
  1054. package/source/class/qx/ui/core/MMultiSelectionHandling.js +68 -87
  1055. package/source/class/qx/ui/core/MNativeOverflow.js +16 -26
  1056. package/source/class/qx/ui/core/MPlacement.js +171 -170
  1057. package/source/class/qx/ui/core/MRemoteChildrenHandling.js +14 -27
  1058. package/source/class/qx/ui/core/MRemoteLayoutHandling.js +4 -7
  1059. package/source/class/qx/ui/core/MResizable.js +142 -175
  1060. package/source/class/qx/ui/core/MSingleSelectionHandling.js +40 -45
  1061. package/source/class/qx/ui/core/SingleSelectionManager.js +41 -60
  1062. package/source/class/qx/ui/core/Spacer.js +12 -22
  1063. package/source/class/qx/ui/core/Widget.js +628 -983
  1064. package/source/class/qx/ui/core/queue/Appearance.js +15 -24
  1065. package/source/class/qx/ui/core/queue/Dispose.js +7 -16
  1066. package/source/class/qx/ui/core/queue/Layout.js +44 -71
  1067. package/source/class/qx/ui/core/queue/Manager.js +140 -133
  1068. package/source/class/qx/ui/core/queue/Visibility.js +21 -39
  1069. package/source/class/qx/ui/core/queue/Widget.js +15 -26
  1070. package/source/class/qx/ui/core/scroll/AbstractScrollArea.js +124 -162
  1071. package/source/class/qx/ui/core/scroll/IScrollBar.js +13 -24
  1072. package/source/class/qx/ui/core/scroll/MRoll.js +14 -19
  1073. package/source/class/qx/ui/core/scroll/MScrollBarFactory.js +3 -6
  1074. package/source/class/qx/ui/core/scroll/MWheelHandling.js +10 -12
  1075. package/source/class/qx/ui/core/scroll/NativeScrollBar.js +101 -125
  1076. package/source/class/qx/ui/core/scroll/ScrollBar.js +86 -130
  1077. package/source/class/qx/ui/core/scroll/ScrollPane.js +95 -134
  1078. package/source/class/qx/ui/core/scroll/ScrollSlider.js +13 -19
  1079. package/source/class/qx/ui/core/scroll/__init__.js +4 -4
  1080. package/source/class/qx/ui/core/selection/Abstract.js +255 -456
  1081. package/source/class/qx/ui/core/selection/ScrollArea.js +35 -73
  1082. package/source/class/qx/ui/core/selection/Widget.js +57 -120
  1083. package/source/class/qx/ui/decoration/Abstract.js +11 -20
  1084. package/source/class/qx/ui/decoration/Decorator.js +56 -55
  1085. package/source/class/qx/ui/decoration/IDecorator.js +5 -11
  1086. package/source/class/qx/ui/decoration/MBackgroundColor.js +13 -20
  1087. package/source/class/qx/ui/decoration/MBackgroundImage.js +82 -77
  1088. package/source/class/qx/ui/decoration/MBorderImage.js +72 -94
  1089. package/source/class/qx/ui/decoration/MBorderRadius.js +35 -38
  1090. package/source/class/qx/ui/decoration/MBoxShadow.js +61 -55
  1091. package/source/class/qx/ui/decoration/MDoubleBorder.js +157 -155
  1092. package/source/class/qx/ui/decoration/MLinearBackgroundGradient.js +169 -89
  1093. package/source/class/qx/ui/decoration/MSingleBorder.js +138 -124
  1094. package/source/class/qx/ui/decoration/MTransition.js +46 -42
  1095. package/source/class/qx/ui/decoration/__init__.js +2 -2
  1096. package/source/class/qx/ui/embed/AbstractIframe.js +37 -55
  1097. package/source/class/qx/ui/embed/Canvas.js +34 -66
  1098. package/source/class/qx/ui/embed/Html.js +46 -70
  1099. package/source/class/qx/ui/embed/Iframe.js +178 -158
  1100. package/source/class/qx/ui/embed/ThemedIframe.js +91 -135
  1101. package/source/class/qx/ui/form/AbstractField.js +262 -303
  1102. package/source/class/qx/ui/form/AbstractSelectBox.js +65 -87
  1103. package/source/class/qx/ui/form/Button.js +35 -73
  1104. package/source/class/qx/ui/form/CheckBox.js +26 -48
  1105. package/source/class/qx/ui/form/CheckedList.js +41 -25
  1106. package/source/class/qx/ui/form/CheckedSelectBox.js +97 -62
  1107. package/source/class/qx/ui/form/ComboBox.js +93 -121
  1108. package/source/class/qx/ui/form/DateField.js +140 -181
  1109. package/source/class/qx/ui/form/Form.js +50 -69
  1110. package/source/class/qx/ui/form/HoverButton.js +37 -54
  1111. package/source/class/qx/ui/form/IArrayForm.js +8 -16
  1112. package/source/class/qx/ui/form/IBooleanForm.js +8 -16
  1113. package/source/class/qx/ui/form/IColorForm.js +8 -16
  1114. package/source/class/qx/ui/form/IDateForm.js +8 -16
  1115. package/source/class/qx/ui/form/IExecutable.js +7 -14
  1116. package/source/class/qx/ui/form/IField.js +7 -14
  1117. package/source/class/qx/ui/form/IForm.js +17 -32
  1118. package/source/class/qx/ui/form/IListItem.js +1 -4
  1119. package/source/class/qx/ui/form/IModel.js +7 -15
  1120. package/source/class/qx/ui/form/IModelForm.js +8 -16
  1121. package/source/class/qx/ui/form/IModelSelection.js +4 -8
  1122. package/source/class/qx/ui/form/INumberForm.js +8 -15
  1123. package/source/class/qx/ui/form/IRadioItem.js +8 -17
  1124. package/source/class/qx/ui/form/IRange.js +10 -20
  1125. package/source/class/qx/ui/form/IStringForm.js +8 -16
  1126. package/source/class/qx/ui/form/List.js +82 -122
  1127. package/source/class/qx/ui/form/ListItem.js +21 -38
  1128. package/source/class/qx/ui/form/MForm.js +35 -41
  1129. package/source/class/qx/ui/form/MModelProperty.js +9 -14
  1130. package/source/class/qx/ui/form/MModelSelection.js +30 -32
  1131. package/source/class/qx/ui/form/MenuButton.js +44 -75
  1132. package/source/class/qx/ui/form/PasswordField.js +4 -6
  1133. package/source/class/qx/ui/form/RadioButton.js +36 -72
  1134. package/source/class/qx/ui/form/RadioButtonGroup.js +67 -82
  1135. package/source/class/qx/ui/form/RadioGroup.js +92 -127
  1136. package/source/class/qx/ui/form/RepeatButton.js +57 -106
  1137. package/source/class/qx/ui/form/Resetter.js +19 -29
  1138. package/source/class/qx/ui/form/SelectBox.js +56 -104
  1139. package/source/class/qx/ui/form/Slider.js +202 -269
  1140. package/source/class/qx/ui/form/Spinner.js +173 -217
  1141. package/source/class/qx/ui/form/SplitButton.js +73 -115
  1142. package/source/class/qx/ui/form/Tag.js +7 -8
  1143. package/source/class/qx/ui/form/TextArea.js +147 -153
  1144. package/source/class/qx/ui/form/TextField.js +37 -46
  1145. package/source/class/qx/ui/form/ToggleButton.js +54 -90
  1146. package/source/class/qx/ui/form/VirtualComboBox.js +73 -113
  1147. package/source/class/qx/ui/form/VirtualSelectBox.js +264 -274
  1148. package/source/class/qx/ui/form/core/AbstractVirtualBox.js +117 -157
  1149. package/source/class/qx/ui/form/core/VirtualDropDownList.js +101 -144
  1150. package/source/class/qx/ui/form/renderer/AbstractRenderer.js +48 -55
  1151. package/source/class/qx/ui/form/renderer/Double.js +25 -34
  1152. package/source/class/qx/ui/form/renderer/IFormRenderer.js +4 -8
  1153. package/source/class/qx/ui/form/renderer/Single.js +25 -35
  1154. package/source/class/qx/ui/form/renderer/SinglePlaceholder.js +12 -11
  1155. package/source/class/qx/ui/form/renderer/__init__.js +5 -5
  1156. package/source/class/qx/ui/form/validation/AsyncValidator.js +13 -19
  1157. package/source/class/qx/ui/form/validation/Manager.js +74 -108
  1158. package/source/class/qx/ui/form/validation/__init__.js +6 -6
  1159. package/source/class/qx/ui/groupbox/CheckGroupBox.js +30 -47
  1160. package/source/class/qx/ui/groupbox/GroupBox.js +36 -75
  1161. package/source/class/qx/ui/groupbox/RadioGroupBox.js +29 -59
  1162. package/source/class/qx/ui/groupbox/__init__.js +3 -3
  1163. package/source/class/qx/ui/indicator/ProgressBar.js +29 -46
  1164. package/source/class/qx/ui/layout/Abstract.js +28 -53
  1165. package/source/class/qx/ui/layout/Atom.js +95 -111
  1166. package/source/class/qx/ui/layout/Basic.js +29 -30
  1167. package/source/class/qx/ui/layout/Canvas.js +62 -99
  1168. package/source/class/qx/ui/layout/Dock.js +266 -250
  1169. package/source/class/qx/ui/layout/Flow.js +50 -76
  1170. package/source/class/qx/ui/layout/Grid.js +268 -343
  1171. package/source/class/qx/ui/layout/Grow.js +26 -32
  1172. package/source/class/qx/ui/layout/HBox.js +137 -153
  1173. package/source/class/qx/ui/layout/LineSizeIterator.js +19 -28
  1174. package/source/class/qx/ui/layout/Util.js +91 -120
  1175. package/source/class/qx/ui/layout/VBox.js +125 -147
  1176. package/source/class/qx/ui/list/List.js +148 -262
  1177. package/source/class/qx/ui/list/core/IListDelegate.js +13 -26
  1178. package/source/class/qx/ui/list/core/MWidgetController.js +51 -78
  1179. package/source/class/qx/ui/list/provider/IListProvider.js +15 -28
  1180. package/source/class/qx/ui/list/provider/WidgetProvider.js +52 -84
  1181. package/source/class/qx/ui/menu/AbstractButton.js +118 -127
  1182. package/source/class/qx/ui/menu/Button.js +11 -25
  1183. package/source/class/qx/ui/menu/ButtonLayout.js +49 -37
  1184. package/source/class/qx/ui/menu/CheckBox.js +21 -46
  1185. package/source/class/qx/ui/menu/Layout.js +45 -51
  1186. package/source/class/qx/ui/menu/Manager.js +131 -209
  1187. package/source/class/qx/ui/menu/Menu.js +164 -259
  1188. package/source/class/qx/ui/menu/MenuSlideBar.js +13 -20
  1189. package/source/class/qx/ui/menu/RadioButton.js +29 -51
  1190. package/source/class/qx/ui/menu/Separator.js +9 -16
  1191. package/source/class/qx/ui/menubar/Button.js +23 -41
  1192. package/source/class/qx/ui/menubar/MenuBar.js +9 -13
  1193. package/source/class/qx/ui/mobile/__init__.js +5 -5
  1194. package/source/class/qx/ui/mobile/basic/Atom.js +79 -101
  1195. package/source/class/qx/ui/mobile/basic/Image.js +80 -86
  1196. package/source/class/qx/ui/mobile/basic/Label.js +38 -54
  1197. package/source/class/qx/ui/mobile/container/Carousel.js +281 -188
  1198. package/source/class/qx/ui/mobile/container/Collapsible.js +57 -77
  1199. package/source/class/qx/ui/mobile/container/Composite.js +9 -13
  1200. package/source/class/qx/ui/mobile/container/Drawer.js +167 -164
  1201. package/source/class/qx/ui/mobile/container/INavigation.js +6 -10
  1202. package/source/class/qx/ui/mobile/container/IScrollDelegate.js +4 -6
  1203. package/source/class/qx/ui/mobile/container/MIScroll.js +108 -100
  1204. package/source/class/qx/ui/mobile/container/MNativeScroll.js +118 -102
  1205. package/source/class/qx/ui/mobile/container/MScrollHandling.js +8 -7
  1206. package/source/class/qx/ui/mobile/container/Navigation.js +46 -65
  1207. package/source/class/qx/ui/mobile/container/Scroll.js +140 -151
  1208. package/source/class/qx/ui/mobile/control/Picker.js +125 -112
  1209. package/source/class/qx/ui/mobile/core/Blocker.js +62 -71
  1210. package/source/class/qx/ui/mobile/core/DomUpdatedHandler.js +24 -60
  1211. package/source/class/qx/ui/mobile/core/EventHandler.js +158 -138
  1212. package/source/class/qx/ui/mobile/core/MChildrenHandling.js +14 -30
  1213. package/source/class/qx/ui/mobile/core/MLayoutHandling.js +6 -14
  1214. package/source/class/qx/ui/mobile/core/MResize.js +16 -30
  1215. package/source/class/qx/ui/mobile/core/Root.js +90 -80
  1216. package/source/class/qx/ui/mobile/core/Widget.js +351 -479
  1217. package/source/class/qx/ui/mobile/dialog/BusyIndicator.js +31 -46
  1218. package/source/class/qx/ui/mobile/dialog/Manager.js +127 -89
  1219. package/source/class/qx/ui/mobile/dialog/Menu.js +111 -122
  1220. package/source/class/qx/ui/mobile/dialog/Popup.js +202 -194
  1221. package/source/class/qx/ui/mobile/embed/Canvas.js +12 -25
  1222. package/source/class/qx/ui/mobile/embed/Html.js +13 -27
  1223. package/source/class/qx/ui/mobile/form/Button.js +12 -18
  1224. package/source/class/qx/ui/mobile/form/CheckBox.js +20 -35
  1225. package/source/class/qx/ui/mobile/form/Form.js +31 -51
  1226. package/source/class/qx/ui/mobile/form/Group.js +18 -30
  1227. package/source/class/qx/ui/mobile/form/Input.js +30 -35
  1228. package/source/class/qx/ui/mobile/form/Label.js +76 -79
  1229. package/source/class/qx/ui/mobile/form/MState.js +20 -27
  1230. package/source/class/qx/ui/mobile/form/MText.js +27 -47
  1231. package/source/class/qx/ui/mobile/form/MValue.js +66 -94
  1232. package/source/class/qx/ui/mobile/form/NumberField.js +30 -47
  1233. package/source/class/qx/ui/mobile/form/PasswordField.js +8 -14
  1234. package/source/class/qx/ui/mobile/form/RadioButton.js +25 -46
  1235. package/source/class/qx/ui/mobile/form/RadioGroup.js +2 -4
  1236. package/source/class/qx/ui/mobile/form/Row.js +14 -29
  1237. package/source/class/qx/ui/mobile/form/SelectBox.js +77 -104
  1238. package/source/class/qx/ui/mobile/form/Slider.js +116 -144
  1239. package/source/class/qx/ui/mobile/form/TextArea.js +26 -39
  1240. package/source/class/qx/ui/mobile/form/TextField.js +18 -28
  1241. package/source/class/qx/ui/mobile/form/Title.js +11 -19
  1242. package/source/class/qx/ui/mobile/form/ToggleButton.js +35 -58
  1243. package/source/class/qx/ui/mobile/form/__init__.js +1 -1
  1244. package/source/class/qx/ui/mobile/form/renderer/AbstractRenderer.js +24 -31
  1245. package/source/class/qx/ui/mobile/form/renderer/Single.js +59 -85
  1246. package/source/class/qx/ui/mobile/form/renderer/SinglePlaceholder.js +8 -16
  1247. package/source/class/qx/ui/mobile/layout/Abstract.js +48 -85
  1248. package/source/class/qx/ui/mobile/layout/AbstractBox.js +93 -125
  1249. package/source/class/qx/ui/mobile/layout/Card.js +133 -116
  1250. package/source/class/qx/ui/mobile/layout/CardAnimation.js +95 -72
  1251. package/source/class/qx/ui/mobile/layout/HBox.js +9 -12
  1252. package/source/class/qx/ui/mobile/layout/VBox.js +9 -12
  1253. package/source/class/qx/ui/mobile/list/IListDelegate.js +5 -9
  1254. package/source/class/qx/ui/mobile/list/List.js +172 -183
  1255. package/source/class/qx/ui/mobile/list/provider/Provider.js +58 -65
  1256. package/source/class/qx/ui/mobile/list/renderer/Abstract.js +54 -82
  1257. package/source/class/qx/ui/mobile/list/renderer/Default.js +39 -55
  1258. package/source/class/qx/ui/mobile/list/renderer/group/Abstract.js +20 -33
  1259. package/source/class/qx/ui/mobile/list/renderer/group/Default.js +29 -45
  1260. package/source/class/qx/ui/mobile/navigationbar/BackButton.js +11 -15
  1261. package/source/class/qx/ui/mobile/navigationbar/Button.js +11 -15
  1262. package/source/class/qx/ui/mobile/navigationbar/NavigationBar.js +23 -29
  1263. package/source/class/qx/ui/mobile/navigationbar/Title.js +12 -20
  1264. package/source/class/qx/ui/mobile/page/Manager.js +195 -169
  1265. package/source/class/qx/ui/mobile/page/NavigationPage.js +132 -196
  1266. package/source/class/qx/ui/mobile/page/Page.js +109 -148
  1267. package/source/class/qx/ui/mobile/tabbar/TabBar.js +41 -62
  1268. package/source/class/qx/ui/mobile/tabbar/TabButton.js +19 -28
  1269. package/source/class/qx/ui/mobile/toolbar/Button.js +7 -11
  1270. package/source/class/qx/ui/mobile/toolbar/Separator.js +11 -15
  1271. package/source/class/qx/ui/mobile/toolbar/ToolBar.js +30 -39
  1272. package/source/class/qx/ui/popup/Manager.js +41 -53
  1273. package/source/class/qx/ui/popup/Popup.js +22 -47
  1274. package/source/class/qx/ui/popup/__init__.js +32 -32
  1275. package/source/class/qx/ui/progressive/Progressive.js +96 -137
  1276. package/source/class/qx/ui/progressive/State.js +12 -19
  1277. package/source/class/qx/ui/progressive/headfoot/Abstract.js +10 -15
  1278. package/source/class/qx/ui/progressive/headfoot/Null.js +4 -7
  1279. package/source/class/qx/ui/progressive/headfoot/Progress.js +67 -69
  1280. package/source/class/qx/ui/progressive/headfoot/TableHeading.js +42 -54
  1281. package/source/class/qx/ui/progressive/model/Abstract.js +8 -15
  1282. package/source/class/qx/ui/progressive/model/Default.js +17 -29
  1283. package/source/class/qx/ui/progressive/renderer/Abstract.js +6 -11
  1284. package/source/class/qx/ui/progressive/renderer/FunctionCaller.js +4 -7
  1285. package/source/class/qx/ui/progressive/renderer/table/Row.js +215 -242
  1286. package/source/class/qx/ui/progressive/renderer/table/Widths.js +32 -47
  1287. package/source/class/qx/ui/progressive/renderer/table/cell/Abstract.js +17 -24
  1288. package/source/class/qx/ui/progressive/renderer/table/cell/Boolean.js +68 -79
  1289. package/source/class/qx/ui/progressive/renderer/table/cell/Conditional.js +146 -199
  1290. package/source/class/qx/ui/progressive/renderer/table/cell/Default.js +14 -32
  1291. package/source/class/qx/ui/progressive/renderer/table/cell/Html.js +2 -3
  1292. package/source/class/qx/ui/progressive/renderer/table/cell/Icon.js +38 -53
  1293. package/source/class/qx/ui/progressive/renderer/table/cell/Image.js +20 -42
  1294. package/source/class/qx/ui/progressive/renderer/table/cell/String.js +6 -12
  1295. package/source/class/qx/ui/progressive/structure/Abstract.js +14 -26
  1296. package/source/class/qx/ui/progressive/structure/Default.js +20 -40
  1297. package/source/class/qx/ui/root/Abstract.js +73 -90
  1298. package/source/class/qx/ui/root/Application.js +57 -61
  1299. package/source/class/qx/ui/root/Inline.js +78 -64
  1300. package/source/class/qx/ui/root/Page.js +25 -46
  1301. package/source/class/qx/ui/splitpane/Blocker.js +20 -30
  1302. package/source/class/qx/ui/splitpane/HLayout.js +53 -49
  1303. package/source/class/qx/ui/splitpane/Pane.js +112 -150
  1304. package/source/class/qx/ui/splitpane/Slider.js +9 -15
  1305. package/source/class/qx/ui/splitpane/Splitter.js +27 -46
  1306. package/source/class/qx/ui/splitpane/VLayout.js +53 -49
  1307. package/source/class/qx/ui/style/Stylesheet.js +12 -19
  1308. package/source/class/qx/ui/table/ICellEditorFactory.js +4 -8
  1309. package/source/class/qx/ui/table/ICellRenderer.js +3 -7
  1310. package/source/class/qx/ui/table/IColumnMenuButton.js +6 -11
  1311. package/source/class/qx/ui/table/IColumnMenuItem.js +5 -8
  1312. package/source/class/qx/ui/table/IHeaderRenderer.js +4 -8
  1313. package/source/class/qx/ui/table/IRowRenderer.js +6 -12
  1314. package/source/class/qx/ui/table/ITableModel.js +23 -41
  1315. package/source/class/qx/ui/table/MTableContextMenu.js +25 -28
  1316. package/source/class/qx/ui/table/Table.js +556 -748
  1317. package/source/class/qx/ui/table/celleditor/AbstractField.js +16 -26
  1318. package/source/class/qx/ui/table/celleditor/CheckBox.js +15 -16
  1319. package/source/class/qx/ui/table/celleditor/ComboBox.js +24 -34
  1320. package/source/class/qx/ui/table/celleditor/Dynamic.js +25 -32
  1321. package/source/class/qx/ui/table/celleditor/PasswordField.js +4 -8
  1322. package/source/class/qx/ui/table/celleditor/SelectBox.js +29 -38
  1323. package/source/class/qx/ui/table/celleditor/TextField.js +9 -14
  1324. package/source/class/qx/ui/table/cellrenderer/Abstract.js +78 -73
  1325. package/source/class/qx/ui/table/cellrenderer/AbstractImage.js +65 -84
  1326. package/source/class/qx/ui/table/cellrenderer/Boolean.js +36 -50
  1327. package/source/class/qx/ui/table/cellrenderer/Conditional.js +74 -63
  1328. package/source/class/qx/ui/table/cellrenderer/Date.js +12 -22
  1329. package/source/class/qx/ui/table/cellrenderer/Debug.js +9 -9
  1330. package/source/class/qx/ui/table/cellrenderer/Default.js +30 -52
  1331. package/source/class/qx/ui/table/cellrenderer/Dynamic.js +13 -24
  1332. package/source/class/qx/ui/table/cellrenderer/Html.js +6 -8
  1333. package/source/class/qx/ui/table/cellrenderer/Image.js +13 -26
  1334. package/source/class/qx/ui/table/cellrenderer/Number.js +13 -24
  1335. package/source/class/qx/ui/table/cellrenderer/Password.js +8 -11
  1336. package/source/class/qx/ui/table/cellrenderer/Replace.js +27 -42
  1337. package/source/class/qx/ui/table/cellrenderer/String.js +5 -7
  1338. package/source/class/qx/ui/table/columnmenu/Button.js +19 -29
  1339. package/source/class/qx/ui/table/columnmenu/MenuItem.js +11 -19
  1340. package/source/class/qx/ui/table/columnmenu/__init__.js +4 -4
  1341. package/source/class/qx/ui/table/columnmenu/grid/__init__.js +4 -4
  1342. package/source/class/qx/ui/table/columnmenu/simple/__init__.js +4 -4
  1343. package/source/class/qx/ui/table/columnmodel/Basic.js +193 -215
  1344. package/source/class/qx/ui/table/columnmodel/Resize.js +65 -111
  1345. package/source/class/qx/ui/table/columnmodel/resizebehavior/Abstract.js +17 -24
  1346. package/source/class/qx/ui/table/columnmodel/resizebehavior/Default.js +66 -117
  1347. package/source/class/qx/ui/table/headerrenderer/Default.js +25 -46
  1348. package/source/class/qx/ui/table/headerrenderer/HeaderCell.js +36 -51
  1349. package/source/class/qx/ui/table/headerrenderer/Icon.js +11 -27
  1350. package/source/class/qx/ui/table/model/Abstract.js +52 -62
  1351. package/source/class/qx/ui/table/model/Filtered.js +121 -153
  1352. package/source/class/qx/ui/table/model/Remote.js +166 -271
  1353. package/source/class/qx/ui/table/model/Simple.js +225 -252
  1354. package/source/class/qx/ui/table/pane/CellEvent.js +25 -32
  1355. package/source/class/qx/ui/table/pane/Clipper.js +8 -12
  1356. package/source/class/qx/ui/table/pane/FocusIndicator.js +42 -48
  1357. package/source/class/qx/ui/table/pane/Header.js +45 -86
  1358. package/source/class/qx/ui/table/pane/Model.js +73 -96
  1359. package/source/class/qx/ui/table/pane/Pane.js +132 -190
  1360. package/source/class/qx/ui/table/pane/Scroller.js +542 -659
  1361. package/source/class/qx/ui/table/rowrenderer/Default.js +75 -86
  1362. package/source/class/qx/ui/table/selection/Manager.js +23 -57
  1363. package/source/class/qx/ui/table/selection/Model.js +89 -179
  1364. package/source/class/qx/ui/tabview/Page.js +48 -79
  1365. package/source/class/qx/ui/tabview/TabButton.js +45 -72
  1366. package/source/class/qx/ui/tabview/TabView.js +94 -141
  1367. package/source/class/qx/ui/toolbar/Button.js +13 -18
  1368. package/source/class/qx/ui/toolbar/CheckBox.js +13 -17
  1369. package/source/class/qx/ui/toolbar/MenuButton.js +18 -34
  1370. package/source/class/qx/ui/toolbar/Part.js +42 -64
  1371. package/source/class/qx/ui/toolbar/PartContainer.js +19 -28
  1372. package/source/class/qx/ui/toolbar/RadioButton.js +12 -19
  1373. package/source/class/qx/ui/toolbar/Separator.js +15 -25
  1374. package/source/class/qx/ui/toolbar/SplitButton.js +19 -28
  1375. package/source/class/qx/ui/toolbar/ToolBar.js +182 -232
  1376. package/source/class/qx/ui/tooltip/Manager.js +125 -123
  1377. package/source/class/qx/ui/tooltip/ToolTip.js +49 -79
  1378. package/source/class/qx/ui/tooltip/__init__.js +23 -23
  1379. package/source/class/qx/ui/tree/Tree.js +95 -148
  1380. package/source/class/qx/ui/tree/TreeFile.js +8 -15
  1381. package/source/class/qx/ui/tree/TreeFolder.js +8 -15
  1382. package/source/class/qx/ui/tree/VirtualTree.js +207 -333
  1383. package/source/class/qx/ui/tree/VirtualTreeItem.js +30 -45
  1384. package/source/class/qx/ui/tree/__init__.js +50 -50
  1385. package/source/class/qx/ui/tree/core/AbstractItem.js +98 -152
  1386. package/source/class/qx/ui/tree/core/AbstractTreeItem.js +83 -137
  1387. package/source/class/qx/ui/tree/core/FolderOpenButton.js +15 -34
  1388. package/source/class/qx/ui/tree/core/IVirtualTree.js +13 -33
  1389. package/source/class/qx/ui/tree/core/IVirtualTreeDelegate.js +9 -16
  1390. package/source/class/qx/ui/tree/core/MWidgetController.js +58 -69
  1391. package/source/class/qx/ui/tree/core/OpenCloseController.js +29 -35
  1392. package/source/class/qx/ui/tree/core/Util.js +12 -16
  1393. package/source/class/qx/ui/tree/provider/IVirtualTreeProvider.js +10 -23
  1394. package/source/class/qx/ui/tree/provider/WidgetProvider.js +39 -67
  1395. package/source/class/qx/ui/tree/selection/SelectionManager.js +27 -41
  1396. package/source/class/qx/ui/treevirtual/DefaultDataCellRenderer.js +2 -3
  1397. package/source/class/qx/ui/treevirtual/MFamily.js +26 -63
  1398. package/source/class/qx/ui/treevirtual/MNode.js +43 -103
  1399. package/source/class/qx/ui/treevirtual/MTreePrimitive.js +41 -52
  1400. package/source/class/qx/ui/treevirtual/SelectionManager.js +44 -58
  1401. package/source/class/qx/ui/treevirtual/SimpleTreeDataCellRenderer.js +172 -229
  1402. package/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js +256 -367
  1403. package/source/class/qx/ui/treevirtual/SimpleTreeDataRowRenderer.js +8 -18
  1404. package/source/class/qx/ui/treevirtual/TreeVirtual.js +155 -250
  1405. package/source/class/qx/ui/treevirtual/celleditor/NodeEditor.js +10 -16
  1406. package/source/class/qx/ui/treevirtual/pane/Scroller.js +14 -11
  1407. package/source/class/qx/ui/virtual/__init__.js +4 -4
  1408. package/source/class/qx/ui/virtual/behavior/Prefetch.js +71 -86
  1409. package/source/class/qx/ui/virtual/cell/Abstract.js +18 -27
  1410. package/source/class/qx/ui/virtual/cell/AbstractImage.js +42 -51
  1411. package/source/class/qx/ui/virtual/cell/AbstractWidget.js +25 -49
  1412. package/source/class/qx/ui/virtual/cell/Boolean.js +31 -44
  1413. package/source/class/qx/ui/virtual/cell/Cell.js +143 -183
  1414. package/source/class/qx/ui/virtual/cell/CellStylesheet.js +31 -38
  1415. package/source/class/qx/ui/virtual/cell/Date.js +15 -24
  1416. package/source/class/qx/ui/virtual/cell/Html.js +9 -20
  1417. package/source/class/qx/ui/virtual/cell/ICell.js +4 -6
  1418. package/source/class/qx/ui/virtual/cell/IWidgetCell.js +7 -12
  1419. package/source/class/qx/ui/virtual/cell/IWidgetCellDelegate.js +4 -6
  1420. package/source/class/qx/ui/virtual/cell/Image.js +8 -14
  1421. package/source/class/qx/ui/virtual/cell/Number.js +14 -23
  1422. package/source/class/qx/ui/virtual/cell/String.js +11 -20
  1423. package/source/class/qx/ui/virtual/cell/WidgetCell.js +13 -16
  1424. package/source/class/qx/ui/virtual/cell/__init__.js +4 -4
  1425. package/source/class/qx/ui/virtual/core/Axis.js +75 -103
  1426. package/source/class/qx/ui/virtual/core/CellEvent.js +23 -31
  1427. package/source/class/qx/ui/virtual/core/IHtmlCellProvider.js +4 -6
  1428. package/source/class/qx/ui/virtual/core/ILayer.js +5 -15
  1429. package/source/class/qx/ui/virtual/core/IWidgetCellProvider.js +5 -7
  1430. package/source/class/qx/ui/virtual/core/Pane.js +199 -242
  1431. package/source/class/qx/ui/virtual/core/Scroller.js +25 -43
  1432. package/source/class/qx/ui/virtual/layer/Abstract.js +44 -83
  1433. package/source/class/qx/ui/virtual/layer/AbstractBackground.js +47 -68
  1434. package/source/class/qx/ui/virtual/layer/CellSpanManager.js +74 -96
  1435. package/source/class/qx/ui/virtual/layer/Column.js +26 -36
  1436. package/source/class/qx/ui/virtual/layer/GridLines.js +43 -70
  1437. package/source/class/qx/ui/virtual/layer/HtmlCell.js +34 -32
  1438. package/source/class/qx/ui/virtual/layer/HtmlCellSpan.js +54 -56
  1439. package/source/class/qx/ui/virtual/layer/Row.js +28 -36
  1440. package/source/class/qx/ui/virtual/layer/WidgetCell.js +87 -123
  1441. package/source/class/qx/ui/virtual/layer/WidgetCellSpan.js +123 -124
  1442. package/source/class/qx/ui/virtual/selection/Abstract.js +26 -54
  1443. package/source/class/qx/ui/virtual/selection/CellLines.js +11 -21
  1444. package/source/class/qx/ui/virtual/selection/CellRectangle.js +45 -73
  1445. package/source/class/qx/ui/virtual/selection/Column.js +16 -35
  1446. package/source/class/qx/ui/virtual/selection/ISelectionDelegate.js +5 -9
  1447. package/source/class/qx/ui/virtual/selection/MModel.js +84 -122
  1448. package/source/class/qx/ui/virtual/selection/Row.js +29 -61
  1449. package/source/class/qx/ui/website/Accordion.js +39 -42
  1450. package/source/class/qx/ui/website/Button.js +17 -25
  1451. package/source/class/qx/ui/website/Calendar.js +243 -172
  1452. package/source/class/qx/ui/website/Carousel.js +169 -155
  1453. package/source/class/qx/ui/website/DatePicker.js +99 -85
  1454. package/source/class/qx/ui/website/Rating.js +35 -53
  1455. package/source/class/qx/ui/website/Slider.js +174 -153
  1456. package/source/class/qx/ui/website/Table.js +482 -456
  1457. package/source/class/qx/ui/website/Tabs.js +225 -180
  1458. package/source/class/qx/ui/website/Widget.js +39 -52
  1459. package/source/class/qx/ui/window/Desktop.js +14 -12
  1460. package/source/class/qx/ui/window/IDesktop.js +8 -10
  1461. package/source/class/qx/ui/window/IWindowManager.js +7 -9
  1462. package/source/class/qx/ui/window/MDesktop.js +34 -62
  1463. package/source/class/qx/ui/window/Manager.js +31 -57
  1464. package/source/class/qx/ui/window/Window.js +250 -351
  1465. package/source/class/qx/util/AliasManager.js +23 -42
  1466. package/source/class/qx/util/Animation.js +248 -191
  1467. package/source/class/qx/util/Base64.js +144 -89
  1468. package/source/class/qx/util/ColorUtil.js +253 -287
  1469. package/source/class/qx/util/DeferredCall.js +21 -30
  1470. package/source/class/qx/util/DeferredCallManager.js +23 -44
  1471. package/source/class/qx/util/Delegate.js +4 -10
  1472. package/source/class/qx/util/DisposeUtil.js +76 -70
  1473. package/source/class/qx/util/DynamicScriptLoader.js +83 -66
  1474. package/source/class/qx/util/EditDistance.js +64 -58
  1475. package/source/class/qx/util/ExtendedColor.js +157 -163
  1476. package/source/class/qx/util/Function.js +8 -8
  1477. package/source/class/qx/util/LibraryManager.js +11 -18
  1478. package/source/class/qx/util/OOUtil.js +17 -36
  1479. package/source/class/qx/util/ObjectPool.js +19 -45
  1480. package/source/class/qx/util/Permutation.js +9 -16
  1481. package/source/class/qx/util/PropertyUtil.js +58 -70
  1482. package/source/class/qx/util/Request.js +27 -16
  1483. package/source/class/qx/util/ResourceManager.js +103 -104
  1484. package/source/class/qx/util/ResponseParser.js +14 -21
  1485. package/source/class/qx/util/RingBuffer.js +46 -48
  1486. package/source/class/qx/util/Serializer.js +103 -68
  1487. package/source/class/qx/util/StringBuilder.js +11 -22
  1488. package/source/class/qx/util/StringEscape.js +15 -29
  1489. package/source/class/qx/util/StringSplit.js +18 -21
  1490. package/source/class/qx/util/TimerManager.js +61 -70
  1491. package/source/class/qx/util/Uri.js +42 -30
  1492. package/source/class/qx/util/Uuid.js +50 -35
  1493. package/source/class/qx/util/Validate.js +88 -73
  1494. package/source/class/qx/util/ValueManager.js +17 -29
  1495. package/source/class/qx/util/Wheel.js +22 -16
  1496. package/source/class/qx/util/format/DateFormat.js +822 -759
  1497. package/source/class/qx/util/format/IFormat.js +4 -8
  1498. package/source/class/qx/util/format/NumberFormat.js +84 -91
  1499. package/source/class/qx/util/fsm/FiniteStateMachine.js +323 -382
  1500. package/source/class/qx/util/fsm/State.js +210 -249
  1501. package/source/class/qx/util/fsm/Transition.js +138 -160
  1502. package/source/class/qx/util/placement/AbstractAxis.js +12 -14
  1503. package/source/class/qx/util/placement/BestFitAxis.js +5 -8
  1504. package/source/class/qx/util/placement/DirectAxis.js +5 -7
  1505. package/source/class/qx/util/placement/KeepAlignAxis.js +8 -14
  1506. package/source/class/qx/util/placement/Placement.js +39 -56
  1507. package/source/class/qx/util/placement/__init__.js +4 -4
  1508. package/source/class/qx/xml/Document.js +21 -34
  1509. package/source/class/qx/xml/Element.js +90 -73
  1510. package/source/class/qx/xml/String.js +15 -21
  1511. package/source/class/qxWeb.js +102 -69
  1512. package/source/resource/qx/mobile/js/iscroll.js +1328 -982
  1513. package/source/resource/qx/mobile/js/iscroll.min.js +1081 -1
  1514. package/source/resource/qx/test/dynamicscriptloader/first.js +1 -1
  1515. package/source/resource/qx/test/dynamicscriptloader/second.js +1 -1
  1516. package/source/resource/qx/test/dynamicscriptloader/third.js +1 -1
  1517. package/source/resource/qx/test/script.js +1 -1
  1518. package/source/resource/qx/test/webworker.js +2 -2
  1519. package/source/resource/qx/tool/loadsass.js +16 -15
  1520. package/source/resource/qx/tool/schema/compile-1-0-0.json +13 -13
  1521. package/source/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
  1522. package/source/resource/qx/tool/website/build/assets/buttons.js +391 -1
  1523. package/source/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
  1524. package/source/resource/qx/tool/website/build/assets/jquery.js +5452 -3
  1525. package/source/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
  1526. package/source/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
  1527. package/source/resource/qx/tool/website/build/scripts/serve.js +87 -66
  1528. package/source/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
  1529. package/source/resource/qx/tool/website/src/assets/buttons.js +391 -1
  1530. package/source/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
  1531. package/source/resource/qx/tool/website/src/assets/jquery.js +5452 -3
  1532. package/source/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
  1533. package/source/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
  1534. package/source/resource/qx/tool/website/src/scripts/serve.js +87 -66
  1535. package/lib/resource/qx/static/blank.gif +0 -0
  1536. package/source/class/qx/io/remote/Exchange.js +0 -1063
  1537. package/source/class/qx/io/remote/Request.js +0 -1021
  1538. package/source/class/qx/io/remote/RequestQueue.js +0 -521
  1539. package/source/class/qx/io/remote/Response.js +0 -137
  1540. package/source/class/qx/io/remote/Rpc.js +0 -1075
  1541. package/source/class/qx/io/remote/RpcError.js +0 -198
  1542. package/source/class/qx/io/remote/__init__.js +0 -88
  1543. package/source/class/qx/io/remote/transport/Abstract.js +0 -513
  1544. package/source/class/qx/io/remote/transport/Iframe.js +0 -652
  1545. package/source/class/qx/io/remote/transport/Script.js +0 -475
  1546. package/source/class/qx/io/remote/transport/XmlHttp.js +0 -1019
  1547. package/source/class/qx/io/remote/transport/__init__.js +0 -3
  1548. package/source/class/qx/test/io/remote/AbstractRequest.js +0 -150
  1549. package/source/class/qx/test/io/remote/RequestIframe.js +0 -105
  1550. package/source/class/qx/test/io/remote/RequestXhr.js +0 -151
  1551. package/source/class/qx/test/io/remote/Rpc.js +0 -205
  1552. package/source/class/qx/test/io/remote/__init__.js +0 -4
  1553. package/source/class/qx/test/io/remote/transport/Iframe.js +0 -67
  1554. package/source/class/qx/test/io/remote/transport/XmlHttp.js +0 -133
  1555. package/source/class/qx/test/io/remote/transport/__init__.js +0 -4
@@ -24,26 +24,23 @@
24
24
  * @ignore(qx.Test)
25
25
  * @ignore(qx.test.Array)
26
26
  */
27
- qx.Class.define("qx.test.data.marshal.Json",
28
- {
29
- extend : qx.dev.unit.TestCase,
30
- include : qx.dev.unit.MMock,
31
-
32
- members :
33
- {
34
- __marshaler : null,
35
- __data : null,
36
- __propertyNames : null,
37
-
38
- setUp : function() {
27
+ qx.Class.define("qx.test.data.marshal.Json", {
28
+ extend: qx.dev.unit.TestCase,
29
+ include: qx.dev.unit.MMock,
30
+
31
+ members: {
32
+ __marshaler: null,
33
+ __data: null,
34
+ __propertyNames: null,
35
+
36
+ setUp() {
39
37
  this.__marshaler = new qx.data.marshal.Json();
40
38
 
41
- this.__data = {s: 'String', n: 12, b: true};
39
+ this.__data = { s: "String", n: 12, b: true };
42
40
  this.__propertyNames = ["s", "n", "b"];
43
41
  },
44
42
 
45
-
46
- tearDown : function() {
43
+ tearDown() {
47
44
  this.__marshaler.dispose();
48
45
 
49
46
  // remove the former created classes
@@ -55,28 +52,38 @@ qx.Class.define("qx.test.data.marshal.Json",
55
52
  }
56
53
  },
57
54
 
58
-
59
- "test$$member" : function() {
60
- var data = {$$a : "b"};
55
+ test$$member() {
56
+ var data = { $$a: "b" };
61
57
  this.__marshaler.toClass(data);
62
58
 
63
59
  // check if the class is defined
64
- this.assertTrue(qx.Class.isDefined('qx.data.model.$$a'), "Class not created.");
60
+ this.assertTrue(
61
+ qx.Class.isDefined("qx.data.model.$$a"),
62
+ "Class not created."
63
+ );
65
64
 
66
- var clazz = qx.Class.getByName('qx.data.model.$$a');
65
+ var clazz = qx.Class.getByName("qx.data.model.$$a");
67
66
  // check for the property
68
67
  for (var name in clazz.$$properties) {
69
- this.assertEquals("$$a", name, "Property $$a does have the wrong name.");
70
- this.assertEquals("change" + qx.lang.String.firstUp("$$a"), clazz.$$properties[name].event, "event has a wrong name.");
68
+ this.assertEquals(
69
+ "$$a",
70
+ name,
71
+ "Property $$a does have the wrong name."
72
+ );
73
+
74
+ this.assertEquals(
75
+ "change" + qx.lang.String.firstUp("$$a"),
76
+ clazz.$$properties[name].event,
77
+ "event has a wrong name."
78
+ );
71
79
  }
72
80
 
73
- qx.Class.undefine('qx.data.model.$$a');
81
+ qx.Class.undefine("qx.data.model.$$a");
74
82
  },
75
83
 
76
-
77
- testLocalizedString : function () {
84
+ testLocalizedString() {
78
85
  var str = qx.locale.Manager.tr("test one");
79
- var data = {a : str};
86
+ var data = { a: str };
80
87
  this.__marshaler.toClass(data);
81
88
 
82
89
  var model = this.__marshaler.toModel(data);
@@ -84,50 +91,69 @@ qx.Class.define("qx.test.data.marshal.Json",
84
91
  this.assertEquals(str, model.getA());
85
92
 
86
93
  model.dispose();
87
- qx.Class.undefine('qx.data.model.a');
94
+ qx.Class.undefine("qx.data.model.a");
88
95
  },
89
96
 
90
-
91
- testClassCreationSingle: function() {
97
+ testClassCreationSingle() {
92
98
  this.__marshaler.toClass(this.__data);
93
99
 
94
100
  // check if the class is defined
95
- this.assertTrue(qx.Class.isDefined('qx.data.model.b|n|s'), "Class not created.");
101
+ this.assertTrue(
102
+ qx.Class.isDefined("qx.data.model.b|n|s"),
103
+ "Class not created."
104
+ );
96
105
 
97
- var clazz = qx.Class.getByName('qx.data.model.b|n|s');
106
+ var clazz = qx.Class.getByName("qx.data.model.b|n|s");
98
107
  // check for the properties
99
108
  var i = 0;
100
109
  for (var name in clazz.$$properties) {
101
- this.assertEquals(this.__propertyNames[i], name, "Property " + i + "does have the wrong name.");
102
- this.assertEquals("change" + qx.lang.String.firstUp(this.__propertyNames[i]), clazz.$$properties[name].event, "event has a wrong name.");
110
+ this.assertEquals(
111
+ this.__propertyNames[i],
112
+ name,
113
+ "Property " + i + "does have the wrong name."
114
+ );
115
+
116
+ this.assertEquals(
117
+ "change" + qx.lang.String.firstUp(this.__propertyNames[i]),
118
+ clazz.$$properties[name].event,
119
+ "event has a wrong name."
120
+ );
121
+
103
122
  i++;
104
123
  }
105
124
  },
106
125
 
107
-
108
- testClassCreationArray: function() {
109
- this.__data = {a: ['a', 'b', 'c']};
126
+ testClassCreationArray() {
127
+ this.__data = { a: ["a", "b", "c"] };
110
128
 
111
129
  this.__marshaler.toClass(this.__data);
112
130
 
113
131
  // check if the class is defined
114
- this.assertTrue(qx.Class.isDefined("qx.data.model.a"), "Class not created.");
132
+ this.assertTrue(
133
+ qx.Class.isDefined("qx.data.model.a"),
134
+ "Class not created."
135
+ );
115
136
 
116
137
  var clazz = qx.Class.getByName("qx.data.model.a");
117
138
  // check for the property
118
139
  this.assertNotNull(clazz.$$properties.a, "Property does not exist.");
119
140
  },
120
141
 
121
-
122
- testClassCreationObject: function() {
123
- this.__data = {a: {b: 'test'}};
142
+ testClassCreationObject() {
143
+ this.__data = { a: { b: "test" } };
124
144
 
125
145
  this.__marshaler.toClass(this.__data);
126
146
 
127
147
  // check if the classes are defined
128
- this.assertTrue(qx.Class.isDefined("qx.data.model.a"), "Class not created.");
129
- this.assertTrue(qx.Class.isDefined("qx.data.model.b"), "Class not created.");
148
+ this.assertTrue(
149
+ qx.Class.isDefined("qx.data.model.a"),
150
+ "Class not created."
151
+ );
130
152
 
153
+ this.assertTrue(
154
+ qx.Class.isDefined("qx.data.model.b"),
155
+ "Class not created."
156
+ );
131
157
 
132
158
  var clazz = qx.Class.getByName("qx.data.model.a");
133
159
  var clazz2 = qx.Class.getByName("qx.data.model.b");
@@ -136,15 +162,21 @@ qx.Class.define("qx.test.data.marshal.Json",
136
162
  this.assertNotNull(clazz2.$$properties.b, "Property does not exist.");
137
163
  },
138
164
 
139
-
140
- testClassCreationArrayWithObject: function() {
141
- this.__data = {a: [{b: 'test'}, {b: 'test'}]};
165
+ testClassCreationArrayWithObject() {
166
+ this.__data = { a: [{ b: "test" }, { b: "test" }] };
142
167
 
143
168
  this.__marshaler.toClass(this.__data);
144
169
 
145
170
  // check if the classes are defined
146
- this.assertTrue(qx.Class.isDefined("qx.data.model.a"), "Class not created.");
147
- this.assertTrue(qx.Class.isDefined("qx.data.model.b"), "Class not created.");
171
+ this.assertTrue(
172
+ qx.Class.isDefined("qx.data.model.a"),
173
+ "Class not created."
174
+ );
175
+
176
+ this.assertTrue(
177
+ qx.Class.isDefined("qx.data.model.b"),
178
+ "Class not created."
179
+ );
148
180
 
149
181
  var clazz = qx.Class.getByName("qx.data.model.a");
150
182
  var clazz2 = qx.Class.getByName("qx.data.model.b");
@@ -153,15 +185,21 @@ qx.Class.define("qx.test.data.marshal.Json",
153
185
  this.assertNotNull(clazz2.$$properties.b, "Property does not exist.");
154
186
  },
155
187
 
188
+ testClassCreationAllSmoke() {
189
+ this.__data = {
190
+ a: [
191
+ { b: "test", c: ["f", "x", "e"] },
192
+ { b: "test", affe: false }
193
+ ],
194
+
195
+ t: { f: null, r: 152, q: true }
196
+ };
156
197
 
157
- testClassCreationAllSmoke: function() {
158
- this.__data = {a: [{b: 'test', c: ['f', 'x', 'e']}, {b: 'test', affe: false}], t: {f: null, r: 152, q: true}};
159
198
  this.__marshaler.toClass(this.__data);
160
199
  },
161
200
 
162
-
163
- testModelWithNumber: function() {
164
- this.__data = {a: 10, b: -15, c: 10.5e10};
201
+ testModelWithNumber() {
202
+ this.__data = { a: 10, b: -15, c: 10.5e10 };
165
203
  // first create the classes before setting the data
166
204
  this.__marshaler.toClass(this.__data);
167
205
  // set the data
@@ -174,9 +212,8 @@ qx.Class.define("qx.test.data.marshal.Json",
174
212
  model.dispose();
175
213
  },
176
214
 
177
-
178
- testModelWithBoolean: function() {
179
- this.__data = {a: true, b: false};
215
+ testModelWithBoolean() {
216
+ this.__data = { a: true, b: false };
180
217
  // first create the classes before setting the data
181
218
  this.__marshaler.toClass(this.__data);
182
219
  // set the data
@@ -188,9 +225,8 @@ qx.Class.define("qx.test.data.marshal.Json",
188
225
  model.dispose();
189
226
  },
190
227
 
191
-
192
- testModelWithString: function() {
193
- this.__data = {a: 'affe', b: 'AFFE'};
228
+ testModelWithString() {
229
+ this.__data = { a: "affe", b: "AFFE" };
194
230
  // first create the classes before setting the data
195
231
  this.__marshaler.toClass(this.__data);
196
232
  // set the data
@@ -202,9 +238,8 @@ qx.Class.define("qx.test.data.marshal.Json",
202
238
  model.dispose();
203
239
  },
204
240
 
205
-
206
- testModelWithPrimitive: function() {
207
- this.__data = {a: 'affe', b: true, c: 156};
241
+ testModelWithPrimitive() {
242
+ this.__data = { a: "affe", b: true, c: 156 };
208
243
  // first create the classes before setting the data
209
244
  this.__marshaler.toClass(this.__data);
210
245
  // set the data
@@ -217,9 +252,8 @@ qx.Class.define("qx.test.data.marshal.Json",
217
252
  model.dispose();
218
253
  },
219
254
 
220
-
221
- testModelWithArrayPrimitive: function() {
222
- this.__data = {a: ['affe', 'affen', 'AFFE']};
255
+ testModelWithArrayPrimitive() {
256
+ this.__data = { a: ["affe", "affen", "AFFE"] };
223
257
  // first create the classes before setting the data
224
258
  this.__marshaler.toClass(this.__data);
225
259
  // set the data
@@ -235,9 +269,14 @@ qx.Class.define("qx.test.data.marshal.Json",
235
269
  model.dispose();
236
270
  },
237
271
 
272
+ testModelWithArrayArray() {
273
+ this.__data = {
274
+ a: [
275
+ [true, false],
276
+ [10, 15]
277
+ ]
278
+ };
238
279
 
239
- testModelWithArrayArray: function() {
240
- this.__data = {a: [[true, false], [10, 15]]};
241
280
  // first create the classes before setting the data
242
281
  this.__marshaler.toClass(this.__data);
243
282
  // set the data
@@ -249,20 +288,29 @@ qx.Class.define("qx.test.data.marshal.Json",
249
288
  this.assertEquals("qx.data.Array", a.classname, "Its not an data array.");
250
289
 
251
290
  var a0 = a.getItem(0);
252
- this.assertEquals("qx.data.Array", a0.classname, "Its not an data array.");
291
+ this.assertEquals(
292
+ "qx.data.Array",
293
+ a0.classname,
294
+ "Its not an data array."
295
+ );
296
+
253
297
  this.assertEquals(true, a0.getItem(0), "Item 0 is wrong");
254
298
  this.assertEquals(false, a0.getItem(1), "Item 1 is wrong");
255
299
 
256
300
  var a1 = a.getItem(1);
257
- this.assertEquals("qx.data.Array", a1.classname, "Its not an data array.");
301
+ this.assertEquals(
302
+ "qx.data.Array",
303
+ a1.classname,
304
+ "Its not an data array."
305
+ );
306
+
258
307
  this.assertEquals(10, a1.getItem(0), "Item 0 is wrong");
259
308
  this.assertEquals(15, a1.getItem(1), "Item 1 is wrong");
260
309
  model.dispose();
261
310
  },
262
311
 
263
-
264
- testModelWithObjectPrimitive: function() {
265
- this.__data = {a: {b: true, bb: false}, aa: {c: 15, cc: -89}};
312
+ testModelWithObjectPrimitive() {
313
+ this.__data = { a: { b: true, bb: false }, aa: { c: 15, cc: -89 } };
266
314
  // first create the classes before setting the data
267
315
  this.__marshaler.toClass(this.__data);
268
316
  // set the data
@@ -281,9 +329,8 @@ qx.Class.define("qx.test.data.marshal.Json",
281
329
  model.dispose();
282
330
  },
283
331
 
284
-
285
- testModelWithObjectArray: function() {
286
- this.__data = {a: {b: ['affe', 'AFFE']}};
332
+ testModelWithObjectArray() {
333
+ this.__data = { a: { b: ["affe", "AFFE"] } };
287
334
  // first create the classes before setting the data
288
335
  this.__marshaler.toClass(this.__data);
289
336
  // set the data
@@ -300,9 +347,8 @@ qx.Class.define("qx.test.data.marshal.Json",
300
347
  model.dispose();
301
348
  },
302
349
 
303
-
304
- testModelWithArrayObject: function() {
305
- this.__data = {a: [{a: 15}, {a: true}]};
350
+ testModelWithArrayObject() {
351
+ this.__data = { a: [{ a: 15 }, { a: true }] };
306
352
  // first create the classes before setting the data
307
353
  this.__marshaler.toClass(this.__data);
308
354
  // set the data
@@ -317,28 +363,51 @@ qx.Class.define("qx.test.data.marshal.Json",
317
363
  this.assertEquals(true, a.getItem(1).getA(), "Item 1 is wrong.");
318
364
 
319
365
  // check if only one class is created and used
320
- this.assertEquals(model.classname, a.getItem(0).classname, "Differen classes");
321
- this.assertEquals(model.classname, a.getItem(1).classname, "Differen classes");
322
- this.assertEquals(a.getItem(0).classname, a.getItem(1).classname, "Differen classes");
366
+ this.assertEquals(
367
+ model.classname,
368
+ a.getItem(0).classname,
369
+ "Differen classes"
370
+ );
371
+
372
+ this.assertEquals(
373
+ model.classname,
374
+ a.getItem(1).classname,
375
+ "Differen classes"
376
+ );
377
+
378
+ this.assertEquals(
379
+ a.getItem(0).classname,
380
+ a.getItem(1).classname,
381
+ "Differen classes"
382
+ );
383
+
323
384
  model.dispose();
324
385
  },
325
386
 
326
-
327
- testModelWithObjectObject: function() {
328
- this.__data = {a: {a: {a: 'affe'}}};
387
+ testModelWithObjectObject() {
388
+ this.__data = { a: { a: { a: "affe" } } };
329
389
  // first create the classes before setting the data
330
390
  this.__marshaler.toClass(this.__data);
331
391
  // set the data
332
392
  var model = this.__marshaler.toModel(this.__data);
333
393
 
334
394
  // check the model
335
- this.assertEquals("affe", model.getA().getA().getA(), "No affe is there!");
395
+ this.assertEquals(
396
+ "affe",
397
+ model.getA().getA().getA(),
398
+ "No affe is there!"
399
+ );
400
+
336
401
  model.dispose();
337
402
  },
338
403
 
404
+ testModelWithAllSmoke() {
405
+ this.__data = {
406
+ a: [{ aa: ["affe"], ab: false, ac: [] }, {}, true, 15, "affe"],
407
+ b: "Affe",
408
+ c: { ca: 156, cb: [null, null], cc: true }
409
+ };
339
410
 
340
- testModelWithAllSmoke: function() {
341
- this.__data = {a: [{aa: ['affe'], ab: false, ac: []}, {}, true, 15, 'affe'], b: 'Affe', c: {ca: 156, cb: [null, null], cc: true}};
342
411
  // first create the classes before setting the data
343
412
  this.__marshaler.toClass(this.__data);
344
413
  // set the data
@@ -348,9 +417,8 @@ qx.Class.define("qx.test.data.marshal.Json",
348
417
  model.dispose();
349
418
  },
350
419
 
351
-
352
- testBubbleEventsDepth1: function() {
353
- this.__data = {a: 10, b: -15, c: 10.5e10};
420
+ testBubbleEventsDepth1() {
421
+ this.__data = { a: 10, b: -15, c: 10.5e10 };
354
422
  // first create the classes before setting the data
355
423
  this.__marshaler.toClass(this.__data, true);
356
424
  // set the data
@@ -358,32 +426,82 @@ qx.Class.define("qx.test.data.marshal.Json",
358
426
 
359
427
  // check the event for a
360
428
  var self = this;
361
- this.assertEventFired(model, "changeBubble", function() {
362
- model.setA(0);
363
- }, function(e) {
364
- self.assertEquals(0, e.getData().value, "Not the right value in the event.");
365
- self.assertEquals(10, e.getData().old, "Not the right old value in the event.");
366
- self.assertEquals("a", e.getData().name, "Not the right name in the event.");
367
- self.assertString(e.getData().name, "name is not a String.");
368
- self.assertEquals(model, e.getData().item, "Not the right item in the event.");
369
- }, "Change event not fired!");
429
+ this.assertEventFired(
430
+ model,
431
+ "changeBubble",
432
+ function () {
433
+ model.setA(0);
434
+ },
435
+ function (e) {
436
+ self.assertEquals(
437
+ 0,
438
+ e.getData().value,
439
+ "Not the right value in the event."
440
+ );
441
+
442
+ self.assertEquals(
443
+ 10,
444
+ e.getData().old,
445
+ "Not the right old value in the event."
446
+ );
447
+
448
+ self.assertEquals(
449
+ "a",
450
+ e.getData().name,
451
+ "Not the right name in the event."
452
+ );
453
+
454
+ self.assertString(e.getData().name, "name is not a String.");
455
+ self.assertEquals(
456
+ model,
457
+ e.getData().item,
458
+ "Not the right item in the event."
459
+ );
460
+ },
461
+ "Change event not fired!"
462
+ );
370
463
 
371
464
  // check the event for b
372
- this.assertEventFired(model, "changeBubble", function() {
373
- model.setB(0);
374
- }, function(e) {
375
- self.assertEquals(0, e.getData().value, "Not the right value in the event.");
376
- self.assertEquals(-15, e.getData().old, "Not the right old value in the event.");
377
- self.assertEquals("b", e.getData().name, "Not the right name in the event.");
378
- self.assertString(e.getData().name, "name is not a String.");
379
- self.assertEquals(model, e.getData().item, "Not the right item in the event.");
380
- }, "Change event not fired!");
465
+ this.assertEventFired(
466
+ model,
467
+ "changeBubble",
468
+ function () {
469
+ model.setB(0);
470
+ },
471
+ function (e) {
472
+ self.assertEquals(
473
+ 0,
474
+ e.getData().value,
475
+ "Not the right value in the event."
476
+ );
477
+
478
+ self.assertEquals(
479
+ -15,
480
+ e.getData().old,
481
+ "Not the right old value in the event."
482
+ );
483
+
484
+ self.assertEquals(
485
+ "b",
486
+ e.getData().name,
487
+ "Not the right name in the event."
488
+ );
489
+
490
+ self.assertString(e.getData().name, "name is not a String.");
491
+ self.assertEquals(
492
+ model,
493
+ e.getData().item,
494
+ "Not the right item in the event."
495
+ );
496
+ },
497
+ "Change event not fired!"
498
+ );
499
+
381
500
  model.dispose();
382
501
  },
383
502
 
384
-
385
- testBubbleEventsDepth2: function() {
386
- this.__data = {a: {b: 10, c: 20}};
503
+ testBubbleEventsDepth2() {
504
+ this.__data = { a: { b: 10, c: 20 } };
387
505
  // first create the classes before setting the data
388
506
  this.__marshaler.toClass(this.__data, true);
389
507
  // set the data
@@ -391,32 +509,77 @@ qx.Class.define("qx.test.data.marshal.Json",
391
509
 
392
510
  // check the event for b
393
511
  var self = this;
394
- this.assertEventFired(model, "changeBubble", function() {
395
- model.getA().setB(0);
396
- }, function(e) {
397
- self.assertEquals(0, e.getData().value, "Not the right value in the event.");
398
- self.assertEquals(10, e.getData().old, "Not the right old value in the event.");
399
- self.assertEquals("a.b", e.getData().name, "Not the right name in the event.");
400
- self.assertString(e.getData().name, "name is not a String.");
401
- self.assertEquals(model.getA(), e.getData().item, "Not the right item in the event.");
402
- }, "Change event not fired!");
512
+ this.assertEventFired(
513
+ model,
514
+ "changeBubble",
515
+ function () {
516
+ model.getA().setB(0);
517
+ },
518
+ function (e) {
519
+ self.assertEquals(
520
+ 0,
521
+ e.getData().value,
522
+ "Not the right value in the event."
523
+ );
524
+
525
+ self.assertEquals(
526
+ 10,
527
+ e.getData().old,
528
+ "Not the right old value in the event."
529
+ );
530
+
531
+ self.assertEquals(
532
+ "a.b",
533
+ e.getData().name,
534
+ "Not the right name in the event."
535
+ );
536
+
537
+ self.assertString(e.getData().name, "name is not a String.");
538
+ self.assertEquals(
539
+ model.getA(),
540
+ e.getData().item,
541
+ "Not the right item in the event."
542
+ );
543
+ },
544
+ "Change event not fired!"
545
+ );
403
546
 
404
547
  model.getA().dispose();
405
548
  // check the event for a
406
- this.assertEventFired(model, "changeBubble", function() {
407
- model.setA(true);
408
- }, function(e) {
409
- self.assertEquals(true, e.getData().value, "Not the right value in the event.");
410
- self.assertEquals("a", e.getData().name, "Not the right name in the event.");
411
- self.assertString(e.getData().name, "name is not a String.");
412
- self.assertEquals(model, e.getData().item, "Not the right item in the event.");
413
- }, "Change event not fired!");
549
+ this.assertEventFired(
550
+ model,
551
+ "changeBubble",
552
+ function () {
553
+ model.setA(true);
554
+ },
555
+ function (e) {
556
+ self.assertEquals(
557
+ true,
558
+ e.getData().value,
559
+ "Not the right value in the event."
560
+ );
561
+
562
+ self.assertEquals(
563
+ "a",
564
+ e.getData().name,
565
+ "Not the right name in the event."
566
+ );
567
+
568
+ self.assertString(e.getData().name, "name is not a String.");
569
+ self.assertEquals(
570
+ model,
571
+ e.getData().item,
572
+ "Not the right item in the event."
573
+ );
574
+ },
575
+ "Change event not fired!"
576
+ );
577
+
414
578
  model.dispose();
415
579
  },
416
580
 
417
-
418
- testBubbleEventsDepth3: function() {
419
- this.__data = {a: {b: {c: 10}}};
581
+ testBubbleEventsDepth3() {
582
+ this.__data = { a: { b: { c: 10 } } };
420
583
  // first create the classes before setting the data
421
584
  this.__marshaler.toClass(this.__data, true);
422
585
  // set the data
@@ -424,21 +587,46 @@ qx.Class.define("qx.test.data.marshal.Json",
424
587
 
425
588
  // check the event for c
426
589
  var self = this;
427
- this.assertEventFired(model, "changeBubble", function() {
428
- model.getA().getB().setC(0);
429
- }, function(e) {
430
- self.assertEquals(0, e.getData().value, "Not the right value in the event.");
431
- self.assertEquals(10, e.getData().old, "Not the right old value in the event.");
432
- self.assertEquals("a.b.c", e.getData().name, "Not the right name in the event.");
433
- self.assertString(e.getData().name, "name is not a String.");
434
- self.assertEquals(model.getA().getB(), e.getData().item, "Not the right item in the event.");
435
- }, "Change event not fired!");
590
+ this.assertEventFired(
591
+ model,
592
+ "changeBubble",
593
+ function () {
594
+ model.getA().getB().setC(0);
595
+ },
596
+ function (e) {
597
+ self.assertEquals(
598
+ 0,
599
+ e.getData().value,
600
+ "Not the right value in the event."
601
+ );
602
+
603
+ self.assertEquals(
604
+ 10,
605
+ e.getData().old,
606
+ "Not the right old value in the event."
607
+ );
608
+
609
+ self.assertEquals(
610
+ "a.b.c",
611
+ e.getData().name,
612
+ "Not the right name in the event."
613
+ );
614
+
615
+ self.assertString(e.getData().name, "name is not a String.");
616
+ self.assertEquals(
617
+ model.getA().getB(),
618
+ e.getData().item,
619
+ "Not the right item in the event."
620
+ );
621
+ },
622
+ "Change event not fired!"
623
+ );
624
+
436
625
  model.dispose();
437
626
  },
438
627
 
439
-
440
- testBubbleEventsArrayDepth1: function() {
441
- this.__data = {a: [12, 23, 34]};
628
+ testBubbleEventsArrayDepth1() {
629
+ this.__data = { a: [12, 23, 34] };
442
630
  // first create the classes before setting the data
443
631
  this.__marshaler.toClass(this.__data, true);
444
632
  // set the data
@@ -446,21 +634,40 @@ qx.Class.define("qx.test.data.marshal.Json",
446
634
 
447
635
  // check the event for the first array element
448
636
  var self = this;
449
- this.assertEventFired(model, "changeBubble", function() {
450
- model.getA().setItem(0, 1);
451
- }, function(e) {
452
- self.assertEquals(1, e.getData().value, "Not the right value in the event.");
453
- self.assertEquals("a[0]", e.getData().name, "Not the right name in the event.");
454
- self.assertString(e.getData().name, "name is not a String.");
455
- self.assertEquals(model.getA(), e.getData().item, "Not the right item in the event.");
456
- }, "Change event not fired!");
637
+ this.assertEventFired(
638
+ model,
639
+ "changeBubble",
640
+ function () {
641
+ model.getA().setItem(0, 1);
642
+ },
643
+ function (e) {
644
+ self.assertEquals(
645
+ 1,
646
+ e.getData().value,
647
+ "Not the right value in the event."
648
+ );
649
+
650
+ self.assertEquals(
651
+ "a[0]",
652
+ e.getData().name,
653
+ "Not the right name in the event."
654
+ );
655
+
656
+ self.assertString(e.getData().name, "name is not a String.");
657
+ self.assertEquals(
658
+ model.getA(),
659
+ e.getData().item,
660
+ "Not the right item in the event."
661
+ );
662
+ },
663
+ "Change event not fired!"
664
+ );
457
665
 
458
666
  model.dispose();
459
667
  },
460
668
 
461
-
462
- testBubbleEventsArrayDepth2: function() {
463
- this.__data = {a: [{b: 10}, {b: 11}]};
669
+ testBubbleEventsArrayDepth2() {
670
+ this.__data = { a: [{ b: 10 }, { b: 11 }] };
464
671
  // first create the classes before setting the data
465
672
  this.__marshaler.toClass(this.__data, true);
466
673
  // set the data
@@ -468,20 +675,40 @@ qx.Class.define("qx.test.data.marshal.Json",
468
675
 
469
676
  // check the event for the first array element
470
677
  var self = this;
471
- this.assertEventFired(model, "changeBubble", function() {
472
- model.getA().getItem(0).setB(0);
473
- }, function(e) {
474
- self.assertEquals(0, e.getData().value, "Not the right value in the event.");
475
- self.assertEquals("a[0].b", e.getData().name, "Not the right name in the event.");
476
- self.assertString(e.getData().name, "name is not a String.");
477
- self.assertEquals(model.getA().getItem(0), e.getData().item, "Not the right item in the event.");
478
- }, "Change event not fired!");
678
+ this.assertEventFired(
679
+ model,
680
+ "changeBubble",
681
+ function () {
682
+ model.getA().getItem(0).setB(0);
683
+ },
684
+ function (e) {
685
+ self.assertEquals(
686
+ 0,
687
+ e.getData().value,
688
+ "Not the right value in the event."
689
+ );
690
+
691
+ self.assertEquals(
692
+ "a[0].b",
693
+ e.getData().name,
694
+ "Not the right name in the event."
695
+ );
696
+
697
+ self.assertString(e.getData().name, "name is not a String.");
698
+ self.assertEquals(
699
+ model.getA().getItem(0),
700
+ e.getData().item,
701
+ "Not the right item in the event."
702
+ );
703
+ },
704
+ "Change event not fired!"
705
+ );
706
+
479
707
  model.dispose();
480
708
  },
481
709
 
482
-
483
- testBubbleEventsArrayDepthAlot: function() {
484
- this.__data = {a: [[[[{b:10}]]]]};
710
+ testBubbleEventsArrayDepthAlot() {
711
+ this.__data = { a: [[[[{ b: 10 }]]]] };
485
712
  // first create the classes before setting the data
486
713
  this.__marshaler.toClass(this.__data, true);
487
714
  // set the data
@@ -489,20 +716,40 @@ qx.Class.define("qx.test.data.marshal.Json",
489
716
 
490
717
  // check the event for the first array element
491
718
  var self = this;
492
- this.assertEventFired(model, "changeBubble", function() {
493
- model.getA().getItem(0).getItem(0).getItem(0).getItem(0).setB(0);
494
- }, function(e) {
495
- self.assertEquals(0, e.getData().value, "Not the right value in the event.");
496
- self.assertEquals("a[0][0][0][0].b", e.getData().name, "Not the right name in the event.");
497
- self.assertString(e.getData().name, "name is not a String.");
498
- self.assertEquals(model.getA().getItem(0).getItem(0).getItem(0).getItem(0), e.getData().item, "Not the right item in the event.");
499
- }, "Change event not fired!");
719
+ this.assertEventFired(
720
+ model,
721
+ "changeBubble",
722
+ function () {
723
+ model.getA().getItem(0).getItem(0).getItem(0).getItem(0).setB(0);
724
+ },
725
+ function (e) {
726
+ self.assertEquals(
727
+ 0,
728
+ e.getData().value,
729
+ "Not the right value in the event."
730
+ );
731
+
732
+ self.assertEquals(
733
+ "a[0][0][0][0].b",
734
+ e.getData().name,
735
+ "Not the right name in the event."
736
+ );
737
+
738
+ self.assertString(e.getData().name, "name is not a String.");
739
+ self.assertEquals(
740
+ model.getA().getItem(0).getItem(0).getItem(0).getItem(0),
741
+ e.getData().item,
742
+ "Not the right item in the event."
743
+ );
744
+ },
745
+ "Change event not fired!"
746
+ );
747
+
500
748
  model.dispose();
501
749
  },
502
750
 
503
-
504
- testBubbleEventsArrayDepthAlotMix: function() {
505
- this.__data = {a: [ {b: [ [{c: {d: [0, 1]}}] ]} ]};
751
+ testBubbleEventsArrayDepthAlotMix() {
752
+ this.__data = { a: [{ b: [[{ c: { d: [0, 1] } }]] }] };
506
753
  // first create the classes before setting the data
507
754
  this.__marshaler.toClass(this.__data, true);
508
755
  // set the data
@@ -510,20 +757,48 @@ qx.Class.define("qx.test.data.marshal.Json",
510
757
 
511
758
  // check the event for the first array element
512
759
  var self = this;
513
- this.assertEventFired(model, "changeBubble", function() {
514
- model.getA().getItem(0).getB().getItem(0).getItem(0).getC().getD().setItem(1, 12);
515
- }, function(e) {
516
- self.assertEquals(12, e.getData().value, "Not the right value in the event.");
517
- self.assertEquals("a[0].b[0][0].c.d[1]", e.getData().name, "Not the right name in the event.");
518
- self.assertString(e.getData().name, "name is not a String.");
519
- self.assertEquals(model.getA().getItem(0).getB().getItem(0).getItem(0).getC().getD(), e.getData().item, "Not the right item in the event.");
520
- }, "Change event not fired!");
760
+ this.assertEventFired(
761
+ model,
762
+ "changeBubble",
763
+ function () {
764
+ model
765
+ .getA()
766
+ .getItem(0)
767
+ .getB()
768
+ .getItem(0)
769
+ .getItem(0)
770
+ .getC()
771
+ .getD()
772
+ .setItem(1, 12);
773
+ },
774
+ function (e) {
775
+ self.assertEquals(
776
+ 12,
777
+ e.getData().value,
778
+ "Not the right value in the event."
779
+ );
780
+
781
+ self.assertEquals(
782
+ "a[0].b[0][0].c.d[1]",
783
+ e.getData().name,
784
+ "Not the right name in the event."
785
+ );
786
+
787
+ self.assertString(e.getData().name, "name is not a String.");
788
+ self.assertEquals(
789
+ model.getA().getItem(0).getB().getItem(0).getItem(0).getC().getD(),
790
+ e.getData().item,
791
+ "Not the right item in the event."
792
+ );
793
+ },
794
+ "Change event not fired!"
795
+ );
796
+
521
797
  model.dispose();
522
798
  },
523
799
 
524
-
525
- testBubbleEventsArrayLong: function() {
526
- this.__data = {a: [0, 1, 2, 3, 4, 5, 6 , 7, 8, 9, 10]};
800
+ testBubbleEventsArrayLong() {
801
+ this.__data = { a: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] };
527
802
  // first create the classes before setting the data
528
803
  this.__marshaler.toClass(this.__data, true);
529
804
  // set the data
@@ -531,20 +806,40 @@ qx.Class.define("qx.test.data.marshal.Json",
531
806
 
532
807
  // check the event for the first array element
533
808
  var self = this;
534
- this.assertEventFired(model, "changeBubble", function() {
535
- model.getA().setItem(10, "AFFE");
536
- }, function(e) {
537
- self.assertEquals("AFFE", e.getData().value, "Not the right value in the event.");
538
- self.assertEquals("a[10]", e.getData().name, "Not the right name in the event.");
539
- self.assertString(e.getData().name, "name is not a String.");
540
- self.assertEquals(model.getA(), e.getData().item, "Not the right item in the event.");
541
- }, "Change event not fired!");
809
+ this.assertEventFired(
810
+ model,
811
+ "changeBubble",
812
+ function () {
813
+ model.getA().setItem(10, "AFFE");
814
+ },
815
+ function (e) {
816
+ self.assertEquals(
817
+ "AFFE",
818
+ e.getData().value,
819
+ "Not the right value in the event."
820
+ );
821
+
822
+ self.assertEquals(
823
+ "a[10]",
824
+ e.getData().name,
825
+ "Not the right name in the event."
826
+ );
827
+
828
+ self.assertString(e.getData().name, "name is not a String.");
829
+ self.assertEquals(
830
+ model.getA(),
831
+ e.getData().item,
832
+ "Not the right item in the event."
833
+ );
834
+ },
835
+ "Change event not fired!"
836
+ );
837
+
542
838
  model.dispose();
543
839
  },
544
840
 
545
-
546
- testBubbleEventsArrayReorder: function() {
547
- this.__data = {a: [11, 1, 2, 3, 4, 5, 6 , 7, 8, 9, 10]};
841
+ testBubbleEventsArrayReorder() {
842
+ this.__data = { a: [11, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] };
548
843
  // first create the classes before setting the data
549
844
  this.__marshaler.toClass(this.__data, true);
550
845
  // set the data
@@ -554,27 +849,47 @@ qx.Class.define("qx.test.data.marshal.Json",
554
849
 
555
850
  // check the event for the first array element
556
851
  var self = this;
557
- this.assertEventFired(model, "changeBubble", function() {
558
- model.getA().setItem(0, "AFFE");
559
- }, function(e) {
560
- self.assertEquals("AFFE", e.getData().value, "Not the right value in the event.");
561
- self.assertEquals("a[0]", e.getData().name, "Not the right name in the event.");
562
- self.assertString(e.getData().name, "name is not a String.");
563
- self.assertEquals(model.getA(), e.getData().item, "Not the right item in the event.");
564
- }, "Change event not fired!");
852
+ this.assertEventFired(
853
+ model,
854
+ "changeBubble",
855
+ function () {
856
+ model.getA().setItem(0, "AFFE");
857
+ },
858
+ function (e) {
859
+ self.assertEquals(
860
+ "AFFE",
861
+ e.getData().value,
862
+ "Not the right value in the event."
863
+ );
864
+
865
+ self.assertEquals(
866
+ "a[0]",
867
+ e.getData().name,
868
+ "Not the right name in the event."
869
+ );
870
+
871
+ self.assertString(e.getData().name, "name is not a String.");
872
+ self.assertEquals(
873
+ model.getA(),
874
+ e.getData().item,
875
+ "Not the right item in the event."
876
+ );
877
+ },
878
+ "Change event not fired!"
879
+ );
880
+
565
881
  model.dispose();
566
882
  },
567
883
 
568
-
569
- testBubbleEventsWithRemove: function() {
884
+ testBubbleEventsWithRemove() {
570
885
  qx.Class.define("qx.Test", {
571
- extend : qx.core.Object,
572
- include : qx.data.marshal.MEventBubbling,
573
- properties : {
886
+ extend: qx.core.Object,
887
+ include: qx.data.marshal.MEventBubbling,
888
+ properties: {
574
889
  fonts: {
575
- "event": "changeFonts",
576
- "check": "qx.data.Array",
577
- "apply": "_applyEventPropagation"
890
+ event: "changeFonts",
891
+ check: "qx.data.Array",
892
+ apply: "_applyEventPropagation"
578
893
  }
579
894
  }
580
895
  });
@@ -584,12 +899,21 @@ qx.Class.define("qx.test.data.marshal.Json",
584
899
  model.setFonts(fonts);
585
900
  model.getFonts().push("one", "two", "three");
586
901
 
587
- model.addListener("changeBubble", function(e) {
588
- this.assertEquals("fonts[0-2]", e.getData().name, "Wrong name");
589
- this.assertString(e.getData().name, "name is not a String.");
590
- this.assertArrayEquals(["one", "two", "three"], e.getData().old, "Wrong old data");
591
- this.assertEquals(0, e.getData().value.length, "Wrong data");
592
- }, this);
902
+ model.addListener(
903
+ "changeBubble",
904
+ function (e) {
905
+ this.assertEquals("fonts[0-2]", e.getData().name, "Wrong name");
906
+ this.assertString(e.getData().name, "name is not a String.");
907
+ this.assertArrayEquals(
908
+ ["one", "two", "three"],
909
+ e.getData().old,
910
+ "Wrong old data"
911
+ );
912
+
913
+ this.assertEquals(0, e.getData().value.length, "Wrong data");
914
+ },
915
+ this
916
+ );
593
917
 
594
918
  // remove all
595
919
  model.getFonts().removeAll();
@@ -599,9 +923,7 @@ qx.Class.define("qx.test.data.marshal.Json",
599
923
  model.dispose();
600
924
  },
601
925
 
602
-
603
- "test model with and without bubble" : function ()
604
- {
926
+ "test model with and without bubble"() {
605
927
  var data = { pi: 1 };
606
928
 
607
929
  // 1st create explicit *without* changeBubble
@@ -615,31 +937,51 @@ qx.Class.define("qx.test.data.marshal.Json",
615
937
  var model4 = qx.data.marshal.Json.createModel(data, false);
616
938
 
617
939
  // Check whether the above assumptions are correct
618
- this.assertFalse( qx.util.OOUtil.supportsEvent(model1, "changeBubble") );
619
- this.assertFalse( qx.util.OOUtil.supportsEvent(model2, "changeBubble") );
620
- this.assertTrue ( qx.util.OOUtil.supportsEvent(model3, "changeBubble") );
621
- this.assertTrue ( qx.util.OOUtil.supportsEvent(model4, "changeBubble") );
940
+ this.assertFalse(qx.util.OOUtil.supportsEvent(model1, "changeBubble"));
941
+ this.assertFalse(qx.util.OOUtil.supportsEvent(model2, "changeBubble"));
942
+ this.assertTrue(qx.util.OOUtil.supportsEvent(model3, "changeBubble"));
943
+ this.assertTrue(qx.util.OOUtil.supportsEvent(model4, "changeBubble"));
622
944
 
623
945
  // Check if bubble event really fires for models 3 & 4
624
- [ model3, model4 ].forEach(function (model) {
625
-
626
- this.assertEventFired(model, "changeBubble", function () {
627
- model.setPi(0);
628
- }, function (e) {
629
- var data = e.getData();
630
- this.assertEquals(0, data.value, "Not the right value in the event.");
631
- this.assertEquals(1, data.old, "Not the right old value in the event.");
632
- this.assertEquals("pi", data.name, "Not the right name in the event.");
633
- this.assertEquals(model, data.item, "Not the right item in the event.");
634
- }.bind(this), "Change event not fired!");
635
-
946
+ [model3, model4].forEach(function (model) {
947
+ this.assertEventFired(
948
+ model,
949
+ "changeBubble",
950
+ function () {
951
+ model.setPi(0);
952
+ },
953
+ function (e) {
954
+ var data = e.getData();
955
+ this.assertEquals(
956
+ 0,
957
+ data.value,
958
+ "Not the right value in the event."
959
+ );
960
+
961
+ this.assertEquals(
962
+ 1,
963
+ data.old,
964
+ "Not the right old value in the event."
965
+ );
966
+
967
+ this.assertEquals(
968
+ "pi",
969
+ data.name,
970
+ "Not the right name in the event."
971
+ );
972
+
973
+ this.assertEquals(
974
+ model,
975
+ data.item,
976
+ "Not the right item in the event."
977
+ );
978
+ }.bind(this),
979
+ "Change event not fired!"
980
+ );
636
981
  }, this);
637
-
638
982
  },
639
983
 
640
-
641
- "test toClass() toModel() match/mismatch" : function ()
642
- {
984
+ "test toClass() toModel() match/mismatch"() {
643
985
  var data = { foo: "foo", bar: "bar" };
644
986
 
645
987
  var marshaler = new qx.data.marshal.Json();
@@ -649,7 +991,9 @@ qx.Class.define("qx.test.data.marshal.Json",
649
991
  //
650
992
  marshaler.toClass(data, false);
651
993
  this.assertException(
652
- function () { marshaler.toModel(data, true); },
994
+ function () {
995
+ marshaler.toModel(data, true);
996
+ },
653
997
  Error,
654
998
  "Class 'qx.data.model.bar|foo' found, but it does not support changeBubble event."
655
999
  );
@@ -670,33 +1014,39 @@ qx.Class.define("qx.test.data.marshal.Json",
670
1014
  marshaler.toModel(data2, false);
671
1015
 
672
1016
  this.assertException(
673
- function () { marshaler.toModel(data2, true); },
1017
+ function () {
1018
+ marshaler.toModel(data2, true);
1019
+ },
674
1020
  Error,
675
1021
  "Class 'qx.data.model.bar2|foo2' found, but it does not support changeBubble event."
676
1022
  );
677
1023
  },
678
1024
 
679
-
680
- testAddValidationRule : function()
681
- {
1025
+ testAddValidationRule() {
682
1026
  var propertiesSaved;
683
1027
 
684
- var valN = function(data) {
685
- if (data < 10) { throw new qx.core.ValidationError("NNN");}
1028
+ var valN = function (data) {
1029
+ if (data < 10) {
1030
+ throw new qx.core.ValidationError("NNN");
1031
+ }
686
1032
  };
687
1033
 
688
- var valS = function(data) {
689
- if (data.length > 10) {throw new qx.core.ValidationError("SSS");}
1034
+ var valS = function (data) {
1035
+ if (data.length > 10) {
1036
+ throw new qx.core.ValidationError("SSS");
1037
+ }
690
1038
  };
691
1039
 
692
- var delegate = {getValidationRule : function(properties, propertyName) {
693
- if (propertyName == "n") {
694
- return valN;
695
- } else if (propertyName == "s") {
696
- return valS;
1040
+ var delegate = {
1041
+ getValidationRule(properties, propertyName) {
1042
+ if (propertyName == "n") {
1043
+ return valN;
1044
+ } else if (propertyName == "s") {
1045
+ return valS;
1046
+ }
1047
+ propertiesSaved = properties;
697
1048
  }
698
- propertiesSaved = properties;
699
- }};
1049
+ };
700
1050
 
701
1051
  this.__marshaler.dispose();
702
1052
  this.__marshaler = new qx.data.marshal.Json(delegate);
@@ -704,31 +1054,37 @@ qx.Class.define("qx.test.data.marshal.Json",
704
1054
  var model = this.__marshaler.toModel(this.__data);
705
1055
 
706
1056
  // check for the right class hash
707
- this.assertEquals('b|n|s', propertiesSaved);
1057
+ this.assertEquals("b|n|s", propertiesSaved);
708
1058
 
709
1059
  // set working values
710
1060
  model.setS("123456789");
711
1061
  model.setN(20);
712
1062
 
713
1063
  // set not working values
714
- this.assertException(function() {
1064
+ this.assertException(function () {
715
1065
  model.setS("01234567890123456789");
716
1066
  }, qx.core.ValidationError);
717
1067
 
718
- this.assertException(function() {
1068
+ this.assertException(function () {
719
1069
  model.setN(1);
720
1070
  }, qx.core.ValidationError);
721
1071
 
722
1072
  model.dispose();
723
1073
  },
724
1074
 
725
- testCustomValidator : function()
726
- {
1075
+ testCustomValidator() {
727
1076
  var delegate = {
728
- getJsonHash: function (data, includeBubbleEvents) {
729
- return Object.keys(data).sort().map(function (name) { return qx.lang.String.firstUp(name); }).join('') +
730
- (includeBubbleEvents === true ? '#' : '');
731
- }};
1077
+ getJsonHash(data, includeBubbleEvents) {
1078
+ return (
1079
+ Object.keys(data)
1080
+ .sort()
1081
+ .map(function (name) {
1082
+ return qx.lang.String.firstUp(name);
1083
+ })
1084
+ .join("") + (includeBubbleEvents === true ? "#" : "")
1085
+ );
1086
+ }
1087
+ };
732
1088
 
733
1089
  this.__marshaler.dispose();
734
1090
  this.__marshaler = new qx.data.marshal.Json(delegate);
@@ -737,14 +1093,15 @@ qx.Class.define("qx.test.data.marshal.Json",
737
1093
  props: true
738
1094
  });
739
1095
 
740
- this.assertTrue(qx.Class.isDefined('qx.data.model.CustomProps'), "Class not created.");
1096
+ this.assertTrue(
1097
+ qx.Class.isDefined("qx.data.model.CustomProps"),
1098
+ "Class not created."
1099
+ );
741
1100
  },
742
1101
 
743
-
744
- testQooxdooObject : function()
745
- {
1102
+ testQooxdooObject() {
746
1103
  var qxObject = new qx.core.Object();
747
- this.__data = ({a: {b: qxObject}});
1104
+ this.__data = { a: { b: qxObject } };
748
1105
 
749
1106
  this.__marshaler.toClass(this.__data);
750
1107
 
@@ -756,67 +1113,86 @@ qx.Class.define("qx.test.data.marshal.Json",
756
1113
  model.dispose();
757
1114
  },
758
1115
 
759
-
760
- testDisposeListModel : function() {
761
- var model = qx.data.marshal.Json.createModel([{name: "a"}]);
1116
+ testDisposeListModel() {
1117
+ var model = qx.data.marshal.Json.createModel([{ name: "a" }]);
762
1118
  var item = model.getItem(0);
763
1119
  model.dispose();
764
1120
  this.assertTrue(item.isDisposed());
765
1121
  },
766
1122
 
767
-
768
- testValidIdentifier: function() {
1123
+ testValidIdentifier() {
769
1124
  // its a debug warning so only check on debug
770
1125
  if (qx.core.Environment.get("qx.debug")) {
771
- var data = {"#affe" : 1};
772
- this.assertException(function() {
773
- // just check if the creation worked
774
- qx.data.marshal.Json.createModel(data).dispose();
775
- }, null, "The key '#affe' is not a valid JavaScript identifier.", "1");
776
-
777
- data = {"1" : 1, "true": false};
1126
+ var data = { "#affe": 1 };
1127
+ this.assertException(
1128
+ function () {
1129
+ // just check if the creation worked
1130
+ qx.data.marshal.Json.createModel(data).dispose();
1131
+ },
1132
+ null,
1133
+ "The key '#affe' is not a valid JavaScript identifier.",
1134
+ "1"
1135
+ );
1136
+
1137
+ data = { 1: 1, true: false };
778
1138
  // just check if the creation worked
779
1139
  qx.data.marshal.Json.createModel(data).dispose();
780
1140
 
781
- data = {"''''" : 1};
782
- this.assertException(function() {
783
- // just check if the creation worked
784
- qx.data.marshal.Json.createModel(data).dispose();
785
- }, null, "The key '''''' is not a valid JavaScript identifier.", "3");
786
-
787
- data = {"§AFFE" : 1};
788
- this.assertException(function() {
789
- // just check if the creation worked
790
- qx.data.marshal.Json.createModel(data).dispose();
791
- }, null, "The key '§AFFE' is not a valid JavaScript identifier.", "4");
792
-
793
- data = {"ja!" : 1};
794
- this.assertException(function() {
795
- // just check if the creation worked
796
- qx.data.marshal.Json.createModel(data).dispose();
797
- }, null, "The key 'ja!' is not a valid JavaScript identifier.", "5");
1141
+ data = { "''''": 1 };
1142
+ this.assertException(
1143
+ function () {
1144
+ // just check if the creation worked
1145
+ qx.data.marshal.Json.createModel(data).dispose();
1146
+ },
1147
+ null,
1148
+ "The key '''''' is not a valid JavaScript identifier.",
1149
+ "3"
1150
+ );
1151
+
1152
+ data = { "§AFFE": 1 };
1153
+ this.assertException(
1154
+ function () {
1155
+ // just check if the creation worked
1156
+ qx.data.marshal.Json.createModel(data).dispose();
1157
+ },
1158
+ null,
1159
+ "The key '§AFFE' is not a valid JavaScript identifier.",
1160
+ "4"
1161
+ );
1162
+
1163
+ data = { "ja!": 1 };
1164
+ this.assertException(
1165
+ function () {
1166
+ // just check if the creation worked
1167
+ qx.data.marshal.Json.createModel(data).dispose();
1168
+ },
1169
+ null,
1170
+ "The key 'ja!' is not a valid JavaScript identifier.",
1171
+ "5"
1172
+ );
798
1173
  }
799
1174
  },
800
1175
 
801
-
802
1176
  /**
803
1177
  * @ignore(qx.test.model)
804
1178
  */
805
- testGetModelClass: function() {
1179
+ testGetModelClass() {
806
1180
  qx.Class.define("qx.test.model.C", {
807
- extend : qx.core.Object,
808
- properties : {
809
- s : {event : "s"},
810
- b : {event : "b"},
811
- n : {event : "n"}
1181
+ extend: qx.core.Object,
1182
+ properties: {
1183
+ s: { event: "s" },
1184
+ b: { event: "b" },
1185
+ n: { event: "n" }
812
1186
  }
813
1187
  });
814
1188
 
815
1189
  var self = this;
816
- var delegate = {getModelClass : function(properties) {
817
- self.assertEquals('b|n|s', properties);
818
- return qx.test.model.C;
819
- }};
1190
+ var delegate = {
1191
+ getModelClass(properties) {
1192
+ self.assertEquals("b|n|s", properties);
1193
+ return qx.test.model.C;
1194
+ }
1195
+ };
820
1196
 
821
1197
  this.__marshaler.dispose();
822
1198
  this.__marshaler = new qx.data.marshal.Json(delegate);
@@ -832,30 +1208,31 @@ qx.Class.define("qx.test.data.marshal.Json",
832
1208
  qx.Class.undefine("qx.test.model.C");
833
1209
  },
834
1210
 
835
-
836
- testGetModelClassDepth: function() {
1211
+ testGetModelClassDepth() {
837
1212
  var called = 0;
838
- var delegate = {getModelClass : function(properties, object, parentProperty, depth) {
839
- called++;
840
- if (properties == "a") {
841
- this.assertEquals(data, object);
842
- this.assertNull(parentProperty);
843
- this.assertEquals(0, depth);
844
- } else if (properties == "b") {
845
- this.assertEquals(data.a, object);
846
- this.assertEquals("a", parentProperty);
847
- this.assertEquals(1, depth);
848
- } else if (properties == "c") {
849
- this.assertEquals(data.a.b[0], object);
850
- this.assertEquals("b[0]", parentProperty);
851
- this.assertEquals(3, depth);
852
- } else {
853
- this.fail("Unknown property in the marshaler.");
854
- }
855
- }.bind(this)};
1213
+ var delegate = {
1214
+ getModelClass: function (properties, object, parentProperty, depth) {
1215
+ called++;
1216
+ if (properties == "a") {
1217
+ this.assertEquals(data, object);
1218
+ this.assertNull(parentProperty);
1219
+ this.assertEquals(0, depth);
1220
+ } else if (properties == "b") {
1221
+ this.assertEquals(data.a, object);
1222
+ this.assertEquals("a", parentProperty);
1223
+ this.assertEquals(1, depth);
1224
+ } else if (properties == "c") {
1225
+ this.assertEquals(data.a.b[0], object);
1226
+ this.assertEquals("b[0]", parentProperty);
1227
+ this.assertEquals(3, depth);
1228
+ } else {
1229
+ this.fail("Unknown property in the marshaler.");
1230
+ }
1231
+ }.bind(this)
1232
+ };
856
1233
 
857
1234
  this.__marshaler.dispose();
858
- var data = {a: {b: [{c: 1}]}};
1235
+ var data = { a: { b: [{ c: 1 }] } };
859
1236
  this.__marshaler = new qx.data.marshal.Json(delegate);
860
1237
  this.__marshaler.toClass(data);
861
1238
  this.assertEquals(3, called);
@@ -865,20 +1242,21 @@ qx.Class.define("qx.test.data.marshal.Json",
865
1242
  model.dispose();
866
1243
  },
867
1244
 
868
-
869
- testGetModelClassIgnore: function() {
1245
+ testGetModelClassIgnore() {
870
1246
  qx.Class.define("qx.test.model.C", {
871
- extend : qx.core.Object,
872
- properties : {
873
- b : {event : "b"}
1247
+ extend: qx.core.Object,
1248
+ properties: {
1249
+ b: { event: "b" }
874
1250
  }
875
1251
  });
876
1252
 
877
1253
  var self = this;
878
- var delegate = {getModelClass : function(properties) {
879
- self.assertEquals('b|n|s', properties);
880
- return qx.test.model.C;
881
- }};
1254
+ var delegate = {
1255
+ getModelClass(properties) {
1256
+ self.assertEquals("b|n|s", properties);
1257
+ return qx.test.model.C;
1258
+ }
1259
+ };
882
1260
 
883
1261
  this.__marshaler.dispose();
884
1262
  this.__marshaler = new qx.data.marshal.Json(delegate);
@@ -895,63 +1273,66 @@ qx.Class.define("qx.test.data.marshal.Json",
895
1273
  qx.Class.undefine("qx.test.model.C");
896
1274
  },
897
1275
 
898
-
899
- testGetModelSuperClass: function() {
1276
+ testGetModelSuperClass() {
900
1277
  var called = 0;
901
- var delegate = {getModelSuperClass : function(properties, parentProperty, depth) {
902
- called++;
903
- if (properties == "a") {
904
- this.assertNull(parentProperty);
905
- this.assertEquals(0, depth);
906
- } else if (properties == "b") {
907
- this.assertEquals("a", parentProperty);
908
- this.assertEquals(1, depth);
909
- } else if (properties == "c") {
910
- this.assertEquals("b[0]", parentProperty);
911
- this.assertEquals(3, depth);
912
- } else {
913
- this.fail("Unknown property in the marshaler.");
914
- }
915
- }.bind(this)};
1278
+ var delegate = {
1279
+ getModelSuperClass: function (properties, parentProperty, depth) {
1280
+ called++;
1281
+ if (properties == "a") {
1282
+ this.assertNull(parentProperty);
1283
+ this.assertEquals(0, depth);
1284
+ } else if (properties == "b") {
1285
+ this.assertEquals("a", parentProperty);
1286
+ this.assertEquals(1, depth);
1287
+ } else if (properties == "c") {
1288
+ this.assertEquals("b[0]", parentProperty);
1289
+ this.assertEquals(3, depth);
1290
+ } else {
1291
+ this.fail("Unknown property in the marshaler.");
1292
+ }
1293
+ }.bind(this)
1294
+ };
916
1295
 
917
1296
  this.__marshaler.dispose();
918
- var data = {a: {b: [{c: 1}]}};
1297
+ var data = { a: { b: [{ c: 1 }] } };
919
1298
  this.__marshaler = new qx.data.marshal.Json(delegate);
920
1299
  this.__marshaler.toClass(data);
921
1300
  this.assertEquals(3, called);
922
1301
  },
923
1302
 
924
-
925
- testGetModelMixins: function() {
1303
+ testGetModelMixins() {
926
1304
  var called = 0;
927
- var delegate = {getModelMixins : function(properties, parentProperty, depth) {
928
- called++;
929
- if (properties == "a") {
930
- this.assertNull(parentProperty);
931
- this.assertEquals(0, depth);
932
- } else if (properties == "b") {
933
- this.assertEquals("a", parentProperty);
934
- this.assertEquals(1, depth);
935
- } else if (properties == "c") {
936
- this.assertEquals("b[0]", parentProperty);
937
- this.assertEquals(3, depth);
938
- } else {
939
- this.fail("Unknown property in the marshaler.");
940
- }
941
- }.bind(this)};
1305
+ var delegate = {
1306
+ getModelMixins: function (properties, parentProperty, depth) {
1307
+ called++;
1308
+ if (properties == "a") {
1309
+ this.assertNull(parentProperty);
1310
+ this.assertEquals(0, depth);
1311
+ } else if (properties == "b") {
1312
+ this.assertEquals("a", parentProperty);
1313
+ this.assertEquals(1, depth);
1314
+ } else if (properties == "c") {
1315
+ this.assertEquals("b[0]", parentProperty);
1316
+ this.assertEquals(3, depth);
1317
+ } else {
1318
+ this.fail("Unknown property in the marshaler.");
1319
+ }
1320
+ }.bind(this)
1321
+ };
942
1322
 
943
1323
  this.__marshaler.dispose();
944
- var data = {a: {b: [{c: 1}]}};
1324
+ var data = { a: { b: [{ c: 1 }] } };
945
1325
  this.__marshaler = new qx.data.marshal.Json(delegate);
946
1326
  this.__marshaler.toClass(data);
947
1327
  this.assertEquals(3, called);
948
1328
  },
949
1329
 
950
-
951
- testGetPropertyMapping: function() {
952
- var delegate = {getPropertyMapping : function(property, properties) {
953
- return property + property + property;
954
- }};
1330
+ testGetPropertyMapping() {
1331
+ var delegate = {
1332
+ getPropertyMapping(property, properties) {
1333
+ return property + property + property;
1334
+ }
1335
+ };
955
1336
 
956
1337
  this.__marshaler.dispose();
957
1338
  this.__marshaler = new qx.data.marshal.Json(delegate);
@@ -965,42 +1346,44 @@ qx.Class.define("qx.test.data.marshal.Json",
965
1346
  model.dispose();
966
1347
  },
967
1348
 
968
-
969
- testIgnoreParent: function() {
1349
+ testIgnoreParent() {
970
1350
  var called = 0;
971
- var delegate = {ignore : function(properties, parentProperty, depth) {
972
- called++;
973
- if (properties == "a") {
974
- this.assertNull(parentProperty);
975
- this.assertEquals(0, depth);
976
- } else if (properties == "b") {
977
- this.assertEquals("a", parentProperty);
978
- this.assertEquals(1, depth);
979
- } else if (properties == "c") {
980
- this.assertEquals("b[0]", parentProperty);
981
- this.assertEquals(3, depth);
982
- } else {
983
- this.fail("Unknown property in the marshaler.");
984
- }
985
- }.bind(this)};
1351
+ var delegate = {
1352
+ ignore: function (properties, parentProperty, depth) {
1353
+ called++;
1354
+ if (properties == "a") {
1355
+ this.assertNull(parentProperty);
1356
+ this.assertEquals(0, depth);
1357
+ } else if (properties == "b") {
1358
+ this.assertEquals("a", parentProperty);
1359
+ this.assertEquals(1, depth);
1360
+ } else if (properties == "c") {
1361
+ this.assertEquals("b[0]", parentProperty);
1362
+ this.assertEquals(3, depth);
1363
+ } else {
1364
+ this.fail("Unknown property in the marshaler.");
1365
+ }
1366
+ }.bind(this)
1367
+ };
986
1368
 
987
1369
  this.__marshaler.dispose();
988
- var data = {a: {b: [{c: 1}]}};
1370
+ var data = { a: { b: [{ c: 1 }] } };
989
1371
  this.__marshaler = new qx.data.marshal.Json(delegate);
990
1372
  this.__marshaler.toClass(data);
991
1373
  this.assertEquals(3, called);
992
1374
  },
993
1375
 
994
-
995
- testIgnoreDepth: function() {
996
- var delegate = {ignore : function(properties, parentProperty, depth) {
997
- return depth >= 1;
998
- }};
1376
+ testIgnoreDepth() {
1377
+ var delegate = {
1378
+ ignore(properties, parentProperty, depth) {
1379
+ return depth >= 1;
1380
+ }
1381
+ };
999
1382
 
1000
1383
  this.__marshaler.dispose();
1001
1384
  this.__marshaler = new qx.data.marshal.Json(delegate);
1002
1385
 
1003
- var data = {a: [0], b: {x: 1}, c: {y: 2}};
1386
+ var data = { a: [0], b: { x: 1 }, c: { y: 2 } };
1004
1387
 
1005
1388
  this.__marshaler.toClass(data);
1006
1389
  var model = this.__marshaler.toModel(data);
@@ -1012,17 +1395,17 @@ qx.Class.define("qx.test.data.marshal.Json",
1012
1395
  model.dispose();
1013
1396
  },
1014
1397
 
1015
-
1016
-
1017
- testIgnoreProperties: function() {
1018
- var delegate = {ignore : function(properties, parentProperty, depth) {
1019
- return properties == "x";
1020
- }};
1398
+ testIgnoreProperties() {
1399
+ var delegate = {
1400
+ ignore(properties, parentProperty, depth) {
1401
+ return properties == "x";
1402
+ }
1403
+ };
1021
1404
 
1022
1405
  this.__marshaler.dispose();
1023
1406
  this.__marshaler = new qx.data.marshal.Json(delegate);
1024
1407
 
1025
- var data = {a: [], b: {x: 1}, c: {y: 2}};
1408
+ var data = { a: [], b: { x: 1 }, c: { y: 2 } };
1026
1409
 
1027
1410
  this.__marshaler.toClass(data);
1028
1411
  var model = this.__marshaler.toModel(data);
@@ -1035,9 +1418,8 @@ qx.Class.define("qx.test.data.marshal.Json",
1035
1418
  model.dispose();
1036
1419
  },
1037
1420
 
1038
-
1039
- testBubbleSpliceRemoveAndAdd : function() {
1040
- var data = [{label: "Desktop"}];
1421
+ testBubbleSpliceRemoveAndAdd() {
1422
+ var data = [{ label: "Desktop" }];
1041
1423
 
1042
1424
  var model = qx.data.marshal.Json.createModel(data, true);
1043
1425
  var spy = this.spy();
@@ -1050,17 +1432,18 @@ qx.Class.define("qx.test.data.marshal.Json",
1050
1432
  this.assertCalledTwice(spy);
1051
1433
  },
1052
1434
 
1053
-
1054
- testGetArrayClassSimple : function() {
1435
+ testGetArrayClassSimple() {
1055
1436
  qx.Class.define("qx.test.Array", {
1056
- extend : qx.data.Array
1437
+ extend: qx.data.Array
1057
1438
  });
1058
1439
 
1059
- var delegate = {getArrayClass : function(parentProperty, depth) {
1060
- this.assertNull(parentProperty);
1061
- this.assertEquals(0, depth, "'depth' property is wrong");
1062
- return qx.test.Array;
1063
- }.bind(this)};
1440
+ var delegate = {
1441
+ getArrayClass: function (parentProperty, depth) {
1442
+ this.assertNull(parentProperty);
1443
+ this.assertEquals(0, depth, "'depth' property is wrong");
1444
+ return qx.test.Array;
1445
+ }.bind(this)
1446
+ };
1064
1447
 
1065
1448
  this.__marshaler.dispose();
1066
1449
  this.__marshaler = new qx.data.marshal.Json(delegate);
@@ -1076,35 +1459,37 @@ qx.Class.define("qx.test.data.marshal.Json",
1076
1459
  qx.Class.undefine("qx.test.Array");
1077
1460
  },
1078
1461
 
1079
-
1080
- testGetArrayClassAdvanced : function() {
1462
+ testGetArrayClassAdvanced() {
1081
1463
  qx.Class.define("qx.test.Array", {
1082
- extend : qx.data.Array
1464
+ extend: qx.data.Array
1083
1465
  });
1466
+
1084
1467
  var called = 0;
1085
- var delegate = {getArrayClass : function(parentProperty, depth) {
1086
- called++;
1087
- if (parentProperty == "a") {
1088
- this.assertEquals(1, depth, "'depth' property is wrong");
1089
- return null;
1090
- } else if (parentProperty == "b") {
1091
- this.assertEquals(1, depth, "'depth' property is wrong");
1092
- return qx.test.Array;
1093
- } else if (parentProperty == "e") {
1094
- this.assertEquals(2, depth, "'depth' property is wrong");
1095
- return qx.test.Array;
1096
- } else if (parentProperty == "f") {
1097
- this.assertEquals(2, depth, "'depth' property is wrong");
1098
- return null;
1099
- } else {
1100
- this.fail("Unknown 'parentProperty' in the marshaler.");
1101
- }
1102
- }.bind(this)};
1468
+ var delegate = {
1469
+ getArrayClass: function (parentProperty, depth) {
1470
+ called++;
1471
+ if (parentProperty == "a") {
1472
+ this.assertEquals(1, depth, "'depth' property is wrong");
1473
+ return null;
1474
+ } else if (parentProperty == "b") {
1475
+ this.assertEquals(1, depth, "'depth' property is wrong");
1476
+ return qx.test.Array;
1477
+ } else if (parentProperty == "e") {
1478
+ this.assertEquals(2, depth, "'depth' property is wrong");
1479
+ return qx.test.Array;
1480
+ } else if (parentProperty == "f") {
1481
+ this.assertEquals(2, depth, "'depth' property is wrong");
1482
+ return null;
1483
+ } else {
1484
+ this.fail("Unknown 'parentProperty' in the marshaler.");
1485
+ }
1486
+ }.bind(this)
1487
+ };
1103
1488
 
1104
1489
  this.__marshaler.dispose();
1105
1490
  this.__marshaler = new qx.data.marshal.Json(delegate);
1106
1491
 
1107
- var data = {a: [], b: [], c: {d: "d", e: [], f: []}};
1492
+ var data = { a: [], b: [], c: { d: "d", e: [], f: [] } };
1108
1493
 
1109
1494
  this.__marshaler.toClass(data);
1110
1495
  var model = this.__marshaler.toModel(data);