@qooxdoo/framework 7.0.0-beta.6 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1555) hide show
  1. package/CHANGELOG.md +0 -6
  2. package/Manifest.json +2 -2
  3. package/README.md +3 -1
  4. package/lib/compiler/compile-info.json +57 -55
  5. package/lib/compiler/index.js +6272 -4273
  6. package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/theme/custom/css/custom.css.map +1 -1
  7. package/lib/resource/qx/tool/loadsass.js +16 -15
  8. package/lib/resource/qx/tool/schema/compile-1-0-0.json +13 -13
  9. package/lib/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
  10. package/lib/resource/qx/tool/website/build/assets/buttons.js +391 -1
  11. package/lib/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
  12. package/lib/resource/qx/tool/website/build/assets/jquery.js +5452 -3
  13. package/lib/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
  14. package/lib/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
  15. package/lib/resource/qx/tool/website/build/scripts/serve.js +87 -66
  16. package/lib/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
  17. package/lib/resource/qx/tool/website/src/assets/buttons.js +391 -1
  18. package/lib/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
  19. package/lib/resource/qx/tool/website/src/assets/jquery.js +5452 -3
  20. package/lib/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
  21. package/lib/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
  22. package/lib/resource/qx/tool/website/src/scripts/serve.js +87 -66
  23. package/npm-shrinkwrap.json +7293 -0
  24. package/package.json +6 -4
  25. package/source/class/q.js +4 -2
  26. package/source/class/qx/Annotation.js +48 -57
  27. package/source/class/qx/Bootstrap.js +206 -207
  28. package/source/class/qx/Class.js +602 -504
  29. package/source/class/qx/Interface.js +169 -137
  30. package/source/class/qx/Mixin.js +162 -120
  31. package/source/class/qx/Part.js +48 -77
  32. package/source/class/qx/Promise.js +5891 -4655
  33. package/source/class/qx/Theme.js +200 -134
  34. package/source/class/qx/__init__.js +8 -8
  35. package/source/class/qx/application/AbstractGui.js +20 -32
  36. package/source/class/qx/application/Basic.js +9 -18
  37. package/source/class/qx/application/IApplication.js +6 -10
  38. package/source/class/qx/application/Inline.js +4 -7
  39. package/source/class/qx/application/Mobile.js +22 -45
  40. package/source/class/qx/application/Native.js +8 -19
  41. package/source/class/qx/application/Routing.js +88 -114
  42. package/source/class/qx/application/Standalone.js +4 -9
  43. package/source/class/qx/application/__init__.js +1 -1
  44. package/source/class/qx/bom/AnimationFrame.js +26 -25
  45. package/source/class/qx/bom/Blocker.js +92 -100
  46. package/source/class/qx/bom/Cookie.js +18 -22
  47. package/source/class/qx/bom/Document.js +24 -31
  48. package/source/class/qx/bom/Element.js +65 -51
  49. package/source/class/qx/bom/Event.js +68 -78
  50. package/source/class/qx/bom/FileReader.js +110 -115
  51. package/source/class/qx/bom/Font.js +82 -122
  52. package/source/class/qx/bom/FullScreen.js +32 -41
  53. package/source/class/qx/bom/GeoLocation.js +39 -44
  54. package/source/class/qx/bom/HashHistory.js +58 -64
  55. package/source/class/qx/bom/History.js +61 -89
  56. package/source/class/qx/bom/Html.js +75 -71
  57. package/source/class/qx/bom/IdleCallback.js +20 -23
  58. package/source/class/qx/bom/Iframe.js +37 -69
  59. package/source/class/qx/bom/IframeHistory.js +83 -88
  60. package/source/class/qx/bom/Input.js +50 -66
  61. package/source/class/qx/bom/Label.js +65 -86
  62. package/source/class/qx/bom/Lifecycle.js +7 -9
  63. package/source/class/qx/bom/MediaQuery.js +324 -307
  64. package/source/class/qx/bom/NativeHistory.js +51 -46
  65. package/source/class/qx/bom/Notification.js +41 -47
  66. package/source/class/qx/bom/PageVisibility.js +19 -25
  67. package/source/class/qx/bom/Range.js +20 -30
  68. package/source/class/qx/bom/Selection.js +163 -172
  69. package/source/class/qx/bom/Selector.js +2401 -2181
  70. package/source/class/qx/bom/Shortcut.js +103 -129
  71. package/source/class/qx/bom/Storage.js +9 -8
  72. package/source/class/qx/bom/String.js +285 -290
  73. package/source/class/qx/bom/Style.js +30 -31
  74. package/source/class/qx/bom/Stylesheet.js +36 -60
  75. package/source/class/qx/bom/Template.js +730 -657
  76. package/source/class/qx/bom/Viewport.js +40 -46
  77. package/source/class/qx/bom/Vml.js +43 -28
  78. package/source/class/qx/bom/WebWorker.js +61 -50
  79. package/source/class/qx/bom/Window.js +88 -105
  80. package/source/class/qx/bom/__init__.js +11 -11
  81. package/source/class/qx/bom/client/Browser.js +45 -47
  82. package/source/class/qx/bom/client/Css.js +85 -85
  83. package/source/class/qx/bom/client/CssAnimation.js +41 -49
  84. package/source/class/qx/bom/client/CssTransform.js +21 -29
  85. package/source/class/qx/bom/client/CssTransition.js +9 -12
  86. package/source/class/qx/bom/client/Device.js +45 -45
  87. package/source/class/qx/bom/client/EcmaScript.js +153 -96
  88. package/source/class/qx/bom/client/Engine.js +38 -35
  89. package/source/class/qx/bom/client/Event.js +75 -63
  90. package/source/class/qx/bom/client/Html.js +97 -97
  91. package/source/class/qx/bom/client/Idle.js +4 -6
  92. package/source/class/qx/bom/client/Locale.js +15 -15
  93. package/source/class/qx/bom/client/OperatingSystem.js +89 -106
  94. package/source/class/qx/bom/client/Pdfjs.js +1364 -1067
  95. package/source/class/qx/bom/client/PhoneGap.js +6 -9
  96. package/source/class/qx/bom/client/Plugin.js +93 -97
  97. package/source/class/qx/bom/client/Runtime.js +14 -12
  98. package/source/class/qx/bom/client/Scroll.js +20 -16
  99. package/source/class/qx/bom/client/Stylesheet.js +44 -32
  100. package/source/class/qx/bom/client/Transport.js +38 -41
  101. package/source/class/qx/bom/client/Xml.js +39 -41
  102. package/source/class/qx/bom/client/__init__.js +4 -4
  103. package/source/class/qx/bom/element/Animation.js +15 -12
  104. package/source/class/qx/bom/element/AnimationCss.js +95 -64
  105. package/source/class/qx/bom/element/AnimationHandle.js +22 -29
  106. package/source/class/qx/bom/element/AnimationJs.js +94 -71
  107. package/source/class/qx/bom/element/Attribute.js +119 -134
  108. package/source/class/qx/bom/element/Background.js +35 -35
  109. package/source/class/qx/bom/element/BoxSizing.js +43 -44
  110. package/source/class/qx/bom/element/Class.js +50 -72
  111. package/source/class/qx/bom/element/Clip.js +36 -60
  112. package/source/class/qx/bom/element/Cursor.js +13 -20
  113. package/source/class/qx/bom/element/Dataset.js +33 -31
  114. package/source/class/qx/bom/element/Decoration.js +178 -168
  115. package/source/class/qx/bom/element/Dimension.js +78 -60
  116. package/source/class/qx/bom/element/Location.js +87 -94
  117. package/source/class/qx/bom/element/Opacity.js +42 -44
  118. package/source/class/qx/bom/element/Scroll.js +78 -88
  119. package/source/class/qx/bom/element/Style.js +61 -101
  120. package/source/class/qx/bom/element/Transform.js +38 -56
  121. package/source/class/qx/bom/element/__init__.js +4 -4
  122. package/source/class/qx/bom/media/Abstract.js +136 -143
  123. package/source/class/qx/bom/media/Audio.js +7 -12
  124. package/source/class/qx/bom/media/Video.js +15 -27
  125. package/source/class/qx/bom/request/IRequest.js +18 -21
  126. package/source/class/qx/bom/request/Jsonp.js +34 -39
  127. package/source/class/qx/bom/request/Script.js +94 -90
  128. package/source/class/qx/bom/request/SimpleXhr.js +111 -79
  129. package/source/class/qx/bom/request/Xhr.js +196 -143
  130. package/source/class/qx/bom/request/__init__.js +1 -1
  131. package/source/class/qx/bom/rest/Resource.js +269 -203
  132. package/source/class/qx/bom/storage/Memory.js +18 -29
  133. package/source/class/qx/bom/storage/UserData.js +28 -35
  134. package/source/class/qx/bom/storage/Web.js +19 -30
  135. package/source/class/qx/bom/webfonts/Manager.js +199 -130
  136. package/source/class/qx/bom/webfonts/Validator.js +84 -118
  137. package/source/class/qx/bom/webfonts/WebFont.js +24 -28
  138. package/source/class/qx/bom/webfonts/__init__.js +1 -1
  139. package/source/class/qx/core/Aspect.js +15 -22
  140. package/source/class/qx/core/Assert.js +391 -333
  141. package/source/class/qx/core/AssertionError.js +6 -15
  142. package/source/class/qx/core/BaseInit.js +25 -28
  143. package/source/class/qx/core/Environment.js +72 -86
  144. package/source/class/qx/core/GlobalError.js +12 -20
  145. package/source/class/qx/core/IDisposable.js +6 -9
  146. package/source/class/qx/core/Id.js +25 -15
  147. package/source/class/qx/core/Init.js +20 -20
  148. package/source/class/qx/core/MAssert.js +54 -97
  149. package/source/class/qx/core/MBindTo.js +10 -14
  150. package/source/class/qx/core/MEvent.js +76 -65
  151. package/source/class/qx/core/MLogging.js +9 -18
  152. package/source/class/qx/core/MObjectId.js +104 -65
  153. package/source/class/qx/core/MProperty.js +18 -34
  154. package/source/class/qx/core/Object.js +93 -122
  155. package/source/class/qx/core/ObjectRegistry.js +58 -81
  156. package/source/class/qx/core/Property.js +974 -780
  157. package/source/class/qx/core/ValidationError.js +3 -4
  158. package/source/class/qx/core/WindowError.js +13 -24
  159. package/source/class/qx/core/Wrapper.js +8 -9
  160. package/source/class/qx/data/Array.js +178 -191
  161. package/source/class/qx/data/Conversion.js +11 -18
  162. package/source/class/qx/data/IListData.js +11 -20
  163. package/source/class/qx/data/MBinding.js +31 -26
  164. package/source/class/qx/data/SingleValueBinding.js +491 -225
  165. package/source/class/qx/data/__init__.js +1 -1
  166. package/source/class/qx/data/controller/CheckedList.js +82 -54
  167. package/source/class/qx/data/controller/Form.js +81 -69
  168. package/source/class/qx/data/controller/IControllerDelegate.js +7 -12
  169. package/source/class/qx/data/controller/ISelection.js +6 -10
  170. package/source/class/qx/data/controller/List.js +151 -167
  171. package/source/class/qx/data/controller/MSelection.js +53 -72
  172. package/source/class/qx/data/controller/Object.js +106 -77
  173. package/source/class/qx/data/controller/Tree.js +164 -142
  174. package/source/class/qx/data/controller/__init__.js +1 -1
  175. package/source/class/qx/data/controller/website/List.js +34 -43
  176. package/source/class/qx/data/controller/website/__init__.js +2 -2
  177. package/source/class/qx/data/marshal/IMarshaler.js +4 -7
  178. package/source/class/qx/data/marshal/IMarshalerDelegate.js +10 -18
  179. package/source/class/qx/data/marshal/Json.js +112 -85
  180. package/source/class/qx/data/marshal/MEventBubbling.js +44 -42
  181. package/source/class/qx/data/marshal/__init__.js +1 -1
  182. package/source/class/qx/data/store/IStoreDelegate.js +6 -9
  183. package/source/class/qx/data/store/Json.js +71 -85
  184. package/source/class/qx/data/store/Jsonp.js +19 -25
  185. package/source/class/qx/data/store/Offline.js +21 -29
  186. package/source/class/qx/data/store/Rest.js +25 -23
  187. package/source/class/qx/data/store/__init__.js +1 -1
  188. package/source/class/qx/dev/Debug.js +105 -124
  189. package/source/class/qx/dev/FakeServer.js +68 -65
  190. package/source/class/qx/dev/ObjectSummary.js +33 -39
  191. package/source/class/qx/dev/Profile.js +62 -63
  192. package/source/class/qx/dev/StackTrace.js +64 -70
  193. package/source/class/qx/dev/Tokenizer.js +114 -126
  194. package/source/class/qx/dev/unit/AbstractTestSuite.js +17 -31
  195. package/source/class/qx/dev/unit/AsyncWrapper.js +22 -26
  196. package/source/class/qx/dev/unit/JsUnitTestResult.js +9 -21
  197. package/source/class/qx/dev/unit/MMeasure.js +46 -37
  198. package/source/class/qx/dev/unit/MMock.js +236 -240
  199. package/source/class/qx/dev/unit/MRequirements.js +53 -79
  200. package/source/class/qx/dev/unit/MRequirementsBasic.js +24 -19
  201. package/source/class/qx/dev/unit/MTestLoader.js +52 -57
  202. package/source/class/qx/dev/unit/MeasurementResult.js +18 -22
  203. package/source/class/qx/dev/unit/RequirementError.js +8 -17
  204. package/source/class/qx/dev/unit/Sinon.js +18826 -4613
  205. package/source/class/qx/dev/unit/TestCase.js +40 -51
  206. package/source/class/qx/dev/unit/TestClass.js +22 -23
  207. package/source/class/qx/dev/unit/TestFunction.js +28 -48
  208. package/source/class/qx/dev/unit/TestLoader.js +11 -14
  209. package/source/class/qx/dev/unit/TestLoaderBasic.js +3 -6
  210. package/source/class/qx/dev/unit/TestLoaderInline.js +8 -14
  211. package/source/class/qx/dev/unit/TestLoaderMobile.js +8 -14
  212. package/source/class/qx/dev/unit/TestLoaderNative.js +7 -13
  213. package/source/class/qx/dev/unit/TestResult.js +140 -118
  214. package/source/class/qx/dev/unit/TestSuite.js +46 -55
  215. package/source/class/qx/dom/Element.js +29 -74
  216. package/source/class/qx/dom/Hierarchy.js +60 -95
  217. package/source/class/qx/dom/Node.js +54 -81
  218. package/source/class/qx/dom/__init__.js +9 -9
  219. package/source/class/qx/event/AcceleratingTimer.js +28 -46
  220. package/source/class/qx/event/Emitter.js +54 -49
  221. package/source/class/qx/event/GlobalError.js +22 -38
  222. package/source/class/qx/event/IEventDispatcher.js +4 -9
  223. package/source/class/qx/event/IEventHandler.js +7 -13
  224. package/source/class/qx/event/Idle.js +32 -47
  225. package/source/class/qx/event/Manager.js +222 -237
  226. package/source/class/qx/event/Messaging.js +55 -48
  227. package/source/class/qx/event/Pool.js +5 -8
  228. package/source/class/qx/event/Registration.js +128 -118
  229. package/source/class/qx/event/Timer.js +50 -96
  230. package/source/class/qx/event/Utils.js +41 -28
  231. package/source/class/qx/event/dispatch/AbstractBubbling.js +133 -93
  232. package/source/class/qx/event/dispatch/Direct.js +46 -51
  233. package/source/class/qx/event/dispatch/DomBubbling.js +8 -15
  234. package/source/class/qx/event/dispatch/MouseCapture.js +74 -91
  235. package/source/class/qx/event/handler/Appear.js +40 -77
  236. package/source/class/qx/event/handler/Application.js +100 -126
  237. package/source/class/qx/event/handler/Capture.js +15 -37
  238. package/source/class/qx/event/handler/DragDrop.js +342 -228
  239. package/source/class/qx/event/handler/Element.js +45 -72
  240. package/source/class/qx/event/handler/ElementResize.js +35 -70
  241. package/source/class/qx/event/handler/Focus.js +908 -637
  242. package/source/class/qx/event/handler/Gesture.js +144 -93
  243. package/source/class/qx/event/handler/GestureCore.js +214 -163
  244. package/source/class/qx/event/handler/Iframe.js +21 -35
  245. package/source/class/qx/event/handler/Input.js +332 -209
  246. package/source/class/qx/event/handler/Keyboard.js +325 -270
  247. package/source/class/qx/event/handler/Mouse.js +212 -173
  248. package/source/class/qx/event/handler/Object.js +13 -31
  249. package/source/class/qx/event/handler/Offline.js +52 -67
  250. package/source/class/qx/event/handler/Orientation.js +56 -62
  251. package/source/class/qx/event/handler/OrientationCore.js +33 -43
  252. package/source/class/qx/event/handler/Pointer.js +84 -72
  253. package/source/class/qx/event/handler/PointerCore.js +183 -105
  254. package/source/class/qx/event/handler/Touch.js +43 -59
  255. package/source/class/qx/event/handler/TouchCore.js +159 -120
  256. package/source/class/qx/event/handler/Transition.js +91 -100
  257. package/source/class/qx/event/handler/UserAction.js +18 -42
  258. package/source/class/qx/event/handler/Video.js +12 -12
  259. package/source/class/qx/event/handler/Window.js +53 -69
  260. package/source/class/qx/event/message/Bus.js +109 -128
  261. package/source/class/qx/event/message/Message.js +14 -29
  262. package/source/class/qx/event/type/Data.js +11 -22
  263. package/source/class/qx/event/type/Dom.js +37 -52
  264. package/source/class/qx/event/type/Drag.js +37 -56
  265. package/source/class/qx/event/type/Event.js +80 -104
  266. package/source/class/qx/event/type/Focus.js +5 -8
  267. package/source/class/qx/event/type/GeoPosition.js +32 -41
  268. package/source/class/qx/event/type/KeyInput.js +9 -19
  269. package/source/class/qx/event/type/KeySequence.js +10 -21
  270. package/source/class/qx/event/type/Mouse.js +69 -72
  271. package/source/class/qx/event/type/MouseWheel.js +5 -9
  272. package/source/class/qx/event/type/Native.js +16 -27
  273. package/source/class/qx/event/type/Orientation.js +18 -30
  274. package/source/class/qx/event/type/Pinch.js +21 -27
  275. package/source/class/qx/event/type/Pointer.js +38 -41
  276. package/source/class/qx/event/type/Rest.js +7 -10
  277. package/source/class/qx/event/type/Roll.js +49 -58
  278. package/source/class/qx/event/type/Rotate.js +21 -27
  279. package/source/class/qx/event/type/Swipe.js +75 -86
  280. package/source/class/qx/event/type/Tap.js +2 -4
  281. package/source/class/qx/event/type/Touch.js +262 -286
  282. package/source/class/qx/event/type/Track.js +23 -28
  283. package/source/class/qx/event/type/dom/Custom.js +24 -20
  284. package/source/class/qx/event/type/dom/Pointer.js +86 -60
  285. package/source/class/qx/event/util/Keyboard.js +94 -106
  286. package/source/class/qx/html/Blocker.js +17 -18
  287. package/source/class/qx/html/Canvas.js +13 -29
  288. package/source/class/qx/html/Element.js +372 -497
  289. package/source/class/qx/html/Factory.js +31 -26
  290. package/source/class/qx/html/Iframe.js +35 -69
  291. package/source/class/qx/html/Image.js +43 -55
  292. package/source/class/qx/html/Input.js +44 -57
  293. package/source/class/qx/html/Jsx.js +49 -41
  294. package/source/class/qx/html/JsxRef.js +3 -5
  295. package/source/class/qx/html/Label.js +20 -32
  296. package/source/class/qx/html/Node.js +362 -422
  297. package/source/class/qx/html/Root.js +7 -16
  298. package/source/class/qx/html/Text.js +34 -27
  299. package/source/class/qx/io/ImageLoader.js +66 -90
  300. package/source/class/qx/io/PartLoader.js +17 -30
  301. package/source/class/qx/io/exception/Cancel.js +4 -5
  302. package/source/class/qx/io/exception/Exception.js +4 -5
  303. package/source/class/qx/io/exception/Protocol.js +2 -3
  304. package/source/class/qx/io/exception/Transport.js +13 -14
  305. package/source/class/qx/io/graphql/Client.js +22 -12
  306. package/source/class/qx/io/graphql/protocol/Message.js +3 -3
  307. package/source/class/qx/io/graphql/protocol/Request.js +8 -10
  308. package/source/class/qx/io/graphql/protocol/Response.js +7 -5
  309. package/source/class/qx/io/jsonrpc/Client.js +70 -38
  310. package/source/class/qx/io/jsonrpc/__init__.js +1 -1
  311. package/source/class/qx/io/jsonrpc/protocol/Batch.js +14 -8
  312. package/source/class/qx/io/jsonrpc/protocol/Error.js +11 -9
  313. package/source/class/qx/io/jsonrpc/protocol/Message.js +3 -3
  314. package/source/class/qx/io/jsonrpc/protocol/Notification.js +8 -6
  315. package/source/class/qx/io/jsonrpc/protocol/Parser.js +33 -9
  316. package/source/class/qx/io/jsonrpc/protocol/Request.js +8 -7
  317. package/source/class/qx/io/jsonrpc/protocol/Result.js +7 -6
  318. package/source/class/qx/io/part/ClosurePart.js +16 -35
  319. package/source/class/qx/io/part/Package.js +35 -63
  320. package/source/class/qx/io/part/Part.js +29 -53
  321. package/source/class/qx/io/part/__init__.js +4 -4
  322. package/source/class/qx/io/request/AbstractRequest.js +268 -201
  323. package/source/class/qx/io/request/Jsonp.js +16 -19
  324. package/source/class/qx/io/request/Xhr.js +38 -37
  325. package/source/class/qx/io/request/__init__.js +1 -1
  326. package/source/class/qx/io/request/authentication/Basic.js +7 -13
  327. package/source/class/qx/io/request/authentication/Bearer.js +7 -13
  328. package/source/class/qx/io/request/authentication/IAuthentication.js +3 -6
  329. package/source/class/qx/io/request/authentication/__init__.js +1 -1
  330. package/source/class/qx/io/rest/Resource.js +122 -90
  331. package/source/class/qx/io/transport/AbstractClient.js +31 -10
  332. package/source/class/qx/io/transport/AbstractTransport.js +7 -8
  333. package/source/class/qx/io/transport/Fetch.js +8 -5
  334. package/source/class/qx/io/transport/ITransport.js +4 -2
  335. package/source/class/qx/io/transport/PostMessage.js +1 -2
  336. package/source/class/qx/io/transport/Websocket.js +5 -5
  337. package/source/class/qx/io/transport/Xhr.js +17 -18
  338. package/source/class/qx/lang/Array.js +133 -170
  339. package/source/class/qx/lang/Function.js +101 -104
  340. package/source/class/qx/lang/Json.js +1041 -774
  341. package/source/class/qx/lang/Number.js +11 -16
  342. package/source/class/qx/lang/Object.js +129 -100
  343. package/source/class/qx/lang/String.js +86 -94
  344. package/source/class/qx/lang/Type.js +44 -65
  345. package/source/class/qx/lang/normalize/Array.js +39 -49
  346. package/source/class/qx/lang/normalize/Date.js +50 -32
  347. package/source/class/qx/lang/normalize/Error.js +4 -7
  348. package/source/class/qx/lang/normalize/Function.js +11 -19
  349. package/source/class/qx/lang/normalize/Number.js +3 -5
  350. package/source/class/qx/lang/normalize/Object.js +17 -18
  351. package/source/class/qx/lang/normalize/String.js +39 -40
  352. package/source/class/qx/locale/Date.js +175 -178
  353. package/source/class/qx/locale/Key.js +13 -11
  354. package/source/class/qx/locale/LocalizedString.js +18 -15
  355. package/source/class/qx/locale/MTranslation.js +22 -23
  356. package/source/class/qx/locale/Manager.js +62 -100
  357. package/source/class/qx/locale/Number.js +20 -12
  358. package/source/class/qx/locale/String.js +26 -15
  359. package/source/class/qx/log/Logger.js +128 -180
  360. package/source/class/qx/log/__init__.js +3 -3
  361. package/source/class/qx/log/appender/Console.js +100 -111
  362. package/source/class/qx/log/appender/Element.js +25 -39
  363. package/source/class/qx/log/appender/Formatter.js +117 -66
  364. package/source/class/qx/log/appender/Native.js +4 -10
  365. package/source/class/qx/log/appender/NodeConsole.js +20 -28
  366. package/source/class/qx/log/appender/PhoneGap.js +5 -13
  367. package/source/class/qx/log/appender/RhinoConsole.js +12 -23
  368. package/source/class/qx/log/appender/RhinoFile.js +19 -26
  369. package/source/class/qx/log/appender/RingBuffer.js +10 -19
  370. package/source/class/qx/log/appender/Util.js +11 -9
  371. package/source/class/qx/module/Animation.js +73 -63
  372. package/source/class/qx/module/Attribute.js +27 -46
  373. package/source/class/qx/module/Blocker.js +33 -41
  374. package/source/class/qx/module/Cookie.js +6 -10
  375. package/source/class/qx/module/Css.js +82 -97
  376. package/source/class/qx/module/Dataset.js +12 -24
  377. package/source/class/qx/module/Environment.js +4 -6
  378. package/source/class/qx/module/Event.js +124 -127
  379. package/source/class/qx/module/Io.js +5 -9
  380. package/source/class/qx/module/Manipulating.js +98 -117
  381. package/source/class/qx/module/MatchMedia.js +50 -24
  382. package/source/class/qx/module/Messaging.js +6 -10
  383. package/source/class/qx/module/Placeholder.js +54 -44
  384. package/source/class/qx/module/Placement.js +33 -33
  385. package/source/class/qx/module/Rest.js +3 -4
  386. package/source/class/qx/module/Storage.js +34 -48
  387. package/source/class/qx/module/Template.js +6 -9
  388. package/source/class/qx/module/TextSelection.js +13 -21
  389. package/source/class/qx/module/Transform.js +28 -45
  390. package/source/class/qx/module/Traversing.js +160 -154
  391. package/source/class/qx/module/__init__.js +1 -1
  392. package/source/class/qx/module/dev/FakeServer.js +19 -25
  393. package/source/class/qx/module/event/GestureHandler.js +25 -13
  394. package/source/class/qx/module/event/Keyboard.js +42 -31
  395. package/source/class/qx/module/event/Mouse.js +48 -46
  396. package/source/class/qx/module/event/Native.js +18 -30
  397. package/source/class/qx/module/event/Orientation.js +11 -18
  398. package/source/class/qx/module/event/OrientationHandler.js +19 -17
  399. package/source/class/qx/module/event/Pinch.js +13 -14
  400. package/source/class/qx/module/event/Pointer.js +22 -22
  401. package/source/class/qx/module/event/PointerHandler.js +14 -11
  402. package/source/class/qx/module/event/Rotate.js +13 -14
  403. package/source/class/qx/module/event/Swipe.js +18 -24
  404. package/source/class/qx/module/event/Tap.js +25 -25
  405. package/source/class/qx/module/event/Touch.js +4 -7
  406. package/source/class/qx/module/event/TouchHandler.js +16 -16
  407. package/source/class/qx/module/event/Track.js +13 -14
  408. package/source/class/qx/module/util/Array.js +30 -41
  409. package/source/class/qx/module/util/Function.js +1 -2
  410. package/source/class/qx/module/util/Object.js +8 -11
  411. package/source/class/qx/module/util/String.js +10 -18
  412. package/source/class/qx/module/util/Type.js +3 -4
  413. package/source/class/qx/test/Annotation.js +195 -89
  414. package/source/class/qx/test/Bootstrap.js +98 -124
  415. package/source/class/qx/test/Browser.js +8 -11
  416. package/source/class/qx/test/Class.js +164 -198
  417. package/source/class/qx/test/Dom.js +10 -28
  418. package/source/class/qx/test/EditDistance.js +16 -16
  419. package/source/class/qx/test/Interface.js +380 -383
  420. package/source/class/qx/test/MAppearance.js +10 -14
  421. package/source/class/qx/test/MDecoration.js +1 -3
  422. package/source/class/qx/test/Mixin.js +449 -173
  423. package/source/class/qx/test/Promise.js +422 -333
  424. package/source/class/qx/test/Theme.js +204 -179
  425. package/source/class/qx/test/Xml.js +155 -84
  426. package/source/class/qx/test/application/Routing.js +45 -44
  427. package/source/class/qx/test/bom/AnimationFrame.js +23 -21
  428. package/source/class/qx/test/bom/Attribute.js +66 -47
  429. package/source/class/qx/test/bom/Basic.js +52 -27
  430. package/source/class/qx/test/bom/Blocker.js +100 -70
  431. package/source/class/qx/test/bom/Class.js +19 -34
  432. package/source/class/qx/test/bom/Cookie.js +49 -28
  433. package/source/class/qx/test/bom/Dataset.js +12 -24
  434. package/source/class/qx/test/bom/Element.js +55 -47
  435. package/source/class/qx/test/bom/Event.js +68 -45
  436. package/source/class/qx/test/bom/FileReader.js +6 -12
  437. package/source/class/qx/test/bom/Font.js +256 -118
  438. package/source/class/qx/test/bom/GeoLocation.js +82 -64
  439. package/source/class/qx/test/bom/History.js +63 -84
  440. package/source/class/qx/test/bom/IdleCallback.js +51 -38
  441. package/source/class/qx/test/bom/Iframe.js +14 -18
  442. package/source/class/qx/test/bom/Label.js +74 -105
  443. package/source/class/qx/test/bom/Location.js +70 -99
  444. package/source/class/qx/test/bom/PageVisibility.js +13 -16
  445. package/source/class/qx/test/bom/Selector.js +16 -16
  446. package/source/class/qx/test/bom/String.js +19 -15
  447. package/source/class/qx/test/bom/Stylesheet.js +39 -48
  448. package/source/class/qx/test/bom/Template.js +49 -57
  449. package/source/class/qx/test/bom/Viewport.js +7 -11
  450. package/source/class/qx/test/bom/WebWorker.js +49 -37
  451. package/source/class/qx/test/bom/Window.js +6 -12
  452. package/source/class/qx/test/bom/client/Css.js +26 -19
  453. package/source/class/qx/test/bom/client/Device.js +29 -18
  454. package/source/class/qx/test/bom/client/OperatingSystem.js +17 -20
  455. package/source/class/qx/test/bom/client/Pdfjs.js +15 -13
  456. package/source/class/qx/test/bom/element/AnimationHandle.js +20 -17
  457. package/source/class/qx/test/bom/element/AnimationJs.js +48 -31
  458. package/source/class/qx/test/bom/element/Background.js +93 -46
  459. package/source/class/qx/test/bom/element/BoxSizing.js +66 -61
  460. package/source/class/qx/test/bom/element/Class.js +33 -58
  461. package/source/class/qx/test/bom/element/Dimension.js +58 -37
  462. package/source/class/qx/test/bom/element/Style.js +87 -83
  463. package/source/class/qx/test/bom/element/Transform.js +209 -86
  464. package/source/class/qx/test/bom/media/Audio.js +18 -14
  465. package/source/class/qx/test/bom/media/MediaTestCase.js +61 -66
  466. package/source/class/qx/test/bom/media/Video.js +39 -28
  467. package/source/class/qx/test/bom/request/Jsonp.js +60 -57
  468. package/source/class/qx/test/bom/request/Script.js +150 -138
  469. package/source/class/qx/test/bom/request/SimpleXhr.js +206 -134
  470. package/source/class/qx/test/bom/request/Xhr.js +179 -132
  471. package/source/class/qx/test/bom/request/XhrWithRemote.js +206 -160
  472. package/source/class/qx/test/bom/rest/Resource.js +345 -281
  473. package/source/class/qx/test/bom/rest/ResourceWithRemote.js +74 -57
  474. package/source/class/qx/test/bom/storage/Local.js +3 -4
  475. package/source/class/qx/test/bom/storage/Session.js +3 -4
  476. package/source/class/qx/test/bom/storage/WebStorageTestCase.js +28 -27
  477. package/source/class/qx/test/bom/webfonts/Abstract.js +8 -10
  478. package/source/class/qx/test/bom/webfonts/Manager.js +127 -80
  479. package/source/class/qx/test/bom/webfonts/Validator.js +36 -30
  480. package/source/class/qx/test/compiler/ClassFile.js +29 -11
  481. package/source/class/qx/test/compiler/jsdoc/Parser.js +122 -96
  482. package/source/class/qx/test/core/Assert.js +151 -86
  483. package/source/class/qx/test/core/Environment.js +162 -123
  484. package/source/class/qx/test/core/EventEmitterDummy.js +7 -8
  485. package/source/class/qx/test/core/InheritanceDummy.js +23 -33
  486. package/source/class/qx/test/core/MemoryManagement.js +13 -5
  487. package/source/class/qx/test/core/Object.js +106 -112
  488. package/source/class/qx/test/core/ObjectId.js +7 -6
  489. package/source/class/qx/test/core/Property.js +483 -387
  490. package/source/class/qx/test/core/PropertyHelper.js +49 -64
  491. package/source/class/qx/test/core/Target.js +9 -13
  492. package/source/class/qx/test/core/Validation.js +409 -136
  493. package/source/class/qx/test/data/DataArray.js +1059 -394
  494. package/source/class/qx/test/data/DataArrayWithChangeBubble.js +315 -172
  495. package/source/class/qx/test/data/__init__.js +4 -4
  496. package/source/class/qx/test/data/controller/Form.js +141 -99
  497. package/source/class/qx/test/data/controller/FormWithArrayAndModel.js +66 -51
  498. package/source/class/qx/test/data/controller/List.js +644 -336
  499. package/source/class/qx/test/data/controller/ListReverse.js +64 -63
  500. package/source/class/qx/test/data/controller/ListWithObjects.js +305 -149
  501. package/source/class/qx/test/data/controller/Object.js +252 -94
  502. package/source/class/qx/test/data/controller/Tree.js +1219 -383
  503. package/source/class/qx/test/data/controller/__init__.js +4 -4
  504. package/source/class/qx/test/data/marshal/Json.js +832 -447
  505. package/source/class/qx/test/data/marshal/__init__.js +4 -4
  506. package/source/class/qx/test/data/singlevalue/Array.js +383 -144
  507. package/source/class/qx/test/data/singlevalue/Deep.js +361 -175
  508. package/source/class/qx/test/data/singlevalue/Resolve.js +51 -29
  509. package/source/class/qx/test/data/singlevalue/Simple.js +530 -208
  510. package/source/class/qx/test/data/singlevalue/TextFieldDummy.js +32 -28
  511. package/source/class/qx/test/data/singlevalue/__init__.js +4 -4
  512. package/source/class/qx/test/data/store/Json.js +574 -313
  513. package/source/class/qx/test/data/store/Jsonp.js +103 -77
  514. package/source/class/qx/test/data/store/Offline.js +127 -110
  515. package/source/class/qx/test/data/store/Rest.js +58 -52
  516. package/source/class/qx/test/data/store/RestWithRemote.js +36 -30
  517. package/source/class/qx/test/data/store/__init__.js +4 -4
  518. package/source/class/qx/test/dev/Debug.js +9 -13
  519. package/source/class/qx/test/dev/StackTrace.js +51 -42
  520. package/source/class/qx/test/dev/unit/Requirements.js +36 -49
  521. package/source/class/qx/test/dev/unit/Sinon.js +85 -73
  522. package/source/class/qx/test/dev/unit/TestCase.js +12 -17
  523. package/source/class/qx/test/dom/Element.js +17 -12
  524. package/source/class/qx/test/dom/Hierarchy.js +53 -38
  525. package/source/class/qx/test/dom/Node.js +97 -43
  526. package/source/class/qx/test/event/Bubbling.js +258 -88
  527. package/source/class/qx/test/event/Emitter.js +38 -39
  528. package/source/class/qx/test/event/GlobalError.js +59 -87
  529. package/source/class/qx/test/event/GlobalEventMonitors.js +22 -25
  530. package/source/class/qx/test/event/Messaging.js +66 -49
  531. package/source/class/qx/test/event/MockBubblingHandler.js +10 -15
  532. package/source/class/qx/test/event/MockHandler.js +14 -33
  533. package/source/class/qx/test/event/Registration.js +38 -32
  534. package/source/class/qx/test/event/Timer.js +61 -39
  535. package/source/class/qx/test/event/Utils.js +164 -123
  536. package/source/class/qx/test/event/dispatch/MouseCapture.js +61 -51
  537. package/source/class/qx/test/event/dispatch/MouseEventOnDocument.js +22 -23
  538. package/source/class/qx/test/event/dispatch/TestingHandler.js +8 -10
  539. package/source/class/qx/test/event/dispatch/TestingWindow.js +9 -13
  540. package/source/class/qx/test/event/dispatch/__init__.js +4 -4
  541. package/source/class/qx/test/event/handler/Offline.js +7 -8
  542. package/source/class/qx/test/event/message/Bus.js +112 -72
  543. package/source/class/qx/test/event/message/__init__.js +4 -4
  544. package/source/class/qx/test/event/type/Dom.js +12 -11
  545. package/source/class/qx/test/event/type/Event.js +7 -16
  546. package/source/class/qx/test/event/type/Mouse.js +12 -11
  547. package/source/class/qx/test/event/type/Native.js +12 -11
  548. package/source/class/qx/test/event/type/__init__.js +4 -4
  549. package/source/class/qx/test/event/util/Keyboard.js +4 -3
  550. package/source/class/qx/test/html/Element.js +538 -239
  551. package/source/class/qx/test/html/Iframe.js +85 -73
  552. package/source/class/qx/test/html/jsx/TestJsx.js +15 -4
  553. package/source/class/qx/test/html/jsx/TestJsxBrowser.js +37 -19
  554. package/source/class/qx/test/html/jsx/TestWidget.js +26 -26
  555. package/source/class/qx/test/io/ImageLoader.js +256 -160
  556. package/source/class/qx/test/io/MAssert.js +7 -7
  557. package/source/class/qx/test/io/MRemoteTest.js +9 -11
  558. package/source/class/qx/test/io/__init__.js +4 -4
  559. package/source/class/qx/test/io/graphql/Client.js +135 -114
  560. package/source/class/qx/test/io/graphql/ClientFetch.js +4 -4
  561. package/source/class/qx/test/io/graphql/Request.js +12 -13
  562. package/source/class/qx/test/io/jsonrpc/Client.js +135 -69
  563. package/source/class/qx/test/io/jsonrpc/Protocol.js +42 -14
  564. package/source/class/qx/test/io/request/Jsonp.js +23 -20
  565. package/source/class/qx/test/io/request/JsonpWithRemote.js +25 -22
  566. package/source/class/qx/test/io/request/MRequest.js +137 -114
  567. package/source/class/qx/test/io/request/Xhr.js +367 -209
  568. package/source/class/qx/test/io/request/XhrWithRemote.js +133 -100
  569. package/source/class/qx/test/io/rest/Resource.js +325 -270
  570. package/source/class/qx/test/io/rest/ResourceWithRemote.js +75 -58
  571. package/source/class/qx/test/io/transport/PostMessage.js +5 -5
  572. package/source/class/qx/test/io/transport/Websocket.js +9 -8
  573. package/source/class/qx/test/lang/Array.js +79 -105
  574. package/source/class/qx/test/lang/Function.js +64 -53
  575. package/source/class/qx/test/lang/Json.js +51 -79
  576. package/source/class/qx/test/lang/Number.js +4 -6
  577. package/source/class/qx/test/lang/Object.js +143 -133
  578. package/source/class/qx/test/lang/String.js +151 -95
  579. package/source/class/qx/test/lang/Type.js +34 -44
  580. package/source/class/qx/test/lang/Webkit.js +8 -13
  581. package/source/class/qx/test/lang/normalize/Array.js +121 -68
  582. package/source/class/qx/test/lang/normalize/Date.js +232 -49
  583. package/source/class/qx/test/lang/normalize/Error.js +5 -8
  584. package/source/class/qx/test/lang/normalize/Function.js +7 -13
  585. package/source/class/qx/test/lang/normalize/Object.js +22 -29
  586. package/source/class/qx/test/lang/normalize/String.js +19 -28
  587. package/source/class/qx/test/locale/Date.js +91 -43
  588. package/source/class/qx/test/locale/Locale.js +52 -32
  589. package/source/class/qx/test/locale/LocalizedString.js +12 -12
  590. package/source/class/qx/test/log/DeprecationMethodOverriding.js +52 -31
  591. package/source/class/qx/test/log/Filters.js +6 -3
  592. package/source/class/qx/test/log/Formatter.js +13 -7
  593. package/source/class/qx/test/log/Logger.js +19 -29
  594. package/source/class/qx/test/log/RingBuffer.js +14 -25
  595. package/source/class/qx/test/log/__init__.js +4 -4
  596. package/source/class/qx/test/log/fixture/ClassA.js +22 -22
  597. package/source/class/qx/test/log/fixture/ClassB1.js +7 -9
  598. package/source/class/qx/test/log/fixture/ClassB2.js +5 -7
  599. package/source/class/qx/test/log/fixture/ClassC1.js +5 -7
  600. package/source/class/qx/test/log/fixture/ClassC2.js +7 -9
  601. package/source/class/qx/test/mobile/LocaleSwitch.js +29 -36
  602. package/source/class/qx/test/mobile/MobileTestCase.js +39 -49
  603. package/source/class/qx/test/mobile/basic/Atom.js +129 -53
  604. package/source/class/qx/test/mobile/basic/Image.js +41 -31
  605. package/source/class/qx/test/mobile/basic/Label.js +6 -10
  606. package/source/class/qx/test/mobile/container/Carousel.js +41 -45
  607. package/source/class/qx/test/mobile/container/Composite.js +48 -65
  608. package/source/class/qx/test/mobile/container/Drawer.js +42 -29
  609. package/source/class/qx/test/mobile/container/Navigation.js +14 -20
  610. package/source/class/qx/test/mobile/container/Scroll.js +23 -19
  611. package/source/class/qx/test/mobile/core/Widget.js +150 -86
  612. package/source/class/qx/test/mobile/dialog/Menu.js +47 -26
  613. package/source/class/qx/test/mobile/dialog/Popup.js +30 -19
  614. package/source/class/qx/test/mobile/embed/Html.js +5 -8
  615. package/source/class/qx/test/mobile/form/Button.js +15 -13
  616. package/source/class/qx/test/mobile/form/CheckBox.js +21 -17
  617. package/source/class/qx/test/mobile/form/Form.js +37 -24
  618. package/source/class/qx/test/mobile/form/Group.js +5 -9
  619. package/source/class/qx/test/mobile/form/Label.js +11 -13
  620. package/source/class/qx/test/mobile/form/NumberField.js +49 -45
  621. package/source/class/qx/test/mobile/form/RadioButton.js +30 -19
  622. package/source/class/qx/test/mobile/form/SelectBox.js +39 -25
  623. package/source/class/qx/test/mobile/form/SingleRenderer.js +31 -27
  624. package/source/class/qx/test/mobile/form/Slider.js +55 -35
  625. package/source/class/qx/test/mobile/form/TextArea.js +34 -24
  626. package/source/class/qx/test/mobile/form/TextField.js +34 -24
  627. package/source/class/qx/test/mobile/form/ToggleButton.js +10 -14
  628. package/source/class/qx/test/mobile/layout/Card.js +21 -17
  629. package/source/class/qx/test/mobile/layout/HBox.js +25 -20
  630. package/source/class/qx/test/mobile/layout/VBox.js +25 -21
  631. package/source/class/qx/test/mobile/list/List.js +114 -83
  632. package/source/class/qx/test/mobile/navigationbar/NavigationBar.js +5 -9
  633. package/source/class/qx/test/mobile/page/Manager.js +7 -13
  634. package/source/class/qx/test/mobile/page/NavigationPage.js +7 -17
  635. package/source/class/qx/test/mobile/page/Page.js +101 -68
  636. package/source/class/qx/test/mobile/tabbar/TabBar.js +11 -21
  637. package/source/class/qx/test/mobile/toolbar/Toolbar.js +16 -16
  638. package/source/class/qx/test/performance/BaseCall.js +31 -36
  639. package/source/class/qx/test/performance/Event.js +60 -53
  640. package/source/class/qx/test/performance/Object.js +16 -22
  641. package/source/class/qx/test/performance/Property.js +20 -22
  642. package/source/class/qx/test/performance/data/Marshaling.js +25 -30
  643. package/source/class/qx/test/performance/decorator/AbstractDecorator.js +22 -34
  644. package/source/class/qx/test/performance/decorator/Background.js +4 -6
  645. package/source/class/qx/test/performance/decorator/BackgroundScale.js +6 -8
  646. package/source/class/qx/test/performance/decorator/Single.js +4 -6
  647. package/source/class/qx/test/performance/element/Element.js +50 -67
  648. package/source/class/qx/test/performance/widget/AbstractWidget.js +31 -44
  649. package/source/class/qx/test/performance/widget/Button.js +5 -7
  650. package/source/class/qx/test/performance/widget/Label.js +5 -7
  651. package/source/class/qx/test/performance/widget/RichLabel.js +6 -8
  652. package/source/class/qx/test/performance/widget/Widget.js +5 -7
  653. package/source/class/qx/test/performance/widget/WidgetWithDecorator.js +7 -9
  654. package/source/class/qx/test/performance/widget/WidgetWithSingle.js +9 -11
  655. package/source/class/qx/test/renderer/Color.js +22 -49
  656. package/source/class/qx/test/testclasses/BaseClassBoth.js +11 -8
  657. package/source/class/qx/test/testclasses/BaseClassIncluded.js +5 -6
  658. package/source/class/qx/test/testclasses/BaseClassPatched.js +15 -8
  659. package/source/class/qx/test/testclasses/DerivedClassBoth.js +7 -7
  660. package/source/class/qx/test/testclasses/DerivedClassIncluded.js +7 -7
  661. package/source/class/qx/test/testclasses/DerivedClassPatched.js +7 -7
  662. package/source/class/qx/test/testclasses/MMixinOne.js +4 -4
  663. package/source/class/qx/test/testclasses/MMixinTwo.js +2 -2
  664. package/source/class/qx/test/testclasses/RootClass.js +8 -8
  665. package/source/class/qx/test/theme/__init__.js +4 -4
  666. package/source/class/qx/test/theme/manager/Color.js +52 -66
  667. package/source/class/qx/test/theme/manager/Decoration.js +177 -154
  668. package/source/class/qx/test/theme/manager/Font.js +68 -39
  669. package/source/class/qx/test/theme/manager/Icon.js +46 -43
  670. package/source/class/qx/test/theme/manager/Meta.js +121 -110
  671. package/source/class/qx/test/theme/manager/__init__.js +4 -4
  672. package/source/class/qx/test/theme/manager/mock/Appearance.js +17 -23
  673. package/source/class/qx/test/theme/manager/mock/Color.js +7 -9
  674. package/source/class/qx/test/theme/manager/mock/Decoration.js +7 -10
  675. package/source/class/qx/test/theme/manager/mock/Font.js +6 -10
  676. package/source/class/qx/test/theme/simple/Appearance.js +268 -210
  677. package/source/class/qx/test/tool/utils/Utils.js +10 -8
  678. package/source/class/qx/test/toolchain/PrivateOptimization.js +20 -13
  679. package/source/class/qx/test/toolchain/TestRunner.js +12 -12
  680. package/source/class/qx/test/toolchain/VariantOptimization.js +37 -26
  681. package/source/class/qx/test/toolchain/__init__.js +4 -4
  682. package/source/class/qx/test/type/Array.js +8 -12
  683. package/source/class/qx/test/type/BaseArray.js +58 -78
  684. package/source/class/qx/test/type/BaseString.js +27 -65
  685. package/source/class/qx/test/type/__init__.js +4 -4
  686. package/source/class/qx/test/ui/BackgroundColor.js +20 -21
  687. package/source/class/qx/test/ui/ChildrenHandling.js +136 -81
  688. package/source/class/qx/test/ui/Destroy.js +310 -248
  689. package/source/class/qx/test/ui/Focus.js +40 -87
  690. package/source/class/qx/test/ui/Insets.js +14 -18
  691. package/source/class/qx/test/ui/LayoutTestCase.js +99 -92
  692. package/source/class/qx/test/ui/LocaleSwitch.js +37 -41
  693. package/source/class/qx/test/ui/RadioItems.js +11 -22
  694. package/source/class/qx/test/ui/Widget.js +13 -17
  695. package/source/class/qx/test/ui/Window.js +26 -39
  696. package/source/class/qx/test/ui/basic/Atom.js +37 -25
  697. package/source/class/qx/test/ui/basic/Image.js +179 -138
  698. package/source/class/qx/test/ui/basic/Label.js +147 -65
  699. package/source/class/qx/test/ui/basic/__init__.js +4 -4
  700. package/source/class/qx/test/ui/command/Command.js +105 -69
  701. package/source/class/qx/test/ui/command/Group.js +24 -21
  702. package/source/class/qx/test/ui/command/GroupManager.js +7 -12
  703. package/source/class/qx/test/ui/container/Stack.js +26 -36
  704. package/source/class/qx/test/ui/core/AbstractScrollArea.js +84 -67
  705. package/source/class/qx/test/ui/core/Appearance.js +53 -54
  706. package/source/class/qx/test/ui/core/Blocker.js +80 -44
  707. package/source/class/qx/test/ui/core/DragDropScrolling.js +69 -55
  708. package/source/class/qx/test/ui/core/Placement.js +22 -34
  709. package/source/class/qx/test/ui/core/Queues.js +28 -39
  710. package/source/class/qx/test/ui/core/SizeHint.js +32 -76
  711. package/source/class/qx/test/ui/core/SizeHintX.js +8 -15
  712. package/source/class/qx/test/ui/core/SizeHintY.js +8 -15
  713. package/source/class/qx/test/ui/core/Spacer.js +11 -18
  714. package/source/class/qx/test/ui/core/Widget.js +117 -112
  715. package/source/class/qx/test/ui/core/__init__.js +4 -4
  716. package/source/class/qx/test/ui/decoration/LinearGradient.js +18 -14
  717. package/source/class/qx/test/ui/embed/Iframe.js +69 -65
  718. package/source/class/qx/test/ui/embed/__init__.js +4 -4
  719. package/source/class/qx/test/ui/form/AbstractSelectBox.js +11 -16
  720. package/source/class/qx/test/ui/form/AbstractVirtualBox.js +12 -19
  721. package/source/class/qx/test/ui/form/BooleanFormat.js +40 -25
  722. package/source/class/qx/test/ui/form/Color.js +29 -19
  723. package/source/class/qx/test/ui/form/ComboBox.js +39 -25
  724. package/source/class/qx/test/ui/form/Date.js +34 -21
  725. package/source/class/qx/test/ui/form/DateField.js +16 -19
  726. package/source/class/qx/test/ui/form/Executable.js +98 -68
  727. package/source/class/qx/test/ui/form/Field.js +65 -54
  728. package/source/class/qx/test/ui/form/Form.js +211 -123
  729. package/source/class/qx/test/ui/form/FormManager.js +72 -100
  730. package/source/class/qx/test/ui/form/FormValidator.js +549 -399
  731. package/source/class/qx/test/ui/form/Label.js +87 -65
  732. package/source/class/qx/test/ui/form/List.js +19 -19
  733. package/source/class/qx/test/ui/form/MenuButton.js +26 -20
  734. package/source/class/qx/test/ui/form/ModelProperty.js +40 -36
  735. package/source/class/qx/test/ui/form/ModelSelection.js +39 -84
  736. package/source/class/qx/test/ui/form/NumberFormat.js +30 -19
  737. package/source/class/qx/test/ui/form/Placeholder.js +147 -87
  738. package/source/class/qx/test/ui/form/RadioButtonGroup.js +31 -26
  739. package/source/class/qx/test/ui/form/RadioGroup.js +58 -54
  740. package/source/class/qx/test/ui/form/Range.js +63 -28
  741. package/source/class/qx/test/ui/form/Renderer.js +39 -33
  742. package/source/class/qx/test/ui/form/Resetter.js +21 -35
  743. package/source/class/qx/test/ui/form/Slider.js +37 -21
  744. package/source/class/qx/test/ui/form/Spinner.js +9 -5
  745. package/source/class/qx/test/ui/form/SplitButton.js +7 -11
  746. package/source/class/qx/test/ui/form/StringFormat.js +60 -30
  747. package/source/class/qx/test/ui/form/TextArea.js +59 -41
  748. package/source/class/qx/test/ui/form/TextField.js +14 -16
  749. package/source/class/qx/test/ui/form/ToggleButton.js +20 -24
  750. package/source/class/qx/test/ui/form/VirtualSelectBox.js +66 -40
  751. package/source/class/qx/test/ui/form/__init__.js +4 -4
  752. package/source/class/qx/test/ui/form/virtual/VirtualComboBox.js +58 -60
  753. package/source/class/qx/test/ui/form/virtual/VirtualDropDownList.js +120 -110
  754. package/source/class/qx/test/ui/form/virtual/VirtualSelectBox.js +43 -27
  755. package/source/class/qx/test/ui/groupbox/CheckGroupBox.js +13 -18
  756. package/source/class/qx/test/ui/indicator/ProgressBar.js +73 -48
  757. package/source/class/qx/test/ui/layout/Box.js +23 -22
  758. package/source/class/qx/test/ui/layout/Flow.js +233 -153
  759. package/source/class/qx/test/ui/layout/Grid.js +88 -101
  760. package/source/class/qx/test/ui/layout/LayoutItem.js +57 -83
  761. package/source/class/qx/test/ui/layout/LayoutRoot.js +7 -11
  762. package/source/class/qx/test/ui/layout/Util.js +30 -31
  763. package/source/class/qx/test/ui/layout/__init__.js +4 -4
  764. package/source/class/qx/test/ui/list/AbstractListTest.js +13 -21
  765. package/source/class/qx/test/ui/list/Group.js +191 -114
  766. package/source/class/qx/test/ui/list/List.js +189 -132
  767. package/source/class/qx/test/ui/list/MAssert.js +14 -9
  768. package/source/class/qx/test/ui/list/ObjectGroup.js +131 -109
  769. package/source/class/qx/test/ui/list/core/MultiSelection.js +58 -44
  770. package/source/class/qx/test/ui/list/core/SingleSelection.js +43 -43
  771. package/source/class/qx/test/ui/list/fixture/GroupMock.js +6 -9
  772. package/source/class/qx/test/ui/list/fixture/ItemMock.js +9 -13
  773. package/source/class/qx/test/ui/root/Inline.js +22 -20
  774. package/source/class/qx/test/ui/selection/AbstractMultiSelectonTest.js +188 -105
  775. package/source/class/qx/test/ui/selection/AbstractSingleSelectonTest.js +173 -125
  776. package/source/class/qx/test/ui/selection/ListMultiSelection.js +19 -21
  777. package/source/class/qx/test/ui/selection/ListSingleSelection.js +19 -21
  778. package/source/class/qx/test/ui/selection/RadioGroup.js +41 -29
  779. package/source/class/qx/test/ui/selection/SelectBox.js +11 -17
  780. package/source/class/qx/test/ui/selection/Stack.js +22 -27
  781. package/source/class/qx/test/ui/selection/TabView.js +35 -26
  782. package/source/class/qx/test/ui/selection/TreeMultiSelection.js +14 -19
  783. package/source/class/qx/test/ui/selection/TreeSingleSelection.js +20 -24
  784. package/source/class/qx/test/ui/selection/__init__.js +4 -4
  785. package/source/class/qx/test/ui/table/Dispose.js +46 -46
  786. package/source/class/qx/test/ui/table/Table.js +74 -69
  787. package/source/class/qx/test/ui/table/__init__.js +4 -4
  788. package/source/class/qx/test/ui/table/celleditor/AbstractField.js +14 -28
  789. package/source/class/qx/test/ui/table/celleditor/ComboBox.js +11 -18
  790. package/source/class/qx/test/ui/table/celleditor/PasswordField.js +6 -10
  791. package/source/class/qx/test/ui/table/celleditor/SelectBox.js +16 -32
  792. package/source/class/qx/test/ui/table/celleditor/TextField.js +6 -9
  793. package/source/class/qx/test/ui/table/celleditor/__init__.js +4 -4
  794. package/source/class/qx/test/ui/table/columnmodel/Basic.js +130 -129
  795. package/source/class/qx/test/ui/table/model/Filtered.js +51 -36
  796. package/source/class/qx/test/ui/table/model/Simple.js +43 -45
  797. package/source/class/qx/test/ui/table/selection/Model.js +70 -22
  798. package/source/class/qx/test/ui/toolbar/OverflowHandling.js +145 -123
  799. package/source/class/qx/test/ui/toolbar/ToolBar.js +20 -30
  800. package/source/class/qx/test/ui/tree/Tree.js +63 -42
  801. package/source/class/qx/test/ui/tree/TreeFolder.js +44 -46
  802. package/source/class/qx/test/ui/tree/virtual/AbstractTreeTest.js +61 -96
  803. package/source/class/qx/test/ui/tree/virtual/MultiSelection.js +68 -39
  804. package/source/class/qx/test/ui/tree/virtual/OneSelection.js +82 -42
  805. package/source/class/qx/test/ui/tree/virtual/OpenCloseController.js +80 -101
  806. package/source/class/qx/test/ui/tree/virtual/SingleSelection.js +40 -32
  807. package/source/class/qx/test/ui/tree/virtual/Sorting.js +46 -47
  808. package/source/class/qx/test/ui/tree/virtual/Tree.js +267 -191
  809. package/source/class/qx/test/ui/tree/virtual/TreeItem.js +60 -63
  810. package/source/class/qx/test/ui/tree/virtual/UtilTest.js +65 -50
  811. package/source/class/qx/test/ui/tree/virtual/WidgetProvider.js +127 -132
  812. package/source/class/qx/test/ui/virtual/Axis.js +210 -193
  813. package/source/class/qx/test/ui/virtual/Pane.js +287 -190
  814. package/source/class/qx/test/ui/virtual/PaneUpdate.js +71 -77
  815. package/source/class/qx/test/ui/virtual/PointerEventMock.js +10 -13
  816. package/source/class/qx/test/ui/virtual/Scroller.js +29 -39
  817. package/source/class/qx/test/ui/virtual/__init__.js +4 -4
  818. package/source/class/qx/test/ui/virtual/cell/WidgetCell.js +39 -40
  819. package/source/class/qx/test/ui/virtual/layer/CellSpanManager.js +157 -127
  820. package/source/class/qx/test/ui/virtual/layer/Column.js +6 -10
  821. package/source/class/qx/test/ui/virtual/layer/GridLines.js +6 -10
  822. package/source/class/qx/test/ui/virtual/layer/GridLinesHorizontal.js +6 -9
  823. package/source/class/qx/test/ui/virtual/layer/GridLinesVertical.js +6 -9
  824. package/source/class/qx/test/ui/virtual/layer/HtmlCell.js +12 -19
  825. package/source/class/qx/test/ui/virtual/layer/HtmlCellSpan.js +13 -21
  826. package/source/class/qx/test/ui/virtual/layer/LayerMock.js +31 -43
  827. package/source/class/qx/test/ui/virtual/layer/LayerSimple.js +26 -26
  828. package/source/class/qx/test/ui/virtual/layer/LayerTestCase.js +52 -50
  829. package/source/class/qx/test/ui/virtual/layer/Row.js +6 -10
  830. package/source/class/qx/test/ui/virtual/layer/WidgetCell.js +45 -52
  831. package/source/class/qx/test/ui/virtual/layer/WidgetCellSpan.js +71 -48
  832. package/source/class/qx/test/ui/virtual/layer/__init__.js +4 -4
  833. package/source/class/qx/test/ui/virtual/performance/AbstractLayerTest.js +84 -68
  834. package/source/class/qx/test/ui/virtual/performance/DomCell.js +6 -9
  835. package/source/class/qx/test/ui/virtual/performance/DomPoolCell.js +6 -9
  836. package/source/class/qx/test/ui/virtual/performance/HtmlDivCell.js +7 -11
  837. package/source/class/qx/test/ui/virtual/performance/HtmlDivRelative.js +6 -9
  838. package/source/class/qx/test/ui/virtual/performance/HtmlTableCell.js +8 -13
  839. package/source/class/qx/test/ui/virtual/performance/HtmlTableCellNaive.js +8 -13
  840. package/source/class/qx/test/ui/virtual/performance/HtmlTableCssCell.js +8 -19
  841. package/source/class/qx/test/ui/virtual/performance/WidgetCell.js +10 -15
  842. package/source/class/qx/test/ui/virtual/performance/__init__.js +4 -4
  843. package/source/class/qx/test/ui/virtual/performance/layer/DomCell.js +24 -18
  844. package/source/class/qx/test/ui/virtual/performance/layer/DomPoolCell.js +28 -26
  845. package/source/class/qx/test/ui/virtual/performance/layer/HtmlDivRelative.js +13 -17
  846. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCell.js +29 -28
  847. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCellNaive.js +22 -24
  848. package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCssCell.js +32 -47
  849. package/source/class/qx/test/ui/virtual/performance/layer/__init__.js +4 -4
  850. package/source/class/qx/test/ui/window/Desktop.js +21 -12
  851. package/source/class/qx/test/util/Base64.js +10 -13
  852. package/source/class/qx/test/util/ColorUtil.js +121 -54
  853. package/source/class/qx/test/util/DateFormat.js +582 -351
  854. package/source/class/qx/test/util/DateMock.js +16 -19
  855. package/source/class/qx/test/util/DeferredCall.js +12 -13
  856. package/source/class/qx/test/util/Delegate.js +28 -26
  857. package/source/class/qx/test/util/DisposeUtil.js +32 -14
  858. package/source/class/qx/test/util/DynamicScriptLoader.js +99 -64
  859. package/source/class/qx/test/util/Fsm.js +16 -18
  860. package/source/class/qx/test/util/Function.js +23 -19
  861. package/source/class/qx/test/util/LibraryManager.js +15 -22
  862. package/source/class/qx/test/util/NumberFormat.js +53 -64
  863. package/source/class/qx/test/util/PropertyUtil.js +35 -35
  864. package/source/class/qx/test/util/Request.js +26 -18
  865. package/source/class/qx/test/util/ResourceManager.js +50 -35
  866. package/source/class/qx/test/util/ResponseParser.js +45 -35
  867. package/source/class/qx/test/util/RingBuffer.js +15 -28
  868. package/source/class/qx/test/util/Serializer.js +210 -153
  869. package/source/class/qx/test/util/StringBuilder.js +7 -13
  870. package/source/class/qx/test/util/StringSplit.js +114 -69
  871. package/source/class/qx/test/util/Uri.js +74 -78
  872. package/source/class/qx/test/util/Validate.js +95 -64
  873. package/source/class/qx/test/util/placement/BestFitAxis.js +17 -26
  874. package/source/class/qx/test/util/placement/DirectAxis.js +8 -11
  875. package/source/class/qx/test/util/placement/KeepAlignAxis.js +17 -26
  876. package/source/class/qx/test/util/placement/Placement.js +607 -244
  877. package/source/class/qx/test/util/placement/__init__.js +4 -4
  878. package/source/class/qx/theme/Classic.js +9 -11
  879. package/source/class/qx/theme/Indigo.js +9 -11
  880. package/source/class/qx/theme/Modern.js +9 -11
  881. package/source/class/qx/theme/Simple.js +9 -11
  882. package/source/class/qx/theme/TangibleDark.js +1 -1
  883. package/source/class/qx/theme/TangibleLight.js +1 -1
  884. package/source/class/qx/theme/__init__.js +4 -4
  885. package/source/class/qx/theme/classic/Appearance.js +995 -1336
  886. package/source/class/qx/theme/classic/Color.js +83 -83
  887. package/source/class/qx/theme/classic/Decoration.js +318 -299
  888. package/source/class/qx/theme/classic/Font.js +38 -25
  889. package/source/class/qx/theme/icon/Oxygen.js +4 -5
  890. package/source/class/qx/theme/icon/Tango.js +4 -5
  891. package/source/class/qx/theme/indigo/Appearance.js +66 -85
  892. package/source/class/qx/theme/indigo/Color.js +65 -66
  893. package/source/class/qx/theme/indigo/Decoration.js +31 -45
  894. package/source/class/qx/theme/indigo/Font.js +20 -29
  895. package/source/class/qx/theme/manager/Appearance.js +58 -91
  896. package/source/class/qx/theme/manager/Color.js +20 -41
  897. package/source/class/qx/theme/manager/Decoration.js +72 -100
  898. package/source/class/qx/theme/manager/Font.js +51 -67
  899. package/source/class/qx/theme/manager/Icon.js +13 -27
  900. package/source/class/qx/theme/manager/Meta.js +27 -44
  901. package/source/class/qx/theme/modern/Appearance.js +1049 -1440
  902. package/source/class/qx/theme/modern/Color.js +155 -166
  903. package/source/class/qx/theme/modern/Decoration.js +471 -598
  904. package/source/class/qx/theme/modern/Font.js +59 -52
  905. package/source/class/qx/theme/simple/Appearance.js +936 -1207
  906. package/source/class/qx/theme/simple/Color.js +62 -62
  907. package/source/class/qx/theme/simple/Decoration.js +456 -678
  908. package/source/class/qx/theme/simple/Font.js +18 -25
  909. package/source/class/qx/theme/simple/Image.js +49 -52
  910. package/source/class/qx/theme/tangible/Appearance.js +1575 -1743
  911. package/source/class/qx/theme/tangible/ColorDark.js +5 -5
  912. package/source/class/qx/theme/tangible/ColorEngine.js +38 -35
  913. package/source/class/qx/theme/tangible/ColorLight.js +7 -7
  914. package/source/class/qx/theme/tangible/Decoration.js +1108 -1300
  915. package/source/class/qx/theme/tangible/Font.js +66 -70
  916. package/source/class/qx/theme/tangible/Image.js +44 -48
  917. package/source/class/qx/tool/cli/Application.js +5 -5
  918. package/source/class/qx/tool/cli/Cli.js +103 -52
  919. package/source/class/qx/tool/cli/ConfigDb.js +18 -15
  920. package/source/class/qx/tool/cli/LibraryApplication.js +1 -1
  921. package/source/class/qx/tool/cli/Watch.js +174 -102
  922. package/source/class/qx/tool/cli/api/AbstractApi.js +17 -18
  923. package/source/class/qx/tool/cli/api/CompilerApi.js +15 -8
  924. package/source/class/qx/tool/cli/api/LibraryApi.js +4 -6
  925. package/source/class/qx/tool/cli/api/Test.js +12 -9
  926. package/source/class/qx/tool/cli/commands/Add.js +12 -15
  927. package/source/class/qx/tool/cli/commands/Clean.js +10 -9
  928. package/source/class/qx/tool/cli/commands/Command.js +18 -13
  929. package/source/class/qx/tool/cli/commands/Compile.js +630 -264
  930. package/source/class/qx/tool/cli/commands/Config.js +75 -42
  931. package/source/class/qx/tool/cli/commands/Create.js +108 -59
  932. package/source/class/qx/tool/cli/commands/Deploy.js +138 -86
  933. package/source/class/qx/tool/cli/commands/Es6ify.js +118 -0
  934. package/source/class/qx/tool/cli/commands/Lint.js +75 -34
  935. package/source/class/qx/tool/cli/commands/Migrate.js +13 -7
  936. package/source/class/qx/tool/cli/commands/Package.js +67 -45
  937. package/source/class/qx/tool/cli/commands/Pkg.js +21 -18
  938. package/source/class/qx/tool/cli/commands/Run.js +57 -37
  939. package/source/class/qx/tool/cli/commands/Serve.js +62 -37
  940. package/source/class/qx/tool/cli/commands/Test.js +40 -18
  941. package/source/class/qx/tool/cli/commands/add/Class.js +66 -28
  942. package/source/class/qx/tool/cli/commands/add/Script.js +54 -27
  943. package/source/class/qx/tool/cli/commands/package/Install.js +265 -103
  944. package/source/class/qx/tool/cli/commands/package/List.js +199 -75
  945. package/source/class/qx/tool/cli/commands/package/Migrate.js +7 -3
  946. package/source/class/qx/tool/cli/commands/package/Publish.js +209 -117
  947. package/source/class/qx/tool/cli/commands/package/Remove.js +40 -17
  948. package/source/class/qx/tool/cli/commands/package/Update.js +115 -48
  949. package/source/class/qx/tool/cli/commands/package/Upgrade.js +41 -20
  950. package/source/class/qx/tool/compiler/Analyser.js +427 -222
  951. package/source/class/qx/tool/compiler/ClassFile.js +831 -401
  952. package/source/class/qx/tool/compiler/Console.js +136 -87
  953. package/source/class/qx/tool/compiler/Es6ify.js +404 -0
  954. package/source/class/qx/tool/compiler/Preprocess.js +28 -25
  955. package/source/class/qx/tool/compiler/app/Application.js +149 -72
  956. package/source/class/qx/tool/compiler/app/Cldr.js +506 -106
  957. package/source/class/qx/tool/compiler/app/Library.js +62 -27
  958. package/source/class/qx/tool/compiler/app/Part.js +10 -12
  959. package/source/class/qx/tool/compiler/app/Translation.js +189 -162
  960. package/source/class/qx/tool/compiler/app/WebFont.js +215 -161
  961. package/source/class/qx/tool/compiler/jsdoc/ChildControlParser.js +3 -3
  962. package/source/class/qx/tool/compiler/jsdoc/CommandParser.js +8 -9
  963. package/source/class/qx/tool/compiler/jsdoc/ParamParser.js +7 -6
  964. package/source/class/qx/tool/compiler/jsdoc/Parser.js +27 -18
  965. package/source/class/qx/tool/compiler/jsdoc/ReturnParser.js +3 -3
  966. package/source/class/qx/tool/compiler/jsdoc/ThrowsParser.js +4 -4
  967. package/source/class/qx/tool/compiler/makers/AbstractAppMaker.js +5 -6
  968. package/source/class/qx/tool/compiler/makers/AppMaker.js +38 -18
  969. package/source/class/qx/tool/compiler/makers/Maker.js +29 -21
  970. package/source/class/qx/tool/compiler/resources/AbstractMatcher.js +8 -8
  971. package/source/class/qx/tool/compiler/resources/Asset.js +123 -61
  972. package/source/class/qx/tool/compiler/resources/ImageLoader.js +18 -8
  973. package/source/class/qx/tool/compiler/resources/Manager.js +156 -93
  974. package/source/class/qx/tool/compiler/resources/MetaLoader.js +5 -3
  975. package/source/class/qx/tool/compiler/resources/ResourceConverter.js +8 -8
  976. package/source/class/qx/tool/compiler/resources/ResourceLoader.js +8 -9
  977. package/source/class/qx/tool/compiler/resources/ScssConverter.js +54 -18
  978. package/source/class/qx/tool/compiler/resources/ScssFile.js +157 -80
  979. package/source/class/qx/tool/compiler/resources/ScssIncludeConverter.js +3 -3
  980. package/source/class/qx/tool/compiler/targets/BuildTarget.js +23 -13
  981. package/source/class/qx/tool/compiler/targets/SourceCodeCopier.js +29 -9
  982. package/source/class/qx/tool/compiler/targets/SourceTarget.js +2 -2
  983. package/source/class/qx/tool/compiler/targets/Target.js +292 -188
  984. package/source/class/qx/tool/compiler/targets/TypeScriptWriter.js +163 -103
  985. package/source/class/qx/tool/compiler/targets/meta/AbstractJavascriptMeta.js +48 -23
  986. package/source/class/qx/tool/compiler/targets/meta/ApplicationMeta.js +75 -62
  987. package/source/class/qx/tool/compiler/targets/meta/BootJs.js +49 -29
  988. package/source/class/qx/tool/compiler/targets/meta/Javascript.js +6 -7
  989. package/source/class/qx/tool/compiler/targets/meta/Package.js +54 -51
  990. package/source/class/qx/tool/compiler/targets/meta/PackageJavascript.js +41 -21
  991. package/source/class/qx/tool/compiler/targets/meta/Part.js +9 -10
  992. package/source/class/qx/tool/compiler/targets/meta/PolyfillJs.js +10 -5
  993. package/source/class/qx/tool/compiler/targets/meta/Uglify.js +35 -23
  994. package/source/class/qx/tool/config/Abstract.js +61 -25
  995. package/source/class/qx/tool/config/Compile.js +3 -2
  996. package/source/class/qx/tool/config/Lockfile.js +3 -2
  997. package/source/class/qx/tool/config/Manifest.js +3 -2
  998. package/source/class/qx/tool/config/Registry.js +4 -3
  999. package/source/class/qx/tool/config/Utils.js +88 -37
  1000. package/source/class/qx/tool/migration/BaseMigration.js +67 -25
  1001. package/source/class/qx/tool/migration/M6_0_0.js +96 -46
  1002. package/source/class/qx/tool/migration/M7_0_0.js +12 -6
  1003. package/source/class/qx/tool/migration/Runner.js +28 -14
  1004. package/source/class/qx/tool/utils/IndexedArray.js +15 -18
  1005. package/source/class/qx/tool/utils/Json.js +35 -14
  1006. package/source/class/qx/tool/utils/LogManager.js +50 -26
  1007. package/source/class/qx/tool/utils/Logger.js +11 -12
  1008. package/source/class/qx/tool/utils/Promisify.js +45 -49
  1009. package/source/class/qx/tool/utils/Utils.js +63 -48
  1010. package/source/class/qx/tool/utils/Values.js +4 -7
  1011. package/source/class/qx/tool/utils/Website.js +82 -29
  1012. package/source/class/qx/tool/utils/files/FindFiles.js +37 -33
  1013. package/source/class/qx/tool/utils/files/Utils.js +74 -54
  1014. package/source/class/qx/tool/utils/json/Parser.js +163 -54
  1015. package/source/class/qx/tool/utils/json/Stringify.js +87 -72
  1016. package/source/class/qx/tool/utils/json/Tokenizer.js +64 -39
  1017. package/source/class/qx/tool/utils/json/Writer.js +20 -21
  1018. package/source/class/qx/type/Array.js +19 -41
  1019. package/source/class/qx/type/BaseArray.js +136 -151
  1020. package/source/class/qx/type/BaseError.js +17 -34
  1021. package/source/class/qx/type/BaseString.js +104 -121
  1022. package/source/class/qx/type/__init__.js +3 -3
  1023. package/source/class/qx/ui/basic/Atom.js +75 -109
  1024. package/source/class/qx/ui/basic/Image.js +283 -319
  1025. package/source/class/qx/ui/basic/Label.js +161 -208
  1026. package/source/class/qx/ui/command/Command.js +51 -86
  1027. package/source/class/qx/ui/command/Group.js +43 -50
  1028. package/source/class/qx/ui/command/GroupManager.js +50 -53
  1029. package/source/class/qx/ui/container/Composite.js +15 -29
  1030. package/source/class/qx/ui/container/Resizer.js +7 -11
  1031. package/source/class/qx/ui/container/Scroll.js +10 -21
  1032. package/source/class/qx/ui/container/SlideBar.js +76 -119
  1033. package/source/class/qx/ui/container/Stack.js +27 -54
  1034. package/source/class/qx/ui/control/ColorPopup.js +109 -130
  1035. package/source/class/qx/ui/control/ColorSelector.js +334 -301
  1036. package/source/class/qx/ui/control/DateChooser.js +143 -177
  1037. package/source/class/qx/ui/core/Blocker.js +91 -127
  1038. package/source/class/qx/ui/core/ColumnData.js +16 -34
  1039. package/source/class/qx/ui/core/DragDropCursor.js +17 -30
  1040. package/source/class/qx/ui/core/DragDropScrolling.js +8 -14
  1041. package/source/class/qx/ui/core/EventHandler.js +108 -132
  1042. package/source/class/qx/ui/core/FocusHandler.js +78 -127
  1043. package/source/class/qx/ui/core/IMultiSelection.js +5 -9
  1044. package/source/class/qx/ui/core/ISingleSelection.js +10 -16
  1045. package/source/class/qx/ui/core/ISingleSelectionProvider.js +4 -6
  1046. package/source/class/qx/ui/core/LayoutItem.js +190 -306
  1047. package/source/class/qx/ui/core/MBlocker.js +22 -38
  1048. package/source/class/qx/ui/core/MChildrenHandling.js +14 -29
  1049. package/source/class/qx/ui/core/MContentPadding.js +50 -69
  1050. package/source/class/qx/ui/core/MDragDropScrolling.js +82 -80
  1051. package/source/class/qx/ui/core/MExecutable.js +27 -52
  1052. package/source/class/qx/ui/core/MLayoutHandling.js +6 -14
  1053. package/source/class/qx/ui/core/MMovable.js +64 -80
  1054. package/source/class/qx/ui/core/MMultiSelectionHandling.js +68 -87
  1055. package/source/class/qx/ui/core/MNativeOverflow.js +16 -26
  1056. package/source/class/qx/ui/core/MPlacement.js +171 -170
  1057. package/source/class/qx/ui/core/MRemoteChildrenHandling.js +14 -27
  1058. package/source/class/qx/ui/core/MRemoteLayoutHandling.js +4 -7
  1059. package/source/class/qx/ui/core/MResizable.js +142 -175
  1060. package/source/class/qx/ui/core/MSingleSelectionHandling.js +40 -45
  1061. package/source/class/qx/ui/core/SingleSelectionManager.js +41 -60
  1062. package/source/class/qx/ui/core/Spacer.js +12 -22
  1063. package/source/class/qx/ui/core/Widget.js +628 -983
  1064. package/source/class/qx/ui/core/queue/Appearance.js +15 -24
  1065. package/source/class/qx/ui/core/queue/Dispose.js +7 -16
  1066. package/source/class/qx/ui/core/queue/Layout.js +44 -71
  1067. package/source/class/qx/ui/core/queue/Manager.js +140 -133
  1068. package/source/class/qx/ui/core/queue/Visibility.js +21 -39
  1069. package/source/class/qx/ui/core/queue/Widget.js +15 -26
  1070. package/source/class/qx/ui/core/scroll/AbstractScrollArea.js +124 -162
  1071. package/source/class/qx/ui/core/scroll/IScrollBar.js +13 -24
  1072. package/source/class/qx/ui/core/scroll/MRoll.js +14 -19
  1073. package/source/class/qx/ui/core/scroll/MScrollBarFactory.js +3 -6
  1074. package/source/class/qx/ui/core/scroll/MWheelHandling.js +10 -12
  1075. package/source/class/qx/ui/core/scroll/NativeScrollBar.js +101 -125
  1076. package/source/class/qx/ui/core/scroll/ScrollBar.js +86 -130
  1077. package/source/class/qx/ui/core/scroll/ScrollPane.js +95 -134
  1078. package/source/class/qx/ui/core/scroll/ScrollSlider.js +13 -19
  1079. package/source/class/qx/ui/core/scroll/__init__.js +4 -4
  1080. package/source/class/qx/ui/core/selection/Abstract.js +255 -456
  1081. package/source/class/qx/ui/core/selection/ScrollArea.js +35 -73
  1082. package/source/class/qx/ui/core/selection/Widget.js +57 -120
  1083. package/source/class/qx/ui/decoration/Abstract.js +11 -20
  1084. package/source/class/qx/ui/decoration/Decorator.js +56 -55
  1085. package/source/class/qx/ui/decoration/IDecorator.js +5 -11
  1086. package/source/class/qx/ui/decoration/MBackgroundColor.js +13 -20
  1087. package/source/class/qx/ui/decoration/MBackgroundImage.js +82 -77
  1088. package/source/class/qx/ui/decoration/MBorderImage.js +72 -94
  1089. package/source/class/qx/ui/decoration/MBorderRadius.js +35 -38
  1090. package/source/class/qx/ui/decoration/MBoxShadow.js +61 -55
  1091. package/source/class/qx/ui/decoration/MDoubleBorder.js +157 -155
  1092. package/source/class/qx/ui/decoration/MLinearBackgroundGradient.js +169 -89
  1093. package/source/class/qx/ui/decoration/MSingleBorder.js +138 -124
  1094. package/source/class/qx/ui/decoration/MTransition.js +46 -42
  1095. package/source/class/qx/ui/decoration/__init__.js +2 -2
  1096. package/source/class/qx/ui/embed/AbstractIframe.js +37 -55
  1097. package/source/class/qx/ui/embed/Canvas.js +34 -66
  1098. package/source/class/qx/ui/embed/Html.js +46 -70
  1099. package/source/class/qx/ui/embed/Iframe.js +178 -158
  1100. package/source/class/qx/ui/embed/ThemedIframe.js +91 -135
  1101. package/source/class/qx/ui/form/AbstractField.js +262 -303
  1102. package/source/class/qx/ui/form/AbstractSelectBox.js +65 -87
  1103. package/source/class/qx/ui/form/Button.js +35 -73
  1104. package/source/class/qx/ui/form/CheckBox.js +26 -48
  1105. package/source/class/qx/ui/form/CheckedList.js +41 -25
  1106. package/source/class/qx/ui/form/CheckedSelectBox.js +97 -62
  1107. package/source/class/qx/ui/form/ComboBox.js +93 -121
  1108. package/source/class/qx/ui/form/DateField.js +140 -181
  1109. package/source/class/qx/ui/form/Form.js +50 -69
  1110. package/source/class/qx/ui/form/HoverButton.js +37 -54
  1111. package/source/class/qx/ui/form/IArrayForm.js +8 -16
  1112. package/source/class/qx/ui/form/IBooleanForm.js +8 -16
  1113. package/source/class/qx/ui/form/IColorForm.js +8 -16
  1114. package/source/class/qx/ui/form/IDateForm.js +8 -16
  1115. package/source/class/qx/ui/form/IExecutable.js +7 -14
  1116. package/source/class/qx/ui/form/IField.js +7 -14
  1117. package/source/class/qx/ui/form/IForm.js +17 -32
  1118. package/source/class/qx/ui/form/IListItem.js +1 -4
  1119. package/source/class/qx/ui/form/IModel.js +7 -15
  1120. package/source/class/qx/ui/form/IModelForm.js +8 -16
  1121. package/source/class/qx/ui/form/IModelSelection.js +4 -8
  1122. package/source/class/qx/ui/form/INumberForm.js +8 -15
  1123. package/source/class/qx/ui/form/IRadioItem.js +8 -17
  1124. package/source/class/qx/ui/form/IRange.js +10 -20
  1125. package/source/class/qx/ui/form/IStringForm.js +8 -16
  1126. package/source/class/qx/ui/form/List.js +82 -122
  1127. package/source/class/qx/ui/form/ListItem.js +21 -38
  1128. package/source/class/qx/ui/form/MForm.js +35 -41
  1129. package/source/class/qx/ui/form/MModelProperty.js +9 -14
  1130. package/source/class/qx/ui/form/MModelSelection.js +30 -32
  1131. package/source/class/qx/ui/form/MenuButton.js +44 -75
  1132. package/source/class/qx/ui/form/PasswordField.js +4 -6
  1133. package/source/class/qx/ui/form/RadioButton.js +36 -72
  1134. package/source/class/qx/ui/form/RadioButtonGroup.js +67 -82
  1135. package/source/class/qx/ui/form/RadioGroup.js +92 -127
  1136. package/source/class/qx/ui/form/RepeatButton.js +57 -106
  1137. package/source/class/qx/ui/form/Resetter.js +19 -29
  1138. package/source/class/qx/ui/form/SelectBox.js +56 -104
  1139. package/source/class/qx/ui/form/Slider.js +202 -269
  1140. package/source/class/qx/ui/form/Spinner.js +173 -217
  1141. package/source/class/qx/ui/form/SplitButton.js +73 -115
  1142. package/source/class/qx/ui/form/Tag.js +7 -8
  1143. package/source/class/qx/ui/form/TextArea.js +147 -153
  1144. package/source/class/qx/ui/form/TextField.js +37 -46
  1145. package/source/class/qx/ui/form/ToggleButton.js +54 -90
  1146. package/source/class/qx/ui/form/VirtualComboBox.js +73 -113
  1147. package/source/class/qx/ui/form/VirtualSelectBox.js +264 -274
  1148. package/source/class/qx/ui/form/core/AbstractVirtualBox.js +117 -157
  1149. package/source/class/qx/ui/form/core/VirtualDropDownList.js +101 -144
  1150. package/source/class/qx/ui/form/renderer/AbstractRenderer.js +48 -55
  1151. package/source/class/qx/ui/form/renderer/Double.js +25 -34
  1152. package/source/class/qx/ui/form/renderer/IFormRenderer.js +4 -8
  1153. package/source/class/qx/ui/form/renderer/Single.js +25 -35
  1154. package/source/class/qx/ui/form/renderer/SinglePlaceholder.js +12 -11
  1155. package/source/class/qx/ui/form/renderer/__init__.js +5 -5
  1156. package/source/class/qx/ui/form/validation/AsyncValidator.js +13 -19
  1157. package/source/class/qx/ui/form/validation/Manager.js +74 -108
  1158. package/source/class/qx/ui/form/validation/__init__.js +6 -6
  1159. package/source/class/qx/ui/groupbox/CheckGroupBox.js +30 -47
  1160. package/source/class/qx/ui/groupbox/GroupBox.js +36 -75
  1161. package/source/class/qx/ui/groupbox/RadioGroupBox.js +29 -59
  1162. package/source/class/qx/ui/groupbox/__init__.js +3 -3
  1163. package/source/class/qx/ui/indicator/ProgressBar.js +29 -46
  1164. package/source/class/qx/ui/layout/Abstract.js +28 -53
  1165. package/source/class/qx/ui/layout/Atom.js +95 -111
  1166. package/source/class/qx/ui/layout/Basic.js +29 -30
  1167. package/source/class/qx/ui/layout/Canvas.js +62 -99
  1168. package/source/class/qx/ui/layout/Dock.js +266 -250
  1169. package/source/class/qx/ui/layout/Flow.js +50 -76
  1170. package/source/class/qx/ui/layout/Grid.js +268 -343
  1171. package/source/class/qx/ui/layout/Grow.js +26 -32
  1172. package/source/class/qx/ui/layout/HBox.js +137 -153
  1173. package/source/class/qx/ui/layout/LineSizeIterator.js +19 -28
  1174. package/source/class/qx/ui/layout/Util.js +91 -120
  1175. package/source/class/qx/ui/layout/VBox.js +125 -147
  1176. package/source/class/qx/ui/list/List.js +148 -262
  1177. package/source/class/qx/ui/list/core/IListDelegate.js +13 -26
  1178. package/source/class/qx/ui/list/core/MWidgetController.js +51 -78
  1179. package/source/class/qx/ui/list/provider/IListProvider.js +15 -28
  1180. package/source/class/qx/ui/list/provider/WidgetProvider.js +52 -84
  1181. package/source/class/qx/ui/menu/AbstractButton.js +118 -127
  1182. package/source/class/qx/ui/menu/Button.js +11 -25
  1183. package/source/class/qx/ui/menu/ButtonLayout.js +49 -37
  1184. package/source/class/qx/ui/menu/CheckBox.js +21 -46
  1185. package/source/class/qx/ui/menu/Layout.js +45 -51
  1186. package/source/class/qx/ui/menu/Manager.js +131 -209
  1187. package/source/class/qx/ui/menu/Menu.js +164 -259
  1188. package/source/class/qx/ui/menu/MenuSlideBar.js +13 -20
  1189. package/source/class/qx/ui/menu/RadioButton.js +29 -51
  1190. package/source/class/qx/ui/menu/Separator.js +9 -16
  1191. package/source/class/qx/ui/menubar/Button.js +23 -41
  1192. package/source/class/qx/ui/menubar/MenuBar.js +9 -13
  1193. package/source/class/qx/ui/mobile/__init__.js +5 -5
  1194. package/source/class/qx/ui/mobile/basic/Atom.js +79 -101
  1195. package/source/class/qx/ui/mobile/basic/Image.js +80 -86
  1196. package/source/class/qx/ui/mobile/basic/Label.js +38 -54
  1197. package/source/class/qx/ui/mobile/container/Carousel.js +281 -188
  1198. package/source/class/qx/ui/mobile/container/Collapsible.js +57 -77
  1199. package/source/class/qx/ui/mobile/container/Composite.js +9 -13
  1200. package/source/class/qx/ui/mobile/container/Drawer.js +167 -164
  1201. package/source/class/qx/ui/mobile/container/INavigation.js +6 -10
  1202. package/source/class/qx/ui/mobile/container/IScrollDelegate.js +4 -6
  1203. package/source/class/qx/ui/mobile/container/MIScroll.js +108 -100
  1204. package/source/class/qx/ui/mobile/container/MNativeScroll.js +118 -102
  1205. package/source/class/qx/ui/mobile/container/MScrollHandling.js +8 -7
  1206. package/source/class/qx/ui/mobile/container/Navigation.js +46 -65
  1207. package/source/class/qx/ui/mobile/container/Scroll.js +140 -151
  1208. package/source/class/qx/ui/mobile/control/Picker.js +125 -112
  1209. package/source/class/qx/ui/mobile/core/Blocker.js +62 -71
  1210. package/source/class/qx/ui/mobile/core/DomUpdatedHandler.js +24 -60
  1211. package/source/class/qx/ui/mobile/core/EventHandler.js +158 -138
  1212. package/source/class/qx/ui/mobile/core/MChildrenHandling.js +14 -30
  1213. package/source/class/qx/ui/mobile/core/MLayoutHandling.js +6 -14
  1214. package/source/class/qx/ui/mobile/core/MResize.js +16 -30
  1215. package/source/class/qx/ui/mobile/core/Root.js +90 -80
  1216. package/source/class/qx/ui/mobile/core/Widget.js +351 -479
  1217. package/source/class/qx/ui/mobile/dialog/BusyIndicator.js +31 -46
  1218. package/source/class/qx/ui/mobile/dialog/Manager.js +127 -89
  1219. package/source/class/qx/ui/mobile/dialog/Menu.js +111 -122
  1220. package/source/class/qx/ui/mobile/dialog/Popup.js +202 -194
  1221. package/source/class/qx/ui/mobile/embed/Canvas.js +12 -25
  1222. package/source/class/qx/ui/mobile/embed/Html.js +13 -27
  1223. package/source/class/qx/ui/mobile/form/Button.js +12 -18
  1224. package/source/class/qx/ui/mobile/form/CheckBox.js +20 -35
  1225. package/source/class/qx/ui/mobile/form/Form.js +31 -51
  1226. package/source/class/qx/ui/mobile/form/Group.js +18 -30
  1227. package/source/class/qx/ui/mobile/form/Input.js +30 -35
  1228. package/source/class/qx/ui/mobile/form/Label.js +76 -79
  1229. package/source/class/qx/ui/mobile/form/MState.js +20 -27
  1230. package/source/class/qx/ui/mobile/form/MText.js +27 -47
  1231. package/source/class/qx/ui/mobile/form/MValue.js +66 -94
  1232. package/source/class/qx/ui/mobile/form/NumberField.js +30 -47
  1233. package/source/class/qx/ui/mobile/form/PasswordField.js +8 -14
  1234. package/source/class/qx/ui/mobile/form/RadioButton.js +25 -46
  1235. package/source/class/qx/ui/mobile/form/RadioGroup.js +2 -4
  1236. package/source/class/qx/ui/mobile/form/Row.js +14 -29
  1237. package/source/class/qx/ui/mobile/form/SelectBox.js +77 -104
  1238. package/source/class/qx/ui/mobile/form/Slider.js +116 -144
  1239. package/source/class/qx/ui/mobile/form/TextArea.js +26 -39
  1240. package/source/class/qx/ui/mobile/form/TextField.js +18 -28
  1241. package/source/class/qx/ui/mobile/form/Title.js +11 -19
  1242. package/source/class/qx/ui/mobile/form/ToggleButton.js +35 -58
  1243. package/source/class/qx/ui/mobile/form/__init__.js +1 -1
  1244. package/source/class/qx/ui/mobile/form/renderer/AbstractRenderer.js +24 -31
  1245. package/source/class/qx/ui/mobile/form/renderer/Single.js +59 -85
  1246. package/source/class/qx/ui/mobile/form/renderer/SinglePlaceholder.js +8 -16
  1247. package/source/class/qx/ui/mobile/layout/Abstract.js +48 -85
  1248. package/source/class/qx/ui/mobile/layout/AbstractBox.js +93 -125
  1249. package/source/class/qx/ui/mobile/layout/Card.js +133 -116
  1250. package/source/class/qx/ui/mobile/layout/CardAnimation.js +95 -72
  1251. package/source/class/qx/ui/mobile/layout/HBox.js +9 -12
  1252. package/source/class/qx/ui/mobile/layout/VBox.js +9 -12
  1253. package/source/class/qx/ui/mobile/list/IListDelegate.js +5 -9
  1254. package/source/class/qx/ui/mobile/list/List.js +172 -183
  1255. package/source/class/qx/ui/mobile/list/provider/Provider.js +58 -65
  1256. package/source/class/qx/ui/mobile/list/renderer/Abstract.js +54 -82
  1257. package/source/class/qx/ui/mobile/list/renderer/Default.js +39 -55
  1258. package/source/class/qx/ui/mobile/list/renderer/group/Abstract.js +20 -33
  1259. package/source/class/qx/ui/mobile/list/renderer/group/Default.js +29 -45
  1260. package/source/class/qx/ui/mobile/navigationbar/BackButton.js +11 -15
  1261. package/source/class/qx/ui/mobile/navigationbar/Button.js +11 -15
  1262. package/source/class/qx/ui/mobile/navigationbar/NavigationBar.js +23 -29
  1263. package/source/class/qx/ui/mobile/navigationbar/Title.js +12 -20
  1264. package/source/class/qx/ui/mobile/page/Manager.js +195 -169
  1265. package/source/class/qx/ui/mobile/page/NavigationPage.js +132 -196
  1266. package/source/class/qx/ui/mobile/page/Page.js +109 -148
  1267. package/source/class/qx/ui/mobile/tabbar/TabBar.js +41 -62
  1268. package/source/class/qx/ui/mobile/tabbar/TabButton.js +19 -28
  1269. package/source/class/qx/ui/mobile/toolbar/Button.js +7 -11
  1270. package/source/class/qx/ui/mobile/toolbar/Separator.js +11 -15
  1271. package/source/class/qx/ui/mobile/toolbar/ToolBar.js +30 -39
  1272. package/source/class/qx/ui/popup/Manager.js +41 -53
  1273. package/source/class/qx/ui/popup/Popup.js +22 -47
  1274. package/source/class/qx/ui/popup/__init__.js +32 -32
  1275. package/source/class/qx/ui/progressive/Progressive.js +96 -137
  1276. package/source/class/qx/ui/progressive/State.js +12 -19
  1277. package/source/class/qx/ui/progressive/headfoot/Abstract.js +10 -15
  1278. package/source/class/qx/ui/progressive/headfoot/Null.js +4 -7
  1279. package/source/class/qx/ui/progressive/headfoot/Progress.js +67 -69
  1280. package/source/class/qx/ui/progressive/headfoot/TableHeading.js +42 -54
  1281. package/source/class/qx/ui/progressive/model/Abstract.js +8 -15
  1282. package/source/class/qx/ui/progressive/model/Default.js +17 -29
  1283. package/source/class/qx/ui/progressive/renderer/Abstract.js +6 -11
  1284. package/source/class/qx/ui/progressive/renderer/FunctionCaller.js +4 -7
  1285. package/source/class/qx/ui/progressive/renderer/table/Row.js +215 -242
  1286. package/source/class/qx/ui/progressive/renderer/table/Widths.js +32 -47
  1287. package/source/class/qx/ui/progressive/renderer/table/cell/Abstract.js +17 -24
  1288. package/source/class/qx/ui/progressive/renderer/table/cell/Boolean.js +68 -79
  1289. package/source/class/qx/ui/progressive/renderer/table/cell/Conditional.js +146 -199
  1290. package/source/class/qx/ui/progressive/renderer/table/cell/Default.js +14 -32
  1291. package/source/class/qx/ui/progressive/renderer/table/cell/Html.js +2 -3
  1292. package/source/class/qx/ui/progressive/renderer/table/cell/Icon.js +38 -53
  1293. package/source/class/qx/ui/progressive/renderer/table/cell/Image.js +20 -42
  1294. package/source/class/qx/ui/progressive/renderer/table/cell/String.js +6 -12
  1295. package/source/class/qx/ui/progressive/structure/Abstract.js +14 -26
  1296. package/source/class/qx/ui/progressive/structure/Default.js +20 -40
  1297. package/source/class/qx/ui/root/Abstract.js +73 -90
  1298. package/source/class/qx/ui/root/Application.js +57 -61
  1299. package/source/class/qx/ui/root/Inline.js +78 -64
  1300. package/source/class/qx/ui/root/Page.js +25 -46
  1301. package/source/class/qx/ui/splitpane/Blocker.js +20 -30
  1302. package/source/class/qx/ui/splitpane/HLayout.js +53 -49
  1303. package/source/class/qx/ui/splitpane/Pane.js +112 -150
  1304. package/source/class/qx/ui/splitpane/Slider.js +9 -15
  1305. package/source/class/qx/ui/splitpane/Splitter.js +27 -46
  1306. package/source/class/qx/ui/splitpane/VLayout.js +53 -49
  1307. package/source/class/qx/ui/style/Stylesheet.js +12 -19
  1308. package/source/class/qx/ui/table/ICellEditorFactory.js +4 -8
  1309. package/source/class/qx/ui/table/ICellRenderer.js +3 -7
  1310. package/source/class/qx/ui/table/IColumnMenuButton.js +6 -11
  1311. package/source/class/qx/ui/table/IColumnMenuItem.js +5 -8
  1312. package/source/class/qx/ui/table/IHeaderRenderer.js +4 -8
  1313. package/source/class/qx/ui/table/IRowRenderer.js +6 -12
  1314. package/source/class/qx/ui/table/ITableModel.js +23 -41
  1315. package/source/class/qx/ui/table/MTableContextMenu.js +25 -28
  1316. package/source/class/qx/ui/table/Table.js +556 -748
  1317. package/source/class/qx/ui/table/celleditor/AbstractField.js +16 -26
  1318. package/source/class/qx/ui/table/celleditor/CheckBox.js +15 -16
  1319. package/source/class/qx/ui/table/celleditor/ComboBox.js +24 -34
  1320. package/source/class/qx/ui/table/celleditor/Dynamic.js +25 -32
  1321. package/source/class/qx/ui/table/celleditor/PasswordField.js +4 -8
  1322. package/source/class/qx/ui/table/celleditor/SelectBox.js +29 -38
  1323. package/source/class/qx/ui/table/celleditor/TextField.js +9 -14
  1324. package/source/class/qx/ui/table/cellrenderer/Abstract.js +78 -73
  1325. package/source/class/qx/ui/table/cellrenderer/AbstractImage.js +65 -84
  1326. package/source/class/qx/ui/table/cellrenderer/Boolean.js +36 -50
  1327. package/source/class/qx/ui/table/cellrenderer/Conditional.js +74 -63
  1328. package/source/class/qx/ui/table/cellrenderer/Date.js +12 -22
  1329. package/source/class/qx/ui/table/cellrenderer/Debug.js +9 -9
  1330. package/source/class/qx/ui/table/cellrenderer/Default.js +30 -52
  1331. package/source/class/qx/ui/table/cellrenderer/Dynamic.js +13 -24
  1332. package/source/class/qx/ui/table/cellrenderer/Html.js +6 -8
  1333. package/source/class/qx/ui/table/cellrenderer/Image.js +13 -26
  1334. package/source/class/qx/ui/table/cellrenderer/Number.js +13 -24
  1335. package/source/class/qx/ui/table/cellrenderer/Password.js +8 -11
  1336. package/source/class/qx/ui/table/cellrenderer/Replace.js +27 -42
  1337. package/source/class/qx/ui/table/cellrenderer/String.js +5 -7
  1338. package/source/class/qx/ui/table/columnmenu/Button.js +19 -29
  1339. package/source/class/qx/ui/table/columnmenu/MenuItem.js +11 -19
  1340. package/source/class/qx/ui/table/columnmenu/__init__.js +4 -4
  1341. package/source/class/qx/ui/table/columnmenu/grid/__init__.js +4 -4
  1342. package/source/class/qx/ui/table/columnmenu/simple/__init__.js +4 -4
  1343. package/source/class/qx/ui/table/columnmodel/Basic.js +193 -215
  1344. package/source/class/qx/ui/table/columnmodel/Resize.js +65 -111
  1345. package/source/class/qx/ui/table/columnmodel/resizebehavior/Abstract.js +17 -24
  1346. package/source/class/qx/ui/table/columnmodel/resizebehavior/Default.js +66 -117
  1347. package/source/class/qx/ui/table/headerrenderer/Default.js +25 -46
  1348. package/source/class/qx/ui/table/headerrenderer/HeaderCell.js +36 -51
  1349. package/source/class/qx/ui/table/headerrenderer/Icon.js +11 -27
  1350. package/source/class/qx/ui/table/model/Abstract.js +52 -62
  1351. package/source/class/qx/ui/table/model/Filtered.js +121 -153
  1352. package/source/class/qx/ui/table/model/Remote.js +166 -271
  1353. package/source/class/qx/ui/table/model/Simple.js +225 -252
  1354. package/source/class/qx/ui/table/pane/CellEvent.js +25 -32
  1355. package/source/class/qx/ui/table/pane/Clipper.js +8 -12
  1356. package/source/class/qx/ui/table/pane/FocusIndicator.js +42 -48
  1357. package/source/class/qx/ui/table/pane/Header.js +45 -86
  1358. package/source/class/qx/ui/table/pane/Model.js +73 -96
  1359. package/source/class/qx/ui/table/pane/Pane.js +132 -190
  1360. package/source/class/qx/ui/table/pane/Scroller.js +542 -659
  1361. package/source/class/qx/ui/table/rowrenderer/Default.js +75 -86
  1362. package/source/class/qx/ui/table/selection/Manager.js +23 -57
  1363. package/source/class/qx/ui/table/selection/Model.js +89 -179
  1364. package/source/class/qx/ui/tabview/Page.js +48 -79
  1365. package/source/class/qx/ui/tabview/TabButton.js +45 -72
  1366. package/source/class/qx/ui/tabview/TabView.js +94 -141
  1367. package/source/class/qx/ui/toolbar/Button.js +13 -18
  1368. package/source/class/qx/ui/toolbar/CheckBox.js +13 -17
  1369. package/source/class/qx/ui/toolbar/MenuButton.js +18 -34
  1370. package/source/class/qx/ui/toolbar/Part.js +42 -64
  1371. package/source/class/qx/ui/toolbar/PartContainer.js +19 -28
  1372. package/source/class/qx/ui/toolbar/RadioButton.js +12 -19
  1373. package/source/class/qx/ui/toolbar/Separator.js +15 -25
  1374. package/source/class/qx/ui/toolbar/SplitButton.js +19 -28
  1375. package/source/class/qx/ui/toolbar/ToolBar.js +182 -232
  1376. package/source/class/qx/ui/tooltip/Manager.js +125 -123
  1377. package/source/class/qx/ui/tooltip/ToolTip.js +49 -79
  1378. package/source/class/qx/ui/tooltip/__init__.js +23 -23
  1379. package/source/class/qx/ui/tree/Tree.js +95 -148
  1380. package/source/class/qx/ui/tree/TreeFile.js +8 -15
  1381. package/source/class/qx/ui/tree/TreeFolder.js +8 -15
  1382. package/source/class/qx/ui/tree/VirtualTree.js +207 -333
  1383. package/source/class/qx/ui/tree/VirtualTreeItem.js +30 -45
  1384. package/source/class/qx/ui/tree/__init__.js +50 -50
  1385. package/source/class/qx/ui/tree/core/AbstractItem.js +98 -152
  1386. package/source/class/qx/ui/tree/core/AbstractTreeItem.js +83 -137
  1387. package/source/class/qx/ui/tree/core/FolderOpenButton.js +15 -34
  1388. package/source/class/qx/ui/tree/core/IVirtualTree.js +13 -33
  1389. package/source/class/qx/ui/tree/core/IVirtualTreeDelegate.js +9 -16
  1390. package/source/class/qx/ui/tree/core/MWidgetController.js +58 -69
  1391. package/source/class/qx/ui/tree/core/OpenCloseController.js +29 -35
  1392. package/source/class/qx/ui/tree/core/Util.js +12 -16
  1393. package/source/class/qx/ui/tree/provider/IVirtualTreeProvider.js +10 -23
  1394. package/source/class/qx/ui/tree/provider/WidgetProvider.js +39 -67
  1395. package/source/class/qx/ui/tree/selection/SelectionManager.js +27 -41
  1396. package/source/class/qx/ui/treevirtual/DefaultDataCellRenderer.js +2 -3
  1397. package/source/class/qx/ui/treevirtual/MFamily.js +26 -63
  1398. package/source/class/qx/ui/treevirtual/MNode.js +43 -103
  1399. package/source/class/qx/ui/treevirtual/MTreePrimitive.js +41 -52
  1400. package/source/class/qx/ui/treevirtual/SelectionManager.js +44 -58
  1401. package/source/class/qx/ui/treevirtual/SimpleTreeDataCellRenderer.js +172 -229
  1402. package/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js +256 -367
  1403. package/source/class/qx/ui/treevirtual/SimpleTreeDataRowRenderer.js +8 -18
  1404. package/source/class/qx/ui/treevirtual/TreeVirtual.js +155 -250
  1405. package/source/class/qx/ui/treevirtual/celleditor/NodeEditor.js +10 -16
  1406. package/source/class/qx/ui/treevirtual/pane/Scroller.js +14 -11
  1407. package/source/class/qx/ui/virtual/__init__.js +4 -4
  1408. package/source/class/qx/ui/virtual/behavior/Prefetch.js +71 -86
  1409. package/source/class/qx/ui/virtual/cell/Abstract.js +18 -27
  1410. package/source/class/qx/ui/virtual/cell/AbstractImage.js +42 -51
  1411. package/source/class/qx/ui/virtual/cell/AbstractWidget.js +25 -49
  1412. package/source/class/qx/ui/virtual/cell/Boolean.js +31 -44
  1413. package/source/class/qx/ui/virtual/cell/Cell.js +143 -183
  1414. package/source/class/qx/ui/virtual/cell/CellStylesheet.js +31 -38
  1415. package/source/class/qx/ui/virtual/cell/Date.js +15 -24
  1416. package/source/class/qx/ui/virtual/cell/Html.js +9 -20
  1417. package/source/class/qx/ui/virtual/cell/ICell.js +4 -6
  1418. package/source/class/qx/ui/virtual/cell/IWidgetCell.js +7 -12
  1419. package/source/class/qx/ui/virtual/cell/IWidgetCellDelegate.js +4 -6
  1420. package/source/class/qx/ui/virtual/cell/Image.js +8 -14
  1421. package/source/class/qx/ui/virtual/cell/Number.js +14 -23
  1422. package/source/class/qx/ui/virtual/cell/String.js +11 -20
  1423. package/source/class/qx/ui/virtual/cell/WidgetCell.js +13 -16
  1424. package/source/class/qx/ui/virtual/cell/__init__.js +4 -4
  1425. package/source/class/qx/ui/virtual/core/Axis.js +75 -103
  1426. package/source/class/qx/ui/virtual/core/CellEvent.js +23 -31
  1427. package/source/class/qx/ui/virtual/core/IHtmlCellProvider.js +4 -6
  1428. package/source/class/qx/ui/virtual/core/ILayer.js +5 -15
  1429. package/source/class/qx/ui/virtual/core/IWidgetCellProvider.js +5 -7
  1430. package/source/class/qx/ui/virtual/core/Pane.js +199 -242
  1431. package/source/class/qx/ui/virtual/core/Scroller.js +25 -43
  1432. package/source/class/qx/ui/virtual/layer/Abstract.js +44 -83
  1433. package/source/class/qx/ui/virtual/layer/AbstractBackground.js +47 -68
  1434. package/source/class/qx/ui/virtual/layer/CellSpanManager.js +74 -96
  1435. package/source/class/qx/ui/virtual/layer/Column.js +26 -36
  1436. package/source/class/qx/ui/virtual/layer/GridLines.js +43 -70
  1437. package/source/class/qx/ui/virtual/layer/HtmlCell.js +34 -32
  1438. package/source/class/qx/ui/virtual/layer/HtmlCellSpan.js +54 -56
  1439. package/source/class/qx/ui/virtual/layer/Row.js +28 -36
  1440. package/source/class/qx/ui/virtual/layer/WidgetCell.js +87 -123
  1441. package/source/class/qx/ui/virtual/layer/WidgetCellSpan.js +123 -124
  1442. package/source/class/qx/ui/virtual/selection/Abstract.js +26 -54
  1443. package/source/class/qx/ui/virtual/selection/CellLines.js +11 -21
  1444. package/source/class/qx/ui/virtual/selection/CellRectangle.js +45 -73
  1445. package/source/class/qx/ui/virtual/selection/Column.js +16 -35
  1446. package/source/class/qx/ui/virtual/selection/ISelectionDelegate.js +5 -9
  1447. package/source/class/qx/ui/virtual/selection/MModel.js +84 -122
  1448. package/source/class/qx/ui/virtual/selection/Row.js +29 -61
  1449. package/source/class/qx/ui/website/Accordion.js +39 -42
  1450. package/source/class/qx/ui/website/Button.js +17 -25
  1451. package/source/class/qx/ui/website/Calendar.js +243 -172
  1452. package/source/class/qx/ui/website/Carousel.js +169 -155
  1453. package/source/class/qx/ui/website/DatePicker.js +99 -85
  1454. package/source/class/qx/ui/website/Rating.js +35 -53
  1455. package/source/class/qx/ui/website/Slider.js +174 -153
  1456. package/source/class/qx/ui/website/Table.js +482 -456
  1457. package/source/class/qx/ui/website/Tabs.js +225 -180
  1458. package/source/class/qx/ui/website/Widget.js +39 -52
  1459. package/source/class/qx/ui/window/Desktop.js +14 -12
  1460. package/source/class/qx/ui/window/IDesktop.js +8 -10
  1461. package/source/class/qx/ui/window/IWindowManager.js +7 -9
  1462. package/source/class/qx/ui/window/MDesktop.js +34 -62
  1463. package/source/class/qx/ui/window/Manager.js +31 -57
  1464. package/source/class/qx/ui/window/Window.js +250 -351
  1465. package/source/class/qx/util/AliasManager.js +23 -42
  1466. package/source/class/qx/util/Animation.js +248 -191
  1467. package/source/class/qx/util/Base64.js +144 -89
  1468. package/source/class/qx/util/ColorUtil.js +253 -287
  1469. package/source/class/qx/util/DeferredCall.js +21 -30
  1470. package/source/class/qx/util/DeferredCallManager.js +23 -44
  1471. package/source/class/qx/util/Delegate.js +4 -10
  1472. package/source/class/qx/util/DisposeUtil.js +76 -70
  1473. package/source/class/qx/util/DynamicScriptLoader.js +83 -66
  1474. package/source/class/qx/util/EditDistance.js +64 -58
  1475. package/source/class/qx/util/ExtendedColor.js +157 -163
  1476. package/source/class/qx/util/Function.js +8 -8
  1477. package/source/class/qx/util/LibraryManager.js +11 -18
  1478. package/source/class/qx/util/OOUtil.js +17 -36
  1479. package/source/class/qx/util/ObjectPool.js +19 -45
  1480. package/source/class/qx/util/Permutation.js +9 -16
  1481. package/source/class/qx/util/PropertyUtil.js +58 -70
  1482. package/source/class/qx/util/Request.js +27 -16
  1483. package/source/class/qx/util/ResourceManager.js +103 -104
  1484. package/source/class/qx/util/ResponseParser.js +14 -21
  1485. package/source/class/qx/util/RingBuffer.js +46 -48
  1486. package/source/class/qx/util/Serializer.js +103 -68
  1487. package/source/class/qx/util/StringBuilder.js +11 -22
  1488. package/source/class/qx/util/StringEscape.js +15 -29
  1489. package/source/class/qx/util/StringSplit.js +18 -21
  1490. package/source/class/qx/util/TimerManager.js +61 -70
  1491. package/source/class/qx/util/Uri.js +42 -30
  1492. package/source/class/qx/util/Uuid.js +50 -35
  1493. package/source/class/qx/util/Validate.js +88 -73
  1494. package/source/class/qx/util/ValueManager.js +17 -29
  1495. package/source/class/qx/util/Wheel.js +22 -16
  1496. package/source/class/qx/util/format/DateFormat.js +822 -759
  1497. package/source/class/qx/util/format/IFormat.js +4 -8
  1498. package/source/class/qx/util/format/NumberFormat.js +84 -91
  1499. package/source/class/qx/util/fsm/FiniteStateMachine.js +323 -382
  1500. package/source/class/qx/util/fsm/State.js +210 -249
  1501. package/source/class/qx/util/fsm/Transition.js +138 -160
  1502. package/source/class/qx/util/placement/AbstractAxis.js +12 -14
  1503. package/source/class/qx/util/placement/BestFitAxis.js +5 -8
  1504. package/source/class/qx/util/placement/DirectAxis.js +5 -7
  1505. package/source/class/qx/util/placement/KeepAlignAxis.js +8 -14
  1506. package/source/class/qx/util/placement/Placement.js +39 -56
  1507. package/source/class/qx/util/placement/__init__.js +4 -4
  1508. package/source/class/qx/xml/Document.js +21 -34
  1509. package/source/class/qx/xml/Element.js +90 -73
  1510. package/source/class/qx/xml/String.js +15 -21
  1511. package/source/class/qxWeb.js +102 -69
  1512. package/source/resource/qx/mobile/js/iscroll.js +1328 -982
  1513. package/source/resource/qx/mobile/js/iscroll.min.js +1081 -1
  1514. package/source/resource/qx/test/dynamicscriptloader/first.js +1 -1
  1515. package/source/resource/qx/test/dynamicscriptloader/second.js +1 -1
  1516. package/source/resource/qx/test/dynamicscriptloader/third.js +1 -1
  1517. package/source/resource/qx/test/script.js +1 -1
  1518. package/source/resource/qx/test/webworker.js +2 -2
  1519. package/source/resource/qx/tool/loadsass.js +16 -15
  1520. package/source/resource/qx/tool/schema/compile-1-0-0.json +13 -13
  1521. package/source/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
  1522. package/source/resource/qx/tool/website/build/assets/buttons.js +391 -1
  1523. package/source/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
  1524. package/source/resource/qx/tool/website/build/assets/jquery.js +5452 -3
  1525. package/source/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
  1526. package/source/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
  1527. package/source/resource/qx/tool/website/build/scripts/serve.js +87 -66
  1528. package/source/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
  1529. package/source/resource/qx/tool/website/src/assets/buttons.js +391 -1
  1530. package/source/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
  1531. package/source/resource/qx/tool/website/src/assets/jquery.js +5452 -3
  1532. package/source/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
  1533. package/source/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
  1534. package/source/resource/qx/tool/website/src/scripts/serve.js +87 -66
  1535. package/lib/resource/qx/static/blank.gif +0 -0
  1536. package/source/class/qx/io/remote/Exchange.js +0 -1063
  1537. package/source/class/qx/io/remote/Request.js +0 -1021
  1538. package/source/class/qx/io/remote/RequestQueue.js +0 -521
  1539. package/source/class/qx/io/remote/Response.js +0 -137
  1540. package/source/class/qx/io/remote/Rpc.js +0 -1075
  1541. package/source/class/qx/io/remote/RpcError.js +0 -198
  1542. package/source/class/qx/io/remote/__init__.js +0 -88
  1543. package/source/class/qx/io/remote/transport/Abstract.js +0 -513
  1544. package/source/class/qx/io/remote/transport/Iframe.js +0 -652
  1545. package/source/class/qx/io/remote/transport/Script.js +0 -475
  1546. package/source/class/qx/io/remote/transport/XmlHttp.js +0 -1019
  1547. package/source/class/qx/io/remote/transport/__init__.js +0 -3
  1548. package/source/class/qx/test/io/remote/AbstractRequest.js +0 -150
  1549. package/source/class/qx/test/io/remote/RequestIframe.js +0 -105
  1550. package/source/class/qx/test/io/remote/RequestXhr.js +0 -151
  1551. package/source/class/qx/test/io/remote/Rpc.js +0 -205
  1552. package/source/class/qx/test/io/remote/__init__.js +0 -4
  1553. package/source/class/qx/test/io/remote/transport/Iframe.js +0 -67
  1554. package/source/class/qx/test/io/remote/transport/XmlHttp.js +0 -133
  1555. package/source/class/qx/test/io/remote/transport/__init__.js +0 -4
@@ -167,15 +167,13 @@
167
167
  * @internal
168
168
  * @ignore(qx.Interface)
169
169
  */
170
- qx.Bootstrap.define("qx.core.Property",
171
- {
172
- statics :
173
- {
170
+ qx.Bootstrap.define("qx.core.Property", {
171
+ statics: {
174
172
  /**
175
173
  * This is a method which does nothing than gathering dependencies for the
176
174
  * module system. Calling this method is useless because it does nothing.
177
175
  */
178
- __gatherDependency : function() {
176
+ __gatherDependency() {
179
177
  if (qx.core.Environment.get("module.events")) {
180
178
  qx.event.type.Data;
181
179
  qx.event.dispatch.Direct;
@@ -185,159 +183,147 @@ qx.Bootstrap.define("qx.core.Property",
185
183
  }
186
184
  },
187
185
 
188
-
189
186
  /**
190
187
  * Built-in checks
191
188
  * The keys could be used in the check of the properties
192
189
  */
193
- __checks :
194
- {
195
- "Boolean" : 'qx.core.Assert.assertBoolean(value, msg) || true',
196
- "String" : 'qx.core.Assert.assertString(value, msg) || true',
197
-
198
- "Number" : 'qx.core.Assert.assertNumber(value, msg) || true',
199
- "Integer" : 'qx.core.Assert.assertInteger(value, msg) || true',
200
- "PositiveNumber" : 'qx.core.Assert.assertPositiveNumber(value, msg) || true',
201
- "PositiveInteger" : 'qx.core.Assert.assertPositiveInteger(value, msg) || true',
202
-
203
- "Error" : 'qx.core.Assert.assertInstance(value, Error, msg) || true',
204
- "RegExp" : 'qx.core.Assert.assertInstance(value, RegExp, msg) || true',
205
-
206
- "Object" : 'qx.core.Assert.assertObject(value, msg) || true',
207
- "Array" : 'qx.core.Assert.assertArray(value, msg) || true',
208
- "Map" : 'qx.core.Assert.assertMap(value, msg) || true',
209
-
210
- "Function" : 'qx.core.Assert.assertFunction(value, msg) || true',
211
- "Date" : 'qx.core.Assert.assertInstance(value, Date, msg) || true',
212
- "Node" : 'value !== null && value.nodeType !== undefined',
213
- "Element" : 'value !== null && value.nodeType === 1 && value.attributes',
214
- "Document" : 'value !== null && value.nodeType === 9 && value.documentElement',
215
- "Window" : 'value !== null && value.document',
216
- "Event" : 'value !== null && value.type !== undefined',
217
-
218
- "Class" : 'value !== null && value.$$type === "Class"',
219
- "Mixin" : 'value !== null && value.$$type === "Mixin"',
220
- "Interface" : 'value !== null && value.$$type === "Interface"',
221
- "Theme" : 'value !== null && value.$$type === "Theme"',
222
-
223
- "Color" : 'qx.lang.Type.isString(value) && qx.util.ColorUtil.isValidPropertyValue(value)',
224
- "Decorator" : 'value !== null && qx.theme.manager.Decoration.getInstance().isValidPropertyValue(value)',
225
- "Font" : 'value !== null && qx.theme.manager.Font.getInstance().isDynamic(value)'
190
+ __checks: {
191
+ Boolean: "qx.core.Assert.assertBoolean(value, msg) || true",
192
+ String: "qx.core.Assert.assertString(value, msg) || true",
193
+
194
+ Number: "qx.core.Assert.assertNumber(value, msg) || true",
195
+ Integer: "qx.core.Assert.assertInteger(value, msg) || true",
196
+ PositiveNumber: "qx.core.Assert.assertPositiveNumber(value, msg) || true",
197
+ PositiveInteger:
198
+ "qx.core.Assert.assertPositiveInteger(value, msg) || true",
199
+
200
+ Error: "qx.core.Assert.assertInstance(value, Error, msg) || true",
201
+ RegExp: "qx.core.Assert.assertInstance(value, RegExp, msg) || true",
202
+
203
+ Object: "qx.core.Assert.assertObject(value, msg) || true",
204
+ Array: "qx.core.Assert.assertArray(value, msg) || true",
205
+ Map: "qx.core.Assert.assertMap(value, msg) || true",
206
+
207
+ Function: "qx.core.Assert.assertFunction(value, msg) || true",
208
+ Date: "qx.core.Assert.assertInstance(value, Date, msg) || true",
209
+ Node: "value !== null && value.nodeType !== undefined",
210
+ Element: "value !== null && value.nodeType === 1 && value.attributes",
211
+ Document:
212
+ "value !== null && value.nodeType === 9 && value.documentElement",
213
+ Window: "value !== null && value.document",
214
+ Event: "value !== null && value.type !== undefined",
215
+
216
+ Class: 'value !== null && value.$$type === "Class"',
217
+ Mixin: 'value !== null && value.$$type === "Mixin"',
218
+ Interface: 'value !== null && value.$$type === "Interface"',
219
+ Theme: 'value !== null && value.$$type === "Theme"',
220
+
221
+ Color:
222
+ "qx.lang.Type.isString(value) && qx.util.ColorUtil.isValidPropertyValue(value)",
223
+ Decorator:
224
+ "value !== null && qx.theme.manager.Decoration.getInstance().isValidPropertyValue(value)",
225
+ Font: "value !== null && qx.theme.manager.Font.getInstance().isDynamic(value)"
226
226
  },
227
227
 
228
-
229
228
  /**
230
229
  * Contains types from {@link #__checks} list which need to be dereferenced
231
230
  */
232
- __dereference :
233
- {
234
- "Node" : true,
235
- "Element" : true,
236
- "Document" : true,
237
- "Window" : true,
238
- "Event" : true
231
+ __dereference: {
232
+ Node: true,
233
+ Element: true,
234
+ Document: true,
235
+ Window: true,
236
+ Event: true
239
237
  },
240
238
 
241
-
242
239
  /**
243
240
  * Inherit value, used to override defaults etc. to force inheritance
244
241
  * even if property value is not undefined (through multi-values)
245
242
  *
246
243
  * @internal
247
244
  */
248
- $$inherit : "inherit",
249
-
245
+ $$inherit: "inherit",
250
246
 
251
247
  /**
252
248
  * Caching field names for each property created
253
249
  *
254
250
  * @internal
255
251
  */
256
- $$store :
257
- {
258
- runtime : {},
259
- user : {},
260
- theme : {},
261
- inherit : {},
262
- init : {},
263
- useinit : {}
252
+ $$store: {
253
+ runtime: {},
254
+ user: {},
255
+ theme: {},
256
+ inherit: {},
257
+ init: {},
258
+ useinit: {}
264
259
  },
265
260
 
266
-
267
261
  /**
268
262
  * Caching function names for each property created
269
263
  *
270
264
  * @internal
271
265
  */
272
- $$method :
273
- {
274
- get : {},
275
- getAsync : {},
276
- set : {},
277
- setImpl : {},
278
- setAsync : {},
279
- reset : {},
280
- init : {},
281
- refresh : {},
282
- setRuntime : {},
283
- resetRuntime : {},
284
- setThemed : {},
285
- resetThemed : {}
266
+ $$method: {
267
+ get: {},
268
+ getAsync: {},
269
+ set: {},
270
+ setImpl: {},
271
+ setAsync: {},
272
+ reset: {},
273
+ init: {},
274
+ refresh: {},
275
+ setRuntime: {},
276
+ resetRuntime: {},
277
+ setThemed: {},
278
+ resetThemed: {}
286
279
  },
287
280
 
288
-
289
281
  /**
290
282
  * Supported keys for property definitions
291
283
  *
292
284
  * @internal
293
285
  */
294
- $$allowedKeys :
295
- {
296
- "@" : "object", // Anything
297
- name : "string", // String
298
- dereference : "boolean", // Boolean
299
- inheritable : "boolean", // Boolean
300
- nullable : "boolean", // Boolean
301
- themeable : "boolean", // Boolean
302
- refine : "boolean", // Boolean
303
- init : null, // var
304
- apply : "string", // String
305
- event : "string", // String
306
- check : null, // Array, String, Function
307
- transform : "string", // String
308
- async : "boolean", // Boolean
309
- deferredInit : "boolean", // Boolean
310
- validate : null, // String, Function
311
- isEqual : null // String, Function
286
+ $$allowedKeys: {
287
+ "@": "object", // Anything
288
+ name: "string", // String
289
+ dereference: "boolean", // Boolean
290
+ inheritable: "boolean", // Boolean
291
+ nullable: "boolean", // Boolean
292
+ themeable: "boolean", // Boolean
293
+ refine: "boolean", // Boolean
294
+ init: null, // var
295
+ apply: "string", // String
296
+ event: "string", // String
297
+ check: null, // Array, String, Function
298
+ transform: "string", // String
299
+ async: "boolean", // Boolean
300
+ deferredInit: "boolean", // Boolean
301
+ validate: null, // String, Function
302
+ isEqual: null // String, Function
312
303
  },
313
304
 
314
-
315
305
  /**
316
306
  * Supported keys for property group definitions
317
307
  *
318
308
  * @internal
319
309
  */
320
- $$allowedGroupKeys :
321
- {
322
- "@" : "object", // Anything
323
- name : "string", // String
324
- group : "object", // Array
325
- mode : "string", // String
326
- themeable : "boolean" // Boolean
310
+ $$allowedGroupKeys: {
311
+ "@": "object", // Anything
312
+ name: "string", // String
313
+ group: "object", // Array
314
+ mode: "string", // String
315
+ themeable: "boolean" // Boolean
327
316
  },
328
317
 
329
-
330
318
  /** Contains names of inheritable properties, filled by {@link qx.Class.define} */
331
- $$inheritable : {},
332
-
319
+ $$inheritable: {},
333
320
 
334
321
  /**
335
322
  * Generate optimized refresh method and attach it to the class' prototype
336
323
  *
337
324
  * @param clazz {Class} clazz to which the refresher should be added
338
325
  */
339
- __executeOptimizedRefresh : function(clazz)
340
- {
326
+ __executeOptimizedRefresh(clazz) {
341
327
  var inheritables = this.__getInheritablesOfClass(clazz);
342
328
 
343
329
  if (!inheritables.length) {
@@ -349,29 +335,23 @@ qx.Bootstrap.define("qx.core.Property",
349
335
  clazz.prototype.$$refreshInheritables = refresher;
350
336
  },
351
337
 
352
-
353
338
  /**
354
339
  * Get the names of all inheritable properties of the given class
355
340
  *
356
341
  * @param clazz {Class} class to get the inheritable properties of
357
342
  * @return {String[]} List of property names
358
343
  */
359
- __getInheritablesOfClass : function(clazz)
360
- {
344
+ __getInheritablesOfClass(clazz) {
361
345
  var inheritable = [];
362
346
 
363
- while(clazz)
364
- {
347
+ while (clazz) {
365
348
  var properties = clazz.$$properties;
366
349
 
367
- if (properties)
368
- {
369
- for (var name in this.$$inheritable)
370
- {
350
+ if (properties) {
351
+ for (var name in this.$$inheritable) {
371
352
  // Whether the property is available in this class
372
353
  // and whether it is inheritable in this class as well
373
- if (properties[name] && properties[name].inheritable)
374
- {
354
+ if (properties[name] && properties[name].inheritable) {
375
355
  inheritable.push(name);
376
356
  }
377
357
  }
@@ -383,15 +363,13 @@ qx.Bootstrap.define("qx.core.Property",
383
363
  return inheritable;
384
364
  },
385
365
 
386
-
387
366
  /**
388
367
  * Assemble the refresher code and return the generated function
389
368
  *
390
369
  * @param inheritables {String[]} list of inheritable properties
391
370
  * @return {Function} refresher function
392
371
  */
393
- __createRefresher : function(inheritables)
394
- {
372
+ __createRefresher(inheritables) {
395
373
  var inherit = this.$$store.inherit;
396
374
  var init = this.$$store.init;
397
375
  var refresh = this.$$method.refresh;
@@ -401,35 +379,36 @@ qx.Bootstrap.define("qx.core.Property",
401
379
  "if (!parent) return;"
402
380
  ];
403
381
 
404
- for (var i=0, l=inheritables.length; i<l; i++)
405
- {
382
+ for (var i = 0, l = inheritables.length; i < l; i++) {
406
383
  var name = inheritables[i];
407
384
  code.push(
408
- "var value = parent.", inherit[name],";",
409
- "if (value===undefined) value = parent.", init[name], ";",
410
- "this.", refresh[name], "(value);"
385
+ "var value = parent.",
386
+ inherit[name],
387
+ ";",
388
+ "if (value===undefined) value = parent.",
389
+ init[name],
390
+ ";",
391
+ "this.",
392
+ refresh[name],
393
+ "(value);"
411
394
  );
412
395
  }
413
396
 
414
397
  return new Function(code.join(""));
415
398
  },
416
399
 
417
-
418
400
  /**
419
401
  * Attach $$refreshInheritables method stub to the given class
420
402
  *
421
403
  * @param clazz {Class} clazz to which the refresher should be added
422
404
  */
423
- attachRefreshInheritables : function(clazz)
424
- {
425
- clazz.prototype.$$refreshInheritables = function()
426
- {
405
+ attachRefreshInheritables(clazz) {
406
+ clazz.prototype.$$refreshInheritables = function () {
427
407
  qx.core.Property.__executeOptimizedRefresh(clazz);
428
408
  return this.$$refreshInheritables();
429
409
  };
430
410
  },
431
411
 
432
-
433
412
  /**
434
413
  * Attach one property to class
435
414
  *
@@ -437,15 +416,13 @@ qx.Bootstrap.define("qx.core.Property",
437
416
  * @param name {String} Name of property
438
417
  * @param config {Map} Configuration map of property
439
418
  */
440
- attachMethods : function(clazz, name, config)
441
- {
419
+ attachMethods(clazz, name, config) {
442
420
  // Divide groups from "normal" properties
443
- config.group ?
444
- this.__attachGroupMethods(clazz, config, name) :
445
- this.__attachPropertyMethods(clazz, config, name);
421
+ config.group
422
+ ? this.__attachGroupMethods(clazz, config, name)
423
+ : this.__attachPropertyMethods(clazz, config, name);
446
424
  },
447
425
 
448
-
449
426
  /**
450
427
  * Attach group methods
451
428
  *
@@ -453,14 +430,12 @@ qx.Bootstrap.define("qx.core.Property",
453
430
  * @param config {Map} Property configuration
454
431
  * @param name {String} Name of the property
455
432
  */
456
- __attachGroupMethods : function(clazz, config, name)
457
- {
433
+ __attachGroupMethods(clazz, config, name) {
458
434
  var upname = qx.Bootstrap.firstUp(name);
459
435
  var members = clazz.prototype;
460
436
  var themeable = config.themeable === true;
461
437
 
462
- if (qx.core.Environment.get("qx.debug"))
463
- {
438
+ if (qx.core.Environment.get("qx.debug")) {
464
439
  if (qx.core.Environment.get("qx.debug.property.level") > 1) {
465
440
  qx.Bootstrap.debug("Generating property group: " + name);
466
441
  }
@@ -469,13 +444,13 @@ qx.Bootstrap.define("qx.core.Property",
469
444
  var setter = [];
470
445
  var resetter = [];
471
446
 
472
- if (themeable)
473
- {
447
+ if (themeable) {
474
448
  var styler = [];
475
449
  var unstyler = [];
476
450
  }
477
451
 
478
- var argHandler = "var a=arguments[0] instanceof Array?arguments[0]:arguments;";
452
+ var argHandler =
453
+ "var a=arguments[0] instanceof Array?arguments[0]:arguments;";
479
454
 
480
455
  setter.push(argHandler);
481
456
 
@@ -483,9 +458,9 @@ qx.Bootstrap.define("qx.core.Property",
483
458
  styler.push(argHandler);
484
459
  }
485
460
 
486
- if (config.mode == "shorthand")
487
- {
488
- var shorthand = "a=qx.lang.Array.fromShortHand(qx.lang.Array.fromArguments(a));";
461
+ if (config.mode == "shorthand") {
462
+ var shorthand =
463
+ "a=qx.lang.Array.fromShortHand(qx.lang.Array.fromArguments(a));";
489
464
  setter.push(shorthand);
490
465
 
491
466
  if (themeable) {
@@ -493,24 +468,32 @@ qx.Bootstrap.define("qx.core.Property",
493
468
  }
494
469
  }
495
470
 
496
- for (var i=0, a=config.group, l=a.length; i<l; i++)
497
- {
498
- if (qx.core.Environment.get("qx.debug"))
499
- {
500
- if (!this.$$method.set[a[i]]||!this.$$method.reset[a[i]]) {
501
- throw new Error("Cannot create property group '" + name + "' including non-existing property '" + a[i] + "'!");
471
+ for (var i = 0, a = config.group, l = a.length; i < l; i++) {
472
+ if (qx.core.Environment.get("qx.debug")) {
473
+ if (!this.$$method.set[a[i]] || !this.$$method.reset[a[i]]) {
474
+ throw new Error(
475
+ "Cannot create property group '" +
476
+ name +
477
+ "' including non-existing property '" +
478
+ a[i] +
479
+ "'!"
480
+ );
502
481
  }
503
482
  }
504
483
 
505
484
  setter.push("this.", this.$$method.set[a[i]], "(a[", i, "]);");
506
485
  resetter.push("this.", this.$$method.reset[a[i]], "();");
507
486
 
508
- if (themeable)
509
- {
510
- if (qx.core.Environment.get("qx.debug"))
511
- {
487
+ if (themeable) {
488
+ if (qx.core.Environment.get("qx.debug")) {
512
489
  if (!this.$$method.setThemed[a[i]]) {
513
- throw new Error("Cannot add the non themable property '" + a[i] + "' to the themable property group '"+ name +"'");
490
+ throw new Error(
491
+ "Cannot add the non themable property '" +
492
+ a[i] +
493
+ "' to the themable property group '" +
494
+ name +
495
+ "'"
496
+ );
514
497
  }
515
498
  }
516
499
 
@@ -527,19 +510,19 @@ qx.Bootstrap.define("qx.core.Property",
527
510
  this.$$method.reset[name] = "reset" + upname;
528
511
  members[this.$$method.reset[name]] = new Function(resetter.join(""));
529
512
 
530
- if (themeable)
531
- {
513
+ if (themeable) {
532
514
  // Attach styler
533
515
  this.$$method.setThemed[name] = "setThemed" + upname;
534
516
  members[this.$$method.setThemed[name]] = new Function(styler.join(""));
535
517
 
536
518
  // Attach unstyler
537
519
  this.$$method.resetThemed[name] = "resetThemed" + upname;
538
- members[this.$$method.resetThemed[name]] = new Function(unstyler.join(""));
520
+ members[this.$$method.resetThemed[name]] = new Function(
521
+ unstyler.join("")
522
+ );
539
523
  }
540
524
  },
541
525
 
542
-
543
526
  /**
544
527
  * Attach property methods
545
528
  *
@@ -547,73 +530,111 @@ qx.Bootstrap.define("qx.core.Property",
547
530
  * @param config {Map} Property configuration
548
531
  * @param name {String} Name of the property
549
532
  */
550
- __attachPropertyMethods : function(clazz, config, name)
551
- {
533
+ __attachPropertyMethods(clazz, config, name) {
552
534
  var upname = qx.Bootstrap.firstUp(name);
553
535
  var members = clazz.prototype;
554
536
 
555
- if (qx.core.Environment.get("qx.debug"))
556
- {
537
+ if (qx.core.Environment.get("qx.debug")) {
557
538
  if (qx.core.Environment.get("qx.debug.property.level") > 1) {
558
539
  qx.Bootstrap.debug("Generating property wrappers: " + name);
559
540
  }
560
541
  }
561
542
 
562
543
  // Fill dispose value
563
- if (config.dereference === undefined && typeof config.check === "string") {
544
+ if (
545
+ config.dereference === undefined &&
546
+ typeof config.check === "string"
547
+ ) {
564
548
  config.dereference = this.__shouldBeDereferenced(config.check);
565
549
  }
566
550
 
567
551
  if (!qx.core.Environment.get("qx.promise")) {
568
552
  if (config.async) {
569
- this.warn("Asynchronous property " + clazz.classname +"." + name + " is switched to synchronous because qx.promise==false");
553
+ this.warn(
554
+ "Asynchronous property " +
555
+ clazz.classname +
556
+ "." +
557
+ name +
558
+ " is switched to synchronous because qx.promise==false"
559
+ );
560
+
570
561
  config.async = false;
571
562
  }
572
563
  if (config.check == "qx.Promise") {
573
- this.error("Cannot implement check for property " + clazz.classname +"." + name + " because qx.promise==false");
564
+ this.error(
565
+ "Cannot implement check for property " +
566
+ clazz.classname +
567
+ "." +
568
+ name +
569
+ " because qx.promise==false"
570
+ );
571
+
574
572
  delete config.check;
575
573
  }
576
574
  }
577
575
 
578
576
  // Check for method name conflicts
579
577
  if (qx.core.Environment.get("qx.debug")) {
580
- // Exclude qx.data.model.* because that's from marshalling and will cause conflicts to be reported
581
- if (clazz.classname && !clazz.classname.match(/^qx.data.model/)) {
582
- var allNames = [ "get" + upname, "set" + upname, "reset" + upname, "setRuntime" + upname, "resetRuntime" + upname ];
583
- if (config.async) {
584
- allNames.push("get" + upname + "Async");
585
- allNames.push("set" + upname + "Async");
586
- }
587
- if (config.inheritable || config.apply || config.event || config.deferredInit) {
588
- allNames.push("init" + upname);
589
- }
590
- if (config.inheritable) {
591
- allNames.push("refresh" + upname);
592
- }
593
- if (config.themeable) {
594
- allNames.push("getThemed" + upname);
595
- allNames.push("setThemed" + upname);
596
- allNames.push("resetThemed" + upname);
597
- }
598
- if (config.check === "Boolean") {
599
- allNames.push("is" + upname);
600
- allNames.push("toggle" + upname);
601
- }
602
- allNames.forEach(function(name) {
578
+ // Exclude qx.data.model.* because that's from marshalling and will cause conflicts to be reported
579
+ if (clazz.classname && !clazz.classname.match(/^qx.data.model/)) {
580
+ var allNames = [
581
+ "get" + upname,
582
+ "set" + upname,
583
+ "reset" + upname,
584
+ "setRuntime" + upname,
585
+ "resetRuntime" + upname
586
+ ];
587
+
588
+ if (config.async) {
589
+ allNames.push("get" + upname + "Async");
590
+ allNames.push("set" + upname + "Async");
591
+ }
592
+ if (
593
+ config.inheritable ||
594
+ config.apply ||
595
+ config.event ||
596
+ config.deferredInit
597
+ ) {
598
+ allNames.push("init" + upname);
599
+ }
600
+ if (config.inheritable) {
601
+ allNames.push("refresh" + upname);
602
+ }
603
+ if (config.themeable) {
604
+ allNames.push("getThemed" + upname);
605
+ allNames.push("setThemed" + upname);
606
+ allNames.push("resetThemed" + upname);
607
+ }
608
+ if (config.check === "Boolean") {
609
+ allNames.push("is" + upname);
610
+ allNames.push("toggle" + upname);
611
+ }
612
+ allNames.forEach(function (name) {
603
613
  if (clazz.superclass.prototype[name] !== undefined) {
604
614
  var conflictingClass = null;
605
- for (var tmp = clazz.superclass; tmp && tmp != qx.core.Object; tmp = tmp.superclass) {
615
+ for (
616
+ var tmp = clazz.superclass;
617
+ tmp && tmp != qx.core.Object;
618
+ tmp = tmp.superclass
619
+ ) {
606
620
  if (tmp.superclass.prototype[name] === undefined) {
607
621
  conflictingClass = tmp;
608
622
  break;
609
623
  }
610
624
  }
611
625
  if (conflictingClass) {
612
- qx.log.Logger.warn("Conflicting property method " + clazz.classname + "." + name + " with " + conflictingClass.classname);
626
+ qx.log.Logger.warn(
627
+ "Conflicting property method " +
628
+ clazz.classname +
629
+ "." +
630
+ name +
631
+ " with " +
632
+ conflictingClass.classname
633
+ );
613
634
  }
614
635
  }
615
636
  });
616
- }
637
+ }
617
638
  }
618
639
 
619
640
  var method = this.$$method;
@@ -626,50 +647,122 @@ qx.Bootstrap.define("qx.core.Property",
626
647
  store.inherit[name] = "$$inherit_" + name;
627
648
  store.useinit[name] = "$$useinit_" + name;
628
649
 
629
- var getName = method.get[name] = "get" + upname;
650
+ var getName = (method.get[name] = "get" + upname);
630
651
  members[method.get[name]] = new Function(
631
- "this." + getName + ".$$install && this." + getName + ".$$install();" +
632
- "return this." + getName + ".apply(this, arguments);");
633
- if (config.async) {
652
+ "this." +
653
+ getName +
654
+ ".$$install && this." +
655
+ getName +
656
+ ".$$install();" +
657
+ "return this." +
658
+ getName +
659
+ ".apply(this, arguments);"
660
+ );
634
661
 
635
- if (qx.core.Environment.get("qx.debug")) {
636
- if (members.hasOwnProperty(getName + "Async")) {
637
- this.error("Asynchronous property " + clazz.classname +"." + name + " is replacing " + getName + "Async() method in same class");
638
- } else if (members[getName + "Async"] !== undefined) {
639
- this.warn("Asynchronous property " + clazz.classname +"." + name + " is overriding " + getName + "Async() method");
640
- }
641
- }
642
- method.getAsync[name] = getName + "Async";
643
- members[method.getAsync[name]] = new Function(
644
- "this." + getName + ".$$install && this." + getName + ".$$install.call(this);" +
645
- "return this." + getName + "Async.apply(this, arguments);");
662
+ if (config.async) {
663
+ if (qx.core.Environment.get("qx.debug")) {
664
+ if (members.hasOwnProperty(getName + "Async")) {
665
+ this.error(
666
+ "Asynchronous property " +
667
+ clazz.classname +
668
+ "." +
669
+ name +
670
+ " is replacing " +
671
+ getName +
672
+ "Async() method in same class"
673
+ );
674
+ } else if (members[getName + "Async"] !== undefined) {
675
+ this.warn(
676
+ "Asynchronous property " +
677
+ clazz.classname +
678
+ "." +
679
+ name +
680
+ " is overriding " +
681
+ getName +
682
+ "Async() method"
683
+ );
684
+ }
685
+ }
686
+ method.getAsync[name] = getName + "Async";
687
+ members[method.getAsync[name]] = new Function(
688
+ "this." +
689
+ getName +
690
+ ".$$install && this." +
691
+ getName +
692
+ ".$$install.call(this);" +
693
+ "return this." +
694
+ getName +
695
+ "Async.apply(this, arguments);"
696
+ );
646
697
  }
647
- members[method.get[name]].$$install = function() {
648
- qx.core.Property.__installOptimizedGetter(clazz, name, "get", arguments);
698
+ members[method.get[name]].$$install = function () {
699
+ qx.core.Property.__installOptimizedGetter(
700
+ clazz,
701
+ name,
702
+ "get",
703
+ arguments
704
+ );
705
+
649
706
  if (config.async) {
650
- qx.core.Property.__installOptimizedGetter(clazz, name, "getAsync", arguments);
707
+ qx.core.Property.__installOptimizedGetter(
708
+ clazz,
709
+ name,
710
+ "getAsync",
711
+ arguments
712
+ );
651
713
  }
652
714
  };
653
715
 
654
- var setName = method.set[name] = "set" + upname;
716
+ var setName = (method.set[name] = "set" + upname);
655
717
  members[setName] = new Function(
656
- "this." + setName + ".$$install && this." + setName + ".$$install.call(this);" +
657
- "return this." + setName + ".apply(this, arguments);");
718
+ "this." +
719
+ setName +
720
+ ".$$install && this." +
721
+ setName +
722
+ ".$$install.call(this);" +
723
+ "return this." +
724
+ setName +
725
+ ".apply(this, arguments);"
726
+ );
727
+
658
728
  method.setAsync[name] = "set" + upname + "Async";
659
729
  if (config.async) {
660
- if (qx.core.Environment.get("qx.debug")) {
661
- if (members.hasOwnProperty(setName + "Async")) {
662
- this.error("Asynchronous property " + clazz.classname +"." + name + " is replacing " + setName + "Async() method in same class");
663
- } else if (members[setName + "Async"] !== undefined) {
664
- this.warn("Asynchronous property " + clazz.classname +"." + name + " is overriding " + setName + "Async() method");
665
- }
666
- }
730
+ if (qx.core.Environment.get("qx.debug")) {
731
+ if (members.hasOwnProperty(setName + "Async")) {
732
+ this.error(
733
+ "Asynchronous property " +
734
+ clazz.classname +
735
+ "." +
736
+ name +
737
+ " is replacing " +
738
+ setName +
739
+ "Async() method in same class"
740
+ );
741
+ } else if (members[setName + "Async"] !== undefined) {
742
+ this.warn(
743
+ "Asynchronous property " +
744
+ clazz.classname +
745
+ "." +
746
+ name +
747
+ " is overriding " +
748
+ setName +
749
+ "Async() method"
750
+ );
751
+ }
752
+ }
667
753
  members[setName + "Async"] = new Function(
668
- "this." + setName + ".$$install && this." + setName + ".$$install.call(this);" +
669
- "return this." + setName + "Async.apply(this, arguments);");
754
+ "this." +
755
+ setName +
756
+ ".$$install && this." +
757
+ setName +
758
+ ".$$install.call(this);" +
759
+ "return this." +
760
+ setName +
761
+ "Async.apply(this, arguments);"
762
+ );
670
763
  }
671
764
  method.setImpl[name] = "$$set" + upname + "Impl";
672
- members[setName].$$install = function() {
765
+ members[setName].$$install = function () {
673
766
  qx.core.Property.__installOptimizedSetter(clazz, name, "set");
674
767
  qx.core.Property.__installOptimizedSetter(clazz, name, "setImpl");
675
768
  if (config.async) {
@@ -678,29 +771,49 @@ qx.Bootstrap.define("qx.core.Property",
678
771
  };
679
772
 
680
773
  method.reset[name] = "reset" + upname;
681
- members[method.reset[name]] = function() {
682
- return qx.core.Property.executeOptimizedSetter(this, clazz, name, "reset");
774
+ members[method.reset[name]] = function () {
775
+ return qx.core.Property.executeOptimizedSetter(
776
+ this,
777
+ clazz,
778
+ name,
779
+ "reset"
780
+ );
683
781
  };
684
- members[method.reset[name]].$$install = function() {
782
+ members[method.reset[name]].$$install = function () {
685
783
  qx.core.Property.__installOptimizedSetter(clazz, name, "reset");
686
784
  };
687
785
 
688
- if (config.inheritable || config.apply || config.event || config.deferredInit)
689
- {
786
+ if (
787
+ config.inheritable ||
788
+ config.apply ||
789
+ config.event ||
790
+ config.deferredInit
791
+ ) {
690
792
  method.init[name] = "init" + upname;
691
- members[method.init[name]] = function(value) {
692
- return qx.core.Property.executeOptimizedSetter(this, clazz, name, "init", arguments);
793
+ members[method.init[name]] = function (value) {
794
+ return qx.core.Property.executeOptimizedSetter(
795
+ this,
796
+ clazz,
797
+ name,
798
+ "init",
799
+ arguments
800
+ );
693
801
  };
694
802
  if (qx.core.Environment.get("qx.debug")) {
695
803
  members[method.init[name]].$$propertyMethod = true;
696
804
  }
697
805
  }
698
806
 
699
- if (config.inheritable)
700
- {
807
+ if (config.inheritable) {
701
808
  method.refresh[name] = "refresh" + upname;
702
- members[method.refresh[name]] = function(value) {
703
- return qx.core.Property.executeOptimizedSetter(this, clazz, name, "refresh", arguments);
809
+ members[method.refresh[name]] = function (value) {
810
+ return qx.core.Property.executeOptimizedSetter(
811
+ this,
812
+ clazz,
813
+ name,
814
+ "refresh",
815
+ arguments
816
+ );
704
817
  };
705
818
  if (qx.core.Environment.get("qx.debug")) {
706
819
  members[method.refresh[name]].$$propertyMethod = true;
@@ -708,25 +821,46 @@ qx.Bootstrap.define("qx.core.Property",
708
821
  }
709
822
 
710
823
  method.setRuntime[name] = "setRuntime" + upname;
711
- members[method.setRuntime[name]] = function(value) {
712
- return qx.core.Property.executeOptimizedSetter(this, clazz, name, "setRuntime", arguments);
824
+ members[method.setRuntime[name]] = function (value) {
825
+ return qx.core.Property.executeOptimizedSetter(
826
+ this,
827
+ clazz,
828
+ name,
829
+ "setRuntime",
830
+ arguments
831
+ );
713
832
  };
714
833
 
715
834
  method.resetRuntime[name] = "resetRuntime" + upname;
716
- members[method.resetRuntime[name]] = function() {
717
- return qx.core.Property.executeOptimizedSetter(this, clazz, name, "resetRuntime");
835
+ members[method.resetRuntime[name]] = function () {
836
+ return qx.core.Property.executeOptimizedSetter(
837
+ this,
838
+ clazz,
839
+ name,
840
+ "resetRuntime"
841
+ );
718
842
  };
719
843
 
720
- if (config.themeable)
721
- {
844
+ if (config.themeable) {
722
845
  method.setThemed[name] = "setThemed" + upname;
723
- members[method.setThemed[name]] = function(value) {
724
- return qx.core.Property.executeOptimizedSetter(this, clazz, name, "setThemed", arguments);
846
+ members[method.setThemed[name]] = function (value) {
847
+ return qx.core.Property.executeOptimizedSetter(
848
+ this,
849
+ clazz,
850
+ name,
851
+ "setThemed",
852
+ arguments
853
+ );
725
854
  };
726
855
 
727
856
  method.resetThemed[name] = "resetThemed" + upname;
728
- members[method.resetThemed[name]] = function() {
729
- return qx.core.Property.executeOptimizedSetter(this, clazz, name, "resetThemed");
857
+ members[method.resetThemed[name]] = function () {
858
+ return qx.core.Property.executeOptimizedSetter(
859
+ this,
860
+ clazz,
861
+ name,
862
+ "resetThemed"
863
+ );
730
864
  };
731
865
  if (qx.core.Environment.get("qx.debug")) {
732
866
  members[method.setThemed[name]].$$propertyMethod = true;
@@ -734,10 +868,18 @@ qx.Bootstrap.define("qx.core.Property",
734
868
  }
735
869
  }
736
870
 
737
- if (config.check === "Boolean")
738
- {
739
- members["toggle" + upname] = new Function("return this." + method.set[name] + "(!this." + method.get[name] + "())");
740
- members["is" + upname] = new Function("return this." + method.get[name] + "()");
871
+ if (config.check === "Boolean") {
872
+ members["toggle" + upname] = new Function(
873
+ "return this." +
874
+ method.set[name] +
875
+ "(!this." +
876
+ method.get[name] +
877
+ "())"
878
+ );
879
+
880
+ members["is" + upname] = new Function(
881
+ "return this." + method.get[name] + "()"
882
+ );
741
883
 
742
884
  if (qx.core.Environment.get("qx.debug")) {
743
885
  members["toggle" + upname].$$propertyMethod = true;
@@ -755,7 +897,6 @@ qx.Bootstrap.define("qx.core.Property",
755
897
  }
756
898
  },
757
899
 
758
-
759
900
  /**
760
901
  * Returns if the reference for the given property check should be removed
761
902
  * on dispose.
@@ -763,23 +904,20 @@ qx.Bootstrap.define("qx.core.Property",
763
904
  * @param check {var} The check of the property definition.
764
905
  * @return {Boolean} If the dereference key should be set.
765
906
  */
766
- __shouldBeDereferenced : function(check) {
907
+ __shouldBeDereferenced(check) {
767
908
  return !!this.__dereference[check];
768
909
  },
769
910
 
770
-
771
911
  /** @type {Map} Internal data field for error messages used by {@link #error} */
772
- __errors :
773
- {
774
- 0 : 'Could not change or apply init value after constructing phase!',
775
- 1 : 'Requires exactly one argument!',
776
- 2 : 'Undefined value is not allowed!',
777
- 3 : 'Does not allow any arguments!',
778
- 4 : 'Null value is not allowed!',
779
- 5 : 'Is invalid!'
912
+ __errors: {
913
+ 0: "Could not change or apply init value after constructing phase!",
914
+ 1: "Requires exactly one argument!",
915
+ 2: "Undefined value is not allowed!",
916
+ 3: "Does not allow any arguments!",
917
+ 4: "Null value is not allowed!",
918
+ 5: "Is invalid!"
780
919
  },
781
920
 
782
-
783
921
  /**
784
922
  * Error method used by the property system to report errors.
785
923
  *
@@ -789,16 +927,22 @@ qx.Bootstrap.define("qx.core.Property",
789
927
  * @param variant {String} Name of the method variant e.g. "set", "reset", ...
790
928
  * @param value {var} Incoming value
791
929
  */
792
- error : function(obj, id, property, variant, value)
793
- {
930
+ error(obj, id, property, variant, value) {
794
931
  var classname = obj.constructor.classname;
795
- var msg = "Error in property " + property + " of class " + classname +
796
- " in method " + this.$$method[variant][property] + " with incoming value '" + value + "': ";
932
+ var msg =
933
+ "Error in property " +
934
+ property +
935
+ " of class " +
936
+ classname +
937
+ " in method " +
938
+ this.$$method[variant][property] +
939
+ " with incoming value '" +
940
+ value +
941
+ "': ";
797
942
 
798
943
  throw new Error(msg + (this.__errors[id] || "Unknown reason: " + id));
799
944
  },
800
945
 
801
-
802
946
  /**
803
947
  * Compiles a string builder object to a function, executes the function and
804
948
  * returns the return value.
@@ -811,9 +955,14 @@ qx.Bootstrap.define("qx.core.Property",
811
955
  * @param args {arguments} Incoming arguments of wrapper method
812
956
  * @return {var} Return value of the generated function
813
957
  */
814
- __unwrapFunctionFromCode : function(instance, members, name, variant, code, args)
815
- {
816
- var fn = this.__installFunctionFromCode(instance.constructor, name, variant, code, args);
958
+ __unwrapFunctionFromCode(instance, members, name, variant, code, args) {
959
+ var fn = this.__installFunctionFromCode(
960
+ instance.constructor,
961
+ name,
962
+ variant,
963
+ code,
964
+ args
965
+ );
817
966
 
818
967
  // Executing new function
819
968
  if (args === undefined) {
@@ -825,7 +974,6 @@ qx.Bootstrap.define("qx.core.Property",
825
974
  }
826
975
  },
827
976
 
828
-
829
977
  /**
830
978
  * Takes a string builder object, converts it into a function, and installs it as
831
979
  * a property accessor
@@ -837,39 +985,50 @@ qx.Bootstrap.define("qx.core.Property",
837
985
  * @param args {arguments} Incoming arguments of wrapper method
838
986
  * @return {var} Return value of the generated function
839
987
  */
840
- __installFunctionFromCode : function(clazz, name, variant, code, args)
841
- {
988
+ __installFunctionFromCode(clazz, name, variant, code, args) {
842
989
  var store = this.$$method[variant][name];
843
990
 
844
991
  // Output generate code
845
- if (qx.core.Environment.get("qx.debug"))
846
- {
992
+ if (qx.core.Environment.get("qx.debug")) {
847
993
  if (qx.core.Environment.get("qx.debug.property.level") > 1) {
848
- qx.Bootstrap.debug("Code[" + this.$$method[variant][name] + "]: " + code.join(""));
994
+ qx.Bootstrap.debug(
995
+ "Code[" + this.$$method[variant][name] + "]: " + code.join("")
996
+ );
849
997
  }
850
998
 
851
999
  // Overriding temporary wrapper
852
- try{
853
- clazz.prototype[store] = new Function("value", code.join(""));
854
- } catch(ex) {
855
- throw new Error("Malformed generated code to unwrap method: " + this.$$method[variant][name] + "\n" + code.join(""));
1000
+ try {
1001
+ clazz.prototype[store] = new Function("value", code.join(""));
1002
+ } catch (ex) {
1003
+ throw new Error(
1004
+ "Malformed generated code to unwrap method: " +
1005
+ this.$$method[variant][name] +
1006
+ "\n" +
1007
+ code.join("")
1008
+ );
856
1009
  }
857
- }
858
- else
859
- {
860
- clazz.prototype[store] = new Function("value", code.join(""));
1010
+ } else {
1011
+ clazz.prototype[store] = new Function("value", code.join(""));
861
1012
  }
862
1013
 
863
1014
  // Enable profiling code
864
1015
  if (qx.core.Environment.get("qx.aspects")) {
865
- clazz.prototype[store] = qx.core.Aspect.wrap(clazz.classname + "." + store, clazz.prototype[store], "property");
1016
+ clazz.prototype[store] = qx.core.Aspect.wrap(
1017
+ clazz.classname + "." + store,
1018
+ clazz.prototype[store],
1019
+ "property"
1020
+ );
866
1021
  }
867
1022
 
868
- qx.Bootstrap.setDisplayName(clazz.prototype[store], clazz.classname + ".prototype", store);
1023
+ qx.Bootstrap.setDisplayName(
1024
+ clazz.prototype[store],
1025
+ clazz.classname + ".prototype",
1026
+ store
1027
+ );
1028
+
869
1029
  return clazz.prototype[store];
870
1030
  },
871
1031
 
872
-
873
1032
  /**
874
1033
  * Generates the optimized getter, installs it into the class prototype, and executes it
875
1034
  * Supported variants: get
@@ -880,14 +1039,18 @@ qx.Bootstrap.define("qx.core.Property",
880
1039
  * @param variant {String} Method variant.
881
1040
  * @return {var} Execute return value of apply generated function, generally the incoming value
882
1041
  */
883
- executeOptimizedGetter : function(instance, clazz, name, variant)
884
- {
1042
+ executeOptimizedGetter(instance, clazz, name, variant) {
885
1043
  var code = this.__compileGetter(clazz, name, variant);
886
1044
  var members = clazz.prototype;
887
- return this.__unwrapFunctionFromCode(instance, members, name, variant, code);
1045
+ return this.__unwrapFunctionFromCode(
1046
+ instance,
1047
+ members,
1048
+ name,
1049
+ variant,
1050
+ code
1051
+ );
888
1052
  },
889
1053
 
890
-
891
1054
  /**
892
1055
  * Installs a getter into the class prototype, without executing it
893
1056
  * Supported variants: get
@@ -896,13 +1059,11 @@ qx.Bootstrap.define("qx.core.Property",
896
1059
  * @param name {String} name of the property
897
1060
  * @param variant {String} Method variant.
898
1061
  */
899
- __installOptimizedGetter : function(clazz, name, variant)
900
- {
1062
+ __installOptimizedGetter(clazz, name, variant) {
901
1063
  var code = this.__compileGetter(clazz, name, variant);
902
1064
  this.__installFunctionFromCode(clazz, name, variant, code);
903
1065
  },
904
1066
 
905
-
906
1067
  /**
907
1068
  * Compiles a getter into a string builder array
908
1069
  * Supported variants: get
@@ -912,71 +1073,70 @@ qx.Bootstrap.define("qx.core.Property",
912
1073
  * @param variant {String} Method variant.
913
1074
  * @return {String[]} the string builder array
914
1075
  */
915
- __compileGetter: function(clazz, name, variant)
916
- {
1076
+ __compileGetter(clazz, name, variant) {
917
1077
  var config = clazz.$$properties[name];
918
1078
  var code = [];
919
1079
  var store = this.$$store;
920
1080
 
921
1081
  if (variant == "getAsync") {
922
- code.push("return qx.Promise.resolve(this." + this.$$method.get[name] + "());");
923
- return code;
1082
+ code.push(
1083
+ "return qx.Promise.resolve(this." + this.$$method.get[name] + "());"
1084
+ );
1085
+
1086
+ return code;
924
1087
  }
925
1088
 
926
- code.push('if(this.', store.runtime[name], '!==undefined)');
927
- code.push('return this.', store.runtime[name], ';');
1089
+ code.push("if(this.", store.runtime[name], "!==undefined)");
1090
+ code.push("return this.", store.runtime[name], ";");
928
1091
 
929
- if (config.inheritable)
930
- {
931
- code.push('else if(this.', store.inherit[name], '!==undefined)');
932
- code.push('return this.', store.inherit[name], ';');
933
- code.push('else ');
1092
+ if (config.inheritable) {
1093
+ code.push("else if(this.", store.inherit[name], "!==undefined)");
1094
+ code.push("return this.", store.inherit[name], ";");
1095
+ code.push("else ");
934
1096
  }
935
1097
 
936
- code.push('if(this.', store.user[name], '!==undefined)');
937
- code.push('return this.', store.user[name], ';');
1098
+ code.push("if(this.", store.user[name], "!==undefined)");
1099
+ code.push("return this.", store.user[name], ";");
938
1100
 
939
- if (config.themeable)
940
- {
941
- code.push('else if(this.', store.theme[name], '!==undefined)');
942
- code.push('return this.', store.theme[name], ';');
1101
+ if (config.themeable) {
1102
+ code.push("else if(this.", store.theme[name], "!==undefined)");
1103
+ code.push("return this.", store.theme[name], ";");
943
1104
  }
944
1105
 
945
- if (config.deferredInit && config.init === undefined)
946
- {
947
- code.push('else if(this.', store.init[name], '!==undefined)');
948
- code.push('return this.', store.init[name], ';');
1106
+ if (config.deferredInit && config.init === undefined) {
1107
+ code.push("else if(this.", store.init[name], "!==undefined)");
1108
+ code.push("return this.", store.init[name], ";");
949
1109
  }
950
1110
 
951
- code.push('else ');
1111
+ code.push("else ");
952
1112
 
953
- if (config.init !== undefined)
954
- {
955
- if (config.inheritable)
956
- {
957
- code.push('var init=this.', store.init[name], ';');
1113
+ if (config.init !== undefined) {
1114
+ if (config.inheritable) {
1115
+ code.push("var init=this.", store.init[name], ";");
958
1116
 
959
1117
  if (config.nullable) {
960
- code.push('if(init==qx.core.Property.$$inherit)init=null;');
1118
+ code.push("if(init==qx.core.Property.$$inherit)init=null;");
961
1119
  }
962
1120
 
963
- code.push('return init;');
964
- }
965
- else
966
- {
967
- code.push('return this.', store.init[name], ';');
1121
+ code.push("return init;");
1122
+ } else {
1123
+ code.push("return this.", store.init[name], ";");
968
1124
  }
969
- }
970
- else if (config.inheritable || config.nullable) {
971
- code.push('return null;');
1125
+ } else if (config.inheritable || config.nullable) {
1126
+ code.push("return null;");
972
1127
  } else {
973
- code.push('throw new Error("Property ', name, ' of an instance of ', clazz.classname, ' is not (yet) ready!");');
1128
+ code.push(
1129
+ 'throw new Error("Property ',
1130
+ name,
1131
+ " of an instance of ",
1132
+ clazz.classname,
1133
+ ' is not (yet) ready!");'
1134
+ );
974
1135
  }
975
1136
 
976
1137
  return code;
977
1138
  },
978
1139
 
979
-
980
1140
  /**
981
1141
  * Generates the optimized setter
982
1142
  * Supported variants: set, reset, init, refresh, style, unstyle
@@ -988,14 +1148,19 @@ qx.Bootstrap.define("qx.core.Property",
988
1148
  * @param args {arguments} Incoming arguments of wrapper method
989
1149
  * @return {var} Execute return value of apply generated function, generally the incoming value
990
1150
  */
991
- executeOptimizedSetter : function(instance, clazz, name, variant, args)
992
- {
993
- var code = this.__compileSetter(clazz, name, variant);
1151
+ executeOptimizedSetter(instance, clazz, name, variant, args) {
1152
+ var code = this.__compileSetter(clazz, name, variant);
994
1153
  var members = clazz.prototype;
995
- return this.__unwrapFunctionFromCode(instance, members, name, variant, code, args);
1154
+ return this.__unwrapFunctionFromCode(
1155
+ instance,
1156
+ members,
1157
+ name,
1158
+ variant,
1159
+ code,
1160
+ args
1161
+ );
996
1162
  },
997
1163
 
998
-
999
1164
  /**
1000
1165
  * Installs a setter into the class prototype, without executing it
1001
1166
  * Supported variants: set
@@ -1005,13 +1170,11 @@ qx.Bootstrap.define("qx.core.Property",
1005
1170
  * @param variant {String} Method variant.
1006
1171
  * @return {var} Return value of the generated function
1007
1172
  */
1008
- __installOptimizedSetter : function(clazz, name, variant)
1009
- {
1010
- var code = this.__compileSetter(clazz, name, variant);
1173
+ __installOptimizedSetter(clazz, name, variant) {
1174
+ var code = this.__compileSetter(clazz, name, variant);
1011
1175
  return this.__installFunctionFromCode(clazz, name, variant, code);
1012
1176
  },
1013
1177
 
1014
-
1015
1178
  /**
1016
1179
  * Compiles a setter into a string builder array
1017
1180
  * Supported variants: set, setThemed, setRuntime, init
@@ -1022,22 +1185,27 @@ qx.Bootstrap.define("qx.core.Property",
1022
1185
  * @param variant {String} Method variant.
1023
1186
  * @return {String[]} the string builder array
1024
1187
  */
1025
- __compileSetter: function(clazz, name, variant) {
1188
+ __compileSetter(clazz, name, variant) {
1026
1189
  var config = clazz.$$properties[name];
1027
1190
  var members = clazz.prototype;
1028
1191
  var code = [];
1029
1192
 
1030
1193
  var upname = qx.lang.String.firstUp(name);
1031
1194
  if (variant == "setAsync") {
1032
- code.push('return qx.Promise.resolve(this.$$set' + upname + "Impl.apply(this, arguments));");
1033
- return code;
1195
+ code.push(
1196
+ "return qx.Promise.resolve(this.$$set" +
1197
+ upname +
1198
+ "Impl.apply(this, arguments));"
1199
+ );
1034
1200
 
1201
+ return code;
1035
1202
  } else if (variant == "set") {
1036
1203
  code.push(
1037
- 'this.$$set' + upname + "Impl.apply(this, arguments);",
1038
- 'return value;');
1039
- return code;
1204
+ "this.$$set" + upname + "Impl.apply(this, arguments);",
1205
+ "return value;"
1206
+ );
1040
1207
 
1208
+ return code;
1041
1209
  }
1042
1210
 
1043
1211
  var incomingValue =
@@ -1047,12 +1215,17 @@ qx.Bootstrap.define("qx.core.Property",
1047
1215
  (variant === "init" && config.init === undefined);
1048
1216
  var hasCallback = config.apply || config.event || config.inheritable;
1049
1217
 
1050
-
1051
1218
  var store = this.__getStore(variant, name);
1052
1219
 
1053
1220
  this.__emitIsEqualFunction(code, clazz, config, name);
1054
1221
 
1055
- this.__emitSetterPreConditions(code, config, name, variant, incomingValue);
1222
+ this.__emitSetterPreConditions(
1223
+ code,
1224
+ config,
1225
+ name,
1226
+ variant,
1227
+ incomingValue
1228
+ );
1056
1229
 
1057
1230
  if (incomingValue || hasCallback) {
1058
1231
  this.__emitOldValue(code, config, name);
@@ -1067,20 +1240,31 @@ qx.Bootstrap.define("qx.core.Property",
1067
1240
  }
1068
1241
 
1069
1242
  if (config.inheritable) {
1070
- code.push('var inherit=prop.$$inherit;');
1243
+ code.push("var inherit=prop.$$inherit;");
1071
1244
  }
1072
1245
 
1073
- if (qx.core.Environment.get("qx.debug"))
1074
- {
1246
+ if (qx.core.Environment.get("qx.debug")) {
1075
1247
  if (incomingValue) {
1076
- this.__emitIncomingValueValidation(code, config, clazz, name, variant);
1248
+ this.__emitIncomingValueValidation(
1249
+ code,
1250
+ config,
1251
+ clazz,
1252
+ name,
1253
+ variant
1254
+ );
1077
1255
  }
1078
1256
  }
1079
1257
 
1080
1258
  if (!hasCallback) {
1081
1259
  this.__emitStoreValue(code, name, variant, incomingValue);
1082
1260
  } else {
1083
- this.__emitStoreComputedValue(code, config, name, variant, incomingValue);
1261
+ this.__emitStoreComputedValue(
1262
+ code,
1263
+ config,
1264
+ name,
1265
+ variant,
1266
+ incomingValue
1267
+ );
1084
1268
  }
1085
1269
 
1086
1270
  if (config.inheritable) {
@@ -1089,39 +1273,46 @@ qx.Bootstrap.define("qx.core.Property",
1089
1273
  this.__emitNormalizeUndefinedValues(code, config, name, variant);
1090
1274
  }
1091
1275
 
1092
- if (hasCallback)
1093
- {
1276
+ if (hasCallback) {
1094
1277
  // Emit callback and event firing; Refreshing children (5th parameter) requires the parent/children interface
1095
- this.__emitCallCallback(code, config, name, variant, !!(config.inheritable && members._getChildren));
1278
+ this.__emitCallCallback(
1279
+ code,
1280
+ config,
1281
+ name,
1282
+ variant,
1283
+ !!(config.inheritable && members._getChildren)
1284
+ );
1096
1285
  }
1097
1286
 
1098
1287
  // Return value
1099
1288
  if (incomingValue) {
1100
- code.unshift('function set(value){');
1101
- code.push('}');
1102
- if (qx.core.Environment.get("qx.promise") && (!config.check || config.check != "qx.Promise")) {
1289
+ code.unshift("function set(value){");
1290
+ code.push("}");
1291
+ if (
1292
+ qx.core.Environment.get("qx.promise") &&
1293
+ (!config.check || config.check != "qx.Promise")
1294
+ ) {
1103
1295
  code.push(
1104
- 'var promise;',
1105
- 'if (qx.Promise.isPromise(value)) ',
1106
- 'promise = value.then(set.bind(this));',
1107
- 'else ',
1108
- 'promise = set.apply(this, arguments);');
1296
+ "var promise;",
1297
+ "if (qx.Promise.isPromise(value)) ",
1298
+ "promise = value.then(set.bind(this));",
1299
+ "else ",
1300
+ "promise = set.apply(this, arguments);"
1301
+ );
1302
+
1109
1303
  if (variant == "setImpl") {
1110
1304
  code.push("return promise;");
1111
1305
  } else {
1112
- code.push('return value;');
1306
+ code.push("return value;");
1113
1307
  }
1114
1308
  } else {
1115
- code.push(
1116
- 'set.apply(this, arguments);',
1117
- 'return value;');
1309
+ code.push("set.apply(this, arguments);", "return value;");
1118
1310
  }
1119
1311
  }
1120
1312
 
1121
1313
  return code;
1122
1314
  },
1123
1315
 
1124
-
1125
1316
  /**
1126
1317
  * Get the object to store the value for the given variant
1127
1318
  *
@@ -1130,8 +1321,7 @@ qx.Bootstrap.define("qx.core.Property",
1130
1321
  *
1131
1322
  * @return {Object} the value store
1132
1323
  */
1133
- __getStore : function(variant, name)
1134
- {
1324
+ __getStore(variant, name) {
1135
1325
  if (variant === "setRuntime" || variant === "resetRuntime") {
1136
1326
  var store = this.$$store.runtime[name];
1137
1327
  } else if (variant === "setThemed" || variant === "resetThemed") {
@@ -1145,7 +1335,6 @@ qx.Bootstrap.define("qx.core.Property",
1145
1335
  return store;
1146
1336
  },
1147
1337
 
1148
-
1149
1338
  /**
1150
1339
  * Emit code for the equality check evaluation
1151
1340
  *
@@ -1154,40 +1343,41 @@ qx.Bootstrap.define("qx.core.Property",
1154
1343
  * @param config {Object} The property configuration map
1155
1344
  * @param name {String} name of the property
1156
1345
  */
1157
- __emitIsEqualFunction : function (code, clazz, config, name)
1158
- {
1159
- code.push('var equ=');
1160
-
1161
- if (typeof config.isEqual === "function")
1162
- {
1163
- code.push('function(a,b){return !!', clazz.classname, '.$$properties.',
1164
- name, '.isEqual.call(this,a,b);};');
1165
- }
1166
- else if (typeof config.isEqual === "string")
1167
- {
1346
+ __emitIsEqualFunction(code, clazz, config, name) {
1347
+ code.push("var equ=");
1348
+
1349
+ if (typeof config.isEqual === "function") {
1350
+ code.push(
1351
+ "function(a,b){return !!",
1352
+ clazz.classname,
1353
+ ".$$properties.",
1354
+ name,
1355
+ ".isEqual.call(this,a,b);};"
1356
+ );
1357
+ } else if (typeof config.isEqual === "string") {
1168
1358
  var members = clazz.prototype;
1169
1359
  // Name of member?
1170
- if (members[config.isEqual]!==undefined)
1171
- {
1172
- code.push('this.', config.isEqual, ';');
1360
+ if (members[config.isEqual] !== undefined) {
1361
+ code.push("this.", config.isEqual, ";");
1173
1362
  }
1174
- else // 'inline' code
1175
- {
1176
- code.push('function(a,b){return !!(', config.isEqual, ');};');
1363
+ // 'inline' code
1364
+ else {
1365
+ code.push("function(a,b){return !!(", config.isEqual, ");};");
1177
1366
  }
1178
- }
1179
- else if (typeof config.isEqual === "undefined")
1180
- {
1181
- code.push('function(a,b){return a===b;};');
1182
- }
1183
- else
1184
- {
1185
- throw new Error( "Invalid type for 'isEqual' attribute " +
1186
- "of property '" + name + "' in class '" + clazz.classname + "'" );
1367
+ } else if (typeof config.isEqual === "undefined") {
1368
+ code.push("function(a,b){return a===b;};");
1369
+ } else {
1370
+ throw new Error(
1371
+ "Invalid type for 'isEqual' attribute " +
1372
+ "of property '" +
1373
+ name +
1374
+ "' in class '" +
1375
+ clazz.classname +
1376
+ "'"
1377
+ );
1187
1378
  }
1188
1379
  },
1189
1380
 
1190
-
1191
1381
  /**
1192
1382
  * Emit code to check the arguments preconditions
1193
1383
  *
@@ -1197,50 +1387,70 @@ qx.Bootstrap.define("qx.core.Property",
1197
1387
  * @param variant {String} Method variant.
1198
1388
  * @param incomingValue {Boolean} Whether the setter has an incoming value
1199
1389
  */
1200
- __emitSetterPreConditions : function(code, config, name, variant, incomingValue)
1201
- {
1202
- if (qx.core.Environment.get("qx.debug"))
1203
- {
1204
- code.push('var prop=qx.core.Property;');
1390
+ __emitSetterPreConditions(code, config, name, variant, incomingValue) {
1391
+ if (qx.core.Environment.get("qx.debug")) {
1392
+ code.push("var prop=qx.core.Property;");
1205
1393
 
1206
1394
  if (variant === "init") {
1207
- code.push('if(this.$$initialized)prop.error(this,0,"', name, '","', variant, '",value);');
1395
+ code.push(
1396
+ 'if(this.$$initialized)prop.error(this,0,"',
1397
+ name,
1398
+ '","',
1399
+ variant,
1400
+ '",value);'
1401
+ );
1208
1402
  }
1209
1403
 
1210
- if (variant === "refresh")
1211
- {
1404
+ if (variant === "refresh") {
1212
1405
  // do nothing
1213
1406
  // refresh() is internal => no arguments test
1214
1407
  // also note that refresh() supports "undefined" values
1215
- }
1216
- else if (incomingValue)
1217
- {
1408
+ } else if (incomingValue) {
1218
1409
  // Check argument length
1219
- code.push('if(arguments.length!==1)prop.error(this,1,"', name, '","', variant, '",value);');
1410
+ code.push(
1411
+ 'if(arguments.length!==1)prop.error(this,1,"',
1412
+ name,
1413
+ '","',
1414
+ variant,
1415
+ '",value);'
1416
+ );
1220
1417
 
1221
1418
  // Undefined check
1222
- code.push('if(value===undefined)prop.error(this,2,"', name, '","', variant, '",value);');
1223
- }
1224
- else
1225
- {
1419
+ code.push(
1420
+ 'if(value===undefined)prop.error(this,2,"',
1421
+ name,
1422
+ '","',
1423
+ variant,
1424
+ '",value);'
1425
+ );
1426
+ } else {
1226
1427
  // Check argument length
1227
- code.push('if(arguments.length!==0)prop.error(this,3,"', name, '","', variant, '",value);');
1428
+ code.push(
1429
+ 'if(arguments.length!==0)prop.error(this,3,"',
1430
+ name,
1431
+ '","',
1432
+ variant,
1433
+ '",value);'
1434
+ );
1228
1435
  }
1229
- }
1230
- else
1231
- {
1436
+ } else {
1232
1437
  if (!config.nullable || config.check || config.inheritable) {
1233
- code.push('var prop=qx.core.Property;');
1438
+ code.push("var prop=qx.core.Property;");
1234
1439
  }
1235
1440
 
1236
1441
  // Undefined check
1237
1442
  if (variant === "setImpl") {
1238
- code.push('if(value===undefined)prop.error(this,2,"', name, '","', variant, '",value);');
1443
+ code.push(
1444
+ 'if(value===undefined)prop.error(this,2,"',
1445
+ name,
1446
+ '","',
1447
+ variant,
1448
+ '",value);'
1449
+ );
1239
1450
  }
1240
1451
  }
1241
1452
  },
1242
1453
 
1243
-
1244
1454
  /**
1245
1455
  * Emit code to apply the "validate" and "transform" config keys.
1246
1456
  *
@@ -1249,12 +1459,11 @@ qx.Bootstrap.define("qx.core.Property",
1249
1459
  * @param config {Object} The property configuration map
1250
1460
  * @param name {String} name of the property
1251
1461
  */
1252
- __emitIncomingValueTransformation : function(code, clazz, config, name)
1253
- {
1462
+ __emitIncomingValueTransformation(code, clazz, config, name) {
1254
1463
  // Call user-provided transform method, if one is provided. Transform
1255
1464
  // method should either throw an error or return the new value.
1256
1465
  if (config.transform) {
1257
- code.push('value=this.', config.transform, '(value, old);');
1466
+ code.push("value=this.", config.transform, "(value, old);");
1258
1467
  }
1259
1468
 
1260
1469
  // Call user-provided validate method, if one is provided. Validate
@@ -1262,16 +1471,15 @@ qx.Bootstrap.define("qx.core.Property",
1262
1471
  if (config.validate) {
1263
1472
  // if it is a string
1264
1473
  if (typeof config.validate === "string") {
1265
- code.push('this.', config.validate, '(value);');
1266
- // if its a function otherwise
1474
+ code.push("this.", config.validate, "(value);");
1475
+ // if its a function otherwise
1267
1476
  } else if (config.validate instanceof Function) {
1268
- code.push(clazz.classname, '.$$properties.', name);
1269
- code.push('.validate.call(this, value);');
1477
+ code.push(clazz.classname, ".$$properties.", name);
1478
+ code.push(".validate.call(this, value);");
1270
1479
  }
1271
1480
  }
1272
1481
  },
1273
1482
 
1274
-
1275
1483
  /**
1276
1484
  * Emit code, which returns if the incoming value equals the current value.
1277
1485
  *
@@ -1280,22 +1488,19 @@ qx.Bootstrap.define("qx.core.Property",
1280
1488
  * @param store {Object} The data store to use for the incoming value
1281
1489
  * @param variant {String} Method variant.
1282
1490
  */
1283
- __emitOldNewComparison : function(code, incomingValue, store, variant)
1284
- {
1285
- var resetValue = (
1491
+ __emitOldNewComparison(code, incomingValue, store, variant) {
1492
+ var resetValue =
1286
1493
  variant === "reset" ||
1287
1494
  variant === "resetThemed" ||
1288
- variant === "resetRuntime"
1289
- );
1495
+ variant === "resetRuntime";
1290
1496
 
1291
1497
  if (incomingValue) {
1292
- code.push('if(equ.call(this,this.',store,',value))return value;');
1498
+ code.push("if(equ.call(this,this.", store, ",value))return value;");
1293
1499
  } else if (resetValue) {
1294
- code.push('if(this.', store, '===undefined)return;');
1500
+ code.push("if(this.", store, "===undefined)return;");
1295
1501
  }
1296
1502
  },
1297
1503
 
1298
-
1299
1504
  /**
1300
1505
  * Emit code, which performs validation of the incoming value according to
1301
1506
  * the "nullable", "check" and "inheritable" config keys.
@@ -1307,70 +1512,84 @@ qx.Bootstrap.define("qx.core.Property",
1307
1512
  * @param name {String} name of the property
1308
1513
  * @param variant {String} Method variant.
1309
1514
  */
1310
- __emitIncomingValueValidation : qx.core.Environment.select("qx.debug",
1311
- {
1312
- "true" : function(code, config, clazz, name, variant)
1313
- {
1515
+ __emitIncomingValueValidation: qx.core.Environment.select("qx.debug", {
1516
+ true(code, config, clazz, name, variant) {
1314
1517
  // Null check
1315
1518
  if (!config.nullable) {
1316
- code.push('if(value===null)prop.error(this,4,"', name, '","', variant, '",value);');
1519
+ code.push(
1520
+ 'if(value===null)prop.error(this,4,"',
1521
+ name,
1522
+ '","',
1523
+ variant,
1524
+ '",value);'
1525
+ );
1317
1526
  }
1318
1527
 
1319
1528
  // Processing check definition
1320
- if (config.check !== undefined)
1321
- {
1322
- code.push('var msg = "Invalid incoming value for property \''+name+'\' of class \'' + clazz.classname + '\'";');
1529
+ if (config.check !== undefined) {
1530
+ code.push(
1531
+ "var msg = \"Invalid incoming value for property '" +
1532
+ name +
1533
+ "' of class '" +
1534
+ clazz.classname +
1535
+ "'\";"
1536
+ );
1323
1537
 
1324
1538
  // Accept "null"
1325
1539
  if (config.nullable) {
1326
- code.push('if(value!==null)');
1540
+ code.push("if(value!==null)");
1327
1541
  }
1328
1542
 
1329
1543
  // Inheritable properties always accept "inherit" as value
1330
1544
  if (config.inheritable) {
1331
- code.push('if(value!==inherit)');
1545
+ code.push("if(value!==inherit)");
1332
1546
  }
1333
1547
 
1334
- code.push('if(');
1548
+ code.push("if(");
1335
1549
 
1336
- if (this.__checks[config.check] !== undefined)
1337
- {
1338
- code.push('!(', this.__checks[config.check], ')');
1339
- }
1340
- else if (qx.Class.isDefined(config.check))
1341
- {
1342
- code.push('qx.core.Assert.assertInstance(value, qx.Class.getByName("', config.check, '"), msg)');
1343
- }
1344
- else if (qx.Interface && qx.Interface.isDefined(config.check))
1345
- {
1346
- code.push('qx.core.Assert.assertInterface(value, qx.Interface.getByName("', config.check, '"), msg)');
1347
- }
1348
- else if (typeof config.check === "function")
1349
- {
1350
- code.push('!', clazz.classname, '.$$properties.', name);
1351
- code.push('.check.call(this, value)');
1352
- }
1353
- else if (typeof config.check === "string")
1354
- {
1355
- code.push('!(', config.check, ')');
1356
- }
1357
- else if (config.check instanceof Array)
1358
- {
1359
- code.push('qx.core.Assert.assertInArray(value, ', clazz.classname, '.$$properties.', name, '.check, msg)');
1360
- }
1361
- else
1362
- {
1363
- throw new Error("Could not add check to property " + name + " of class " + clazz.classname);
1550
+ if (this.__checks[config.check] !== undefined) {
1551
+ code.push("!(", this.__checks[config.check], ")");
1552
+ } else if (qx.Class.isDefined(config.check)) {
1553
+ code.push(
1554
+ 'qx.core.Assert.assertInstance(value, qx.Class.getByName("',
1555
+ config.check,
1556
+ '"), msg)'
1557
+ );
1558
+ } else if (qx.Interface && qx.Interface.isDefined(config.check)) {
1559
+ code.push(
1560
+ 'qx.core.Assert.assertInterface(value, qx.Interface.getByName("',
1561
+ config.check,
1562
+ '"), msg)'
1563
+ );
1564
+ } else if (typeof config.check === "function") {
1565
+ code.push("!", clazz.classname, ".$$properties.", name);
1566
+ code.push(".check.call(this, value)");
1567
+ } else if (typeof config.check === "string") {
1568
+ code.push("!(", config.check, ")");
1569
+ } else if (config.check instanceof Array) {
1570
+ code.push(
1571
+ "qx.core.Assert.assertInArray(value, ",
1572
+ clazz.classname,
1573
+ ".$$properties.",
1574
+ name,
1575
+ ".check, msg)"
1576
+ );
1577
+ } else {
1578
+ throw new Error(
1579
+ "Could not add check to property " +
1580
+ name +
1581
+ " of class " +
1582
+ clazz.classname
1583
+ );
1364
1584
  }
1365
1585
 
1366
1586
  code.push(')prop.error(this,5,"', name, '","', variant, '",value);');
1367
1587
  }
1368
1588
  },
1369
1589
 
1370
- "false" : undefined
1590
+ false: undefined
1371
1591
  }),
1372
1592
 
1373
-
1374
1593
  /**
1375
1594
  * Emit code to store the incoming value
1376
1595
  *
@@ -1379,42 +1598,27 @@ qx.Bootstrap.define("qx.core.Property",
1379
1598
  * @param variant {String} Method variant.
1380
1599
  * @param incomingValue {Boolean} Whether the setter has an incoming value
1381
1600
  */
1382
- __emitStoreValue : function(code, name, variant, incomingValue)
1383
- {
1384
- if (variant === "setRuntime")
1385
- {
1386
- code.push('this.', this.$$store.runtime[name], '=value;');
1387
- }
1388
- else if (variant === "resetRuntime")
1389
- {
1390
- code.push('if(this.', this.$$store.runtime[name], '!==undefined)');
1391
- code.push('delete this.', this.$$store.runtime[name], ';');
1392
- }
1393
- else if (variant === "setImpl")
1394
- {
1395
- code.push('this.', this.$$store.user[name], '=value;');
1396
- }
1397
- else if (variant === "reset")
1398
- {
1399
- code.push('if(this.', this.$$store.user[name], '!==undefined)');
1400
- code.push('delete this.', this.$$store.user[name], ';');
1401
- }
1402
- else if (variant === "setThemed")
1403
- {
1404
- code.push('this.', this.$$store.theme[name], '=value;');
1405
- }
1406
- else if (variant === "resetThemed")
1407
- {
1408
- code.push('if(this.', this.$$store.theme[name], '!==undefined)');
1409
- code.push('delete this.', this.$$store.theme[name], ';');
1410
- }
1411
- else if (variant === "init" && incomingValue)
1412
- {
1413
- code.push('this.', this.$$store.init[name], '=value;');
1601
+ __emitStoreValue(code, name, variant, incomingValue) {
1602
+ if (variant === "setRuntime") {
1603
+ code.push("this.", this.$$store.runtime[name], "=value;");
1604
+ } else if (variant === "resetRuntime") {
1605
+ code.push("if(this.", this.$$store.runtime[name], "!==undefined)");
1606
+ code.push("delete this.", this.$$store.runtime[name], ";");
1607
+ } else if (variant === "setImpl") {
1608
+ code.push("this.", this.$$store.user[name], "=value;");
1609
+ } else if (variant === "reset") {
1610
+ code.push("if(this.", this.$$store.user[name], "!==undefined)");
1611
+ code.push("delete this.", this.$$store.user[name], ";");
1612
+ } else if (variant === "setThemed") {
1613
+ code.push("this.", this.$$store.theme[name], "=value;");
1614
+ } else if (variant === "resetThemed") {
1615
+ code.push("if(this.", this.$$store.theme[name], "!==undefined)");
1616
+ code.push("delete this.", this.$$store.theme[name], ";");
1617
+ } else if (variant === "init" && incomingValue) {
1618
+ code.push("this.", this.$$store.init[name], "=value;");
1414
1619
  }
1415
1620
  },
1416
1621
 
1417
-
1418
1622
  /**
1419
1623
  * Emit code to store the incoming value and compute the "old" and "computed"
1420
1624
  * values.
@@ -1425,184 +1629,136 @@ qx.Bootstrap.define("qx.core.Property",
1425
1629
  * @param variant {String} Method variant.
1426
1630
  * @param incomingValue {Boolean} Whether the setter has an incoming value
1427
1631
  */
1428
- __emitStoreComputedValue : function(code, config, name, variant, incomingValue)
1429
- {
1430
- code.push('var computed;');
1431
-
1632
+ __emitStoreComputedValue(code, config, name, variant, incomingValue) {
1633
+ code.push("var computed;");
1432
1634
 
1433
1635
  // OLD = RUNTIME VALUE
1434
- code.push('if(this.', this.$$store.runtime[name], '!==undefined){');
1636
+ code.push("if(this.", this.$$store.runtime[name], "!==undefined){");
1435
1637
 
1436
- if (variant === "setRuntime")
1437
- {
1638
+ if (variant === "setRuntime") {
1438
1639
  // Replace it with new value
1439
- code.push('computed=this.', this.$$store.runtime[name], '=value;');
1440
- }
1441
- else if (variant === "resetRuntime")
1442
- {
1640
+ code.push("computed=this.", this.$$store.runtime[name], "=value;");
1641
+ } else if (variant === "resetRuntime") {
1443
1642
  // Delete field
1444
- code.push('delete this.', this.$$store.runtime[name], ';');
1643
+ code.push("delete this.", this.$$store.runtime[name], ";");
1445
1644
 
1446
1645
  // Complex computation of new value
1447
- code.push('if(this.', this.$$store.user[name], '!==undefined)');
1448
- code.push('computed=this.', this.$$store.user[name], ';');
1449
- code.push('else if(this.', this.$$store.theme[name], '!==undefined)');
1450
- code.push('computed=this.', this.$$store.theme[name], ';');
1451
- code.push('else if(this.', this.$$store.init[name], '!==undefined){');
1452
- code.push('computed=this.', this.$$store.init[name], ';');
1453
- code.push('this.', this.$$store.useinit[name], '=true;');
1454
- code.push('}');
1455
- }
1456
- else
1457
- {
1646
+ code.push("if(this.", this.$$store.user[name], "!==undefined)");
1647
+ code.push("computed=this.", this.$$store.user[name], ";");
1648
+ code.push("else if(this.", this.$$store.theme[name], "!==undefined)");
1649
+ code.push("computed=this.", this.$$store.theme[name], ";");
1650
+ code.push("else if(this.", this.$$store.init[name], "!==undefined){");
1651
+ code.push("computed=this.", this.$$store.init[name], ";");
1652
+ code.push("this.", this.$$store.useinit[name], "=true;");
1653
+ code.push("}");
1654
+ } else {
1458
1655
  // Use runtime value as it has higher priority
1459
- code.push('computed=this.', this.$$store.runtime[name], ';');
1656
+ code.push("computed=this.", this.$$store.runtime[name], ";");
1460
1657
 
1461
1658
  // Store incoming value
1462
- if (variant === "setImpl")
1463
- {
1464
- code.push('this.', this.$$store.user[name], '=value;');
1465
- }
1466
- else if (variant === "reset")
1467
- {
1468
- code.push('delete this.', this.$$store.user[name], ';');
1469
- }
1470
- else if (variant === "setThemed")
1471
- {
1472
- code.push('this.', this.$$store.theme[name], '=value;');
1473
- }
1474
- else if (variant === "resetThemed")
1475
- {
1476
- code.push('delete this.', this.$$store.theme[name], ';');
1477
- }
1478
- else if (variant === "init" && incomingValue)
1479
- {
1480
- code.push('this.', this.$$store.init[name], '=value;');
1659
+ if (variant === "setImpl") {
1660
+ code.push("this.", this.$$store.user[name], "=value;");
1661
+ } else if (variant === "reset") {
1662
+ code.push("delete this.", this.$$store.user[name], ";");
1663
+ } else if (variant === "setThemed") {
1664
+ code.push("this.", this.$$store.theme[name], "=value;");
1665
+ } else if (variant === "resetThemed") {
1666
+ code.push("delete this.", this.$$store.theme[name], ";");
1667
+ } else if (variant === "init" && incomingValue) {
1668
+ code.push("this.", this.$$store.init[name], "=value;");
1481
1669
  }
1482
1670
  }
1483
1671
 
1484
- code.push('}');
1485
-
1672
+ code.push("}");
1486
1673
 
1487
1674
  // OLD = USER VALUE
1488
- code.push('else if(this.', this.$$store.user[name], '!==undefined){');
1675
+ code.push("else if(this.", this.$$store.user[name], "!==undefined){");
1489
1676
 
1490
- if (variant === "setImpl")
1491
- {
1677
+ if (variant === "setImpl") {
1492
1678
  // Replace it with new value
1493
- code.push('computed=this.', this.$$store.user[name], '=value;');
1494
- }
1495
- else if (variant === "reset")
1496
- {
1679
+ code.push("computed=this.", this.$$store.user[name], "=value;");
1680
+ } else if (variant === "reset") {
1497
1681
  // Delete field
1498
- code.push('delete this.', this.$$store.user[name], ';');
1682
+ code.push("delete this.", this.$$store.user[name], ";");
1499
1683
 
1500
1684
  // Complex computation of new value
1501
- code.push('if(this.', this.$$store.runtime[name], '!==undefined)');
1502
- code.push('computed=this.', this.$$store.runtime[name], ';');
1503
- code.push('if(this.', this.$$store.theme[name], '!==undefined)');
1504
- code.push('computed=this.', this.$$store.theme[name], ';');
1505
- code.push('else if(this.', this.$$store.init[name], '!==undefined){');
1506
- code.push('computed=this.', this.$$store.init[name], ';');
1507
- code.push('this.', this.$$store.useinit[name], '=true;');
1508
- code.push('}');
1509
- }
1510
- else
1511
- {
1512
- if (variant === "setRuntime")
1513
- {
1685
+ code.push("if(this.", this.$$store.runtime[name], "!==undefined)");
1686
+ code.push("computed=this.", this.$$store.runtime[name], ";");
1687
+ code.push("if(this.", this.$$store.theme[name], "!==undefined)");
1688
+ code.push("computed=this.", this.$$store.theme[name], ";");
1689
+ code.push("else if(this.", this.$$store.init[name], "!==undefined){");
1690
+ code.push("computed=this.", this.$$store.init[name], ";");
1691
+ code.push("this.", this.$$store.useinit[name], "=true;");
1692
+ code.push("}");
1693
+ } else {
1694
+ if (variant === "setRuntime") {
1514
1695
  // Use runtime value where it has higher priority
1515
- code.push('computed=this.', this.$$store.runtime[name], '=value;');
1516
- }
1517
- else if (config.inheritable)
1518
- {
1696
+ code.push("computed=this.", this.$$store.runtime[name], "=value;");
1697
+ } else if (config.inheritable) {
1519
1698
  // Use user value where it has higher priority
1520
- code.push('computed=this.', this.$$store.user[name], ';');
1521
- }
1522
- else
1523
- {
1699
+ code.push("computed=this.", this.$$store.user[name], ";");
1700
+ } else {
1524
1701
  // Use user value where it has higher priority
1525
- code.push('computed=this.', this.$$store.user[name], ';');
1702
+ code.push("computed=this.", this.$$store.user[name], ";");
1526
1703
  }
1527
1704
 
1528
1705
  // Store incoming value
1529
- if (variant === "setThemed")
1530
- {
1531
- code.push('this.', this.$$store.theme[name], '=value;');
1532
- }
1533
- else if (variant === "resetThemed")
1534
- {
1535
- code.push('delete this.', this.$$store.theme[name], ';');
1536
- }
1537
- else if (variant === "init" && incomingValue)
1538
- {
1539
- code.push('this.', this.$$store.init[name], '=value;');
1706
+ if (variant === "setThemed") {
1707
+ code.push("this.", this.$$store.theme[name], "=value;");
1708
+ } else if (variant === "resetThemed") {
1709
+ code.push("delete this.", this.$$store.theme[name], ";");
1710
+ } else if (variant === "init" && incomingValue) {
1711
+ code.push("this.", this.$$store.init[name], "=value;");
1540
1712
  }
1541
1713
  }
1542
1714
 
1543
- code.push('}');
1544
-
1715
+ code.push("}");
1545
1716
 
1546
1717
  // OLD = THEMED VALUE
1547
- if (config.themeable)
1548
- {
1549
- code.push('else if(this.', this.$$store.theme[name], '!==undefined){');
1550
-
1551
- if (variant === "setRuntime")
1552
- {
1553
- code.push('computed=this.', this.$$store.runtime[name], '=value;');
1554
- }
1718
+ if (config.themeable) {
1719
+ code.push("else if(this.", this.$$store.theme[name], "!==undefined){");
1555
1720
 
1556
- else if (variant === "setImpl")
1557
- {
1558
- code.push('computed=this.', this.$$store.user[name], '=value;');
1721
+ if (variant === "setRuntime") {
1722
+ code.push("computed=this.", this.$$store.runtime[name], "=value;");
1723
+ } else if (variant === "setImpl") {
1724
+ code.push("computed=this.", this.$$store.user[name], "=value;");
1559
1725
  }
1560
1726
 
1561
1727
  // reset() is impossible, because the user has higher priority than
1562
1728
  // the themed value, so the themed value has no chance to ever get used,
1563
1729
  // when there is an user value, too.
1564
-
1565
- else if (variant === "setThemed")
1566
- {
1567
- code.push('computed=this.', this.$$store.theme[name], '=value;');
1568
- }
1569
- else if (variant === "resetThemed")
1570
- {
1730
+ else if (variant === "setThemed") {
1731
+ code.push("computed=this.", this.$$store.theme[name], "=value;");
1732
+ } else if (variant === "resetThemed") {
1571
1733
  // Delete entry
1572
- code.push('delete this.', this.$$store.theme[name], ';');
1734
+ code.push("delete this.", this.$$store.theme[name], ";");
1573
1735
 
1574
1736
  // Fallback to init value
1575
- code.push('if(this.', this.$$store.init[name], '!==undefined){');
1576
- code.push('computed=this.', this.$$store.init[name], ';');
1577
- code.push('this.', this.$$store.useinit[name], '=true;');
1578
- code.push('}');
1579
- }
1580
- else if (variant === "init")
1581
- {
1737
+ code.push("if(this.", this.$$store.init[name], "!==undefined){");
1738
+ code.push("computed=this.", this.$$store.init[name], ";");
1739
+ code.push("this.", this.$$store.useinit[name], "=true;");
1740
+ code.push("}");
1741
+ } else if (variant === "init") {
1582
1742
  if (incomingValue) {
1583
- code.push('this.', this.$$store.init[name], '=value;');
1743
+ code.push("this.", this.$$store.init[name], "=value;");
1584
1744
  }
1585
1745
 
1586
- code.push('computed=this.', this.$$store.theme[name], ';');
1587
- }
1588
- else if (variant === "refresh")
1589
- {
1590
- code.push('computed=this.', this.$$store.theme[name], ';');
1746
+ code.push("computed=this.", this.$$store.theme[name], ";");
1747
+ } else if (variant === "refresh") {
1748
+ code.push("computed=this.", this.$$store.theme[name], ";");
1591
1749
  }
1592
1750
 
1593
- code.push('}');
1751
+ code.push("}");
1594
1752
  }
1595
1753
 
1596
-
1597
1754
  // OLD = INIT VALUE
1598
- code.push('else if(this.', this.$$store.useinit[name], '){');
1755
+ code.push("else if(this.", this.$$store.useinit[name], "){");
1599
1756
 
1600
- if (variant === "init")
1601
- {
1757
+ if (variant === "init") {
1602
1758
  if (incomingValue) {
1603
- code.push('computed=this.', this.$$store.init[name], '=value;');
1759
+ code.push("computed=this.", this.$$store.init[name], "=value;");
1604
1760
  } else {
1605
- code.push('computed=this.', this.$$store.init[name], ';');
1761
+ code.push("computed=this.", this.$$store.init[name], ";");
1606
1762
  }
1607
1763
 
1608
1764
  // useinit flag is already initialized
@@ -1611,65 +1767,60 @@ qx.Bootstrap.define("qx.core.Property",
1611
1767
  // reset(), resetRuntime() and resetStyle() are impossible, because the user and themed values have a
1612
1768
  // higher priority than the init value, so the init value has no chance to ever get used,
1613
1769
  // when there is an user or themed value, too.
1614
-
1615
- else if (variant === "setImpl" || variant === "setRuntime" || variant === "setThemed" || variant === "refresh")
1616
- {
1617
- code.push('delete this.', this.$$store.useinit[name], ';');
1770
+ else if (
1771
+ variant === "setImpl" ||
1772
+ variant === "setRuntime" ||
1773
+ variant === "setThemed" ||
1774
+ variant === "refresh"
1775
+ ) {
1776
+ code.push("delete this.", this.$$store.useinit[name], ";");
1618
1777
 
1619
1778
  if (variant === "setRuntime") {
1620
- code.push('computed=this.', this.$$store.runtime[name], '=value;');
1779
+ code.push("computed=this.", this.$$store.runtime[name], "=value;");
1621
1780
  } else if (variant === "setImpl") {
1622
- code.push('computed=this.', this.$$store.user[name], '=value;');
1781
+ code.push("computed=this.", this.$$store.user[name], "=value;");
1623
1782
  } else if (variant === "setThemed") {
1624
- code.push('computed=this.', this.$$store.theme[name], '=value;');
1783
+ code.push("computed=this.", this.$$store.theme[name], "=value;");
1625
1784
  } else if (variant === "refresh") {
1626
- code.push('computed=this.', this.$$store.init[name], ';');
1785
+ code.push("computed=this.", this.$$store.init[name], ";");
1627
1786
  }
1628
1787
  }
1629
1788
 
1630
- code.push('}');
1631
-
1789
+ code.push("}");
1632
1790
 
1633
1791
  // OLD = NONE
1634
1792
 
1635
1793
  // reset(), resetRuntime() and resetStyle() are impossible because otherwise there
1636
1794
  // is already an old value
1637
- if (variant === "setImpl" || variant === "setRuntime" || variant === "setThemed" || variant === "init")
1638
- {
1639
- code.push('else{');
1640
-
1641
- if (variant === "setRuntime")
1642
- {
1643
- code.push('computed=this.', this.$$store.runtime[name], '=value;');
1644
- }
1645
-
1646
- else if (variant === "setImpl")
1647
- {
1648
- code.push('computed=this.', this.$$store.user[name], '=value;');
1649
- }
1650
-
1651
- else if (variant === "setThemed")
1652
- {
1653
- code.push('computed=this.', this.$$store.theme[name], '=value;');
1654
- }
1795
+ if (
1796
+ variant === "setImpl" ||
1797
+ variant === "setRuntime" ||
1798
+ variant === "setThemed" ||
1799
+ variant === "init"
1800
+ ) {
1801
+ code.push("else{");
1655
1802
 
1656
- else if (variant === "init")
1657
- {
1803
+ if (variant === "setRuntime") {
1804
+ code.push("computed=this.", this.$$store.runtime[name], "=value;");
1805
+ } else if (variant === "setImpl") {
1806
+ code.push("computed=this.", this.$$store.user[name], "=value;");
1807
+ } else if (variant === "setThemed") {
1808
+ code.push("computed=this.", this.$$store.theme[name], "=value;");
1809
+ } else if (variant === "init") {
1658
1810
  if (incomingValue) {
1659
- code.push('computed=this.', this.$$store.init[name], '=value;');
1811
+ code.push("computed=this.", this.$$store.init[name], "=value;");
1660
1812
  } else {
1661
- code.push('computed=this.', this.$$store.init[name], ';');
1813
+ code.push("computed=this.", this.$$store.init[name], ";");
1662
1814
  }
1663
1815
 
1664
- code.push('this.', this.$$store.useinit[name], '=true;');
1816
+ code.push("this.", this.$$store.useinit[name], "=true;");
1665
1817
  }
1666
1818
 
1667
1819
  // refresh() will work with the undefined value, later
1668
- code.push('}');
1820
+ code.push("}");
1669
1821
  }
1670
1822
  },
1671
1823
 
1672
-
1673
1824
  /**
1674
1825
  * Emit code to compute the "old" value.
1675
1826
  *
@@ -1677,40 +1828,43 @@ qx.Bootstrap.define("qx.core.Property",
1677
1828
  * @param config {Object} The property configuration map
1678
1829
  * @param name {String} name of the property
1679
1830
  */
1680
- __emitOldValue : function(code, config, name)
1681
- {
1831
+ __emitOldValue(code, config, name) {
1682
1832
  if (config.inheritable) {
1683
- code.push('var old=this.', this.$$store.inherit[name], ';');
1833
+ code.push("var old=this.", this.$$store.inherit[name], ";");
1684
1834
  } else {
1685
- code.push('var old;');
1835
+ code.push("var old;");
1686
1836
  }
1687
1837
 
1688
1838
  // OLD = RUNTIME VALUE
1689
- code.push('if(this.', this.$$store.runtime[name], '!==undefined){');
1690
- code.push('old=this.', this.$$store.runtime[name], ';');
1691
- code.push('}');
1839
+ code.push("if(this.", this.$$store.runtime[name], "!==undefined){");
1840
+ code.push("old=this.", this.$$store.runtime[name], ";");
1841
+ code.push("}");
1692
1842
 
1693
1843
  // OLD = USER VALUE
1694
1844
  if (!config.inheritable) {
1695
- code.push('else if(this.', this.$$store.user[name], '!==undefined){');
1696
- code.push('old=this.', this.$$store.user[name], ';');
1697
- code.push('}');
1845
+ code.push("else if(this.", this.$$store.user[name], "!==undefined){");
1846
+ code.push("old=this.", this.$$store.user[name], ";");
1847
+ code.push("}");
1698
1848
 
1699
1849
  // OLD = THEMED VALUE
1700
1850
  if (config.themeable) {
1701
- code.push('else if(this.', this.$$store.theme[name], '!==undefined){');
1702
- code.push('old=this.', this.$$store.theme[name], ';');
1703
- code.push('}');
1851
+ code.push(
1852
+ "else if(this.",
1853
+ this.$$store.theme[name],
1854
+ "!==undefined){"
1855
+ );
1856
+
1857
+ code.push("old=this.", this.$$store.theme[name], ";");
1858
+ code.push("}");
1704
1859
  }
1705
1860
 
1706
1861
  // OLD = INIT VALUE
1707
- code.push('else if(this.', this.$$store.useinit[name], '){');
1708
- code.push('old=this.', this.$$store.init[name], ';');
1709
- code.push('}');
1862
+ code.push("else if(this.", this.$$store.useinit[name], "){");
1863
+ code.push("old=this.", this.$$store.init[name], ";");
1864
+ code.push("}");
1710
1865
  }
1711
1866
  },
1712
1867
 
1713
-
1714
1868
  /**
1715
1869
  * Emit code to store the value of an inheritable property
1716
1870
  *
@@ -1719,57 +1873,64 @@ qx.Bootstrap.define("qx.core.Property",
1719
1873
  * @param name {String} name of the property
1720
1874
  * @param variant {String} Method variant.
1721
1875
  */
1722
- __emitStoreInheritedPropertyValue : function(code, config, name, variant)
1723
- {
1724
- code.push('if(computed===undefined||computed===inherit){');
1876
+ __emitStoreInheritedPropertyValue(code, config, name, variant) {
1877
+ code.push("if(computed===undefined||computed===inherit){");
1725
1878
 
1726
1879
  if (variant === "refresh") {
1727
- code.push('computed=value;');
1880
+ code.push("computed=value;");
1728
1881
  } else {
1729
- code.push('var pa=this.getLayoutParent();if(pa)computed=pa.', this.$$store.inherit[name], ';');
1882
+ code.push(
1883
+ "var pa=this.getLayoutParent();if(pa)computed=pa.",
1884
+ this.$$store.inherit[name],
1885
+ ";"
1886
+ );
1730
1887
  }
1731
1888
 
1732
1889
  // Fallback to init value if inheritance was unsuccessful
1733
- code.push('if((computed===undefined||computed===inherit)&&');
1734
- code.push('this.', this.$$store.init[name], '!==undefined&&');
1735
- code.push('this.', this.$$store.init[name], '!==inherit){');
1736
- code.push('computed=this.', this.$$store.init[name], ';');
1737
- code.push('this.', this.$$store.useinit[name], '=true;');
1738
- code.push('}else{');
1739
- code.push('delete this.', this.$$store.useinit[name], ';}');
1890
+ code.push("if((computed===undefined||computed===inherit)&&");
1891
+ code.push("this.", this.$$store.init[name], "!==undefined&&");
1892
+ code.push("this.", this.$$store.init[name], "!==inherit){");
1893
+ code.push("computed=this.", this.$$store.init[name], ";");
1894
+ code.push("this.", this.$$store.useinit[name], "=true;");
1895
+ code.push("}else{");
1896
+ code.push("delete this.", this.$$store.useinit[name], ";}");
1740
1897
 
1741
- code.push('}');
1898
+ code.push("}");
1742
1899
 
1743
1900
  // Compare old/new computed value
1744
- code.push('if(equ.call(this,old,computed))return value;');
1901
+ code.push("if(equ.call(this,old,computed))return value;");
1745
1902
 
1746
1903
  // Note: At this point computed can be "inherit" or "undefined".
1747
1904
 
1748
1905
  // Normalize "inherit" to undefined and delete inherited value
1749
- code.push('if(computed===inherit){');
1750
- code.push('computed=undefined;delete this.', this.$$store.inherit[name], ';');
1751
- code.push('}');
1906
+ code.push("if(computed===inherit){");
1907
+ code.push(
1908
+ "computed=undefined;delete this.",
1909
+ this.$$store.inherit[name],
1910
+ ";"
1911
+ );
1912
+
1913
+ code.push("}");
1752
1914
 
1753
1915
  // Only delete inherited value
1754
- code.push('else if(computed===undefined)');
1755
- code.push('delete this.', this.$$store.inherit[name], ';');
1916
+ code.push("else if(computed===undefined)");
1917
+ code.push("delete this.", this.$$store.inherit[name], ";");
1756
1918
 
1757
1919
  // Store inherited value
1758
- code.push('else this.', this.$$store.inherit[name], '=computed;');
1920
+ code.push("else this.", this.$$store.inherit[name], "=computed;");
1759
1921
 
1760
1922
  // Protect against normalization
1761
- code.push('var backup=computed;');
1923
+ code.push("var backup=computed;");
1762
1924
 
1763
1925
  // After storage finally normalize computed and old value
1764
1926
  if (config.init !== undefined && variant !== "init") {
1765
- code.push('if(old===undefined)old=this.', this.$$store.init[name], ";");
1927
+ code.push("if(old===undefined)old=this.", this.$$store.init[name], ";");
1766
1928
  } else {
1767
- code.push('if(old===undefined)old=null;');
1929
+ code.push("if(old===undefined)old=null;");
1768
1930
  }
1769
- code.push('if(computed===undefined||computed==inherit)computed=null;');
1931
+ code.push("if(computed===undefined||computed==inherit)computed=null;");
1770
1932
  },
1771
1933
 
1772
-
1773
1934
  /**
1774
1935
  * Emit code to normalize the old and incoming values from undefined to
1775
1936
  * <code>null</code>.
@@ -1779,26 +1940,28 @@ qx.Bootstrap.define("qx.core.Property",
1779
1940
  * @param name {String} name of the property
1780
1941
  * @param variant {String} Method variant.
1781
1942
  */
1782
- __emitNormalizeUndefinedValues : function(code, config, name, variant)
1783
- {
1943
+ __emitNormalizeUndefinedValues(code, config, name, variant) {
1784
1944
  // Properties which are not inheritable have no possibility to get
1785
1945
  // undefined at this position. (Hint: set(), setRuntime() and setThemed() only allow non undefined values)
1786
- if (variant !== "setImpl" && variant !== "setRuntime" && variant !== "setThemed") {
1787
- code.push('if(computed===undefined)computed=null;');
1946
+ if (
1947
+ variant !== "setImpl" &&
1948
+ variant !== "setRuntime" &&
1949
+ variant !== "setThemed"
1950
+ ) {
1951
+ code.push("if(computed===undefined)computed=null;");
1788
1952
  }
1789
1953
 
1790
1954
  // Compare old/new computed value
1791
- code.push('if(equ.call(this,old,computed))return value;');
1955
+ code.push("if(equ.call(this,old,computed))return value;");
1792
1956
 
1793
1957
  // Normalize old value
1794
1958
  if (config.init !== undefined && variant !== "init") {
1795
- code.push('if(old===undefined)old=this.', this.$$store.init[name], ";");
1959
+ code.push("if(old===undefined)old=this.", this.$$store.init[name], ";");
1796
1960
  } else {
1797
- code.push('if(old===undefined)old=null;');
1961
+ code.push("if(old===undefined)old=null;");
1798
1962
  }
1799
1963
  },
1800
1964
 
1801
-
1802
1965
  /**
1803
1966
  * Emit code to call the apply method and fire the change event
1804
1967
  *
@@ -1808,99 +1971,130 @@ qx.Bootstrap.define("qx.core.Property",
1808
1971
  * @param variant {String} variant of the method e.g. setThemed
1809
1972
  * @param refresh {Boolean} if true, emit code to update the inherited values of child objects
1810
1973
  */
1811
- __emitCallCallback : function(code, config, name, variant, refresh)
1812
- {
1974
+ __emitCallCallback(code, config, name, variant, refresh) {
1813
1975
  // Execute user configured setter
1814
- code.push("var self=this;",
1815
- 'var promise;');
1976
+ code.push("var self=this;", "var promise;");
1816
1977
  if (config.apply) {
1817
- code.push('promise = this.', config.apply, '(computed, old, "', name, '", "', variant, '");');
1978
+ code.push(
1979
+ "promise = this.",
1980
+ config.apply,
1981
+ '(computed, old, "',
1982
+ name,
1983
+ '", "',
1984
+ variant,
1985
+ '");'
1986
+ );
1818
1987
  }
1819
1988
 
1820
1989
  if (config.async) {
1821
1990
  code.push(
1822
- "function fire() {",
1823
- "var promiseData = qx.Promise.resolve(computed);",
1824
- "var promise = promiseData;"
1825
- );
1991
+ "function fire() {",
1992
+ "var promiseData = qx.Promise.resolve(computed);",
1993
+ "var promise = promiseData;"
1994
+ );
1826
1995
 
1827
1996
  // Fire event
1828
1997
  if (config.event) {
1829
1998
  code.push(
1830
- "var reg=qx.event.Registration;",
1831
- "if(reg.hasListener(self, '", config.event, "')) {",
1832
- "promise = reg.fireEventAsync(self, '", config.event, "', qx.event.type.Data, [computed, old]", ");",
1833
- "promise = promise.then(function() { return computed; });",
1834
- "}",
1835
- "if(reg.hasListener(self, '", config.event, "Async'))",
1836
- "promise = promise.then(function() {",
1837
- "return reg.fireEventAsync(self, '", config.event, "Async', qx.event.type.Data, [promiseData, old]", ");",
1838
- "});"
1839
- );
1999
+ "var reg=qx.event.Registration;",
2000
+ "if(reg.hasListener(self, '",
2001
+ config.event,
2002
+ "')) {",
2003
+ "promise = reg.fireEventAsync(self, '",
2004
+ config.event,
2005
+ "', qx.event.type.Data, [computed, old]",
2006
+ ");",
2007
+ "promise = promise.then(function() { return computed; });",
2008
+ "}",
2009
+ "if(reg.hasListener(self, '",
2010
+ config.event,
2011
+ "Async'))",
2012
+ "promise = promise.then(function() {",
2013
+ "return reg.fireEventAsync(self, '",
2014
+ config.event,
2015
+ "Async', qx.event.type.Data, [promiseData, old]",
2016
+ ");",
2017
+ "});"
2018
+ );
1840
2019
  }
1841
2020
 
1842
2021
  // Emit code to update the inherited values of child objects
1843
2022
  if (refresh) {
1844
2023
  code.push(
1845
- 'var a=self._getChildren();',
1846
- 'if(a)',
1847
- 'for(var i=0,l=a.length;i<l;i++){',
1848
- 'if(a[i].', this.$$method.refresh[name], ')',
1849
- 'a[i].', this.$$method.refresh[name], '(backup);',
1850
- '}');
2024
+ "var a=self._getChildren();",
2025
+ "if(a)",
2026
+ "for(var i=0,l=a.length;i<l;i++){",
2027
+ "if(a[i].",
2028
+ this.$$method.refresh[name],
2029
+ ")",
2030
+ "a[i].",
2031
+ this.$$method.refresh[name],
2032
+ "(backup);",
2033
+ "}"
2034
+ );
1851
2035
  }
1852
2036
 
1853
- code.push(
1854
- "return promise;",
1855
- "}");
2037
+ code.push("return promise;", "}");
1856
2038
  } else {
1857
- code.push(
1858
- "function fire() {",
1859
- " var tracker={};");
2039
+ code.push("function fire() {", " var tracker={};");
1860
2040
 
1861
2041
  // Fire event
1862
2042
  if (config.event) {
1863
2043
  code.push(
1864
- "var reg=qx.event.Registration;",
2044
+ "var reg=qx.event.Registration;",
2045
+
2046
+ "if(reg.hasListener(self, '",
2047
+ config.event,
2048
+ "'))",
2049
+ "qx.event.Utils.track(tracker, reg.fireEvent(self, '",
2050
+ config.event,
2051
+ "', qx.event.type.Data, [computed, old]",
2052
+ "));"
2053
+ );
1865
2054
 
1866
- "if(reg.hasListener(self, '", config.event, "'))",
1867
- "qx.event.Utils.track(tracker, reg.fireEvent(self, '", config.event, "', qx.event.type.Data, [computed, old]", "));");
1868
2055
  if (qx.core.Environment.get("qx.promise")) {
1869
2056
  code.push(
1870
- "if(reg.hasListener(self, '", config.event, "Async'))",
1871
- "qx.event.Utils.then(tracker, function() {\n" +
1872
- " return reg.fireEventAsync(self, '", config.event, "Async', qx.event.type.Data, [qx.Promise.resolve(computed), old]", ");\n" +
1873
- "});"
1874
- );
2057
+ "if(reg.hasListener(self, '",
2058
+ config.event,
2059
+ "Async'))",
2060
+ "qx.event.Utils.then(tracker, function() {\n" +
2061
+ " return reg.fireEventAsync(self, '",
2062
+ config.event,
2063
+ "Async', qx.event.type.Data, [qx.Promise.resolve(computed), old]",
2064
+ ");\n" + "});"
2065
+ );
1875
2066
  }
1876
2067
  }
1877
2068
  // Emit code to update the inherited values of child objects
1878
2069
  if (refresh) {
1879
2070
  code.push(
1880
- 'var a=self._getChildren();',
1881
- 'if(a)',
1882
- 'for(var i=0,l=a.length;i<l;i++){',
1883
- 'if(a[i].', this.$$method.refresh[name], ')',
1884
- 'a[i].', this.$$method.refresh[name], '(backup);',
1885
- '}');
2071
+ "var a=self._getChildren();",
2072
+ "if(a)",
2073
+ "for(var i=0,l=a.length;i<l;i++){",
2074
+ "if(a[i].",
2075
+ this.$$method.refresh[name],
2076
+ ")",
2077
+ "a[i].",
2078
+ this.$$method.refresh[name],
2079
+ "(backup);",
2080
+ "}"
2081
+ );
1886
2082
  }
1887
2083
 
1888
2084
  code.push(
1889
- "if (tracker.promise)\n",
1890
- " return tracker.promise.then(function() { return computed; });",
1891
- "return computed;",
1892
- "}");
2085
+ "if (tracker.promise)\n",
2086
+ " return tracker.promise.then(function() { return computed; });",
2087
+ "return computed;",
2088
+ "}"
2089
+ );
1893
2090
  }
1894
2091
 
1895
2092
  if (qx.core.Environment.get("qx.promise")) {
1896
2093
  code.push(
1897
- "if(qx.Promise.isPromise(promise)) " +
1898
- "return promise.then(fire); "
1899
- );
2094
+ "if(qx.Promise.isPromise(promise)) " + "return promise.then(fire); "
2095
+ );
1900
2096
  }
1901
- code.push(
1902
- "return fire();"
1903
- );
2097
+ code.push("return fire();");
1904
2098
  }
1905
2099
  }
1906
2100
  });