@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
|
@@ -40,12 +40,8 @@
|
|
|
40
40
|
*
|
|
41
41
|
* @require(qx.module.Animation)
|
|
42
42
|
*/
|
|
43
|
-
qx.Class.define("qx.html.Element",
|
|
44
|
-
|
|
45
|
-
extend : qx.html.Node,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
qx.Class.define("qx.html.Element", {
|
|
44
|
+
extend: qx.html.Node,
|
|
49
45
|
|
|
50
46
|
/*
|
|
51
47
|
*****************************************************************************
|
|
@@ -62,9 +58,8 @@ qx.Class.define("qx.html.Element",
|
|
|
62
58
|
* @param attributes {Map?null} optional map of element attributes, where the
|
|
63
59
|
* key is the name of the attribute and the value is the value to use.
|
|
64
60
|
*/
|
|
65
|
-
construct
|
|
66
|
-
|
|
67
|
-
this.base(arguments, tagName||"div");
|
|
61
|
+
construct(tagName, styles, attributes) {
|
|
62
|
+
super(tagName || "div");
|
|
68
63
|
|
|
69
64
|
this.__styleValues = styles || null;
|
|
70
65
|
this.__attribValues = attributes || null;
|
|
@@ -76,23 +71,22 @@ qx.Class.define("qx.html.Element",
|
|
|
76
71
|
}
|
|
77
72
|
}
|
|
78
73
|
this.initCssClass();
|
|
79
|
-
|
|
80
|
-
this.registerProperty("innerHtml",
|
|
81
|
-
null,
|
|
82
|
-
function(value) {
|
|
83
|
-
if (this._domNode) {
|
|
84
|
-
this._domNode.innerHTML = value;
|
|
85
|
-
}
|
|
86
|
-
},
|
|
87
|
-
function(writer, property, name) {
|
|
88
|
-
if (property.value) {
|
|
89
|
-
writer(property.value);
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
},
|
|
93
|
-
|
|
94
|
-
|
|
95
74
|
|
|
75
|
+
this.registerProperty(
|
|
76
|
+
"innerHtml",
|
|
77
|
+
null,
|
|
78
|
+
function (value) {
|
|
79
|
+
if (this._domNode) {
|
|
80
|
+
this._domNode.innerHTML = value;
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
function (writer, property, name) {
|
|
84
|
+
if (property.value) {
|
|
85
|
+
writer(property.value);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
},
|
|
96
90
|
|
|
97
91
|
/*
|
|
98
92
|
*****************************************************************************
|
|
@@ -100,8 +94,7 @@ qx.Class.define("qx.html.Element",
|
|
|
100
94
|
*****************************************************************************
|
|
101
95
|
*/
|
|
102
96
|
|
|
103
|
-
statics
|
|
104
|
-
{
|
|
97
|
+
statics: {
|
|
105
98
|
/*
|
|
106
99
|
---------------------------------------------------------------------------
|
|
107
100
|
STATIC DATA
|
|
@@ -109,39 +102,35 @@ qx.Class.define("qx.html.Element",
|
|
|
109
102
|
*/
|
|
110
103
|
|
|
111
104
|
/** @type {Boolean} If debugging should be enabled */
|
|
112
|
-
DEBUG
|
|
113
|
-
|
|
105
|
+
DEBUG: false,
|
|
106
|
+
|
|
114
107
|
/** @type {Integer} number of roots */
|
|
115
108
|
_hasRoots: 0,
|
|
116
|
-
|
|
109
|
+
|
|
117
110
|
/** @type {Element} the default root to use */
|
|
118
111
|
_defaultRoot: null,
|
|
119
112
|
|
|
120
113
|
/** @type {Map} Contains the modified {@link qx.html.Element}s. The key is the hash code. */
|
|
121
|
-
_modified
|
|
114
|
+
_modified: {},
|
|
122
115
|
|
|
123
116
|
/** @type {Map} Contains the {@link qx.html.Element}s which should get hidden or visible at the next flush. The key is the hash code. */
|
|
124
|
-
_visibility
|
|
117
|
+
_visibility: {},
|
|
125
118
|
|
|
126
119
|
/** @type {Map} Contains the {@link qx.html.Element}s which should scrolled at the next flush */
|
|
127
|
-
_scroll
|
|
120
|
+
_scroll: {},
|
|
128
121
|
|
|
129
122
|
/** @type {Array} List of post actions for elements. The key is the action name. The value the {@link qx.html.Element}. */
|
|
130
|
-
_actions
|
|
123
|
+
_actions: [],
|
|
131
124
|
|
|
132
125
|
/** @type {Map} List of all selections. */
|
|
133
|
-
__selection
|
|
126
|
+
__selection: {},
|
|
134
127
|
|
|
135
|
-
__focusHandler
|
|
128
|
+
__focusHandler: null,
|
|
136
129
|
|
|
137
|
-
__mouseCapture
|
|
130
|
+
__mouseCapture: null,
|
|
138
131
|
|
|
139
132
|
__SELF_CLOSING_TAGS: null,
|
|
140
133
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
134
|
/*
|
|
146
135
|
---------------------------------------------------------------------------
|
|
147
136
|
PUBLIC ELEMENT FLUSH
|
|
@@ -154,68 +143,65 @@ qx.Class.define("qx.html.Element",
|
|
|
154
143
|
*
|
|
155
144
|
* @param job {String} The job descriptor. Should always be <code>"element"</code>.
|
|
156
145
|
*/
|
|
157
|
-
_scheduleFlush
|
|
146
|
+
_scheduleFlush(job) {
|
|
158
147
|
qx.html.Element.__deferredCall.schedule();
|
|
159
148
|
},
|
|
160
149
|
|
|
161
|
-
|
|
162
150
|
/**
|
|
163
151
|
* Flush the global modified list
|
|
164
152
|
*/
|
|
165
|
-
flush
|
|
166
|
-
{
|
|
153
|
+
flush() {
|
|
167
154
|
var obj;
|
|
168
155
|
|
|
169
|
-
if (qx.core.Environment.get("qx.debug"))
|
|
170
|
-
{
|
|
156
|
+
if (qx.core.Environment.get("qx.debug")) {
|
|
171
157
|
if (this.DEBUG) {
|
|
172
158
|
qx.log.Logger.debug(this, "Flushing elements...");
|
|
173
159
|
}
|
|
174
160
|
}
|
|
175
161
|
|
|
176
|
-
|
|
177
162
|
if (!qx.core.Environment.get("qx.headless")) {
|
|
178
163
|
// blur elements, which will be removed
|
|
179
164
|
var focusHandler = this.__getFocusHandler();
|
|
180
165
|
var focusedDomElement = focusHandler.getFocus();
|
|
181
|
-
if (
|
|
166
|
+
if (
|
|
167
|
+
focusedDomElement &&
|
|
168
|
+
this.__willBecomeInvisible(focusedDomElement)
|
|
169
|
+
) {
|
|
182
170
|
focusHandler.blur(focusedDomElement);
|
|
183
171
|
}
|
|
184
|
-
|
|
172
|
+
|
|
185
173
|
// deactivate elements, which will be removed
|
|
186
174
|
var activeDomElement = focusHandler.getActive();
|
|
187
175
|
if (activeDomElement && this.__willBecomeInvisible(activeDomElement)) {
|
|
188
176
|
qx.bom.Element.deactivate(activeDomElement);
|
|
189
177
|
}
|
|
190
|
-
|
|
178
|
+
|
|
191
179
|
// release capture for elements, which will be removed
|
|
192
180
|
var captureDomElement = this.__getCaptureElement();
|
|
193
|
-
if (
|
|
181
|
+
if (
|
|
182
|
+
captureDomElement &&
|
|
183
|
+
this.__willBecomeInvisible(captureDomElement)
|
|
184
|
+
) {
|
|
194
185
|
qx.bom.Element.releaseCapture(captureDomElement);
|
|
195
186
|
}
|
|
196
187
|
}
|
|
197
188
|
|
|
198
|
-
|
|
199
189
|
var later = [];
|
|
200
|
-
var modified =
|
|
190
|
+
var modified = qx.html.Element._modified;
|
|
201
191
|
|
|
202
|
-
for (var hc in modified)
|
|
203
|
-
{
|
|
192
|
+
for (var hc in modified) {
|
|
204
193
|
obj = modified[hc];
|
|
205
194
|
// Ignore all hidden elements except iframes
|
|
206
195
|
// but keep them until they get visible (again)
|
|
207
|
-
if (obj._willBeSeeable() || obj.classname == "qx.html.Iframe")
|
|
208
|
-
{
|
|
196
|
+
if (obj._willBeSeeable() || obj.classname == "qx.html.Iframe") {
|
|
209
197
|
// Separately queue rendered elements
|
|
210
198
|
if (obj._domNode && qx.dom.Hierarchy.isRendered(obj._domNode)) {
|
|
211
199
|
later.push(obj);
|
|
212
200
|
}
|
|
213
201
|
|
|
214
202
|
// Flush invisible elements first
|
|
215
|
-
else
|
|
216
|
-
|
|
217
|
-
if (qx.core.Environment.get("qx.debug"))
|
|
218
|
-
{
|
|
203
|
+
else {
|
|
204
|
+
if (qx.core.Environment.get("qx.debug")) {
|
|
219
205
|
if (this.DEBUG) {
|
|
220
206
|
obj.debug("Flush invisible element");
|
|
221
207
|
}
|
|
@@ -229,12 +215,10 @@ qx.Class.define("qx.html.Element",
|
|
|
229
215
|
}
|
|
230
216
|
}
|
|
231
217
|
|
|
232
|
-
for (var i=0, l=later.length; i<l; i++)
|
|
233
|
-
{
|
|
218
|
+
for (var i = 0, l = later.length; i < l; i++) {
|
|
234
219
|
obj = later[i];
|
|
235
220
|
|
|
236
|
-
if (qx.core.Environment.get("qx.debug"))
|
|
237
|
-
{
|
|
221
|
+
if (qx.core.Environment.get("qx.debug")) {
|
|
238
222
|
if (this.DEBUG) {
|
|
239
223
|
obj.debug("Flush rendered element");
|
|
240
224
|
}
|
|
@@ -243,26 +227,24 @@ qx.Class.define("qx.html.Element",
|
|
|
243
227
|
obj.flush();
|
|
244
228
|
}
|
|
245
229
|
|
|
246
|
-
|
|
247
|
-
|
|
248
230
|
// Process visibility list
|
|
249
231
|
var visibility = this._visibility;
|
|
250
232
|
|
|
251
|
-
for (var hc in visibility)
|
|
252
|
-
{
|
|
233
|
+
for (var hc in visibility) {
|
|
253
234
|
obj = visibility[hc];
|
|
254
235
|
|
|
255
236
|
var element = obj._domNode;
|
|
256
|
-
if (!element)
|
|
257
|
-
{
|
|
237
|
+
if (!element) {
|
|
258
238
|
delete visibility[hc];
|
|
259
239
|
continue;
|
|
260
240
|
}
|
|
261
241
|
|
|
262
|
-
if (qx.core.Environment.get("qx.debug"))
|
|
263
|
-
{
|
|
242
|
+
if (qx.core.Environment.get("qx.debug")) {
|
|
264
243
|
if (this.DEBUG) {
|
|
265
|
-
qx.log.Logger.debug(
|
|
244
|
+
qx.log.Logger.debug(
|
|
245
|
+
this,
|
|
246
|
+
"Switching visibility to: " + obj.isVisible()
|
|
247
|
+
);
|
|
266
248
|
}
|
|
267
249
|
}
|
|
268
250
|
|
|
@@ -271,8 +253,7 @@ qx.Class.define("qx.html.Element",
|
|
|
271
253
|
if (!obj.$$disposed) {
|
|
272
254
|
element.style.display = obj.isVisible() ? "" : "none";
|
|
273
255
|
// also hide the element (fixed some rendering problem in IE<8 & IE8 quirks)
|
|
274
|
-
if (
|
|
275
|
-
{
|
|
256
|
+
if (qx.core.Environment.get("engine.name") == "mshtml") {
|
|
276
257
|
if (!(document.documentMode >= 8)) {
|
|
277
258
|
element.style.visibility = obj.isVisible() ? "visible" : "hidden";
|
|
278
259
|
}
|
|
@@ -285,63 +266,51 @@ qx.Class.define("qx.html.Element",
|
|
|
285
266
|
if (!qx.core.Environment.get("qx.headless")) {
|
|
286
267
|
// Process scroll list
|
|
287
268
|
var scroll = this._scroll;
|
|
288
|
-
for (var hc in scroll)
|
|
289
|
-
{
|
|
269
|
+
for (var hc in scroll) {
|
|
290
270
|
obj = scroll[hc];
|
|
291
271
|
var elem = obj._domNode;
|
|
292
|
-
|
|
293
|
-
if (elem && elem.offsetWidth)
|
|
294
|
-
{
|
|
272
|
+
|
|
273
|
+
if (elem && elem.offsetWidth) {
|
|
295
274
|
var done = true;
|
|
296
|
-
|
|
275
|
+
|
|
297
276
|
// ScrollToX
|
|
298
|
-
if (obj.__lazyScrollX != null)
|
|
299
|
-
{
|
|
277
|
+
if (obj.__lazyScrollX != null) {
|
|
300
278
|
obj._domNode.scrollLeft = obj.__lazyScrollX;
|
|
301
279
|
delete obj.__lazyScrollX;
|
|
302
280
|
}
|
|
303
|
-
|
|
281
|
+
|
|
304
282
|
// ScrollToY
|
|
305
|
-
if (obj.__lazyScrollY != null)
|
|
306
|
-
{
|
|
283
|
+
if (obj.__lazyScrollY != null) {
|
|
307
284
|
obj._domNode.scrollTop = obj.__lazyScrollY;
|
|
308
285
|
delete obj.__lazyScrollY;
|
|
309
286
|
}
|
|
310
|
-
|
|
287
|
+
|
|
311
288
|
// ScrollIntoViewX
|
|
312
289
|
var intoViewX = obj.__lazyScrollIntoViewX;
|
|
313
|
-
if (intoViewX != null)
|
|
314
|
-
{
|
|
290
|
+
if (intoViewX != null) {
|
|
315
291
|
var child = intoViewX.element.getDomElement();
|
|
316
|
-
|
|
317
|
-
if (child && child.offsetWidth)
|
|
318
|
-
{
|
|
292
|
+
|
|
293
|
+
if (child && child.offsetWidth) {
|
|
319
294
|
qx.bom.element.Scroll.intoViewX(child, elem, intoViewX.align);
|
|
320
295
|
delete obj.__lazyScrollIntoViewX;
|
|
321
|
-
}
|
|
322
|
-
else
|
|
323
|
-
{
|
|
296
|
+
} else {
|
|
324
297
|
done = false;
|
|
325
298
|
}
|
|
326
299
|
}
|
|
327
|
-
|
|
300
|
+
|
|
328
301
|
// ScrollIntoViewY
|
|
329
302
|
var intoViewY = obj.__lazyScrollIntoViewY;
|
|
330
|
-
if (intoViewY != null)
|
|
331
|
-
{
|
|
303
|
+
if (intoViewY != null) {
|
|
332
304
|
var child = intoViewY.element.getDomElement();
|
|
333
|
-
|
|
334
|
-
if (child && child.offsetWidth)
|
|
335
|
-
{
|
|
305
|
+
|
|
306
|
+
if (child && child.offsetWidth) {
|
|
336
307
|
qx.bom.element.Scroll.intoViewY(child, elem, intoViewY.align);
|
|
337
308
|
delete obj.__lazyScrollIntoViewY;
|
|
338
|
-
}
|
|
339
|
-
else
|
|
340
|
-
{
|
|
309
|
+
} else {
|
|
341
310
|
done = false;
|
|
342
311
|
}
|
|
343
312
|
}
|
|
344
|
-
|
|
313
|
+
|
|
345
314
|
// Clear flag if all things are done
|
|
346
315
|
// Otherwise wait for the next flush
|
|
347
316
|
if (done) {
|
|
@@ -349,20 +318,22 @@ qx.Class.define("qx.html.Element",
|
|
|
349
318
|
}
|
|
350
319
|
}
|
|
351
320
|
}
|
|
352
|
-
|
|
353
|
-
|
|
321
|
+
|
|
354
322
|
var activityEndActions = {
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
323
|
+
releaseCapture: 1,
|
|
324
|
+
blur: 1,
|
|
325
|
+
deactivate: 1
|
|
358
326
|
};
|
|
359
|
-
|
|
327
|
+
|
|
360
328
|
// Process action list
|
|
361
|
-
for (var i=0; i<this._actions.length; i++)
|
|
362
|
-
{
|
|
329
|
+
for (var i = 0; i < this._actions.length; i++) {
|
|
363
330
|
var action = this._actions[i];
|
|
364
331
|
var element = action.element._domNode;
|
|
365
|
-
if (
|
|
332
|
+
if (
|
|
333
|
+
!element ||
|
|
334
|
+
(!activityEndActions[action.type] &&
|
|
335
|
+
!action.element._willBeSeeable())
|
|
336
|
+
) {
|
|
366
337
|
continue;
|
|
367
338
|
}
|
|
368
339
|
var args = action.args;
|
|
@@ -373,12 +344,10 @@ qx.Class.define("qx.html.Element",
|
|
|
373
344
|
}
|
|
374
345
|
|
|
375
346
|
// Process selection
|
|
376
|
-
for (var hc in this.__selection)
|
|
377
|
-
{
|
|
347
|
+
for (var hc in this.__selection) {
|
|
378
348
|
var selection = this.__selection[hc];
|
|
379
349
|
var elem = selection.element._domNode;
|
|
380
|
-
if (elem)
|
|
381
|
-
{
|
|
350
|
+
if (elem) {
|
|
382
351
|
qx.bom.Selection.set(elem, selection.start, selection.end);
|
|
383
352
|
delete this.__selection[hc];
|
|
384
353
|
}
|
|
@@ -388,60 +357,57 @@ qx.Class.define("qx.html.Element",
|
|
|
388
357
|
qx.event.handler.Appear.refresh();
|
|
389
358
|
},
|
|
390
359
|
|
|
391
|
-
|
|
392
360
|
/**
|
|
393
361
|
* Get the focus handler
|
|
394
362
|
*
|
|
395
363
|
* @return {qx.event.handler.Focus} The focus handler
|
|
396
364
|
*/
|
|
397
|
-
__getFocusHandler
|
|
398
|
-
{
|
|
365
|
+
__getFocusHandler() {
|
|
399
366
|
if (!qx.core.Environment.get("qx.headless")) {
|
|
400
|
-
if (!this.__focusHandler)
|
|
401
|
-
{
|
|
367
|
+
if (!this.__focusHandler) {
|
|
402
368
|
var eventManager = qx.event.Registration.getManager(window);
|
|
403
369
|
this.__focusHandler = eventManager.getHandler(qx.event.handler.Focus);
|
|
404
370
|
}
|
|
405
371
|
return this.__focusHandler;
|
|
406
372
|
} else {
|
|
407
|
-
throw new Error(
|
|
373
|
+
throw new Error(
|
|
374
|
+
"Unexpected use of qx.html.Element.__getFocusHandler in headless environment"
|
|
375
|
+
);
|
|
408
376
|
}
|
|
409
377
|
},
|
|
410
378
|
|
|
411
|
-
|
|
412
379
|
/**
|
|
413
380
|
* Get the mouse capture element
|
|
414
381
|
*
|
|
415
382
|
* @return {Element} The mouse capture DOM element
|
|
416
383
|
*/
|
|
417
|
-
__getCaptureElement
|
|
418
|
-
{
|
|
384
|
+
__getCaptureElement() {
|
|
419
385
|
if (!qx.core.Environment.get("qx.headless")) {
|
|
420
|
-
if (!this.__mouseCapture)
|
|
421
|
-
{
|
|
386
|
+
if (!this.__mouseCapture) {
|
|
422
387
|
var eventManager = qx.event.Registration.getManager(window);
|
|
423
|
-
this.__mouseCapture = eventManager.getDispatcher(
|
|
388
|
+
this.__mouseCapture = eventManager.getDispatcher(
|
|
389
|
+
qx.event.dispatch.MouseCapture
|
|
390
|
+
);
|
|
424
391
|
}
|
|
425
392
|
return this.__mouseCapture.getCaptureElement();
|
|
426
393
|
} else {
|
|
427
|
-
throw new Error(
|
|
394
|
+
throw new Error(
|
|
395
|
+
"Unexpected use of qx.html.Element.__getCaptureElement in headless environment"
|
|
396
|
+
);
|
|
428
397
|
}
|
|
429
398
|
},
|
|
430
399
|
|
|
431
|
-
|
|
432
400
|
/**
|
|
433
401
|
* Whether the given DOM element will become invisible after the flush
|
|
434
402
|
*
|
|
435
403
|
* @param domElement {Element} The DOM element to check
|
|
436
404
|
* @return {Boolean} Whether the element will become invisible
|
|
437
405
|
*/
|
|
438
|
-
__willBecomeInvisible
|
|
439
|
-
{
|
|
406
|
+
__willBecomeInvisible(domElement) {
|
|
440
407
|
var element = this.fromDomElement(domElement);
|
|
441
408
|
return element && !element._willBeSeeable();
|
|
442
409
|
},
|
|
443
410
|
|
|
444
|
-
|
|
445
411
|
/**
|
|
446
412
|
* Finds the Widget for a given DOM element
|
|
447
413
|
*
|
|
@@ -449,19 +415,22 @@ qx.Class.define("qx.html.Element",
|
|
|
449
415
|
* @return {qx.ui.core.Widget} the Widget that created the DOM element
|
|
450
416
|
* @deprecated {6.1} see qx.html.Node.fromDomNode
|
|
451
417
|
*/
|
|
452
|
-
fromDomElement
|
|
418
|
+
fromDomElement(domElement) {
|
|
453
419
|
return qx.html.Node.fromDomNode(domElement);
|
|
454
420
|
},
|
|
455
|
-
|
|
421
|
+
|
|
456
422
|
/**
|
|
457
423
|
* Sets the default Root element
|
|
458
|
-
*
|
|
424
|
+
*
|
|
459
425
|
* @param root {Element} the new default root
|
|
460
426
|
*/
|
|
461
|
-
setDefaultRoot
|
|
427
|
+
setDefaultRoot(root) {
|
|
462
428
|
if (qx.core.Environment.get("qx.debug")) {
|
|
463
429
|
if (this._defaultRoot && root) {
|
|
464
|
-
qx.log.Logger.warn(
|
|
430
|
+
qx.log.Logger.warn(
|
|
431
|
+
qx.html.Element,
|
|
432
|
+
"Changing default root, from " + this._defaultRoot + " to " + root
|
|
433
|
+
);
|
|
465
434
|
}
|
|
466
435
|
}
|
|
467
436
|
this._defaultRoot = root;
|
|
@@ -469,32 +438,29 @@ qx.Class.define("qx.html.Element",
|
|
|
469
438
|
|
|
470
439
|
/**
|
|
471
440
|
* Returns the default root
|
|
472
|
-
*
|
|
441
|
+
*
|
|
473
442
|
* @return {Element} the default root
|
|
474
443
|
*/
|
|
475
|
-
getDefaultRoot
|
|
444
|
+
getDefaultRoot() {
|
|
476
445
|
return this._defaultRoot;
|
|
477
446
|
}
|
|
478
|
-
|
|
479
447
|
},
|
|
480
448
|
|
|
481
|
-
|
|
482
|
-
|
|
483
449
|
/*
|
|
484
450
|
*****************************************************************************
|
|
485
451
|
PROPERTIES
|
|
486
452
|
*****************************************************************************
|
|
487
453
|
*/
|
|
488
454
|
|
|
489
|
-
properties
|
|
490
|
-
/**
|
|
455
|
+
properties: {
|
|
456
|
+
/**
|
|
491
457
|
* @type{String} The primary CSS class for this element
|
|
492
|
-
*
|
|
493
|
-
* The implementation will add and remove this class from the list of classes,
|
|
494
|
-
* this property is provided as a means to easily set the primary class. Because
|
|
495
|
-
* SCSS supports inheritance, it's more useful to be able to allow the SCSS
|
|
496
|
-
* definition to control the inheritance hierarchy of classes.
|
|
497
|
-
*
|
|
458
|
+
*
|
|
459
|
+
* The implementation will add and remove this class from the list of classes,
|
|
460
|
+
* this property is provided as a means to easily set the primary class. Because
|
|
461
|
+
* SCSS supports inheritance, it's more useful to be able to allow the SCSS
|
|
462
|
+
* definition to control the inheritance hierarchy of classes.
|
|
463
|
+
*
|
|
498
464
|
* For example, a dialog could be implemented in code as a Dialog class derived from
|
|
499
465
|
* a Window class, but the presentation may be so different that the theme author
|
|
500
466
|
* would choose to not use inheritance at all.
|
|
@@ -507,16 +473,13 @@ qx.Class.define("qx.html.Element",
|
|
|
507
473
|
}
|
|
508
474
|
},
|
|
509
475
|
|
|
510
|
-
|
|
511
|
-
|
|
512
476
|
/*
|
|
513
477
|
*****************************************************************************
|
|
514
478
|
MEMBERS
|
|
515
479
|
*****************************************************************************
|
|
516
480
|
*/
|
|
517
481
|
|
|
518
|
-
members
|
|
519
|
-
{
|
|
482
|
+
members: {
|
|
520
483
|
/*
|
|
521
484
|
---------------------------------------------------------------------------
|
|
522
485
|
PROTECTED HELPERS/DATA
|
|
@@ -524,24 +487,24 @@ qx.Class.define("qx.html.Element",
|
|
|
524
487
|
*/
|
|
525
488
|
|
|
526
489
|
/** @type {Boolean} Marker for always visible root nodes (often the body node) */
|
|
527
|
-
__root
|
|
490
|
+
__root: false,
|
|
528
491
|
|
|
529
|
-
__lazyScrollIntoViewX
|
|
530
|
-
__lazyScrollIntoViewY
|
|
492
|
+
__lazyScrollIntoViewX: null,
|
|
493
|
+
__lazyScrollIntoViewY: null,
|
|
531
494
|
|
|
532
|
-
__lazyScrollX
|
|
533
|
-
__lazyScrollY
|
|
495
|
+
__lazyScrollX: null,
|
|
496
|
+
__lazyScrollY: null,
|
|
534
497
|
|
|
535
|
-
__styleJobs
|
|
536
|
-
__attribJobs
|
|
498
|
+
__styleJobs: null,
|
|
499
|
+
__attribJobs: null,
|
|
537
500
|
|
|
538
|
-
__styleValues
|
|
539
|
-
__attribValues
|
|
501
|
+
__styleValues: null,
|
|
502
|
+
__attribValues: null,
|
|
540
503
|
|
|
541
504
|
/*
|
|
542
505
|
* @Override
|
|
543
506
|
*/
|
|
544
|
-
_createDomElement
|
|
507
|
+
_createDomElement() {
|
|
545
508
|
return qx.dom.Element.create(this._nodeName);
|
|
546
509
|
},
|
|
547
510
|
|
|
@@ -553,15 +516,15 @@ qx.Class.define("qx.html.Element",
|
|
|
553
516
|
this.importQxObjectIds();
|
|
554
517
|
this.__childrenHaveChanged = false;
|
|
555
518
|
}
|
|
556
|
-
return
|
|
519
|
+
return super.serialize(writer);
|
|
557
520
|
},
|
|
558
521
|
|
|
559
522
|
/*
|
|
560
523
|
* @Override
|
|
561
524
|
*/
|
|
562
|
-
_serializeImpl
|
|
525
|
+
_serializeImpl(writer) {
|
|
563
526
|
writer("<", this._nodeName);
|
|
564
|
-
|
|
527
|
+
|
|
565
528
|
// Copy attributes
|
|
566
529
|
var data = this.__attribValues;
|
|
567
530
|
if (data) {
|
|
@@ -573,7 +536,7 @@ qx.Class.define("qx.html.Element",
|
|
|
573
536
|
}
|
|
574
537
|
|
|
575
538
|
// Copy styles
|
|
576
|
-
var data = this.__styleValues||{};
|
|
539
|
+
var data = this.__styleValues || {};
|
|
577
540
|
if (!this.isVisible()) {
|
|
578
541
|
data = qx.lang.Object.clone(data);
|
|
579
542
|
data.display = "none";
|
|
@@ -582,7 +545,7 @@ qx.Class.define("qx.html.Element",
|
|
|
582
545
|
var Style = qx.bom.element.Style;
|
|
583
546
|
var css = Style.compile(data);
|
|
584
547
|
if (css) {
|
|
585
|
-
writer(
|
|
548
|
+
writer(' style="', css, '"');
|
|
586
549
|
}
|
|
587
550
|
}
|
|
588
551
|
|
|
@@ -601,7 +564,7 @@ qx.Class.define("qx.html.Element",
|
|
|
601
564
|
}
|
|
602
565
|
}
|
|
603
566
|
}
|
|
604
|
-
|
|
567
|
+
|
|
605
568
|
// Children
|
|
606
569
|
if (!this._children || !this._children.length) {
|
|
607
570
|
if (qx.html.Element.__SELF_CLOSING_TAGS[this._nodeName]) {
|
|
@@ -617,7 +580,7 @@ qx.Class.define("qx.html.Element",
|
|
|
617
580
|
writer("</", this._nodeName, ">");
|
|
618
581
|
}
|
|
619
582
|
},
|
|
620
|
-
|
|
583
|
+
|
|
621
584
|
/**
|
|
622
585
|
* Connects a widget to this element, and to the DOM element in this Element. They
|
|
623
586
|
* remain associated until disposed or disconnectWidget is called
|
|
@@ -625,7 +588,7 @@ qx.Class.define("qx.html.Element",
|
|
|
625
588
|
* @param widget {qx.ui.core.Widget} the widget to associate
|
|
626
589
|
* @deprecated {6.1} see connectObject
|
|
627
590
|
*/
|
|
628
|
-
connectWidget
|
|
591
|
+
connectWidget(widget) {
|
|
629
592
|
return this.connectObject(widget);
|
|
630
593
|
},
|
|
631
594
|
|
|
@@ -636,7 +599,7 @@ qx.Class.define("qx.html.Element",
|
|
|
636
599
|
* @param qxObject {qx.core.Object} the Widget
|
|
637
600
|
* @deprecated {6.1} see disconnectObject
|
|
638
601
|
*/
|
|
639
|
-
disconnectWidget
|
|
602
|
+
disconnectWidget(widget) {
|
|
640
603
|
return this.disconnectObject(widget);
|
|
641
604
|
},
|
|
642
605
|
|
|
@@ -644,7 +607,7 @@ qx.Class.define("qx.html.Element",
|
|
|
644
607
|
* @Override
|
|
645
608
|
*/
|
|
646
609
|
_addChildImpl(child) {
|
|
647
|
-
|
|
610
|
+
super._addChildImpl(child);
|
|
648
611
|
this.__childrenHaveChanged = true;
|
|
649
612
|
},
|
|
650
613
|
|
|
@@ -652,7 +615,7 @@ qx.Class.define("qx.html.Element",
|
|
|
652
615
|
* @Override
|
|
653
616
|
*/
|
|
654
617
|
_removeChildImpl(child) {
|
|
655
|
-
|
|
618
|
+
super._removeChildImpl(child);
|
|
656
619
|
this.__childrenHaveChanged = true;
|
|
657
620
|
},
|
|
658
621
|
|
|
@@ -664,22 +627,22 @@ qx.Class.define("qx.html.Element",
|
|
|
664
627
|
this.importQxObjectIds();
|
|
665
628
|
this.__childrenHaveChanged = false;
|
|
666
629
|
}
|
|
667
|
-
return
|
|
630
|
+
return super.getQxObject(id);
|
|
668
631
|
},
|
|
669
632
|
|
|
670
633
|
/**
|
|
671
|
-
* When a tree of virtual dom is loaded via JSX code, the paths in the `data-qx-object-id`
|
|
634
|
+
* When a tree of virtual dom is loaded via JSX code, the paths in the `data-qx-object-id`
|
|
672
635
|
* attribute are relative to the JSX, and these attribuite values need to be loaded into the
|
|
673
636
|
* `qxObjectId` property - while resolving the parent parts of the path.
|
|
674
|
-
*
|
|
637
|
+
*
|
|
675
638
|
* EG
|
|
676
639
|
* <div data-qx-object-id="root">
|
|
677
640
|
* <div>
|
|
678
641
|
* <div data-qx-object-id="root/child">
|
|
679
|
-
*
|
|
680
|
-
* The root DIV has to take on the qxObjectId of "root", and the third DIV has to have the
|
|
642
|
+
*
|
|
643
|
+
* The root DIV has to take on the qxObjectId of "root", and the third DIV has to have the
|
|
681
644
|
* ID "child" and be owned by the first DIV.
|
|
682
|
-
*
|
|
645
|
+
*
|
|
683
646
|
* This function imports and resolves those IDs
|
|
684
647
|
*/
|
|
685
648
|
importQxObjectIds() {
|
|
@@ -699,30 +662,31 @@ qx.Class.define("qx.html.Element",
|
|
|
699
662
|
let attributeId = node.getAttribute("data-qx-object-id");
|
|
700
663
|
if (id) {
|
|
701
664
|
if (attributeId && !attributeId.endsWith(id)) {
|
|
702
|
-
this.warn(
|
|
665
|
+
this.warn(
|
|
666
|
+
`Attribute ID ${attributeId} is not compatible with the qxObjectId ${id}; the qxObjectId will take prescedence`
|
|
667
|
+
);
|
|
703
668
|
}
|
|
704
669
|
node.setAttribute("data-qx-object-id", id, true);
|
|
705
|
-
|
|
706
670
|
} else if (attributeId) {
|
|
707
|
-
let segs = attributeId ? attributeId.split(
|
|
671
|
+
let segs = attributeId ? attributeId.split("/") : [];
|
|
708
672
|
|
|
709
673
|
// Only one segment is easy, add directly to the parent
|
|
710
674
|
if (segs.length == 1) {
|
|
711
675
|
let parentNode = this;
|
|
712
676
|
parentNode.addOwnedQxObject(node, attributeId);
|
|
713
677
|
|
|
714
|
-
|
|
678
|
+
// Lots of segments
|
|
715
679
|
} else if (segs.length > 1) {
|
|
716
680
|
let parentNode = null;
|
|
717
681
|
|
|
718
682
|
// If the first segment is the outer parent
|
|
719
683
|
if (segs[0] == thisAttributeId || segs[0] == thisId) {
|
|
720
|
-
// Only two segments, means that the parent is the outer and the last segment
|
|
684
|
+
// Only two segments, means that the parent is the outer and the last segment
|
|
721
685
|
// is the ID of the node being examined
|
|
722
686
|
if (segs.length == 2) {
|
|
723
687
|
parentNode = this;
|
|
724
688
|
|
|
725
|
-
|
|
689
|
+
// Otherwise resolve it further
|
|
726
690
|
} else {
|
|
727
691
|
// Extract the segments, exclude the first and last, and that leaves us with a relative ID path
|
|
728
692
|
let subId = qx.lang.Array.clone(segs);
|
|
@@ -732,13 +696,15 @@ qx.Class.define("qx.html.Element",
|
|
|
732
696
|
parentNode = this.getQxObject(subId);
|
|
733
697
|
}
|
|
734
698
|
|
|
735
|
-
|
|
699
|
+
// Not the outer node, then resolve as a global.
|
|
736
700
|
} else {
|
|
737
701
|
parentNode = qx.core.Id.getQxObject(attributeId);
|
|
738
702
|
}
|
|
739
|
-
|
|
703
|
+
|
|
740
704
|
if (!parentNode) {
|
|
741
|
-
throw new Error(
|
|
705
|
+
throw new Error(
|
|
706
|
+
`Cannot resolve object id ancestors, id=${attributeId}`
|
|
707
|
+
);
|
|
742
708
|
}
|
|
743
709
|
|
|
744
710
|
parentNode.addOwnedQxObject(node, segs[segs.length - 1]);
|
|
@@ -757,13 +723,12 @@ qx.Class.define("qx.html.Element",
|
|
|
757
723
|
}
|
|
758
724
|
},
|
|
759
725
|
|
|
760
|
-
|
|
761
726
|
/*
|
|
762
727
|
---------------------------------------------------------------------------
|
|
763
728
|
SUPPORT FOR ATTRIBUTE/STYLE/EVENT FLUSH
|
|
764
729
|
---------------------------------------------------------------------------
|
|
765
730
|
*/
|
|
766
|
-
|
|
731
|
+
|
|
767
732
|
/**
|
|
768
733
|
* Copies data between the internal representation and the DOM. This
|
|
769
734
|
* simply copies all the data and only works well directly after
|
|
@@ -772,11 +737,10 @@ qx.Class.define("qx.html.Element",
|
|
|
772
737
|
* @param fromMarkup {Boolean} Whether the copy should respect styles
|
|
773
738
|
* given from markup
|
|
774
739
|
*/
|
|
775
|
-
_copyData
|
|
776
|
-
|
|
777
|
-
this.base(arguments, fromMarkup, propertiesFromDom);
|
|
740
|
+
_copyData(fromMarkup, propertiesFromDom) {
|
|
741
|
+
super._copyData(fromMarkup, propertiesFromDom);
|
|
778
742
|
var elem = this._domNode;
|
|
779
|
-
|
|
743
|
+
|
|
780
744
|
// Copy attributes
|
|
781
745
|
var data = this.__attribValues;
|
|
782
746
|
if (data) {
|
|
@@ -787,7 +751,7 @@ qx.Class.define("qx.html.Element",
|
|
|
787
751
|
str = this.getAttribute("class");
|
|
788
752
|
(str ? str.split(" ") : []).forEach(name => {
|
|
789
753
|
if (name.startsWith("qx-")) {
|
|
790
|
-
classes[name] = true
|
|
754
|
+
classes[name] = true;
|
|
791
755
|
}
|
|
792
756
|
});
|
|
793
757
|
|
|
@@ -797,7 +761,7 @@ qx.Class.define("qx.html.Element",
|
|
|
797
761
|
str = str.baseVal;
|
|
798
762
|
}
|
|
799
763
|
}
|
|
800
|
-
(str ? str.split(" ") : []).forEach(name => classes[name] = true);
|
|
764
|
+
(str ? str.split(" ") : []).forEach(name => (classes[name] = true));
|
|
801
765
|
classes = Object.keys(classes);
|
|
802
766
|
|
|
803
767
|
var segs = classes;
|
|
@@ -818,17 +782,16 @@ qx.Class.define("qx.html.Element",
|
|
|
818
782
|
var data = this.__styleValues;
|
|
819
783
|
if (data) {
|
|
820
784
|
var Style = qx.bom.element.Style;
|
|
821
|
-
|
|
785
|
+
|
|
822
786
|
if (fromMarkup) {
|
|
823
787
|
Style.setStyles(elem, data);
|
|
824
|
-
|
|
825
788
|
} else {
|
|
826
789
|
// Set styles at once which is a lot faster in most browsers
|
|
827
790
|
// compared to separate modifications of many single style properties.
|
|
828
791
|
Style.setCss(elem, Style.compile(data));
|
|
829
792
|
}
|
|
830
793
|
}
|
|
831
|
-
|
|
794
|
+
|
|
832
795
|
// Copy visibility
|
|
833
796
|
if (!fromMarkup) {
|
|
834
797
|
var display = elem.style.display || "";
|
|
@@ -841,19 +804,16 @@ qx.Class.define("qx.html.Element",
|
|
|
841
804
|
var display = elem.style.display || "";
|
|
842
805
|
this.setVisible(display != "none");
|
|
843
806
|
}
|
|
844
|
-
|
|
845
807
|
},
|
|
846
808
|
|
|
847
|
-
|
|
848
809
|
/**
|
|
849
810
|
* Synchronizes data between the internal representation and the DOM. This
|
|
850
811
|
* is the counterpart of {@link #_copyData} and is used for further updates
|
|
851
812
|
* after the element has been created.
|
|
852
813
|
*
|
|
853
814
|
*/
|
|
854
|
-
_syncData
|
|
855
|
-
|
|
856
|
-
this.base(arguments);
|
|
815
|
+
_syncData() {
|
|
816
|
+
super._syncData();
|
|
857
817
|
var elem = this._domNode;
|
|
858
818
|
|
|
859
819
|
var Attribute = qx.bom.element.Attribute;
|
|
@@ -861,14 +821,11 @@ qx.Class.define("qx.html.Element",
|
|
|
861
821
|
|
|
862
822
|
// Sync attributes
|
|
863
823
|
var jobs = this.__attribJobs;
|
|
864
|
-
if (jobs)
|
|
865
|
-
{
|
|
824
|
+
if (jobs) {
|
|
866
825
|
var data = this.__attribValues;
|
|
867
|
-
if (data)
|
|
868
|
-
{
|
|
826
|
+
if (data) {
|
|
869
827
|
var value;
|
|
870
|
-
for (var key in jobs)
|
|
871
|
-
{
|
|
828
|
+
for (var key in jobs) {
|
|
872
829
|
value = data[key];
|
|
873
830
|
|
|
874
831
|
if (value !== undefined) {
|
|
@@ -884,11 +841,9 @@ qx.Class.define("qx.html.Element",
|
|
|
884
841
|
|
|
885
842
|
// Sync styles
|
|
886
843
|
var jobs = this.__styleJobs;
|
|
887
|
-
if (jobs)
|
|
888
|
-
{
|
|
844
|
+
if (jobs) {
|
|
889
845
|
var data = this.__styleValues;
|
|
890
|
-
if (data)
|
|
891
|
-
{
|
|
846
|
+
if (data) {
|
|
892
847
|
var styles = {};
|
|
893
848
|
for (var key in jobs) {
|
|
894
849
|
styles[key] = data[key];
|
|
@@ -900,9 +855,6 @@ qx.Class.define("qx.html.Element",
|
|
|
900
855
|
this.__styleJobs = null;
|
|
901
856
|
}
|
|
902
857
|
},
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
858
|
|
|
907
859
|
/*
|
|
908
860
|
---------------------------------------------------------------------------
|
|
@@ -915,7 +867,7 @@ qx.Class.define("qx.html.Element",
|
|
|
915
867
|
* whether the element should be a root element or not.
|
|
916
868
|
* @param root {Boolean} The root flag.
|
|
917
869
|
*/
|
|
918
|
-
setRoot
|
|
870
|
+
setRoot(root) {
|
|
919
871
|
if (root && !this.__root) {
|
|
920
872
|
qx.html.Element._hasRoots++;
|
|
921
873
|
} else if (!root && this.__root) {
|
|
@@ -923,11 +875,11 @@ qx.Class.define("qx.html.Element",
|
|
|
923
875
|
}
|
|
924
876
|
this.__root = root;
|
|
925
877
|
},
|
|
926
|
-
|
|
878
|
+
|
|
927
879
|
/*
|
|
928
880
|
* @Override
|
|
929
881
|
*/
|
|
930
|
-
isRoot
|
|
882
|
+
isRoot() {
|
|
931
883
|
return this.__root;
|
|
932
884
|
},
|
|
933
885
|
|
|
@@ -939,8 +891,7 @@ qx.Class.define("qx.html.Element",
|
|
|
939
891
|
* which is used as the main element for this instance.
|
|
940
892
|
* @return {Element} The created DOM element
|
|
941
893
|
*/
|
|
942
|
-
useMarkup
|
|
943
|
-
{
|
|
894
|
+
useMarkup(html) {
|
|
944
895
|
if (this._domNode) {
|
|
945
896
|
throw new Error("Could not overwrite existing element!");
|
|
946
897
|
}
|
|
@@ -963,7 +914,6 @@ qx.Class.define("qx.html.Element",
|
|
|
963
914
|
return this._domNode;
|
|
964
915
|
},
|
|
965
916
|
|
|
966
|
-
|
|
967
917
|
/**
|
|
968
918
|
* Uses an existing element instead of creating one. This may be interesting
|
|
969
919
|
* when the DOM element is directly needed to add content etc.
|
|
@@ -971,19 +921,16 @@ qx.Class.define("qx.html.Element",
|
|
|
971
921
|
* @param elem {Element} Element to reuse
|
|
972
922
|
* @deprecated {6.1} see useNode
|
|
973
923
|
*/
|
|
974
|
-
useElement
|
|
975
|
-
{
|
|
924
|
+
useElement(elem) {
|
|
976
925
|
this.useNode(elem);
|
|
977
926
|
},
|
|
978
927
|
|
|
979
|
-
|
|
980
928
|
/**
|
|
981
929
|
* Whether the element is focusable (or will be when created)
|
|
982
930
|
*
|
|
983
931
|
* @return {Boolean} <code>true</code> when the element is focusable.
|
|
984
932
|
*/
|
|
985
|
-
isFocusable
|
|
986
|
-
{
|
|
933
|
+
isFocusable() {
|
|
987
934
|
var tabIndex = this.getAttribute("tabIndex");
|
|
988
935
|
if (tabIndex >= 1) {
|
|
989
936
|
return true;
|
|
@@ -997,7 +944,6 @@ qx.Class.define("qx.html.Element",
|
|
|
997
944
|
return false;
|
|
998
945
|
},
|
|
999
946
|
|
|
1000
|
-
|
|
1001
947
|
/**
|
|
1002
948
|
* Set whether the element is selectable. It uses the qooxdoo attribute
|
|
1003
949
|
* qxSelectable with the values 'on' or 'off'.
|
|
@@ -1005,17 +951,17 @@ qx.Class.define("qx.html.Element",
|
|
|
1005
951
|
*
|
|
1006
952
|
* @param value {Boolean} True, if the element should be selectable.
|
|
1007
953
|
*/
|
|
1008
|
-
setSelectable
|
|
1009
|
-
{
|
|
954
|
+
setSelectable(value) {
|
|
1010
955
|
this.setAttribute("qxSelectable", value ? "on" : "off");
|
|
1011
956
|
var userSelect = qx.core.Environment.get("css.userselect");
|
|
1012
957
|
if (userSelect) {
|
|
1013
|
-
this.setStyle(
|
|
1014
|
-
|
|
958
|
+
this.setStyle(
|
|
959
|
+
userSelect,
|
|
960
|
+
value ? "text" : qx.core.Environment.get("css.userselect.none")
|
|
961
|
+
);
|
|
1015
962
|
}
|
|
1016
963
|
},
|
|
1017
964
|
|
|
1018
|
-
|
|
1019
965
|
/**
|
|
1020
966
|
* Whether the element is natively focusable (or will be when created)
|
|
1021
967
|
*
|
|
@@ -1023,16 +969,10 @@ qx.Class.define("qx.html.Element",
|
|
|
1023
969
|
*
|
|
1024
970
|
* @return {Boolean} <code>true</code> when the element is focusable.
|
|
1025
971
|
*/
|
|
1026
|
-
isNativelyFocusable
|
|
972
|
+
isNativelyFocusable() {
|
|
1027
973
|
return !!qx.event.handler.Focus.FOCUSABLE_ELEMENTS[this._nodeName];
|
|
1028
974
|
},
|
|
1029
975
|
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
976
|
/*
|
|
1037
977
|
---------------------------------------------------------------------------
|
|
1038
978
|
ANIMATION SUPPORT
|
|
@@ -1044,7 +984,7 @@ qx.Class.define("qx.html.Element",
|
|
|
1044
984
|
* @return {qx.bom.element.AnimationHandle} The animation handle to react for
|
|
1045
985
|
* the fade animation.
|
|
1046
986
|
*/
|
|
1047
|
-
fadeIn
|
|
987
|
+
fadeIn(duration) {
|
|
1048
988
|
var col = qxWeb(this._domNode);
|
|
1049
989
|
if (col.isPlaying()) {
|
|
1050
990
|
col.stop();
|
|
@@ -1055,39 +995,45 @@ qx.Class.define("qx.html.Element",
|
|
|
1055
995
|
col.push(this._domNode);
|
|
1056
996
|
}
|
|
1057
997
|
if (this._domNode) {
|
|
1058
|
-
col.fadeIn(duration).once(
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
998
|
+
col.fadeIn(duration).once(
|
|
999
|
+
"animationEnd",
|
|
1000
|
+
function () {
|
|
1001
|
+
this.show();
|
|
1002
|
+
qx.html.Element.flush();
|
|
1003
|
+
},
|
|
1004
|
+
this
|
|
1005
|
+
);
|
|
1006
|
+
|
|
1062
1007
|
return col.getAnimationHandles()[0];
|
|
1063
1008
|
}
|
|
1064
1009
|
},
|
|
1065
1010
|
|
|
1066
|
-
|
|
1067
1011
|
/**
|
|
1068
1012
|
* Fades out the element.
|
|
1069
1013
|
* @param duration {Number} Time in ms.
|
|
1070
1014
|
* @return {qx.bom.element.AnimationHandle} The animation handle to react for
|
|
1071
1015
|
* the fade animation.
|
|
1072
1016
|
*/
|
|
1073
|
-
fadeOut
|
|
1017
|
+
fadeOut(duration) {
|
|
1074
1018
|
var col = qxWeb(this._domNode);
|
|
1075
1019
|
if (col.isPlaying()) {
|
|
1076
1020
|
col.stop();
|
|
1077
1021
|
}
|
|
1078
1022
|
|
|
1079
1023
|
if (this._domNode) {
|
|
1080
|
-
col.fadeOut(duration).once(
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1024
|
+
col.fadeOut(duration).once(
|
|
1025
|
+
"animationEnd",
|
|
1026
|
+
function () {
|
|
1027
|
+
this.hide();
|
|
1028
|
+
qx.html.Element.flush();
|
|
1029
|
+
},
|
|
1030
|
+
this
|
|
1031
|
+
);
|
|
1032
|
+
|
|
1084
1033
|
return col.getAnimationHandles()[0];
|
|
1085
1034
|
}
|
|
1086
1035
|
},
|
|
1087
1036
|
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
1037
|
/*
|
|
1092
1038
|
---------------------------------------------------------------------------
|
|
1093
1039
|
VISIBILITY SUPPORT
|
|
@@ -1097,7 +1043,8 @@ qx.Class.define("qx.html.Element",
|
|
|
1097
1043
|
/*
|
|
1098
1044
|
* @Override
|
|
1099
1045
|
*/
|
|
1100
|
-
_applyVisible
|
|
1046
|
+
_applyVisible(value, oldValue) {
|
|
1047
|
+
this.base(arguments, value, oldValue);
|
|
1101
1048
|
if (value) {
|
|
1102
1049
|
if (this._domNode) {
|
|
1103
1050
|
qx.html.Element._visibility[this.toHashCode()] = this;
|
|
@@ -1108,7 +1055,6 @@ qx.Class.define("qx.html.Element",
|
|
|
1108
1055
|
if (this._parent) {
|
|
1109
1056
|
this._parent._scheduleChildrenUpdate();
|
|
1110
1057
|
}
|
|
1111
|
-
|
|
1112
1058
|
} else {
|
|
1113
1059
|
if (this._domNode) {
|
|
1114
1060
|
qx.html.Element._visibility[this.toHashCode()] = this;
|
|
@@ -1124,29 +1070,22 @@ qx.Class.define("qx.html.Element",
|
|
|
1124
1070
|
*
|
|
1125
1071
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1126
1072
|
*/
|
|
1127
|
-
show
|
|
1073
|
+
show() {
|
|
1128
1074
|
this.setVisible(true);
|
|
1129
1075
|
return this;
|
|
1130
1076
|
},
|
|
1131
1077
|
|
|
1132
|
-
|
|
1133
1078
|
/**
|
|
1134
1079
|
* Marks the element as hidden which means it will kept in DOM (if it
|
|
1135
1080
|
* is already there, but configured hidden using a CSS style of display=none).
|
|
1136
1081
|
*
|
|
1137
1082
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1138
1083
|
*/
|
|
1139
|
-
hide
|
|
1084
|
+
hide() {
|
|
1140
1085
|
this.setVisible(false);
|
|
1141
1086
|
return this;
|
|
1142
1087
|
},
|
|
1143
1088
|
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
1089
|
/*
|
|
1151
1090
|
---------------------------------------------------------------------------
|
|
1152
1091
|
SCROLL SUPPORT
|
|
@@ -1168,21 +1107,22 @@ qx.Class.define("qx.html.Element",
|
|
|
1168
1107
|
* @param direct {Boolean?true} Whether the execution should be made
|
|
1169
1108
|
* directly when possible
|
|
1170
1109
|
*/
|
|
1171
|
-
scrollChildIntoViewX
|
|
1172
|
-
{
|
|
1110
|
+
scrollChildIntoViewX(elem, align, direct) {
|
|
1173
1111
|
var thisEl = this._domNode;
|
|
1174
1112
|
var childEl = elem.getDomElement();
|
|
1175
1113
|
|
|
1176
|
-
if (
|
|
1177
|
-
|
|
1114
|
+
if (
|
|
1115
|
+
direct !== false &&
|
|
1116
|
+
thisEl &&
|
|
1117
|
+
thisEl.offsetWidth &&
|
|
1118
|
+
childEl &&
|
|
1119
|
+
childEl.offsetWidth
|
|
1120
|
+
) {
|
|
1178
1121
|
qx.bom.element.Scroll.intoViewX(childEl, thisEl, align);
|
|
1179
|
-
}
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
{
|
|
1184
|
-
element : elem,
|
|
1185
|
-
align : align
|
|
1122
|
+
} else {
|
|
1123
|
+
this.__lazyScrollIntoViewX = {
|
|
1124
|
+
element: elem,
|
|
1125
|
+
align: align
|
|
1186
1126
|
};
|
|
1187
1127
|
|
|
1188
1128
|
qx.html.Element._scroll[this.toHashCode()] = this;
|
|
@@ -1192,7 +1132,6 @@ qx.Class.define("qx.html.Element",
|
|
|
1192
1132
|
delete this.__lazyScrollX;
|
|
1193
1133
|
},
|
|
1194
1134
|
|
|
1195
|
-
|
|
1196
1135
|
/**
|
|
1197
1136
|
* Scrolls the given child element into view. Only scrolls children.
|
|
1198
1137
|
* Do not influence elements on top of this element.
|
|
@@ -1208,21 +1147,22 @@ qx.Class.define("qx.html.Element",
|
|
|
1208
1147
|
* @param direct {Boolean?true} Whether the execution should be made
|
|
1209
1148
|
* directly when possible
|
|
1210
1149
|
*/
|
|
1211
|
-
scrollChildIntoViewY
|
|
1212
|
-
{
|
|
1150
|
+
scrollChildIntoViewY(elem, align, direct) {
|
|
1213
1151
|
var thisEl = this._domNode;
|
|
1214
1152
|
var childEl = elem.getDomElement();
|
|
1215
1153
|
|
|
1216
|
-
if (
|
|
1217
|
-
|
|
1154
|
+
if (
|
|
1155
|
+
direct !== false &&
|
|
1156
|
+
thisEl &&
|
|
1157
|
+
thisEl.offsetWidth &&
|
|
1158
|
+
childEl &&
|
|
1159
|
+
childEl.offsetWidth
|
|
1160
|
+
) {
|
|
1218
1161
|
qx.bom.element.Scroll.intoViewY(childEl, thisEl, align);
|
|
1219
|
-
}
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
{
|
|
1224
|
-
element : elem,
|
|
1225
|
-
align : align
|
|
1162
|
+
} else {
|
|
1163
|
+
this.__lazyScrollIntoViewY = {
|
|
1164
|
+
element: elem,
|
|
1165
|
+
align: align
|
|
1226
1166
|
};
|
|
1227
1167
|
|
|
1228
1168
|
qx.html.Element._scroll[this.toHashCode()] = this;
|
|
@@ -1232,7 +1172,6 @@ qx.Class.define("qx.html.Element",
|
|
|
1232
1172
|
delete this.__lazyScrollY;
|
|
1233
1173
|
},
|
|
1234
1174
|
|
|
1235
|
-
|
|
1236
1175
|
/**
|
|
1237
1176
|
* Scrolls the element to the given left position.
|
|
1238
1177
|
*
|
|
@@ -1240,16 +1179,12 @@ qx.Class.define("qx.html.Element",
|
|
|
1240
1179
|
* @param lazy {Boolean?false} Whether the scrolling should be performed
|
|
1241
1180
|
* during element flush.
|
|
1242
1181
|
*/
|
|
1243
|
-
scrollToX
|
|
1244
|
-
{
|
|
1182
|
+
scrollToX(x, lazy) {
|
|
1245
1183
|
var thisEl = this._domNode;
|
|
1246
|
-
if (lazy !== true && thisEl && thisEl.offsetWidth)
|
|
1247
|
-
{
|
|
1184
|
+
if (lazy !== true && thisEl && thisEl.offsetWidth) {
|
|
1248
1185
|
thisEl.scrollLeft = x;
|
|
1249
1186
|
delete this.__lazyScrollX;
|
|
1250
|
-
}
|
|
1251
|
-
else
|
|
1252
|
-
{
|
|
1187
|
+
} else {
|
|
1253
1188
|
this.__lazyScrollX = x;
|
|
1254
1189
|
qx.html.Element._scroll[this.toHashCode()] = this;
|
|
1255
1190
|
qx.html.Element._scheduleFlush("element");
|
|
@@ -1258,14 +1193,12 @@ qx.Class.define("qx.html.Element",
|
|
|
1258
1193
|
delete this.__lazyScrollIntoViewX;
|
|
1259
1194
|
},
|
|
1260
1195
|
|
|
1261
|
-
|
|
1262
1196
|
/**
|
|
1263
1197
|
* Get the horizontal scroll position.
|
|
1264
1198
|
*
|
|
1265
1199
|
* @return {Integer} Horizontal scroll position
|
|
1266
1200
|
*/
|
|
1267
|
-
getScrollX
|
|
1268
|
-
{
|
|
1201
|
+
getScrollX() {
|
|
1269
1202
|
var thisEl = this._domNode;
|
|
1270
1203
|
if (thisEl) {
|
|
1271
1204
|
return thisEl.scrollLeft;
|
|
@@ -1274,7 +1207,6 @@ qx.Class.define("qx.html.Element",
|
|
|
1274
1207
|
return this.__lazyScrollX || 0;
|
|
1275
1208
|
},
|
|
1276
1209
|
|
|
1277
|
-
|
|
1278
1210
|
/**
|
|
1279
1211
|
* Scrolls the element to the given top position.
|
|
1280
1212
|
*
|
|
@@ -1282,16 +1214,12 @@ qx.Class.define("qx.html.Element",
|
|
|
1282
1214
|
* @param lazy {Boolean?false} Whether the scrolling should be performed
|
|
1283
1215
|
* during element flush.
|
|
1284
1216
|
*/
|
|
1285
|
-
scrollToY
|
|
1286
|
-
{
|
|
1217
|
+
scrollToY(y, lazy) {
|
|
1287
1218
|
var thisEl = this._domNode;
|
|
1288
|
-
if (lazy !== true && thisEl && thisEl.offsetWidth)
|
|
1289
|
-
{
|
|
1219
|
+
if (lazy !== true && thisEl && thisEl.offsetWidth) {
|
|
1290
1220
|
thisEl.scrollTop = y;
|
|
1291
1221
|
delete this.__lazyScrollY;
|
|
1292
|
-
}
|
|
1293
|
-
else
|
|
1294
|
-
{
|
|
1222
|
+
} else {
|
|
1295
1223
|
this.__lazyScrollY = y;
|
|
1296
1224
|
qx.html.Element._scroll[this.toHashCode()] = this;
|
|
1297
1225
|
qx.html.Element._scheduleFlush("element");
|
|
@@ -1300,14 +1228,12 @@ qx.Class.define("qx.html.Element",
|
|
|
1300
1228
|
delete this.__lazyScrollIntoViewY;
|
|
1301
1229
|
},
|
|
1302
1230
|
|
|
1303
|
-
|
|
1304
1231
|
/**
|
|
1305
1232
|
* Get the vertical scroll position.
|
|
1306
1233
|
*
|
|
1307
1234
|
* @return {Integer} Vertical scroll position
|
|
1308
1235
|
*/
|
|
1309
|
-
getScrollY
|
|
1310
|
-
{
|
|
1236
|
+
getScrollY() {
|
|
1311
1237
|
var thisEl = this._domNode;
|
|
1312
1238
|
if (thisEl) {
|
|
1313
1239
|
return thisEl.scrollTop;
|
|
@@ -1316,38 +1242,32 @@ qx.Class.define("qx.html.Element",
|
|
|
1316
1242
|
return this.__lazyScrollY || 0;
|
|
1317
1243
|
},
|
|
1318
1244
|
|
|
1319
|
-
|
|
1320
1245
|
/**
|
|
1321
1246
|
* Disables browser-native scrolling
|
|
1322
1247
|
*/
|
|
1323
|
-
disableScrolling
|
|
1324
|
-
{
|
|
1248
|
+
disableScrolling() {
|
|
1325
1249
|
this.enableScrolling();
|
|
1326
1250
|
this.scrollToX(0);
|
|
1327
1251
|
this.scrollToY(0);
|
|
1328
1252
|
this.addListener("scroll", this.__onScroll, this);
|
|
1329
1253
|
},
|
|
1330
1254
|
|
|
1331
|
-
|
|
1332
1255
|
/**
|
|
1333
1256
|
* Re-enables browser-native scrolling
|
|
1334
1257
|
*/
|
|
1335
|
-
enableScrolling
|
|
1258
|
+
enableScrolling() {
|
|
1336
1259
|
this.removeListener("scroll", this.__onScroll, this);
|
|
1337
1260
|
},
|
|
1338
1261
|
|
|
1339
|
-
|
|
1340
|
-
__inScroll : null,
|
|
1262
|
+
__inScroll: null,
|
|
1341
1263
|
|
|
1342
1264
|
/**
|
|
1343
1265
|
* Handler for the scroll-event
|
|
1344
1266
|
*
|
|
1345
1267
|
* @param e {qx.event.type.Native} scroll-event
|
|
1346
1268
|
*/
|
|
1347
|
-
__onScroll
|
|
1348
|
-
|
|
1349
|
-
if (!this.__inScroll)
|
|
1350
|
-
{
|
|
1269
|
+
__onScroll(e) {
|
|
1270
|
+
if (!this.__inScroll) {
|
|
1351
1271
|
this.__inScroll = true;
|
|
1352
1272
|
this._domNode.scrollTop = 0;
|
|
1353
1273
|
this._domNode.scrollLeft = 0;
|
|
@@ -1355,30 +1275,29 @@ qx.Class.define("qx.html.Element",
|
|
|
1355
1275
|
}
|
|
1356
1276
|
},
|
|
1357
1277
|
|
|
1358
|
-
|
|
1359
1278
|
/*
|
|
1360
1279
|
---------------------------------------------------------------------------
|
|
1361
1280
|
TEXT SUPPORT
|
|
1362
1281
|
---------------------------------------------------------------------------
|
|
1363
1282
|
*/
|
|
1364
|
-
|
|
1283
|
+
|
|
1365
1284
|
/*
|
|
1366
1285
|
* Sets the text value of this element; it will delete children first, except
|
|
1367
1286
|
* for the first node which (if it is a Text node) will have it's value updated
|
|
1368
|
-
*
|
|
1287
|
+
*
|
|
1369
1288
|
* @param value {String} the text to set
|
|
1370
1289
|
*/
|
|
1371
|
-
setText
|
|
1290
|
+
setText(value) {
|
|
1372
1291
|
var self = this;
|
|
1373
1292
|
var children = this._children ? qx.lang.Array.clone(this._children) : [];
|
|
1374
1293
|
if (children[0] instanceof qx.html.Text) {
|
|
1375
1294
|
children[0].setText(value);
|
|
1376
1295
|
children.shift();
|
|
1377
|
-
children.forEach(function(child) {
|
|
1296
|
+
children.forEach(function (child) {
|
|
1378
1297
|
self.remove(child);
|
|
1379
1298
|
});
|
|
1380
1299
|
} else {
|
|
1381
|
-
children.forEach(function(child) {
|
|
1300
|
+
children.forEach(function (child) {
|
|
1382
1301
|
self.remove(child);
|
|
1383
1302
|
});
|
|
1384
1303
|
this.add(new qx.html.Text(value));
|
|
@@ -1387,20 +1306,19 @@ qx.Class.define("qx.html.Element",
|
|
|
1387
1306
|
|
|
1388
1307
|
/**
|
|
1389
1308
|
* Returns the text value, accumulated from all child nodes
|
|
1390
|
-
*
|
|
1309
|
+
*
|
|
1391
1310
|
* @return {String} the text value
|
|
1392
1311
|
*/
|
|
1393
|
-
getText
|
|
1312
|
+
getText() {
|
|
1394
1313
|
var result = [];
|
|
1395
1314
|
if (this._children) {
|
|
1396
|
-
this._children.forEach(function(child) {
|
|
1315
|
+
this._children.forEach(function (child) {
|
|
1397
1316
|
result.push(child.getText());
|
|
1398
1317
|
});
|
|
1399
1318
|
}
|
|
1400
1319
|
return result.join("");
|
|
1401
1320
|
},
|
|
1402
1321
|
|
|
1403
|
-
|
|
1404
1322
|
/**
|
|
1405
1323
|
* Get the selection of the element.
|
|
1406
1324
|
*
|
|
@@ -1409,8 +1327,7 @@ qx.Class.define("qx.html.Element",
|
|
|
1409
1327
|
*
|
|
1410
1328
|
* @return {String|null}
|
|
1411
1329
|
*/
|
|
1412
|
-
getTextSelection
|
|
1413
|
-
{
|
|
1330
|
+
getTextSelection() {
|
|
1414
1331
|
var el = this._domNode;
|
|
1415
1332
|
if (el) {
|
|
1416
1333
|
return qx.bom.Selection.get(el);
|
|
@@ -1419,7 +1336,6 @@ qx.Class.define("qx.html.Element",
|
|
|
1419
1336
|
return null;
|
|
1420
1337
|
},
|
|
1421
1338
|
|
|
1422
|
-
|
|
1423
1339
|
/**
|
|
1424
1340
|
* Get the length of selection of the element.
|
|
1425
1341
|
*
|
|
@@ -1428,8 +1344,7 @@ qx.Class.define("qx.html.Element",
|
|
|
1428
1344
|
*
|
|
1429
1345
|
* @return {Integer|null}
|
|
1430
1346
|
*/
|
|
1431
|
-
getTextSelectionLength
|
|
1432
|
-
{
|
|
1347
|
+
getTextSelectionLength() {
|
|
1433
1348
|
var el = this._domNode;
|
|
1434
1349
|
if (el) {
|
|
1435
1350
|
return qx.bom.Selection.getLength(el);
|
|
@@ -1438,7 +1353,6 @@ qx.Class.define("qx.html.Element",
|
|
|
1438
1353
|
return null;
|
|
1439
1354
|
},
|
|
1440
1355
|
|
|
1441
|
-
|
|
1442
1356
|
/**
|
|
1443
1357
|
* Get the start of the selection of the element.
|
|
1444
1358
|
*
|
|
@@ -1447,8 +1361,7 @@ qx.Class.define("qx.html.Element",
|
|
|
1447
1361
|
*
|
|
1448
1362
|
* @return {Integer|null}
|
|
1449
1363
|
*/
|
|
1450
|
-
getTextSelectionStart
|
|
1451
|
-
{
|
|
1364
|
+
getTextSelectionStart() {
|
|
1452
1365
|
var el = this._domNode;
|
|
1453
1366
|
if (el) {
|
|
1454
1367
|
return qx.bom.Selection.getStart(el);
|
|
@@ -1457,7 +1370,6 @@ qx.Class.define("qx.html.Element",
|
|
|
1457
1370
|
return null;
|
|
1458
1371
|
},
|
|
1459
1372
|
|
|
1460
|
-
|
|
1461
1373
|
/**
|
|
1462
1374
|
* Get the end of the selection of the element.
|
|
1463
1375
|
*
|
|
@@ -1466,8 +1378,7 @@ qx.Class.define("qx.html.Element",
|
|
|
1466
1378
|
*
|
|
1467
1379
|
* @return {Integer|null}
|
|
1468
1380
|
*/
|
|
1469
|
-
getTextSelectionEnd
|
|
1470
|
-
{
|
|
1381
|
+
getTextSelectionEnd() {
|
|
1471
1382
|
var el = this._domNode;
|
|
1472
1383
|
if (el) {
|
|
1473
1384
|
return qx.bom.Selection.getEnd(el);
|
|
@@ -1476,7 +1387,6 @@ qx.Class.define("qx.html.Element",
|
|
|
1476
1387
|
return null;
|
|
1477
1388
|
},
|
|
1478
1389
|
|
|
1479
|
-
|
|
1480
1390
|
/**
|
|
1481
1391
|
* Set the selection of the element with the given start and end value.
|
|
1482
1392
|
* If no end value is passed the selection will extend to the end.
|
|
@@ -1486,8 +1396,7 @@ qx.Class.define("qx.html.Element",
|
|
|
1486
1396
|
* @param start {Integer} start of the selection (zero based)
|
|
1487
1397
|
* @param end {Integer} end of the selection
|
|
1488
1398
|
*/
|
|
1489
|
-
setTextSelection
|
|
1490
|
-
{
|
|
1399
|
+
setTextSelection(start, end) {
|
|
1491
1400
|
var el = this._domNode;
|
|
1492
1401
|
if (el) {
|
|
1493
1402
|
qx.bom.Selection.set(el, start, end);
|
|
@@ -1496,22 +1405,21 @@ qx.Class.define("qx.html.Element",
|
|
|
1496
1405
|
|
|
1497
1406
|
// if element not created, save the selection for flushing
|
|
1498
1407
|
qx.html.Element.__selection[this.toHashCode()] = {
|
|
1499
|
-
element
|
|
1500
|
-
start
|
|
1501
|
-
end
|
|
1408
|
+
element: this,
|
|
1409
|
+
start: start,
|
|
1410
|
+
end: end
|
|
1502
1411
|
};
|
|
1412
|
+
|
|
1503
1413
|
qx.html.Element._scheduleFlush("element");
|
|
1504
1414
|
},
|
|
1505
1415
|
|
|
1506
|
-
|
|
1507
1416
|
/**
|
|
1508
1417
|
* Clears the selection of the element.
|
|
1509
1418
|
*
|
|
1510
1419
|
* This method only works if the underlying DOM element is already created.
|
|
1511
1420
|
*
|
|
1512
1421
|
*/
|
|
1513
|
-
clearTextSelection
|
|
1514
|
-
{
|
|
1422
|
+
clearTextSelection() {
|
|
1515
1423
|
var el = this._domNode;
|
|
1516
1424
|
if (el) {
|
|
1517
1425
|
qx.bom.Selection.clear(el);
|
|
@@ -1519,9 +1427,6 @@ qx.Class.define("qx.html.Element",
|
|
|
1519
1427
|
delete qx.html.Element.__selection[this.toHashCode()];
|
|
1520
1428
|
},
|
|
1521
1429
|
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
1430
|
/*
|
|
1526
1431
|
---------------------------------------------------------------------------
|
|
1527
1432
|
FOCUS/ACTIVATE SUPPORT
|
|
@@ -1531,116 +1436,108 @@ qx.Class.define("qx.html.Element",
|
|
|
1531
1436
|
/**
|
|
1532
1437
|
* Takes the action to process as argument and queues this action if the
|
|
1533
1438
|
* underlying DOM element is not yet created.
|
|
1534
|
-
*
|
|
1439
|
+
*
|
|
1535
1440
|
* Note that "actions" are functions in `qx.bom.Element` and only apply to
|
|
1536
|
-
* environments with a user interface. This will throw an error if the user
|
|
1441
|
+
* environments with a user interface. This will throw an error if the user
|
|
1537
1442
|
* interface is headless
|
|
1538
1443
|
*
|
|
1539
1444
|
* @param action {String} action to queue
|
|
1540
1445
|
* @param args {Array} optional list of arguments for the action
|
|
1541
1446
|
*/
|
|
1542
|
-
__performAction
|
|
1543
|
-
{
|
|
1447
|
+
__performAction(action, args) {
|
|
1544
1448
|
if (!qx.core.Environment.get("qx.headless")) {
|
|
1545
1449
|
var actions = qx.html.Element._actions;
|
|
1546
|
-
|
|
1450
|
+
|
|
1547
1451
|
actions.push({
|
|
1548
1452
|
type: action,
|
|
1549
1453
|
element: this,
|
|
1550
1454
|
args: args || []
|
|
1551
1455
|
});
|
|
1456
|
+
|
|
1552
1457
|
qx.html.Element._scheduleFlush("element");
|
|
1553
1458
|
} else {
|
|
1554
|
-
throw new Error(
|
|
1459
|
+
throw new Error(
|
|
1460
|
+
"Unexpected use of qx.html.Element.__performAction in headles environment"
|
|
1461
|
+
);
|
|
1555
1462
|
}
|
|
1556
1463
|
},
|
|
1557
1464
|
|
|
1558
|
-
|
|
1559
1465
|
/**
|
|
1560
1466
|
* Focus this element.
|
|
1561
1467
|
*
|
|
1562
1468
|
* If the underlaying DOM element is not yet created, the
|
|
1563
1469
|
* focus is queued for processing after the element creation.
|
|
1564
1470
|
*
|
|
1565
|
-
* Silently does nothing when in a headless environment
|
|
1471
|
+
* Silently does nothing when in a headless environment
|
|
1566
1472
|
*/
|
|
1567
|
-
focus
|
|
1473
|
+
focus() {
|
|
1568
1474
|
if (!qx.core.Environment.get("qx.headless")) {
|
|
1569
1475
|
this.__performAction("focus");
|
|
1570
1476
|
}
|
|
1571
1477
|
},
|
|
1572
1478
|
|
|
1573
|
-
|
|
1574
1479
|
/**
|
|
1575
1480
|
* Mark this element to get blurred on the next flush of the queue
|
|
1576
1481
|
*
|
|
1577
|
-
* Silently does nothing when in a headless environment
|
|
1482
|
+
* Silently does nothing when in a headless environment
|
|
1578
1483
|
*
|
|
1579
1484
|
*/
|
|
1580
|
-
blur
|
|
1485
|
+
blur() {
|
|
1581
1486
|
if (!qx.core.Environment.get("qx.headless")) {
|
|
1582
1487
|
this.__performAction("blur");
|
|
1583
1488
|
}
|
|
1584
1489
|
},
|
|
1585
1490
|
|
|
1586
|
-
|
|
1587
1491
|
/**
|
|
1588
1492
|
* Mark this element to get activated on the next flush of the queue
|
|
1589
1493
|
*
|
|
1590
|
-
* Silently does nothing when in a headless environment
|
|
1494
|
+
* Silently does nothing when in a headless environment
|
|
1591
1495
|
*
|
|
1592
1496
|
*/
|
|
1593
|
-
activate
|
|
1497
|
+
activate() {
|
|
1594
1498
|
if (!qx.core.Environment.get("qx.headless")) {
|
|
1595
1499
|
this.__performAction("activate");
|
|
1596
1500
|
}
|
|
1597
1501
|
},
|
|
1598
1502
|
|
|
1599
|
-
|
|
1600
1503
|
/**
|
|
1601
1504
|
* Mark this element to get deactivated on the next flush of the queue
|
|
1602
1505
|
*
|
|
1603
|
-
* Silently does nothing when in a headless environment
|
|
1506
|
+
* Silently does nothing when in a headless environment
|
|
1604
1507
|
*
|
|
1605
1508
|
*/
|
|
1606
|
-
deactivate
|
|
1509
|
+
deactivate() {
|
|
1607
1510
|
if (!qx.core.Environment.get("qx.headless")) {
|
|
1608
1511
|
this.__performAction("deactivate");
|
|
1609
1512
|
}
|
|
1610
1513
|
},
|
|
1611
1514
|
|
|
1612
|
-
|
|
1613
1515
|
/**
|
|
1614
1516
|
* Captures all mouse events to this element
|
|
1615
1517
|
*
|
|
1616
|
-
* Silently does nothing when in a headless environment
|
|
1518
|
+
* Silently does nothing when in a headless environment
|
|
1617
1519
|
*
|
|
1618
1520
|
* @param containerCapture {Boolean?true} If true all events originating in
|
|
1619
1521
|
* the container are captured. If false events originating in the container
|
|
1620
1522
|
* are not captured.
|
|
1621
1523
|
*/
|
|
1622
|
-
capture
|
|
1524
|
+
capture(containerCapture) {
|
|
1623
1525
|
if (!qx.core.Environment.get("qx.headless")) {
|
|
1624
1526
|
this.__performAction("capture", [containerCapture !== false]);
|
|
1625
1527
|
}
|
|
1626
1528
|
},
|
|
1627
1529
|
|
|
1628
|
-
|
|
1629
1530
|
/**
|
|
1630
1531
|
* Releases this element from a previous {@link #capture} call
|
|
1631
1532
|
*
|
|
1632
|
-
* Silently does nothing when in a headless environment
|
|
1533
|
+
* Silently does nothing when in a headless environment
|
|
1633
1534
|
*/
|
|
1634
|
-
releaseCapture
|
|
1535
|
+
releaseCapture() {
|
|
1635
1536
|
if (!qx.core.Environment.get("qx.headless")) {
|
|
1636
1537
|
this.__performAction("releaseCapture");
|
|
1637
1538
|
}
|
|
1638
1539
|
},
|
|
1639
1540
|
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
1541
|
/*
|
|
1645
1542
|
---------------------------------------------------------------------------
|
|
1646
1543
|
STYLE SUPPORT
|
|
@@ -1656,8 +1553,7 @@ qx.Class.define("qx.html.Element",
|
|
|
1656
1553
|
* directly (without queuing)
|
|
1657
1554
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1658
1555
|
*/
|
|
1659
|
-
setStyle
|
|
1660
|
-
{
|
|
1556
|
+
setStyle(key, value, direct) {
|
|
1661
1557
|
if (!this.__styleValues) {
|
|
1662
1558
|
this.__styleValues = {};
|
|
1663
1559
|
}
|
|
@@ -1676,11 +1572,9 @@ qx.Class.define("qx.html.Element",
|
|
|
1676
1572
|
// Uncreated elements simply copy all data
|
|
1677
1573
|
// on creation. We don't need to remember any
|
|
1678
1574
|
// jobs. It is a simple full list copy.
|
|
1679
|
-
if (this._domNode)
|
|
1680
|
-
{
|
|
1575
|
+
if (this._domNode) {
|
|
1681
1576
|
// Omit queuing in direct mode
|
|
1682
|
-
if (direct)
|
|
1683
|
-
{
|
|
1577
|
+
if (direct) {
|
|
1684
1578
|
qx.bom.element.Style.set(this._domNode, key, value);
|
|
1685
1579
|
return this;
|
|
1686
1580
|
}
|
|
@@ -1700,22 +1594,20 @@ qx.Class.define("qx.html.Element",
|
|
|
1700
1594
|
|
|
1701
1595
|
return this;
|
|
1702
1596
|
},
|
|
1703
|
-
|
|
1704
|
-
|
|
1597
|
+
|
|
1705
1598
|
/**
|
|
1706
1599
|
* Called by setStyle when a value of a style changes; this is intended to be
|
|
1707
1600
|
* overridden to allow the element to update properties etc according to the
|
|
1708
1601
|
* style
|
|
1709
|
-
*
|
|
1602
|
+
*
|
|
1710
1603
|
* @param key {String} the style value
|
|
1711
1604
|
* @param value {String?} the value to set
|
|
1712
1605
|
* @param oldValue {String?} The previous value (not from DOM)
|
|
1713
1606
|
*/
|
|
1714
|
-
_applyStyle
|
|
1607
|
+
_applyStyle(key, value, oldValue) {
|
|
1715
1608
|
// Nothing
|
|
1716
1609
|
},
|
|
1717
1610
|
|
|
1718
|
-
|
|
1719
1611
|
/**
|
|
1720
1612
|
* Convenience method to modify a set of styles at once.
|
|
1721
1613
|
*
|
|
@@ -1725,8 +1617,7 @@ qx.Class.define("qx.html.Element",
|
|
|
1725
1617
|
* directly (without queuing)
|
|
1726
1618
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1727
1619
|
*/
|
|
1728
|
-
setStyles
|
|
1729
|
-
{
|
|
1620
|
+
setStyles(map, direct) {
|
|
1730
1621
|
// inline calls to "set" because this method is very
|
|
1731
1622
|
// performance critical!
|
|
1732
1623
|
|
|
@@ -1736,15 +1627,13 @@ qx.Class.define("qx.html.Element",
|
|
|
1736
1627
|
this.__styleValues = {};
|
|
1737
1628
|
}
|
|
1738
1629
|
|
|
1739
|
-
if (this._domNode)
|
|
1740
|
-
{
|
|
1630
|
+
if (this._domNode) {
|
|
1741
1631
|
// Dynamically create if needed
|
|
1742
1632
|
if (!this.__styleJobs) {
|
|
1743
1633
|
this.__styleJobs = {};
|
|
1744
1634
|
}
|
|
1745
1635
|
|
|
1746
|
-
for (var key in map)
|
|
1747
|
-
{
|
|
1636
|
+
for (var key in map) {
|
|
1748
1637
|
var value = map[key];
|
|
1749
1638
|
if (this.__styleValues[key] == value) {
|
|
1750
1639
|
continue;
|
|
@@ -1758,8 +1647,7 @@ qx.Class.define("qx.html.Element",
|
|
|
1758
1647
|
}
|
|
1759
1648
|
|
|
1760
1649
|
// Omit queuing in direct mode
|
|
1761
|
-
if (direct)
|
|
1762
|
-
{
|
|
1650
|
+
if (direct) {
|
|
1763
1651
|
Style.set(this._domNode, key, value);
|
|
1764
1652
|
continue;
|
|
1765
1653
|
}
|
|
@@ -1771,11 +1659,8 @@ qx.Class.define("qx.html.Element",
|
|
|
1771
1659
|
// Register modification
|
|
1772
1660
|
qx.html.Element._modified[this.toHashCode()] = this;
|
|
1773
1661
|
qx.html.Element._scheduleFlush("element");
|
|
1774
|
-
}
|
|
1775
|
-
|
|
1776
|
-
{
|
|
1777
|
-
for (var key in map)
|
|
1778
|
-
{
|
|
1662
|
+
} else {
|
|
1663
|
+
for (var key in map) {
|
|
1779
1664
|
var value = map[key];
|
|
1780
1665
|
if (this.__styleValues[key] == value) {
|
|
1781
1666
|
continue;
|
|
@@ -1793,7 +1678,6 @@ qx.Class.define("qx.html.Element",
|
|
|
1793
1678
|
return this;
|
|
1794
1679
|
},
|
|
1795
1680
|
|
|
1796
|
-
|
|
1797
1681
|
/**
|
|
1798
1682
|
* Removes the given style attribute
|
|
1799
1683
|
*
|
|
@@ -1802,53 +1686,46 @@ qx.Class.define("qx.html.Element",
|
|
|
1802
1686
|
* directly (without queuing)
|
|
1803
1687
|
* @return {qx.html.Element} this object (for chaining support)
|
|
1804
1688
|
*/
|
|
1805
|
-
removeStyle
|
|
1689
|
+
removeStyle(key, direct) {
|
|
1806
1690
|
this.setStyle(key, null, direct);
|
|
1807
1691
|
return this;
|
|
1808
1692
|
},
|
|
1809
1693
|
|
|
1810
|
-
|
|
1811
1694
|
/**
|
|
1812
1695
|
* Get the value of the given style attribute.
|
|
1813
1696
|
*
|
|
1814
1697
|
* @param key {String} name of the style attribute
|
|
1815
1698
|
* @return {var} the value of the style attribute
|
|
1816
1699
|
*/
|
|
1817
|
-
getStyle
|
|
1700
|
+
getStyle(key) {
|
|
1818
1701
|
return this.__styleValues ? this.__styleValues[key] : null;
|
|
1819
1702
|
},
|
|
1820
1703
|
|
|
1821
|
-
|
|
1822
1704
|
/**
|
|
1823
1705
|
* Returns a map of all styles. Do not modify the result map!
|
|
1824
1706
|
*
|
|
1825
1707
|
* @return {Map} All styles or <code>null</code> when none are configured.
|
|
1826
1708
|
*/
|
|
1827
|
-
getAllStyles
|
|
1709
|
+
getAllStyles() {
|
|
1828
1710
|
return this.__styleValues || null;
|
|
1829
1711
|
},
|
|
1830
1712
|
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
1713
|
/*
|
|
1835
1714
|
---------------------------------------------------------------------------
|
|
1836
1715
|
CSS CLASS SUPPORT
|
|
1837
1716
|
---------------------------------------------------------------------------
|
|
1838
1717
|
*/
|
|
1839
|
-
__breakClasses
|
|
1718
|
+
__breakClasses() {
|
|
1840
1719
|
var map = {};
|
|
1841
|
-
(this.getAttribute("class")||"")
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
}
|
|
1847
|
-
});
|
|
1720
|
+
(this.getAttribute("class") || "").split(" ").forEach(function (name) {
|
|
1721
|
+
if (name) {
|
|
1722
|
+
map[name.toLowerCase()] = name;
|
|
1723
|
+
}
|
|
1724
|
+
});
|
|
1848
1725
|
return map;
|
|
1849
1726
|
},
|
|
1850
|
-
|
|
1851
|
-
__combineClasses
|
|
1727
|
+
|
|
1728
|
+
__combineClasses(map) {
|
|
1852
1729
|
var primaryClass = this.getCssClass();
|
|
1853
1730
|
var arr = [];
|
|
1854
1731
|
if (primaryClass) {
|
|
@@ -1858,78 +1735,72 @@ qx.Class.define("qx.html.Element",
|
|
|
1858
1735
|
qx.lang.Array.append(arr, Object.values(map));
|
|
1859
1736
|
return arr.length ? arr.join(" ") : null;
|
|
1860
1737
|
},
|
|
1861
|
-
|
|
1738
|
+
|
|
1862
1739
|
/**
|
|
1863
1740
|
* Adds a css class to the element.
|
|
1864
|
-
*
|
|
1741
|
+
*
|
|
1865
1742
|
* @param name {String} Name of the CSS class.
|
|
1866
1743
|
* @return {Element} this, for chaining
|
|
1867
1744
|
*/
|
|
1868
|
-
addClass
|
|
1745
|
+
addClass(name) {
|
|
1869
1746
|
var classes = this.__breakClasses();
|
|
1870
|
-
var primaryClass = (this.getCssClass()||"").toLowerCase();
|
|
1747
|
+
var primaryClass = (this.getCssClass() || "").toLowerCase();
|
|
1871
1748
|
name.split(" ").forEach(name => {
|
|
1872
1749
|
var nameLower = name.toLowerCase();
|
|
1873
1750
|
if (nameLower == primaryClass) {
|
|
1874
1751
|
this.setCssClass(null);
|
|
1875
1752
|
}
|
|
1876
|
-
|
|
1753
|
+
|
|
1877
1754
|
classes[nameLower] = name;
|
|
1878
1755
|
});
|
|
1879
1756
|
this.setAttribute("class", this.__combineClasses(classes));
|
|
1880
1757
|
return this;
|
|
1881
1758
|
},
|
|
1882
1759
|
|
|
1883
|
-
|
|
1884
1760
|
/**
|
|
1885
1761
|
* Removes a CSS class from the current element.
|
|
1886
|
-
*
|
|
1762
|
+
*
|
|
1887
1763
|
* @param name {String} Name of the CSS class.
|
|
1888
1764
|
* @return {Element} this, for chaining
|
|
1889
1765
|
*/
|
|
1890
|
-
removeClass
|
|
1766
|
+
removeClass(name) {
|
|
1891
1767
|
var classes = this.__breakClasses();
|
|
1892
|
-
var primaryClass = (this.getCssClass()||"").toLowerCase();
|
|
1768
|
+
var primaryClass = (this.getCssClass() || "").toLowerCase();
|
|
1893
1769
|
name.split(" ").forEach(name => {
|
|
1894
1770
|
var nameLower = name.toLowerCase();
|
|
1895
1771
|
if (nameLower == primaryClass) {
|
|
1896
1772
|
this.setCssClass(null);
|
|
1897
1773
|
}
|
|
1898
|
-
|
|
1774
|
+
|
|
1899
1775
|
delete classes[nameLower];
|
|
1900
1776
|
});
|
|
1901
|
-
|
|
1777
|
+
|
|
1902
1778
|
this.setAttribute("class", this.__combineClasses(classes));
|
|
1903
1779
|
return this;
|
|
1904
1780
|
},
|
|
1905
1781
|
|
|
1906
|
-
|
|
1907
1782
|
/**
|
|
1908
1783
|
* Removes all CSS classed from the current element.
|
|
1909
1784
|
*/
|
|
1910
|
-
removeAllClasses
|
|
1785
|
+
removeAllClasses() {
|
|
1911
1786
|
this.setCssClass(null);
|
|
1912
1787
|
this.setAttribute("class", "");
|
|
1913
1788
|
},
|
|
1914
|
-
|
|
1915
|
-
|
|
1789
|
+
|
|
1916
1790
|
/**
|
|
1917
1791
|
* Apply method for cssClass
|
|
1918
1792
|
*/
|
|
1919
|
-
_applyCssClass
|
|
1793
|
+
_applyCssClass(value, oldValue) {
|
|
1920
1794
|
var classes = this.__breakClasses();
|
|
1921
1795
|
if (oldValue) {
|
|
1922
1796
|
oldValue.split(" ").forEach(name => delete classes[name.toLowerCase()]);
|
|
1923
1797
|
}
|
|
1924
1798
|
if (value) {
|
|
1925
|
-
value.split(" ").forEach(name => classes[name.toLowerCase()] = name);
|
|
1799
|
+
value.split(" ").forEach(name => (classes[name.toLowerCase()] = name));
|
|
1926
1800
|
}
|
|
1927
1801
|
this.setAttribute("class", this.__combineClasses(classes));
|
|
1928
1802
|
},
|
|
1929
1803
|
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
1804
|
/*
|
|
1934
1805
|
---------------------------------------------------------------------------
|
|
1935
1806
|
SIZE AND POSITION SUPPORT
|
|
@@ -1939,7 +1810,7 @@ qx.Class.define("qx.html.Element",
|
|
|
1939
1810
|
/**
|
|
1940
1811
|
* Returns the size and position of this element; this is just a helper method that wraps
|
|
1941
1812
|
* the calls to qx.bom.*
|
|
1942
|
-
*
|
|
1813
|
+
*
|
|
1943
1814
|
* Supported modes:
|
|
1944
1815
|
*
|
|
1945
1816
|
* * <code>margin</code>: Calculate from the margin box of the element (bigger than the visual appearance: including margins of given element)
|
|
@@ -1954,7 +1825,7 @@ qx.Class.define("qx.html.Element",
|
|
|
1954
1825
|
* content - Object, containing:
|
|
1955
1826
|
* width, height: maximum permissible content size
|
|
1956
1827
|
*/
|
|
1957
|
-
getDimensions
|
|
1828
|
+
getDimensions(mode) {
|
|
1958
1829
|
if (!this._domNode) {
|
|
1959
1830
|
return {
|
|
1960
1831
|
left: 0,
|
|
@@ -1967,7 +1838,7 @@ qx.Class.define("qx.html.Element",
|
|
|
1967
1838
|
width: 0,
|
|
1968
1839
|
height: 0
|
|
1969
1840
|
}
|
|
1970
|
-
}
|
|
1841
|
+
};
|
|
1971
1842
|
}
|
|
1972
1843
|
var loc = qx.bom.element.Location.get(this._domNode, mode);
|
|
1973
1844
|
loc.content = qx.bom.element.Dimension.getContentSize(this._domNode);
|
|
@@ -1975,23 +1846,25 @@ qx.Class.define("qx.html.Element",
|
|
|
1975
1846
|
loc.height = loc.bottom - loc.top;
|
|
1976
1847
|
return loc;
|
|
1977
1848
|
},
|
|
1978
|
-
|
|
1979
|
-
|
|
1849
|
+
|
|
1980
1850
|
/**
|
|
1981
1851
|
* Detects whether the DOM Node is visible
|
|
1982
1852
|
*/
|
|
1983
|
-
canBeSeen
|
|
1853
|
+
canBeSeen() {
|
|
1984
1854
|
if (this._domNode && this.isVisible()) {
|
|
1985
1855
|
var rect = this._domNode.getBoundingClientRect();
|
|
1986
|
-
if (
|
|
1856
|
+
if (
|
|
1857
|
+
rect.top > 0 ||
|
|
1858
|
+
rect.left > 0 ||
|
|
1859
|
+
rect.width > 0 ||
|
|
1860
|
+
rect.height > 0
|
|
1861
|
+
) {
|
|
1987
1862
|
return true;
|
|
1988
1863
|
}
|
|
1989
1864
|
}
|
|
1990
1865
|
return false;
|
|
1991
1866
|
},
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1867
|
+
|
|
1995
1868
|
/*
|
|
1996
1869
|
---------------------------------------------------------------------------
|
|
1997
1870
|
ATTRIBUTE SUPPORT
|
|
@@ -2007,8 +1880,7 @@ qx.Class.define("qx.html.Element",
|
|
|
2007
1880
|
* directly (without queuing)
|
|
2008
1881
|
* @return {qx.html.Element} this object (for chaining support)
|
|
2009
1882
|
*/
|
|
2010
|
-
setAttribute
|
|
2011
|
-
{
|
|
1883
|
+
setAttribute(key, value, direct) {
|
|
2012
1884
|
if (!this.__attribValues) {
|
|
2013
1885
|
this.__attribValues = {};
|
|
2014
1886
|
}
|
|
@@ -2030,11 +1902,9 @@ qx.Class.define("qx.html.Element",
|
|
|
2030
1902
|
// Uncreated elements simply copy all data
|
|
2031
1903
|
// on creation. We don't need to remember any
|
|
2032
1904
|
// jobs. It is a simple full list copy.
|
|
2033
|
-
if (this._domNode)
|
|
2034
|
-
{
|
|
1905
|
+
if (this._domNode) {
|
|
2035
1906
|
// Omit queuing in direct mode
|
|
2036
|
-
if (direct)
|
|
2037
|
-
{
|
|
1907
|
+
if (direct) {
|
|
2038
1908
|
qx.bom.element.Attribute.set(this._domNode, key, value);
|
|
2039
1909
|
return this;
|
|
2040
1910
|
}
|
|
@@ -2055,7 +1925,6 @@ qx.Class.define("qx.html.Element",
|
|
|
2055
1925
|
return this;
|
|
2056
1926
|
},
|
|
2057
1927
|
|
|
2058
|
-
|
|
2059
1928
|
/**
|
|
2060
1929
|
* Convenience method to modify a set of attributes at once.
|
|
2061
1930
|
*
|
|
@@ -2065,8 +1934,7 @@ qx.Class.define("qx.html.Element",
|
|
|
2065
1934
|
* directly (without queuing)
|
|
2066
1935
|
* @return {qx.html.Element} this object (for chaining support)
|
|
2067
1936
|
*/
|
|
2068
|
-
setAttributes
|
|
2069
|
-
{
|
|
1937
|
+
setAttributes(map, direct) {
|
|
2070
1938
|
for (var key in map) {
|
|
2071
1939
|
this.setAttribute(key, map[key], direct);
|
|
2072
1940
|
}
|
|
@@ -2074,7 +1942,6 @@ qx.Class.define("qx.html.Element",
|
|
|
2074
1942
|
return this;
|
|
2075
1943
|
},
|
|
2076
1944
|
|
|
2077
|
-
|
|
2078
1945
|
/**
|
|
2079
1946
|
* Removes the given attribute
|
|
2080
1947
|
*
|
|
@@ -2083,44 +1950,49 @@ qx.Class.define("qx.html.Element",
|
|
|
2083
1950
|
* directly (without queuing)
|
|
2084
1951
|
* @return {qx.html.Element} this object (for chaining support)
|
|
2085
1952
|
*/
|
|
2086
|
-
removeAttribute
|
|
1953
|
+
removeAttribute(key, direct) {
|
|
2087
1954
|
return this.setAttribute(key, null, direct);
|
|
2088
1955
|
},
|
|
2089
1956
|
|
|
2090
|
-
|
|
2091
1957
|
/**
|
|
2092
1958
|
* Get the value of the given attribute.
|
|
2093
1959
|
*
|
|
2094
1960
|
* @param key {String} name of the attribute
|
|
2095
1961
|
* @return {var} the value of the attribute
|
|
2096
1962
|
*/
|
|
2097
|
-
getAttribute
|
|
1963
|
+
getAttribute(key) {
|
|
2098
1964
|
return this.__attribValues ? this.__attribValues[key] : null;
|
|
2099
1965
|
}
|
|
2100
1966
|
},
|
|
2101
1967
|
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
1968
|
/*
|
|
2107
1969
|
*****************************************************************************
|
|
2108
1970
|
DEFER
|
|
2109
1971
|
*****************************************************************************
|
|
2110
1972
|
*/
|
|
2111
1973
|
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
|
|
1974
|
+
defer(statics) {
|
|
1975
|
+
statics.__deferredCall = new qx.util.DeferredCall(statics.flush, statics);
|
|
1976
|
+
statics.__SELF_CLOSING_TAGS = {};
|
|
1977
|
+
[
|
|
1978
|
+
"area",
|
|
1979
|
+
"base",
|
|
1980
|
+
"br",
|
|
1981
|
+
"col",
|
|
1982
|
+
"embed",
|
|
1983
|
+
"hr",
|
|
1984
|
+
"img",
|
|
1985
|
+
"input",
|
|
1986
|
+
"link",
|
|
1987
|
+
"meta",
|
|
1988
|
+
"param",
|
|
1989
|
+
"source",
|
|
1990
|
+
"track",
|
|
1991
|
+
"wbr"
|
|
1992
|
+
].forEach(function (tagName) {
|
|
1993
|
+
statics.__SELF_CLOSING_TAGS[tagName] = true;
|
|
1994
|
+
});
|
|
1995
|
+
},
|
|
2124
1996
|
|
|
2125
1997
|
/*
|
|
2126
1998
|
*****************************************************************************
|
|
@@ -2128,8 +2000,7 @@ qx.Class.define("qx.html.Element",
|
|
|
2128
2000
|
*****************************************************************************
|
|
2129
2001
|
*/
|
|
2130
2002
|
|
|
2131
|
-
destruct
|
|
2132
|
-
{
|
|
2003
|
+
destruct() {
|
|
2133
2004
|
var hash = this.toHashCode();
|
|
2134
2005
|
if (hash) {
|
|
2135
2006
|
delete qx.html.Element._modified[hash];
|
|
@@ -2137,8 +2008,12 @@ qx.Class.define("qx.html.Element",
|
|
|
2137
2008
|
}
|
|
2138
2009
|
this.setRoot(false);
|
|
2139
2010
|
|
|
2140
|
-
this.__attribValues =
|
|
2141
|
-
this.
|
|
2142
|
-
this.
|
|
2011
|
+
this.__attribValues =
|
|
2012
|
+
this.__styleValues =
|
|
2013
|
+
this.__attribJobs =
|
|
2014
|
+
this.__styleJobs =
|
|
2015
|
+
this.__lazyScrollIntoViewX =
|
|
2016
|
+
this.__lazyScrollIntoViewY =
|
|
2017
|
+
null;
|
|
2143
2018
|
}
|
|
2144
2019
|
});
|