@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,18 +23,15 @@
|
|
|
23
23
|
* and {@link qx.util.fsm.Transition} for details on creating
|
|
24
24
|
* transitions between states.
|
|
25
25
|
*/
|
|
26
|
-
qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
27
|
-
|
|
28
|
-
extend : qx.core.Object,
|
|
29
|
-
|
|
26
|
+
qx.Class.define("qx.util.fsm.FiniteStateMachine", {
|
|
27
|
+
extend: qx.core.Object,
|
|
30
28
|
|
|
31
29
|
/**
|
|
32
30
|
* @param machineName {String} The name of this finite state machine
|
|
33
31
|
*/
|
|
34
|
-
construct
|
|
35
|
-
{
|
|
32
|
+
construct(machineName) {
|
|
36
33
|
// Call our superclass' constructor
|
|
37
|
-
|
|
34
|
+
super();
|
|
38
35
|
|
|
39
36
|
// Save the machine name
|
|
40
37
|
this.setName(machineName);
|
|
@@ -79,124 +76,105 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
79
76
|
this.__friendlyToGroups = {};
|
|
80
77
|
},
|
|
81
78
|
|
|
82
|
-
|
|
83
|
-
statics :
|
|
84
|
-
{
|
|
79
|
+
statics: {
|
|
85
80
|
/**
|
|
86
81
|
* Constants which may be values of the nextState member in the
|
|
87
82
|
* transitionInfo parameter of the Transition constructor.
|
|
88
83
|
*/
|
|
89
|
-
StateChange
|
|
90
|
-
{
|
|
91
|
-
|
|
84
|
+
StateChange: {
|
|
92
85
|
/** When used as a nextState value, means remain in current state */
|
|
93
|
-
CURRENT_STATE
|
|
86
|
+
CURRENT_STATE: 1,
|
|
94
87
|
|
|
95
88
|
/**
|
|
96
89
|
* When used as a nextState value, means go to most-recently pushed state
|
|
97
90
|
*/
|
|
98
|
-
POP_STATE_STACK
|
|
91
|
+
POP_STATE_STACK: 2,
|
|
99
92
|
|
|
100
93
|
/** When used as a nextState value, means terminate this state machine */
|
|
101
|
-
TERMINATE
|
|
94
|
+
TERMINATE: 3
|
|
102
95
|
},
|
|
103
96
|
|
|
104
|
-
|
|
105
97
|
/**
|
|
106
98
|
* Constants for use in the events member of the transitionInfo parameter
|
|
107
99
|
* of the Transition constructor.
|
|
108
100
|
*/
|
|
109
|
-
EventHandling
|
|
110
|
-
{
|
|
101
|
+
EventHandling: {
|
|
111
102
|
/**
|
|
112
103
|
* This event is handled by this state, but the predicate of a transition
|
|
113
104
|
* will determine whether to use that transition.
|
|
114
105
|
*/
|
|
115
|
-
PREDICATE
|
|
106
|
+
PREDICATE: 1,
|
|
116
107
|
|
|
117
108
|
/** Enqueue this event for possible use by the next state */
|
|
118
|
-
BLOCKED
|
|
109
|
+
BLOCKED: 2
|
|
119
110
|
},
|
|
120
111
|
|
|
121
|
-
|
|
122
112
|
/**
|
|
123
113
|
* Debug bitmask values.
|
|
124
114
|
*/
|
|
125
|
-
DebugFlags
|
|
126
|
-
{
|
|
127
|
-
|
|
115
|
+
DebugFlags: {
|
|
128
116
|
/** Show events */
|
|
129
|
-
EVENTS
|
|
117
|
+
EVENTS: 1,
|
|
130
118
|
|
|
131
119
|
/** Show transitions */
|
|
132
|
-
TRANSITIONS
|
|
120
|
+
TRANSITIONS: 2,
|
|
133
121
|
|
|
134
122
|
/** Show individual function invocations during transitions */
|
|
135
|
-
FUNCTION_DETAIL
|
|
123
|
+
FUNCTION_DETAIL: 4,
|
|
136
124
|
|
|
137
125
|
/**
|
|
138
126
|
* When object friendly names are referenced but not found, show message
|
|
139
127
|
*/
|
|
140
|
-
OBJECT_NOT_FOUND
|
|
128
|
+
OBJECT_NOT_FOUND: 8
|
|
141
129
|
}
|
|
142
130
|
},
|
|
143
131
|
|
|
144
|
-
events
|
|
145
|
-
{
|
|
132
|
+
events: {
|
|
146
133
|
/**
|
|
147
134
|
* Fired when the finite state machine terminates. Data is the last state
|
|
148
135
|
* before termination.
|
|
149
136
|
*/
|
|
150
|
-
|
|
137
|
+
terminated: "qx.event.type.Data"
|
|
151
138
|
},
|
|
152
139
|
|
|
153
|
-
properties
|
|
154
|
-
{
|
|
140
|
+
properties: {
|
|
155
141
|
/**
|
|
156
142
|
* The name of this finite state machine (for debug messages)
|
|
157
143
|
*/
|
|
158
|
-
name
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
nullable : true
|
|
144
|
+
name: {
|
|
145
|
+
check: "String",
|
|
146
|
+
nullable: true
|
|
162
147
|
},
|
|
163
148
|
|
|
164
|
-
|
|
165
149
|
/**
|
|
166
150
|
* The current state of the finite state machine.
|
|
167
151
|
*/
|
|
168
|
-
state
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
nullable : true
|
|
152
|
+
state: {
|
|
153
|
+
check: "String",
|
|
154
|
+
nullable: true
|
|
172
155
|
},
|
|
173
156
|
|
|
174
|
-
|
|
175
157
|
/**
|
|
176
158
|
* The previous state of the finite state machine, i.e. the state from
|
|
177
159
|
* which we most recently transitioned. Note that this could be the same
|
|
178
160
|
* as the current state if a successful transition brought us back to the
|
|
179
161
|
* same state.
|
|
180
162
|
*/
|
|
181
|
-
previousState
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
nullable : true
|
|
163
|
+
previousState: {
|
|
164
|
+
check: "String",
|
|
165
|
+
nullable: true
|
|
185
166
|
},
|
|
186
167
|
|
|
187
|
-
|
|
188
168
|
/**
|
|
189
169
|
* The state to which we will be transitioning. This property is valid
|
|
190
170
|
* only during a Transition's ontransition function and a State's onexit
|
|
191
171
|
* function. At all other times, it is null.
|
|
192
172
|
*/
|
|
193
|
-
nextState
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
nullable : true
|
|
173
|
+
nextState: {
|
|
174
|
+
check: "String",
|
|
175
|
+
nullable: true
|
|
197
176
|
},
|
|
198
177
|
|
|
199
|
-
|
|
200
178
|
/**
|
|
201
179
|
* The maximum number of states which may pushed onto the state-stack. It
|
|
202
180
|
* is generally a poor idea to have very many states saved on a stack.
|
|
@@ -204,13 +182,11 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
204
182
|
* highly unmaintainable. The default should be more than adequate.
|
|
205
183
|
* You've been warned.
|
|
206
184
|
*/
|
|
207
|
-
maxSavedStates
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
init : 2
|
|
185
|
+
maxSavedStates: {
|
|
186
|
+
check: "Number",
|
|
187
|
+
init: 2
|
|
211
188
|
},
|
|
212
189
|
|
|
213
|
-
|
|
214
190
|
/**
|
|
215
191
|
* Debug flags, composed of the bitmask values in the DebugFlags constant.
|
|
216
192
|
*
|
|
@@ -225,41 +201,37 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
225
201
|
* FSM.DebugFlags.OBJECT_NOT_FOUND);
|
|
226
202
|
* </pre>
|
|
227
203
|
*/
|
|
228
|
-
debugFlags
|
|
229
|
-
|
|
230
|
-
check : "Number",
|
|
204
|
+
debugFlags: {
|
|
205
|
+
check: "Number",
|
|
231
206
|
|
|
232
207
|
// Default:
|
|
233
208
|
// (qx.util.fsm.FiniteStateMachine.DebugFlags.EVENTS |
|
|
234
209
|
// qx.util.fsm.FiniteStateMachine.DebugFlags.TRANSITIONS |
|
|
235
210
|
// qx.util.fsm.FiniteStateMachine.DebugFlags.OBJECT_NOT_FOUND)
|
|
236
|
-
init
|
|
211
|
+
init: 7
|
|
237
212
|
}
|
|
238
213
|
},
|
|
239
214
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
__bEventProcessingInProgress : false,
|
|
254
|
-
__bTerminated : true,
|
|
215
|
+
members: {
|
|
216
|
+
__states: null,
|
|
217
|
+
__startState: null,
|
|
218
|
+
__eventQueue: null,
|
|
219
|
+
__blockedEvents: null,
|
|
220
|
+
__savedStates: null,
|
|
221
|
+
__friendlyToObject: null,
|
|
222
|
+
__friendlyToHash: null,
|
|
223
|
+
__hashToFriendly: null,
|
|
224
|
+
__groupToFriendly: null,
|
|
225
|
+
__friendlyToGroups: null,
|
|
226
|
+
__bEventProcessingInProgress: false,
|
|
227
|
+
__bTerminated: true,
|
|
255
228
|
|
|
256
229
|
/**
|
|
257
230
|
* Checks whether the finite state machine is terminated or not.
|
|
258
231
|
*
|
|
259
232
|
* @return {Boolean} If the finite state machine is terminated.
|
|
260
233
|
*/
|
|
261
|
-
isTerminated
|
|
262
|
-
{
|
|
234
|
+
isTerminated() {
|
|
263
235
|
return this.__bTerminated;
|
|
264
236
|
},
|
|
265
237
|
|
|
@@ -275,27 +247,24 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
275
247
|
* @throws {Error} If the given state is not an instanceof of qx.util.fsm.State.
|
|
276
248
|
* @throws {Error} If the given state already exists.
|
|
277
249
|
*/
|
|
278
|
-
addState
|
|
279
|
-
{
|
|
250
|
+
addState(state) {
|
|
280
251
|
// Ensure that we got valid state info
|
|
281
|
-
if (!state instanceof qx.util.fsm.State)
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
252
|
+
if (!state instanceof qx.util.fsm.State) {
|
|
253
|
+
throw new Error(
|
|
254
|
+
"Invalid state: not an instance of " + "qx.util.fsm.State"
|
|
255
|
+
);
|
|
285
256
|
}
|
|
286
257
|
|
|
287
258
|
// Retrieve the name of this state
|
|
288
259
|
var stateName = state.getName();
|
|
289
260
|
|
|
290
261
|
// Ensure that the state name doesn't already exist
|
|
291
|
-
if (stateName in this.__states)
|
|
292
|
-
{
|
|
262
|
+
if (stateName in this.__states) {
|
|
293
263
|
throw new Error("State " + stateName + " already exists");
|
|
294
264
|
}
|
|
295
265
|
|
|
296
266
|
// Is this the first state being added?
|
|
297
|
-
if (this.__startState == null)
|
|
298
|
-
{
|
|
267
|
+
if (this.__startState == null) {
|
|
299
268
|
// Yup. Save this state as the start state.
|
|
300
269
|
this.__startState = stateName;
|
|
301
270
|
}
|
|
@@ -304,7 +273,6 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
304
273
|
this.__states[stateName] = state;
|
|
305
274
|
},
|
|
306
275
|
|
|
307
|
-
|
|
308
276
|
/**
|
|
309
277
|
* Replace a state in the finite state machine. This is useful if
|
|
310
278
|
* initially "dummy" states are created which load the real state table
|
|
@@ -327,13 +295,12 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
327
295
|
*
|
|
328
296
|
* @throws {Error} If the given state is not an instanceof of qx.util.fsm.State.
|
|
329
297
|
*/
|
|
330
|
-
replaceState
|
|
331
|
-
{
|
|
298
|
+
replaceState(state, bDispose) {
|
|
332
299
|
// Ensure that we got valid state info
|
|
333
|
-
if (!state instanceof qx.util.fsm.State)
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
300
|
+
if (!state instanceof qx.util.fsm.State) {
|
|
301
|
+
throw new Error(
|
|
302
|
+
"Invalid state: not an instance of " + "qx.util.fsm.State"
|
|
303
|
+
);
|
|
337
304
|
}
|
|
338
305
|
|
|
339
306
|
// Retrieve the name of this state
|
|
@@ -346,8 +313,7 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
346
313
|
this.__states[stateName] = state;
|
|
347
314
|
|
|
348
315
|
// Did they request that the old state be disposed?
|
|
349
|
-
if (bDispose)
|
|
350
|
-
{
|
|
316
|
+
if (bDispose) {
|
|
351
317
|
// Yup. Mark it to be disposed.
|
|
352
318
|
oldState._bNeedDispose = true;
|
|
353
319
|
}
|
|
@@ -355,7 +321,6 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
355
321
|
return oldState;
|
|
356
322
|
},
|
|
357
323
|
|
|
358
|
-
|
|
359
324
|
/**
|
|
360
325
|
* Add an object (typically a widget) that is to be accessed during state
|
|
361
326
|
* transitions, to the finite state machine.
|
|
@@ -371,35 +336,30 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
371
336
|
* An optional list of group names of which this object is a member.
|
|
372
337
|
*
|
|
373
338
|
*/
|
|
374
|
-
addObject
|
|
375
|
-
{
|
|
339
|
+
addObject(friendlyName, obj, groupNames) {
|
|
376
340
|
var hash = qx.core.ObjectRegistry.toHashCode(obj);
|
|
377
341
|
this.__friendlyToHash[friendlyName] = hash;
|
|
378
342
|
this.__hashToFriendly[hash] = friendlyName;
|
|
379
343
|
this.__friendlyToObject[friendlyName] = obj;
|
|
380
344
|
|
|
381
345
|
// If no groupNames are specified, we're done.
|
|
382
|
-
if (!groupNames)
|
|
383
|
-
{
|
|
346
|
+
if (!groupNames) {
|
|
384
347
|
return;
|
|
385
348
|
}
|
|
386
349
|
|
|
387
350
|
// Allow either a single group name or an array of group names. If the
|
|
388
351
|
// former, we convert it to the latter to make the subsequent code
|
|
389
352
|
// simpler.
|
|
390
|
-
if (typeof
|
|
391
|
-
|
|
392
|
-
groupNames = [ groupNames ];
|
|
353
|
+
if (typeof groupNames == "string") {
|
|
354
|
+
groupNames = [groupNames];
|
|
393
355
|
}
|
|
394
356
|
|
|
395
357
|
// For each group that this friendly name is to be a member of...
|
|
396
|
-
for (var i=0; i<groupNames.length; i++)
|
|
397
|
-
{
|
|
358
|
+
for (var i = 0; i < groupNames.length; i++) {
|
|
398
359
|
var groupName = groupNames[i];
|
|
399
360
|
|
|
400
361
|
// If the group name doesn't yet exist...
|
|
401
|
-
if (!this.__groupToFriendly[groupName])
|
|
402
|
-
{
|
|
362
|
+
if (!this.__groupToFriendly[groupName]) {
|
|
403
363
|
// ... then create it.
|
|
404
364
|
this.__groupToFriendly[groupName] = {};
|
|
405
365
|
}
|
|
@@ -408,8 +368,7 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
408
368
|
this.__groupToFriendly[groupName][friendlyName] = true;
|
|
409
369
|
|
|
410
370
|
// If the friendly name group mapping doesn't yet exist...
|
|
411
|
-
if (!this.__friendlyToGroups[friendlyName])
|
|
412
|
-
{
|
|
371
|
+
if (!this.__friendlyToGroups[friendlyName]) {
|
|
413
372
|
// ... then create it.
|
|
414
373
|
this.__friendlyToGroups[friendlyName] = [];
|
|
415
374
|
}
|
|
@@ -420,7 +379,6 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
420
379
|
}
|
|
421
380
|
},
|
|
422
381
|
|
|
423
|
-
|
|
424
382
|
/**
|
|
425
383
|
* Remove an object which had previously been added by {@link #addObject}.
|
|
426
384
|
*
|
|
@@ -430,35 +388,30 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
430
388
|
* is to be removed.
|
|
431
389
|
*
|
|
432
390
|
*/
|
|
433
|
-
removeObject
|
|
434
|
-
|
|
435
|
-
var
|
|
436
|
-
var
|
|
437
|
-
var
|
|
438
|
-
var bGroupEmpty;
|
|
391
|
+
removeObject(friendlyName) {
|
|
392
|
+
var hash;
|
|
393
|
+
var groupName;
|
|
394
|
+
var objName;
|
|
395
|
+
var bGroupEmpty;
|
|
439
396
|
|
|
440
397
|
hash = this.__friendlyToHash[friendlyName];
|
|
441
398
|
|
|
442
399
|
// Delete references to any groups this friendly name was in
|
|
443
|
-
if (this.__friendlyToGroups[friendlyName])
|
|
444
|
-
|
|
445
|
-
for (var i = 0; i < this.__friendlyToGroups[friendlyName].length; i++)
|
|
446
|
-
{
|
|
400
|
+
if (this.__friendlyToGroups[friendlyName]) {
|
|
401
|
+
for (var i = 0; i < this.__friendlyToGroups[friendlyName].length; i++) {
|
|
447
402
|
groupName = this.__friendlyToGroups[friendlyName][i];
|
|
448
403
|
delete this.__groupToFriendly[groupName][friendlyName];
|
|
449
404
|
|
|
450
405
|
// Is the group empty now?
|
|
451
406
|
bGroupEmpty = true;
|
|
452
|
-
for (objName in this.__groupToFriendly[groupName])
|
|
453
|
-
{
|
|
407
|
+
for (objName in this.__groupToFriendly[groupName]) {
|
|
454
408
|
// The group is not empty. That's all we wanted to know.
|
|
455
409
|
bGroupEmpty = false;
|
|
456
410
|
break;
|
|
457
411
|
}
|
|
458
412
|
|
|
459
413
|
// If the group is empty...
|
|
460
|
-
if (bGroupEmpty)
|
|
461
|
-
{
|
|
414
|
+
if (bGroupEmpty) {
|
|
462
415
|
// ... then we can delete the entire entry
|
|
463
416
|
delete this.__groupToFriendly[groupName];
|
|
464
417
|
}
|
|
@@ -473,7 +426,6 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
473
426
|
delete this.__friendlyToObject[friendlyName];
|
|
474
427
|
},
|
|
475
428
|
|
|
476
|
-
|
|
477
429
|
/**
|
|
478
430
|
* Retrieve an object previously saved via {@link #addObject}, using its
|
|
479
431
|
* Friendly Name.
|
|
@@ -486,12 +438,10 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
486
438
|
* The object which has the specified friendly name, or undefined if no
|
|
487
439
|
* object has been associated with that name.
|
|
488
440
|
*/
|
|
489
|
-
getObject
|
|
490
|
-
{
|
|
441
|
+
getObject(friendlyName) {
|
|
491
442
|
return this.__friendlyToObject[friendlyName];
|
|
492
443
|
},
|
|
493
444
|
|
|
494
|
-
|
|
495
445
|
/**
|
|
496
446
|
* Get the friendly name of an object.
|
|
497
447
|
*
|
|
@@ -503,13 +453,11 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
503
453
|
* If the object has been previously registered via {@link #addObject},
|
|
504
454
|
* then the friendly name of the object is returned; otherwise, null.
|
|
505
455
|
*/
|
|
506
|
-
getFriendlyName
|
|
507
|
-
{
|
|
456
|
+
getFriendlyName(obj) {
|
|
508
457
|
var hash = obj ? qx.core.ObjectRegistry.toHashCode(obj) : null;
|
|
509
458
|
return hash ? this.__hashToFriendly[hash] : null;
|
|
510
459
|
},
|
|
511
460
|
|
|
512
|
-
|
|
513
461
|
/**
|
|
514
462
|
* Retrieve the list of objects which have registered, via {@link #addObject}
|
|
515
463
|
* as being members of the specified group.
|
|
@@ -522,40 +470,36 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
522
470
|
* An array containing the friendly names of any objects which are
|
|
523
471
|
* members of the specified group. The resultant array may be empty.
|
|
524
472
|
*/
|
|
525
|
-
getGroupObjects
|
|
526
|
-
{
|
|
473
|
+
getGroupObjects(groupName) {
|
|
527
474
|
var a = [];
|
|
528
475
|
|
|
529
|
-
for (var name in this.__groupToFriendly[groupName])
|
|
530
|
-
{
|
|
476
|
+
for (var name in this.__groupToFriendly[groupName]) {
|
|
531
477
|
a.push(name);
|
|
532
478
|
}
|
|
533
479
|
|
|
534
480
|
return a;
|
|
535
481
|
},
|
|
536
482
|
|
|
537
|
-
|
|
538
483
|
/**
|
|
539
484
|
* Display all of the saved objects and their reverse mappings.
|
|
540
485
|
*
|
|
541
486
|
*/
|
|
542
|
-
displayAllObjects
|
|
543
|
-
|
|
544
|
-
for (var friendlyName in this.__friendlyToHash)
|
|
545
|
-
{
|
|
487
|
+
displayAllObjects() {
|
|
488
|
+
for (var friendlyName in this.__friendlyToHash) {
|
|
546
489
|
var hash = this.__friendlyToHash[friendlyName];
|
|
547
490
|
var obj = this.getObject(friendlyName);
|
|
548
491
|
this.debug(friendlyName + " => " + hash);
|
|
549
492
|
this.debug(" " + hash + " => " + this.__hashToFriendly[hash]);
|
|
550
|
-
this.debug(" " +
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
493
|
+
this.debug(" " + friendlyName + " => " + this.getObject(friendlyName));
|
|
494
|
+
this.debug(
|
|
495
|
+
" " +
|
|
496
|
+
this.getObject(friendlyName) +
|
|
497
|
+
" => " +
|
|
498
|
+
this.getFriendlyName(obj)
|
|
499
|
+
);
|
|
555
500
|
}
|
|
556
501
|
},
|
|
557
502
|
|
|
558
|
-
|
|
559
503
|
/**
|
|
560
504
|
* Get internal data for debugging
|
|
561
505
|
*
|
|
@@ -573,21 +517,19 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
573
517
|
* __friendlyToGroups
|
|
574
518
|
* __bEventProcessingInProgress
|
|
575
519
|
*/
|
|
576
|
-
_getInternalData
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
"friendlyToGroups" : this.__friendlyToGroups
|
|
590
|
-
});
|
|
520
|
+
_getInternalData() {
|
|
521
|
+
return {
|
|
522
|
+
states: this.__states,
|
|
523
|
+
startState: this.__startState,
|
|
524
|
+
eventQueue: this.__eventQueue,
|
|
525
|
+
blockedEvents: this.__blockedEvents,
|
|
526
|
+
savedStates: this.__savedStates,
|
|
527
|
+
friendlyToObject: this.__friendlyToObject,
|
|
528
|
+
friendlyToHash: this.__friendlyToHash,
|
|
529
|
+
hashToFriendly: this.__hashToFriendly,
|
|
530
|
+
groupToFriendly: this.__groupToFriendly,
|
|
531
|
+
friendlyToGroups: this.__friendlyToGroups
|
|
532
|
+
};
|
|
591
533
|
},
|
|
592
534
|
|
|
593
535
|
/**
|
|
@@ -597,14 +539,12 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
597
539
|
*
|
|
598
540
|
* @throws {Error} If the machine stared with not available state.
|
|
599
541
|
*/
|
|
600
|
-
start
|
|
601
|
-
{
|
|
542
|
+
start() {
|
|
602
543
|
this.__bTerminated = false;
|
|
603
544
|
|
|
604
545
|
var stateName = this.__startState;
|
|
605
546
|
|
|
606
|
-
if (stateName == null)
|
|
607
|
-
{
|
|
547
|
+
if (stateName == null) {
|
|
608
548
|
throw new Error("Machine started with no available states");
|
|
609
549
|
}
|
|
610
550
|
|
|
@@ -615,35 +555,31 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
615
555
|
this.setNextState(null);
|
|
616
556
|
|
|
617
557
|
var debugFunctions =
|
|
618
|
-
|
|
619
|
-
|
|
558
|
+
this.getDebugFlags() &
|
|
559
|
+
qx.util.fsm.FiniteStateMachine.DebugFlags.FUNCTION_DETAIL;
|
|
620
560
|
|
|
621
561
|
// Run the actionsBeforeOnentry actions for the initial state
|
|
622
|
-
if (debugFunctions)
|
|
623
|
-
{
|
|
562
|
+
if (debugFunctions) {
|
|
624
563
|
this.debug(this.getName() + "#" + stateName + "#actionsBeforeOnentry");
|
|
625
564
|
}
|
|
626
565
|
|
|
627
566
|
this.__states[stateName].getAutoActionsBeforeOnentry()(this);
|
|
628
567
|
|
|
629
568
|
// Run the entry function for the new state, if one is specified
|
|
630
|
-
if (debugFunctions)
|
|
631
|
-
{
|
|
569
|
+
if (debugFunctions) {
|
|
632
570
|
this.debug(this.getName() + "#" + stateName + "#entry");
|
|
633
571
|
}
|
|
634
572
|
|
|
635
573
|
this.__states[stateName].getOnentry()(this, null);
|
|
636
574
|
|
|
637
575
|
// Run the actionsAfterOnentry actions for the initial state
|
|
638
|
-
if (debugFunctions)
|
|
639
|
-
{
|
|
576
|
+
if (debugFunctions) {
|
|
640
577
|
this.debug(this.getName() + "#" + stateName + "#actionsAfterOnentry");
|
|
641
578
|
}
|
|
642
579
|
|
|
643
580
|
this.__states[stateName].getAutoActionsAfterOnentry()(this);
|
|
644
581
|
},
|
|
645
582
|
|
|
646
|
-
|
|
647
583
|
/**
|
|
648
584
|
* Save the current or previous state on the saved-state stack. A future
|
|
649
585
|
* transition can then provide, as its nextState value, the class
|
|
@@ -669,32 +605,24 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
669
605
|
*
|
|
670
606
|
* @throws {Error} If the saved-state stack is full.
|
|
671
607
|
*/
|
|
672
|
-
pushState
|
|
673
|
-
{
|
|
608
|
+
pushState(state) {
|
|
674
609
|
// See if there's room on the state stack for a new state
|
|
675
|
-
if (this.__savedStates.length >= this.getMaxSavedStates())
|
|
676
|
-
{
|
|
610
|
+
if (this.__savedStates.length >= this.getMaxSavedStates()) {
|
|
677
611
|
// Nope. Programmer error.
|
|
678
612
|
throw new Error("Saved-state stack is full");
|
|
679
613
|
}
|
|
680
614
|
|
|
681
|
-
if (state === true)
|
|
682
|
-
{
|
|
615
|
+
if (state === true) {
|
|
683
616
|
// Push the current state onto the saved-state stack
|
|
684
617
|
this.__savedStates.push(this.getState());
|
|
685
|
-
}
|
|
686
|
-
else if (state)
|
|
687
|
-
{
|
|
618
|
+
} else if (state) {
|
|
688
619
|
this.__savedStates.push(state);
|
|
689
|
-
}
|
|
690
|
-
else
|
|
691
|
-
{
|
|
620
|
+
} else {
|
|
692
621
|
// Push the previous state onto the saved-state stack
|
|
693
622
|
this.__savedStates.push(this.getPreviousState());
|
|
694
623
|
}
|
|
695
624
|
},
|
|
696
625
|
|
|
697
|
-
|
|
698
626
|
/**
|
|
699
627
|
* Pop the saved state stack.
|
|
700
628
|
*
|
|
@@ -702,11 +630,9 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
702
630
|
* The name of a state or a boolean flag that had most recently been
|
|
703
631
|
* pushed onto the saved-state stack.
|
|
704
632
|
*/
|
|
705
|
-
popState
|
|
706
|
-
{
|
|
633
|
+
popState() {
|
|
707
634
|
// Is there anything on the saved-state stack?
|
|
708
|
-
if (this.__savedStates.length == 0)
|
|
709
|
-
{
|
|
635
|
+
if (this.__savedStates.length == 0) {
|
|
710
636
|
// Nope. Programmer error.
|
|
711
637
|
throw new Error("Saved-state stack is empty");
|
|
712
638
|
}
|
|
@@ -723,14 +649,12 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
723
649
|
* The event to add to the event queue for processing after state change.
|
|
724
650
|
*
|
|
725
651
|
*/
|
|
726
|
-
postponeEvent
|
|
727
|
-
{
|
|
652
|
+
postponeEvent(event) {
|
|
728
653
|
// Add this event to the blocked event queue, so it will be passed to the
|
|
729
654
|
// next state upon transition.
|
|
730
655
|
this.__blockedEvents.unshift(event);
|
|
731
656
|
},
|
|
732
657
|
|
|
733
|
-
|
|
734
658
|
/**
|
|
735
659
|
* Enqueue an event for processing
|
|
736
660
|
*
|
|
@@ -744,52 +668,54 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
744
668
|
* queue so that it receives in-order processing.
|
|
745
669
|
*
|
|
746
670
|
*/
|
|
747
|
-
enqueueEvent
|
|
748
|
-
{
|
|
671
|
+
enqueueEvent(event, bAddAtHead) {
|
|
749
672
|
// Add the event to the event queue
|
|
750
|
-
if (bAddAtHead)
|
|
751
|
-
{
|
|
673
|
+
if (bAddAtHead) {
|
|
752
674
|
// Put event at the head of the queue
|
|
753
675
|
this.__eventQueue.push(event);
|
|
754
|
-
}
|
|
755
|
-
else
|
|
756
|
-
{
|
|
676
|
+
} else {
|
|
757
677
|
// Put event at the tail of the queue
|
|
758
678
|
this.__eventQueue.unshift(event);
|
|
759
679
|
}
|
|
760
680
|
|
|
761
|
-
if (
|
|
762
|
-
|
|
763
|
-
{
|
|
681
|
+
if (
|
|
682
|
+
this.getDebugFlags() & qx.util.fsm.FiniteStateMachine.DebugFlags.EVENTS
|
|
683
|
+
) {
|
|
764
684
|
// Individual objects are listed. Ensure target is a saved object
|
|
765
685
|
var friendly = this.getFriendlyName(event.getTarget());
|
|
766
686
|
|
|
767
|
-
if (bAddAtHead)
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
687
|
+
if (bAddAtHead) {
|
|
688
|
+
this.debug(
|
|
689
|
+
this.getName() +
|
|
690
|
+
": Pushed event: " +
|
|
691
|
+
event.getType() +
|
|
692
|
+
(friendly ? " on " + friendly : "")
|
|
693
|
+
);
|
|
694
|
+
} else {
|
|
695
|
+
this.debug(
|
|
696
|
+
this.getName() +
|
|
697
|
+
": Queued event: " +
|
|
698
|
+
event.getType() +
|
|
699
|
+
(friendly ? " on " + friendly : "")
|
|
700
|
+
);
|
|
776
701
|
}
|
|
777
702
|
}
|
|
778
703
|
},
|
|
779
704
|
|
|
780
|
-
|
|
781
705
|
/**
|
|
782
706
|
* Event listener for all event types in the finite state machine
|
|
783
707
|
*
|
|
784
708
|
* @param event {qx.event.type.Event} The event that was dispatched.
|
|
785
709
|
*/
|
|
786
|
-
eventListener
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
710
|
+
eventListener(event) {
|
|
711
|
+
if (this.__bTerminated) {
|
|
712
|
+
this.debug(
|
|
713
|
+
this.getName() +
|
|
714
|
+
": Cannot listen to event '" +
|
|
715
|
+
event.getType() +
|
|
716
|
+
"', because the finite state machine is not running."
|
|
717
|
+
);
|
|
718
|
+
|
|
793
719
|
return;
|
|
794
720
|
}
|
|
795
721
|
|
|
@@ -807,7 +733,6 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
807
733
|
this.__processEvents();
|
|
808
734
|
},
|
|
809
735
|
|
|
810
|
-
|
|
811
736
|
/**
|
|
812
737
|
* Create an event and send it immediately to the finite state machine.
|
|
813
738
|
*
|
|
@@ -824,34 +749,35 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
824
749
|
* it.
|
|
825
750
|
*
|
|
826
751
|
*/
|
|
827
|
-
fireImmediateEvent
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
752
|
+
fireImmediateEvent(type, target, data) {
|
|
753
|
+
if (this.__bTerminated) {
|
|
754
|
+
this.debug(
|
|
755
|
+
this.getName() +
|
|
756
|
+
": Cannot listen to event '" +
|
|
757
|
+
type +
|
|
758
|
+
"', because the finite state machine is not running."
|
|
759
|
+
);
|
|
760
|
+
|
|
833
761
|
return;
|
|
834
762
|
}
|
|
835
763
|
|
|
836
|
-
if (data)
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
qx.event.
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
}
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
[ false, false ]);
|
|
764
|
+
if (data) {
|
|
765
|
+
var event = qx.event.Registration.createEvent(
|
|
766
|
+
type,
|
|
767
|
+
qx.event.type.Data,
|
|
768
|
+
[data, null, false]
|
|
769
|
+
);
|
|
770
|
+
} else {
|
|
771
|
+
var event = qx.event.Registration.createEvent(
|
|
772
|
+
type,
|
|
773
|
+
qx.event.type.Event,
|
|
774
|
+
[false, false]
|
|
775
|
+
);
|
|
849
776
|
}
|
|
850
777
|
event.setTarget(target);
|
|
851
778
|
this.eventListener(event);
|
|
852
779
|
},
|
|
853
780
|
|
|
854
|
-
|
|
855
781
|
/**
|
|
856
782
|
* Create and schedule an event to be sent to the finite state machine
|
|
857
783
|
* "shortly". This allows such things as letting a progress cursor
|
|
@@ -872,38 +798,33 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
872
798
|
* of 20 milliseconds) is used.
|
|
873
799
|
*
|
|
874
800
|
*/
|
|
875
|
-
scheduleEvent
|
|
876
|
-
{
|
|
801
|
+
scheduleEvent(type, target, data, timeout) {
|
|
877
802
|
qx.event.Timer.once(
|
|
878
|
-
function()
|
|
879
|
-
{
|
|
803
|
+
function () {
|
|
880
804
|
this.fireImmediateEvent(type, target, data);
|
|
881
805
|
},
|
|
882
806
|
this,
|
|
883
|
-
timeout || 20
|
|
807
|
+
timeout || 20
|
|
808
|
+
);
|
|
884
809
|
},
|
|
885
810
|
|
|
886
|
-
|
|
887
811
|
/**
|
|
888
812
|
* Process all of the events on the event queue.
|
|
889
813
|
*
|
|
890
814
|
*/
|
|
891
|
-
__processEvents
|
|
892
|
-
{
|
|
815
|
+
__processEvents() {
|
|
893
816
|
// eventListener() can potentially be called while we're processing
|
|
894
817
|
// events
|
|
895
|
-
if (this.__bEventProcessingInProgress)
|
|
896
|
-
{
|
|
818
|
+
if (this.__bEventProcessingInProgress) {
|
|
897
819
|
// We were processing already, so don't process concurrently.
|
|
898
|
-
return
|
|
820
|
+
return;
|
|
899
821
|
}
|
|
900
822
|
|
|
901
823
|
// Track that we're processing events
|
|
902
824
|
this.__bEventProcessingInProgress = true;
|
|
903
825
|
|
|
904
826
|
// Process each of the events on the event queue
|
|
905
|
-
while (this.__eventQueue.length > 0)
|
|
906
|
-
{
|
|
827
|
+
while (this.__eventQueue.length > 0) {
|
|
907
828
|
// Pull the next event from the pending event queue
|
|
908
829
|
var event = this.__eventQueue.pop();
|
|
909
830
|
|
|
@@ -911,8 +832,7 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
911
832
|
var bDispose = this.__run(event);
|
|
912
833
|
|
|
913
834
|
// If we didn't block (and re-queue) the event, dispose it.
|
|
914
|
-
if (bDispose)
|
|
915
|
-
{
|
|
835
|
+
if (bDispose) {
|
|
916
836
|
event.dispose();
|
|
917
837
|
}
|
|
918
838
|
}
|
|
@@ -921,7 +841,6 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
921
841
|
this.__bEventProcessingInProgress = false;
|
|
922
842
|
},
|
|
923
843
|
|
|
924
|
-
|
|
925
844
|
/**
|
|
926
845
|
* Run the finite state machine to process a single event.
|
|
927
846
|
*
|
|
@@ -942,8 +861,7 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
942
861
|
* @throws {Error} If the state stack is empty and the next state is POP_STATE_STACK
|
|
943
862
|
* @throws {Error} If the next state is invalid.
|
|
944
863
|
*/
|
|
945
|
-
__run
|
|
946
|
-
{
|
|
864
|
+
__run(event) {
|
|
947
865
|
// For use in generated functions...
|
|
948
866
|
// State name variables
|
|
949
867
|
var thisState;
|
|
@@ -978,10 +896,13 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
978
896
|
// Individual objects are listed. Ensure target is a saved object
|
|
979
897
|
var friendly = this.getFriendlyName(event.getTarget());
|
|
980
898
|
|
|
981
|
-
if (debugEvents)
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
899
|
+
if (debugEvents) {
|
|
900
|
+
this.debug(
|
|
901
|
+
this.getName() +
|
|
902
|
+
": Process event: " +
|
|
903
|
+
event.getType() +
|
|
904
|
+
(friendly ? " on " + friendly : "")
|
|
905
|
+
);
|
|
985
906
|
}
|
|
986
907
|
|
|
987
908
|
// Get the current state name
|
|
@@ -997,12 +918,15 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
997
918
|
e = currentState.getEvents()[event.getType()];
|
|
998
919
|
|
|
999
920
|
// See if we actually found this event type
|
|
1000
|
-
if (!e)
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
921
|
+
if (!e) {
|
|
922
|
+
if (debugEvents) {
|
|
923
|
+
this.debug(
|
|
924
|
+
this.getName() +
|
|
925
|
+
": Event '" +
|
|
926
|
+
event.getType() +
|
|
927
|
+
"'" +
|
|
928
|
+
" not handled. Ignoring."
|
|
929
|
+
);
|
|
1006
930
|
}
|
|
1007
931
|
|
|
1008
932
|
return true;
|
|
@@ -1012,16 +936,18 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
1012
936
|
// with each property name being the friendly name of a saved object,
|
|
1013
937
|
// and the property value being one of the constants (PREDICATE or
|
|
1014
938
|
// BLOCKED).
|
|
1015
|
-
if (typeof
|
|
1016
|
-
|
|
1017
|
-
if (!friendly)
|
|
1018
|
-
{
|
|
939
|
+
if (typeof e == "object") {
|
|
940
|
+
if (!friendly) {
|
|
1019
941
|
// Nope, it doesn't seem so. Just discard it.
|
|
1020
|
-
if (debugObjectNotFound)
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
942
|
+
if (debugObjectNotFound) {
|
|
943
|
+
this.debug(
|
|
944
|
+
this.getName() +
|
|
945
|
+
": Could not find friendly name for '" +
|
|
946
|
+
event.getType() +
|
|
947
|
+
"' on '" +
|
|
948
|
+
event.getTarget() +
|
|
949
|
+
"'"
|
|
950
|
+
);
|
|
1025
951
|
}
|
|
1026
952
|
|
|
1027
953
|
return true;
|
|
@@ -1031,35 +957,41 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
1031
957
|
|
|
1032
958
|
// Do we handle this event type for the widget from which it
|
|
1033
959
|
// originated?
|
|
1034
|
-
if (!
|
|
1035
|
-
{
|
|
960
|
+
if (!action) {
|
|
1036
961
|
// Nope.
|
|
1037
|
-
if (debugEvents)
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
962
|
+
if (debugEvents) {
|
|
963
|
+
this.debug(
|
|
964
|
+
this.getName() +
|
|
965
|
+
": Event '" +
|
|
966
|
+
event.getType() +
|
|
967
|
+
"'" +
|
|
968
|
+
" not handled for target " +
|
|
969
|
+
friendly +
|
|
970
|
+
". Ignoring."
|
|
971
|
+
);
|
|
1041
972
|
}
|
|
1042
973
|
|
|
1043
974
|
return true;
|
|
1044
975
|
}
|
|
1045
|
-
}
|
|
1046
|
-
else
|
|
1047
|
-
{
|
|
976
|
+
} else {
|
|
1048
977
|
action = e;
|
|
1049
978
|
}
|
|
1050
979
|
|
|
1051
|
-
switch(action)
|
|
1052
|
-
{
|
|
980
|
+
switch (action) {
|
|
1053
981
|
case qx.util.fsm.FiniteStateMachine.EventHandling.PREDICATE:
|
|
1054
982
|
// Process this event. One of the transitions should handle it.
|
|
1055
983
|
break;
|
|
1056
984
|
|
|
1057
985
|
case qx.util.fsm.FiniteStateMachine.EventHandling.BLOCKED:
|
|
1058
986
|
// This event is blocked. Enqueue it for later, and get outta here.
|
|
1059
|
-
if (debugEvents)
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
987
|
+
if (debugEvents) {
|
|
988
|
+
this.debug(
|
|
989
|
+
this.getName() +
|
|
990
|
+
": Event '" +
|
|
991
|
+
event.getType() +
|
|
992
|
+
"'" +
|
|
993
|
+
" blocked. Re-queuing."
|
|
994
|
+
);
|
|
1063
995
|
}
|
|
1064
996
|
|
|
1065
997
|
this.__blockedEvents.unshift(event);
|
|
@@ -1067,21 +999,18 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
1067
999
|
|
|
1068
1000
|
default:
|
|
1069
1001
|
// See if we've been given an explicit transition name
|
|
1070
|
-
if (typeof
|
|
1071
|
-
{
|
|
1002
|
+
if (typeof action == "string") {
|
|
1072
1003
|
// Yup! Ensure that it exists
|
|
1073
|
-
if (transitions[action])
|
|
1074
|
-
{
|
|
1004
|
+
if (transitions[action]) {
|
|
1075
1005
|
// Yup. Create a transitions object containing only this
|
|
1076
1006
|
// transition.
|
|
1077
1007
|
var trans = transitions[action];
|
|
1078
1008
|
transitions = {};
|
|
1079
1009
|
transitions[action] = trans;
|
|
1080
|
-
}
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
action + " does not exist");
|
|
1010
|
+
} else {
|
|
1011
|
+
throw new Error(
|
|
1012
|
+
"Explicit transition " + action + " does not exist"
|
|
1013
|
+
);
|
|
1085
1014
|
}
|
|
1086
1015
|
|
|
1087
1016
|
break;
|
|
@@ -1090,13 +1019,11 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
1090
1019
|
|
|
1091
1020
|
// We handle the event. Try each transition in turn until we find one
|
|
1092
1021
|
// that is acceptable.
|
|
1093
|
-
for (var t in transitions)
|
|
1094
|
-
{
|
|
1022
|
+
for (var t in transitions) {
|
|
1095
1023
|
var trans = transitions[t];
|
|
1096
1024
|
|
|
1097
1025
|
// Does the predicate allow use of this transition?
|
|
1098
|
-
switch(trans.getPredicate()(this, event))
|
|
1099
|
-
{
|
|
1026
|
+
switch (trans.getPredicate()(this, event)) {
|
|
1100
1027
|
case true:
|
|
1101
1028
|
// Transition is allowed. Proceed.
|
|
1102
1029
|
break;
|
|
@@ -1110,31 +1037,32 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
1110
1037
|
return true;
|
|
1111
1038
|
|
|
1112
1039
|
default:
|
|
1113
|
-
throw new Error(
|
|
1114
|
-
|
|
1115
|
-
|
|
1040
|
+
throw new Error(
|
|
1041
|
+
"Transition " +
|
|
1042
|
+
thisState +
|
|
1043
|
+
":" +
|
|
1044
|
+
t +
|
|
1045
|
+
" returned a value other than " +
|
|
1046
|
+
"true, false, or null."
|
|
1047
|
+
);
|
|
1116
1048
|
}
|
|
1117
1049
|
|
|
1118
1050
|
// We think we can transition to the next state. Set next state.
|
|
1119
1051
|
nextState = trans.getNextState();
|
|
1120
1052
|
|
|
1121
|
-
if (typeof
|
|
1122
|
-
{
|
|
1053
|
+
if (typeof nextState == "string") {
|
|
1123
1054
|
// We found a literal state name. Ensure it exists.
|
|
1124
|
-
if (!nextState in this.__states)
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1055
|
+
if (!nextState in this.__states) {
|
|
1056
|
+
throw new Error(
|
|
1057
|
+
"Attempt to transition to nonexistent state " + nextState
|
|
1058
|
+
);
|
|
1128
1059
|
}
|
|
1129
1060
|
|
|
1130
1061
|
// It exists. Track it being the next state.
|
|
1131
1062
|
this.setNextState(nextState);
|
|
1132
|
-
}
|
|
1133
|
-
else
|
|
1134
|
-
{
|
|
1063
|
+
} else {
|
|
1135
1064
|
// If it's not a string, nextState must be a StateChange constant
|
|
1136
|
-
switch(nextState)
|
|
1137
|
-
{
|
|
1065
|
+
switch (nextState) {
|
|
1138
1066
|
case qx.util.fsm.FiniteStateMachine.StateChange.CURRENT_STATE:
|
|
1139
1067
|
// They want to remain in the same state.
|
|
1140
1068
|
nextState = thisState;
|
|
@@ -1143,10 +1071,11 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
1143
1071
|
|
|
1144
1072
|
case qx.util.fsm.FiniteStateMachine.StateChange.POP_STATE_STACK:
|
|
1145
1073
|
// Switch to the state at the top of the state stack.
|
|
1146
|
-
if (this.__savedStates.length == 0)
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1074
|
+
if (this.__savedStates.length == 0) {
|
|
1075
|
+
throw new Error(
|
|
1076
|
+
"Attempt to transition to POP_STATE_STACK " +
|
|
1077
|
+
"while state stack is empty."
|
|
1078
|
+
);
|
|
1150
1079
|
}
|
|
1151
1080
|
|
|
1152
1081
|
// Pop the state stack to retrieve the state to transition to
|
|
@@ -1166,70 +1095,76 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
1166
1095
|
}
|
|
1167
1096
|
|
|
1168
1097
|
// Run the actionsBeforeOntransition actions for this transition
|
|
1169
|
-
if (debugFunctions)
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1098
|
+
if (debugFunctions) {
|
|
1099
|
+
this.debug(
|
|
1100
|
+
this.getName() +
|
|
1101
|
+
"#" +
|
|
1102
|
+
thisState +
|
|
1103
|
+
"#" +
|
|
1104
|
+
t +
|
|
1105
|
+
"#autoActionsBeforeOntransition"
|
|
1106
|
+
);
|
|
1173
1107
|
}
|
|
1174
1108
|
|
|
1175
1109
|
trans.getAutoActionsBeforeOntransition()(this);
|
|
1176
1110
|
|
|
1177
1111
|
// Run the 'ontransition' function
|
|
1178
|
-
if (debugFunctions)
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1112
|
+
if (debugFunctions) {
|
|
1113
|
+
this.debug(
|
|
1114
|
+
this.getName() + "#" + thisState + "#" + t + "#ontransition"
|
|
1115
|
+
);
|
|
1182
1116
|
}
|
|
1183
1117
|
|
|
1184
1118
|
trans.getOntransition()(this, event);
|
|
1185
1119
|
|
|
1186
1120
|
// Run the autoActionsAfterOntransition actions for this transition
|
|
1187
|
-
if (debugFunctions)
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1121
|
+
if (debugFunctions) {
|
|
1122
|
+
this.debug(
|
|
1123
|
+
this.getName() +
|
|
1124
|
+
"#" +
|
|
1125
|
+
thisState +
|
|
1126
|
+
"#" +
|
|
1127
|
+
t +
|
|
1128
|
+
"#autoActionsAfterOntransition"
|
|
1129
|
+
);
|
|
1191
1130
|
}
|
|
1192
1131
|
|
|
1193
1132
|
trans.getAutoActionsAfterOntransition()(this);
|
|
1194
1133
|
|
|
1195
1134
|
// Run the autoActionsBeforeOnexit actions for the old state
|
|
1196
|
-
if (debugFunctions)
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1135
|
+
if (debugFunctions) {
|
|
1136
|
+
this.debug(
|
|
1137
|
+
this.getName() + "#" + thisState + "#autoActionsBeforeOnexit"
|
|
1138
|
+
);
|
|
1200
1139
|
}
|
|
1201
1140
|
|
|
1202
1141
|
currentState.getAutoActionsBeforeOnexit()(this);
|
|
1203
1142
|
|
|
1204
1143
|
// Run the exit function for the old state
|
|
1205
|
-
if (debugFunctions)
|
|
1206
|
-
{
|
|
1144
|
+
if (debugFunctions) {
|
|
1207
1145
|
this.debug(this.getName() + "#" + thisState + "#exit");
|
|
1208
1146
|
}
|
|
1209
1147
|
|
|
1210
1148
|
currentState.getOnexit()(this, event);
|
|
1211
1149
|
|
|
1212
1150
|
// Run the autoActionsAfterOnexit actions for the old state
|
|
1213
|
-
if (debugFunctions)
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1151
|
+
if (debugFunctions) {
|
|
1152
|
+
this.debug(
|
|
1153
|
+
this.getName() + "#" + thisState + "#autoActionsAfterOnexit"
|
|
1154
|
+
);
|
|
1217
1155
|
}
|
|
1218
1156
|
|
|
1219
1157
|
currentState.getAutoActionsAfterOnexit()(this);
|
|
1220
1158
|
|
|
1221
1159
|
// If this state has been replaced and we're supposed to dispose it...
|
|
1222
|
-
if (currentState._bNeedDispose)
|
|
1223
|
-
{
|
|
1160
|
+
if (currentState._bNeedDispose) {
|
|
1224
1161
|
// ... then dispose it now that it's no longer in use
|
|
1225
1162
|
currentState.dispose();
|
|
1226
1163
|
}
|
|
1227
1164
|
|
|
1228
1165
|
// It the fsm has terminated, stop right here
|
|
1229
|
-
if (this.__bTerminated)
|
|
1230
|
-
|
|
1231
|
-
if (debugFunctions)
|
|
1232
|
-
{
|
|
1166
|
+
if (this.__bTerminated) {
|
|
1167
|
+
if (debugFunctions) {
|
|
1233
1168
|
this.debug(this.getName() + "#" + "TERMINATED");
|
|
1234
1169
|
}
|
|
1235
1170
|
this.fireDataEvent("terminated", thisState);
|
|
@@ -1248,63 +1183,69 @@ qx.Class.define("qx.util.fsm.FiniteStateMachine",
|
|
|
1248
1183
|
nextState = undefined;
|
|
1249
1184
|
|
|
1250
1185
|
// Run the autoActionsBeforeOnentry actions for the new state
|
|
1251
|
-
if (debugFunctions)
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1186
|
+
if (debugFunctions) {
|
|
1187
|
+
this.debug(
|
|
1188
|
+
this.getName() + "#" + thisState + "#autoActionsBeforeOnentry"
|
|
1189
|
+
);
|
|
1255
1190
|
}
|
|
1256
1191
|
|
|
1257
1192
|
currentState.getAutoActionsBeforeOnentry()(this);
|
|
1258
1193
|
|
|
1259
1194
|
// Run the entry function for the new state, if one is specified
|
|
1260
|
-
if (debugFunctions)
|
|
1261
|
-
{
|
|
1195
|
+
if (debugFunctions) {
|
|
1262
1196
|
this.debug(this.getName() + "#" + thisState + "#entry");
|
|
1263
1197
|
}
|
|
1264
1198
|
|
|
1265
1199
|
currentState.getOnentry()(this, event);
|
|
1266
1200
|
|
|
1267
1201
|
// Run the autoActionsAfterOnentry actions for the new state
|
|
1268
|
-
if (debugFunctions)
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1202
|
+
if (debugFunctions) {
|
|
1203
|
+
this.debug(
|
|
1204
|
+
this.getName() + "#" + thisState + "#autoActionsAfterOnentry"
|
|
1205
|
+
);
|
|
1272
1206
|
}
|
|
1273
1207
|
|
|
1274
1208
|
currentState.getAutoActionsAfterOnentry()(this);
|
|
1275
1209
|
|
|
1276
1210
|
// Add any blocked events back onto the pending event queue
|
|
1277
|
-
for (var i=0; i<this.__blockedEvents.length; i++)
|
|
1278
|
-
{
|
|
1211
|
+
for (var i = 0; i < this.__blockedEvents.length; i++) {
|
|
1279
1212
|
e = this.__blockedEvents.pop();
|
|
1280
1213
|
this.__eventQueue.unshift(e);
|
|
1281
1214
|
}
|
|
1282
1215
|
|
|
1283
|
-
if (debugTransitions)
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1216
|
+
if (debugTransitions) {
|
|
1217
|
+
this.debug(
|
|
1218
|
+
this.getName() +
|
|
1219
|
+
"#" +
|
|
1220
|
+
prevState +
|
|
1221
|
+
" => " +
|
|
1222
|
+
this.getName() +
|
|
1223
|
+
"#" +
|
|
1224
|
+
thisState
|
|
1225
|
+
);
|
|
1287
1226
|
}
|
|
1288
1227
|
|
|
1289
1228
|
// See ya!
|
|
1290
1229
|
return true;
|
|
1291
1230
|
}
|
|
1292
1231
|
|
|
1293
|
-
if (debugTransitions)
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1232
|
+
if (debugTransitions) {
|
|
1233
|
+
this.debug(
|
|
1234
|
+
this.getName() +
|
|
1235
|
+
"#" +
|
|
1236
|
+
thisState +
|
|
1237
|
+
": event '" +
|
|
1238
|
+
event.getType() +
|
|
1239
|
+
"'" +
|
|
1240
|
+
": no transition found. No state change."
|
|
1241
|
+
);
|
|
1299
1242
|
}
|
|
1300
1243
|
|
|
1301
1244
|
return true;
|
|
1302
1245
|
}
|
|
1303
1246
|
},
|
|
1304
1247
|
|
|
1305
|
-
|
|
1306
|
-
destruct : function()
|
|
1307
|
-
{
|
|
1248
|
+
destruct() {
|
|
1308
1249
|
this._disposeArray("__eventQueue");
|
|
1309
1250
|
this._disposeArray("__blockedEvents");
|
|
1310
1251
|
this.__savedStates = this.__states = null;
|