@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
@@ -23,12 +23,9 @@
23
23
  * The selection handling supports both Shift and Ctrl/Meta modifies like
24
24
  * known from native applications.
25
25
  */
26
- qx.Class.define("qx.ui.core.selection.Abstract",
27
- {
28
- type : "abstract",
29
- extend : qx.core.Object,
30
-
31
-
26
+ qx.Class.define("qx.ui.core.selection.Abstract", {
27
+ type: "abstract",
28
+ extend: qx.core.Object,
32
29
 
33
30
  /*
34
31
  *****************************************************************************
@@ -36,41 +33,31 @@ qx.Class.define("qx.ui.core.selection.Abstract",
36
33
  *****************************************************************************
37
34
  */
38
35
 
39
- construct : function()
40
- {
41
- this.base(arguments);
36
+ construct() {
37
+ super();
42
38
 
43
39
  // {Map} Internal selection storage
44
40
  this.__selection = {};
45
41
  },
46
42
 
47
-
48
-
49
-
50
43
  /*
51
44
  *****************************************************************************
52
45
  EVENTS
53
46
  *****************************************************************************
54
47
  */
55
48
 
56
- events :
57
- {
49
+ events: {
58
50
  /** Fires after the selection was modified. Contains the selection under the data property. */
59
- "changeSelection" : "qx.event.type.Data"
51
+ changeSelection: "qx.event.type.Data"
60
52
  },
61
53
 
62
-
63
-
64
-
65
-
66
54
  /*
67
55
  *****************************************************************************
68
56
  PROPERTIES
69
57
  *****************************************************************************
70
58
  */
71
59
 
72
- properties :
73
- {
60
+ properties: {
74
61
  /**
75
62
  * Selects the selection mode to use.
76
63
  *
@@ -79,39 +66,33 @@ qx.Class.define("qx.ui.core.selection.Abstract",
79
66
  * * additive: Easy Web-2.0 selection mode. Allows multiple selections without modifier keys.
80
67
  * * one: If possible always exactly one item is selected
81
68
  */
82
- mode :
83
- {
84
- check : [ "single", "multi", "additive", "one" ],
85
- init : "single",
86
- apply : "_applyMode"
69
+ mode: {
70
+ check: ["single", "multi", "additive", "one"],
71
+ init: "single",
72
+ apply: "_applyMode"
87
73
  },
88
74
 
89
-
90
75
  /**
91
76
  * Enable drag selection (multi selection of items through
92
77
  * dragging the pointer in pressed states).
93
78
  *
94
79
  * Only possible for the modes <code>multi</code> and <code>additive</code>
95
80
  */
96
- drag :
97
- {
98
- check : "Boolean",
99
- init : false
81
+ drag: {
82
+ check: "Boolean",
83
+ init: false
100
84
  },
101
85
 
102
-
103
86
  /**
104
87
  * Enable quick selection mode, where no tap is needed to change the selection.
105
88
  *
106
89
  * Only possible for the modes <code>single</code> and <code>one</code>.
107
90
  */
108
- quick :
109
- {
110
- check : "Boolean",
111
- init : false
91
+ quick: {
92
+ check: "Boolean",
93
+ init: false
112
94
  },
113
95
 
114
-
115
96
  /**
116
97
  * Whether the selection can be changed by user interaction
117
98
  */
@@ -121,44 +102,39 @@ qx.Class.define("qx.ui.core.selection.Abstract",
121
102
  }
122
103
  },
123
104
 
124
-
125
-
126
-
127
-
128
105
  /*
129
106
  *****************************************************************************
130
107
  MEMBERS
131
108
  *****************************************************************************
132
109
  */
133
110
  /* eslint-disable @qooxdoo/qx/no-refs-in-members */
134
- members :
135
- {
136
- __scrollStepX : 0,
137
- __scrollStepY : 0,
138
- __scrollTimer : null,
139
- __frameScroll : null,
140
- __lastRelX : null,
141
- __lastRelY : null,
142
- __frameLocation : null,
143
- __dragStartX : null,
144
- __dragStartY : null,
145
- __inCapture : null,
146
- __pointerX : null,
147
- __pointerY : null,
148
- __moveDirectionX : null,
149
- __moveDirectionY : null,
150
- __selectionModified : null,
151
- __selectionContext : null,
152
- __leadItem : null,
153
- __selection : null,
154
- __anchorItem : null,
155
- __pointerDownOnSelected : null,
111
+ members: {
112
+ __scrollStepX: 0,
113
+ __scrollStepY: 0,
114
+ __scrollTimer: null,
115
+ __frameScroll: null,
116
+ __lastRelX: null,
117
+ __lastRelY: null,
118
+ __frameLocation: null,
119
+ __dragStartX: null,
120
+ __dragStartY: null,
121
+ __inCapture: null,
122
+ __pointerX: null,
123
+ __pointerY: null,
124
+ __moveDirectionX: null,
125
+ __moveDirectionY: null,
126
+ __selectionModified: null,
127
+ __selectionContext: null,
128
+ __leadItem: null,
129
+ __selection: null,
130
+ __anchorItem: null,
131
+ __pointerDownOnSelected: null,
156
132
 
157
133
  // A flag that signals an user interaction, which means the selection change
158
134
  // was triggered by pointer or keyboard [BUG #3344]
159
- _userInteraction : false,
135
+ _userInteraction: false,
160
136
 
161
- __oldScrollTop : null,
137
+ __oldScrollTop: null,
162
138
 
163
139
  /*
164
140
  ---------------------------------------------------------------------------
@@ -174,17 +150,15 @@ qx.Class.define("qx.ui.core.selection.Abstract",
174
150
  * @return {String} One of <code>tap</code>, <code>quick</code>,
175
151
  * <code>drag</code> or <code>key</code> or <code>null</code>
176
152
  */
177
- getSelectionContext : function() {
153
+ getSelectionContext() {
178
154
  return this.__selectionContext;
179
155
  },
180
156
 
181
-
182
157
  /**
183
158
  * Selects all items of the managed object.
184
159
  *
185
160
  */
186
- selectAll : function()
187
- {
161
+ selectAll() {
188
162
  var mode = this.getMode();
189
163
  if (mode == "single" || mode == "one") {
190
164
  throw new Error("Can not select all items in selection mode: " + mode);
@@ -194,7 +168,6 @@ qx.Class.define("qx.ui.core.selection.Abstract",
194
168
  this._fireChange();
195
169
  },
196
170
 
197
-
198
171
  /**
199
172
  * Selects the given item. Replaces current selection
200
173
  * completely with the new item.
@@ -204,13 +177,11 @@ qx.Class.define("qx.ui.core.selection.Abstract",
204
177
  *
205
178
  * @param item {Object} Any valid item
206
179
  */
207
- selectItem : function(item)
208
- {
180
+ selectItem(item) {
209
181
  this._setSelectedItem(item);
210
182
 
211
183
  var mode = this.getMode();
212
- if (mode !== "single" && mode !== "one")
213
- {
184
+ if (mode !== "single" && mode !== "one") {
214
185
  this._setLeadItem(item);
215
186
  this._setAnchorItem(item);
216
187
  }
@@ -219,7 +190,6 @@ qx.Class.define("qx.ui.core.selection.Abstract",
219
190
  this._fireChange();
220
191
  },
221
192
 
222
-
223
193
  /**
224
194
  * Adds the given item to the existing selection.
225
195
  *
@@ -228,14 +198,11 @@ qx.Class.define("qx.ui.core.selection.Abstract",
228
198
  *
229
199
  * @param item {Object} Any valid item
230
200
  */
231
- addItem : function(item)
232
- {
201
+ addItem(item) {
233
202
  var mode = this.getMode();
234
203
  if (mode === "single" || mode === "one") {
235
204
  this._setSelectedItem(item);
236
- }
237
- else
238
- {
205
+ } else {
239
206
  if (this._getAnchorItem() == null) {
240
207
  this._setAnchorItem(item);
241
208
  }
@@ -248,7 +215,6 @@ qx.Class.define("qx.ui.core.selection.Abstract",
248
215
  this._fireChange();
249
216
  },
250
217
 
251
-
252
218
  /**
253
219
  * Removes the given item from the selection.
254
220
  *
@@ -257,12 +223,10 @@ qx.Class.define("qx.ui.core.selection.Abstract",
257
223
  *
258
224
  * @param item {Object} Any valid item
259
225
  */
260
- removeItem : function(item)
261
- {
226
+ removeItem(item) {
262
227
  this._removeFromSelection(item);
263
228
 
264
- if (this.getMode() === "one" && this.isSelectionEmpty())
265
- {
229
+ if (this.getMode() === "one" && this.isSelectionEmpty()) {
266
230
  var selected = this._applyDefaultSelection();
267
231
 
268
232
  // Do not fire any event in this case.
@@ -282,18 +246,18 @@ qx.Class.define("qx.ui.core.selection.Abstract",
282
246
  this._fireChange();
283
247
  },
284
248
 
285
-
286
249
  /**
287
250
  * Selects an item range between two given items.
288
251
  *
289
252
  * @param begin {Object} Item to start with
290
253
  * @param end {Object} Item to end at
291
254
  */
292
- selectItemRange : function(begin, end)
293
- {
255
+ selectItemRange(begin, end) {
294
256
  var mode = this.getMode();
295
257
  if (mode == "single" || mode == "one") {
296
- throw new Error("Can not select multiple items in selection mode: " + mode);
258
+ throw new Error(
259
+ "Can not select multiple items in selection mode: " + mode
260
+ );
297
261
  }
298
262
 
299
263
  this._selectItemRange(begin, end);
@@ -306,17 +270,14 @@ qx.Class.define("qx.ui.core.selection.Abstract",
306
270
  this._fireChange();
307
271
  },
308
272
 
309
-
310
273
  /**
311
274
  * Clears the whole selection at once. Also
312
275
  * resets the lead and anchor items and their
313
276
  * styles.
314
277
  *
315
278
  */
316
- clearSelection : function()
317
- {
318
- if (this.getMode() == "one")
319
- {
279
+ clearSelection() {
280
+ if (this.getMode() == "one") {
320
281
  var selected = this._applyDefaultSelection(true);
321
282
  if (selected != null) {
322
283
  return;
@@ -330,7 +291,6 @@ qx.Class.define("qx.ui.core.selection.Abstract",
330
291
  this._fireChange();
331
292
  },
332
293
 
333
-
334
294
  /**
335
295
  * Replaces current selection with given array of items.
336
296
  *
@@ -339,13 +299,13 @@ qx.Class.define("qx.ui.core.selection.Abstract",
339
299
  *
340
300
  * @param items {Array} Items to select
341
301
  */
342
- replaceSelection : function(items)
343
- {
302
+ replaceSelection(items) {
344
303
  var mode = this.getMode();
345
- if (mode == "one" || mode === "single")
346
- {
347
- if (items.length > 1) {
348
- throw new Error("Could not select more than one items in mode: " + mode + "!");
304
+ if (mode == "one" || mode === "single") {
305
+ if (items.length > 1) {
306
+ throw new Error(
307
+ "Could not select more than one items in mode: " + mode + "!"
308
+ );
349
309
  }
350
310
 
351
311
  if (items.length == 1) {
@@ -354,33 +314,29 @@ qx.Class.define("qx.ui.core.selection.Abstract",
354
314
  this.clearSelection();
355
315
  }
356
316
  return;
357
- }
358
- else
359
- {
317
+ } else {
360
318
  this._replaceMultiSelection(items);
361
319
  }
362
320
  },
363
321
 
364
-
365
322
  /**
366
323
  * Get the selected item. This method does only work in <code>single</code>
367
324
  * selection mode.
368
325
  *
369
326
  * @return {Object} The selected item.
370
327
  */
371
- getSelectedItem : function()
372
- {
328
+ getSelectedItem() {
373
329
  var mode = this.getMode();
374
- if (mode === "single" || mode === "one")
375
- {
330
+ if (mode === "single" || mode === "one") {
376
331
  var result = this._getSelectedItem();
377
332
  return result != undefined ? result : null;
378
333
  }
379
334
 
380
- throw new Error("The method getSelectedItem() is only supported in 'single' and 'one' selection mode!");
335
+ throw new Error(
336
+ "The method getSelectedItem() is only supported in 'single' and 'one' selection mode!"
337
+ );
381
338
  },
382
339
 
383
-
384
340
  /**
385
341
  * Returns an array of currently selected items.
386
342
  *
@@ -389,73 +345,66 @@ qx.Class.define("qx.ui.core.selection.Abstract",
389
345
  *
390
346
  * @return {Object[]} List of items.
391
347
  */
392
- getSelection : function() {
348
+ getSelection() {
393
349
  return Object.values(this.__selection);
394
350
  },
395
351
 
396
-
397
352
  /**
398
353
  * Returns the selection sorted by the index in the
399
354
  * container of the selection (the assigned widget)
400
355
  *
401
356
  * @return {Object[]} Sorted list of items
402
357
  */
403
- getSortedSelection : function()
404
- {
358
+ getSortedSelection() {
405
359
  var children = this.getSelectables();
406
360
  var sel = Object.values(this.__selection);
407
361
 
408
- sel.sort(function(a, b) {
362
+ sel.sort(function (a, b) {
409
363
  return children.indexOf(a) - children.indexOf(b);
410
364
  });
411
365
 
412
366
  return sel;
413
367
  },
414
368
 
415
-
416
369
  /**
417
370
  * Detects whether the given item is currently selected.
418
371
  *
419
372
  * @param item {var} Any valid selectable item
420
373
  * @return {Boolean} Whether the item is selected
421
374
  */
422
- isItemSelected : function(item)
423
- {
375
+ isItemSelected(item) {
424
376
  var hash = this._selectableToHashCode(item);
425
377
  return this.__selection[hash] !== undefined;
426
378
  },
427
379
 
428
-
429
380
  /**
430
381
  * Whether the selection is empty
431
382
  *
432
383
  * @return {Boolean} Whether the selection is empty
433
384
  */
434
- isSelectionEmpty : function() {
385
+ isSelectionEmpty() {
435
386
  return qx.lang.Object.isEmpty(this.__selection);
436
387
  },
437
388
 
438
-
439
389
  /**
440
390
  * Invert the selection. Select the non selected and deselect the selected.
441
391
  */
442
- invertSelection: function() {
392
+ invertSelection() {
443
393
  var mode = this.getMode();
444
394
  if (mode === "single" || mode === "one") {
445
- throw new Error("The method invertSelection() is only supported in 'multi' and 'additive' selection mode!");
395
+ throw new Error(
396
+ "The method invertSelection() is only supported in 'multi' and 'additive' selection mode!"
397
+ );
446
398
  }
447
399
 
448
400
  var selectables = this.getSelectables();
449
- for (var i = 0; i < selectables.length; i++)
450
- {
401
+ for (var i = 0; i < selectables.length; i++) {
451
402
  this._toggleInSelection(selectables[i]);
452
403
  }
453
404
 
454
405
  this._fireChange();
455
406
  },
456
407
 
457
-
458
-
459
408
  /*
460
409
  ---------------------------------------------------------------------------
461
410
  LEAD/ANCHOR SUPPORT
@@ -468,8 +417,7 @@ qx.Class.define("qx.ui.core.selection.Abstract",
468
417
  *
469
418
  * @param value {Object} Any valid item or <code>null</code>
470
419
  */
471
- _setLeadItem : function(value)
472
- {
420
+ _setLeadItem(value) {
473
421
  var old = this.__leadItem;
474
422
 
475
423
  if (old !== null) {
@@ -483,18 +431,16 @@ qx.Class.define("qx.ui.core.selection.Abstract",
483
431
  this.__leadItem = value;
484
432
  },
485
433
 
486
-
487
434
  /**
488
435
  * Returns the current lead item. Generally the item which was last modified
489
436
  * by the user (tapped on etc.)
490
437
  *
491
438
  * @return {Object} The lead item or <code>null</code>
492
439
  */
493
- getLeadItem : function() {
440
+ getLeadItem() {
494
441
  return this.__leadItem;
495
442
  },
496
443
 
497
-
498
444
  /**
499
445
  * Sets the anchor item. This is the item which is the starting
500
446
  * point for all range selections. Normally this is the item which was
@@ -502,8 +448,7 @@ qx.Class.define("qx.ui.core.selection.Abstract",
502
448
  *
503
449
  * @param value {Object} Any valid item or <code>null</code>
504
450
  */
505
- _setAnchorItem : function(value)
506
- {
451
+ _setAnchorItem(value) {
507
452
  var old = this.__anchorItem;
508
453
 
509
454
  if (old != null) {
@@ -517,7 +462,6 @@ qx.Class.define("qx.ui.core.selection.Abstract",
517
462
  this.__anchorItem = value;
518
463
  },
519
464
 
520
-
521
465
  /**
522
466
  * Returns the current anchor item. This is the item which is the starting
523
467
  * point for all range selections. Normally this is the item which was
@@ -525,14 +469,10 @@ qx.Class.define("qx.ui.core.selection.Abstract",
525
469
  *
526
470
  * @return {Object} The anchor item or <code>null</code>
527
471
  */
528
- _getAnchorItem : function() {
472
+ _getAnchorItem() {
529
473
  return this.__anchorItem !== null ? this.__anchorItem : null;
530
474
  },
531
475
 
532
-
533
-
534
-
535
-
536
476
  /*
537
477
  ---------------------------------------------------------------------------
538
478
  BASIC SUPPORT
@@ -545,19 +485,17 @@ qx.Class.define("qx.ui.core.selection.Abstract",
545
485
  * @param item {var} Any item
546
486
  * @return {Boolean} <code>true</code> when the item is selectable
547
487
  */
548
- _isSelectable : function(item) {
488
+ _isSelectable(item) {
549
489
  throw new Error("Abstract method call: _isSelectable()");
550
490
  },
551
491
 
552
-
553
492
  /**
554
493
  * Finds the selectable instance from a pointer event
555
494
  *
556
495
  * @param event {qx.event.type.Pointer} The pointer event
557
496
  * @return {Object|null} The resulting selectable
558
497
  */
559
- _getSelectableFromPointerEvent : function(event)
560
- {
498
+ _getSelectableFromPointerEvent(event) {
561
499
  var target = event.getTarget();
562
500
  // check for target (may be null when leaving the viewport) [BUG #4378]
563
501
  if (target && this._isSelectable(target)) {
@@ -566,18 +504,16 @@ qx.Class.define("qx.ui.core.selection.Abstract",
566
504
  return null;
567
505
  },
568
506
 
569
-
570
507
  /**
571
508
  * Returns an unique hashcode for the given item.
572
509
  *
573
510
  * @param item {var} Any item
574
511
  * @return {String} A valid hashcode
575
512
  */
576
- _selectableToHashCode : function(item) {
513
+ _selectableToHashCode(item) {
577
514
  throw new Error("Abstract method call: _selectableToHashCode()");
578
515
  },
579
516
 
580
-
581
517
  /**
582
518
  * Updates the style (appearance) of the given item.
583
519
  *
@@ -585,33 +521,26 @@ qx.Class.define("qx.ui.core.selection.Abstract",
585
521
  * @param type {String} Any of <code>selected</code>, <code>anchor</code> or <code>lead</code>
586
522
  * @param enabled {Boolean} Whether the given style should be added or removed.
587
523
  */
588
- _styleSelectable : function(item, type, enabled) {
524
+ _styleSelectable(item, type, enabled) {
589
525
  throw new Error("Abstract method call: _styleSelectable()");
590
526
  },
591
527
 
592
-
593
528
  /**
594
529
  * Enables capturing of the container.
595
530
  *
596
531
  */
597
- _capture : function() {
532
+ _capture() {
598
533
  throw new Error("Abstract method call: _capture()");
599
534
  },
600
535
 
601
-
602
536
  /**
603
537
  * Releases capturing of the container
604
538
  *
605
539
  */
606
- _releaseCapture : function() {
540
+ _releaseCapture() {
607
541
  throw new Error("Abstract method call: _releaseCapture()");
608
542
  },
609
543
 
610
-
611
-
612
-
613
-
614
-
615
544
  /*
616
545
  ---------------------------------------------------------------------------
617
546
  DIMENSION AND LOCATION
@@ -624,47 +553,39 @@ qx.Class.define("qx.ui.core.selection.Abstract",
624
553
  * @return {Map} Map with the keys <code>top</code>, <code>right</code>,
625
554
  * <code>bottom</code> and <code>left</code>.
626
555
  */
627
- _getLocation : function() {
556
+ _getLocation() {
628
557
  throw new Error("Abstract method call: _getLocation()");
629
558
  },
630
559
 
631
-
632
560
  /**
633
561
  * Returns the dimension of the container (available scrolling space).
634
562
  *
635
563
  * @return {Map} Map with the keys <code>width</code> and <code>height</code>.
636
564
  */
637
- _getDimension : function() {
565
+ _getDimension() {
638
566
  throw new Error("Abstract method call: _getDimension()");
639
567
  },
640
568
 
641
-
642
569
  /**
643
570
  * Returns the relative (to the container) horizontal location of the given item.
644
571
  *
645
572
  * @param item {var} Any item
646
573
  * @return {Map} A map with the keys <code>left</code> and <code>right</code>.
647
574
  */
648
- _getSelectableLocationX : function(item) {
575
+ _getSelectableLocationX(item) {
649
576
  throw new Error("Abstract method call: _getSelectableLocationX()");
650
577
  },
651
578
 
652
-
653
579
  /**
654
580
  * Returns the relative (to the container) horizontal location of the given item.
655
581
  *
656
582
  * @param item {var} Any item
657
583
  * @return {Map} A map with the keys <code>top</code> and <code>bottom</code>.
658
584
  */
659
- _getSelectableLocationY : function(item) {
585
+ _getSelectableLocationY(item) {
660
586
  throw new Error("Abstract method call: _getSelectableLocationY()");
661
587
  },
662
588
 
663
-
664
-
665
-
666
-
667
-
668
589
  /*
669
590
  ---------------------------------------------------------------------------
670
591
  SCROLL SUPPORT
@@ -676,36 +597,29 @@ qx.Class.define("qx.ui.core.selection.Abstract",
676
597
  *
677
598
  * @return {Map} Map with the keys <code>left</code> and <code>top</code>.
678
599
  */
679
- _getScroll : function() {
600
+ _getScroll() {
680
601
  throw new Error("Abstract method call: _getScroll()");
681
602
  },
682
603
 
683
-
684
604
  /**
685
605
  * Scrolls by the given offset
686
606
  *
687
607
  * @param xoff {Integer} Horizontal offset to scroll by
688
608
  * @param yoff {Integer} Vertical offset to scroll by
689
609
  */
690
- _scrollBy : function(xoff, yoff) {
610
+ _scrollBy(xoff, yoff) {
691
611
  throw new Error("Abstract method call: _scrollBy()");
692
612
  },
693
613
 
694
-
695
614
  /**
696
615
  * Scrolls the given item into the view (make it visible)
697
616
  *
698
617
  * @param item {var} Any item
699
618
  */
700
- _scrollItemIntoView : function(item) {
619
+ _scrollItemIntoView(item) {
701
620
  throw new Error("Abstract method call: _scrollItemIntoView()");
702
621
  },
703
622
 
704
-
705
-
706
-
707
-
708
-
709
623
  /*
710
624
  ---------------------------------------------------------------------------
711
625
  QUERY SUPPORT
@@ -716,14 +630,13 @@ qx.Class.define("qx.ui.core.selection.Abstract",
716
630
  * Returns all selectable items of the container.
717
631
  *
718
632
  * @param all {Boolean} true for all selectables, false for the
719
- * selectables the user can interactively select
633
+ * selectables the user can interactively select
720
634
  * @return {Array} A list of items
721
635
  */
722
- getSelectables : function(all) {
636
+ getSelectables(all) {
723
637
  throw new Error("Abstract method call: getSelectables()");
724
638
  },
725
639
 
726
-
727
640
  /**
728
641
  * Returns all selectable items between the two given items.
729
642
  *
@@ -733,51 +646,46 @@ qx.Class.define("qx.ui.core.selection.Abstract",
733
646
  * @param item2 {var} Second item
734
647
  * @return {Array} List of items
735
648
  */
736
- _getSelectableRange : function(item1, item2) {
649
+ _getSelectableRange(item1, item2) {
737
650
  throw new Error("Abstract method call: _getSelectableRange()");
738
651
  },
739
652
 
740
-
741
653
  /**
742
654
  * Returns the first selectable item.
743
655
  *
744
656
  * @return {var} The first selectable item
745
657
  */
746
- _getFirstSelectable : function() {
658
+ _getFirstSelectable() {
747
659
  throw new Error("Abstract method call: _getFirstSelectable()");
748
660
  },
749
661
 
750
-
751
662
  /**
752
663
  * Returns the last selectable item.
753
664
  *
754
665
  * @return {var} The last selectable item
755
666
  */
756
- _getLastSelectable : function() {
667
+ _getLastSelectable() {
757
668
  throw new Error("Abstract method call: _getLastSelectable()");
758
669
  },
759
670
 
760
-
761
671
  /**
762
672
  * Returns the first visible and selectable item.
763
673
  *
764
674
  * @return {var} The first visible and selectable item
765
675
  */
766
- _getFirstVisibleSelectable : function() {
676
+ _getFirstVisibleSelectable() {
767
677
  throw new Error("Abstract method call: _getFirstVisibleSelectable()");
768
678
  },
769
679
 
770
-
771
680
  /**
772
681
  * Returns the last visible and selectable item.
773
682
  *
774
683
  * @return {var} The last visible and selectable item
775
684
  */
776
- _getLastVisibleSelectable : function() {
685
+ _getLastVisibleSelectable() {
777
686
  throw new Error("Abstract method call: _getLastVisibleSelectable()");
778
687
  },
779
688
 
780
-
781
689
  /**
782
690
  * Returns a selectable item which is related to the given
783
691
  * <code>item</code> through the value of <code>relation</code>.
@@ -787,11 +695,10 @@ qx.Class.define("qx.ui.core.selection.Abstract",
787
695
  * <code>right</code>, <code>under</code> or <code>left</code>
788
696
  * @return {var} The related item
789
697
  */
790
- _getRelatedSelectable : function(item, relation) {
698
+ _getRelatedSelectable(item, relation) {
791
699
  throw new Error("Abstract method call: _getRelatedSelectable()");
792
700
  },
793
701
 
794
-
795
702
  /**
796
703
  * Returns the item which should be selected on pageUp/pageDown.
797
704
  *
@@ -801,13 +708,10 @@ qx.Class.define("qx.ui.core.selection.Abstract",
801
708
  * @param up {Boolean?false} Which page key was pressed:
802
709
  * <code>up</code> or <code>down</code>.
803
710
  */
804
- _getPage : function(lead, up) {
711
+ _getPage(lead, up) {
805
712
  throw new Error("Abstract method call: _getPage()");
806
713
  },
807
714
 
808
-
809
-
810
-
811
715
  /*
812
716
  ---------------------------------------------------------------------------
813
717
  PROPERTY APPLY ROUTINES
@@ -815,8 +719,7 @@ qx.Class.define("qx.ui.core.selection.Abstract",
815
719
  */
816
720
 
817
721
  // property apply
818
- _applyMode : function(value, old)
819
- {
722
+ _applyMode(value, old) {
820
723
  this._setLeadItem(null);
821
724
  this._setAnchorItem(null);
822
725
 
@@ -830,11 +733,6 @@ qx.Class.define("qx.ui.core.selection.Abstract",
830
733
  this._fireChange();
831
734
  },
832
735
 
833
-
834
-
835
-
836
-
837
-
838
736
  /*
839
737
  ---------------------------------------------------------------------------
840
738
  POINTER SUPPORT
@@ -847,14 +745,14 @@ qx.Class.define("qx.ui.core.selection.Abstract",
847
745
  *
848
746
  * @param event {qx.event.type.Pointer} A valid pointer event
849
747
  */
850
- handlePointerOver : function(event)
851
- {
748
+ handlePointerOver(event) {
852
749
  // All browsers (except Opera) fire a native "mouseover" event when a scroll appears
853
750
  // by keyboard interaction. We have to ignore the event to avoid a selection for
854
751
  // "pointerover" (quick selection). For more details see [BUG #4225]
855
- if(this.__oldScrollTop != null &&
856
- this.__oldScrollTop != this._getScroll().top)
857
- {
752
+ if (
753
+ this.__oldScrollTop != null &&
754
+ this.__oldScrollTop != this._getScroll().top
755
+ ) {
858
756
  this.__oldScrollTop = null;
859
757
  return;
860
758
  }
@@ -897,15 +795,13 @@ qx.Class.define("qx.ui.core.selection.Abstract",
897
795
  this._userInteraction = false;
898
796
  },
899
797
 
900
-
901
798
  /**
902
799
  * This method should be connected to the <code>pointerdown</code> event
903
800
  * of the managed object.
904
801
  *
905
802
  * @param event {qx.event.type.Pointer} A valid pointer event
906
803
  */
907
- handlePointerDown : function(event)
908
- {
804
+ handlePointerDown(event) {
909
805
  // this is a method invoked by an user interaction, so be careful to
910
806
  // set / clear the mark this._userInteraction [BUG #3344]
911
807
  this._userInteraction = true;
@@ -917,19 +813,22 @@ qx.Class.define("qx.ui.core.selection.Abstract",
917
813
  }
918
814
 
919
815
  // Read in keyboard modifiers
920
- var isCtrlPressed = event.isCtrlPressed() ||
816
+ var isCtrlPressed =
817
+ event.isCtrlPressed() ||
921
818
  (qx.core.Environment.get("os.name") == "osx" && event.isMetaPressed());
922
819
  var isShiftPressed = event.isShiftPressed();
923
820
 
924
821
  // tapping on selected items deselect on pointerup, not on pointerdown
925
- if (this.isItemSelected(item) && !isShiftPressed && !isCtrlPressed && !this.getDrag())
926
- {
822
+ if (
823
+ this.isItemSelected(item) &&
824
+ !isShiftPressed &&
825
+ !isCtrlPressed &&
826
+ !this.getDrag()
827
+ ) {
927
828
  this.__pointerDownOnSelected = item;
928
829
  this._userInteraction = false;
929
830
  return;
930
- }
931
- else
932
- {
831
+ } else {
933
832
  this.__pointerDownOnSelected = null;
934
833
  }
935
834
 
@@ -945,8 +844,7 @@ qx.Class.define("qx.ui.core.selection.Abstract",
945
844
  !isShiftPressed &&
946
845
  !isCtrlPressed &&
947
846
  event.getPointerType() == "mouse"
948
- )
949
- {
847
+ ) {
950
848
  this._setAnchorItem(item);
951
849
  this._setLeadItem(item);
952
850
 
@@ -963,33 +861,34 @@ qx.Class.define("qx.ui.core.selection.Abstract",
963
861
  this._capture();
964
862
  }
965
863
 
966
-
967
864
  // Fire change event as needed
968
865
  this._fireChange("tap");
969
866
 
970
867
  this._userInteraction = false;
971
868
  },
972
869
 
973
-
974
870
  /**
975
871
  * This method should be connected to the <code>tap</code> event
976
872
  * of the managed object.
977
873
  *
978
874
  * @param event {qx.event.type.Tap} A valid pointer event
979
875
  */
980
- handleTap : function(event)
981
- {
876
+ handleTap(event) {
982
877
  // this is a method invoked by an user interaction, so be careful to
983
878
  // set / clear the mark this._userInteraction [BUG #3344]
984
879
  this._userInteraction = true;
985
880
 
986
881
  // Read in keyboard modifiers
987
- var isCtrlPressed = event.isCtrlPressed() ||
882
+ var isCtrlPressed =
883
+ event.isCtrlPressed() ||
988
884
  (qx.core.Environment.get("os.name") == "osx" && event.isMetaPressed());
989
885
  var isShiftPressed = event.isShiftPressed();
990
886
 
991
- if (!isCtrlPressed && !isShiftPressed && this.__pointerDownOnSelected != null)
992
- {
887
+ if (
888
+ !isCtrlPressed &&
889
+ !isShiftPressed &&
890
+ this.__pointerDownOnSelected != null
891
+ ) {
993
892
  this._userInteraction = false;
994
893
  var item = this._getSelectableFromPointerEvent(event);
995
894
  if (item === null || !this.isItemSelected(item)) {
@@ -1005,8 +904,7 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1005
904
 
1006
905
  // Action depends on selected mode
1007
906
  if (!this.isReadOnly()) {
1008
- switch(this.getMode())
1009
- {
907
+ switch (this.getMode()) {
1010
908
  case "single":
1011
909
  case "one":
1012
910
  this._setSelectedItem(item);
@@ -1023,11 +921,9 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1023
921
  this._setLeadItem(item);
1024
922
 
1025
923
  // Create/Update range selection
1026
- if (isShiftPressed)
1027
- {
924
+ if (isShiftPressed) {
1028
925
  var anchor = this._getAnchorItem();
1029
- if (anchor === null)
1030
- {
926
+ if (anchor === null) {
1031
927
  anchor = this._getFirstSelectable();
1032
928
  this._setAnchorItem(anchor);
1033
929
  }
@@ -1036,15 +932,13 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1036
932
  }
1037
933
 
1038
934
  // Toggle in selection
1039
- else if (isCtrlPressed)
1040
- {
935
+ else if (isCtrlPressed) {
1041
936
  this._setAnchorItem(item);
1042
937
  this._toggleInSelection(item);
1043
938
  }
1044
939
 
1045
940
  // Replace current selection
1046
- else
1047
- {
941
+ else {
1048
942
  this._setAnchorItem(item);
1049
943
  this._setSelectedItem(item);
1050
944
  }
@@ -1058,32 +952,28 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1058
952
  this._cleanup();
1059
953
  },
1060
954
 
1061
-
1062
955
  /**
1063
956
  * This method should be connected to the <code>losecapture</code> event
1064
957
  * of the managed object.
1065
958
  *
1066
959
  * @param event {qx.event.type.Pointer} A valid pointer event
1067
960
  */
1068
- handleLoseCapture : function(event) {
961
+ handleLoseCapture(event) {
1069
962
  this._cleanup();
1070
963
  },
1071
964
 
1072
-
1073
965
  /**
1074
966
  * This method should be connected to the <code>pointermove</code> event
1075
967
  * of the managed object.
1076
968
  *
1077
969
  * @param event {qx.event.type.Pointer} A valid pointer event
1078
970
  */
1079
- handlePointerMove : function(event)
1080
- {
971
+ handlePointerMove(event) {
1081
972
  // Only relevant when capturing is enabled
1082
973
  if (!this.__inCapture) {
1083
974
  return;
1084
975
  }
1085
976
 
1086
-
1087
977
  // Update pointer position cache
1088
978
  this.__pointerX = event.getDocumentLeft();
1089
979
  this.__pointerY = event.getDocumentTop();
@@ -1111,7 +1001,6 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1111
1001
  this.__moveDirectionY = 0;
1112
1002
  }
1113
1003
 
1114
-
1115
1004
  // Update scroll steps
1116
1005
  var location = this.__frameLocation;
1117
1006
 
@@ -1131,19 +1020,15 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1131
1020
  this.__scrollStepY = 0;
1132
1021
  }
1133
1022
 
1134
-
1135
1023
  // Dynamically create required timer instance
1136
- if (!this.__scrollTimer)
1137
- {
1024
+ if (!this.__scrollTimer) {
1138
1025
  this.__scrollTimer = new qx.event.Timer(100);
1139
1026
  this.__scrollTimer.addListener("interval", this._onInterval, this);
1140
1027
  }
1141
1028
 
1142
-
1143
1029
  // Start interval
1144
1030
  this.__scrollTimer.start();
1145
1031
 
1146
-
1147
1032
  // Auto select based on new cursor position
1148
1033
  this._autoSelect();
1149
1034
 
@@ -1151,35 +1036,29 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1151
1036
  this._userInteraction = false;
1152
1037
  },
1153
1038
 
1154
-
1155
1039
  /**
1156
1040
  * This method should be connected to the <code>addItem</code> event
1157
1041
  * of the managed object.
1158
1042
  *
1159
1043
  * @param e {qx.event.type.Data} The event object
1160
1044
  */
1161
- handleAddItem : function(e)
1162
- {
1045
+ handleAddItem(e) {
1163
1046
  var item = e.getData();
1164
1047
  if (this.getMode() === "one" && this.isSelectionEmpty()) {
1165
1048
  this.addItem(item);
1166
1049
  }
1167
1050
  },
1168
1051
 
1169
-
1170
1052
  /**
1171
1053
  * This method should be connected to the <code>removeItem</code> event
1172
1054
  * of the managed object.
1173
1055
  *
1174
1056
  * @param e {qx.event.type.Data} The event object
1175
1057
  */
1176
- handleRemoveItem : function(e) {
1058
+ handleRemoveItem(e) {
1177
1059
  this.removeItem(e.getData());
1178
1060
  },
1179
1061
 
1180
-
1181
-
1182
-
1183
1062
  /*
1184
1063
  ---------------------------------------------------------------------------
1185
1064
  POINTER SUPPORT INTERNALS
@@ -1189,8 +1068,7 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1189
1068
  /**
1190
1069
  * Stops all timers, release capture etc. to cleanup drag selection
1191
1070
  */
1192
- _cleanup : function()
1193
- {
1071
+ _cleanup() {
1194
1072
  if (!this.getDrag() && this.__inCapture) {
1195
1073
  return;
1196
1074
  }
@@ -1214,14 +1092,12 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1214
1092
  }
1215
1093
  },
1216
1094
 
1217
-
1218
1095
  /**
1219
1096
  * Event listener for timer used by drag selection
1220
1097
  *
1221
1098
  * @param e {qx.event.type.Event} Timer event
1222
1099
  */
1223
- _onInterval : function(e)
1224
- {
1100
+ _onInterval(e) {
1225
1101
  // Scroll by defined block size
1226
1102
  this._scrollBy(this.__scrollStepX, this.__scrollStepY);
1227
1103
 
@@ -1232,17 +1108,23 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1232
1108
  this._autoSelect();
1233
1109
  },
1234
1110
 
1235
-
1236
1111
  /**
1237
1112
  * Automatically selects items based on the pointer movement during a drag selection
1238
1113
  */
1239
- _autoSelect : function()
1240
- {
1114
+ _autoSelect() {
1241
1115
  var inner = this._getDimension();
1242
1116
 
1243
1117
  // Get current relative Y position and compare it with previous one
1244
- var relX = Math.max(0, Math.min(this.__pointerX - this.__frameLocation.left, inner.width)) + this.__frameScroll.left;
1245
- var relY = Math.max(0, Math.min(this.__pointerY - this.__frameLocation.top, inner.height)) + this.__frameScroll.top;
1118
+ var relX =
1119
+ Math.max(
1120
+ 0,
1121
+ Math.min(this.__pointerX - this.__frameLocation.left, inner.width)
1122
+ ) + this.__frameScroll.left;
1123
+ var relY =
1124
+ Math.max(
1125
+ 0,
1126
+ Math.min(this.__pointerY - this.__frameLocation.top, inner.height)
1127
+ ) + this.__frameScroll.top;
1246
1128
 
1247
1129
  // Compare old and new relative coordinates (for performance reasons)
1248
1130
  if (this.__lastRelX === relX && this.__lastRelY === relY) {
@@ -1255,29 +1137,26 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1255
1137
  var anchor = this._getAnchorItem();
1256
1138
  var lead = anchor;
1257
1139
 
1258
-
1259
1140
  // Process X-coordinate
1260
1141
  var moveX = this.__moveDirectionX;
1261
1142
  var nextX, locationX;
1262
1143
 
1263
- while (moveX !== 0)
1264
- {
1144
+ while (moveX !== 0) {
1265
1145
  // Find next item to process depending on current scroll direction
1266
- nextX = moveX > 0 ?
1267
- this._getRelatedSelectable(lead, "right") :
1268
- this._getRelatedSelectable(lead, "left");
1146
+ nextX =
1147
+ moveX > 0
1148
+ ? this._getRelatedSelectable(lead, "right")
1149
+ : this._getRelatedSelectable(lead, "left");
1269
1150
 
1270
1151
  // May be null (e.g. first/last item)
1271
- if (nextX !== null)
1272
- {
1152
+ if (nextX !== null) {
1273
1153
  locationX = this._getSelectableLocationX(nextX);
1274
1154
 
1275
1155
  // Continue when the item is in the visible area
1276
1156
  if (
1277
1157
  (moveX > 0 && locationX.left <= relX) ||
1278
1158
  (moveX < 0 && locationX.right >= relX)
1279
- )
1280
- {
1159
+ ) {
1281
1160
  lead = nextX;
1282
1161
  continue;
1283
1162
  }
@@ -1287,29 +1166,26 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1287
1166
  break;
1288
1167
  }
1289
1168
 
1290
-
1291
1169
  // Process Y-coordinate
1292
1170
  var moveY = this.__moveDirectionY;
1293
1171
  var nextY, locationY;
1294
1172
 
1295
- while (moveY !== 0)
1296
- {
1173
+ while (moveY !== 0) {
1297
1174
  // Find next item to process depending on current scroll direction
1298
- nextY = moveY > 0 ?
1299
- this._getRelatedSelectable(lead, "under") :
1300
- this._getRelatedSelectable(lead, "above");
1175
+ nextY =
1176
+ moveY > 0
1177
+ ? this._getRelatedSelectable(lead, "under")
1178
+ : this._getRelatedSelectable(lead, "above");
1301
1179
 
1302
1180
  // May be null (e.g. first/last item)
1303
- if (nextY !== null)
1304
- {
1181
+ if (nextY !== null) {
1305
1182
  locationY = this._getSelectableLocationY(nextY);
1306
1183
 
1307
1184
  // Continue when the item is in the visible area
1308
1185
  if (
1309
1186
  (moveY > 0 && locationY.top <= relY) ||
1310
1187
  (moveY < 0 && locationY.bottom >= relY)
1311
- )
1312
- {
1188
+ ) {
1313
1189
  lead = nextY;
1314
1190
  continue;
1315
1191
  }
@@ -1319,16 +1195,12 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1319
1195
  break;
1320
1196
  }
1321
1197
 
1322
-
1323
1198
  // Differenciate between the two supported modes
1324
1199
  var mode = this.getMode();
1325
- if (mode === "multi")
1326
- {
1200
+ if (mode === "multi") {
1327
1201
  // Replace current selection with new range
1328
1202
  this._selectItemRange(anchor, lead);
1329
- }
1330
- else if (mode === "additive")
1331
- {
1203
+ } else if (mode === "additive") {
1332
1204
  // Behavior depends on the fact whether the
1333
1205
  // anchor item is selected or not
1334
1206
  if (this.isItemSelected(anchor)) {
@@ -1343,16 +1215,10 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1343
1215
  this._setAnchorItem(lead);
1344
1216
  }
1345
1217
 
1346
-
1347
1218
  // Fire change event as needed
1348
1219
  this._fireChange("drag");
1349
1220
  },
1350
1221
 
1351
-
1352
-
1353
-
1354
-
1355
-
1356
1222
  /*
1357
1223
  ---------------------------------------------------------------------------
1358
1224
  KEYBOARD SUPPORT
@@ -1364,27 +1230,24 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1364
1230
  *
1365
1231
  * @lint ignoreReferenceField(__navigationKeys)
1366
1232
  */
1367
- __navigationKeys :
1368
- {
1369
- Home : 1,
1370
- Down : 1 ,
1371
- Right : 1,
1372
- PageDown : 1,
1373
- End : 1,
1374
- Up : 1,
1375
- Left : 1,
1376
- PageUp : 1
1233
+ __navigationKeys: {
1234
+ Home: 1,
1235
+ Down: 1,
1236
+ Right: 1,
1237
+ PageDown: 1,
1238
+ End: 1,
1239
+ Up: 1,
1240
+ Left: 1,
1241
+ PageUp: 1
1377
1242
  },
1378
1243
 
1379
-
1380
1244
  /**
1381
1245
  * This method should be connected to the <code>keypress</code> event
1382
1246
  * of the managed object.
1383
1247
  *
1384
1248
  * @param event {qx.event.type.KeySequence} A valid key sequence event
1385
1249
  */
1386
- handleKeyPress : function(event)
1387
- {
1250
+ handleKeyPress(event) {
1388
1251
  // this is a method invoked by an user interaction, so be careful to
1389
1252
  // set / clear the mark this._userInteraction [BUG #3344]
1390
1253
  this._userInteraction = true;
@@ -1394,34 +1257,27 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1394
1257
  var mode = this.getMode();
1395
1258
 
1396
1259
  // Support both control keys on Mac
1397
- var isCtrlPressed = event.isCtrlPressed() ||
1260
+ var isCtrlPressed =
1261
+ event.isCtrlPressed() ||
1398
1262
  (qx.core.Environment.get("os.name") == "osx" && event.isMetaPressed());
1399
1263
  var isShiftPressed = event.isShiftPressed();
1400
1264
 
1401
1265
  var consumed = false;
1402
1266
  var readOnly = this.isReadOnly();
1403
1267
 
1404
- if (key === "A" && isCtrlPressed && !readOnly)
1405
- {
1406
- if (mode !== "single" && mode !== "one")
1407
- {
1268
+ if (key === "A" && isCtrlPressed && !readOnly) {
1269
+ if (mode !== "single" && mode !== "one") {
1408
1270
  this._selectAllItems();
1409
1271
  consumed = true;
1410
1272
  }
1411
- }
1412
- else if (key === "Escape" && !readOnly)
1413
- {
1414
- if (mode !== "single" && mode !== "one")
1415
- {
1273
+ } else if (key === "Escape" && !readOnly) {
1274
+ if (mode !== "single" && mode !== "one") {
1416
1275
  this._clearSelection();
1417
1276
  consumed = true;
1418
1277
  }
1419
- }
1420
- else if (key === "Space" && !readOnly)
1421
- {
1278
+ } else if (key === "Space" && !readOnly) {
1422
1279
  var lead = this.getLeadItem();
1423
- if (lead != null && !isShiftPressed)
1424
- {
1280
+ if (lead != null && !isShiftPressed) {
1425
1281
  if (isCtrlPressed || mode === "additive") {
1426
1282
  this._toggleInSelection(lead);
1427
1283
  } else {
@@ -1429,10 +1285,8 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1429
1285
  }
1430
1286
  consumed = true;
1431
1287
  }
1432
- }
1433
- else if (this.__navigationKeys[key] && readOnly) {
1434
- switch(key)
1435
- {
1288
+ } else if (this.__navigationKeys[key] && readOnly) {
1289
+ switch (key) {
1436
1290
  case "Home":
1437
1291
  next = this._getFirstSelectable();
1438
1292
  break;
@@ -1442,19 +1296,35 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1442
1296
  break;
1443
1297
 
1444
1298
  case "Up":
1445
- next = this._getRelatedSelectable(this._getFirstVisibleSelectable(), "above");
1299
+ next = this._getRelatedSelectable(
1300
+ this._getFirstVisibleSelectable(),
1301
+ "above"
1302
+ );
1303
+
1446
1304
  break;
1447
1305
 
1448
1306
  case "Down":
1449
- next = this._getRelatedSelectable(this._getLastVisibleSelectable(), "under");
1307
+ next = this._getRelatedSelectable(
1308
+ this._getLastVisibleSelectable(),
1309
+ "under"
1310
+ );
1311
+
1450
1312
  break;
1451
1313
 
1452
1314
  case "Left":
1453
- next = this._getRelatedSelectable(this._getFirstVisibleSelectable(), "left");
1315
+ next = this._getRelatedSelectable(
1316
+ this._getFirstVisibleSelectable(),
1317
+ "left"
1318
+ );
1319
+
1454
1320
  break;
1455
1321
 
1456
1322
  case "Right":
1457
- next = this._getRelatedSelectable(this._getLastVisibleSelectable(), "right");
1323
+ next = this._getRelatedSelectable(
1324
+ this._getLastVisibleSelectable(),
1325
+ "right"
1326
+ );
1327
+
1458
1328
  break;
1459
1329
 
1460
1330
  case "PageUp":
@@ -1471,9 +1341,7 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1471
1341
  this.__oldScrollTop = this._getScroll().top;
1472
1342
  this._scrollItemIntoView(next);
1473
1343
  }
1474
- }
1475
- else if (this.__navigationKeys[key])
1476
- {
1344
+ } else if (this.__navigationKeys[key]) {
1477
1345
  consumed = true;
1478
1346
  if (mode === "single" || mode == "one") {
1479
1347
  current = this._getSelectedItem();
@@ -1481,10 +1349,8 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1481
1349
  current = this.getLeadItem();
1482
1350
  }
1483
1351
 
1484
- if (current !== null)
1485
- {
1486
- switch(key)
1487
- {
1352
+ if (current !== null) {
1353
+ switch (key) {
1488
1354
  case "Home":
1489
1355
  next = this._getFirstSelectable();
1490
1356
  break;
@@ -1517,11 +1383,8 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1517
1383
  next = this._getPage(current, false);
1518
1384
  break;
1519
1385
  }
1520
- }
1521
- else
1522
- {
1523
- switch(key)
1524
- {
1386
+ } else {
1387
+ switch (key) {
1525
1388
  case "Home":
1526
1389
  case "Down":
1527
1390
  case "Right":
@@ -1539,10 +1402,8 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1539
1402
  }
1540
1403
 
1541
1404
  // Process result
1542
- if (next !== null)
1543
- {
1544
- switch(mode)
1545
- {
1405
+ if (next !== null) {
1406
+ switch (mode) {
1546
1407
  case "single":
1547
1408
  case "one":
1548
1409
  this._setSelectedItem(next);
@@ -1553,18 +1414,15 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1553
1414
  break;
1554
1415
 
1555
1416
  case "multi":
1556
- if (isShiftPressed)
1557
- {
1417
+ if (isShiftPressed) {
1558
1418
  var anchor = this._getAnchorItem();
1559
1419
  if (anchor === null) {
1560
- this._setAnchorItem(anchor = this._getFirstSelectable());
1420
+ this._setAnchorItem((anchor = this._getFirstSelectable()));
1561
1421
  }
1562
1422
 
1563
1423
  this._setLeadItem(next);
1564
1424
  this._selectItemRange(anchor, next, isCtrlPressed);
1565
- }
1566
- else
1567
- {
1425
+ } else {
1568
1426
  this._setAnchorItem(next);
1569
1427
  this._setLeadItem(next);
1570
1428
 
@@ -1581,9 +1439,7 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1581
1439
  }
1582
1440
  }
1583
1441
 
1584
-
1585
- if (consumed)
1586
- {
1442
+ if (consumed) {
1587
1443
  // Stop processed events
1588
1444
  event.stop();
1589
1445
 
@@ -1593,11 +1449,6 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1593
1449
  this._userInteraction = false;
1594
1450
  },
1595
1451
 
1596
-
1597
-
1598
-
1599
-
1600
-
1601
1452
  /*
1602
1453
  ---------------------------------------------------------------------------
1603
1454
  SUPPORT FOR ITEM RANGES
@@ -1607,20 +1458,17 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1607
1458
  /**
1608
1459
  * Adds all items to the selection
1609
1460
  */
1610
- _selectAllItems : function()
1611
- {
1461
+ _selectAllItems() {
1612
1462
  var range = this.getSelectables();
1613
- for (var i=0, l=range.length; i<l; i++) {
1463
+ for (var i = 0, l = range.length; i < l; i++) {
1614
1464
  this._addToSelection(range[i]);
1615
1465
  }
1616
1466
  },
1617
1467
 
1618
-
1619
1468
  /**
1620
1469
  * Clears current selection
1621
1470
  */
1622
- _clearSelection : function()
1623
- {
1471
+ _clearSelection() {
1624
1472
  var selection = this.__selection;
1625
1473
  for (var hash in selection) {
1626
1474
  this._removeFromSelection(selection[hash]);
@@ -1628,7 +1476,6 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1628
1476
  this.__selection = {};
1629
1477
  },
1630
1478
 
1631
-
1632
1479
  /**
1633
1480
  * Select a range from <code>item1</code> to <code>item2</code>.
1634
1481
  *
@@ -1637,18 +1484,15 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1637
1484
  * @param extend {Boolean?false} Whether the current
1638
1485
  * selection should be replaced or extended.
1639
1486
  */
1640
- _selectItemRange : function(item1, item2, extend)
1641
- {
1487
+ _selectItemRange(item1, item2, extend) {
1642
1488
  var range = this._getSelectableRange(item1, item2);
1643
1489
 
1644
1490
  // Remove items which are not in the detected range
1645
- if (!extend)
1646
- {
1491
+ if (!extend) {
1647
1492
  var selected = this.__selection;
1648
1493
  var mapped = this.__rangeToMap(range);
1649
1494
 
1650
- for (var hash in selected)
1651
- {
1495
+ for (var hash in selected) {
1652
1496
  if (!mapped[hash]) {
1653
1497
  this._removeFromSelection(selected[hash]);
1654
1498
  }
@@ -1656,40 +1500,35 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1656
1500
  }
1657
1501
 
1658
1502
  // Add new items to the selection
1659
- for (var i=0, l=range.length; i<l; i++) {
1503
+ for (var i = 0, l = range.length; i < l; i++) {
1660
1504
  this._addToSelection(range[i]);
1661
1505
  }
1662
1506
  },
1663
1507
 
1664
-
1665
1508
  /**
1666
1509
  * Deselect all items between <code>item1</code> and <code>item2</code>.
1667
1510
  *
1668
1511
  * @param item1 {Object} Start with this item
1669
1512
  * @param item2 {Object} End with this item
1670
1513
  */
1671
- _deselectItemRange : function(item1, item2)
1672
- {
1514
+ _deselectItemRange(item1, item2) {
1673
1515
  var range = this._getSelectableRange(item1, item2);
1674
- for (var i=0, l=range.length; i<l; i++) {
1516
+ for (var i = 0, l = range.length; i < l; i++) {
1675
1517
  this._removeFromSelection(range[i]);
1676
1518
  }
1677
1519
  },
1678
1520
 
1679
-
1680
1521
  /**
1681
1522
  * Internal method to convert a range to a map of hash
1682
1523
  * codes for faster lookup during selection compare routines.
1683
1524
  *
1684
1525
  * @param range {Array} List of selectable items
1685
1526
  */
1686
- __rangeToMap : function(range)
1687
- {
1527
+ __rangeToMap(range) {
1688
1528
  var mapped = {};
1689
1529
  var item;
1690
1530
 
1691
- for (var i=0, l=range.length; i<l; i++)
1692
- {
1531
+ for (var i = 0, l = range.length; i < l; i++) {
1693
1532
  item = range[i];
1694
1533
  mapped[this._selectableToHashCode(item)] = item;
1695
1534
  }
@@ -1697,11 +1536,6 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1697
1536
  return mapped;
1698
1537
  },
1699
1538
 
1700
-
1701
-
1702
-
1703
-
1704
-
1705
1539
  /*
1706
1540
  ---------------------------------------------------------------------------
1707
1541
  SINGLE ITEM QUERY AND MODIFICATION
@@ -1714,8 +1548,7 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1714
1548
  *
1715
1549
  * @return {var} The selected item (or <code>null</code>)
1716
1550
  */
1717
- _getSelectedItem : function()
1718
- {
1551
+ _getSelectedItem() {
1719
1552
  for (var hash in this.__selection) {
1720
1553
  return this.__selection[hash];
1721
1554
  }
@@ -1723,34 +1556,24 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1723
1556
  return null;
1724
1557
  },
1725
1558
 
1726
-
1727
1559
  /**
1728
1560
  * Replace current selection with given item.
1729
1561
  *
1730
1562
  * @param item {var} Any valid selectable item
1731
1563
  */
1732
- _setSelectedItem : function(item)
1733
- {
1734
- if (this._isSelectable(item))
1735
- {
1564
+ _setSelectedItem(item) {
1565
+ if (this._isSelectable(item)) {
1736
1566
  // If already selected try to find out if this is the only item
1737
1567
  var current = this.__selection;
1738
1568
  var hash = this._selectableToHashCode(item);
1739
1569
 
1740
- if (!current[hash] || (current.length >= 2))
1741
- {
1570
+ if (!current[hash] || current.length >= 2) {
1742
1571
  this._clearSelection();
1743
1572
  this._addToSelection(item);
1744
1573
  }
1745
1574
  }
1746
1575
  },
1747
1576
 
1748
-
1749
-
1750
-
1751
-
1752
-
1753
-
1754
1577
  /*
1755
1578
  ---------------------------------------------------------------------------
1756
1579
  MODIFY ITEM SELECTION
@@ -1762,12 +1585,10 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1762
1585
  *
1763
1586
  * @param item {Object} Any item
1764
1587
  */
1765
- _addToSelection : function(item)
1766
- {
1588
+ _addToSelection(item) {
1767
1589
  var hash = this._selectableToHashCode(item);
1768
1590
 
1769
- if (this.__selection[hash] == null && this._isSelectable(item))
1770
- {
1591
+ if (this.__selection[hash] == null && this._isSelectable(item)) {
1771
1592
  this.__selection[hash] = item;
1772
1593
  this._styleSelectable(item, "selected", true);
1773
1594
 
@@ -1775,24 +1596,19 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1775
1596
  }
1776
1597
  },
1777
1598
 
1778
-
1779
1599
  /**
1780
1600
  * Toggles the item e.g. remove it when already selected
1781
1601
  * or select it when currently not.
1782
1602
  *
1783
1603
  * @param item {Object} Any item
1784
1604
  */
1785
- _toggleInSelection : function(item)
1786
- {
1605
+ _toggleInSelection(item) {
1787
1606
  var hash = this._selectableToHashCode(item);
1788
1607
 
1789
- if (this.__selection[hash] == null)
1790
- {
1608
+ if (this.__selection[hash] == null) {
1791
1609
  this.__selection[hash] = item;
1792
1610
  this._styleSelectable(item, "selected", true);
1793
- }
1794
- else
1795
- {
1611
+ } else {
1796
1612
  delete this.__selection[hash];
1797
1613
  this._styleSelectable(item, "selected", false);
1798
1614
  }
@@ -1800,18 +1616,15 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1800
1616
  this.__selectionModified = true;
1801
1617
  },
1802
1618
 
1803
-
1804
1619
  /**
1805
1620
  * Removes the given item from the current selection.
1806
1621
  *
1807
1622
  * @param item {Object} Any item
1808
1623
  */
1809
- _removeFromSelection : function(item)
1810
- {
1624
+ _removeFromSelection(item) {
1811
1625
  var hash = this._selectableToHashCode(item);
1812
1626
 
1813
- if (this.__selection[hash] != null)
1814
- {
1627
+ if (this.__selection[hash] != null) {
1815
1628
  delete this.__selection[hash];
1816
1629
  this._styleSelectable(item, "selected", false);
1817
1630
 
@@ -1819,14 +1632,12 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1819
1632
  }
1820
1633
  },
1821
1634
 
1822
-
1823
1635
  /**
1824
1636
  * Replaces current selection with items from given array.
1825
1637
  *
1826
1638
  * @param items {Array} List of items to select
1827
1639
  */
1828
- _replaceMultiSelection : function(items)
1829
- {
1640
+ _replaceMultiSelection(items) {
1830
1641
  if (items.length === 0) {
1831
1642
  this.clearSelection();
1832
1643
  return;
@@ -1837,11 +1648,9 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1837
1648
  // Build map from hash codes and filter non-selectables
1838
1649
  var selectable, hash;
1839
1650
  var incoming = {};
1840
- for (var i=0, l=items.length; i<l; i++)
1841
- {
1651
+ for (var i = 0, l = items.length; i < l; i++) {
1842
1652
  selectable = items[i];
1843
- if (this._isSelectable(selectable))
1844
- {
1653
+ if (this._isSelectable(selectable)) {
1845
1654
  hash = this._selectableToHashCode(selectable);
1846
1655
  incoming[hash] = selectable;
1847
1656
  }
@@ -1853,15 +1662,11 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1853
1662
 
1854
1663
  // Clear old entries from map
1855
1664
  var current = this.__selection;
1856
- for (var hash in current)
1857
- {
1858
- if (incoming[hash])
1859
- {
1665
+ for (var hash in current) {
1666
+ if (incoming[hash]) {
1860
1667
  // Reduce map to make next loop faster
1861
1668
  delete incoming[hash];
1862
- }
1863
- else
1864
- {
1669
+ } else {
1865
1670
  // update internal map
1866
1671
  selectable = current[hash];
1867
1672
  delete current[hash];
@@ -1875,8 +1680,7 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1875
1680
  }
1876
1681
 
1877
1682
  // Add remaining selectables to selection
1878
- for (var hash in incoming)
1879
- {
1683
+ for (var hash in incoming) {
1880
1684
  // update internal map
1881
1685
  selectable = current[hash] = incoming[hash];
1882
1686
 
@@ -1904,7 +1708,6 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1904
1708
  this._fireChange();
1905
1709
  },
1906
1710
 
1907
-
1908
1711
  /**
1909
1712
  * Fires the selection change event if the selection has
1910
1713
  * been modified.
@@ -1912,10 +1715,8 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1912
1715
  * @param context {String} One of <code>tap</code>, <code>quick</code>,
1913
1716
  * <code>drag</code> or <code>key</code> or <code>null</code>
1914
1717
  */
1915
- _fireChange : function(context)
1916
- {
1917
- if (this.__selectionModified)
1918
- {
1718
+ _fireChange(context) {
1719
+ if (this.__selectionModified) {
1919
1720
  // Store context
1920
1721
  this.__selectionContext = context || null;
1921
1722
 
@@ -1925,7 +1726,6 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1925
1726
  }
1926
1727
  },
1927
1728
 
1928
-
1929
1729
  /**
1930
1730
  * Applies the default selection. The default item is the first item.
1931
1731
  *
@@ -1933,10 +1733,11 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1933
1733
  *
1934
1734
  * @return {var} The selected item.
1935
1735
  */
1936
- _applyDefaultSelection : function(force)
1937
- {
1938
- if (force === true || this.getMode() === "one" && this.isSelectionEmpty())
1939
- {
1736
+ _applyDefaultSelection(force) {
1737
+ if (
1738
+ force === true ||
1739
+ (this.getMode() === "one" && this.isSelectionEmpty())
1740
+ ) {
1940
1741
  var first = this._getFirstSelectable();
1941
1742
  if (first != null) {
1942
1743
  this.selectItem(first);
@@ -1947,15 +1748,13 @@ qx.Class.define("qx.ui.core.selection.Abstract",
1947
1748
  }
1948
1749
  },
1949
1750
 
1950
-
1951
1751
  /*
1952
1752
  *****************************************************************************
1953
1753
  DESTRUCTOR
1954
1754
  *****************************************************************************
1955
1755
  */
1956
1756
 
1957
- destruct : function()
1958
- {
1757
+ destruct() {
1959
1758
  this._disposeObjects("__scrollTimer");
1960
1759
  this.__selection = this.__pointerDownOnSelected = this.__anchorItem = null;
1961
1760
  this.__leadItem = null;