@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
@@ -19,17 +19,13 @@
19
19
  /**
20
20
  * Single-value binding is a core component of the data binding package.
21
21
  */
22
- qx.Class.define("qx.data.SingleValueBinding",
23
- {
24
-
25
- statics :
26
- {
22
+ qx.Class.define("qx.data.SingleValueBinding", {
23
+ statics: {
27
24
  /** internal reference for all bindings indexed by source object */
28
25
  __bindings: {},
29
26
 
30
27
  /** internal reference for all bindings indexed by target object */
31
- __bindingsByTarget : {},
32
-
28
+ __bindingsByTarget: {},
33
29
 
34
30
  /**
35
31
  * The function is responsible for binding a source objects property to
@@ -115,10 +111,13 @@ qx.Class.define("qx.data.SingleValueBinding",
115
111
  * there is no property definition for object and property (source and
116
112
  * target).
117
113
  */
118
- bind : function(
119
- sourceObject, sourcePropertyChain, targetObject, targetPropertyChain, options
120
- )
121
- {
114
+ bind(
115
+ sourceObject,
116
+ sourcePropertyChain,
117
+ targetObject,
118
+ targetPropertyChain,
119
+ options
120
+ ) {
122
121
  // check for the arguments
123
122
  if (qx.core.Environment.get("qx.debug")) {
124
123
  qx.core.Assert.assertObject(sourceObject, "sourceObject");
@@ -129,15 +128,18 @@ qx.Class.define("qx.data.SingleValueBinding",
129
128
 
130
129
  // set up the target binding
131
130
  var targetListenerMap = this.__setUpTargetBinding(
132
- sourceObject, sourcePropertyChain, targetObject, targetPropertyChain, options
131
+ sourceObject,
132
+ sourcePropertyChain,
133
+ targetObject,
134
+ targetPropertyChain,
135
+ options
133
136
  );
134
137
 
135
138
  // get the property names
136
139
  var propertyNames = sourcePropertyChain.split(".");
137
140
 
138
141
  // stuff that's needed to store for the listener function
139
- var arrayIndexValues =
140
- this.__checkForArrayInPropertyChain(propertyNames);
142
+ var arrayIndexValues = this.__checkForArrayInPropertyChain(propertyNames);
141
143
  var sources = [];
142
144
  var listeners = [];
143
145
  var listenerIds = [];
@@ -157,24 +159,47 @@ qx.Class.define("qx.data.SingleValueBinding",
157
159
  // push the array change event
158
160
  eventNames.push("change");
159
161
  } else {
160
- var eventName = this.__getEventNameForProperty(source, propertyName);
162
+ var eventName = this.__getEventNameForProperty(
163
+ source,
164
+ propertyName
165
+ );
166
+
161
167
  if (!eventName) {
162
- if (i == 0) { // the root property can not change --> error
168
+ if (i == 0) {
169
+ // the root property can not change --> error
163
170
  throw new qx.core.AssertionError(
164
- "Binding property " + propertyName + " of object " + source +
165
- " not possible: No event available. Full property chain: " + sourcePropertyChain
171
+ "Binding property " +
172
+ propertyName +
173
+ " of object " +
174
+ source +
175
+ " not possible: No event available. Full property chain: " +
176
+ sourcePropertyChain
166
177
  );
167
178
  }
168
179
 
169
- if (source instanceof qx.core.Object && qx.Class.hasProperty(source.constructor, propertyName)) {
180
+ if (
181
+ source instanceof qx.core.Object &&
182
+ qx.Class.hasProperty(source.constructor, propertyName)
183
+ ) {
170
184
  qx.log.Logger.warn(
171
- "Binding property " + propertyName + " of object " + source +
172
- " not possible: No event available. Full property chain: " + sourcePropertyChain
185
+ "Binding property " +
186
+ propertyName +
187
+ " of object " +
188
+ source +
189
+ " not possible: No event available. Full property chain: " +
190
+ sourcePropertyChain
173
191
  );
174
192
  }
175
193
 
176
194
  // call the converter if no event could be found on binding creation
177
- initialPromise = this.__setInitialValue(undefined, targetObject, targetPropertyChain, options, sourceObject);
195
+ initialPromise = this.__setInitialValue(
196
+ undefined,
197
+ targetObject,
198
+ targetPropertyChain,
199
+ options,
200
+ sourceObject
201
+ );
202
+
178
203
  break;
179
204
  }
180
205
  eventNames.push(eventName);
@@ -184,36 +209,62 @@ qx.Class.define("qx.data.SingleValueBinding",
184
209
  sources[i] = source;
185
210
 
186
211
  // check for the last property
187
- if (i == propertyNames.length -1) {
212
+ if (i == propertyNames.length - 1) {
188
213
  // if it is an array, set the initial value and bind the event
189
214
  if (arrayIndexValues[i] !== "") {
190
215
  // get the current value
191
- var itemIndex = arrayIndexValues[i] === "last" ?
192
- source.length - 1 : arrayIndexValues[i];
216
+ var itemIndex =
217
+ arrayIndexValues[i] === "last"
218
+ ? source.length - 1
219
+ : arrayIndexValues[i];
193
220
  var currentValue = source.getItem(itemIndex);
194
221
 
195
222
  // set the initial value
196
- initialPromise = this.__setInitialValue(currentValue, targetObject, targetPropertyChain, options, sourceObject);
223
+ initialPromise = this.__setInitialValue(
224
+ currentValue,
225
+ targetObject,
226
+ targetPropertyChain,
227
+ options,
228
+ sourceObject
229
+ );
197
230
 
198
231
  // bind the event
199
232
  listenerIds[i] = this.__bindEventToProperty(
200
- source, eventNames[i], targetObject, targetPropertyChain, options, arrayIndexValues[i]
233
+ source,
234
+ eventNames[i],
235
+ targetObject,
236
+ targetPropertyChain,
237
+ options,
238
+ arrayIndexValues[i]
201
239
  );
202
240
  } else {
203
241
  // try to set the initial value
204
- if (propertyNames[i] != null && source["get" + qx.lang.String.firstUp(propertyNames[i])] != null) {
205
- var currentValue = source["get" + qx.lang.String.firstUp(propertyNames[i])]();
206
- initialPromise = this.__setInitialValue(currentValue, targetObject, targetPropertyChain, options, sourceObject);
242
+ if (
243
+ propertyNames[i] != null &&
244
+ source["get" + qx.lang.String.firstUp(propertyNames[i])] != null
245
+ ) {
246
+ var currentValue =
247
+ source["get" + qx.lang.String.firstUp(propertyNames[i])]();
248
+ initialPromise = this.__setInitialValue(
249
+ currentValue,
250
+ targetObject,
251
+ targetPropertyChain,
252
+ options,
253
+ sourceObject
254
+ );
207
255
  }
208
256
  // bind the property
209
257
  listenerIds[i] = this.__bindEventToProperty(
210
- source, eventNames[i], targetObject, targetPropertyChain, options
258
+ source,
259
+ eventNames[i],
260
+ targetObject,
261
+ targetPropertyChain,
262
+ options
211
263
  );
212
264
  }
213
265
 
214
- // if its not the last property
266
+ // if its not the last property
215
267
  } else {
216
-
217
268
  // create the context for the listener
218
269
  var context = {
219
270
  index: i,
@@ -228,7 +279,11 @@ qx.Class.define("qx.data.SingleValueBinding",
228
279
  };
229
280
 
230
281
  // create a listener
231
- var listener = qx.lang.Function.bind(this.__chainListener, this, context);
282
+ var listener = qx.lang.Function.bind(
283
+ this.__chainListener,
284
+ this,
285
+ context
286
+ );
232
287
 
233
288
  // store the listener for further processing
234
289
  listeners.push(listener);
@@ -238,26 +293,39 @@ qx.Class.define("qx.data.SingleValueBinding",
238
293
  }
239
294
 
240
295
  // get and store the next source
241
- if (source["get" + qx.lang.String.firstUp(propertyNames[i])] == null) {
296
+ if (
297
+ source["get" + qx.lang.String.firstUp(propertyNames[i])] == null
298
+ ) {
242
299
  source = undefined;
243
300
  } else if (arrayIndexValues[i] !== "") {
244
- var itemIndex = arrayIndexValues[i] === "last" ?
245
- source.length - 1 : arrayIndexValues[i];
246
- source = source["get" + qx.lang.String.firstUp(propertyNames[i])](itemIndex);
301
+ var itemIndex =
302
+ arrayIndexValues[i] === "last"
303
+ ? source.length - 1
304
+ : arrayIndexValues[i];
305
+ source =
306
+ source["get" + qx.lang.String.firstUp(propertyNames[i])](
307
+ itemIndex
308
+ );
247
309
  } else {
248
310
  source = source["get" + qx.lang.String.firstUp(propertyNames[i])]();
249
311
  // the value should be undefined if we can not find the last part of the property chain
250
- if (source === null && (propertyNames.length - 1) != i) {
312
+ if (source === null && propertyNames.length - 1 != i) {
251
313
  source = undefined;
252
314
  }
253
315
  }
254
316
  if (!source) {
255
317
  // call the converter if no source could be found on binding creation
256
- this.__setInitialValue(source, targetObject, targetPropertyChain, options, sourceObject);
318
+ this.__setInitialValue(
319
+ source,
320
+ targetObject,
321
+ targetPropertyChain,
322
+ options,
323
+ sourceObject
324
+ );
325
+
257
326
  break;
258
327
  }
259
328
  }
260
-
261
329
  } catch (ex) {
262
330
  // remove the already added listener
263
331
  // go through all added listeners (source)
@@ -290,26 +358,30 @@ qx.Class.define("qx.data.SingleValueBinding",
290
358
  targets: targetListenerMap.targets,
291
359
  initialPromise: initialPromise
292
360
  };
361
+
293
362
  // store the bindings
294
363
  this.__storeBinding(
295
- id, sourceObject, sourcePropertyChain, targetObject, targetPropertyChain
364
+ id,
365
+ sourceObject,
366
+ sourcePropertyChain,
367
+ targetObject,
368
+ targetPropertyChain
296
369
  );
297
370
 
298
371
  return id;
299
372
  },
300
373
 
301
-
302
374
  /**
303
375
  * Event listener for the chaining of the properties.
304
376
  *
305
377
  * @param context {Map} The current context for the listener.
306
378
  */
307
- __chainListener : function(context)
308
- {
379
+ __chainListener(context) {
309
380
  // invoke the onUpdate method
310
381
  if (context.options && context.options.onUpdate) {
311
382
  context.options.onUpdate(
312
- context.sources[context.index], context.targetObject
383
+ context.sources[context.index],
384
+ context.targetObject
313
385
  );
314
386
  }
315
387
 
@@ -332,25 +404,32 @@ qx.Class.define("qx.data.SingleValueBinding",
332
404
  for (var j = context.index + 1; j < context.propertyNames.length; j++) {
333
405
  // get and store the new source
334
406
  if (context.arrayIndexValues[j - 1] !== "") {
335
- source = source["get" + qx.lang.String.firstUp(context.propertyNames[j - 1])](context.arrayIndexValues[j - 1]);
407
+ source = source[
408
+ "get" + qx.lang.String.firstUp(context.propertyNames[j - 1])
409
+ ](context.arrayIndexValues[j - 1]);
336
410
  } else {
337
- source = source["get" + qx.lang.String.firstUp(context.propertyNames[j - 1])]();
411
+ source =
412
+ source[
413
+ "get" + qx.lang.String.firstUp(context.propertyNames[j - 1])
414
+ ]();
338
415
  }
339
416
  context.sources[j] = source;
340
417
  // reset the target object if no new source could be found
341
418
  if (!source) {
342
419
  // use the converter if the property chain breaks [BUG# 6880]
343
420
  if (context.options && context.options.converter) {
344
-
345
421
  var ignoreConverter = false;
346
422
  // take care of the ignore pattern used for the controller
347
423
  if (context.options.ignoreConverter) {
348
424
  // the current property chain as string
349
- var currentSourceChain = context.propertyNames.slice(0,j).join(".");
425
+ var currentSourceChain = context.propertyNames
426
+ .slice(0, j)
427
+ .join(".");
350
428
  // match for the current pattern given in the options
351
429
  var match = currentSourceChain.match(
352
430
  new RegExp("^" + context.options.ignoreConverter)
353
431
  );
432
+
354
433
  ignoreConverter = match ? match.length > 0 : false;
355
434
  }
356
435
 
@@ -361,10 +440,16 @@ qx.Class.define("qx.data.SingleValueBinding",
361
440
  context.options.converter()
362
441
  );
363
442
  } else {
364
- this.__resetTargetValue(context.targetObject, context.targetPropertyChain);
443
+ this.__resetTargetValue(
444
+ context.targetObject,
445
+ context.targetPropertyChain
446
+ );
365
447
  }
366
448
  } else {
367
- this.__resetTargetValue(context.targetObject, context.targetPropertyChain);
449
+ this.__resetTargetValue(
450
+ context.targetObject,
451
+ context.targetPropertyChain
452
+ );
368
453
  }
369
454
 
370
455
  break;
@@ -373,40 +458,85 @@ qx.Class.define("qx.data.SingleValueBinding",
373
458
  // if its the last property
374
459
  if (j == context.propertyNames.length - 1) {
375
460
  // if its an array
376
- if (qx.Class.implementsInterface(source, qx.data.IListData) && context.arrayIndexValues[j] !== "") {
461
+ if (
462
+ qx.Class.implementsInterface(source, qx.data.IListData) &&
463
+ context.arrayIndexValues[j] !== ""
464
+ ) {
377
465
  // set the initial value
378
- var itemIndex = context.arrayIndexValues[j] === "last" ?
379
- source.length - 1 : context.arrayIndexValues[j];
466
+ var itemIndex =
467
+ context.arrayIndexValues[j] === "last"
468
+ ? source.length - 1
469
+ : context.arrayIndexValues[j];
380
470
  var currentValue = source.getItem(itemIndex);
381
471
  this.__setInitialValue(
382
- currentValue, context.targetObject, context.targetPropertyChain, context.options, context.sources[context.index]
472
+ currentValue,
473
+ context.targetObject,
474
+ context.targetPropertyChain,
475
+ context.options,
476
+ context.sources[context.index]
383
477
  );
384
478
 
385
479
  // bind the item event to the new target
386
480
  context.listenerIds[j] = this.__bindEventToProperty(
387
- source, "change", context.targetObject, context.targetPropertyChain, context.options, context.arrayIndexValues[j]
481
+ source,
482
+ "change",
483
+ context.targetObject,
484
+ context.targetPropertyChain,
485
+ context.options,
486
+ context.arrayIndexValues[j]
388
487
  );
389
-
390
488
  } else {
391
- if (context.propertyNames[j] != null && source["get" + qx.lang.String.firstUp(context.propertyNames[j])] != null) {
392
- var currentValue = source["get" + qx.lang.String.firstUp(context.propertyNames[j])]();
393
- this.__setInitialValue(currentValue, context.targetObject, context.targetPropertyChain, context.options, context.sources[context.index]);
489
+ if (
490
+ context.propertyNames[j] != null &&
491
+ source[
492
+ "get" + qx.lang.String.firstUp(context.propertyNames[j])
493
+ ] != null
494
+ ) {
495
+ var currentValue =
496
+ source[
497
+ "get" + qx.lang.String.firstUp(context.propertyNames[j])
498
+ ]();
499
+
500
+ this.__setInitialValue(
501
+ currentValue,
502
+ context.targetObject,
503
+ context.targetPropertyChain,
504
+ context.options,
505
+ context.sources[context.index]
506
+ );
394
507
  }
395
- var eventName = this.__getEventNameForProperty(source, context.propertyNames[j]);
508
+ var eventName = this.__getEventNameForProperty(
509
+ source,
510
+ context.propertyNames[j]
511
+ );
512
+
396
513
  if (!eventName) {
397
514
  context.sources[j] = null;
398
- this.__resetTargetValue(context.targetObject, context.targetPropertyChain);
515
+ this.__resetTargetValue(
516
+ context.targetObject,
517
+ context.targetPropertyChain
518
+ );
519
+
399
520
  return;
400
521
  }
401
522
  // bind the last property to the new target
402
523
  context.listenerIds[j] = this.__bindEventToProperty(
403
- source, eventName, context.targetObject, context.targetPropertyChain, context.options
524
+ source,
525
+ eventName,
526
+ context.targetObject,
527
+ context.targetPropertyChain,
528
+ context.options
404
529
  );
405
530
  }
406
531
  } else {
407
532
  // check if a listener already created
408
533
  if (context.listeners[j] == null) {
409
- var listener = qx.lang.Function.bind(this.__chainListener, this, context);
534
+ var listener = qx.lang.Function.bind(
535
+ this.__chainListener,
536
+ this,
537
+ context
538
+ );
539
+
410
540
  // store the listener for further processing
411
541
  context.listeners.push(listener);
412
542
  }
@@ -414,20 +544,29 @@ qx.Class.define("qx.data.SingleValueBinding",
414
544
  if (qx.Class.implementsInterface(source, qx.data.IListData)) {
415
545
  var eventName = "change";
416
546
  } else {
417
- var eventName = this.__getEventNameForProperty(source, context.propertyNames[j]);
547
+ var eventName = this.__getEventNameForProperty(
548
+ source,
549
+ context.propertyNames[j]
550
+ );
418
551
  }
419
552
 
420
553
  if (!eventName) {
421
554
  context.sources[j] = null;
422
- this.__resetTargetValue(context.targetObject, context.targetPropertyChain);
555
+ this.__resetTargetValue(
556
+ context.targetObject,
557
+ context.targetPropertyChain
558
+ );
559
+
423
560
  return;
424
561
  }
425
- context.listenerIds[j] = source.addListener(eventName, context.listeners[j]);
562
+ context.listenerIds[j] = source.addListener(
563
+ eventName,
564
+ context.listeners[j]
565
+ );
426
566
  }
427
567
  }
428
568
  },
429
569
 
430
-
431
570
  /**
432
571
  * Internal helper for setting up the listening to the changes on the
433
572
  * target side of the binding. Only works if the target property is a
@@ -444,14 +583,17 @@ qx.Class.define("qx.data.SingleValueBinding",
444
583
  * converter.
445
584
  * @return {var} A map containing the listener ids and the targets.
446
585
  */
447
- __setUpTargetBinding : function(
448
- sourceObject, sourcePropertyChain, targetObject, targetPropertyChain, options
586
+ __setUpTargetBinding(
587
+ sourceObject,
588
+ sourcePropertyChain,
589
+ targetObject,
590
+ targetPropertyChain,
591
+ options
449
592
  ) {
450
593
  // get the property names
451
594
  var propertyNames = targetPropertyChain.split(".");
452
595
 
453
- var arrayIndexValues =
454
- this.__checkForArrayInPropertyChain(propertyNames);
596
+ var arrayIndexValues = this.__checkForArrayInPropertyChain(propertyNames);
455
597
  var targets = [];
456
598
  var listeners = [];
457
599
  var listenerIds = [];
@@ -465,7 +607,11 @@ qx.Class.define("qx.data.SingleValueBinding",
465
607
  // push the array change event
466
608
  eventNames.push("change");
467
609
  } else {
468
- var eventName = this.__getEventNameForProperty(target, propertyNames[i]);
610
+ var eventName = this.__getEventNameForProperty(
611
+ target,
612
+ propertyNames[i]
613
+ );
614
+
469
615
  if (!eventName) {
470
616
  // if the event names could not be terminated,
471
617
  // just ignore the target chain listening
@@ -478,7 +624,7 @@ qx.Class.define("qx.data.SingleValueBinding",
478
624
  targets[i] = target;
479
625
 
480
626
  // create a listener
481
- var listener = function() {
627
+ var listener = function () {
482
628
  // delete all listener after the current one
483
629
  for (var j = i + 1; j < propertyNames.length - 1; j++) {
484
630
  // remove the old sources
@@ -496,12 +642,13 @@ qx.Class.define("qx.data.SingleValueBinding",
496
642
  var target = targets[i];
497
643
  // add new once after the current one
498
644
  for (var j = i + 1; j < propertyNames.length - 1; j++) {
499
-
500
645
  var firstUpPropName = qx.lang.String.firstUp(propertyNames[j - 1]);
501
646
  // get and store the new target
502
647
  if (arrayIndexValues[j - 1] !== "") {
503
- var currentIndex = arrayIndexValues[j - 1] === "last" ?
504
- target.getLength() - 1 : arrayIndexValues[j - 1];
648
+ var currentIndex =
649
+ arrayIndexValues[j - 1] === "last"
650
+ ? target.getLength() - 1
651
+ : arrayIndexValues[j - 1];
505
652
  target = target["get" + firstUpPropName](currentIndex);
506
653
  } else {
507
654
  target = target["get" + firstUpPropName]();
@@ -523,8 +670,10 @@ qx.Class.define("qx.data.SingleValueBinding",
523
670
  } else {
524
671
  var eventName =
525
672
  qx.data.SingleValueBinding.__getEventNameForProperty(
526
- target, propertyNames[j]
673
+ target,
674
+ propertyNames[j]
527
675
  );
676
+
528
677
  if (!eventName) {
529
678
  // if the event name could not be terminated,
530
679
  // ignore the rest
@@ -533,10 +682,14 @@ qx.Class.define("qx.data.SingleValueBinding",
533
682
  }
534
683
 
535
684
  listenerIds[j] = target.addListener(eventName, listeners[j]);
536
- }
685
+ }
537
686
 
538
687
  qx.data.SingleValueBinding.updateTarget(
539
- sourceObject, sourcePropertyChain, targetObject, targetPropertyChain, options
688
+ sourceObject,
689
+ sourcePropertyChain,
690
+ targetObject,
691
+ targetPropertyChain,
692
+ options
540
693
  );
541
694
  };
542
695
 
@@ -560,10 +713,9 @@ qx.Class.define("qx.data.SingleValueBinding",
560
713
  }
561
714
  }
562
715
 
563
- return {listenerIds: listenerIds, targets: targets};
716
+ return { listenerIds: listenerIds, targets: targets };
564
717
  },
565
718
 
566
-
567
719
  /**
568
720
  * Helper for updating the target. Gets the current set data from the source
569
721
  * and set that on the target.
@@ -580,21 +732,27 @@ qx.Class.define("qx.data.SingleValueBinding",
580
732
  *
581
733
  * @internal
582
734
  */
583
- updateTarget : function(
584
- sourceObject, sourcePropertyChain, targetObject, targetPropertyChain, options
585
- )
586
- {
735
+ updateTarget(
736
+ sourceObject,
737
+ sourcePropertyChain,
738
+ targetObject,
739
+ targetPropertyChain,
740
+ options
741
+ ) {
587
742
  var value = this.resolvePropertyChain(sourceObject, sourcePropertyChain);
588
743
 
589
744
  // convert the data before setting
590
745
  value = qx.data.SingleValueBinding.__convertValue(
591
- value, targetObject, targetPropertyChain, options, sourceObject
746
+ value,
747
+ targetObject,
748
+ targetPropertyChain,
749
+ options,
750
+ sourceObject
592
751
  );
593
752
 
594
753
  this.__setTargetValue(targetObject, targetPropertyChain, value);
595
754
  },
596
755
 
597
-
598
756
  /**
599
757
  * Internal helper for getting the current set value at the property chain.
600
758
  *
@@ -603,12 +761,11 @@ qx.Class.define("qx.data.SingleValueBinding",
603
761
  * the source property.
604
762
  * @return {var?undefined} Returns the set value if defined.
605
763
  */
606
- resolvePropertyChain : function(o, propertyChain) {
764
+ resolvePropertyChain(o, propertyChain) {
607
765
  var properties = this.__getPropertyChainArray(propertyChain);
608
766
  return this.__getTargetFromChain(o, properties, properties.length);
609
767
  },
610
768
 
611
-
612
769
  /**
613
770
  * Tries to return a fitting event name to the given source object and
614
771
  * property name. First, it assumes that the property name is a real property
@@ -622,8 +779,7 @@ qx.Class.define("qx.data.SingleValueBinding",
622
779
  * @param propertyName {String} The name of the property.
623
780
  * @return {String|null} The name of the corresponding event or null.
624
781
  */
625
- __getEventNameForProperty : function(source, propertyName)
626
- {
782
+ __getEventNameForProperty(source, propertyName) {
627
783
  // get the current event name from the property definition
628
784
  var eventName = this.__getEventForProperty(source, propertyName);
629
785
  // if no event name could be found
@@ -631,9 +787,12 @@ qx.Class.define("qx.data.SingleValueBinding",
631
787
  // check if the propertyName is the event name
632
788
  if (qx.Class.supportsEvent(source.constructor, propertyName)) {
633
789
  eventName = propertyName;
634
- // check if the change + propertyName is the event name
635
- } else if (qx.Class.supportsEvent(
636
- source.constructor, "change" + qx.lang.String.firstUp(propertyName))
790
+ // check if the change + propertyName is the event name
791
+ } else if (
792
+ qx.Class.supportsEvent(
793
+ source.constructor,
794
+ "change" + qx.lang.String.firstUp(propertyName)
795
+ )
637
796
  ) {
638
797
  eventName = "change" + qx.lang.String.firstUp(propertyName);
639
798
  } else {
@@ -643,7 +802,6 @@ qx.Class.define("qx.data.SingleValueBinding",
643
802
  return eventName;
644
803
  },
645
804
 
646
-
647
805
  /**
648
806
  * Resets the value of the given target after resolving the target property
649
807
  * chain.
@@ -653,8 +811,7 @@ qx.Class.define("qx.data.SingleValueBinding",
653
811
  * @param targetPropertyChain {String} The names of the properties,
654
812
  * separated with a dot.
655
813
  */
656
- __resetTargetValue : function(targetObject, targetPropertyChain)
657
- {
814
+ __resetTargetValue(targetObject, targetPropertyChain) {
658
815
  // get the last target object of the chain
659
816
  var properties = this.__getPropertyChainArray(targetPropertyChain);
660
817
  var target = this.__getTargetFromChain(targetObject, properties);
@@ -669,19 +826,25 @@ qx.Class.define("qx.data.SingleValueBinding",
669
826
  }
670
827
 
671
828
  // try to reset the property
672
- if (target["reset" + qx.lang.String.firstUp(lastProperty)] != undefined) {
829
+ if (
830
+ target["reset" + qx.lang.String.firstUp(lastProperty)] != undefined
831
+ ) {
673
832
  target["reset" + qx.lang.String.firstUp(lastProperty)]();
674
833
  } else {
675
834
  // fallback if no resetter is given (see bug #2456)
676
- if( typeof target["set" + qx.lang.String.firstUp(lastProperty)] != "function") {
677
- throw new qx.core.AssertionError("No setter for '" + lastProperty + "' on target " + target + ".");
835
+ if (
836
+ typeof target["set" + qx.lang.String.firstUp(lastProperty)] !=
837
+ "function"
838
+ ) {
839
+ throw new qx.core.AssertionError(
840
+ "No setter for '" + lastProperty + "' on target " + target + "."
841
+ );
678
842
  }
679
843
  target["set" + qx.lang.String.firstUp(lastProperty)](null);
680
844
  }
681
845
  }
682
846
  },
683
847
 
684
-
685
848
  /**
686
849
  * Sets the given value to the given target after resolving the
687
850
  * target property chain.
@@ -692,8 +855,7 @@ qx.Class.define("qx.data.SingleValueBinding",
692
855
  * separated with a dot.
693
856
  * @param value {var} The value to set.
694
857
  */
695
- __setTargetValue : function(targetObject, targetPropertyChain, value)
696
- {
858
+ __setTargetValue(targetObject, targetPropertyChain, value) {
697
859
  // get the last target object of the chain
698
860
  var properties = this.__getPropertyChainArray(targetPropertyChain);
699
861
  var target = this.__getTargetFromChain(targetObject, properties);
@@ -710,15 +872,19 @@ qx.Class.define("qx.data.SingleValueBinding",
710
872
  }
711
873
  target.setItem(index, value);
712
874
  } else {
713
- if( typeof target["set" + qx.lang.String.firstUp(lastProperty)] != "function" ){
714
- throw new qx.core.AssertionError("No setter for '" + lastProperty + "' on target " + target + ".");
875
+ if (
876
+ typeof target["set" + qx.lang.String.firstUp(lastProperty)] !=
877
+ "function"
878
+ ) {
879
+ throw new qx.core.AssertionError(
880
+ "No setter for '" + lastProperty + "' on target " + target + "."
881
+ );
715
882
  }
716
883
  return target["set" + qx.lang.String.firstUp(lastProperty)](value);
717
884
  }
718
885
  }
719
886
  },
720
887
 
721
-
722
888
  /**
723
889
  * Returns the index from a property using bracket notation, e.g.
724
890
  * "[42]" returns "42", "[last]" returns "last"
@@ -727,31 +893,31 @@ qx.Class.define("qx.data.SingleValueBinding",
727
893
  * @return {String|null} Array index or null if the property name does
728
894
  * not use bracket notation
729
895
  */
730
- __getArrayIndex: function(propertyName) {
896
+ __getArrayIndex(propertyName) {
731
897
  var arrayExp = /^\[(\d+|last)\]$/;
732
- var arrayMatch = propertyName.match(arrayExp);
733
- if (arrayMatch) {
734
- return arrayMatch[1];
735
- }
736
- return null;
898
+ var arrayMatch = propertyName.match(arrayExp);
899
+ if (arrayMatch) {
900
+ return arrayMatch[1];
901
+ }
902
+ return null;
737
903
  },
738
904
 
739
-
740
905
  /**
741
906
  * Converts a property chain string into a list of properties and/or
742
907
  * array indexes
743
908
  * @param targetPropertyChain {String} property chain
744
909
  * @return {String[]} Array of property names
745
910
  */
746
- __getPropertyChainArray: function(targetPropertyChain) {
911
+ __getPropertyChainArray(targetPropertyChain) {
747
912
  // split properties (dot notation) and array indexes (bracket notation)
748
- return targetPropertyChain.replace(/\[/g, ".[").split(".")
749
- .filter(function(prop) {
913
+ return targetPropertyChain
914
+ .replace(/\[/g, ".[")
915
+ .split(".")
916
+ .filter(function (prop) {
750
917
  return prop !== "";
751
918
  });
752
919
  },
753
920
 
754
-
755
921
  /**
756
922
  * Helper-Function resolving the object on which the last property of the
757
923
  * chain should be set.
@@ -764,8 +930,7 @@ qx.Class.define("qx.data.SingleValueBinding",
764
930
  * @return {qx.core.Object | null} The object on which the last property
765
931
  * should be set.
766
932
  */
767
- __getTargetFromChain : function(targetObject, targetProperties, index)
768
- {
933
+ __getTargetFromChain(targetObject, targetProperties, index) {
769
934
  index = index || targetProperties.length - 1;
770
935
  var target = targetObject;
771
936
 
@@ -781,8 +946,7 @@ qx.Class.define("qx.data.SingleValueBinding",
781
946
  arrIndex = target.length - 1;
782
947
  }
783
948
  target = target.getItem(arrIndex);
784
- }
785
- else {
949
+ } else {
786
950
  target = target["get" + qx.lang.String.firstUp(property)]();
787
951
  }
788
952
  } catch (ex) {
@@ -792,7 +956,6 @@ qx.Class.define("qx.data.SingleValueBinding",
792
956
  return target;
793
957
  },
794
958
 
795
-
796
959
  /**
797
960
  * Set the given value to the target property. This method is used for
798
961
  * initially set the value.
@@ -807,12 +970,22 @@ qx.Class.define("qx.data.SingleValueBinding",
807
970
  * @param sourceObject {qx.core.Object} The source object of the binding (
808
971
  * used for the onUpdate callback).
809
972
  */
810
- __setInitialValue : function(value, targetObject, targetPropertyChain, options, sourceObject)
811
- {
973
+ __setInitialValue(
974
+ value,
975
+ targetObject,
976
+ targetPropertyChain,
977
+ options,
978
+ sourceObject
979
+ ) {
812
980
  // first convert the initial value
813
981
  value = this.__convertValue(
814
- value, targetObject, targetPropertyChain, options, sourceObject
982
+ value,
983
+ targetObject,
984
+ targetPropertyChain,
985
+ options,
986
+ sourceObject
815
987
  );
988
+
816
989
  // check if the converted value is undefined
817
990
  if (value === undefined) {
818
991
  this.__resetTargetValue(targetObject, targetPropertyChain);
@@ -820,7 +993,11 @@ qx.Class.define("qx.data.SingleValueBinding",
820
993
  // only set the initial value if one is given (may be null)
821
994
  if (value !== undefined) {
822
995
  try {
823
- var result = this.__setTargetValue(targetObject, targetPropertyChain, value);
996
+ var result = this.__setTargetValue(
997
+ targetObject,
998
+ targetPropertyChain,
999
+ value
1000
+ );
824
1001
 
825
1002
  // tell the user that the setter was invoked probably
826
1003
  if (options && options.onUpdate) {
@@ -828,7 +1005,7 @@ qx.Class.define("qx.data.SingleValueBinding",
828
1005
  }
829
1006
  return result;
830
1007
  } catch (e) {
831
- if (! (e instanceof qx.core.ValidationError)) {
1008
+ if (!(e instanceof qx.core.ValidationError)) {
832
1009
  throw e;
833
1010
  }
834
1011
 
@@ -836,15 +1013,18 @@ qx.Class.define("qx.data.SingleValueBinding",
836
1013
  options.onSetFail(e);
837
1014
  } else {
838
1015
  qx.log.Logger.warn(
839
- "Failed so set value " + value + " on " + targetObject
840
- + ". Error message: " + e
1016
+ "Failed so set value " +
1017
+ value +
1018
+ " on " +
1019
+ targetObject +
1020
+ ". Error message: " +
1021
+ e
841
1022
  );
842
1023
  }
843
1024
  }
844
1025
  }
845
1026
  },
846
1027
 
847
-
848
1028
  /**
849
1029
  * Checks for an array element in the given property names and adapts the
850
1030
  * arrays to fit the algorithm.
@@ -854,7 +1034,7 @@ qx.Class.define("qx.data.SingleValueBinding",
854
1034
  * @return {Array} An array containing the values of the array properties
855
1035
  * corresponding to the property names.
856
1036
  */
857
- __checkForArrayInPropertyChain: function(propertyNames) {
1037
+ __checkForArrayInPropertyChain(propertyNames) {
858
1038
  // array for the values of the array properties
859
1039
  var arrayIndexValues = [];
860
1040
 
@@ -864,17 +1044,25 @@ qx.Class.define("qx.data.SingleValueBinding",
864
1044
  // if its an array property in the chain
865
1045
  if (name.endsWith("]")) {
866
1046
  // get the inner value of the array notation
867
- var arrayIndex = name.substring(name.indexOf("[") + 1, name.indexOf("]"));
1047
+ var arrayIndex = name.substring(
1048
+ name.indexOf("[") + 1,
1049
+ name.indexOf("]")
1050
+ );
868
1051
 
869
1052
  // check the arrayIndex
870
1053
  if (name.indexOf("]") != name.length - 1) {
871
- throw new Error("Please use only one array at a time: "
872
- + name + " does not work.");
1054
+ throw new Error(
1055
+ "Please use only one array at a time: " + name + " does not work."
1056
+ );
873
1057
  }
874
1058
  if (arrayIndex !== "last") {
875
1059
  if (arrayIndex == "" || isNaN(parseInt(arrayIndex, 10))) {
876
- throw new Error("No number or 'last' value has been given"
877
- + " in an array binding: " + name + " does not work.");
1060
+ throw new Error(
1061
+ "No number or 'last' value has been given" +
1062
+ " in an array binding: " +
1063
+ name +
1064
+ " does not work."
1065
+ );
878
1066
  }
879
1067
  }
880
1068
 
@@ -889,13 +1077,12 @@ qx.Class.define("qx.data.SingleValueBinding",
889
1077
  propertyNames.splice(i + 1, 0, "item");
890
1078
  // skip the next iteration. its the array item and its already set
891
1079
  i++;
892
- // it the array notation is the beginning
1080
+ // it the array notation is the beginning
893
1081
  } else {
894
1082
  // store the array index and override the entry in the property names
895
1083
  arrayIndexValues[i] = arrayIndex;
896
1084
  propertyNames.splice(i, 1, "item");
897
1085
  }
898
-
899
1086
  } else {
900
1087
  arrayIndexValues[i] = "";
901
1088
  }
@@ -904,7 +1091,6 @@ qx.Class.define("qx.data.SingleValueBinding",
904
1091
  return arrayIndexValues;
905
1092
  },
906
1093
 
907
-
908
1094
  /**
909
1095
  * Internal helper method which is actually doing all bindings. That means
910
1096
  * that an event listener will be added to the source object which listens
@@ -934,23 +1120,33 @@ qx.Class.define("qx.data.SingleValueBinding",
934
1120
  * there is no property definition for the target object and target
935
1121
  * property.
936
1122
  */
937
- __bindEventToProperty : function(sourceObject, sourceEvent, targetObject,
938
- targetProperty, options, arrayIndex)
939
- {
1123
+ __bindEventToProperty(
1124
+ sourceObject,
1125
+ sourceEvent,
1126
+ targetObject,
1127
+ targetProperty,
1128
+ options,
1129
+ arrayIndex
1130
+ ) {
940
1131
  // checks
941
1132
  if (qx.core.Environment.get("qx.debug")) {
942
1133
  // check for the data event
943
1134
  var eventType = qx.Class.getEventType(
944
- sourceObject.constructor, sourceEvent
1135
+ sourceObject.constructor,
1136
+ sourceEvent
945
1137
  );
1138
+
946
1139
  qx.core.Assert.assertEquals(
947
- "qx.event.type.Data", eventType, sourceEvent
948
- + " is not an data (qx.event.type.Data) event on "
949
- + sourceObject + "."
1140
+ "qx.event.type.Data",
1141
+ eventType,
1142
+ sourceEvent +
1143
+ " is not an data (qx.event.type.Data) event on " +
1144
+ sourceObject +
1145
+ "."
950
1146
  );
951
1147
  }
952
1148
 
953
- var bindListener = function(arrayIndex, e) {
1149
+ var bindListener = function (arrayIndex, e) {
954
1150
  // if an array value is given
955
1151
  if (arrayIndex !== "") {
956
1152
  //check if its the "last" value
@@ -963,7 +1159,10 @@ qx.Class.define("qx.data.SingleValueBinding",
963
1159
 
964
1160
  // reset the target if the data is not set
965
1161
  if (data === undefined) {
966
- qx.data.SingleValueBinding.__resetTargetValue(targetObject, targetProperty);
1162
+ qx.data.SingleValueBinding.__resetTargetValue(
1163
+ targetObject,
1164
+ targetProperty
1165
+ );
967
1166
  }
968
1167
 
969
1168
  // only do something if the current array has been changed
@@ -979,14 +1178,28 @@ qx.Class.define("qx.data.SingleValueBinding",
979
1178
 
980
1179
  // debug message
981
1180
  if (qx.core.Environment.get("qx.debug.databinding")) {
982
- qx.log.Logger.debug("Binding executed from " + sourceObject + " by " +
983
- sourceEvent + " to " + targetObject + " (" + targetProperty + ")");
1181
+ qx.log.Logger.debug(
1182
+ "Binding executed from " +
1183
+ sourceObject +
1184
+ " by " +
1185
+ sourceEvent +
1186
+ " to " +
1187
+ targetObject +
1188
+ " (" +
1189
+ targetProperty +
1190
+ ")"
1191
+ );
1192
+
984
1193
  qx.log.Logger.debug("Data before conversion: " + data);
985
1194
  }
986
1195
 
987
1196
  // convert the data
988
1197
  data = qx.data.SingleValueBinding.__convertValue(
989
- data, targetObject, targetProperty, options, sourceObject
1198
+ data,
1199
+ targetObject,
1200
+ targetProperty,
1201
+ options,
1202
+ sourceObject
990
1203
  );
991
1204
 
992
1205
  // debug message
@@ -998,18 +1211,24 @@ qx.Class.define("qx.data.SingleValueBinding",
998
1211
  var result;
999
1212
  try {
1000
1213
  if (data !== undefined) {
1001
- result = qx.data.SingleValueBinding.__setTargetValue(targetObject, targetProperty, data);
1214
+ result = qx.data.SingleValueBinding.__setTargetValue(
1215
+ targetObject,
1216
+ targetProperty,
1217
+ data
1218
+ );
1002
1219
  } else {
1003
- result = qx.data.SingleValueBinding.__resetTargetValue(targetObject, targetProperty);
1220
+ result = qx.data.SingleValueBinding.__resetTargetValue(
1221
+ targetObject,
1222
+ targetProperty
1223
+ );
1004
1224
  }
1005
1225
 
1006
1226
  // tell the user that the setter was invoked probably
1007
1227
  if (options && options.onUpdate) {
1008
1228
  options.onUpdate(sourceObject, targetObject, data);
1009
1229
  }
1010
-
1011
1230
  } catch (ex) {
1012
- if (! (ex instanceof qx.core.ValidationError)) {
1231
+ if (!(ex instanceof qx.core.ValidationError)) {
1013
1232
  throw ex;
1014
1233
  }
1015
1234
 
@@ -1017,8 +1236,12 @@ qx.Class.define("qx.data.SingleValueBinding",
1017
1236
  options.onSetFail(ex);
1018
1237
  } else {
1019
1238
  qx.log.Logger.warn(
1020
- "Failed so set value " + data + " on " + targetObject
1021
- + ". Error message: " + ex
1239
+ "Failed so set value " +
1240
+ data +
1241
+ " on " +
1242
+ targetObject +
1243
+ ". Error message: " +
1244
+ ex
1022
1245
  );
1023
1246
  }
1024
1247
  }
@@ -1031,7 +1254,11 @@ qx.Class.define("qx.data.SingleValueBinding",
1031
1254
  arrayIndex = "";
1032
1255
  }
1033
1256
  // bind the listener function (make the array index in the listener available)
1034
- bindListener = qx.lang.Function.bind(bindListener, sourceObject, arrayIndex);
1257
+ bindListener = qx.lang.Function.bind(
1258
+ bindListener,
1259
+ sourceObject,
1260
+ arrayIndex
1261
+ );
1035
1262
 
1036
1263
  // add the listener
1037
1264
  var id = sourceObject.addListener(sourceEvent, bindListener);
@@ -1039,7 +1266,6 @@ qx.Class.define("qx.data.SingleValueBinding",
1039
1266
  return id;
1040
1267
  },
1041
1268
 
1042
-
1043
1269
  /**
1044
1270
  * This method stores the given value as a binding in the internal structure
1045
1271
  * of all bindings.
@@ -1051,10 +1277,13 @@ qx.Class.define("qx.data.SingleValueBinding",
1051
1277
  * @param targetProperty {String} The name of the property on the target
1052
1278
  * object.
1053
1279
  */
1054
- __storeBinding : function(
1055
- id, sourceObject, sourceEvent, targetObject, targetProperty
1056
- )
1057
- {
1280
+ __storeBinding(
1281
+ id,
1282
+ sourceObject,
1283
+ sourceEvent,
1284
+ targetObject,
1285
+ targetProperty
1286
+ ) {
1058
1287
  var hash;
1059
1288
 
1060
1289
  // add the listener id to the internal registry
@@ -1063,9 +1292,15 @@ qx.Class.define("qx.data.SingleValueBinding",
1063
1292
  this.__bindings[hash] = [];
1064
1293
  }
1065
1294
 
1066
- var binding = [id, sourceObject, sourceEvent, targetObject, targetProperty];
1067
- this.__bindings[hash].push(binding);
1295
+ var binding = [
1296
+ id,
1297
+ sourceObject,
1298
+ sourceEvent,
1299
+ targetObject,
1300
+ targetProperty
1301
+ ];
1068
1302
 
1303
+ this.__bindings[hash].push(binding);
1069
1304
 
1070
1305
  // add same binding data indexed by target object
1071
1306
  hash = targetObject.toHashCode();
@@ -1075,7 +1310,6 @@ qx.Class.define("qx.data.SingleValueBinding",
1075
1310
  this.__bindingsByTarget[hash].push(binding);
1076
1311
  },
1077
1312
 
1078
-
1079
1313
  /**
1080
1314
  * This method takes the given value, checks if the user has given a
1081
1315
  * converter and converts the value to its target type. If no converter is
@@ -1095,8 +1329,12 @@ qx.Class.define("qx.data.SingleValueBinding",
1095
1329
  * @throws {qx.core.AssertionError} If there is no property definition
1096
1330
  * of the given target object and target property.
1097
1331
  */
1098
- __convertValue : function(
1099
- value, targetObject, targetPropertyChain, options, sourceObject
1332
+ __convertValue(
1333
+ value,
1334
+ targetObject,
1335
+ targetPropertyChain,
1336
+ options,
1337
+ sourceObject
1100
1338
  ) {
1101
1339
  // do the conversion given by the user
1102
1340
  if (options && options.converter) {
@@ -1105,27 +1343,31 @@ qx.Class.define("qx.data.SingleValueBinding",
1105
1343
  model = targetObject.getModel();
1106
1344
  }
1107
1345
  return options.converter(value, model, sourceObject, targetObject);
1108
- // try default conversion
1346
+ // try default conversion
1109
1347
  } else {
1110
1348
  var properties = this.__getPropertyChainArray(targetPropertyChain);
1111
1349
  var target = this.__getTargetFromChain(targetObject, properties);
1112
1350
  var lastProperty = targetPropertyChain.substring(
1113
- targetPropertyChain.lastIndexOf(".") + 1, targetPropertyChain.length
1351
+ targetPropertyChain.lastIndexOf(".") + 1,
1352
+ targetPropertyChain.length
1114
1353
  );
1354
+
1115
1355
  // if no target is currently available, return the original value
1116
1356
  if (target == null) {
1117
1357
  return value;
1118
1358
  }
1119
1359
 
1120
1360
  var propertieDefinition = qx.Class.getPropertyDefinition(
1121
- target.constructor, lastProperty
1361
+ target.constructor,
1362
+ lastProperty
1122
1363
  );
1123
- var check = propertieDefinition == null ? "" : propertieDefinition.check;
1364
+
1365
+ var check =
1366
+ propertieDefinition == null ? "" : propertieDefinition.check;
1124
1367
  return this.__defaultConversion(value, check);
1125
1368
  }
1126
1369
  },
1127
1370
 
1128
-
1129
1371
  /**
1130
1372
  * Helper method which tries to figure out if the given property on the
1131
1373
  * given object does have a change event and if returns the name of it.
@@ -1137,10 +1379,11 @@ qx.Class.define("qx.data.SingleValueBinding",
1137
1379
  * @throws {qx.core.AssertionError} If there is no property definition of
1138
1380
  * the given object property pair.
1139
1381
  */
1140
- __getEventForProperty : function(sourceObject, sourceProperty) {
1382
+ __getEventForProperty(sourceObject, sourceProperty) {
1141
1383
  // get the event name
1142
- var propertieDefinition = qx.Class.getPropertyDefinition(
1143
- sourceObject.constructor, sourceProperty
1384
+ var propertieDefinition = qx.Class.getPropertyDefinition(
1385
+ sourceObject.constructor,
1386
+ sourceProperty
1144
1387
  );
1145
1388
 
1146
1389
  if (propertieDefinition == null) {
@@ -1149,7 +1392,6 @@ qx.Class.define("qx.data.SingleValueBinding",
1149
1392
  return propertieDefinition.event;
1150
1393
  },
1151
1394
 
1152
-
1153
1395
  /**
1154
1396
  * Tries to convert the data to the type given in the targetCheck argument.
1155
1397
  *
@@ -1158,31 +1400,36 @@ qx.Class.define("qx.data.SingleValueBinding",
1158
1400
  * contains the target type.
1159
1401
  * @return {Integer|String|Float} The converted data
1160
1402
  */
1161
- __defaultConversion : function(data, targetCheck) {
1403
+ __defaultConversion(data, targetCheck) {
1162
1404
  var dataType = qx.lang.Type.getClass(data);
1163
1405
 
1164
1406
  // to integer
1165
- if ((dataType == "Number" || dataType == "String") &&
1166
- (targetCheck == "Integer" || targetCheck == "PositiveInteger")) {
1407
+ if (
1408
+ (dataType == "Number" || dataType == "String") &&
1409
+ (targetCheck == "Integer" || targetCheck == "PositiveInteger")
1410
+ ) {
1167
1411
  data = parseInt(data, 10);
1168
1412
  }
1169
1413
 
1170
1414
  // to string
1171
- if ((dataType == "Boolean" || dataType == "Number" || dataType == "Date")
1172
- && targetCheck == "String") {
1415
+ if (
1416
+ (dataType == "Boolean" || dataType == "Number" || dataType == "Date") &&
1417
+ targetCheck == "String"
1418
+ ) {
1173
1419
  data = data + "";
1174
1420
  }
1175
1421
 
1176
1422
  // to float
1177
- if ((dataType == "Number" || dataType == "String") &&
1178
- (targetCheck == "Number" || targetCheck == "PositiveNumber")) {
1423
+ if (
1424
+ (dataType == "Number" || dataType == "String") &&
1425
+ (targetCheck == "Number" || targetCheck == "PositiveNumber")
1426
+ ) {
1179
1427
  data = parseFloat(data);
1180
1428
  }
1181
1429
 
1182
1430
  return data;
1183
1431
  },
1184
1432
 
1185
-
1186
1433
  /**
1187
1434
  * Removes the binding with the given id from the given sourceObject. The
1188
1435
  * id has to be the id returned by any of the bind functions.
@@ -1191,21 +1438,25 @@ qx.Class.define("qx.data.SingleValueBinding",
1191
1438
  * @param id {var} The id of the binding.
1192
1439
  * @throws {Error} If the binding could not be found.
1193
1440
  */
1194
- removeBindingFromObject : function(sourceObject, id) {
1441
+ removeBindingFromObject(sourceObject, id) {
1195
1442
  // check for a deep binding
1196
1443
  if (id.type == "deepBinding") {
1197
1444
  // go through all added listeners (source)
1198
1445
  for (var i = 0; i < id.sources.length; i++) {
1199
1446
  // check if a source is available
1200
1447
  if (id.sources[i]) {
1201
- if(id.listenerIds[i]) {
1448
+ if (id.listenerIds[i]) {
1202
1449
  id.sources[i].removeListenerById(id.listenerIds[i]);
1203
1450
  }
1204
1451
  // If the listener id is not available, it is most likely
1205
1452
  // caused by some hidden error situation.
1206
1453
  // At least an error message should be displayed
1207
1454
  else {
1208
- sourceObject.error("Could not remove deep bindings. Binding id for " + id.sources[i].classname + " could not be found!");
1455
+ sourceObject.error(
1456
+ "Could not remove deep bindings. Binding id for " +
1457
+ id.sources[i].classname +
1458
+ " could not be found!"
1459
+ );
1209
1460
  }
1210
1461
  }
1211
1462
  }
@@ -1213,14 +1464,18 @@ qx.Class.define("qx.data.SingleValueBinding",
1213
1464
  for (var i = 0; i < id.targets.length; i++) {
1214
1465
  // check if a target is available
1215
1466
  if (id.targets[i]) {
1216
- if(id.targetListenerIds[i]) {
1467
+ if (id.targetListenerIds[i]) {
1217
1468
  id.targets[i].removeListenerById(id.targetListenerIds[i]);
1218
1469
  }
1219
1470
  // If the target listener id is not available, it is most likely
1220
1471
  // caused by some hidden error situation.
1221
1472
  // At least an error message should be displayed
1222
1473
  else {
1223
- sourceObject.error("Could not remove target listener. Listener id for target " + id.targets[i].classname + " could not be found!");
1474
+ sourceObject.error(
1475
+ "Could not remove target listener. Listener id for target " +
1476
+ id.targets[i].classname +
1477
+ " could not be found!"
1478
+ );
1224
1479
  }
1225
1480
  }
1226
1481
  }
@@ -1238,13 +1493,19 @@ qx.Class.define("qx.data.SingleValueBinding",
1238
1493
  // remove binding data from internal reference indexed by target object
1239
1494
  var target = bindings[i][3];
1240
1495
  if (this.__bindingsByTarget[target.toHashCode()]) {
1241
- qx.lang.Array.remove(this.__bindingsByTarget[target.toHashCode()], bindings[i]);
1496
+ qx.lang.Array.remove(
1497
+ this.__bindingsByTarget[target.toHashCode()],
1498
+ bindings[i]
1499
+ );
1242
1500
  }
1243
1501
 
1244
1502
  // remove binding data from internal reference indexed by source object
1245
1503
  var source = bindings[i][1];
1246
1504
  if (this.__bindings[source.toHashCode()]) {
1247
- qx.lang.Array.remove(this.__bindings[source.toHashCode()], bindings[i]);
1505
+ qx.lang.Array.remove(
1506
+ this.__bindings[source.toHashCode()],
1507
+ bindings[i]
1508
+ );
1248
1509
  }
1249
1510
  return;
1250
1511
  }
@@ -1253,7 +1514,6 @@ qx.Class.define("qx.data.SingleValueBinding",
1253
1514
  throw new Error("Binding could not be found!");
1254
1515
  },
1255
1516
 
1256
-
1257
1517
  /**
1258
1518
  * Removes all bindings for the given object.
1259
1519
  *
@@ -1264,18 +1524,19 @@ qx.Class.define("qx.data.SingleValueBinding",
1264
1524
  * @throws {Error} If one of the bindings listed internally can not be
1265
1525
  * removed.
1266
1526
  */
1267
- removeAllBindingsForObject : function(object) {
1527
+ removeAllBindingsForObject(object) {
1268
1528
  // check for the null value
1269
1529
 
1270
1530
  if (qx.core.Environment.get("qx.debug")) {
1271
- qx.core.Assert.assertNotNull(object,
1272
- "Can not remove the bindings for null object!");
1531
+ qx.core.Assert.assertNotNull(
1532
+ object,
1533
+ "Can not remove the bindings for null object!"
1534
+ );
1273
1535
  }
1274
1536
 
1275
1537
  // get the bindings
1276
1538
  var bindings = this.getAllBindingsForObject(object);
1277
- if (bindings != undefined)
1278
- {
1539
+ if (bindings != undefined) {
1279
1540
  // remove every binding with the removeBindingFromObject function
1280
1541
  for (var i = bindings.length - 1; i >= 0; i--) {
1281
1542
  this.removeBindingFromObject(object, bindings[i][0]);
@@ -1287,7 +1548,6 @@ qx.Class.define("qx.data.SingleValueBinding",
1287
1548
  delete this.__bindingsByTarget[hash];
1288
1549
  },
1289
1550
 
1290
-
1291
1551
  /**
1292
1552
  * Removes all bindings between given objects.
1293
1553
  *
@@ -1300,19 +1560,23 @@ qx.Class.define("qx.data.SingleValueBinding",
1300
1560
  * @throws {Error} If one of the bindings listed internally can not be
1301
1561
  * removed.
1302
1562
  */
1303
- removeRelatedBindings : function(object, relatedObject) {
1563
+ removeRelatedBindings(object, relatedObject) {
1304
1564
  // check for the null value
1305
1565
  if (qx.core.Environment.get("qx.debug")) {
1306
- qx.core.Assert.assertNotNull(object,
1307
- "Can not remove the bindings for null object!");
1308
- qx.core.Assert.assertNotNull(relatedObject,
1309
- "Can not remove the bindings for null object!");
1566
+ qx.core.Assert.assertNotNull(
1567
+ object,
1568
+ "Can not remove the bindings for null object!"
1569
+ );
1570
+
1571
+ qx.core.Assert.assertNotNull(
1572
+ relatedObject,
1573
+ "Can not remove the bindings for null object!"
1574
+ );
1310
1575
  }
1311
1576
 
1312
1577
  // get the bindings
1313
1578
  var bindings = this.getAllBindingsForObject(object);
1314
- if (bindings != undefined)
1315
- {
1579
+ if (bindings != undefined) {
1316
1580
  // remove every binding with the removeBindingFromObject function
1317
1581
  for (var i = bindings.length - 1; i >= 0; i--) {
1318
1582
  var source = bindings[i][1];
@@ -1324,7 +1588,6 @@ qx.Class.define("qx.data.SingleValueBinding",
1324
1588
  }
1325
1589
  },
1326
1590
 
1327
-
1328
1591
  /**
1329
1592
  * Returns an array which lists all bindings.
1330
1593
  *
@@ -1335,7 +1598,7 @@ qx.Class.define("qx.data.SingleValueBinding",
1335
1598
  * information is an array itself containing id, sourceObject,
1336
1599
  * sourceEvent, targetObject and targetProperty in that order.
1337
1600
  */
1338
- getAllBindingsForObject : function(object) {
1601
+ getAllBindingsForObject(object) {
1339
1602
  var hash = object.toHashCode();
1340
1603
 
1341
1604
  // get all bindings of object as source
@@ -1357,14 +1620,13 @@ qx.Class.define("qx.data.SingleValueBinding",
1357
1620
  return qx.lang.Array.unique(sourceBindings.concat(targetBindings));
1358
1621
  },
1359
1622
 
1360
-
1361
1623
  /**
1362
1624
  * Removes all binding in the whole application. After that not a single
1363
1625
  * binding is left.
1364
1626
  * @deprecated {6.0} dispose and destructors are deprecated because of automatic memory management; this
1365
1627
  * will only work for objects explicitly registered with ObjectRegistry.register
1366
1628
  */
1367
- removeAllBindings : function() {
1629
+ removeAllBindings() {
1368
1630
  // go through all registered objects
1369
1631
  for (var hash in this.__bindings) {
1370
1632
  var object = qx.core.ObjectRegistry.fromHashCode(hash);
@@ -1379,7 +1641,6 @@ qx.Class.define("qx.data.SingleValueBinding",
1379
1641
  this.__bindings = {};
1380
1642
  },
1381
1643
 
1382
-
1383
1644
  /**
1384
1645
  * Returns a map containing for every bound object an array of data binding
1385
1646
  * information. The key of the map is the hash code of the bound objects.
@@ -1388,11 +1649,10 @@ qx.Class.define("qx.data.SingleValueBinding",
1388
1649
  *
1389
1650
  * @return {Map} Map containing all bindings.
1390
1651
  */
1391
- getAllBindings : function() {
1652
+ getAllBindings() {
1392
1653
  return this.__bindings;
1393
1654
  },
1394
1655
 
1395
-
1396
1656
  /**
1397
1657
  * Debug function which shows some valuable information about the given
1398
1658
  * binding in console. For that it uses {@link qx.log.Logger}.
@@ -1400,7 +1660,7 @@ qx.Class.define("qx.data.SingleValueBinding",
1400
1660
  * @param object {qx.core.Object} the source of the binding.
1401
1661
  * @param id {var} The id of the binding.
1402
1662
  */
1403
- showBindingInLog : function(object, id) {
1663
+ showBindingInLog(object, id) {
1404
1664
  var binding;
1405
1665
  // go through all bindings of the given object
1406
1666
  for (var i = 0; i < this.__bindings[object.toHashCode()].length; i++) {
@@ -1412,32 +1672,38 @@ qx.Class.define("qx.data.SingleValueBinding",
1412
1672
  }
1413
1673
 
1414
1674
  if (binding === undefined) {
1415
- var message = "Binding does not exist!"
1675
+ var message = "Binding does not exist!";
1416
1676
  } else {
1417
- var message = "Binding from '" + binding[1] + "' (" + binding[2] +
1418
- ") to the object '" + binding[3] + "' ("+ binding[4] + ").";
1677
+ var message =
1678
+ "Binding from '" +
1679
+ binding[1] +
1680
+ "' (" +
1681
+ binding[2] +
1682
+ ") to the object '" +
1683
+ binding[3] +
1684
+ "' (" +
1685
+ binding[4] +
1686
+ ").";
1419
1687
  }
1420
1688
 
1421
1689
  qx.log.Logger.debug(message);
1422
1690
  },
1423
1691
 
1424
-
1425
1692
  /**
1426
1693
  * Debug function which shows all bindings in the log console. To get only
1427
1694
  * one binding in the console use {@link #showBindingInLog}
1428
1695
  * @deprecated {6.0} qx.core.ObjectRegistry no longer stores most objects
1429
1696
  */
1430
- showAllBindingsInLog : function() {
1697
+ showAllBindingsInLog() {
1431
1698
  // go through all objects in the registry
1432
1699
  for (var hash in this.__bindings) {
1433
1700
  var object = qx.core.ObjectRegistry.fromHashCode(hash);
1434
1701
  if (object) {
1435
- for (var i = 0; i < this.__bindings[hash].length; i++) {
1436
- this.showBindingInLog(object, this.__bindings[hash][i][0]);
1437
- }
1702
+ for (var i = 0; i < this.__bindings[hash].length; i++) {
1703
+ this.showBindingInLog(object, this.__bindings[hash][i][0]);
1704
+ }
1438
1705
  }
1439
1706
  }
1440
1707
  }
1441
-
1442
1708
  }
1443
1709
  });