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