@qooxdoo/framework 7.0.0-beta.5 → 7.0.0-beta.9
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.
- package/CHANGELOG.md +3 -6
- package/Manifest.json +1 -1
- package/README.md +9 -3
- package/lib/compiler/compile-info.json +50 -48
- package/lib/compiler/index.js +6948 -4175
- package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/theme/custom/css/custom.css.map +1 -1
- package/lib/resource/qx/tool/loadsass.js +16 -13
- package/lib/resource/qx/tool/schema/compile-1-0-0.json +13 -13
- package/lib/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
- package/lib/resource/qx/tool/website/build/assets/buttons.js +391 -1
- package/lib/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
- package/lib/resource/qx/tool/website/build/assets/jquery.js +5452 -3
- package/lib/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
- package/lib/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
- package/lib/resource/qx/tool/website/build/scripts/serve.js +87 -66
- package/lib/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
- package/lib/resource/qx/tool/website/src/assets/buttons.js +391 -1
- package/lib/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
- package/lib/resource/qx/tool/website/src/assets/jquery.js +5452 -3
- package/lib/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
- package/lib/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
- package/lib/resource/qx/tool/website/src/scripts/serve.js +87 -66
- package/npm-shrinkwrap.json +7293 -0
- package/package.json +19 -4
- package/source/class/q.js +4 -2
- package/source/class/qx/Annotation.js +48 -57
- package/source/class/qx/Bootstrap.js +206 -207
- package/source/class/qx/Class.js +602 -504
- package/source/class/qx/Interface.js +169 -137
- package/source/class/qx/Mixin.js +156 -120
- package/source/class/qx/Part.js +48 -77
- package/source/class/qx/Promise.js +5891 -4655
- package/source/class/qx/Theme.js +200 -134
- package/source/class/qx/__init__.js +8 -8
- package/source/class/qx/application/AbstractGui.js +20 -32
- package/source/class/qx/application/Basic.js +9 -18
- package/source/class/qx/application/IApplication.js +6 -10
- package/source/class/qx/application/Inline.js +4 -7
- package/source/class/qx/application/Mobile.js +22 -45
- package/source/class/qx/application/Native.js +8 -19
- package/source/class/qx/application/Routing.js +88 -114
- package/source/class/qx/application/Standalone.js +4 -9
- package/source/class/qx/application/__init__.js +1 -1
- package/source/class/qx/bom/AnimationFrame.js +26 -25
- package/source/class/qx/bom/Blocker.js +92 -100
- package/source/class/qx/bom/Cookie.js +18 -22
- package/source/class/qx/bom/Document.js +24 -31
- package/source/class/qx/bom/Element.js +65 -51
- package/source/class/qx/bom/Event.js +68 -78
- package/source/class/qx/bom/FileReader.js +110 -115
- package/source/class/qx/bom/Font.js +82 -122
- package/source/class/qx/bom/FullScreen.js +32 -41
- package/source/class/qx/bom/GeoLocation.js +39 -44
- package/source/class/qx/bom/HashHistory.js +58 -64
- package/source/class/qx/bom/History.js +61 -89
- package/source/class/qx/bom/Html.js +75 -71
- package/source/class/qx/bom/IdleCallback.js +20 -23
- package/source/class/qx/bom/Iframe.js +37 -69
- package/source/class/qx/bom/IframeHistory.js +83 -88
- package/source/class/qx/bom/Input.js +50 -66
- package/source/class/qx/bom/Label.js +65 -86
- package/source/class/qx/bom/Lifecycle.js +7 -9
- package/source/class/qx/bom/MediaQuery.js +324 -307
- package/source/class/qx/bom/NativeHistory.js +51 -46
- package/source/class/qx/bom/Notification.js +41 -47
- package/source/class/qx/bom/PageVisibility.js +19 -25
- package/source/class/qx/bom/Range.js +20 -30
- package/source/class/qx/bom/Selection.js +163 -172
- package/source/class/qx/bom/Selector.js +2401 -2181
- package/source/class/qx/bom/Shortcut.js +103 -129
- package/source/class/qx/bom/Storage.js +9 -8
- package/source/class/qx/bom/String.js +285 -290
- package/source/class/qx/bom/Style.js +30 -31
- package/source/class/qx/bom/Stylesheet.js +36 -60
- package/source/class/qx/bom/Template.js +730 -657
- package/source/class/qx/bom/Viewport.js +40 -46
- package/source/class/qx/bom/Vml.js +43 -28
- package/source/class/qx/bom/WebWorker.js +61 -50
- package/source/class/qx/bom/Window.js +88 -105
- package/source/class/qx/bom/__init__.js +11 -11
- package/source/class/qx/bom/client/Browser.js +45 -47
- package/source/class/qx/bom/client/Css.js +85 -85
- package/source/class/qx/bom/client/CssAnimation.js +41 -49
- package/source/class/qx/bom/client/CssTransform.js +21 -29
- package/source/class/qx/bom/client/CssTransition.js +9 -12
- package/source/class/qx/bom/client/Device.js +45 -45
- package/source/class/qx/bom/client/EcmaScript.js +153 -96
- package/source/class/qx/bom/client/Engine.js +38 -35
- package/source/class/qx/bom/client/Event.js +75 -63
- package/source/class/qx/bom/client/Html.js +97 -97
- package/source/class/qx/bom/client/Idle.js +4 -6
- package/source/class/qx/bom/client/Locale.js +15 -15
- package/source/class/qx/bom/client/OperatingSystem.js +89 -106
- package/source/class/qx/bom/client/Pdfjs.js +1364 -1067
- package/source/class/qx/bom/client/PhoneGap.js +6 -9
- package/source/class/qx/bom/client/Plugin.js +93 -97
- package/source/class/qx/bom/client/Runtime.js +14 -12
- package/source/class/qx/bom/client/Scroll.js +20 -16
- package/source/class/qx/bom/client/Stylesheet.js +44 -32
- package/source/class/qx/bom/client/Transport.js +38 -41
- package/source/class/qx/bom/client/Xml.js +39 -41
- package/source/class/qx/bom/client/__init__.js +4 -4
- package/source/class/qx/bom/element/Animation.js +15 -12
- package/source/class/qx/bom/element/AnimationCss.js +95 -64
- package/source/class/qx/bom/element/AnimationHandle.js +22 -29
- package/source/class/qx/bom/element/AnimationJs.js +94 -71
- package/source/class/qx/bom/element/Attribute.js +119 -134
- package/source/class/qx/bom/element/Background.js +35 -35
- package/source/class/qx/bom/element/BoxSizing.js +43 -44
- package/source/class/qx/bom/element/Class.js +50 -72
- package/source/class/qx/bom/element/Clip.js +36 -60
- package/source/class/qx/bom/element/Cursor.js +13 -20
- package/source/class/qx/bom/element/Dataset.js +33 -31
- package/source/class/qx/bom/element/Decoration.js +178 -168
- package/source/class/qx/bom/element/Dimension.js +78 -60
- package/source/class/qx/bom/element/Location.js +87 -94
- package/source/class/qx/bom/element/Opacity.js +42 -44
- package/source/class/qx/bom/element/Scroll.js +78 -88
- package/source/class/qx/bom/element/Style.js +61 -101
- package/source/class/qx/bom/element/Transform.js +38 -56
- package/source/class/qx/bom/element/__init__.js +4 -4
- package/source/class/qx/bom/media/Abstract.js +136 -143
- package/source/class/qx/bom/media/Audio.js +7 -12
- package/source/class/qx/bom/media/Video.js +15 -27
- package/source/class/qx/bom/request/IRequest.js +18 -21
- package/source/class/qx/bom/request/Jsonp.js +34 -39
- package/source/class/qx/bom/request/Script.js +94 -90
- package/source/class/qx/bom/request/SimpleXhr.js +111 -79
- package/source/class/qx/bom/request/Xhr.js +196 -143
- package/source/class/qx/bom/request/__init__.js +1 -1
- package/source/class/qx/bom/rest/Resource.js +269 -203
- package/source/class/qx/bom/storage/Memory.js +18 -29
- package/source/class/qx/bom/storage/UserData.js +28 -35
- package/source/class/qx/bom/storage/Web.js +19 -30
- package/source/class/qx/bom/webfonts/Manager.js +199 -130
- package/source/class/qx/bom/webfonts/Validator.js +84 -118
- package/source/class/qx/bom/webfonts/WebFont.js +24 -28
- package/source/class/qx/bom/webfonts/__init__.js +1 -1
- package/source/class/qx/core/Aspect.js +15 -22
- package/source/class/qx/core/Assert.js +391 -333
- package/source/class/qx/core/AssertionError.js +6 -15
- package/source/class/qx/core/BaseInit.js +25 -28
- package/source/class/qx/core/Environment.js +72 -86
- package/source/class/qx/core/GlobalError.js +12 -20
- package/source/class/qx/core/IDisposable.js +6 -9
- package/source/class/qx/core/Id.js +25 -15
- package/source/class/qx/core/Init.js +20 -20
- package/source/class/qx/core/MAssert.js +54 -97
- package/source/class/qx/core/MBindTo.js +10 -14
- package/source/class/qx/core/MEvent.js +76 -65
- package/source/class/qx/core/MLogging.js +9 -18
- package/source/class/qx/core/MObjectId.js +104 -65
- package/source/class/qx/core/MProperty.js +18 -34
- package/source/class/qx/core/Object.js +93 -122
- package/source/class/qx/core/ObjectRegistry.js +58 -81
- package/source/class/qx/core/Property.js +974 -780
- package/source/class/qx/core/ValidationError.js +3 -4
- package/source/class/qx/core/WindowError.js +13 -24
- package/source/class/qx/core/Wrapper.js +8 -9
- package/source/class/qx/data/Array.js +178 -191
- package/source/class/qx/data/Conversion.js +11 -18
- package/source/class/qx/data/IListData.js +11 -20
- package/source/class/qx/data/MBinding.js +31 -26
- package/source/class/qx/data/SingleValueBinding.js +491 -225
- package/source/class/qx/data/__init__.js +1 -1
- package/source/class/qx/data/controller/CheckedList.js +82 -54
- package/source/class/qx/data/controller/Form.js +81 -69
- package/source/class/qx/data/controller/IControllerDelegate.js +7 -12
- package/source/class/qx/data/controller/ISelection.js +6 -10
- package/source/class/qx/data/controller/List.js +151 -167
- package/source/class/qx/data/controller/MSelection.js +53 -72
- package/source/class/qx/data/controller/Object.js +106 -77
- package/source/class/qx/data/controller/Tree.js +164 -142
- package/source/class/qx/data/controller/__init__.js +1 -1
- package/source/class/qx/data/controller/website/List.js +34 -43
- package/source/class/qx/data/controller/website/__init__.js +2 -2
- package/source/class/qx/data/marshal/IMarshaler.js +4 -7
- package/source/class/qx/data/marshal/IMarshalerDelegate.js +10 -18
- package/source/class/qx/data/marshal/Json.js +112 -85
- package/source/class/qx/data/marshal/MEventBubbling.js +44 -42
- package/source/class/qx/data/marshal/__init__.js +1 -1
- package/source/class/qx/data/store/IStoreDelegate.js +6 -9
- package/source/class/qx/data/store/Json.js +71 -85
- package/source/class/qx/data/store/Jsonp.js +19 -25
- package/source/class/qx/data/store/Offline.js +21 -29
- package/source/class/qx/data/store/Rest.js +25 -23
- package/source/class/qx/data/store/__init__.js +1 -1
- package/source/class/qx/dev/Debug.js +105 -124
- package/source/class/qx/dev/FakeServer.js +68 -65
- package/source/class/qx/dev/ObjectSummary.js +33 -39
- package/source/class/qx/dev/Profile.js +62 -63
- package/source/class/qx/dev/StackTrace.js +64 -70
- package/source/class/qx/dev/Tokenizer.js +114 -126
- package/source/class/qx/dev/unit/AbstractTestSuite.js +17 -31
- package/source/class/qx/dev/unit/AsyncWrapper.js +22 -26
- package/source/class/qx/dev/unit/JsUnitTestResult.js +9 -21
- package/source/class/qx/dev/unit/MMeasure.js +46 -37
- package/source/class/qx/dev/unit/MMock.js +236 -240
- package/source/class/qx/dev/unit/MRequirements.js +53 -79
- package/source/class/qx/dev/unit/MRequirementsBasic.js +24 -19
- package/source/class/qx/dev/unit/MTestLoader.js +52 -57
- package/source/class/qx/dev/unit/MeasurementResult.js +18 -22
- package/source/class/qx/dev/unit/RequirementError.js +8 -17
- package/source/class/qx/dev/unit/Sinon.js +18826 -4613
- package/source/class/qx/dev/unit/TestCase.js +40 -51
- package/source/class/qx/dev/unit/TestClass.js +22 -23
- package/source/class/qx/dev/unit/TestFunction.js +28 -48
- package/source/class/qx/dev/unit/TestLoader.js +11 -14
- package/source/class/qx/dev/unit/TestLoaderBasic.js +3 -6
- package/source/class/qx/dev/unit/TestLoaderInline.js +8 -14
- package/source/class/qx/dev/unit/TestLoaderMobile.js +8 -14
- package/source/class/qx/dev/unit/TestLoaderNative.js +7 -13
- package/source/class/qx/dev/unit/TestResult.js +140 -118
- package/source/class/qx/dev/unit/TestSuite.js +46 -55
- package/source/class/qx/dom/Element.js +29 -74
- package/source/class/qx/dom/Hierarchy.js +60 -95
- package/source/class/qx/dom/Node.js +54 -81
- package/source/class/qx/dom/__init__.js +9 -9
- package/source/class/qx/event/AcceleratingTimer.js +28 -46
- package/source/class/qx/event/Emitter.js +54 -49
- package/source/class/qx/event/GlobalError.js +22 -38
- package/source/class/qx/event/IEventDispatcher.js +4 -9
- package/source/class/qx/event/IEventHandler.js +7 -13
- package/source/class/qx/event/Idle.js +32 -47
- package/source/class/qx/event/Manager.js +222 -237
- package/source/class/qx/event/Messaging.js +55 -48
- package/source/class/qx/event/Pool.js +5 -8
- package/source/class/qx/event/Registration.js +128 -118
- package/source/class/qx/event/Timer.js +50 -96
- package/source/class/qx/event/Utils.js +41 -28
- package/source/class/qx/event/dispatch/AbstractBubbling.js +133 -93
- package/source/class/qx/event/dispatch/Direct.js +46 -51
- package/source/class/qx/event/dispatch/DomBubbling.js +8 -15
- package/source/class/qx/event/dispatch/MouseCapture.js +74 -91
- package/source/class/qx/event/handler/Appear.js +40 -77
- package/source/class/qx/event/handler/Application.js +100 -126
- package/source/class/qx/event/handler/Capture.js +15 -37
- package/source/class/qx/event/handler/DragDrop.js +342 -228
- package/source/class/qx/event/handler/Element.js +45 -72
- package/source/class/qx/event/handler/ElementResize.js +35 -70
- package/source/class/qx/event/handler/Focus.js +908 -637
- package/source/class/qx/event/handler/Gesture.js +144 -93
- package/source/class/qx/event/handler/GestureCore.js +214 -163
- package/source/class/qx/event/handler/Iframe.js +21 -35
- package/source/class/qx/event/handler/Input.js +332 -209
- package/source/class/qx/event/handler/Keyboard.js +325 -270
- package/source/class/qx/event/handler/Mouse.js +212 -173
- package/source/class/qx/event/handler/Object.js +13 -31
- package/source/class/qx/event/handler/Offline.js +52 -67
- package/source/class/qx/event/handler/Orientation.js +56 -62
- package/source/class/qx/event/handler/OrientationCore.js +33 -43
- package/source/class/qx/event/handler/Pointer.js +84 -72
- package/source/class/qx/event/handler/PointerCore.js +183 -105
- package/source/class/qx/event/handler/Touch.js +43 -59
- package/source/class/qx/event/handler/TouchCore.js +159 -120
- package/source/class/qx/event/handler/Transition.js +91 -100
- package/source/class/qx/event/handler/UserAction.js +18 -42
- package/source/class/qx/event/handler/Video.js +12 -12
- package/source/class/qx/event/handler/Window.js +53 -69
- package/source/class/qx/event/message/Bus.js +109 -128
- package/source/class/qx/event/message/Message.js +14 -29
- package/source/class/qx/event/type/Data.js +11 -22
- package/source/class/qx/event/type/Dom.js +37 -52
- package/source/class/qx/event/type/Drag.js +37 -56
- package/source/class/qx/event/type/Event.js +80 -104
- package/source/class/qx/event/type/Focus.js +5 -8
- package/source/class/qx/event/type/GeoPosition.js +32 -41
- package/source/class/qx/event/type/KeyInput.js +9 -19
- package/source/class/qx/event/type/KeySequence.js +10 -21
- package/source/class/qx/event/type/Mouse.js +69 -72
- package/source/class/qx/event/type/MouseWheel.js +5 -9
- package/source/class/qx/event/type/Native.js +16 -27
- package/source/class/qx/event/type/Orientation.js +18 -30
- package/source/class/qx/event/type/Pinch.js +21 -27
- package/source/class/qx/event/type/Pointer.js +38 -41
- package/source/class/qx/event/type/Rest.js +7 -10
- package/source/class/qx/event/type/Roll.js +49 -58
- package/source/class/qx/event/type/Rotate.js +21 -27
- package/source/class/qx/event/type/Swipe.js +75 -86
- package/source/class/qx/event/type/Tap.js +2 -4
- package/source/class/qx/event/type/Touch.js +262 -286
- package/source/class/qx/event/type/Track.js +23 -28
- package/source/class/qx/event/type/dom/Custom.js +24 -20
- package/source/class/qx/event/type/dom/Pointer.js +86 -60
- package/source/class/qx/event/util/Keyboard.js +94 -106
- package/source/class/qx/html/Blocker.js +17 -18
- package/source/class/qx/html/Canvas.js +13 -29
- package/source/class/qx/html/Element.js +372 -497
- package/source/class/qx/html/Factory.js +31 -26
- package/source/class/qx/html/Iframe.js +35 -69
- package/source/class/qx/html/Image.js +43 -55
- package/source/class/qx/html/Input.js +44 -57
- package/source/class/qx/html/Jsx.js +49 -41
- package/source/class/qx/html/JsxRef.js +3 -5
- package/source/class/qx/html/Label.js +20 -32
- package/source/class/qx/html/Node.js +362 -422
- package/source/class/qx/html/Root.js +7 -16
- package/source/class/qx/html/Text.js +34 -27
- package/source/class/qx/io/ImageLoader.js +66 -90
- package/source/class/qx/io/PartLoader.js +17 -30
- package/source/class/qx/io/__init__.js +5 -3
- package/source/class/qx/io/exception/Cancel.js +33 -0
- package/source/class/qx/io/exception/Exception.js +37 -0
- package/source/class/qx/io/exception/Protocol.js +25 -0
- package/source/class/qx/io/exception/Transport.js +38 -0
- package/source/class/qx/io/exception/__init__.js +4 -0
- package/source/class/qx/io/graphql/Client.js +122 -0
- package/source/class/qx/io/graphql/__init__.js +9 -0
- package/source/class/qx/io/graphql/protocol/Message.js +65 -0
- package/source/class/qx/io/graphql/protocol/Request.js +93 -0
- package/source/class/qx/io/graphql/protocol/Response.js +63 -0
- package/source/class/qx/io/graphql/protocol/__init__.js +6 -0
- package/source/class/qx/io/jsonrpc/Client.js +355 -0
- package/source/class/qx/io/jsonrpc/__init__.js +15 -0
- package/source/class/qx/io/jsonrpc/protocol/Batch.js +103 -0
- package/source/class/qx/io/jsonrpc/protocol/Error.js +65 -0
- package/source/class/qx/io/jsonrpc/protocol/Message.js +48 -0
- package/source/class/qx/io/jsonrpc/protocol/Notification.js +47 -0
- package/source/class/qx/io/jsonrpc/protocol/Parser.js +105 -0
- package/source/class/qx/io/jsonrpc/protocol/Request.js +94 -0
- package/source/class/qx/io/jsonrpc/protocol/Result.js +49 -0
- package/source/class/qx/io/jsonrpc/protocol/__init__.js +5 -0
- package/source/class/qx/io/part/ClosurePart.js +16 -35
- package/source/class/qx/io/part/Package.js +35 -63
- package/source/class/qx/io/part/Part.js +29 -53
- package/source/class/qx/io/part/__init__.js +4 -4
- package/source/class/qx/io/request/AbstractRequest.js +268 -201
- package/source/class/qx/io/request/Jsonp.js +16 -19
- package/source/class/qx/io/request/Xhr.js +38 -37
- package/source/class/qx/io/request/__init__.js +1 -1
- package/source/class/qx/io/request/authentication/Basic.js +7 -13
- package/source/class/qx/io/request/authentication/Bearer.js +46 -0
- package/source/class/qx/io/request/authentication/IAuthentication.js +3 -6
- package/source/class/qx/io/request/authentication/__init__.js +1 -1
- package/source/class/qx/io/rest/Resource.js +122 -90
- package/source/class/qx/io/transport/AbstractClient.js +121 -0
- package/source/class/qx/io/transport/AbstractTransport.js +40 -0
- package/source/class/qx/io/transport/Fetch.js +98 -0
- package/source/class/qx/io/transport/ITransport.js +42 -0
- package/source/class/qx/io/transport/PostMessage.js +54 -0
- package/source/class/qx/io/transport/Websocket.js +97 -0
- package/source/class/qx/io/transport/Xhr.js +138 -0
- package/source/class/qx/io/transport/__init__.js +18 -0
- package/source/class/qx/lang/Array.js +133 -170
- package/source/class/qx/lang/Function.js +101 -104
- package/source/class/qx/lang/Json.js +1041 -774
- package/source/class/qx/lang/Number.js +11 -16
- package/source/class/qx/lang/Object.js +129 -100
- package/source/class/qx/lang/String.js +86 -94
- package/source/class/qx/lang/Type.js +44 -65
- package/source/class/qx/lang/normalize/Array.js +39 -49
- package/source/class/qx/lang/normalize/Date.js +50 -32
- package/source/class/qx/lang/normalize/Error.js +4 -7
- package/source/class/qx/lang/normalize/Function.js +11 -19
- package/source/class/qx/lang/normalize/Number.js +3 -5
- package/source/class/qx/lang/normalize/Object.js +17 -18
- package/source/class/qx/lang/normalize/String.js +39 -40
- package/source/class/qx/locale/Date.js +175 -178
- package/source/class/qx/locale/Key.js +13 -11
- package/source/class/qx/locale/LocalizedString.js +18 -15
- package/source/class/qx/locale/MTranslation.js +22 -23
- package/source/class/qx/locale/Manager.js +62 -100
- package/source/class/qx/locale/Number.js +20 -12
- package/source/class/qx/locale/String.js +26 -15
- package/source/class/qx/log/Logger.js +128 -180
- package/source/class/qx/log/__init__.js +3 -3
- package/source/class/qx/log/appender/Console.js +100 -111
- package/source/class/qx/log/appender/Element.js +25 -39
- package/source/class/qx/log/appender/Formatter.js +117 -66
- package/source/class/qx/log/appender/Native.js +4 -10
- package/source/class/qx/log/appender/NodeConsole.js +20 -28
- package/source/class/qx/log/appender/PhoneGap.js +5 -13
- package/source/class/qx/log/appender/RhinoConsole.js +12 -23
- package/source/class/qx/log/appender/RhinoFile.js +19 -26
- package/source/class/qx/log/appender/RingBuffer.js +10 -19
- package/source/class/qx/log/appender/Util.js +11 -9
- package/source/class/qx/module/Animation.js +73 -63
- package/source/class/qx/module/Attribute.js +27 -46
- package/source/class/qx/module/Blocker.js +33 -41
- package/source/class/qx/module/Cookie.js +6 -10
- package/source/class/qx/module/Css.js +82 -97
- package/source/class/qx/module/Dataset.js +12 -24
- package/source/class/qx/module/Environment.js +4 -6
- package/source/class/qx/module/Event.js +124 -127
- package/source/class/qx/module/Io.js +5 -9
- package/source/class/qx/module/Manipulating.js +98 -117
- package/source/class/qx/module/MatchMedia.js +50 -24
- package/source/class/qx/module/Messaging.js +6 -10
- package/source/class/qx/module/Placeholder.js +54 -44
- package/source/class/qx/module/Placement.js +33 -33
- package/source/class/qx/module/Rest.js +3 -4
- package/source/class/qx/module/Storage.js +34 -48
- package/source/class/qx/module/Template.js +6 -9
- package/source/class/qx/module/TextSelection.js +13 -21
- package/source/class/qx/module/Transform.js +28 -45
- package/source/class/qx/module/Traversing.js +160 -154
- package/source/class/qx/module/__init__.js +1 -1
- package/source/class/qx/module/dev/FakeServer.js +19 -25
- package/source/class/qx/module/event/GestureHandler.js +25 -13
- package/source/class/qx/module/event/Keyboard.js +42 -31
- package/source/class/qx/module/event/Mouse.js +48 -46
- package/source/class/qx/module/event/Native.js +18 -30
- package/source/class/qx/module/event/Orientation.js +11 -18
- package/source/class/qx/module/event/OrientationHandler.js +19 -17
- package/source/class/qx/module/event/Pinch.js +13 -14
- package/source/class/qx/module/event/Pointer.js +22 -22
- package/source/class/qx/module/event/PointerHandler.js +14 -11
- package/source/class/qx/module/event/Rotate.js +13 -14
- package/source/class/qx/module/event/Swipe.js +18 -24
- package/source/class/qx/module/event/Tap.js +25 -25
- package/source/class/qx/module/event/Touch.js +4 -7
- package/source/class/qx/module/event/TouchHandler.js +16 -16
- package/source/class/qx/module/event/Track.js +13 -14
- package/source/class/qx/module/util/Array.js +30 -41
- package/source/class/qx/module/util/Function.js +1 -2
- package/source/class/qx/module/util/Object.js +8 -11
- package/source/class/qx/module/util/String.js +10 -18
- package/source/class/qx/module/util/Type.js +3 -4
- package/source/class/qx/test/Annotation.js +195 -89
- package/source/class/qx/test/Bootstrap.js +98 -124
- package/source/class/qx/test/Browser.js +8 -11
- package/source/class/qx/test/Class.js +164 -198
- package/source/class/qx/test/Dom.js +10 -28
- package/source/class/qx/test/EditDistance.js +16 -16
- package/source/class/qx/test/Interface.js +380 -383
- package/source/class/qx/test/MAppearance.js +10 -14
- package/source/class/qx/test/MDecoration.js +1 -3
- package/source/class/qx/test/Mixin.js +418 -173
- package/source/class/qx/test/Promise.js +422 -333
- package/source/class/qx/test/Theme.js +204 -179
- package/source/class/qx/test/Xml.js +155 -84
- package/source/class/qx/test/application/Routing.js +45 -44
- package/source/class/qx/test/bom/AnimationFrame.js +23 -21
- package/source/class/qx/test/bom/Attribute.js +66 -47
- package/source/class/qx/test/bom/Basic.js +52 -27
- package/source/class/qx/test/bom/Blocker.js +100 -70
- package/source/class/qx/test/bom/Class.js +19 -34
- package/source/class/qx/test/bom/Cookie.js +49 -28
- package/source/class/qx/test/bom/Dataset.js +12 -24
- package/source/class/qx/test/bom/Element.js +55 -47
- package/source/class/qx/test/bom/Event.js +68 -45
- package/source/class/qx/test/bom/FileReader.js +6 -12
- package/source/class/qx/test/bom/Font.js +256 -118
- package/source/class/qx/test/bom/GeoLocation.js +82 -64
- package/source/class/qx/test/bom/History.js +63 -84
- package/source/class/qx/test/bom/IdleCallback.js +51 -38
- package/source/class/qx/test/bom/Iframe.js +14 -18
- package/source/class/qx/test/bom/Label.js +74 -105
- package/source/class/qx/test/bom/Location.js +70 -99
- package/source/class/qx/test/bom/PageVisibility.js +13 -16
- package/source/class/qx/test/bom/Selector.js +16 -16
- package/source/class/qx/test/bom/String.js +19 -15
- package/source/class/qx/test/bom/Stylesheet.js +39 -48
- package/source/class/qx/test/bom/Template.js +49 -57
- package/source/class/qx/test/bom/Viewport.js +7 -11
- package/source/class/qx/test/bom/WebWorker.js +49 -37
- package/source/class/qx/test/bom/Window.js +6 -12
- package/source/class/qx/test/bom/client/Css.js +26 -19
- package/source/class/qx/test/bom/client/Device.js +29 -18
- package/source/class/qx/test/bom/client/OperatingSystem.js +17 -20
- package/source/class/qx/test/bom/client/Pdfjs.js +15 -13
- package/source/class/qx/test/bom/element/AnimationHandle.js +20 -17
- package/source/class/qx/test/bom/element/AnimationJs.js +48 -31
- package/source/class/qx/test/bom/element/Background.js +93 -46
- package/source/class/qx/test/bom/element/BoxSizing.js +66 -61
- package/source/class/qx/test/bom/element/Class.js +33 -58
- package/source/class/qx/test/bom/element/Dimension.js +58 -37
- package/source/class/qx/test/bom/element/Style.js +87 -83
- package/source/class/qx/test/bom/element/Transform.js +209 -86
- package/source/class/qx/test/bom/media/Audio.js +18 -14
- package/source/class/qx/test/bom/media/MediaTestCase.js +61 -66
- package/source/class/qx/test/bom/media/Video.js +39 -28
- package/source/class/qx/test/bom/request/Jsonp.js +60 -57
- package/source/class/qx/test/bom/request/Script.js +150 -138
- package/source/class/qx/test/bom/request/SimpleXhr.js +206 -134
- package/source/class/qx/test/bom/request/Xhr.js +179 -132
- package/source/class/qx/test/bom/request/XhrWithRemote.js +206 -160
- package/source/class/qx/test/bom/rest/Resource.js +345 -281
- package/source/class/qx/test/bom/rest/ResourceWithRemote.js +74 -57
- package/source/class/qx/test/bom/storage/Local.js +3 -4
- package/source/class/qx/test/bom/storage/Session.js +3 -4
- package/source/class/qx/test/bom/storage/WebStorageTestCase.js +28 -27
- package/source/class/qx/test/bom/webfonts/Abstract.js +8 -10
- package/source/class/qx/test/bom/webfonts/Manager.js +127 -80
- package/source/class/qx/test/bom/webfonts/Validator.js +36 -30
- package/source/class/qx/test/compiler/ClassFile.js +29 -11
- package/source/class/qx/test/compiler/jsdoc/Parser.js +122 -96
- package/source/class/qx/test/core/Assert.js +151 -86
- package/source/class/qx/test/core/Environment.js +162 -123
- package/source/class/qx/test/core/EventEmitterDummy.js +7 -8
- package/source/class/qx/test/core/InheritanceDummy.js +23 -33
- package/source/class/qx/test/core/MemoryManagement.js +13 -5
- package/source/class/qx/test/core/Object.js +106 -112
- package/source/class/qx/test/core/ObjectId.js +7 -6
- package/source/class/qx/test/core/Property.js +483 -387
- package/source/class/qx/test/core/PropertyHelper.js +49 -64
- package/source/class/qx/test/core/Target.js +9 -13
- package/source/class/qx/test/core/Validation.js +409 -136
- package/source/class/qx/test/data/DataArray.js +1059 -394
- package/source/class/qx/test/data/DataArrayWithChangeBubble.js +315 -172
- package/source/class/qx/test/data/__init__.js +4 -4
- package/source/class/qx/test/data/controller/Form.js +141 -99
- package/source/class/qx/test/data/controller/FormWithArrayAndModel.js +66 -51
- package/source/class/qx/test/data/controller/List.js +644 -336
- package/source/class/qx/test/data/controller/ListReverse.js +64 -63
- package/source/class/qx/test/data/controller/ListWithObjects.js +305 -149
- package/source/class/qx/test/data/controller/Object.js +252 -94
- package/source/class/qx/test/data/controller/Tree.js +1219 -383
- package/source/class/qx/test/data/controller/__init__.js +4 -4
- package/source/class/qx/test/data/marshal/Json.js +832 -447
- package/source/class/qx/test/data/marshal/__init__.js +4 -4
- package/source/class/qx/test/data/singlevalue/Array.js +383 -144
- package/source/class/qx/test/data/singlevalue/Deep.js +361 -175
- package/source/class/qx/test/data/singlevalue/Resolve.js +51 -29
- package/source/class/qx/test/data/singlevalue/Simple.js +530 -208
- package/source/class/qx/test/data/singlevalue/TextFieldDummy.js +32 -28
- package/source/class/qx/test/data/singlevalue/__init__.js +4 -4
- package/source/class/qx/test/data/store/Json.js +574 -313
- package/source/class/qx/test/data/store/Jsonp.js +103 -77
- package/source/class/qx/test/data/store/Offline.js +127 -110
- package/source/class/qx/test/data/store/Rest.js +58 -52
- package/source/class/qx/test/data/store/RestWithRemote.js +36 -30
- package/source/class/qx/test/data/store/__init__.js +4 -4
- package/source/class/qx/test/dev/Debug.js +9 -13
- package/source/class/qx/test/dev/StackTrace.js +51 -42
- package/source/class/qx/test/dev/unit/Requirements.js +36 -49
- package/source/class/qx/test/dev/unit/Sinon.js +85 -73
- package/source/class/qx/test/dev/unit/TestCase.js +12 -17
- package/source/class/qx/test/dom/Element.js +17 -12
- package/source/class/qx/test/dom/Hierarchy.js +53 -38
- package/source/class/qx/test/dom/Node.js +97 -43
- package/source/class/qx/test/event/Bubbling.js +258 -88
- package/source/class/qx/test/event/Emitter.js +38 -39
- package/source/class/qx/test/event/GlobalError.js +59 -87
- package/source/class/qx/test/event/GlobalEventMonitors.js +22 -25
- package/source/class/qx/test/event/Messaging.js +66 -49
- package/source/class/qx/test/event/MockBubblingHandler.js +10 -15
- package/source/class/qx/test/event/MockHandler.js +14 -33
- package/source/class/qx/test/event/Registration.js +38 -32
- package/source/class/qx/test/event/Timer.js +61 -39
- package/source/class/qx/test/event/Utils.js +164 -123
- package/source/class/qx/test/event/dispatch/MouseCapture.js +61 -51
- package/source/class/qx/test/event/dispatch/MouseEventOnDocument.js +22 -23
- package/source/class/qx/test/event/dispatch/TestingHandler.js +8 -10
- package/source/class/qx/test/event/dispatch/TestingWindow.js +9 -13
- package/source/class/qx/test/event/dispatch/__init__.js +4 -4
- package/source/class/qx/test/event/handler/Offline.js +7 -8
- package/source/class/qx/test/event/message/Bus.js +112 -72
- package/source/class/qx/test/event/message/__init__.js +4 -4
- package/source/class/qx/test/event/type/Dom.js +12 -11
- package/source/class/qx/test/event/type/Event.js +7 -16
- package/source/class/qx/test/event/type/Mouse.js +12 -11
- package/source/class/qx/test/event/type/Native.js +12 -11
- package/source/class/qx/test/event/type/__init__.js +4 -4
- package/source/class/qx/test/event/util/Keyboard.js +4 -3
- package/source/class/qx/test/html/Element.js +538 -239
- package/source/class/qx/test/html/Iframe.js +85 -73
- package/source/class/qx/test/html/jsx/TestJsx.js +15 -4
- package/source/class/qx/test/html/jsx/TestJsxBrowser.js +37 -19
- package/source/class/qx/test/html/jsx/TestWidget.js +26 -26
- package/source/class/qx/test/io/ImageLoader.js +256 -160
- package/source/class/qx/test/io/MAssert.js +46 -0
- package/source/class/qx/test/io/MRemoteTest.js +9 -11
- package/source/class/qx/test/io/__init__.js +4 -4
- package/source/class/qx/test/io/graphql/Client.js +190 -0
- package/source/class/qx/test/io/graphql/ClientFetch.js +34 -0
- package/source/class/qx/test/io/graphql/Request.js +41 -0
- package/source/class/qx/test/io/jsonrpc/Client.js +333 -0
- package/source/class/qx/test/io/jsonrpc/Protocol.js +108 -0
- package/source/class/qx/test/io/request/Jsonp.js +23 -20
- package/source/class/qx/test/io/request/JsonpWithRemote.js +25 -22
- package/source/class/qx/test/io/request/MRequest.js +137 -114
- package/source/class/qx/test/io/request/Xhr.js +367 -209
- package/source/class/qx/test/io/request/XhrWithRemote.js +133 -100
- package/source/class/qx/test/io/rest/Resource.js +325 -270
- package/source/class/qx/test/io/rest/ResourceWithRemote.js +75 -58
- package/source/class/qx/test/io/transport/PostMessage.js +56 -0
- package/source/class/qx/test/io/transport/Websocket.js +64 -0
- package/source/class/qx/test/lang/Array.js +79 -105
- package/source/class/qx/test/lang/Function.js +64 -53
- package/source/class/qx/test/lang/Json.js +51 -79
- package/source/class/qx/test/lang/Number.js +4 -6
- package/source/class/qx/test/lang/Object.js +143 -133
- package/source/class/qx/test/lang/String.js +151 -95
- package/source/class/qx/test/lang/Type.js +34 -44
- package/source/class/qx/test/lang/Webkit.js +8 -13
- package/source/class/qx/test/lang/normalize/Array.js +121 -68
- package/source/class/qx/test/lang/normalize/Date.js +232 -49
- package/source/class/qx/test/lang/normalize/Error.js +5 -8
- package/source/class/qx/test/lang/normalize/Function.js +7 -13
- package/source/class/qx/test/lang/normalize/Object.js +22 -29
- package/source/class/qx/test/lang/normalize/String.js +19 -28
- package/source/class/qx/test/locale/Date.js +91 -43
- package/source/class/qx/test/locale/Locale.js +52 -32
- package/source/class/qx/test/locale/LocalizedString.js +12 -12
- package/source/class/qx/test/log/DeprecationMethodOverriding.js +52 -31
- package/source/class/qx/test/log/Filters.js +6 -3
- package/source/class/qx/test/log/Formatter.js +13 -7
- package/source/class/qx/test/log/Logger.js +19 -29
- package/source/class/qx/test/log/RingBuffer.js +14 -25
- package/source/class/qx/test/log/__init__.js +4 -4
- package/source/class/qx/test/log/fixture/ClassA.js +22 -22
- package/source/class/qx/test/log/fixture/ClassB1.js +7 -9
- package/source/class/qx/test/log/fixture/ClassB2.js +5 -7
- package/source/class/qx/test/log/fixture/ClassC1.js +5 -7
- package/source/class/qx/test/log/fixture/ClassC2.js +7 -9
- package/source/class/qx/test/mobile/LocaleSwitch.js +29 -36
- package/source/class/qx/test/mobile/MobileTestCase.js +39 -49
- package/source/class/qx/test/mobile/basic/Atom.js +129 -53
- package/source/class/qx/test/mobile/basic/Image.js +41 -31
- package/source/class/qx/test/mobile/basic/Label.js +6 -10
- package/source/class/qx/test/mobile/container/Carousel.js +41 -45
- package/source/class/qx/test/mobile/container/Composite.js +48 -65
- package/source/class/qx/test/mobile/container/Drawer.js +42 -29
- package/source/class/qx/test/mobile/container/Navigation.js +14 -20
- package/source/class/qx/test/mobile/container/Scroll.js +23 -19
- package/source/class/qx/test/mobile/core/Widget.js +150 -86
- package/source/class/qx/test/mobile/dialog/Menu.js +47 -26
- package/source/class/qx/test/mobile/dialog/Popup.js +30 -19
- package/source/class/qx/test/mobile/embed/Html.js +5 -8
- package/source/class/qx/test/mobile/form/Button.js +15 -13
- package/source/class/qx/test/mobile/form/CheckBox.js +21 -17
- package/source/class/qx/test/mobile/form/Form.js +37 -24
- package/source/class/qx/test/mobile/form/Group.js +5 -9
- package/source/class/qx/test/mobile/form/Label.js +11 -13
- package/source/class/qx/test/mobile/form/NumberField.js +49 -45
- package/source/class/qx/test/mobile/form/RadioButton.js +30 -19
- package/source/class/qx/test/mobile/form/SelectBox.js +39 -25
- package/source/class/qx/test/mobile/form/SingleRenderer.js +31 -27
- package/source/class/qx/test/mobile/form/Slider.js +55 -35
- package/source/class/qx/test/mobile/form/TextArea.js +34 -24
- package/source/class/qx/test/mobile/form/TextField.js +34 -24
- package/source/class/qx/test/mobile/form/ToggleButton.js +10 -14
- package/source/class/qx/test/mobile/layout/Card.js +21 -17
- package/source/class/qx/test/mobile/layout/HBox.js +25 -20
- package/source/class/qx/test/mobile/layout/VBox.js +25 -21
- package/source/class/qx/test/mobile/list/List.js +114 -83
- package/source/class/qx/test/mobile/navigationbar/NavigationBar.js +5 -9
- package/source/class/qx/test/mobile/page/Manager.js +7 -13
- package/source/class/qx/test/mobile/page/NavigationPage.js +7 -17
- package/source/class/qx/test/mobile/page/Page.js +101 -68
- package/source/class/qx/test/mobile/tabbar/TabBar.js +11 -21
- package/source/class/qx/test/mobile/toolbar/Toolbar.js +16 -16
- package/source/class/qx/test/performance/BaseCall.js +31 -36
- package/source/class/qx/test/performance/Event.js +60 -53
- package/source/class/qx/test/performance/Object.js +16 -22
- package/source/class/qx/test/performance/Property.js +20 -22
- package/source/class/qx/test/performance/data/Marshaling.js +25 -30
- package/source/class/qx/test/performance/decorator/AbstractDecorator.js +22 -34
- package/source/class/qx/test/performance/decorator/Background.js +4 -6
- package/source/class/qx/test/performance/decorator/BackgroundScale.js +6 -8
- package/source/class/qx/test/performance/decorator/Single.js +4 -6
- package/source/class/qx/test/performance/element/Element.js +50 -67
- package/source/class/qx/test/performance/widget/AbstractWidget.js +31 -44
- package/source/class/qx/test/performance/widget/Button.js +5 -7
- package/source/class/qx/test/performance/widget/Label.js +5 -7
- package/source/class/qx/test/performance/widget/RichLabel.js +6 -8
- package/source/class/qx/test/performance/widget/Widget.js +5 -7
- package/source/class/qx/test/performance/widget/WidgetWithDecorator.js +7 -9
- package/source/class/qx/test/performance/widget/WidgetWithSingle.js +9 -11
- package/source/class/qx/test/renderer/Color.js +22 -49
- package/source/class/qx/test/testclasses/BaseClassBoth.js +11 -8
- package/source/class/qx/test/testclasses/BaseClassIncluded.js +5 -6
- package/source/class/qx/test/testclasses/BaseClassPatched.js +15 -8
- package/source/class/qx/test/testclasses/DerivedClassBoth.js +7 -7
- package/source/class/qx/test/testclasses/DerivedClassIncluded.js +7 -7
- package/source/class/qx/test/testclasses/DerivedClassPatched.js +7 -7
- package/source/class/qx/test/testclasses/MMixinOne.js +4 -4
- package/source/class/qx/test/testclasses/MMixinTwo.js +2 -2
- package/source/class/qx/test/testclasses/RootClass.js +8 -8
- package/source/class/qx/test/theme/__init__.js +4 -4
- package/source/class/qx/test/theme/manager/Color.js +52 -66
- package/source/class/qx/test/theme/manager/Decoration.js +177 -154
- package/source/class/qx/test/theme/manager/Font.js +68 -39
- package/source/class/qx/test/theme/manager/Icon.js +46 -43
- package/source/class/qx/test/theme/manager/Meta.js +121 -110
- package/source/class/qx/test/theme/manager/__init__.js +4 -4
- package/source/class/qx/test/theme/manager/mock/Appearance.js +17 -23
- package/source/class/qx/test/theme/manager/mock/Color.js +7 -9
- package/source/class/qx/test/theme/manager/mock/Decoration.js +7 -10
- package/source/class/qx/test/theme/manager/mock/Font.js +6 -10
- package/source/class/qx/test/theme/simple/Appearance.js +268 -210
- package/source/class/qx/test/tool/utils/Utils.js +10 -8
- package/source/class/qx/test/toolchain/PrivateOptimization.js +20 -13
- package/source/class/qx/test/toolchain/TestRunner.js +12 -12
- package/source/class/qx/test/toolchain/VariantOptimization.js +37 -26
- package/source/class/qx/test/toolchain/__init__.js +4 -4
- package/source/class/qx/test/type/Array.js +8 -12
- package/source/class/qx/test/type/BaseArray.js +58 -78
- package/source/class/qx/test/type/BaseString.js +27 -65
- package/source/class/qx/test/type/__init__.js +4 -4
- package/source/class/qx/test/ui/BackgroundColor.js +20 -21
- package/source/class/qx/test/ui/ChildrenHandling.js +136 -81
- package/source/class/qx/test/ui/Destroy.js +310 -248
- package/source/class/qx/test/ui/Focus.js +40 -87
- package/source/class/qx/test/ui/Insets.js +14 -18
- package/source/class/qx/test/ui/LayoutTestCase.js +99 -92
- package/source/class/qx/test/ui/LocaleSwitch.js +37 -41
- package/source/class/qx/test/ui/RadioItems.js +11 -22
- package/source/class/qx/test/ui/Widget.js +13 -17
- package/source/class/qx/test/ui/Window.js +26 -39
- package/source/class/qx/test/ui/basic/Atom.js +37 -25
- package/source/class/qx/test/ui/basic/Image.js +179 -138
- package/source/class/qx/test/ui/basic/Label.js +147 -65
- package/source/class/qx/test/ui/basic/__init__.js +4 -4
- package/source/class/qx/test/ui/command/Command.js +105 -69
- package/source/class/qx/test/ui/command/Group.js +24 -21
- package/source/class/qx/test/ui/command/GroupManager.js +7 -12
- package/source/class/qx/test/ui/container/Stack.js +26 -36
- package/source/class/qx/test/ui/core/AbstractScrollArea.js +84 -67
- package/source/class/qx/test/ui/core/Appearance.js +53 -54
- package/source/class/qx/test/ui/core/Blocker.js +80 -44
- package/source/class/qx/test/ui/core/DragDropScrolling.js +69 -55
- package/source/class/qx/test/ui/core/Placement.js +22 -34
- package/source/class/qx/test/ui/core/Queues.js +28 -39
- package/source/class/qx/test/ui/core/SizeHint.js +32 -76
- package/source/class/qx/test/ui/core/SizeHintX.js +8 -15
- package/source/class/qx/test/ui/core/SizeHintY.js +8 -15
- package/source/class/qx/test/ui/core/Spacer.js +11 -18
- package/source/class/qx/test/ui/core/Widget.js +117 -112
- package/source/class/qx/test/ui/core/__init__.js +4 -4
- package/source/class/qx/test/ui/decoration/LinearGradient.js +18 -14
- package/source/class/qx/test/ui/embed/Iframe.js +70 -66
- package/source/class/qx/test/ui/embed/__init__.js +4 -4
- package/source/class/qx/test/ui/form/AbstractSelectBox.js +11 -16
- package/source/class/qx/test/ui/form/AbstractVirtualBox.js +12 -19
- package/source/class/qx/test/ui/form/BooleanFormat.js +40 -25
- package/source/class/qx/test/ui/form/Color.js +29 -19
- package/source/class/qx/test/ui/form/ComboBox.js +39 -25
- package/source/class/qx/test/ui/form/Date.js +34 -21
- package/source/class/qx/test/ui/form/DateField.js +16 -19
- package/source/class/qx/test/ui/form/Executable.js +98 -68
- package/source/class/qx/test/ui/form/Field.js +65 -54
- package/source/class/qx/test/ui/form/Form.js +211 -123
- package/source/class/qx/test/ui/form/FormManager.js +72 -100
- package/source/class/qx/test/ui/form/FormValidator.js +549 -399
- package/source/class/qx/test/ui/form/Label.js +87 -65
- package/source/class/qx/test/ui/form/List.js +19 -19
- package/source/class/qx/test/ui/form/MenuButton.js +26 -20
- package/source/class/qx/test/ui/form/ModelProperty.js +40 -36
- package/source/class/qx/test/ui/form/ModelSelection.js +39 -84
- package/source/class/qx/test/ui/form/NumberFormat.js +30 -19
- package/source/class/qx/test/ui/form/Placeholder.js +147 -87
- package/source/class/qx/test/ui/form/RadioButtonGroup.js +31 -26
- package/source/class/qx/test/ui/form/RadioGroup.js +58 -54
- package/source/class/qx/test/ui/form/Range.js +63 -28
- package/source/class/qx/test/ui/form/Renderer.js +39 -33
- package/source/class/qx/test/ui/form/Resetter.js +21 -35
- package/source/class/qx/test/ui/form/Slider.js +37 -21
- package/source/class/qx/test/ui/form/Spinner.js +9 -5
- package/source/class/qx/test/ui/form/SplitButton.js +7 -11
- package/source/class/qx/test/ui/form/StringFormat.js +60 -30
- package/source/class/qx/test/ui/form/TextArea.js +59 -41
- package/source/class/qx/test/ui/form/TextField.js +14 -16
- package/source/class/qx/test/ui/form/ToggleButton.js +20 -24
- package/source/class/qx/test/ui/form/VirtualSelectBox.js +66 -40
- package/source/class/qx/test/ui/form/__init__.js +4 -4
- package/source/class/qx/test/ui/form/virtual/VirtualComboBox.js +58 -60
- package/source/class/qx/test/ui/form/virtual/VirtualDropDownList.js +120 -110
- package/source/class/qx/test/ui/form/virtual/VirtualSelectBox.js +43 -27
- package/source/class/qx/test/ui/groupbox/CheckGroupBox.js +13 -18
- package/source/class/qx/test/ui/indicator/ProgressBar.js +73 -48
- package/source/class/qx/test/ui/layout/Box.js +23 -22
- package/source/class/qx/test/ui/layout/Flow.js +233 -153
- package/source/class/qx/test/ui/layout/Grid.js +88 -101
- package/source/class/qx/test/ui/layout/LayoutItem.js +57 -83
- package/source/class/qx/test/ui/layout/LayoutRoot.js +7 -11
- package/source/class/qx/test/ui/layout/Util.js +30 -31
- package/source/class/qx/test/ui/layout/__init__.js +4 -4
- package/source/class/qx/test/ui/list/AbstractListTest.js +13 -21
- package/source/class/qx/test/ui/list/Group.js +191 -114
- package/source/class/qx/test/ui/list/List.js +189 -132
- package/source/class/qx/test/ui/list/MAssert.js +14 -9
- package/source/class/qx/test/ui/list/ObjectGroup.js +131 -109
- package/source/class/qx/test/ui/list/core/MultiSelection.js +58 -44
- package/source/class/qx/test/ui/list/core/SingleSelection.js +43 -43
- package/source/class/qx/test/ui/list/fixture/GroupMock.js +6 -9
- package/source/class/qx/test/ui/list/fixture/ItemMock.js +9 -13
- package/source/class/qx/test/ui/root/Inline.js +22 -20
- package/source/class/qx/test/ui/selection/AbstractMultiSelectonTest.js +188 -105
- package/source/class/qx/test/ui/selection/AbstractSingleSelectonTest.js +173 -125
- package/source/class/qx/test/ui/selection/ListMultiSelection.js +19 -21
- package/source/class/qx/test/ui/selection/ListSingleSelection.js +19 -21
- package/source/class/qx/test/ui/selection/RadioGroup.js +41 -29
- package/source/class/qx/test/ui/selection/SelectBox.js +11 -17
- package/source/class/qx/test/ui/selection/Stack.js +22 -27
- package/source/class/qx/test/ui/selection/TabView.js +35 -26
- package/source/class/qx/test/ui/selection/TreeMultiSelection.js +14 -19
- package/source/class/qx/test/ui/selection/TreeSingleSelection.js +20 -24
- package/source/class/qx/test/ui/selection/__init__.js +4 -4
- package/source/class/qx/test/ui/table/Dispose.js +46 -46
- package/source/class/qx/test/ui/table/Table.js +74 -69
- package/source/class/qx/test/ui/table/__init__.js +4 -4
- package/source/class/qx/test/ui/table/celleditor/AbstractField.js +14 -28
- package/source/class/qx/test/ui/table/celleditor/ComboBox.js +11 -18
- package/source/class/qx/test/ui/table/celleditor/PasswordField.js +6 -10
- package/source/class/qx/test/ui/table/celleditor/SelectBox.js +16 -32
- package/source/class/qx/test/ui/table/celleditor/TextField.js +6 -9
- package/source/class/qx/test/ui/table/celleditor/__init__.js +4 -4
- package/source/class/qx/test/ui/table/columnmodel/Basic.js +130 -129
- package/source/class/qx/test/ui/table/model/Filtered.js +51 -36
- package/source/class/qx/test/ui/table/model/Simple.js +43 -45
- package/source/class/qx/test/ui/table/selection/Model.js +70 -22
- package/source/class/qx/test/ui/toolbar/OverflowHandling.js +145 -123
- package/source/class/qx/test/ui/toolbar/ToolBar.js +20 -30
- package/source/class/qx/test/ui/tree/Tree.js +63 -42
- package/source/class/qx/test/ui/tree/TreeFolder.js +44 -46
- package/source/class/qx/test/ui/tree/virtual/AbstractTreeTest.js +61 -96
- package/source/class/qx/test/ui/tree/virtual/MultiSelection.js +68 -39
- package/source/class/qx/test/ui/tree/virtual/OneSelection.js +82 -42
- package/source/class/qx/test/ui/tree/virtual/OpenCloseController.js +80 -101
- package/source/class/qx/test/ui/tree/virtual/SingleSelection.js +40 -32
- package/source/class/qx/test/ui/tree/virtual/Sorting.js +46 -47
- package/source/class/qx/test/ui/tree/virtual/Tree.js +267 -191
- package/source/class/qx/test/ui/tree/virtual/TreeItem.js +60 -63
- package/source/class/qx/test/ui/tree/virtual/UtilTest.js +65 -50
- package/source/class/qx/test/ui/tree/virtual/WidgetProvider.js +127 -132
- package/source/class/qx/test/ui/virtual/Axis.js +210 -193
- package/source/class/qx/test/ui/virtual/Pane.js +287 -190
- package/source/class/qx/test/ui/virtual/PaneUpdate.js +71 -77
- package/source/class/qx/test/ui/virtual/PointerEventMock.js +10 -13
- package/source/class/qx/test/ui/virtual/Scroller.js +29 -39
- package/source/class/qx/test/ui/virtual/__init__.js +4 -4
- package/source/class/qx/test/ui/virtual/cell/WidgetCell.js +39 -40
- package/source/class/qx/test/ui/virtual/layer/CellSpanManager.js +157 -127
- package/source/class/qx/test/ui/virtual/layer/Column.js +6 -10
- package/source/class/qx/test/ui/virtual/layer/GridLines.js +6 -10
- package/source/class/qx/test/ui/virtual/layer/GridLinesHorizontal.js +6 -9
- package/source/class/qx/test/ui/virtual/layer/GridLinesVertical.js +6 -9
- package/source/class/qx/test/ui/virtual/layer/HtmlCell.js +12 -19
- package/source/class/qx/test/ui/virtual/layer/HtmlCellSpan.js +13 -21
- package/source/class/qx/test/ui/virtual/layer/LayerMock.js +31 -43
- package/source/class/qx/test/ui/virtual/layer/LayerSimple.js +26 -26
- package/source/class/qx/test/ui/virtual/layer/LayerTestCase.js +52 -50
- package/source/class/qx/test/ui/virtual/layer/Row.js +6 -10
- package/source/class/qx/test/ui/virtual/layer/WidgetCell.js +45 -52
- package/source/class/qx/test/ui/virtual/layer/WidgetCellSpan.js +71 -48
- package/source/class/qx/test/ui/virtual/layer/__init__.js +4 -4
- package/source/class/qx/test/ui/virtual/performance/AbstractLayerTest.js +84 -68
- package/source/class/qx/test/ui/virtual/performance/DomCell.js +6 -9
- package/source/class/qx/test/ui/virtual/performance/DomPoolCell.js +6 -9
- package/source/class/qx/test/ui/virtual/performance/HtmlDivCell.js +7 -11
- package/source/class/qx/test/ui/virtual/performance/HtmlDivRelative.js +6 -9
- package/source/class/qx/test/ui/virtual/performance/HtmlTableCell.js +8 -13
- package/source/class/qx/test/ui/virtual/performance/HtmlTableCellNaive.js +8 -13
- package/source/class/qx/test/ui/virtual/performance/HtmlTableCssCell.js +8 -19
- package/source/class/qx/test/ui/virtual/performance/WidgetCell.js +10 -15
- package/source/class/qx/test/ui/virtual/performance/__init__.js +4 -4
- package/source/class/qx/test/ui/virtual/performance/layer/DomCell.js +24 -18
- package/source/class/qx/test/ui/virtual/performance/layer/DomPoolCell.js +28 -26
- package/source/class/qx/test/ui/virtual/performance/layer/HtmlDivRelative.js +13 -17
- package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCell.js +29 -28
- package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCellNaive.js +22 -24
- package/source/class/qx/test/ui/virtual/performance/layer/HtmlTableCssCell.js +32 -47
- package/source/class/qx/test/ui/virtual/performance/layer/__init__.js +4 -4
- package/source/class/qx/test/ui/window/Desktop.js +21 -12
- package/source/class/qx/test/util/Base64.js +10 -13
- package/source/class/qx/test/util/ColorUtil.js +121 -54
- package/source/class/qx/test/util/DateFormat.js +569 -299
- package/source/class/qx/test/util/DateMock.js +16 -19
- package/source/class/qx/test/util/DeferredCall.js +12 -13
- package/source/class/qx/test/util/Delegate.js +28 -26
- package/source/class/qx/test/util/DisposeUtil.js +32 -14
- package/source/class/qx/test/util/DynamicScriptLoader.js +99 -64
- package/source/class/qx/test/util/Fsm.js +16 -18
- package/source/class/qx/test/util/Function.js +23 -19
- package/source/class/qx/test/util/LibraryManager.js +15 -22
- package/source/class/qx/test/util/NumberFormat.js +53 -64
- package/source/class/qx/test/util/PropertyUtil.js +35 -35
- package/source/class/qx/test/util/Request.js +26 -18
- package/source/class/qx/test/util/ResourceManager.js +50 -35
- package/source/class/qx/test/util/ResponseParser.js +45 -35
- package/source/class/qx/test/util/RingBuffer.js +15 -28
- package/source/class/qx/test/util/Serializer.js +210 -153
- package/source/class/qx/test/util/StringBuilder.js +7 -13
- package/source/class/qx/test/util/StringSplit.js +114 -69
- package/source/class/qx/test/util/Uri.js +74 -78
- package/source/class/qx/test/util/Validate.js +95 -64
- package/source/class/qx/test/util/placement/BestFitAxis.js +17 -26
- package/source/class/qx/test/util/placement/DirectAxis.js +8 -11
- package/source/class/qx/test/util/placement/KeepAlignAxis.js +17 -26
- package/source/class/qx/test/util/placement/Placement.js +607 -244
- package/source/class/qx/test/util/placement/__init__.js +4 -4
- package/source/class/qx/theme/Classic.js +9 -11
- package/source/class/qx/theme/Indigo.js +9 -11
- package/source/class/qx/theme/Modern.js +9 -11
- package/source/class/qx/theme/Simple.js +9 -11
- package/source/class/qx/theme/TangibleDark.js +1 -1
- package/source/class/qx/theme/TangibleLight.js +1 -1
- package/source/class/qx/theme/__init__.js +4 -4
- package/source/class/qx/theme/classic/Appearance.js +995 -1336
- package/source/class/qx/theme/classic/Color.js +83 -83
- package/source/class/qx/theme/classic/Decoration.js +318 -299
- package/source/class/qx/theme/classic/Font.js +38 -25
- package/source/class/qx/theme/icon/Oxygen.js +4 -5
- package/source/class/qx/theme/icon/Tango.js +4 -5
- package/source/class/qx/theme/indigo/Appearance.js +66 -85
- package/source/class/qx/theme/indigo/Color.js +65 -66
- package/source/class/qx/theme/indigo/Decoration.js +31 -45
- package/source/class/qx/theme/indigo/Font.js +20 -29
- package/source/class/qx/theme/manager/Appearance.js +58 -91
- package/source/class/qx/theme/manager/Color.js +20 -41
- package/source/class/qx/theme/manager/Decoration.js +72 -100
- package/source/class/qx/theme/manager/Font.js +51 -67
- package/source/class/qx/theme/manager/Icon.js +13 -27
- package/source/class/qx/theme/manager/Meta.js +27 -44
- package/source/class/qx/theme/modern/Appearance.js +1049 -1440
- package/source/class/qx/theme/modern/Color.js +155 -166
- package/source/class/qx/theme/modern/Decoration.js +471 -598
- package/source/class/qx/theme/modern/Font.js +59 -52
- package/source/class/qx/theme/simple/Appearance.js +936 -1207
- package/source/class/qx/theme/simple/Color.js +62 -62
- package/source/class/qx/theme/simple/Decoration.js +456 -678
- package/source/class/qx/theme/simple/Font.js +18 -25
- package/source/class/qx/theme/simple/Image.js +49 -52
- package/source/class/qx/theme/tangible/Appearance.js +1575 -1743
- package/source/class/qx/theme/tangible/ColorDark.js +5 -5
- package/source/class/qx/theme/tangible/ColorEngine.js +38 -35
- package/source/class/qx/theme/tangible/ColorLight.js +7 -7
- package/source/class/qx/theme/tangible/Decoration.js +1108 -1300
- package/source/class/qx/theme/tangible/Font.js +66 -70
- package/source/class/qx/theme/tangible/Image.js +44 -48
- package/source/class/qx/tool/cli/Application.js +5 -5
- package/source/class/qx/tool/cli/Cli.js +103 -52
- package/source/class/qx/tool/cli/ConfigDb.js +18 -15
- package/source/class/qx/tool/cli/LibraryApplication.js +1 -1
- package/source/class/qx/tool/cli/Watch.js +174 -102
- package/source/class/qx/tool/cli/api/AbstractApi.js +17 -18
- package/source/class/qx/tool/cli/api/CompilerApi.js +15 -8
- package/source/class/qx/tool/cli/api/LibraryApi.js +4 -6
- package/source/class/qx/tool/cli/api/Test.js +12 -9
- package/source/class/qx/tool/cli/commands/Add.js +12 -15
- package/source/class/qx/tool/cli/commands/Clean.js +10 -9
- package/source/class/qx/tool/cli/commands/Command.js +18 -13
- package/source/class/qx/tool/cli/commands/Compile.js +633 -267
- package/source/class/qx/tool/cli/commands/Config.js +75 -42
- package/source/class/qx/tool/cli/commands/Create.js +108 -59
- package/source/class/qx/tool/cli/commands/Deploy.js +138 -86
- package/source/class/qx/tool/cli/commands/Es6ify.js +118 -0
- package/source/class/qx/tool/cli/commands/Lint.js +75 -34
- package/source/class/qx/tool/cli/commands/Migrate.js +13 -7
- package/source/class/qx/tool/cli/commands/Package.js +67 -45
- package/source/class/qx/tool/cli/commands/Pkg.js +21 -18
- package/source/class/qx/tool/cli/commands/Run.js +57 -37
- package/source/class/qx/tool/cli/commands/Serve.js +62 -37
- package/source/class/qx/tool/cli/commands/Test.js +40 -18
- package/source/class/qx/tool/cli/commands/add/Class.js +66 -28
- package/source/class/qx/tool/cli/commands/add/Script.js +54 -27
- package/source/class/qx/tool/cli/commands/package/Install.js +265 -103
- package/source/class/qx/tool/cli/commands/package/List.js +199 -75
- package/source/class/qx/tool/cli/commands/package/Migrate.js +7 -3
- package/source/class/qx/tool/cli/commands/package/Publish.js +220 -114
- package/source/class/qx/tool/cli/commands/package/Remove.js +40 -17
- package/source/class/qx/tool/cli/commands/package/Update.js +115 -48
- package/source/class/qx/tool/cli/commands/package/Upgrade.js +41 -20
- package/source/class/qx/tool/compiler/Analyser.js +427 -222
- package/source/class/qx/tool/compiler/ClassFile.js +831 -401
- package/source/class/qx/tool/compiler/Console.js +136 -87
- package/source/class/qx/tool/compiler/Es6ify.js +404 -0
- package/source/class/qx/tool/compiler/Preprocess.js +28 -25
- package/source/class/qx/tool/compiler/app/Application.js +149 -72
- package/source/class/qx/tool/compiler/app/Cldr.js +506 -106
- package/source/class/qx/tool/compiler/app/Library.js +62 -27
- package/source/class/qx/tool/compiler/app/Part.js +10 -12
- package/source/class/qx/tool/compiler/app/Translation.js +189 -162
- package/source/class/qx/tool/compiler/app/WebFont.js +215 -161
- package/source/class/qx/tool/compiler/jsdoc/ChildControlParser.js +3 -3
- package/source/class/qx/tool/compiler/jsdoc/CommandParser.js +8 -9
- package/source/class/qx/tool/compiler/jsdoc/ParamParser.js +7 -6
- package/source/class/qx/tool/compiler/jsdoc/Parser.js +27 -18
- package/source/class/qx/tool/compiler/jsdoc/ReturnParser.js +3 -3
- package/source/class/qx/tool/compiler/jsdoc/ThrowsParser.js +4 -4
- package/source/class/qx/tool/compiler/makers/AbstractAppMaker.js +5 -6
- package/source/class/qx/tool/compiler/makers/AppMaker.js +40 -19
- package/source/class/qx/tool/compiler/makers/Maker.js +29 -21
- package/source/class/qx/tool/compiler/resources/AbstractMatcher.js +8 -8
- package/source/class/qx/tool/compiler/resources/Asset.js +123 -61
- package/source/class/qx/tool/compiler/resources/ImageLoader.js +18 -8
- package/source/class/qx/tool/compiler/resources/Manager.js +156 -93
- package/source/class/qx/tool/compiler/resources/MetaLoader.js +5 -3
- package/source/class/qx/tool/compiler/resources/ResourceConverter.js +8 -8
- package/source/class/qx/tool/compiler/resources/ResourceLoader.js +8 -9
- package/source/class/qx/tool/compiler/resources/ScssConverter.js +54 -18
- package/source/class/qx/tool/compiler/resources/ScssFile.js +157 -80
- package/source/class/qx/tool/compiler/resources/ScssIncludeConverter.js +3 -3
- package/source/class/qx/tool/compiler/targets/BuildTarget.js +23 -13
- package/source/class/qx/tool/compiler/targets/SourceCodeCopier.js +29 -9
- package/source/class/qx/tool/compiler/targets/SourceTarget.js +2 -2
- package/source/class/qx/tool/compiler/targets/Target.js +292 -187
- package/source/class/qx/tool/compiler/targets/TypeScriptWriter.js +163 -103
- package/source/class/qx/tool/compiler/targets/meta/AbstractJavascriptMeta.js +48 -23
- package/source/class/qx/tool/compiler/targets/meta/ApplicationMeta.js +75 -62
- package/source/class/qx/tool/compiler/targets/meta/BootJs.js +49 -29
- package/source/class/qx/tool/compiler/targets/meta/Javascript.js +6 -7
- package/source/class/qx/tool/compiler/targets/meta/Package.js +54 -51
- package/source/class/qx/tool/compiler/targets/meta/PackageJavascript.js +41 -21
- package/source/class/qx/tool/compiler/targets/meta/Part.js +9 -10
- package/source/class/qx/tool/compiler/targets/meta/PolyfillJs.js +18 -5
- package/source/class/qx/tool/compiler/targets/meta/Uglify.js +54 -21
- package/source/class/qx/tool/config/Abstract.js +61 -25
- package/source/class/qx/tool/config/Compile.js +3 -2
- package/source/class/qx/tool/config/Lockfile.js +3 -2
- package/source/class/qx/tool/config/Manifest.js +3 -2
- package/source/class/qx/tool/config/Registry.js +4 -3
- package/source/class/qx/tool/config/Utils.js +88 -37
- package/source/class/qx/tool/migration/BaseMigration.js +67 -25
- package/source/class/qx/tool/migration/M6_0_0.js +96 -46
- package/source/class/qx/tool/migration/M7_0_0.js +12 -6
- package/source/class/qx/tool/migration/Runner.js +28 -14
- package/source/class/qx/tool/utils/IndexedArray.js +15 -18
- package/source/class/qx/tool/utils/Json.js +35 -14
- package/source/class/qx/tool/utils/LogManager.js +50 -26
- package/source/class/qx/tool/utils/Logger.js +11 -12
- package/source/class/qx/tool/utils/Promisify.js +45 -49
- package/source/class/qx/tool/utils/Utils.js +63 -48
- package/source/class/qx/tool/utils/Values.js +4 -7
- package/source/class/qx/tool/utils/Website.js +82 -29
- package/source/class/qx/tool/utils/files/FindFiles.js +37 -33
- package/source/class/qx/tool/utils/files/Utils.js +74 -54
- package/source/class/qx/tool/utils/json/Parser.js +163 -54
- package/source/class/qx/tool/utils/json/Stringify.js +87 -72
- package/source/class/qx/tool/utils/json/Tokenizer.js +64 -39
- package/source/class/qx/tool/utils/json/Writer.js +20 -21
- package/source/class/qx/type/Array.js +19 -41
- package/source/class/qx/type/BaseArray.js +136 -151
- package/source/class/qx/type/BaseError.js +17 -34
- package/source/class/qx/type/BaseString.js +104 -121
- package/source/class/qx/type/__init__.js +3 -3
- package/source/class/qx/ui/basic/Atom.js +75 -109
- package/source/class/qx/ui/basic/Image.js +283 -319
- package/source/class/qx/ui/basic/Label.js +161 -208
- package/source/class/qx/ui/command/Command.js +51 -86
- package/source/class/qx/ui/command/Group.js +43 -50
- package/source/class/qx/ui/command/GroupManager.js +50 -53
- package/source/class/qx/ui/container/Composite.js +15 -29
- package/source/class/qx/ui/container/Resizer.js +7 -11
- package/source/class/qx/ui/container/Scroll.js +10 -21
- package/source/class/qx/ui/container/SlideBar.js +76 -119
- package/source/class/qx/ui/container/Stack.js +27 -54
- package/source/class/qx/ui/control/ColorPopup.js +109 -130
- package/source/class/qx/ui/control/ColorSelector.js +334 -301
- package/source/class/qx/ui/control/DateChooser.js +143 -177
- package/source/class/qx/ui/core/Blocker.js +91 -127
- package/source/class/qx/ui/core/ColumnData.js +16 -34
- package/source/class/qx/ui/core/DragDropCursor.js +17 -30
- package/source/class/qx/ui/core/DragDropScrolling.js +8 -14
- package/source/class/qx/ui/core/EventHandler.js +108 -132
- package/source/class/qx/ui/core/FocusHandler.js +78 -127
- package/source/class/qx/ui/core/IMultiSelection.js +5 -9
- package/source/class/qx/ui/core/ISingleSelection.js +10 -16
- package/source/class/qx/ui/core/ISingleSelectionProvider.js +4 -6
- package/source/class/qx/ui/core/LayoutItem.js +190 -306
- package/source/class/qx/ui/core/MBlocker.js +22 -38
- package/source/class/qx/ui/core/MChildrenHandling.js +14 -29
- package/source/class/qx/ui/core/MContentPadding.js +50 -69
- package/source/class/qx/ui/core/MDragDropScrolling.js +82 -80
- package/source/class/qx/ui/core/MExecutable.js +27 -52
- package/source/class/qx/ui/core/MLayoutHandling.js +6 -14
- package/source/class/qx/ui/core/MMovable.js +64 -80
- package/source/class/qx/ui/core/MMultiSelectionHandling.js +68 -87
- package/source/class/qx/ui/core/MNativeOverflow.js +16 -26
- package/source/class/qx/ui/core/MPlacement.js +171 -170
- package/source/class/qx/ui/core/MRemoteChildrenHandling.js +14 -27
- package/source/class/qx/ui/core/MRemoteLayoutHandling.js +4 -7
- package/source/class/qx/ui/core/MResizable.js +142 -175
- package/source/class/qx/ui/core/MSingleSelectionHandling.js +40 -45
- package/source/class/qx/ui/core/SingleSelectionManager.js +41 -60
- package/source/class/qx/ui/core/Spacer.js +12 -22
- package/source/class/qx/ui/core/Widget.js +628 -983
- package/source/class/qx/ui/core/queue/Appearance.js +15 -24
- package/source/class/qx/ui/core/queue/Dispose.js +7 -16
- package/source/class/qx/ui/core/queue/Layout.js +44 -71
- package/source/class/qx/ui/core/queue/Manager.js +140 -133
- package/source/class/qx/ui/core/queue/Visibility.js +21 -39
- package/source/class/qx/ui/core/queue/Widget.js +15 -26
- package/source/class/qx/ui/core/scroll/AbstractScrollArea.js +124 -162
- package/source/class/qx/ui/core/scroll/IScrollBar.js +13 -24
- package/source/class/qx/ui/core/scroll/MRoll.js +14 -19
- package/source/class/qx/ui/core/scroll/MScrollBarFactory.js +3 -6
- package/source/class/qx/ui/core/scroll/MWheelHandling.js +10 -12
- package/source/class/qx/ui/core/scroll/NativeScrollBar.js +101 -125
- package/source/class/qx/ui/core/scroll/ScrollBar.js +86 -130
- package/source/class/qx/ui/core/scroll/ScrollPane.js +95 -134
- package/source/class/qx/ui/core/scroll/ScrollSlider.js +13 -19
- package/source/class/qx/ui/core/scroll/__init__.js +4 -4
- package/source/class/qx/ui/core/selection/Abstract.js +255 -456
- package/source/class/qx/ui/core/selection/ScrollArea.js +35 -73
- package/source/class/qx/ui/core/selection/Widget.js +57 -120
- package/source/class/qx/ui/decoration/Abstract.js +11 -20
- package/source/class/qx/ui/decoration/Decorator.js +56 -55
- package/source/class/qx/ui/decoration/IDecorator.js +5 -11
- package/source/class/qx/ui/decoration/MBackgroundColor.js +13 -20
- package/source/class/qx/ui/decoration/MBackgroundImage.js +82 -77
- package/source/class/qx/ui/decoration/MBorderImage.js +72 -94
- package/source/class/qx/ui/decoration/MBorderRadius.js +35 -38
- package/source/class/qx/ui/decoration/MBoxShadow.js +61 -55
- package/source/class/qx/ui/decoration/MDoubleBorder.js +157 -155
- package/source/class/qx/ui/decoration/MLinearBackgroundGradient.js +169 -89
- package/source/class/qx/ui/decoration/MSingleBorder.js +138 -124
- package/source/class/qx/ui/decoration/MTransition.js +46 -42
- package/source/class/qx/ui/decoration/__init__.js +2 -2
- package/source/class/qx/ui/embed/AbstractIframe.js +37 -55
- package/source/class/qx/ui/embed/Canvas.js +34 -66
- package/source/class/qx/ui/embed/Html.js +46 -70
- package/source/class/qx/ui/embed/Iframe.js +178 -158
- package/source/class/qx/ui/embed/ThemedIframe.js +91 -135
- package/source/class/qx/ui/form/AbstractField.js +262 -303
- package/source/class/qx/ui/form/AbstractSelectBox.js +65 -87
- package/source/class/qx/ui/form/Button.js +35 -73
- package/source/class/qx/ui/form/CheckBox.js +26 -48
- package/source/class/qx/ui/form/CheckedList.js +41 -25
- package/source/class/qx/ui/form/CheckedSelectBox.js +97 -62
- package/source/class/qx/ui/form/ComboBox.js +98 -121
- package/source/class/qx/ui/form/DateField.js +140 -181
- package/source/class/qx/ui/form/Form.js +50 -69
- package/source/class/qx/ui/form/HoverButton.js +37 -54
- package/source/class/qx/ui/form/IArrayForm.js +8 -16
- package/source/class/qx/ui/form/IBooleanForm.js +8 -16
- package/source/class/qx/ui/form/IColorForm.js +8 -16
- package/source/class/qx/ui/form/IDateForm.js +8 -16
- package/source/class/qx/ui/form/IExecutable.js +7 -14
- package/source/class/qx/ui/form/IField.js +7 -14
- package/source/class/qx/ui/form/IForm.js +17 -32
- package/source/class/qx/ui/form/IListItem.js +1 -4
- package/source/class/qx/ui/form/IModel.js +7 -15
- package/source/class/qx/ui/form/IModelForm.js +8 -16
- package/source/class/qx/ui/form/IModelSelection.js +4 -8
- package/source/class/qx/ui/form/INumberForm.js +8 -15
- package/source/class/qx/ui/form/IRadioItem.js +8 -17
- package/source/class/qx/ui/form/IRange.js +10 -20
- package/source/class/qx/ui/form/IStringForm.js +8 -16
- package/source/class/qx/ui/form/List.js +82 -122
- package/source/class/qx/ui/form/ListItem.js +21 -38
- package/source/class/qx/ui/form/MForm.js +35 -41
- package/source/class/qx/ui/form/MModelProperty.js +9 -14
- package/source/class/qx/ui/form/MModelSelection.js +30 -32
- package/source/class/qx/ui/form/MenuButton.js +50 -77
- package/source/class/qx/ui/form/PasswordField.js +4 -6
- package/source/class/qx/ui/form/RadioButton.js +36 -72
- package/source/class/qx/ui/form/RadioButtonGroup.js +67 -82
- package/source/class/qx/ui/form/RadioGroup.js +92 -127
- package/source/class/qx/ui/form/RepeatButton.js +57 -106
- package/source/class/qx/ui/form/Resetter.js +19 -29
- package/source/class/qx/ui/form/SelectBox.js +62 -105
- package/source/class/qx/ui/form/Slider.js +202 -269
- package/source/class/qx/ui/form/Spinner.js +173 -217
- package/source/class/qx/ui/form/SplitButton.js +73 -115
- package/source/class/qx/ui/form/Tag.js +7 -8
- package/source/class/qx/ui/form/TextArea.js +147 -153
- package/source/class/qx/ui/form/TextField.js +37 -46
- package/source/class/qx/ui/form/ToggleButton.js +54 -90
- package/source/class/qx/ui/form/VirtualComboBox.js +73 -113
- package/source/class/qx/ui/form/VirtualSelectBox.js +264 -274
- package/source/class/qx/ui/form/core/AbstractVirtualBox.js +117 -157
- package/source/class/qx/ui/form/core/VirtualDropDownList.js +101 -144
- package/source/class/qx/ui/form/renderer/AbstractRenderer.js +48 -55
- package/source/class/qx/ui/form/renderer/Double.js +25 -34
- package/source/class/qx/ui/form/renderer/IFormRenderer.js +4 -8
- package/source/class/qx/ui/form/renderer/Single.js +25 -35
- package/source/class/qx/ui/form/renderer/SinglePlaceholder.js +12 -11
- package/source/class/qx/ui/form/renderer/__init__.js +5 -5
- package/source/class/qx/ui/form/validation/AsyncValidator.js +13 -19
- package/source/class/qx/ui/form/validation/Manager.js +74 -108
- package/source/class/qx/ui/form/validation/__init__.js +6 -6
- package/source/class/qx/ui/groupbox/CheckGroupBox.js +30 -47
- package/source/class/qx/ui/groupbox/GroupBox.js +36 -75
- package/source/class/qx/ui/groupbox/RadioGroupBox.js +29 -59
- package/source/class/qx/ui/groupbox/__init__.js +3 -3
- package/source/class/qx/ui/indicator/ProgressBar.js +29 -46
- package/source/class/qx/ui/layout/Abstract.js +28 -53
- package/source/class/qx/ui/layout/Atom.js +95 -111
- package/source/class/qx/ui/layout/Basic.js +29 -30
- package/source/class/qx/ui/layout/Canvas.js +62 -99
- package/source/class/qx/ui/layout/Dock.js +266 -250
- package/source/class/qx/ui/layout/Flow.js +50 -76
- package/source/class/qx/ui/layout/Grid.js +268 -343
- package/source/class/qx/ui/layout/Grow.js +26 -32
- package/source/class/qx/ui/layout/HBox.js +137 -153
- package/source/class/qx/ui/layout/LineSizeIterator.js +19 -28
- package/source/class/qx/ui/layout/Util.js +91 -120
- package/source/class/qx/ui/layout/VBox.js +125 -147
- package/source/class/qx/ui/list/List.js +148 -262
- package/source/class/qx/ui/list/core/IListDelegate.js +13 -26
- package/source/class/qx/ui/list/core/MWidgetController.js +51 -78
- package/source/class/qx/ui/list/provider/IListProvider.js +15 -28
- package/source/class/qx/ui/list/provider/WidgetProvider.js +52 -84
- package/source/class/qx/ui/menu/AbstractButton.js +126 -131
- package/source/class/qx/ui/menu/Button.js +11 -25
- package/source/class/qx/ui/menu/ButtonLayout.js +49 -37
- package/source/class/qx/ui/menu/CheckBox.js +21 -46
- package/source/class/qx/ui/menu/Layout.js +45 -51
- package/source/class/qx/ui/menu/Manager.js +131 -209
- package/source/class/qx/ui/menu/Menu.js +180 -265
- package/source/class/qx/ui/menu/MenuSlideBar.js +13 -20
- package/source/class/qx/ui/menu/RadioButton.js +29 -51
- package/source/class/qx/ui/menu/Separator.js +9 -16
- package/source/class/qx/ui/menubar/Button.js +23 -41
- package/source/class/qx/ui/menubar/MenuBar.js +9 -13
- package/source/class/qx/ui/mobile/__init__.js +5 -5
- package/source/class/qx/ui/mobile/basic/Atom.js +79 -101
- package/source/class/qx/ui/mobile/basic/Image.js +80 -86
- package/source/class/qx/ui/mobile/basic/Label.js +38 -54
- package/source/class/qx/ui/mobile/container/Carousel.js +281 -188
- package/source/class/qx/ui/mobile/container/Collapsible.js +57 -77
- package/source/class/qx/ui/mobile/container/Composite.js +9 -13
- package/source/class/qx/ui/mobile/container/Drawer.js +167 -164
- package/source/class/qx/ui/mobile/container/INavigation.js +6 -10
- package/source/class/qx/ui/mobile/container/IScrollDelegate.js +4 -6
- package/source/class/qx/ui/mobile/container/MIScroll.js +108 -100
- package/source/class/qx/ui/mobile/container/MNativeScroll.js +118 -102
- package/source/class/qx/ui/mobile/container/MScrollHandling.js +8 -7
- package/source/class/qx/ui/mobile/container/Navigation.js +46 -65
- package/source/class/qx/ui/mobile/container/Scroll.js +140 -151
- package/source/class/qx/ui/mobile/control/Picker.js +125 -112
- package/source/class/qx/ui/mobile/core/Blocker.js +62 -71
- package/source/class/qx/ui/mobile/core/DomUpdatedHandler.js +24 -60
- package/source/class/qx/ui/mobile/core/EventHandler.js +158 -138
- package/source/class/qx/ui/mobile/core/MChildrenHandling.js +14 -30
- package/source/class/qx/ui/mobile/core/MLayoutHandling.js +6 -14
- package/source/class/qx/ui/mobile/core/MResize.js +16 -30
- package/source/class/qx/ui/mobile/core/Root.js +90 -80
- package/source/class/qx/ui/mobile/core/Widget.js +351 -479
- package/source/class/qx/ui/mobile/dialog/BusyIndicator.js +31 -46
- package/source/class/qx/ui/mobile/dialog/Manager.js +127 -89
- package/source/class/qx/ui/mobile/dialog/Menu.js +111 -122
- package/source/class/qx/ui/mobile/dialog/Popup.js +202 -194
- package/source/class/qx/ui/mobile/embed/Canvas.js +12 -25
- package/source/class/qx/ui/mobile/embed/Html.js +13 -27
- package/source/class/qx/ui/mobile/form/Button.js +12 -18
- package/source/class/qx/ui/mobile/form/CheckBox.js +20 -35
- package/source/class/qx/ui/mobile/form/Form.js +31 -51
- package/source/class/qx/ui/mobile/form/Group.js +18 -30
- package/source/class/qx/ui/mobile/form/Input.js +30 -35
- package/source/class/qx/ui/mobile/form/Label.js +76 -79
- package/source/class/qx/ui/mobile/form/MState.js +20 -27
- package/source/class/qx/ui/mobile/form/MText.js +27 -47
- package/source/class/qx/ui/mobile/form/MValue.js +66 -94
- package/source/class/qx/ui/mobile/form/NumberField.js +30 -47
- package/source/class/qx/ui/mobile/form/PasswordField.js +8 -14
- package/source/class/qx/ui/mobile/form/RadioButton.js +25 -46
- package/source/class/qx/ui/mobile/form/RadioGroup.js +2 -4
- package/source/class/qx/ui/mobile/form/Row.js +14 -29
- package/source/class/qx/ui/mobile/form/SelectBox.js +77 -104
- package/source/class/qx/ui/mobile/form/Slider.js +116 -144
- package/source/class/qx/ui/mobile/form/TextArea.js +26 -39
- package/source/class/qx/ui/mobile/form/TextField.js +18 -28
- package/source/class/qx/ui/mobile/form/Title.js +11 -19
- package/source/class/qx/ui/mobile/form/ToggleButton.js +35 -58
- package/source/class/qx/ui/mobile/form/__init__.js +1 -1
- package/source/class/qx/ui/mobile/form/renderer/AbstractRenderer.js +24 -31
- package/source/class/qx/ui/mobile/form/renderer/Single.js +59 -85
- package/source/class/qx/ui/mobile/form/renderer/SinglePlaceholder.js +8 -16
- package/source/class/qx/ui/mobile/layout/Abstract.js +48 -85
- package/source/class/qx/ui/mobile/layout/AbstractBox.js +93 -125
- package/source/class/qx/ui/mobile/layout/Card.js +133 -116
- package/source/class/qx/ui/mobile/layout/CardAnimation.js +95 -72
- package/source/class/qx/ui/mobile/layout/HBox.js +9 -12
- package/source/class/qx/ui/mobile/layout/VBox.js +9 -12
- package/source/class/qx/ui/mobile/list/IListDelegate.js +5 -9
- package/source/class/qx/ui/mobile/list/List.js +172 -183
- package/source/class/qx/ui/mobile/list/provider/Provider.js +58 -65
- package/source/class/qx/ui/mobile/list/renderer/Abstract.js +54 -82
- package/source/class/qx/ui/mobile/list/renderer/Default.js +39 -55
- package/source/class/qx/ui/mobile/list/renderer/group/Abstract.js +20 -33
- package/source/class/qx/ui/mobile/list/renderer/group/Default.js +29 -45
- package/source/class/qx/ui/mobile/navigationbar/BackButton.js +11 -15
- package/source/class/qx/ui/mobile/navigationbar/Button.js +11 -15
- package/source/class/qx/ui/mobile/navigationbar/NavigationBar.js +23 -29
- package/source/class/qx/ui/mobile/navigationbar/Title.js +12 -20
- package/source/class/qx/ui/mobile/page/Manager.js +195 -169
- package/source/class/qx/ui/mobile/page/NavigationPage.js +132 -196
- package/source/class/qx/ui/mobile/page/Page.js +109 -148
- package/source/class/qx/ui/mobile/tabbar/TabBar.js +41 -62
- package/source/class/qx/ui/mobile/tabbar/TabButton.js +19 -28
- package/source/class/qx/ui/mobile/toolbar/Button.js +7 -11
- package/source/class/qx/ui/mobile/toolbar/Separator.js +11 -15
- package/source/class/qx/ui/mobile/toolbar/ToolBar.js +30 -39
- package/source/class/qx/ui/popup/Manager.js +41 -53
- package/source/class/qx/ui/popup/Popup.js +22 -47
- package/source/class/qx/ui/popup/__init__.js +32 -32
- package/source/class/qx/ui/progressive/Progressive.js +96 -137
- package/source/class/qx/ui/progressive/State.js +12 -19
- package/source/class/qx/ui/progressive/headfoot/Abstract.js +10 -15
- package/source/class/qx/ui/progressive/headfoot/Null.js +4 -7
- package/source/class/qx/ui/progressive/headfoot/Progress.js +67 -69
- package/source/class/qx/ui/progressive/headfoot/TableHeading.js +42 -54
- package/source/class/qx/ui/progressive/model/Abstract.js +8 -15
- package/source/class/qx/ui/progressive/model/Default.js +17 -29
- package/source/class/qx/ui/progressive/renderer/Abstract.js +6 -11
- package/source/class/qx/ui/progressive/renderer/FunctionCaller.js +4 -7
- package/source/class/qx/ui/progressive/renderer/table/Row.js +215 -242
- package/source/class/qx/ui/progressive/renderer/table/Widths.js +32 -47
- package/source/class/qx/ui/progressive/renderer/table/cell/Abstract.js +17 -24
- package/source/class/qx/ui/progressive/renderer/table/cell/Boolean.js +68 -79
- package/source/class/qx/ui/progressive/renderer/table/cell/Conditional.js +146 -199
- package/source/class/qx/ui/progressive/renderer/table/cell/Default.js +14 -32
- package/source/class/qx/ui/progressive/renderer/table/cell/Html.js +2 -3
- package/source/class/qx/ui/progressive/renderer/table/cell/Icon.js +38 -53
- package/source/class/qx/ui/progressive/renderer/table/cell/Image.js +20 -42
- package/source/class/qx/ui/progressive/renderer/table/cell/String.js +6 -12
- package/source/class/qx/ui/progressive/structure/Abstract.js +14 -26
- package/source/class/qx/ui/progressive/structure/Default.js +20 -40
- package/source/class/qx/ui/root/Abstract.js +73 -90
- package/source/class/qx/ui/root/Application.js +57 -61
- package/source/class/qx/ui/root/Inline.js +78 -64
- package/source/class/qx/ui/root/Page.js +25 -46
- package/source/class/qx/ui/splitpane/Blocker.js +20 -30
- package/source/class/qx/ui/splitpane/HLayout.js +53 -49
- package/source/class/qx/ui/splitpane/Pane.js +112 -150
- package/source/class/qx/ui/splitpane/Slider.js +9 -15
- package/source/class/qx/ui/splitpane/Splitter.js +27 -46
- package/source/class/qx/ui/splitpane/VLayout.js +53 -49
- package/source/class/qx/ui/style/Stylesheet.js +12 -19
- package/source/class/qx/ui/table/ICellEditorFactory.js +4 -8
- package/source/class/qx/ui/table/ICellRenderer.js +3 -7
- package/source/class/qx/ui/table/IColumnMenuButton.js +6 -11
- package/source/class/qx/ui/table/IColumnMenuItem.js +5 -8
- package/source/class/qx/ui/table/IHeaderRenderer.js +4 -8
- package/source/class/qx/ui/table/IRowRenderer.js +6 -12
- package/source/class/qx/ui/table/ITableModel.js +23 -41
- package/source/class/qx/ui/table/MTableContextMenu.js +25 -28
- package/source/class/qx/ui/table/Table.js +556 -748
- package/source/class/qx/ui/table/celleditor/AbstractField.js +16 -26
- package/source/class/qx/ui/table/celleditor/CheckBox.js +15 -16
- package/source/class/qx/ui/table/celleditor/ComboBox.js +24 -34
- package/source/class/qx/ui/table/celleditor/Dynamic.js +25 -32
- package/source/class/qx/ui/table/celleditor/PasswordField.js +4 -8
- package/source/class/qx/ui/table/celleditor/SelectBox.js +29 -38
- package/source/class/qx/ui/table/celleditor/TextField.js +9 -14
- package/source/class/qx/ui/table/cellrenderer/Abstract.js +78 -73
- package/source/class/qx/ui/table/cellrenderer/AbstractImage.js +65 -84
- package/source/class/qx/ui/table/cellrenderer/Boolean.js +36 -50
- package/source/class/qx/ui/table/cellrenderer/Conditional.js +74 -63
- package/source/class/qx/ui/table/cellrenderer/Date.js +12 -22
- package/source/class/qx/ui/table/cellrenderer/Debug.js +9 -9
- package/source/class/qx/ui/table/cellrenderer/Default.js +30 -52
- package/source/class/qx/ui/table/cellrenderer/Dynamic.js +13 -24
- package/source/class/qx/ui/table/cellrenderer/Html.js +6 -8
- package/source/class/qx/ui/table/cellrenderer/Image.js +13 -26
- package/source/class/qx/ui/table/cellrenderer/Number.js +13 -24
- package/source/class/qx/ui/table/cellrenderer/Password.js +8 -11
- package/source/class/qx/ui/table/cellrenderer/Replace.js +27 -42
- package/source/class/qx/ui/table/cellrenderer/String.js +5 -7
- package/source/class/qx/ui/table/columnmenu/Button.js +19 -29
- package/source/class/qx/ui/table/columnmenu/MenuItem.js +11 -19
- package/source/class/qx/ui/table/columnmenu/__init__.js +4 -4
- package/source/class/qx/ui/table/columnmenu/grid/__init__.js +4 -4
- package/source/class/qx/ui/table/columnmenu/simple/__init__.js +4 -4
- package/source/class/qx/ui/table/columnmodel/Basic.js +193 -215
- package/source/class/qx/ui/table/columnmodel/Resize.js +65 -111
- package/source/class/qx/ui/table/columnmodel/resizebehavior/Abstract.js +17 -24
- package/source/class/qx/ui/table/columnmodel/resizebehavior/Default.js +66 -117
- package/source/class/qx/ui/table/headerrenderer/Default.js +25 -46
- package/source/class/qx/ui/table/headerrenderer/HeaderCell.js +36 -51
- package/source/class/qx/ui/table/headerrenderer/Icon.js +11 -27
- package/source/class/qx/ui/table/model/Abstract.js +52 -62
- package/source/class/qx/ui/table/model/Filtered.js +121 -153
- package/source/class/qx/ui/table/model/Remote.js +166 -271
- package/source/class/qx/ui/table/model/Simple.js +215 -250
- package/source/class/qx/ui/table/pane/CellEvent.js +25 -32
- package/source/class/qx/ui/table/pane/Clipper.js +8 -12
- package/source/class/qx/ui/table/pane/FocusIndicator.js +42 -48
- package/source/class/qx/ui/table/pane/Header.js +45 -86
- package/source/class/qx/ui/table/pane/Model.js +80 -97
- package/source/class/qx/ui/table/pane/Pane.js +129 -189
- package/source/class/qx/ui/table/pane/Scroller.js +542 -659
- package/source/class/qx/ui/table/rowrenderer/Default.js +75 -86
- package/source/class/qx/ui/table/selection/Manager.js +23 -57
- package/source/class/qx/ui/table/selection/Model.js +89 -179
- package/source/class/qx/ui/tabview/Page.js +48 -79
- package/source/class/qx/ui/tabview/TabButton.js +45 -72
- package/source/class/qx/ui/tabview/TabView.js +94 -141
- package/source/class/qx/ui/toolbar/Button.js +13 -18
- package/source/class/qx/ui/toolbar/CheckBox.js +13 -17
- package/source/class/qx/ui/toolbar/MenuButton.js +18 -34
- package/source/class/qx/ui/toolbar/Part.js +42 -64
- package/source/class/qx/ui/toolbar/PartContainer.js +19 -28
- package/source/class/qx/ui/toolbar/RadioButton.js +12 -19
- package/source/class/qx/ui/toolbar/Separator.js +15 -25
- package/source/class/qx/ui/toolbar/SplitButton.js +19 -28
- package/source/class/qx/ui/toolbar/ToolBar.js +182 -232
- package/source/class/qx/ui/tooltip/Manager.js +125 -123
- package/source/class/qx/ui/tooltip/ToolTip.js +49 -79
- package/source/class/qx/ui/tooltip/__init__.js +23 -23
- package/source/class/qx/ui/tree/Tree.js +95 -148
- package/source/class/qx/ui/tree/TreeFile.js +8 -15
- package/source/class/qx/ui/tree/TreeFolder.js +8 -15
- package/source/class/qx/ui/tree/VirtualTree.js +207 -333
- package/source/class/qx/ui/tree/VirtualTreeItem.js +30 -45
- package/source/class/qx/ui/tree/__init__.js +50 -50
- package/source/class/qx/ui/tree/core/AbstractItem.js +98 -152
- package/source/class/qx/ui/tree/core/AbstractTreeItem.js +83 -137
- package/source/class/qx/ui/tree/core/FolderOpenButton.js +15 -34
- package/source/class/qx/ui/tree/core/IVirtualTree.js +13 -33
- package/source/class/qx/ui/tree/core/IVirtualTreeDelegate.js +9 -16
- package/source/class/qx/ui/tree/core/MWidgetController.js +58 -69
- package/source/class/qx/ui/tree/core/OpenCloseController.js +29 -35
- package/source/class/qx/ui/tree/core/Util.js +12 -16
- package/source/class/qx/ui/tree/provider/IVirtualTreeProvider.js +10 -23
- package/source/class/qx/ui/tree/provider/WidgetProvider.js +39 -67
- package/source/class/qx/ui/tree/selection/SelectionManager.js +27 -41
- package/source/class/qx/ui/treevirtual/DefaultDataCellRenderer.js +2 -3
- package/source/class/qx/ui/treevirtual/MFamily.js +26 -63
- package/source/class/qx/ui/treevirtual/MNode.js +43 -103
- package/source/class/qx/ui/treevirtual/MTreePrimitive.js +41 -52
- package/source/class/qx/ui/treevirtual/SelectionManager.js +44 -58
- package/source/class/qx/ui/treevirtual/SimpleTreeDataCellRenderer.js +172 -229
- package/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js +256 -367
- package/source/class/qx/ui/treevirtual/SimpleTreeDataRowRenderer.js +8 -18
- package/source/class/qx/ui/treevirtual/TreeVirtual.js +155 -250
- package/source/class/qx/ui/treevirtual/celleditor/NodeEditor.js +10 -16
- package/source/class/qx/ui/treevirtual/pane/Scroller.js +14 -11
- package/source/class/qx/ui/virtual/__init__.js +4 -4
- package/source/class/qx/ui/virtual/behavior/Prefetch.js +71 -86
- package/source/class/qx/ui/virtual/cell/Abstract.js +18 -27
- package/source/class/qx/ui/virtual/cell/AbstractImage.js +42 -51
- package/source/class/qx/ui/virtual/cell/AbstractWidget.js +25 -49
- package/source/class/qx/ui/virtual/cell/Boolean.js +31 -44
- package/source/class/qx/ui/virtual/cell/Cell.js +143 -183
- package/source/class/qx/ui/virtual/cell/CellStylesheet.js +31 -38
- package/source/class/qx/ui/virtual/cell/Date.js +15 -24
- package/source/class/qx/ui/virtual/cell/Html.js +9 -20
- package/source/class/qx/ui/virtual/cell/ICell.js +4 -6
- package/source/class/qx/ui/virtual/cell/IWidgetCell.js +7 -12
- package/source/class/qx/ui/virtual/cell/IWidgetCellDelegate.js +4 -6
- package/source/class/qx/ui/virtual/cell/Image.js +8 -14
- package/source/class/qx/ui/virtual/cell/Number.js +14 -23
- package/source/class/qx/ui/virtual/cell/String.js +11 -20
- package/source/class/qx/ui/virtual/cell/WidgetCell.js +13 -16
- package/source/class/qx/ui/virtual/cell/__init__.js +4 -4
- package/source/class/qx/ui/virtual/core/Axis.js +75 -103
- package/source/class/qx/ui/virtual/core/CellEvent.js +23 -31
- package/source/class/qx/ui/virtual/core/IHtmlCellProvider.js +4 -6
- package/source/class/qx/ui/virtual/core/ILayer.js +5 -15
- package/source/class/qx/ui/virtual/core/IWidgetCellProvider.js +5 -7
- package/source/class/qx/ui/virtual/core/Pane.js +199 -242
- package/source/class/qx/ui/virtual/core/Scroller.js +25 -43
- package/source/class/qx/ui/virtual/layer/Abstract.js +44 -83
- package/source/class/qx/ui/virtual/layer/AbstractBackground.js +47 -68
- package/source/class/qx/ui/virtual/layer/CellSpanManager.js +74 -96
- package/source/class/qx/ui/virtual/layer/Column.js +26 -36
- package/source/class/qx/ui/virtual/layer/GridLines.js +43 -70
- package/source/class/qx/ui/virtual/layer/HtmlCell.js +34 -32
- package/source/class/qx/ui/virtual/layer/HtmlCellSpan.js +54 -56
- package/source/class/qx/ui/virtual/layer/Row.js +28 -36
- package/source/class/qx/ui/virtual/layer/WidgetCell.js +87 -123
- package/source/class/qx/ui/virtual/layer/WidgetCellSpan.js +123 -124
- package/source/class/qx/ui/virtual/selection/Abstract.js +26 -54
- package/source/class/qx/ui/virtual/selection/CellLines.js +11 -21
- package/source/class/qx/ui/virtual/selection/CellRectangle.js +45 -73
- package/source/class/qx/ui/virtual/selection/Column.js +16 -35
- package/source/class/qx/ui/virtual/selection/ISelectionDelegate.js +5 -9
- package/source/class/qx/ui/virtual/selection/MModel.js +84 -122
- package/source/class/qx/ui/virtual/selection/Row.js +29 -61
- package/source/class/qx/ui/website/Accordion.js +39 -42
- package/source/class/qx/ui/website/Button.js +17 -25
- package/source/class/qx/ui/website/Calendar.js +243 -172
- package/source/class/qx/ui/website/Carousel.js +169 -155
- package/source/class/qx/ui/website/DatePicker.js +99 -85
- package/source/class/qx/ui/website/Rating.js +35 -53
- package/source/class/qx/ui/website/Slider.js +174 -153
- package/source/class/qx/ui/website/Table.js +482 -456
- package/source/class/qx/ui/website/Tabs.js +225 -180
- package/source/class/qx/ui/website/Widget.js +39 -52
- package/source/class/qx/ui/window/Desktop.js +14 -12
- package/source/class/qx/ui/window/IDesktop.js +8 -10
- package/source/class/qx/ui/window/IWindowManager.js +7 -9
- package/source/class/qx/ui/window/MDesktop.js +34 -62
- package/source/class/qx/ui/window/Manager.js +31 -57
- package/source/class/qx/ui/window/Window.js +250 -351
- package/source/class/qx/util/AliasManager.js +23 -42
- package/source/class/qx/util/Animation.js +248 -191
- package/source/class/qx/util/Base64.js +144 -89
- package/source/class/qx/util/ColorUtil.js +253 -287
- package/source/class/qx/util/DeferredCall.js +21 -30
- package/source/class/qx/util/DeferredCallManager.js +23 -44
- package/source/class/qx/util/Delegate.js +4 -10
- package/source/class/qx/util/DisposeUtil.js +76 -70
- package/source/class/qx/util/DynamicScriptLoader.js +83 -66
- package/source/class/qx/util/EditDistance.js +64 -58
- package/source/class/qx/util/ExtendedColor.js +157 -163
- package/source/class/qx/util/Function.js +8 -8
- package/source/class/qx/util/LibraryManager.js +11 -18
- package/source/class/qx/util/OOUtil.js +17 -36
- package/source/class/qx/util/ObjectPool.js +19 -45
- package/source/class/qx/util/Permutation.js +9 -16
- package/source/class/qx/util/PropertyUtil.js +58 -70
- package/source/class/qx/util/Request.js +27 -16
- package/source/class/qx/util/ResourceManager.js +103 -104
- package/source/class/qx/util/ResponseParser.js +14 -21
- package/source/class/qx/util/RingBuffer.js +46 -48
- package/source/class/qx/util/Serializer.js +103 -68
- package/source/class/qx/util/StringBuilder.js +11 -22
- package/source/class/qx/util/StringEscape.js +15 -29
- package/source/class/qx/util/StringSplit.js +18 -21
- package/source/class/qx/util/TimerManager.js +61 -70
- package/source/class/qx/util/Uri.js +42 -30
- package/source/class/qx/util/Uuid.js +50 -35
- package/source/class/qx/util/Validate.js +88 -73
- package/source/class/qx/util/ValueManager.js +17 -29
- package/source/class/qx/util/Wheel.js +22 -16
- package/source/class/qx/util/format/DateFormat.js +853 -763
- package/source/class/qx/util/format/IFormat.js +4 -8
- package/source/class/qx/util/format/NumberFormat.js +84 -91
- package/source/class/qx/util/fsm/FiniteStateMachine.js +323 -382
- package/source/class/qx/util/fsm/State.js +210 -249
- package/source/class/qx/util/fsm/Transition.js +138 -160
- package/source/class/qx/util/placement/AbstractAxis.js +12 -14
- package/source/class/qx/util/placement/BestFitAxis.js +5 -8
- package/source/class/qx/util/placement/DirectAxis.js +5 -7
- package/source/class/qx/util/placement/KeepAlignAxis.js +8 -14
- package/source/class/qx/util/placement/Placement.js +39 -56
- package/source/class/qx/util/placement/__init__.js +4 -4
- package/source/class/qx/xml/Document.js +21 -34
- package/source/class/qx/xml/Element.js +90 -73
- package/source/class/qx/xml/String.js +15 -21
- package/source/class/qxWeb.js +102 -69
- package/source/resource/qx/mobile/js/iscroll.js +1328 -982
- package/source/resource/qx/mobile/js/iscroll.min.js +1081 -1
- package/source/resource/qx/test/dynamicscriptloader/first.js +1 -1
- package/source/resource/qx/test/dynamicscriptloader/second.js +1 -1
- package/source/resource/qx/test/dynamicscriptloader/third.js +1 -1
- package/source/resource/qx/test/script.js +1 -1
- package/source/resource/qx/test/webworker.js +2 -2
- package/source/resource/qx/tool/loadsass.js +16 -13
- package/source/resource/qx/tool/schema/compile-1-0-0.json +13 -13
- package/source/resource/qx/tool/website/build/assets/bluebird.min.js +4593 -9
- package/source/resource/qx/tool/website/build/assets/buttons.js +391 -1
- package/source/resource/qx/tool/website/build/assets/fontawesome-all.js +8963 -1
- package/source/resource/qx/tool/website/build/assets/jquery.js +5452 -3
- package/source/resource/qx/tool/website/build/diagnostics/dependson.js +31 -31
- package/source/resource/qx/tool/website/build/diagnostics/requiredby.js +32 -36
- package/source/resource/qx/tool/website/build/scripts/serve.js +87 -66
- package/source/resource/qx/tool/website/src/assets/bluebird.min.js +4593 -9
- package/source/resource/qx/tool/website/src/assets/buttons.js +391 -1
- package/source/resource/qx/tool/website/src/assets/fontawesome-all.js +8963 -1
- package/source/resource/qx/tool/website/src/assets/jquery.js +5452 -3
- package/source/resource/qx/tool/website/src/diagnostics/dependson.js +31 -31
- package/source/resource/qx/tool/website/src/diagnostics/requiredby.js +32 -36
- package/source/resource/qx/tool/website/src/scripts/serve.js +87 -66
- package/source/translation/hr.po +297 -0
- package/lib/resource/qx/static/blank.gif +0 -0
- package/source/class/qx/io/remote/Exchange.js +0 -1063
- package/source/class/qx/io/remote/Request.js +0 -1021
- package/source/class/qx/io/remote/RequestQueue.js +0 -521
- package/source/class/qx/io/remote/Response.js +0 -137
- package/source/class/qx/io/remote/Rpc.js +0 -1075
- package/source/class/qx/io/remote/RpcError.js +0 -198
- package/source/class/qx/io/remote/__init__.js +0 -88
- package/source/class/qx/io/remote/transport/Abstract.js +0 -513
- package/source/class/qx/io/remote/transport/Iframe.js +0 -652
- package/source/class/qx/io/remote/transport/Script.js +0 -475
- package/source/class/qx/io/remote/transport/XmlHttp.js +0 -1019
- package/source/class/qx/io/remote/transport/__init__.js +0 -3
- package/source/class/qx/test/io/remote/AbstractRequest.js +0 -150
- package/source/class/qx/test/io/remote/RequestIframe.js +0 -105
- package/source/class/qx/test/io/remote/RequestXhr.js +0 -151
- package/source/class/qx/test/io/remote/Rpc.js +0 -205
- package/source/class/qx/test/io/remote/__init__.js +0 -4
- package/source/class/qx/test/io/remote/transport/Iframe.js +0 -67
- package/source/class/qx/test/io/remote/transport/XmlHttp.js +0 -133
- package/source/class/qx/test/io/remote/transport/__init__.js +0 -4
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
/**
|
|
21
21
|
* High-performance, high-level DOM element creation and management.
|
|
22
22
|
*
|
|
23
|
-
* Mirrors the DOM structure of Node (see also Element and Text) so to provide
|
|
23
|
+
* Mirrors the DOM structure of Node (see also Element and Text) so to provide
|
|
24
24
|
* DOM insertion and modification with advanced logic to reduce the real transactions.
|
|
25
25
|
*
|
|
26
26
|
* Each child itself also has got some powerful methods to control its
|
|
@@ -33,47 +33,40 @@
|
|
|
33
33
|
*
|
|
34
34
|
* @require(qx.module.Animation)
|
|
35
35
|
*/
|
|
36
|
-
qx.Class.define("qx.html.Node",
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
qx.Class.define("qx.html.Node", {
|
|
37
|
+
extend: qx.core.Object,
|
|
38
|
+
implement: [qx.core.IDisposable],
|
|
39
|
+
|
|
42
40
|
/**
|
|
43
41
|
* Creates a new Element
|
|
44
42
|
*
|
|
45
43
|
* @param nodeName {String} name of the node; will be a tag name for Elements, otherwise it's a reserved
|
|
46
44
|
* name eg "#text"
|
|
47
45
|
*/
|
|
48
|
-
construct
|
|
49
|
-
|
|
50
|
-
this.base(arguments);
|
|
46
|
+
construct(nodeName) {
|
|
47
|
+
super();
|
|
51
48
|
this._nodeName = nodeName;
|
|
52
49
|
},
|
|
53
50
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
51
|
/*
|
|
59
52
|
*****************************************************************************
|
|
60
53
|
STATICS
|
|
61
54
|
*****************************************************************************
|
|
62
55
|
*/
|
|
63
56
|
|
|
64
|
-
statics
|
|
65
|
-
{
|
|
66
|
-
|
|
57
|
+
statics: {
|
|
67
58
|
/**
|
|
68
59
|
* Finds the Widget for a given DOM element
|
|
69
60
|
*
|
|
70
61
|
* @param domElement {DOM} the DOM element
|
|
71
62
|
* @return {qx.ui.core.Widget} the Widget that created the DOM element
|
|
72
63
|
*/
|
|
73
|
-
fromDomNode
|
|
64
|
+
fromDomNode(domNode) {
|
|
74
65
|
if (qx.core.Environment.get("qx.debug")) {
|
|
75
|
-
qx.core.Assert.assertTrue(
|
|
76
|
-
|
|
66
|
+
qx.core.Assert.assertTrue(
|
|
67
|
+
(!domNode.$$element && !domNode.$$elementObject) ||
|
|
68
|
+
domNode.$$element === domNode.$$elementObject.toHashCode()
|
|
69
|
+
);
|
|
77
70
|
}
|
|
78
71
|
return domNode.$$elementObject;
|
|
79
72
|
},
|
|
@@ -81,8 +74,8 @@ qx.Class.define("qx.html.Node",
|
|
|
81
74
|
/**
|
|
82
75
|
* Converts a DOM node into a qx.html.Node, providing the existing instance if
|
|
83
76
|
* there is one
|
|
84
|
-
*
|
|
85
|
-
* @param {Node} domNode
|
|
77
|
+
*
|
|
78
|
+
* @param {Node} domNode
|
|
86
79
|
* @returns {qx.html.Node}
|
|
87
80
|
*/
|
|
88
81
|
toVirtualNode(domNode) {
|
|
@@ -90,32 +83,33 @@ qx.Class.define("qx.html.Node",
|
|
|
90
83
|
return domNode.$$elementObject;
|
|
91
84
|
}
|
|
92
85
|
|
|
93
|
-
let html = qx.html.Factory.getInstance().createElement(
|
|
86
|
+
let html = qx.html.Factory.getInstance().createElement(
|
|
87
|
+
domNode.nodeName,
|
|
88
|
+
domNode.attributes
|
|
89
|
+
);
|
|
90
|
+
|
|
94
91
|
html.useNode(domNode);
|
|
95
92
|
return html;
|
|
96
93
|
}
|
|
97
|
-
|
|
98
94
|
},
|
|
99
95
|
|
|
100
|
-
|
|
101
|
-
|
|
102
96
|
/*
|
|
103
97
|
*****************************************************************************
|
|
104
98
|
PROPERTIES
|
|
105
99
|
*****************************************************************************
|
|
106
100
|
*/
|
|
107
101
|
|
|
108
|
-
properties
|
|
102
|
+
properties: {
|
|
109
103
|
/**
|
|
110
104
|
* Controls whether the element is visible which means that a previously applied
|
|
111
|
-
* CSS style of display=none gets removed and the element will inserted into the DOM,
|
|
105
|
+
* CSS style of display=none gets removed and the element will inserted into the DOM,
|
|
112
106
|
* when this had not already happened before.
|
|
113
|
-
*
|
|
114
|
-
* If the element already exists in the DOM then it will kept in DOM, but configured
|
|
107
|
+
*
|
|
108
|
+
* If the element already exists in the DOM then it will kept in DOM, but configured
|
|
115
109
|
* hidden using a CSS style of display=none.
|
|
116
|
-
*
|
|
110
|
+
*
|
|
117
111
|
* Please note: This does not control the visibility or parent inclusion recursively.
|
|
118
|
-
*
|
|
112
|
+
*
|
|
119
113
|
* @type {Boolean} Whether the element should be visible in the render result
|
|
120
114
|
*/
|
|
121
115
|
visible: {
|
|
@@ -127,17 +121,13 @@ qx.Class.define("qx.html.Node",
|
|
|
127
121
|
}
|
|
128
122
|
},
|
|
129
123
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
124
|
/*
|
|
134
125
|
*****************************************************************************
|
|
135
126
|
MEMBERS
|
|
136
127
|
*****************************************************************************
|
|
137
128
|
*/
|
|
138
129
|
|
|
139
|
-
members
|
|
140
|
-
{
|
|
130
|
+
members: {
|
|
141
131
|
/*
|
|
142
132
|
---------------------------------------------------------------------------
|
|
143
133
|
PROTECTED HELPERS/DATA
|
|
@@ -145,46 +135,50 @@ qx.Class.define("qx.html.Node",
|
|
|
145
135
|
*/
|
|
146
136
|
|
|
147
137
|
/** @type {String} the name of the node */
|
|
148
|
-
_nodeName
|
|
138
|
+
_nodeName: null,
|
|
149
139
|
|
|
150
140
|
/** @type {Node} DOM node of this object */
|
|
151
|
-
_domNode
|
|
141
|
+
_domNode: null,
|
|
152
142
|
|
|
153
143
|
/** @type {qx.html.Element} parent element */
|
|
154
|
-
_parent
|
|
155
|
-
|
|
144
|
+
_parent: null,
|
|
145
|
+
|
|
156
146
|
/** @type {qx.core.Object} the Qooxdoo object this node is attached to */
|
|
157
|
-
_qxObject
|
|
147
|
+
_qxObject: null,
|
|
158
148
|
|
|
159
149
|
/** @type {Boolean} Whether the element should be included in the render result */
|
|
160
|
-
_included
|
|
150
|
+
_included: true,
|
|
151
|
+
|
|
152
|
+
_children: null,
|
|
153
|
+
_modifiedChildren: null,
|
|
161
154
|
|
|
162
|
-
|
|
163
|
-
|
|
155
|
+
_propertyJobs: null,
|
|
156
|
+
_properties: null,
|
|
164
157
|
|
|
165
|
-
_propertyJobs : null,
|
|
166
|
-
_properties : null,
|
|
167
|
-
|
|
168
158
|
/** @type {Map} map of event handlers */
|
|
169
159
|
__eventValues: null,
|
|
170
160
|
|
|
171
|
-
|
|
172
161
|
/**
|
|
173
162
|
* Connects a widget to this element, and to the DOM element in this Element. They
|
|
174
163
|
* remain associated until disposed or disconnectObject is called
|
|
175
164
|
*
|
|
176
165
|
* @param qxObject {qx.core.Object} the object to associate
|
|
177
166
|
*/
|
|
178
|
-
connectObject
|
|
167
|
+
connectObject(qxObject) {
|
|
179
168
|
if (qx.core.Environment.get("qx.debug")) {
|
|
180
|
-
qx.core.Assert.assertTrue(
|
|
169
|
+
qx.core.Assert.assertTrue(
|
|
170
|
+
!this._qxObject || this._qxObject === qxObject
|
|
171
|
+
);
|
|
181
172
|
}
|
|
182
173
|
|
|
183
174
|
this._qxObject = qxObject;
|
|
184
175
|
if (this._domNode) {
|
|
185
176
|
if (qx.core.Environment.get("qx.debug")) {
|
|
186
|
-
qx.core.Assert.assertTrue(
|
|
187
|
-
|
|
177
|
+
qx.core.Assert.assertTrue(
|
|
178
|
+
(!this._domNode.$$qxObjectHash && !this._domNode.$$qxObject) ||
|
|
179
|
+
(this._domNode.$$qxObject === qxObject &&
|
|
180
|
+
this._domNode.$$qxObjectHash === qxObject.toHashCode())
|
|
181
|
+
);
|
|
188
182
|
}
|
|
189
183
|
|
|
190
184
|
this._domNode.$$qxObjectHash = qxObject.toHashCode();
|
|
@@ -196,14 +190,13 @@ qx.Class.define("qx.html.Node",
|
|
|
196
190
|
}
|
|
197
191
|
},
|
|
198
192
|
|
|
199
|
-
|
|
200
193
|
/**
|
|
201
194
|
* Disconnects a widget from this element and the DOM element. The DOM element remains
|
|
202
195
|
* untouched, except that it can no longer be used to find the Widget.
|
|
203
196
|
*
|
|
204
197
|
* @param qxObject {qx.core.Object} the Widget
|
|
205
198
|
*/
|
|
206
|
-
disconnectObject
|
|
199
|
+
disconnectObject(qxObject) {
|
|
207
200
|
if (qx.core.Environment.get("qx.debug")) {
|
|
208
201
|
qx.core.Assert.assertTrue(this._qxObject === qxObject);
|
|
209
202
|
}
|
|
@@ -211,14 +204,17 @@ qx.Class.define("qx.html.Node",
|
|
|
211
204
|
delete this._qxObject;
|
|
212
205
|
if (this._domNode) {
|
|
213
206
|
if (qx.core.Environment.get("qx.debug")) {
|
|
214
|
-
qx.core.Assert.assertTrue(
|
|
215
|
-
|
|
207
|
+
qx.core.Assert.assertTrue(
|
|
208
|
+
(!this._domNode.$$qxObjectHash && !this._domNode.$$qxObject) ||
|
|
209
|
+
(this._domNode.$$qxObject === qxObject &&
|
|
210
|
+
this._domNode.$$qxObjectHash === qxObject.toHashCode())
|
|
211
|
+
);
|
|
216
212
|
}
|
|
217
213
|
|
|
218
214
|
this._domNode.$$qxObjectHash = "";
|
|
219
215
|
delete this._domNode.$$qxObject;
|
|
220
216
|
}
|
|
221
|
-
|
|
217
|
+
|
|
222
218
|
if (qx.core.Environment.get("module.objectid")) {
|
|
223
219
|
this.updateObjectId();
|
|
224
220
|
}
|
|
@@ -229,21 +225,23 @@ qx.Class.define("qx.html.Node",
|
|
|
229
225
|
*
|
|
230
226
|
* @return {Element} DOM element
|
|
231
227
|
*/
|
|
232
|
-
_createDomElement
|
|
233
|
-
throw new Error(
|
|
228
|
+
_createDomElement() {
|
|
229
|
+
throw new Error(
|
|
230
|
+
"No implementation for " + this.classname + "._createDomElement"
|
|
231
|
+
);
|
|
234
232
|
},
|
|
235
|
-
|
|
233
|
+
|
|
236
234
|
/**
|
|
237
235
|
* Serializes the virtual DOM element to a writer; the `writer` function accepts
|
|
238
236
|
* an varargs, which can be joined with an empty string or streamed.
|
|
239
|
-
*
|
|
237
|
+
*
|
|
240
238
|
* If writer is null, the element will be serialised to a string which is returned;
|
|
241
239
|
* note that if writer is not null, the return value will be null
|
|
242
|
-
*
|
|
240
|
+
*
|
|
243
241
|
* @param writer {Function?} the writer
|
|
244
242
|
* @return {String?} the serialised version if writer is null
|
|
245
243
|
*/
|
|
246
|
-
serialize
|
|
244
|
+
serialize(writer) {
|
|
247
245
|
var temporaryQxObjectId = !this.getQxObjectId();
|
|
248
246
|
if (temporaryQxObjectId) {
|
|
249
247
|
this.setQxObjectId(this.classname);
|
|
@@ -253,37 +251,39 @@ qx.Class.define("qx.html.Node",
|
|
|
253
251
|
if (isIdRoot) {
|
|
254
252
|
qx.core.Id.getInstance().register(this);
|
|
255
253
|
}
|
|
256
|
-
|
|
254
|
+
|
|
257
255
|
var result = undefined;
|
|
258
256
|
if (writer) {
|
|
259
257
|
this._serializeImpl(writer);
|
|
260
258
|
} else {
|
|
261
259
|
var buffer = [];
|
|
262
|
-
this._serializeImpl(function() {
|
|
260
|
+
this._serializeImpl(function () {
|
|
263
261
|
var args = qx.lang.Array.fromArguments(arguments);
|
|
264
262
|
qx.lang.Array.append(buffer, args);
|
|
265
263
|
});
|
|
266
|
-
result = buffer.join("");
|
|
264
|
+
result = buffer.join("");
|
|
267
265
|
}
|
|
268
|
-
|
|
266
|
+
|
|
269
267
|
if (isIdRoot) {
|
|
270
268
|
qx.core.Id.getInstance().unregister(this);
|
|
271
269
|
}
|
|
272
270
|
if (temporaryQxObjectId) {
|
|
273
271
|
this.setQxObjectId(null);
|
|
274
272
|
}
|
|
275
|
-
|
|
273
|
+
|
|
276
274
|
return result;
|
|
277
275
|
},
|
|
278
276
|
|
|
279
277
|
/**
|
|
280
278
|
* Serializes the virtual DOM element to a writer; the `writer` function accepts
|
|
281
279
|
* an varargs, which can be joined with an empty string or streamed.
|
|
282
|
-
*
|
|
280
|
+
*
|
|
283
281
|
* @param writer {Function} the writer
|
|
284
282
|
*/
|
|
285
|
-
_serializeImpl
|
|
286
|
-
throw new Error(
|
|
283
|
+
_serializeImpl(writer) {
|
|
284
|
+
throw new Error(
|
|
285
|
+
"No implementation for " + this.classname + ".serializeImpl"
|
|
286
|
+
);
|
|
287
287
|
},
|
|
288
288
|
|
|
289
289
|
/**
|
|
@@ -292,7 +292,7 @@ qx.Class.define("qx.html.Node",
|
|
|
292
292
|
*
|
|
293
293
|
* @param domNode {Node} DOM Node to reuse
|
|
294
294
|
*/
|
|
295
|
-
useNode
|
|
295
|
+
useNode(domNode) {
|
|
296
296
|
var id = domNode.getAttribute("data-qx-object-id");
|
|
297
297
|
if (id) {
|
|
298
298
|
this.setQxObjectId(id);
|
|
@@ -306,89 +306,91 @@ qx.Class.define("qx.html.Node",
|
|
|
306
306
|
if (isIdRoot) {
|
|
307
307
|
qx.core.Id.getInstance().register(this);
|
|
308
308
|
}
|
|
309
|
-
|
|
309
|
+
|
|
310
310
|
/*
|
|
311
311
|
* When merging children, we want to keep the original DOM nodes in
|
|
312
312
|
* domNode no matter what - however, where the DOM nodes have a qxObjectId
|
|
313
313
|
* we must reuse the original instances.
|
|
314
|
-
*
|
|
314
|
+
*
|
|
315
315
|
* The crucial thing is that the qxObjectId hierarchy and the DOM hierarchy
|
|
316
316
|
* are not the same (although they are often similar, the DOM will often have
|
|
317
317
|
* extra Nodes).
|
|
318
|
-
*
|
|
319
|
-
* However, because the objects in the qxObjectId space will typically already
|
|
318
|
+
*
|
|
319
|
+
* However, because the objects in the qxObjectId space will typically already
|
|
320
320
|
* exist (eg accessed via the constructor) we do not want to discard the original
|
|
321
|
-
* instance of qx.html.Element because there are probably references to them in
|
|
321
|
+
* instance of qx.html.Element because there are probably references to them in
|
|
322
322
|
* code.
|
|
323
|
-
*
|
|
323
|
+
*
|
|
324
324
|
* In the code below, we map the DOM heirarchy into a temporary Javascript
|
|
325
325
|
* hierarchy, where we can either use existing qx.html.Element instances (found
|
|
326
326
|
* by looking up the qxObjectId) or fabricate new ones.
|
|
327
|
-
*
|
|
327
|
+
*
|
|
328
328
|
* Once the temporary hierarchy is ready, we go back and synchronise each
|
|
329
329
|
* qx.html.Element with the DOM node and our new array of children.
|
|
330
|
-
*
|
|
330
|
+
*
|
|
331
331
|
* The only rule to this is that if you are going to call this `useNode`, then
|
|
332
332
|
* you must not keep references to objects *unless* you also access them via
|
|
333
333
|
* the qxObjectId mechanism.
|
|
334
334
|
*/
|
|
335
|
-
|
|
335
|
+
|
|
336
336
|
var self = this;
|
|
337
337
|
function convert(domNode) {
|
|
338
338
|
var children = qx.lang.Array.fromCollection(domNode.childNodes);
|
|
339
|
-
children = children
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
child = self.getQxObject(id);
|
|
358
|
-
}
|
|
339
|
+
children = children.map(function (domChild) {
|
|
340
|
+
var child = null;
|
|
341
|
+
if (domChild.nodeType == window.Node.ELEMENT_NODE) {
|
|
342
|
+
var id = domChild.getAttribute("data-qx-object-id");
|
|
343
|
+
if (id) {
|
|
344
|
+
var owningQxObjectId = null;
|
|
345
|
+
var qxObjectId = null;
|
|
346
|
+
var owningQxObject = null;
|
|
347
|
+
var pos = id.lastIndexOf("/");
|
|
348
|
+
if (pos > -1) {
|
|
349
|
+
owningQxObjectId = id.substring(0, pos);
|
|
350
|
+
qxObjectId = id.substring(pos + 1);
|
|
351
|
+
owningQxObject = qx.core.Id.getQxObject(owningQxObjectId);
|
|
352
|
+
child = owningQxObject.getQxObject(qxObjectId);
|
|
353
|
+
} else {
|
|
354
|
+
qxObjectId = id;
|
|
355
|
+
owningQxObject = self;
|
|
356
|
+
child = self.getQxObject(id);
|
|
359
357
|
}
|
|
360
358
|
}
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
359
|
+
}
|
|
360
|
+
if (!child) {
|
|
361
|
+
child = qx.html.Factory.getInstance().createElement(
|
|
362
|
+
domChild.nodeName,
|
|
363
|
+
domChild.attributes
|
|
364
|
+
);
|
|
365
|
+
}
|
|
366
|
+
return {
|
|
367
|
+
htmlNode: child,
|
|
368
|
+
domNode: domChild,
|
|
369
|
+
children: convert(domChild)
|
|
370
|
+
};
|
|
371
|
+
});
|
|
370
372
|
return children;
|
|
371
373
|
}
|
|
372
|
-
|
|
374
|
+
|
|
373
375
|
function install(map) {
|
|
374
|
-
var htmlChildren = map.children.map(function(mapEntry) {
|
|
376
|
+
var htmlChildren = map.children.map(function (mapEntry) {
|
|
375
377
|
install(mapEntry);
|
|
376
378
|
return mapEntry.htmlNode;
|
|
377
379
|
});
|
|
378
380
|
map.htmlNode._useNodeImpl(map.domNode, htmlChildren);
|
|
379
381
|
}
|
|
380
|
-
|
|
382
|
+
|
|
381
383
|
var rootMap = {
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
384
|
+
htmlNode: this,
|
|
385
|
+
domNode: domNode,
|
|
386
|
+
children: convert(domNode)
|
|
385
387
|
};
|
|
386
|
-
|
|
388
|
+
|
|
387
389
|
install(rootMap);
|
|
388
|
-
|
|
390
|
+
|
|
389
391
|
this.flush();
|
|
390
392
|
this._insertChildren();
|
|
391
|
-
|
|
393
|
+
|
|
392
394
|
if (isIdRoot) {
|
|
393
395
|
qx.core.Id.getInstance().unregister(this);
|
|
394
396
|
}
|
|
@@ -396,35 +398,37 @@ qx.Class.define("qx.html.Node",
|
|
|
396
398
|
this.setQxObjectId(null);
|
|
397
399
|
}
|
|
398
400
|
},
|
|
399
|
-
|
|
401
|
+
|
|
400
402
|
/**
|
|
401
403
|
* Called internally to complete the connection to an existing DOM node
|
|
402
|
-
*
|
|
403
|
-
* @param domNode {DOMNode} the node we're syncing to
|
|
404
|
+
*
|
|
405
|
+
* @param domNode {DOMNode} the node we're syncing to
|
|
404
406
|
* @param newChildren {qx.html.Node[]} the new children
|
|
405
407
|
*/
|
|
406
|
-
_useNodeImpl
|
|
408
|
+
_useNodeImpl(domNode, newChildren) {
|
|
407
409
|
if (this._domNode) {
|
|
408
410
|
throw new Error("Could not overwrite existing element!");
|
|
409
411
|
}
|
|
410
412
|
|
|
411
413
|
// Use incoming element
|
|
412
414
|
this._connectDomNode(domNode);
|
|
413
|
-
|
|
415
|
+
|
|
414
416
|
// Copy currently existing data over to element
|
|
415
417
|
this._copyData(true, true);
|
|
416
|
-
|
|
418
|
+
|
|
417
419
|
// Add children
|
|
418
420
|
var lookup = {};
|
|
419
|
-
var oldChildren = this._children
|
|
420
|
-
|
|
421
|
+
var oldChildren = this._children
|
|
422
|
+
? qx.lang.Array.clone(this._children)
|
|
423
|
+
: null;
|
|
424
|
+
newChildren.forEach(function (child) {
|
|
421
425
|
lookup[child.toHashCode()] = child;
|
|
422
426
|
});
|
|
423
427
|
this._children = newChildren;
|
|
424
|
-
|
|
428
|
+
|
|
425
429
|
// Make sure that unused children are disconnected
|
|
426
430
|
if (oldChildren) {
|
|
427
|
-
oldChildren.forEach(function(child) {
|
|
431
|
+
oldChildren.forEach(function (child) {
|
|
428
432
|
if (!lookup[child.toHashCode()]) {
|
|
429
433
|
if (child._domNode && child._domNode.parentElement) {
|
|
430
434
|
child._domNode.parentElement.removeChild(child._domNode);
|
|
@@ -433,9 +437,9 @@ qx.Class.define("qx.html.Node",
|
|
|
433
437
|
}
|
|
434
438
|
});
|
|
435
439
|
}
|
|
436
|
-
|
|
440
|
+
|
|
437
441
|
var self = this;
|
|
438
|
-
this._children.forEach(function(child) {
|
|
442
|
+
this._children.forEach(function (child) {
|
|
439
443
|
child._parent = self;
|
|
440
444
|
if (child._domNode && child._domNode.parentElement !== self._domNode) {
|
|
441
445
|
child._domNode.parentElement.removeChild(child._domNode);
|
|
@@ -444,7 +448,7 @@ qx.Class.define("qx.html.Node",
|
|
|
444
448
|
}
|
|
445
449
|
}
|
|
446
450
|
});
|
|
447
|
-
|
|
451
|
+
|
|
448
452
|
if (this._domNode) {
|
|
449
453
|
this._scheduleChildrenUpdate();
|
|
450
454
|
}
|
|
@@ -456,12 +460,15 @@ qx.Class.define("qx.html.Node",
|
|
|
456
460
|
*
|
|
457
461
|
* @param domNode {DOM} the DOM Node to associate
|
|
458
462
|
*/
|
|
459
|
-
_connectDomNode
|
|
463
|
+
_connectDomNode(domNode) {
|
|
460
464
|
if (qx.core.Environment.get("qx.debug")) {
|
|
461
465
|
qx.core.Assert.assertTrue(!this._domNode || this._domNode === domNode);
|
|
462
|
-
qx.core.Assert.assertTrue(
|
|
463
|
-
|
|
464
|
-
|
|
466
|
+
qx.core.Assert.assertTrue(
|
|
467
|
+
(domNode.$$elementObject === this &&
|
|
468
|
+
domNode.$$element === this.toHashCode()) ||
|
|
469
|
+
(!domNode.$$elementObject && !domNode.$$element)
|
|
470
|
+
);
|
|
471
|
+
}
|
|
465
472
|
|
|
466
473
|
this._domNode = domNode;
|
|
467
474
|
domNode.$$elementObject = this;
|
|
@@ -471,16 +478,19 @@ qx.Class.define("qx.html.Node",
|
|
|
471
478
|
domNode.$$qxObject = this._qxObject;
|
|
472
479
|
}
|
|
473
480
|
},
|
|
474
|
-
|
|
475
|
-
|
|
481
|
+
|
|
476
482
|
/**
|
|
477
483
|
* Detects whether the DOM node has been created and is in the document
|
|
478
|
-
*
|
|
484
|
+
*
|
|
479
485
|
* @return {Boolean}
|
|
480
486
|
*/
|
|
481
|
-
isInDocument
|
|
487
|
+
isInDocument() {
|
|
482
488
|
if (document.body) {
|
|
483
|
-
for (
|
|
489
|
+
for (
|
|
490
|
+
var domNode = this._domNode;
|
|
491
|
+
domNode != null;
|
|
492
|
+
domNode = domNode.parentElement
|
|
493
|
+
) {
|
|
484
494
|
if (domNode === document.body) {
|
|
485
495
|
return true;
|
|
486
496
|
}
|
|
@@ -488,12 +498,11 @@ qx.Class.define("qx.html.Node",
|
|
|
488
498
|
}
|
|
489
499
|
return false;
|
|
490
500
|
},
|
|
491
|
-
|
|
492
|
-
|
|
501
|
+
|
|
493
502
|
/**
|
|
494
503
|
* Updates the Object ID on the element to match the QxObjectId
|
|
495
504
|
*/
|
|
496
|
-
updateObjectId
|
|
505
|
+
updateObjectId() {
|
|
497
506
|
// Copy Object Id
|
|
498
507
|
if (qx.core.Environment.get("module.objectid")) {
|
|
499
508
|
var id = this.getQxObjectId();
|
|
@@ -504,15 +513,14 @@ qx.Class.define("qx.html.Node",
|
|
|
504
513
|
this.setAttribute("data-qx-object-id", id, true);
|
|
505
514
|
}
|
|
506
515
|
},
|
|
507
|
-
|
|
508
|
-
_cascadeQxObjectIdChanges
|
|
516
|
+
|
|
517
|
+
_cascadeQxObjectIdChanges() {
|
|
509
518
|
if (qx.core.Environment.get("module.objectid")) {
|
|
510
519
|
this.updateObjectId();
|
|
511
520
|
}
|
|
512
|
-
|
|
521
|
+
super._cascadeQxObjectIdChanges();
|
|
513
522
|
},
|
|
514
523
|
|
|
515
|
-
|
|
516
524
|
/*
|
|
517
525
|
---------------------------------------------------------------------------
|
|
518
526
|
FLUSH OBJECT
|
|
@@ -523,39 +531,36 @@ qx.Class.define("qx.html.Node",
|
|
|
523
531
|
* Add the element to the global modification list.
|
|
524
532
|
*
|
|
525
533
|
*/
|
|
526
|
-
_scheduleChildrenUpdate
|
|
527
|
-
{
|
|
534
|
+
_scheduleChildrenUpdate() {
|
|
528
535
|
if (this._modifiedChildren) {
|
|
529
536
|
return;
|
|
530
537
|
}
|
|
531
538
|
|
|
532
|
-
this.
|
|
539
|
+
if (this._domNode) {
|
|
540
|
+
this._modifiedChildren = true;
|
|
533
541
|
|
|
534
|
-
|
|
535
|
-
|
|
542
|
+
qx.html.Element._modified[this.toHashCode()] = this;
|
|
543
|
+
qx.html.Element._scheduleFlush("element");
|
|
544
|
+
}
|
|
536
545
|
},
|
|
537
546
|
|
|
538
|
-
|
|
539
547
|
/**
|
|
540
548
|
* Syncs data of an HtmlElement object to the DOM.
|
|
541
|
-
*
|
|
549
|
+
*
|
|
542
550
|
* This is just a public wrapper around `flush`, because the scope has changed
|
|
543
|
-
*
|
|
551
|
+
*
|
|
544
552
|
* @deprecated {6.0} Please use `.flush()` instead
|
|
545
553
|
*/
|
|
546
|
-
_flush
|
|
554
|
+
_flush() {
|
|
547
555
|
this.flush();
|
|
548
556
|
},
|
|
549
557
|
|
|
550
|
-
|
|
551
558
|
/**
|
|
552
559
|
* Syncs data of an HtmlElement object to the DOM.
|
|
553
560
|
*
|
|
554
561
|
*/
|
|
555
|
-
flush
|
|
556
|
-
|
|
557
|
-
if (qx.core.Environment.get("qx.debug"))
|
|
558
|
-
{
|
|
562
|
+
flush() {
|
|
563
|
+
if (qx.core.Environment.get("qx.debug")) {
|
|
559
564
|
if (this.DEBUG) {
|
|
560
565
|
this.debug("Flush: " + this.getAttribute("id"));
|
|
561
566
|
}
|
|
@@ -563,12 +568,10 @@ qx.Class.define("qx.html.Node",
|
|
|
563
568
|
|
|
564
569
|
var length;
|
|
565
570
|
var children = this._children;
|
|
566
|
-
if (children)
|
|
567
|
-
{
|
|
571
|
+
if (children) {
|
|
568
572
|
length = children.length;
|
|
569
573
|
var child;
|
|
570
|
-
for (var i=0; i<length; i++)
|
|
571
|
-
{
|
|
574
|
+
for (var i = 0; i < length; i++) {
|
|
572
575
|
child = children[i];
|
|
573
576
|
|
|
574
577
|
if (child.isVisible() && child._included && !child._domNode) {
|
|
@@ -577,8 +580,7 @@ qx.Class.define("qx.html.Node",
|
|
|
577
580
|
}
|
|
578
581
|
}
|
|
579
582
|
|
|
580
|
-
if (!this._domNode)
|
|
581
|
-
{
|
|
583
|
+
if (!this._domNode) {
|
|
582
584
|
this._connectDomNode(this._createDomElement());
|
|
583
585
|
|
|
584
586
|
this._copyData(false, false);
|
|
@@ -586,9 +588,7 @@ qx.Class.define("qx.html.Node",
|
|
|
586
588
|
if (children && length > 0) {
|
|
587
589
|
this._insertChildren();
|
|
588
590
|
}
|
|
589
|
-
}
|
|
590
|
-
else
|
|
591
|
-
{
|
|
591
|
+
} else {
|
|
592
592
|
this._syncData();
|
|
593
593
|
|
|
594
594
|
if (this._modifiedChildren) {
|
|
@@ -601,19 +601,19 @@ qx.Class.define("qx.html.Node",
|
|
|
601
601
|
|
|
602
602
|
/**
|
|
603
603
|
* Returns this element's root flag
|
|
604
|
-
*
|
|
604
|
+
*
|
|
605
605
|
* @return {Boolean}
|
|
606
606
|
*/
|
|
607
|
-
isRoot
|
|
607
|
+
isRoot() {
|
|
608
608
|
throw new Error("No implementation for " + this.classname + ".isRoot");
|
|
609
609
|
},
|
|
610
610
|
|
|
611
611
|
/**
|
|
612
612
|
* Detects whether this element is inside a root element
|
|
613
|
-
*
|
|
613
|
+
*
|
|
614
614
|
* @return {Boolean}
|
|
615
615
|
*/
|
|
616
|
-
isInRoot
|
|
616
|
+
isInRoot() {
|
|
617
617
|
var tmp = this;
|
|
618
618
|
while (tmp) {
|
|
619
619
|
if (tmp.isRoot()) {
|
|
@@ -632,16 +632,14 @@ qx.Class.define("qx.html.Node",
|
|
|
632
632
|
* really walks up recursively.
|
|
633
633
|
* @return {Boolean} <code>true</code> if the element will be seeable
|
|
634
634
|
*/
|
|
635
|
-
_willBeSeeable
|
|
636
|
-
{
|
|
635
|
+
_willBeSeeable() {
|
|
637
636
|
if (!qx.html.Element._hasRoots) {
|
|
638
637
|
return false;
|
|
639
638
|
}
|
|
640
639
|
var pa = this;
|
|
641
640
|
|
|
642
641
|
// Any chance to cache this information in the parents?
|
|
643
|
-
while(pa)
|
|
644
|
-
{
|
|
642
|
+
while (pa) {
|
|
645
643
|
if (pa.isRoot()) {
|
|
646
644
|
return true;
|
|
647
645
|
}
|
|
@@ -656,10 +654,6 @@ qx.Class.define("qx.html.Node",
|
|
|
656
654
|
return false;
|
|
657
655
|
},
|
|
658
656
|
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
657
|
/*
|
|
664
658
|
---------------------------------------------------------------------------
|
|
665
659
|
SUPPORT FOR CHILDREN FLUSH
|
|
@@ -673,8 +667,7 @@ qx.Class.define("qx.html.Node",
|
|
|
673
667
|
* instead.
|
|
674
668
|
*
|
|
675
669
|
*/
|
|
676
|
-
_insertChildren
|
|
677
|
-
{
|
|
670
|
+
_insertChildren() {
|
|
678
671
|
var children = this._children;
|
|
679
672
|
if (!children) {
|
|
680
673
|
return;
|
|
@@ -682,11 +675,9 @@ qx.Class.define("qx.html.Node",
|
|
|
682
675
|
var length = children.length;
|
|
683
676
|
var child;
|
|
684
677
|
|
|
685
|
-
if (length > 2)
|
|
686
|
-
{
|
|
678
|
+
if (length > 2) {
|
|
687
679
|
var domElement = document.createDocumentFragment();
|
|
688
|
-
for (var i=0; i<length; i++)
|
|
689
|
-
{
|
|
680
|
+
for (var i = 0; i < length; i++) {
|
|
690
681
|
child = children[i];
|
|
691
682
|
if (child._domNode && child._included) {
|
|
692
683
|
domElement.appendChild(child._domNode);
|
|
@@ -694,12 +685,9 @@ qx.Class.define("qx.html.Node",
|
|
|
694
685
|
}
|
|
695
686
|
|
|
696
687
|
this._domNode.appendChild(domElement);
|
|
697
|
-
}
|
|
698
|
-
else
|
|
699
|
-
{
|
|
688
|
+
} else {
|
|
700
689
|
var domElement = this._domNode;
|
|
701
|
-
for (var i=0; i<length; i++)
|
|
702
|
-
{
|
|
690
|
+
for (var i = 0; i < length; i++) {
|
|
703
691
|
child = children[i];
|
|
704
692
|
if (child._domNode && child._included) {
|
|
705
693
|
domElement.appendChild(child._domNode);
|
|
@@ -708,16 +696,14 @@ qx.Class.define("qx.html.Node",
|
|
|
708
696
|
}
|
|
709
697
|
},
|
|
710
698
|
|
|
711
|
-
|
|
712
699
|
/**
|
|
713
700
|
* Synchronize internal children hierarchy to the DOM. This is used
|
|
714
701
|
* for further runtime updates after the element has been created
|
|
715
702
|
* initially.
|
|
716
703
|
*
|
|
717
704
|
*/
|
|
718
|
-
_syncChildren
|
|
719
|
-
|
|
720
|
-
var dataChildren = this._children||[];
|
|
705
|
+
_syncChildren() {
|
|
706
|
+
var dataChildren = this._children || [];
|
|
721
707
|
var dataLength = dataChildren.length;
|
|
722
708
|
var dataChild;
|
|
723
709
|
var dataEl;
|
|
@@ -732,13 +718,11 @@ qx.Class.define("qx.html.Node",
|
|
|
732
718
|
}
|
|
733
719
|
|
|
734
720
|
// Remove children from DOM which are excluded or remove first
|
|
735
|
-
for (var i=domChildren.length-1; i>=0; i--)
|
|
736
|
-
{
|
|
721
|
+
for (var i = domChildren.length - 1; i >= 0; i--) {
|
|
737
722
|
domEl = domChildren[i];
|
|
738
723
|
dataEl = qx.html.Node.fromDomNode(domEl);
|
|
739
724
|
|
|
740
|
-
if (!dataEl || !dataEl._included || dataEl._parent !== this)
|
|
741
|
-
{
|
|
725
|
+
if (!dataEl || !dataEl._included || dataEl._parent !== this) {
|
|
742
726
|
domParent.removeChild(domEl);
|
|
743
727
|
|
|
744
728
|
if (qx.core.Environment.get("qx.debug")) {
|
|
@@ -749,13 +733,11 @@ qx.Class.define("qx.html.Node",
|
|
|
749
733
|
|
|
750
734
|
// Start from beginning and bring DOM in sync
|
|
751
735
|
// with the data structure
|
|
752
|
-
for (var i=0; i<dataLength; i++)
|
|
753
|
-
{
|
|
736
|
+
for (var i = 0; i < dataLength; i++) {
|
|
754
737
|
dataChild = dataChildren[i];
|
|
755
738
|
|
|
756
739
|
// Only process visible childs
|
|
757
|
-
if (dataChild._included)
|
|
758
|
-
{
|
|
740
|
+
if (dataChild._included) {
|
|
759
741
|
dataEl = dataChild._domNode;
|
|
760
742
|
domEl = domChildren[domPos];
|
|
761
743
|
|
|
@@ -766,8 +748,7 @@ qx.Class.define("qx.html.Node",
|
|
|
766
748
|
// Only do something when out of sync
|
|
767
749
|
// If the data element is not there it may mean that it is still
|
|
768
750
|
// marked as visible=false
|
|
769
|
-
if (dataEl != domEl)
|
|
770
|
-
{
|
|
751
|
+
if (dataEl != domEl) {
|
|
771
752
|
if (domEl) {
|
|
772
753
|
domParent.insertBefore(dataEl, domEl);
|
|
773
754
|
} else {
|
|
@@ -785,15 +766,13 @@ qx.Class.define("qx.html.Node",
|
|
|
785
766
|
}
|
|
786
767
|
|
|
787
768
|
// User feedback
|
|
788
|
-
if (qx.core.Environment.get("qx.debug"))
|
|
789
|
-
{
|
|
769
|
+
if (qx.core.Environment.get("qx.debug")) {
|
|
790
770
|
if (qx.html.Element.DEBUG) {
|
|
791
771
|
this.debug("Synced DOM with " + domOperations + " operations");
|
|
792
772
|
}
|
|
793
773
|
}
|
|
794
774
|
},
|
|
795
|
-
|
|
796
|
-
|
|
775
|
+
|
|
797
776
|
/**
|
|
798
777
|
* Copies data between the internal representation and the DOM. This
|
|
799
778
|
* simply copies all the data and only works well directly after
|
|
@@ -804,14 +783,12 @@ qx.Class.define("qx.html.Node",
|
|
|
804
783
|
* @param propertiesFromDom {Boolean} whether the copy should respect the property
|
|
805
784
|
* values in the dom
|
|
806
785
|
*/
|
|
807
|
-
_copyData
|
|
808
|
-
{
|
|
786
|
+
_copyData(fromMarkup, propertiesFromDom) {
|
|
809
787
|
var elem = this._domNode;
|
|
810
|
-
|
|
788
|
+
|
|
811
789
|
// Attach events
|
|
812
790
|
var data = this.__eventValues;
|
|
813
|
-
if (data)
|
|
814
|
-
{
|
|
791
|
+
if (data) {
|
|
815
792
|
// Import listeners
|
|
816
793
|
let domEvents = {};
|
|
817
794
|
let manager = qx.event.Registration.getManager(elem);
|
|
@@ -829,7 +806,7 @@ qx.Class.define("qx.html.Node",
|
|
|
829
806
|
// through the complete runtime of the application.
|
|
830
807
|
delete this.__eventValues;
|
|
831
808
|
}
|
|
832
|
-
|
|
809
|
+
|
|
833
810
|
// Copy properties
|
|
834
811
|
if (this._properties) {
|
|
835
812
|
for (var key in this._properties) {
|
|
@@ -845,15 +822,13 @@ qx.Class.define("qx.html.Node",
|
|
|
845
822
|
}
|
|
846
823
|
},
|
|
847
824
|
|
|
848
|
-
|
|
849
825
|
/**
|
|
850
826
|
* Synchronizes data between the internal representation and the DOM. This
|
|
851
827
|
* is the counterpart of {@link #_copyData} and is used for further updates
|
|
852
828
|
* after the element has been created.
|
|
853
829
|
*
|
|
854
830
|
*/
|
|
855
|
-
_syncData
|
|
856
|
-
{
|
|
831
|
+
_syncData() {
|
|
857
832
|
// Sync misc
|
|
858
833
|
var jobs = this._propertyJobs;
|
|
859
834
|
if (jobs && this._properties) {
|
|
@@ -868,13 +843,6 @@ qx.Class.define("qx.html.Node",
|
|
|
868
843
|
}
|
|
869
844
|
},
|
|
870
845
|
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
846
|
/*
|
|
879
847
|
---------------------------------------------------------------------------
|
|
880
848
|
PRIVATE HELPERS/DATA
|
|
@@ -888,8 +856,7 @@ qx.Class.define("qx.html.Node",
|
|
|
888
856
|
* @throws {Error} if the given element is already a child
|
|
889
857
|
* of this element
|
|
890
858
|
*/
|
|
891
|
-
_addChildImpl
|
|
892
|
-
{
|
|
859
|
+
_addChildImpl(child) {
|
|
893
860
|
if (child._parent === this) {
|
|
894
861
|
throw new Error("Child is already in: " + child);
|
|
895
862
|
}
|
|
@@ -917,7 +884,6 @@ qx.Class.define("qx.html.Node",
|
|
|
917
884
|
}
|
|
918
885
|
},
|
|
919
886
|
|
|
920
|
-
|
|
921
887
|
/**
|
|
922
888
|
* Internal helper for all children removal needs
|
|
923
889
|
*
|
|
@@ -925,8 +891,7 @@ qx.Class.define("qx.html.Node",
|
|
|
925
891
|
* @throws {Error} if the given element is not a child
|
|
926
892
|
* of this element
|
|
927
893
|
*/
|
|
928
|
-
_removeChildImpl
|
|
929
|
-
{
|
|
894
|
+
_removeChildImpl(child) {
|
|
930
895
|
if (child._parent !== this) {
|
|
931
896
|
throw new Error("Has no child: " + child);
|
|
932
897
|
}
|
|
@@ -940,7 +905,6 @@ qx.Class.define("qx.html.Node",
|
|
|
940
905
|
delete child._parent;
|
|
941
906
|
},
|
|
942
907
|
|
|
943
|
-
|
|
944
908
|
/**
|
|
945
909
|
* Internal helper for all children move needs
|
|
946
910
|
*
|
|
@@ -948,8 +912,7 @@ qx.Class.define("qx.html.Node",
|
|
|
948
912
|
* @throws {Error} if the given element is not a child
|
|
949
913
|
* of this element
|
|
950
914
|
*/
|
|
951
|
-
_moveChildImpl
|
|
952
|
-
{
|
|
915
|
+
_moveChildImpl(child) {
|
|
953
916
|
if (child._parent !== this) {
|
|
954
917
|
throw new Error("Has no child: " + child);
|
|
955
918
|
}
|
|
@@ -960,9 +923,6 @@ qx.Class.define("qx.html.Node",
|
|
|
960
923
|
}
|
|
961
924
|
},
|
|
962
925
|
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
926
|
/*
|
|
967
927
|
---------------------------------------------------------------------------
|
|
968
928
|
CHILDREN MANAGEMENT (EXECUTED ON THE PARENT)
|
|
@@ -978,11 +938,10 @@ qx.Class.define("qx.html.Node",
|
|
|
978
938
|
*
|
|
979
939
|
* @return {Array} the children list
|
|
980
940
|
*/
|
|
981
|
-
getChildren
|
|
941
|
+
getChildren() {
|
|
982
942
|
return this._children || null;
|
|
983
943
|
},
|
|
984
944
|
|
|
985
|
-
|
|
986
945
|
/**
|
|
987
946
|
* Get a child element at the given index
|
|
988
947
|
*
|
|
@@ -990,25 +949,21 @@ qx.Class.define("qx.html.Node",
|
|
|
990
949
|
* @return {qx.html.Element|null} The child element or <code>null</code> if
|
|
991
950
|
* no child is found at that index.
|
|
992
951
|
*/
|
|
993
|
-
getChild
|
|
994
|
-
{
|
|
952
|
+
getChild(index) {
|
|
995
953
|
var children = this._children;
|
|
996
|
-
return children && children[index] || null;
|
|
954
|
+
return (children && children[index]) || null;
|
|
997
955
|
},
|
|
998
956
|
|
|
999
|
-
|
|
1000
957
|
/**
|
|
1001
958
|
* Returns whether the element has any child nodes
|
|
1002
959
|
*
|
|
1003
960
|
* @return {Boolean} Whether the element has any child nodes
|
|
1004
961
|
*/
|
|
1005
|
-
hasChildren
|
|
1006
|
-
{
|
|
962
|
+
hasChildren() {
|
|
1007
963
|
var children = this._children;
|
|
1008
964
|
return children && children[0] !== undefined;
|
|
1009
965
|
},
|
|
1010
966
|
|
|
1011
|
-
|
|
1012
967
|
/**
|
|
1013
968
|
* Find the position of the given child
|
|
1014
969
|
*
|
|
@@ -1016,13 +971,11 @@ qx.Class.define("qx.html.Node",
|
|
|
1016
971
|
* @return {Integer} returns the position. If the element
|
|
1017
972
|
* is not a child <code>-1</code> will be returned.
|
|
1018
973
|
*/
|
|
1019
|
-
indexOf
|
|
1020
|
-
{
|
|
974
|
+
indexOf(child) {
|
|
1021
975
|
var children = this._children;
|
|
1022
976
|
return children ? children.indexOf(child) : -1;
|
|
1023
977
|
},
|
|
1024
978
|
|
|
1025
|
-
|
|
1026
979
|
/**
|
|
1027
980
|
* Whether the given element is a child of this element.
|
|
1028
981
|
*
|
|
@@ -1030,23 +983,21 @@ qx.Class.define("qx.html.Node",
|
|
|
1030
983
|
* @return {Boolean} Returns <code>true</code> when the given
|
|
1031
984
|
* element is a child of this element.
|
|
1032
985
|
*/
|
|
1033
|
-
hasChild
|
|
1034
|
-
{
|
|
986
|
+
hasChild(child) {
|
|
1035
987
|
var children = this._children;
|
|
1036
988
|
return children && children.indexOf(child) !== -1;
|
|
1037
989
|
},
|
|
1038
990
|
|
|
1039
|
-
|
|
1040
991
|
/**
|
|
1041
992
|
* Append all given children at the end of this element.
|
|
1042
993
|
*
|
|
1043
994
|
* @param varargs {qx.html.Element} elements to insert
|
|
1044
995
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1045
996
|
*/
|
|
1046
|
-
add
|
|
997
|
+
add(varargs) {
|
|
1047
998
|
var self = this;
|
|
1048
999
|
function addImpl(arr) {
|
|
1049
|
-
arr.forEach(function(child) {
|
|
1000
|
+
arr.forEach(function (child) {
|
|
1050
1001
|
if (child instanceof qx.data.Array || qx.lang.Type.isArray(child)) {
|
|
1051
1002
|
addImpl(child);
|
|
1052
1003
|
} else {
|
|
@@ -1061,7 +1012,6 @@ qx.Class.define("qx.html.Node",
|
|
|
1061
1012
|
return this;
|
|
1062
1013
|
},
|
|
1063
1014
|
|
|
1064
|
-
|
|
1065
1015
|
/**
|
|
1066
1016
|
* Inserts a new element into this element at the given position.
|
|
1067
1017
|
*
|
|
@@ -1071,8 +1021,7 @@ qx.Class.define("qx.html.Node",
|
|
|
1071
1021
|
* children will be increased by one)
|
|
1072
1022
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1073
1023
|
*/
|
|
1074
|
-
addAt
|
|
1075
|
-
{
|
|
1024
|
+
addAt(child, index) {
|
|
1076
1025
|
this._addChildImpl(child);
|
|
1077
1026
|
qx.lang.Array.insertAt(this._children, child, index);
|
|
1078
1027
|
|
|
@@ -1080,14 +1029,13 @@ qx.Class.define("qx.html.Node",
|
|
|
1080
1029
|
return this;
|
|
1081
1030
|
},
|
|
1082
1031
|
|
|
1083
|
-
|
|
1084
1032
|
/**
|
|
1085
1033
|
* Removes all given children
|
|
1086
1034
|
*
|
|
1087
1035
|
* @param childs {qx.html.Element} children to remove
|
|
1088
1036
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1089
1037
|
*/
|
|
1090
|
-
remove
|
|
1038
|
+
remove(childs) {
|
|
1091
1039
|
var children = this._children;
|
|
1092
1040
|
if (!children) {
|
|
1093
1041
|
return this;
|
|
@@ -1095,7 +1043,7 @@ qx.Class.define("qx.html.Node",
|
|
|
1095
1043
|
|
|
1096
1044
|
var self = this;
|
|
1097
1045
|
function removeImpl(arr) {
|
|
1098
|
-
arr.forEach(function(child) {
|
|
1046
|
+
arr.forEach(function (child) {
|
|
1099
1047
|
if (child instanceof qx.data.Array || qx.lang.Type.isArray(child)) {
|
|
1100
1048
|
removeImpl(child);
|
|
1101
1049
|
} else {
|
|
@@ -1105,12 +1053,11 @@ qx.Class.define("qx.html.Node",
|
|
|
1105
1053
|
});
|
|
1106
1054
|
}
|
|
1107
1055
|
removeImpl(qx.lang.Array.fromArguments(arguments));
|
|
1108
|
-
|
|
1056
|
+
|
|
1109
1057
|
// Chaining support
|
|
1110
1058
|
return this;
|
|
1111
1059
|
},
|
|
1112
1060
|
|
|
1113
|
-
|
|
1114
1061
|
/**
|
|
1115
1062
|
* Removes the child at the given index
|
|
1116
1063
|
*
|
|
@@ -1118,8 +1065,7 @@ qx.Class.define("qx.html.Node",
|
|
|
1118
1065
|
* child (starts at 0 for the first child)
|
|
1119
1066
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1120
1067
|
*/
|
|
1121
|
-
removeAt
|
|
1122
|
-
{
|
|
1068
|
+
removeAt(index) {
|
|
1123
1069
|
var children = this._children;
|
|
1124
1070
|
if (!children) {
|
|
1125
1071
|
throw new Error("Has no children!");
|
|
@@ -1137,18 +1083,15 @@ qx.Class.define("qx.html.Node",
|
|
|
1137
1083
|
return this;
|
|
1138
1084
|
},
|
|
1139
1085
|
|
|
1140
|
-
|
|
1141
1086
|
/**
|
|
1142
1087
|
* Remove all children from this element.
|
|
1143
1088
|
*
|
|
1144
1089
|
* @return {qx.html.Element} A reference to this.
|
|
1145
1090
|
*/
|
|
1146
|
-
removeAll
|
|
1147
|
-
{
|
|
1091
|
+
removeAll() {
|
|
1148
1092
|
var children = this._children;
|
|
1149
|
-
if (children)
|
|
1150
|
-
|
|
1151
|
-
for (var i=0, l=children.length; i<l; i++) {
|
|
1093
|
+
if (children) {
|
|
1094
|
+
for (var i = 0, l = children.length; i < l; i++) {
|
|
1152
1095
|
this._removeChildImpl(children[i]);
|
|
1153
1096
|
}
|
|
1154
1097
|
|
|
@@ -1160,11 +1103,6 @@ qx.Class.define("qx.html.Node",
|
|
|
1160
1103
|
return this;
|
|
1161
1104
|
},
|
|
1162
1105
|
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
1106
|
/*
|
|
1169
1107
|
---------------------------------------------------------------------------
|
|
1170
1108
|
CHILDREN MANAGEMENT (EXECUTED ON THE CHILD)
|
|
@@ -1176,11 +1114,10 @@ qx.Class.define("qx.html.Node",
|
|
|
1176
1114
|
*
|
|
1177
1115
|
* @return {qx.html.Element|null} The parent of this element
|
|
1178
1116
|
*/
|
|
1179
|
-
getParent
|
|
1117
|
+
getParent() {
|
|
1180
1118
|
return this._parent || null;
|
|
1181
1119
|
},
|
|
1182
1120
|
|
|
1183
|
-
|
|
1184
1121
|
/**
|
|
1185
1122
|
* Insert self into the given parent. Normally appends self to the end,
|
|
1186
1123
|
* but optionally a position can be defined. With index <code>0</code> it
|
|
@@ -1190,8 +1127,7 @@ qx.Class.define("qx.html.Node",
|
|
|
1190
1127
|
* @param index {Integer?null} Optional position
|
|
1191
1128
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1192
1129
|
*/
|
|
1193
|
-
insertInto
|
|
1194
|
-
{
|
|
1130
|
+
insertInto(parent, index) {
|
|
1195
1131
|
parent._addChildImpl(this);
|
|
1196
1132
|
|
|
1197
1133
|
if (index == null) {
|
|
@@ -1203,15 +1139,13 @@ qx.Class.define("qx.html.Node",
|
|
|
1203
1139
|
return this;
|
|
1204
1140
|
},
|
|
1205
1141
|
|
|
1206
|
-
|
|
1207
1142
|
/**
|
|
1208
1143
|
* Insert self before the given (related) element
|
|
1209
1144
|
*
|
|
1210
1145
|
* @param rel {qx.html.Element} the related element
|
|
1211
1146
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1212
1147
|
*/
|
|
1213
|
-
insertBefore
|
|
1214
|
-
{
|
|
1148
|
+
insertBefore(rel) {
|
|
1215
1149
|
var parent = rel._parent;
|
|
1216
1150
|
|
|
1217
1151
|
parent._addChildImpl(this);
|
|
@@ -1220,15 +1154,13 @@ qx.Class.define("qx.html.Node",
|
|
|
1220
1154
|
return this;
|
|
1221
1155
|
},
|
|
1222
1156
|
|
|
1223
|
-
|
|
1224
1157
|
/**
|
|
1225
1158
|
* Insert self after the given (related) element
|
|
1226
1159
|
*
|
|
1227
1160
|
* @param rel {qx.html.Element} the related element
|
|
1228
1161
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1229
1162
|
*/
|
|
1230
|
-
insertAfter
|
|
1231
|
-
{
|
|
1163
|
+
insertAfter(rel) {
|
|
1232
1164
|
var parent = rel._parent;
|
|
1233
1165
|
|
|
1234
1166
|
parent._addChildImpl(this);
|
|
@@ -1237,7 +1169,6 @@ qx.Class.define("qx.html.Node",
|
|
|
1237
1169
|
return this;
|
|
1238
1170
|
},
|
|
1239
1171
|
|
|
1240
|
-
|
|
1241
1172
|
/**
|
|
1242
1173
|
* Move self to the given index in the current parent.
|
|
1243
1174
|
*
|
|
@@ -1246,8 +1177,7 @@ qx.Class.define("qx.html.Node",
|
|
|
1246
1177
|
* @throws {Error} when the given element is not child
|
|
1247
1178
|
* of this element.
|
|
1248
1179
|
*/
|
|
1249
|
-
moveTo
|
|
1250
|
-
{
|
|
1180
|
+
moveTo(index) {
|
|
1251
1181
|
var parent = this._parent;
|
|
1252
1182
|
|
|
1253
1183
|
parent._moveChildImpl(this);
|
|
@@ -1266,40 +1196,34 @@ qx.Class.define("qx.html.Node",
|
|
|
1266
1196
|
return this;
|
|
1267
1197
|
},
|
|
1268
1198
|
|
|
1269
|
-
|
|
1270
1199
|
/**
|
|
1271
1200
|
* Move self before the given (related) child.
|
|
1272
1201
|
*
|
|
1273
1202
|
* @param rel {qx.html.Element} the related child
|
|
1274
1203
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1275
1204
|
*/
|
|
1276
|
-
moveBefore
|
|
1277
|
-
{
|
|
1205
|
+
moveBefore(rel) {
|
|
1278
1206
|
var parent = this._parent;
|
|
1279
1207
|
return this.moveTo(parent._children.indexOf(rel));
|
|
1280
1208
|
},
|
|
1281
1209
|
|
|
1282
|
-
|
|
1283
1210
|
/**
|
|
1284
1211
|
* Move self after the given (related) child.
|
|
1285
1212
|
*
|
|
1286
1213
|
* @param rel {qx.html.Element} the related child
|
|
1287
1214
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1288
1215
|
*/
|
|
1289
|
-
moveAfter
|
|
1290
|
-
{
|
|
1216
|
+
moveAfter(rel) {
|
|
1291
1217
|
var parent = this._parent;
|
|
1292
1218
|
return this.moveTo(parent._children.indexOf(rel) + 1);
|
|
1293
1219
|
},
|
|
1294
1220
|
|
|
1295
|
-
|
|
1296
1221
|
/**
|
|
1297
1222
|
* Remove self from the current parent.
|
|
1298
1223
|
*
|
|
1299
1224
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1300
1225
|
*/
|
|
1301
|
-
free
|
|
1302
|
-
{
|
|
1226
|
+
free() {
|
|
1303
1227
|
var parent = this._parent;
|
|
1304
1228
|
if (!parent) {
|
|
1305
1229
|
throw new Error("Has no parent to remove from.");
|
|
@@ -1315,11 +1239,6 @@ qx.Class.define("qx.html.Node",
|
|
|
1315
1239
|
return this;
|
|
1316
1240
|
},
|
|
1317
1241
|
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
1242
|
/*
|
|
1324
1243
|
---------------------------------------------------------------------------
|
|
1325
1244
|
DOM ELEMENT ACCESS
|
|
@@ -1330,25 +1249,24 @@ qx.Class.define("qx.html.Node",
|
|
|
1330
1249
|
* Returns the DOM element (if created). Please use this with caution.
|
|
1331
1250
|
* It is better to make all changes to the object itself using the public
|
|
1332
1251
|
* API rather than to the underlying DOM element.
|
|
1333
|
-
*
|
|
1252
|
+
*
|
|
1334
1253
|
* @param create {Boolean?} if true, the DOM node will be created if it does
|
|
1335
1254
|
* not exist
|
|
1336
1255
|
* @return {Element|null} The DOM element node, if available.
|
|
1337
1256
|
*/
|
|
1338
|
-
getDomElement
|
|
1257
|
+
getDomElement(create) {
|
|
1339
1258
|
if (create && !this._domNode) {
|
|
1340
1259
|
this.flush();
|
|
1341
1260
|
}
|
|
1342
1261
|
return this._domNode || null;
|
|
1343
1262
|
},
|
|
1344
1263
|
|
|
1345
|
-
|
|
1346
1264
|
/**
|
|
1347
1265
|
* Returns the nodeName of the DOM element.
|
|
1348
1266
|
*
|
|
1349
1267
|
* @return {String} The node name
|
|
1350
1268
|
*/
|
|
1351
|
-
getNodeName
|
|
1269
|
+
getNodeName() {
|
|
1352
1270
|
return this._nodeName;
|
|
1353
1271
|
},
|
|
1354
1272
|
|
|
@@ -1357,17 +1275,18 @@ qx.Class.define("qx.html.Node",
|
|
|
1357
1275
|
*
|
|
1358
1276
|
* @param name {String} The node name
|
|
1359
1277
|
*/
|
|
1360
|
-
setNodeName
|
|
1361
|
-
if (
|
|
1362
|
-
|
|
1278
|
+
setNodeName(name) {
|
|
1279
|
+
if (
|
|
1280
|
+
this._domNode &&
|
|
1281
|
+
name.toLowerCase() !== this._nodeName.toLowerCase()
|
|
1282
|
+
) {
|
|
1283
|
+
throw new Error(
|
|
1284
|
+
"Cannot change the name of the node after the DOM node has been created"
|
|
1285
|
+
);
|
|
1363
1286
|
}
|
|
1364
1287
|
this._nodeName = name;
|
|
1365
1288
|
},
|
|
1366
1289
|
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
1290
|
/*
|
|
1372
1291
|
---------------------------------------------------------------------------
|
|
1373
1292
|
EXCLUDE SUPPORT
|
|
@@ -1380,8 +1299,7 @@ qx.Class.define("qx.html.Node",
|
|
|
1380
1299
|
*
|
|
1381
1300
|
* @return {Node} this object (for chaining support)
|
|
1382
1301
|
*/
|
|
1383
|
-
include
|
|
1384
|
-
{
|
|
1302
|
+
include() {
|
|
1385
1303
|
if (this._included) {
|
|
1386
1304
|
return this;
|
|
1387
1305
|
}
|
|
@@ -1395,15 +1313,13 @@ qx.Class.define("qx.html.Node",
|
|
|
1395
1313
|
return this;
|
|
1396
1314
|
},
|
|
1397
1315
|
|
|
1398
|
-
|
|
1399
1316
|
/**
|
|
1400
1317
|
* Marks the element as excluded which means it will be removed
|
|
1401
1318
|
* from the DOM and ignored for updates until it gets included again.
|
|
1402
1319
|
*
|
|
1403
1320
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1404
1321
|
*/
|
|
1405
|
-
exclude
|
|
1406
|
-
{
|
|
1322
|
+
exclude() {
|
|
1407
1323
|
if (!this._included) {
|
|
1408
1324
|
return this;
|
|
1409
1325
|
}
|
|
@@ -1417,25 +1333,23 @@ qx.Class.define("qx.html.Node",
|
|
|
1417
1333
|
return this;
|
|
1418
1334
|
},
|
|
1419
1335
|
|
|
1420
|
-
|
|
1421
1336
|
/**
|
|
1422
1337
|
* Whether the element is part of the DOM
|
|
1423
1338
|
*
|
|
1424
1339
|
* @return {Boolean} Whether the element is part of the DOM.
|
|
1425
1340
|
*/
|
|
1426
|
-
isIncluded
|
|
1341
|
+
isIncluded() {
|
|
1427
1342
|
return this._included === true;
|
|
1428
1343
|
},
|
|
1429
|
-
|
|
1344
|
+
|
|
1430
1345
|
/**
|
|
1431
1346
|
* Apply method for visible property
|
|
1432
1347
|
*/
|
|
1433
|
-
_applyVisible
|
|
1348
|
+
_applyVisible(value) {
|
|
1434
1349
|
// Nothing - to be overridden
|
|
1435
1350
|
},
|
|
1436
1351
|
|
|
1437
1352
|
|
|
1438
|
-
|
|
1439
1353
|
/*
|
|
1440
1354
|
---------------------------------------------------------------------------
|
|
1441
1355
|
PROPERTY SUPPORT
|
|
@@ -1446,51 +1360,64 @@ qx.Class.define("qx.html.Node",
|
|
|
1446
1360
|
* Registers a property and the implementations used to read the property value
|
|
1447
1361
|
* from the DOM and to set the property value onto the DOM. This allows the element
|
|
1448
1362
|
* to have a simple `setProperty` method that knows how to read and write the value.
|
|
1449
|
-
*
|
|
1363
|
+
*
|
|
1450
1364
|
* You do not have to specify a getter or a setter - by default the setter will use
|
|
1451
1365
|
* `_applyProperty` for backwards compatibility, and there is no getter implementation.
|
|
1452
|
-
*
|
|
1366
|
+
*
|
|
1453
1367
|
* The functions are called with `this` set to this Element. The getter takes
|
|
1454
1368
|
* the property name as a parameter and is expected to return a value, the setter takes
|
|
1455
|
-
* the property name and value as parameters, and returns nothing.
|
|
1456
|
-
*
|
|
1369
|
+
* the property name and value as parameters, and returns nothing.
|
|
1370
|
+
*
|
|
1457
1371
|
* @param key {String} the property name
|
|
1458
1372
|
* @param getter {Function?} function to read from the DOM
|
|
1459
1373
|
* @param setter {Function?} function to copy to the DOM
|
|
1460
1374
|
* @param serialize {Function?} function to serialize the value to HTML
|
|
1461
1375
|
*/
|
|
1462
|
-
registerProperty
|
|
1376
|
+
registerProperty(key, get, set, serialize) {
|
|
1463
1377
|
if (!this._properties) {
|
|
1464
1378
|
this._properties = {};
|
|
1465
1379
|
}
|
|
1466
1380
|
if (this._properties[key]) {
|
|
1467
|
-
this.debug(
|
|
1381
|
+
this.debug(
|
|
1382
|
+
"Overridding property " +
|
|
1383
|
+
key +
|
|
1384
|
+
" in " +
|
|
1385
|
+
this +
|
|
1386
|
+
"[" +
|
|
1387
|
+
this.classname +
|
|
1388
|
+
"]"
|
|
1389
|
+
);
|
|
1468
1390
|
}
|
|
1469
1391
|
if (!set) {
|
|
1470
|
-
set = qx.lang.Function.bind(function(value, key) {
|
|
1392
|
+
set = qx.lang.Function.bind(function (value, key) {
|
|
1471
1393
|
this._applyProperty(key, value);
|
|
1472
1394
|
}, this);
|
|
1473
|
-
qx.log.Logger.deprecatedMethodWarning(
|
|
1395
|
+
qx.log.Logger.deprecatedMethodWarning(
|
|
1396
|
+
this._applyProperty,
|
|
1397
|
+
"The method '_applyProperty' is deprecated. Please use `registerProperty` instead (property '" +
|
|
1398
|
+
key +
|
|
1399
|
+
"' in " +
|
|
1400
|
+
this.classname +
|
|
1401
|
+
")"
|
|
1402
|
+
);
|
|
1474
1403
|
}
|
|
1475
1404
|
this._properties[key] = {
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
}
|
|
1405
|
+
get: get,
|
|
1406
|
+
set: set,
|
|
1407
|
+
serialize: serialize,
|
|
1408
|
+
value: undefined
|
|
1409
|
+
};
|
|
1481
1410
|
},
|
|
1482
1411
|
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
1412
|
/**
|
|
1486
1413
|
* Applies a special property with the given value.
|
|
1487
1414
|
*
|
|
1488
1415
|
* This property apply routine can be easily overwritten and
|
|
1489
1416
|
* extended by sub classes to add new low level features which
|
|
1490
1417
|
* are not easily possible using styles and attributes.
|
|
1491
|
-
*
|
|
1418
|
+
*
|
|
1492
1419
|
* Note that this implementation is for backwards compatibility and
|
|
1493
|
-
* implementations
|
|
1420
|
+
* implementations
|
|
1494
1421
|
*
|
|
1495
1422
|
* @param name {String} Unique property identifier
|
|
1496
1423
|
* @param value {var} Any valid value (depends on the property)
|
|
@@ -1498,11 +1425,10 @@ qx.Class.define("qx.html.Node",
|
|
|
1498
1425
|
* @abstract
|
|
1499
1426
|
* @deprecated {6.0} please use `registerProperty` instead
|
|
1500
1427
|
*/
|
|
1501
|
-
_applyProperty
|
|
1428
|
+
_applyProperty(name, value) {
|
|
1502
1429
|
// empty implementation
|
|
1503
1430
|
},
|
|
1504
1431
|
|
|
1505
|
-
|
|
1506
1432
|
/**
|
|
1507
1433
|
* Set up the given property.
|
|
1508
1434
|
*
|
|
@@ -1512,7 +1438,7 @@ qx.Class.define("qx.html.Node",
|
|
|
1512
1438
|
* directly (without queuing)
|
|
1513
1439
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1514
1440
|
*/
|
|
1515
|
-
_setProperty
|
|
1441
|
+
_setProperty(key, value, direct) {
|
|
1516
1442
|
if (!this._properties || !this._properties[key]) {
|
|
1517
1443
|
this.registerProperty(key, null, null);
|
|
1518
1444
|
}
|
|
@@ -1549,7 +1475,6 @@ qx.Class.define("qx.html.Node",
|
|
|
1549
1475
|
return this;
|
|
1550
1476
|
},
|
|
1551
1477
|
|
|
1552
|
-
|
|
1553
1478
|
/**
|
|
1554
1479
|
* Removes the given misc
|
|
1555
1480
|
*
|
|
@@ -1558,11 +1483,10 @@ qx.Class.define("qx.html.Node",
|
|
|
1558
1483
|
* directly (without queuing)
|
|
1559
1484
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1560
1485
|
*/
|
|
1561
|
-
_removeProperty
|
|
1486
|
+
_removeProperty(key, direct) {
|
|
1562
1487
|
return this._setProperty(key, null, direct);
|
|
1563
1488
|
},
|
|
1564
1489
|
|
|
1565
|
-
|
|
1566
1490
|
/**
|
|
1567
1491
|
* Get the value of the given misc.
|
|
1568
1492
|
*
|
|
@@ -1570,11 +1494,11 @@ qx.Class.define("qx.html.Node",
|
|
|
1570
1494
|
* @param direct {Boolean?false} Whether the value should be obtained directly (without queuing)
|
|
1571
1495
|
* @return {var} the value of the misc
|
|
1572
1496
|
*/
|
|
1573
|
-
_getProperty
|
|
1497
|
+
_getProperty(key, direct) {
|
|
1574
1498
|
if (!this._properties || !this._properties[key]) {
|
|
1575
1499
|
return null;
|
|
1576
1500
|
}
|
|
1577
|
-
|
|
1501
|
+
|
|
1578
1502
|
var value = this._properties[key].value;
|
|
1579
1503
|
if (this._domNode) {
|
|
1580
1504
|
if (direct || value === undefined) {
|
|
@@ -1588,10 +1512,6 @@ qx.Class.define("qx.html.Node",
|
|
|
1588
1512
|
return value === undefined || value == null ? null : value;
|
|
1589
1513
|
},
|
|
1590
1514
|
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
1515
|
/*
|
|
1596
1516
|
---------------------------------------------------------------------------
|
|
1597
1517
|
EVENT SUPPORT
|
|
@@ -1612,15 +1532,19 @@ qx.Class.define("qx.html.Node",
|
|
|
1612
1532
|
* @return {var} An opaque id, which can be used to remove the event listener
|
|
1613
1533
|
* using the {@link #removeListenerById} method.
|
|
1614
1534
|
*/
|
|
1615
|
-
addListener
|
|
1616
|
-
{
|
|
1535
|
+
addListener(type, listener, self, capture) {
|
|
1617
1536
|
if (this.$$disposed) {
|
|
1618
1537
|
return null;
|
|
1619
1538
|
}
|
|
1620
1539
|
|
|
1621
1540
|
if (qx.core.Environment.get("qx.debug")) {
|
|
1622
|
-
var msg =
|
|
1623
|
-
" to
|
|
1541
|
+
var msg =
|
|
1542
|
+
"Failed to add event listener for type '" +
|
|
1543
|
+
type +
|
|
1544
|
+
"'" +
|
|
1545
|
+
" to the target '" +
|
|
1546
|
+
this +
|
|
1547
|
+
"': ";
|
|
1624
1548
|
|
|
1625
1549
|
this.assertString(type, msg + "Invalid event type.");
|
|
1626
1550
|
this.assertFunction(listener, msg + "Invalid callback function");
|
|
@@ -1633,10 +1557,16 @@ qx.Class.define("qx.html.Node",
|
|
|
1633
1557
|
this.assertBoolean(capture, "Invalid capture flag.");
|
|
1634
1558
|
}
|
|
1635
1559
|
}
|
|
1636
|
-
|
|
1560
|
+
|
|
1637
1561
|
const registerDomEvent = () => {
|
|
1638
1562
|
if (this._domNode) {
|
|
1639
|
-
return qx.event.Registration.addListener(
|
|
1563
|
+
return qx.event.Registration.addListener(
|
|
1564
|
+
this._domNode,
|
|
1565
|
+
type,
|
|
1566
|
+
listener,
|
|
1567
|
+
self,
|
|
1568
|
+
capture
|
|
1569
|
+
);
|
|
1640
1570
|
}
|
|
1641
1571
|
|
|
1642
1572
|
if (!this.__eventValues) {
|
|
@@ -1650,29 +1580,26 @@ qx.Class.define("qx.html.Node",
|
|
|
1650
1580
|
var unique = qx.event.Manager.getNextUniqueId();
|
|
1651
1581
|
var id = type + (capture ? "|capture|" : "|bubble|") + unique;
|
|
1652
1582
|
|
|
1653
|
-
this.__eventValues[id] =
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
unique : unique
|
|
1583
|
+
this.__eventValues[id] = {
|
|
1584
|
+
type: type,
|
|
1585
|
+
listener: listener,
|
|
1586
|
+
self: self,
|
|
1587
|
+
capture: capture,
|
|
1588
|
+
unique: unique
|
|
1660
1589
|
};
|
|
1661
1590
|
|
|
1662
1591
|
return id;
|
|
1663
1592
|
};
|
|
1664
|
-
|
|
1593
|
+
|
|
1665
1594
|
if (qx.Class.supportsEvent(this, type)) {
|
|
1666
|
-
let id =
|
|
1595
|
+
let id = super.addListener(type, listener, self, capture);
|
|
1667
1596
|
id.domEventId = registerDomEvent();
|
|
1668
1597
|
return id;
|
|
1669
1598
|
}
|
|
1670
|
-
|
|
1671
|
-
return registerDomEvent();
|
|
1672
1599
|
|
|
1600
|
+
return registerDomEvent();
|
|
1673
1601
|
},
|
|
1674
1602
|
|
|
1675
|
-
|
|
1676
1603
|
/**
|
|
1677
1604
|
* Removes an event listener from the element.
|
|
1678
1605
|
*
|
|
@@ -1682,16 +1609,19 @@ qx.Class.define("qx.html.Node",
|
|
|
1682
1609
|
* @param capture {Boolean ? false} Whether capturing should be enabled
|
|
1683
1610
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1684
1611
|
*/
|
|
1685
|
-
removeListener
|
|
1686
|
-
{
|
|
1612
|
+
removeListener(type, listener, self, capture) {
|
|
1687
1613
|
if (this.$$disposed) {
|
|
1688
1614
|
return null;
|
|
1689
1615
|
}
|
|
1690
1616
|
|
|
1691
|
-
if (qx.core.Environment.get("qx.debug"))
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1617
|
+
if (qx.core.Environment.get("qx.debug")) {
|
|
1618
|
+
var msg =
|
|
1619
|
+
"Failed to remove event listener for type '" +
|
|
1620
|
+
type +
|
|
1621
|
+
"'" +
|
|
1622
|
+
" from the target '" +
|
|
1623
|
+
this +
|
|
1624
|
+
"': ";
|
|
1695
1625
|
|
|
1696
1626
|
this.assertString(type, msg + "Invalid event type.");
|
|
1697
1627
|
this.assertFunction(listener, msg + "Invalid callback function");
|
|
@@ -1704,22 +1634,28 @@ qx.Class.define("qx.html.Node",
|
|
|
1704
1634
|
this.assertBoolean(capture, "Invalid capture flag.");
|
|
1705
1635
|
}
|
|
1706
1636
|
}
|
|
1707
|
-
|
|
1637
|
+
|
|
1708
1638
|
if (qx.Class.supportsEvent(this, type)) {
|
|
1709
|
-
|
|
1639
|
+
super.removeListener(type, listener, self, capture);
|
|
1710
1640
|
}
|
|
1711
1641
|
|
|
1712
|
-
if (this._domNode)
|
|
1713
|
-
|
|
1714
|
-
|
|
1642
|
+
if (this._domNode) {
|
|
1643
|
+
if (
|
|
1644
|
+
listener.$$wrapped_callback &&
|
|
1645
|
+
listener.$$wrapped_callback[type + this.toHashCode()]
|
|
1646
|
+
) {
|
|
1715
1647
|
var callback = listener.$$wrapped_callback[type + this.toHashCode()];
|
|
1716
1648
|
delete listener.$$wrapped_callback[type + this.toHashCode()];
|
|
1717
1649
|
listener = callback;
|
|
1718
1650
|
}
|
|
1719
|
-
qx.event.Registration.removeListener(
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1651
|
+
qx.event.Registration.removeListener(
|
|
1652
|
+
this._domNode,
|
|
1653
|
+
type,
|
|
1654
|
+
listener,
|
|
1655
|
+
self,
|
|
1656
|
+
capture
|
|
1657
|
+
);
|
|
1658
|
+
} else {
|
|
1723
1659
|
var values = this.__eventValues;
|
|
1724
1660
|
var entry;
|
|
1725
1661
|
|
|
@@ -1727,13 +1663,16 @@ qx.Class.define("qx.html.Node",
|
|
|
1727
1663
|
capture = false;
|
|
1728
1664
|
}
|
|
1729
1665
|
|
|
1730
|
-
for (var key in values)
|
|
1731
|
-
{
|
|
1666
|
+
for (var key in values) {
|
|
1732
1667
|
entry = values[key];
|
|
1733
1668
|
|
|
1734
1669
|
// Optimized for performance: Testing references first
|
|
1735
|
-
if (
|
|
1736
|
-
|
|
1670
|
+
if (
|
|
1671
|
+
entry.listener === listener &&
|
|
1672
|
+
entry.self === self &&
|
|
1673
|
+
entry.capture === capture &&
|
|
1674
|
+
entry.type === type
|
|
1675
|
+
) {
|
|
1737
1676
|
delete values[key];
|
|
1738
1677
|
break;
|
|
1739
1678
|
}
|
|
@@ -1743,7 +1682,6 @@ qx.Class.define("qx.html.Node",
|
|
|
1743
1682
|
return this;
|
|
1744
1683
|
},
|
|
1745
1684
|
|
|
1746
|
-
|
|
1747
1685
|
/**
|
|
1748
1686
|
* Removes an event listener from an event target by an id returned by
|
|
1749
1687
|
* {@link #addListener}
|
|
@@ -1751,19 +1689,20 @@ qx.Class.define("qx.html.Node",
|
|
|
1751
1689
|
* @param id {var} The id returned by {@link #addListener}
|
|
1752
1690
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1753
1691
|
*/
|
|
1754
|
-
removeListenerById
|
|
1755
|
-
{
|
|
1692
|
+
removeListenerById(id) {
|
|
1756
1693
|
if (this.$$disposed) {
|
|
1757
1694
|
return null;
|
|
1758
1695
|
}
|
|
1759
|
-
|
|
1696
|
+
|
|
1760
1697
|
if (id.domEventId) {
|
|
1761
1698
|
if (this._domNode) {
|
|
1762
|
-
qx.event.Registration.removeListenerById(
|
|
1699
|
+
qx.event.Registration.removeListenerById(
|
|
1700
|
+
this._domNode,
|
|
1701
|
+
id.domEventId
|
|
1702
|
+
);
|
|
1763
1703
|
}
|
|
1764
1704
|
delete id.domEventId;
|
|
1765
|
-
|
|
1766
|
-
|
|
1705
|
+
super.removeListenerById(id);
|
|
1767
1706
|
} else {
|
|
1768
1707
|
if (this._domNode) {
|
|
1769
1708
|
qx.event.Registration.removeListenerById(this._domNode, id);
|
|
@@ -1775,7 +1714,6 @@ qx.Class.define("qx.html.Node",
|
|
|
1775
1714
|
return this;
|
|
1776
1715
|
},
|
|
1777
1716
|
|
|
1778
|
-
|
|
1779
1717
|
/**
|
|
1780
1718
|
* Check if there are one or more listeners for an event type.
|
|
1781
1719
|
*
|
|
@@ -1784,14 +1722,13 @@ qx.Class.define("qx.html.Node",
|
|
|
1784
1722
|
* the bubbling or of the capturing phase.
|
|
1785
1723
|
* @return {Boolean} Whether the object has a listener of the given type.
|
|
1786
1724
|
*/
|
|
1787
|
-
hasListener
|
|
1788
|
-
{
|
|
1725
|
+
hasListener(type, capture) {
|
|
1789
1726
|
if (this.$$disposed) {
|
|
1790
1727
|
return false;
|
|
1791
1728
|
}
|
|
1792
1729
|
|
|
1793
1730
|
if (qx.Class.supportsEvent(this, type)) {
|
|
1794
|
-
let has =
|
|
1731
|
+
let has = super.hasListener(type, capture);
|
|
1795
1732
|
if (has) {
|
|
1796
1733
|
return true;
|
|
1797
1734
|
}
|
|
@@ -1801,18 +1738,17 @@ qx.Class.define("qx.html.Node",
|
|
|
1801
1738
|
if (qx.event.Registration.hasListener(this._domNode, type, capture)) {
|
|
1802
1739
|
return true;
|
|
1803
1740
|
}
|
|
1804
|
-
|
|
1805
1741
|
} else {
|
|
1806
1742
|
var values = this.__eventValues;
|
|
1807
1743
|
var entry;
|
|
1808
|
-
|
|
1744
|
+
|
|
1809
1745
|
if (capture == null) {
|
|
1810
1746
|
capture = false;
|
|
1811
1747
|
}
|
|
1812
|
-
|
|
1748
|
+
|
|
1813
1749
|
for (var key in values) {
|
|
1814
1750
|
entry = values[key];
|
|
1815
|
-
|
|
1751
|
+
|
|
1816
1752
|
// Optimized for performance: Testing fast types first
|
|
1817
1753
|
if (entry.capture === capture && entry.type === type) {
|
|
1818
1754
|
return true;
|
|
@@ -1823,7 +1759,6 @@ qx.Class.define("qx.html.Node",
|
|
|
1823
1759
|
return false;
|
|
1824
1760
|
},
|
|
1825
1761
|
|
|
1826
|
-
|
|
1827
1762
|
/**
|
|
1828
1763
|
* Serializes and returns all event listeners attached to this element
|
|
1829
1764
|
* @return {Map[]} an Array containing a map for each listener. The maps
|
|
@@ -1836,15 +1771,22 @@ qx.Class.define("qx.html.Node",
|
|
|
1836
1771
|
* attached to the capturing phase</li>
|
|
1837
1772
|
* </ul>
|
|
1838
1773
|
*/
|
|
1839
|
-
getListeners
|
|
1774
|
+
getListeners() {
|
|
1840
1775
|
if (this.$$disposed) {
|
|
1841
1776
|
return null;
|
|
1842
1777
|
}
|
|
1843
1778
|
|
|
1844
1779
|
var listeners = [];
|
|
1845
|
-
qx.lang.Array.append(
|
|
1780
|
+
qx.lang.Array.append(
|
|
1781
|
+
listeners,
|
|
1782
|
+
qx.event.Registration.serializeListeners(this) || []
|
|
1783
|
+
);
|
|
1784
|
+
|
|
1846
1785
|
if (this._domNode) {
|
|
1847
|
-
qx.lang.Array.append(
|
|
1786
|
+
qx.lang.Array.append(
|
|
1787
|
+
listeners,
|
|
1788
|
+
qx.event.Registration.serializeListeners(this._domNode) || []
|
|
1789
|
+
);
|
|
1848
1790
|
}
|
|
1849
1791
|
|
|
1850
1792
|
for (var id in this.__eventValues) {
|
|
@@ -1861,21 +1803,15 @@ qx.Class.define("qx.html.Node",
|
|
|
1861
1803
|
}
|
|
1862
1804
|
},
|
|
1863
1805
|
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
1806
|
/*
|
|
1869
1807
|
*****************************************************************************
|
|
1870
1808
|
DESTRUCT
|
|
1871
1809
|
*****************************************************************************
|
|
1872
1810
|
*/
|
|
1873
1811
|
|
|
1874
|
-
destruct
|
|
1875
|
-
{
|
|
1812
|
+
destruct() {
|
|
1876
1813
|
var el = this._domNode;
|
|
1877
|
-
if (el)
|
|
1878
|
-
{
|
|
1814
|
+
if (el) {
|
|
1879
1815
|
qx.event.Registration.getManager(el).removeAllListeners(el);
|
|
1880
1816
|
el.$$element = "";
|
|
1881
1817
|
delete el.$$elementObject;
|
|
@@ -1883,8 +1819,7 @@ qx.Class.define("qx.html.Node",
|
|
|
1883
1819
|
delete el.$$qxObject;
|
|
1884
1820
|
}
|
|
1885
1821
|
|
|
1886
|
-
if (!qx.core.ObjectRegistry.inShutDown)
|
|
1887
|
-
{
|
|
1822
|
+
if (!qx.core.ObjectRegistry.inShutDown) {
|
|
1888
1823
|
var parent = this._parent;
|
|
1889
1824
|
if (parent && !parent.$$disposed) {
|
|
1890
1825
|
parent.remove(this);
|
|
@@ -1893,6 +1828,11 @@ qx.Class.define("qx.html.Node",
|
|
|
1893
1828
|
|
|
1894
1829
|
this._disposeArray("_children");
|
|
1895
1830
|
|
|
1896
|
-
this._properties =
|
|
1831
|
+
this._properties =
|
|
1832
|
+
this._propertyJobs =
|
|
1833
|
+
this._domNode =
|
|
1834
|
+
this._parent =
|
|
1835
|
+
this.__eventValues =
|
|
1836
|
+
null;
|
|
1897
1837
|
}
|
|
1898
1838
|
});
|