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

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