@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
|
@@ -27,12 +27,9 @@
|
|
|
27
27
|
* @childControl statusbar {qx.ui.basic.Label} label to show the status of the table
|
|
28
28
|
* @childControl column-button {qx.ui.table.columnmenu.Button} button to open the column menu
|
|
29
29
|
*/
|
|
30
|
-
qx.Class.define("qx.ui.table.Table",
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
include : qx.ui.core.MDragDropScrolling,
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
qx.Class.define("qx.ui.table.Table", {
|
|
31
|
+
extend: qx.ui.core.Widget,
|
|
32
|
+
include: qx.ui.core.MDragDropScrolling,
|
|
36
33
|
|
|
37
34
|
/*
|
|
38
35
|
*****************************************************************************
|
|
@@ -123,14 +120,13 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
123
120
|
* </pre></dd>
|
|
124
121
|
* </dl>
|
|
125
122
|
*/
|
|
126
|
-
construct
|
|
127
|
-
|
|
128
|
-
this.base(arguments);
|
|
123
|
+
construct(tableModel, custom) {
|
|
124
|
+
super();
|
|
129
125
|
//
|
|
130
126
|
// Use default objects if custom objects are not specified
|
|
131
127
|
//
|
|
132
128
|
if (!custom) {
|
|
133
|
-
custom = {
|
|
129
|
+
custom = {};
|
|
134
130
|
}
|
|
135
131
|
|
|
136
132
|
if (custom.initiallyHiddenColumns) {
|
|
@@ -172,8 +168,11 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
172
168
|
this._setLayout(new qx.ui.layout.VBox());
|
|
173
169
|
|
|
174
170
|
// Create the child widgets
|
|
175
|
-
this.__scrollerParent = new qx.ui.container.Composite(
|
|
176
|
-
|
|
171
|
+
this.__scrollerParent = new qx.ui.container.Composite(
|
|
172
|
+
new qx.ui.layout.HBox()
|
|
173
|
+
);
|
|
174
|
+
|
|
175
|
+
this._add(this.__scrollerParent, { flex: 1 });
|
|
177
176
|
|
|
178
177
|
// Allocate a default data row renderer
|
|
179
178
|
this.setDataRowRenderer(new qx.ui.table.rowrenderer.Default(this));
|
|
@@ -184,7 +183,7 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
184
183
|
this.setTableModel(tableModel || this.getEmptyTableModel());
|
|
185
184
|
|
|
186
185
|
// create the main meta column
|
|
187
|
-
this.setMetaColumnCounts([
|
|
186
|
+
this.setMetaColumnCounts([-1]);
|
|
188
187
|
|
|
189
188
|
// Make focusable
|
|
190
189
|
this.setTabIndex(1);
|
|
@@ -197,6 +196,7 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
197
196
|
var spacer = new qx.ui.core.Widget().set({
|
|
198
197
|
height: 0
|
|
199
198
|
});
|
|
199
|
+
|
|
200
200
|
this._add(spacer);
|
|
201
201
|
spacer.addListener("resize", this._onResize, this);
|
|
202
202
|
|
|
@@ -205,15 +205,18 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
205
205
|
|
|
206
206
|
// add an event listener which updates the table content on locale change
|
|
207
207
|
if (qx.core.Environment.get("qx.dynlocale")) {
|
|
208
|
-
qx.locale.Manager.getInstance().addListener(
|
|
208
|
+
qx.locale.Manager.getInstance().addListener(
|
|
209
|
+
"changeLocale",
|
|
210
|
+
this._onChangeLocale,
|
|
211
|
+
this
|
|
212
|
+
);
|
|
209
213
|
}
|
|
210
214
|
|
|
211
215
|
this.initStatusBarVisible();
|
|
212
216
|
|
|
213
217
|
// If the table model has an init() method...
|
|
214
218
|
tableModel = this.getTableModel();
|
|
215
|
-
if (tableModel.init && typeof
|
|
216
|
-
{
|
|
219
|
+
if (tableModel.init && typeof tableModel.init == "function") {
|
|
217
220
|
// ... then call it now to allow the table model to affect table
|
|
218
221
|
// properties.
|
|
219
222
|
tableModel.init(this);
|
|
@@ -223,24 +226,20 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
223
226
|
this.getContentElement().setAttribute("role", "grid");
|
|
224
227
|
},
|
|
225
228
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
229
|
/*
|
|
230
230
|
*****************************************************************************
|
|
231
231
|
EVENTS
|
|
232
232
|
*****************************************************************************
|
|
233
233
|
*/
|
|
234
234
|
|
|
235
|
-
events
|
|
236
|
-
{
|
|
235
|
+
events: {
|
|
237
236
|
/**
|
|
238
237
|
* Dispatched before adding the column list to the column visibility menu.
|
|
239
238
|
* The event data is a map with two properties: table and menu. Listeners
|
|
240
239
|
* may add additional items to the menu, which appear at the top of the
|
|
241
240
|
* menu.
|
|
242
241
|
*/
|
|
243
|
-
|
|
242
|
+
columnVisibilityMenuCreateStart: "qx.event.type.Data",
|
|
244
243
|
|
|
245
244
|
/**
|
|
246
245
|
* Dispatched after adding the column list to the column visibility menu.
|
|
@@ -248,34 +247,34 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
248
247
|
* may add additional items to the menu, which appear at the bottom of the
|
|
249
248
|
* menu.
|
|
250
249
|
*/
|
|
251
|
-
|
|
250
|
+
columnVisibilityMenuCreateEnd: "qx.event.type.Data",
|
|
252
251
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
252
|
+
/**
|
|
253
|
+
* Dispatched when the width of the table has changed.
|
|
254
|
+
*/
|
|
255
|
+
tableWidthChanged: "qx.event.type.Event",
|
|
257
256
|
|
|
258
257
|
/**
|
|
259
258
|
* Dispatched when updating scrollbars discovers that a vertical scrollbar
|
|
260
259
|
* is needed when it previously was not, or vice versa. The data is a
|
|
261
260
|
* boolean indicating whether a vertical scrollbar is now being used.
|
|
262
261
|
*/
|
|
263
|
-
|
|
262
|
+
verticalScrollBarChanged: "qx.event.type.Data",
|
|
264
263
|
|
|
265
264
|
/**
|
|
266
265
|
* Dispatched when a data cell has been tapped.
|
|
267
266
|
*/
|
|
268
|
-
|
|
267
|
+
cellTap: "qx.ui.table.pane.CellEvent",
|
|
269
268
|
|
|
270
269
|
/**
|
|
271
270
|
* Dispatched when a data cell has been tapped.
|
|
272
271
|
*/
|
|
273
|
-
|
|
272
|
+
cellDbltap: "qx.ui.table.pane.CellEvent",
|
|
274
273
|
|
|
275
274
|
/**
|
|
276
275
|
* Dispatched when the context menu is needed in a data cell
|
|
277
276
|
*/
|
|
278
|
-
|
|
277
|
+
cellContextmenu: "qx.ui.table.pane.CellEvent",
|
|
279
278
|
|
|
280
279
|
/**
|
|
281
280
|
* Dispatched after a cell editor is flushed.
|
|
@@ -288,50 +287,40 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
288
287
|
* <li>oldValue</li>
|
|
289
288
|
* </ul>
|
|
290
289
|
*/
|
|
291
|
-
|
|
290
|
+
dataEdited: "qx.event.type.Data"
|
|
292
291
|
},
|
|
293
292
|
|
|
294
|
-
|
|
295
|
-
|
|
296
293
|
/*
|
|
297
294
|
*****************************************************************************
|
|
298
295
|
STATICS
|
|
299
296
|
*****************************************************************************
|
|
300
297
|
*/
|
|
301
298
|
|
|
302
|
-
statics
|
|
303
|
-
{
|
|
299
|
+
statics: {
|
|
304
300
|
/** Events that must be redirected to the scrollers. */
|
|
305
|
-
__redirectEvents
|
|
301
|
+
__redirectEvents: { cellTap: 1, cellDbltap: 1, cellContextmenu: 1 }
|
|
306
302
|
},
|
|
307
303
|
|
|
308
|
-
|
|
309
304
|
/*
|
|
310
305
|
*****************************************************************************
|
|
311
306
|
PROPERTIES
|
|
312
307
|
*****************************************************************************
|
|
313
308
|
*/
|
|
314
309
|
|
|
315
|
-
properties
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
refine : true,
|
|
320
|
-
init : "table"
|
|
310
|
+
properties: {
|
|
311
|
+
appearance: {
|
|
312
|
+
refine: true,
|
|
313
|
+
init: "table"
|
|
321
314
|
},
|
|
322
315
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
refine : true,
|
|
327
|
-
init : true
|
|
316
|
+
focusable: {
|
|
317
|
+
refine: true,
|
|
318
|
+
init: true
|
|
328
319
|
},
|
|
329
320
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
refine : true,
|
|
334
|
-
init : 50
|
|
321
|
+
minWidth: {
|
|
322
|
+
refine: true,
|
|
323
|
+
init: 50
|
|
335
324
|
},
|
|
336
325
|
|
|
337
326
|
/**
|
|
@@ -346,9 +335,8 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
346
335
|
* non-visible columns at constructor time can therefore avoid the initial
|
|
347
336
|
* creation of all of those superfluous widgets.
|
|
348
337
|
*/
|
|
349
|
-
initiallyHiddenColumns
|
|
350
|
-
|
|
351
|
-
init : null
|
|
338
|
+
initiallyHiddenColumns: {
|
|
339
|
+
init: null
|
|
352
340
|
},
|
|
353
341
|
|
|
354
342
|
/**
|
|
@@ -360,148 +348,123 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
360
348
|
*
|
|
361
349
|
* Note: This has no effect on Table!
|
|
362
350
|
*/
|
|
363
|
-
selectable
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
init : false
|
|
351
|
+
selectable: {
|
|
352
|
+
refine: true,
|
|
353
|
+
init: false
|
|
367
354
|
},
|
|
368
355
|
|
|
369
|
-
|
|
370
356
|
/** The selection model. */
|
|
371
|
-
selectionModel
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
event : "changeSelectionModel"
|
|
357
|
+
selectionModel: {
|
|
358
|
+
check: "qx.ui.table.selection.Model",
|
|
359
|
+
apply: "_applySelectionModel",
|
|
360
|
+
event: "changeSelectionModel"
|
|
376
361
|
},
|
|
377
362
|
|
|
378
|
-
|
|
379
363
|
/** The table model. */
|
|
380
|
-
tableModel
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
event : "changeTableModel"
|
|
364
|
+
tableModel: {
|
|
365
|
+
check: "qx.ui.table.ITableModel",
|
|
366
|
+
apply: "_applyTableModel",
|
|
367
|
+
event: "changeTableModel"
|
|
385
368
|
},
|
|
386
369
|
|
|
387
|
-
|
|
388
370
|
/** The height of the table rows. */
|
|
389
|
-
rowHeight
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
themeable : true
|
|
371
|
+
rowHeight: {
|
|
372
|
+
check: "Number",
|
|
373
|
+
init: 20,
|
|
374
|
+
apply: "_applyRowHeight",
|
|
375
|
+
event: "changeRowHeight",
|
|
376
|
+
themeable: true
|
|
396
377
|
},
|
|
397
378
|
|
|
398
|
-
|
|
399
379
|
/**
|
|
400
380
|
* Force line height to match row height. May be disabled if cell
|
|
401
381
|
* renderers being used wish to render multiple lines of data within a
|
|
402
382
|
* cell. (With the default setting, all but the first of multiple lines
|
|
403
383
|
* of data will not be visible.)
|
|
404
384
|
*/
|
|
405
|
-
forceLineHeight
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
init : true
|
|
385
|
+
forceLineHeight: {
|
|
386
|
+
check: "Boolean",
|
|
387
|
+
init: true
|
|
409
388
|
},
|
|
410
389
|
|
|
411
|
-
|
|
412
390
|
/**
|
|
413
391
|
* Whether the header cells are visible. When setting this to false,
|
|
414
392
|
* you'll likely also want to set the {#columnVisibilityButtonVisible}
|
|
415
393
|
* property to false as well, to entirely remove the header row.
|
|
416
394
|
*/
|
|
417
|
-
headerCellsVisible
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
themeable : true
|
|
395
|
+
headerCellsVisible: {
|
|
396
|
+
check: "Boolean",
|
|
397
|
+
init: true,
|
|
398
|
+
apply: "_applyHeaderCellsVisible",
|
|
399
|
+
themeable: true
|
|
423
400
|
},
|
|
424
401
|
|
|
425
|
-
|
|
426
402
|
/** The height of the header cells. */
|
|
427
|
-
headerCellHeight
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
themeable : true
|
|
403
|
+
headerCellHeight: {
|
|
404
|
+
check: "Integer",
|
|
405
|
+
init: 16,
|
|
406
|
+
apply: "_applyHeaderCellHeight",
|
|
407
|
+
event: "changeHeaderCellHeight",
|
|
408
|
+
nullable: true,
|
|
409
|
+
themeable: true
|
|
435
410
|
},
|
|
436
411
|
|
|
437
|
-
|
|
438
412
|
/** Whether to show the status bar */
|
|
439
|
-
statusBarVisible
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
apply : "_applyStatusBarVisible"
|
|
413
|
+
statusBarVisible: {
|
|
414
|
+
check: "Boolean",
|
|
415
|
+
init: true,
|
|
416
|
+
apply: "_applyStatusBarVisible"
|
|
444
417
|
},
|
|
445
418
|
|
|
446
|
-
|
|
447
419
|
/** The Statusbartext, set it, if you want some more Information */
|
|
448
|
-
additionalStatusBarText
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
apply : "_applyAdditionalStatusBarText"
|
|
420
|
+
additionalStatusBarText: {
|
|
421
|
+
nullable: true,
|
|
422
|
+
init: null,
|
|
423
|
+
apply: "_applyAdditionalStatusBarText"
|
|
453
424
|
},
|
|
454
425
|
|
|
455
|
-
|
|
456
426
|
/** Whether to show the column visibility button */
|
|
457
|
-
columnVisibilityButtonVisible
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
themeable : true
|
|
427
|
+
columnVisibilityButtonVisible: {
|
|
428
|
+
check: "Boolean",
|
|
429
|
+
init: true,
|
|
430
|
+
apply: "_applyColumnVisibilityButtonVisible",
|
|
431
|
+
themeable: true
|
|
463
432
|
},
|
|
464
433
|
|
|
465
|
-
|
|
466
434
|
/**
|
|
467
435
|
* @type {Integer[]} The number of columns per meta column. If the last array entry is -1,
|
|
468
436
|
* this meta column will get the remaining columns.
|
|
469
437
|
*/
|
|
470
|
-
metaColumnCounts
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
apply : "_applyMetaColumnCounts"
|
|
438
|
+
metaColumnCounts: {
|
|
439
|
+
check: "Object",
|
|
440
|
+
apply: "_applyMetaColumnCounts"
|
|
474
441
|
},
|
|
475
442
|
|
|
476
|
-
|
|
477
443
|
/**
|
|
478
444
|
* Whether the focus should moved when the pointer is moved over a cell. If false
|
|
479
445
|
* the focus is only moved on pointer taps.
|
|
480
446
|
*/
|
|
481
|
-
focusCellOnPointerMove
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
apply : "_applyFocusCellOnPointerMove"
|
|
447
|
+
focusCellOnPointerMove: {
|
|
448
|
+
check: "Boolean",
|
|
449
|
+
init: false,
|
|
450
|
+
apply: "_applyFocusCellOnPointerMove"
|
|
486
451
|
},
|
|
487
452
|
|
|
488
453
|
/**
|
|
489
454
|
* Whether row focus change by keyboard also modifies selection
|
|
490
455
|
*/
|
|
491
|
-
rowFocusChangeModifiesSelection
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
init : true
|
|
456
|
+
rowFocusChangeModifiesSelection: {
|
|
457
|
+
check: "Boolean",
|
|
458
|
+
init: true
|
|
495
459
|
},
|
|
496
460
|
|
|
497
461
|
/**
|
|
498
462
|
* Whether the cell focus indicator should be shown
|
|
499
463
|
*/
|
|
500
|
-
showCellFocusIndicator
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
apply : "_applyShowCellFocusIndicator"
|
|
464
|
+
showCellFocusIndicator: {
|
|
465
|
+
check: "Boolean",
|
|
466
|
+
init: true,
|
|
467
|
+
apply: "_applyShowCellFocusIndicator"
|
|
505
468
|
},
|
|
506
469
|
|
|
507
470
|
/**
|
|
@@ -513,37 +476,32 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
513
476
|
* in the event data will be null, so event handlers can check (row ===
|
|
514
477
|
* null) to handle this case.
|
|
515
478
|
*/
|
|
516
|
-
contextMenuFromDataCellsOnly
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
apply : "_applyContextMenuFromDataCellsOnly"
|
|
479
|
+
contextMenuFromDataCellsOnly: {
|
|
480
|
+
check: "Boolean",
|
|
481
|
+
init: true,
|
|
482
|
+
apply: "_applyContextMenuFromDataCellsOnly"
|
|
521
483
|
},
|
|
522
484
|
|
|
523
485
|
/**
|
|
524
486
|
* Whether the table should keep the first visible row complete. If set to false,
|
|
525
487
|
* the first row may be rendered partial, depending on the vertical scroll value.
|
|
526
488
|
*/
|
|
527
|
-
keepFirstVisibleRowComplete
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
apply : "_applyKeepFirstVisibleRowComplete"
|
|
489
|
+
keepFirstVisibleRowComplete: {
|
|
490
|
+
check: "Boolean",
|
|
491
|
+
init: true,
|
|
492
|
+
apply: "_applyKeepFirstVisibleRowComplete"
|
|
532
493
|
},
|
|
533
494
|
|
|
534
|
-
|
|
535
495
|
/**
|
|
536
496
|
* Whether the table cells should be updated when only the selection or the
|
|
537
497
|
* focus changed. This slows down the table update but allows to react on a
|
|
538
498
|
* changed selection or a changed focus in a cell renderer.
|
|
539
499
|
*/
|
|
540
|
-
alwaysUpdateCells
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
init : false
|
|
500
|
+
alwaysUpdateCells: {
|
|
501
|
+
check: "Boolean",
|
|
502
|
+
init: false
|
|
544
503
|
},
|
|
545
504
|
|
|
546
|
-
|
|
547
505
|
/**
|
|
548
506
|
* Whether to reset the selection when a header cell is tapped. Since
|
|
549
507
|
* most data models do not have provisions to retain a selection after
|
|
@@ -551,23 +509,20 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
551
509
|
* models, however, do have the capability to retain the selection, so
|
|
552
510
|
* when using those, this property should be set to false.
|
|
553
511
|
*/
|
|
554
|
-
resetSelectionOnHeaderTap
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
apply : "_applyResetSelectionOnHeaderTap"
|
|
512
|
+
resetSelectionOnHeaderTap: {
|
|
513
|
+
check: "Boolean",
|
|
514
|
+
init: true,
|
|
515
|
+
apply: "_applyResetSelectionOnHeaderTap"
|
|
559
516
|
},
|
|
560
517
|
|
|
561
|
-
|
|
562
518
|
/**
|
|
563
519
|
* Whether to reset the selection when the unpopulated table area is tapped.
|
|
564
520
|
* The default is false which keeps the behaviour as before
|
|
565
521
|
*/
|
|
566
|
-
resetSelectionOnTapBelowRows
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
apply : "_applyResetSelectionOnTapBelowRows"
|
|
522
|
+
resetSelectionOnTapBelowRows: {
|
|
523
|
+
check: "Boolean",
|
|
524
|
+
init: false,
|
|
525
|
+
apply: "_applyResetSelectionOnTapBelowRows"
|
|
571
526
|
},
|
|
572
527
|
|
|
573
528
|
/**
|
|
@@ -580,17 +535,14 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
580
535
|
apply: "_applyMinCellEditHeight"
|
|
581
536
|
},
|
|
582
537
|
|
|
583
|
-
|
|
584
538
|
/** The renderer to use for styling the rows. */
|
|
585
|
-
dataRowRenderer
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
event : "changeDataRowRenderer"
|
|
539
|
+
dataRowRenderer: {
|
|
540
|
+
check: "qx.ui.table.IRowRenderer",
|
|
541
|
+
init: null,
|
|
542
|
+
nullable: true,
|
|
543
|
+
event: "changeDataRowRenderer"
|
|
591
544
|
},
|
|
592
545
|
|
|
593
|
-
|
|
594
546
|
/**
|
|
595
547
|
* A function to call when before modal cell editor is opened.
|
|
596
548
|
*
|
|
@@ -605,212 +557,179 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
605
557
|
* col, row, xPos, value
|
|
606
558
|
*
|
|
607
559
|
*/
|
|
608
|
-
modalCellEditorPreOpenFunction
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
nullable : true
|
|
560
|
+
modalCellEditorPreOpenFunction: {
|
|
561
|
+
check: "Function",
|
|
562
|
+
init: null,
|
|
563
|
+
nullable: true
|
|
613
564
|
},
|
|
614
565
|
|
|
615
|
-
|
|
616
566
|
/**
|
|
617
567
|
* By default, all Scrollers' (meta-columns') horizontal scrollbars are
|
|
618
568
|
* shown if any one is required. Allow not showing any that are not
|
|
619
569
|
* required.
|
|
620
570
|
*/
|
|
621
|
-
excludeScrollerScrollbarsIfNotNeeded
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
nullable : false
|
|
571
|
+
excludeScrollerScrollbarsIfNotNeeded: {
|
|
572
|
+
check: "Boolean",
|
|
573
|
+
init: false,
|
|
574
|
+
nullable: false
|
|
626
575
|
},
|
|
627
576
|
|
|
628
|
-
|
|
629
577
|
/**
|
|
630
578
|
* A function to instantiate a new column menu button.
|
|
631
579
|
*/
|
|
632
|
-
newColumnMenu
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
init : function() {
|
|
580
|
+
newColumnMenu: {
|
|
581
|
+
check: "Function",
|
|
582
|
+
init() {
|
|
636
583
|
return new qx.ui.table.columnmenu.Button();
|
|
637
584
|
}
|
|
638
585
|
},
|
|
639
586
|
|
|
640
|
-
|
|
641
587
|
/**
|
|
642
588
|
* A function to instantiate a selection manager. this allows subclasses of
|
|
643
589
|
* Table to subclass this internal class. To take effect, this property must
|
|
644
590
|
* be set before calling the Table constructor.
|
|
645
591
|
*/
|
|
646
|
-
newSelectionManager
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
init : function(obj) {
|
|
592
|
+
newSelectionManager: {
|
|
593
|
+
check: "Function",
|
|
594
|
+
init(obj) {
|
|
650
595
|
return new qx.ui.table.selection.Manager(obj);
|
|
651
596
|
}
|
|
652
597
|
},
|
|
653
598
|
|
|
654
|
-
|
|
655
599
|
/**
|
|
656
600
|
* A function to instantiate a selection model. this allows subclasses of
|
|
657
601
|
* Table to subclass this internal class. To take effect, this property must
|
|
658
602
|
* be set before calling the Table constructor.
|
|
659
603
|
*/
|
|
660
|
-
newSelectionModel
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
init : function(obj) {
|
|
604
|
+
newSelectionModel: {
|
|
605
|
+
check: "Function",
|
|
606
|
+
init(obj) {
|
|
664
607
|
return new qx.ui.table.selection.Model(obj);
|
|
665
608
|
}
|
|
666
609
|
},
|
|
667
610
|
|
|
668
|
-
|
|
669
611
|
/**
|
|
670
612
|
* A function to instantiate a table column model. This allows subclasses
|
|
671
613
|
* of Table to subclass this internal class. To take effect, this
|
|
672
614
|
* property must be set before calling the Table constructor.
|
|
673
615
|
*/
|
|
674
|
-
newTableColumnModel
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
init : function(table) {
|
|
616
|
+
newTableColumnModel: {
|
|
617
|
+
check: "Function",
|
|
618
|
+
init(table) {
|
|
678
619
|
return new qx.ui.table.columnmodel.Basic(table);
|
|
679
620
|
}
|
|
680
621
|
},
|
|
681
622
|
|
|
682
|
-
|
|
683
623
|
/**
|
|
684
624
|
* A function to instantiate a table pane. this allows subclasses of
|
|
685
625
|
* Table to subclass this internal class. To take effect, this property
|
|
686
626
|
* must be set before calling the Table constructor.
|
|
687
627
|
*/
|
|
688
|
-
newTablePane
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
init : function(obj) {
|
|
628
|
+
newTablePane: {
|
|
629
|
+
check: "Function",
|
|
630
|
+
init(obj) {
|
|
692
631
|
return new qx.ui.table.pane.Pane(obj);
|
|
693
632
|
}
|
|
694
633
|
},
|
|
695
634
|
|
|
696
|
-
|
|
697
635
|
/**
|
|
698
636
|
* A function to instantiate a table pane. this allows subclasses of
|
|
699
637
|
* Table to subclass this internal class. To take effect, this property
|
|
700
638
|
* must be set before calling the Table constructor.
|
|
701
639
|
*/
|
|
702
|
-
newTablePaneHeader
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
init : function(obj) {
|
|
640
|
+
newTablePaneHeader: {
|
|
641
|
+
check: "Function",
|
|
642
|
+
init(obj) {
|
|
706
643
|
return new qx.ui.table.pane.Header(obj);
|
|
707
644
|
}
|
|
708
645
|
},
|
|
709
646
|
|
|
710
|
-
|
|
711
647
|
/**
|
|
712
648
|
* A function to instantiate a table pane scroller. this allows
|
|
713
649
|
* subclasses of Table to subclass this internal class. To take effect,
|
|
714
650
|
* this property must be set before calling the Table constructor.
|
|
715
651
|
*/
|
|
716
|
-
newTablePaneScroller
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
init : function(obj) {
|
|
652
|
+
newTablePaneScroller: {
|
|
653
|
+
check: "Function",
|
|
654
|
+
init(obj) {
|
|
720
655
|
return new qx.ui.table.pane.Scroller(obj);
|
|
721
656
|
}
|
|
722
657
|
},
|
|
723
658
|
|
|
724
|
-
|
|
725
659
|
/**
|
|
726
660
|
* A function to instantiate a table pane model. this allows subclasses
|
|
727
661
|
* of Table to subclass this internal class. To take effect, this
|
|
728
662
|
* property must be set before calling the Table constructor.
|
|
729
663
|
*/
|
|
730
|
-
newTablePaneModel
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
init : function(columnModel) {
|
|
664
|
+
newTablePaneModel: {
|
|
665
|
+
check: "Function",
|
|
666
|
+
init(columnModel) {
|
|
734
667
|
return new qx.ui.table.pane.Model(columnModel);
|
|
735
668
|
}
|
|
736
669
|
}
|
|
737
670
|
},
|
|
738
671
|
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
672
|
/*
|
|
743
673
|
*****************************************************************************
|
|
744
674
|
MEMBERS
|
|
745
675
|
*****************************************************************************
|
|
746
676
|
*/
|
|
747
677
|
|
|
748
|
-
members
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
__focusedRow : null,
|
|
752
|
-
|
|
753
|
-
__scrollerParent : null,
|
|
678
|
+
members: {
|
|
679
|
+
__focusedCol: null,
|
|
680
|
+
__focusedRow: null,
|
|
754
681
|
|
|
755
|
-
|
|
682
|
+
__scrollerParent: null,
|
|
756
683
|
|
|
757
|
-
|
|
758
|
-
__lastRowCount : null,
|
|
759
|
-
__lastColCount : null,
|
|
760
|
-
__internalChange : null,
|
|
684
|
+
__selectionManager: null,
|
|
761
685
|
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
686
|
+
__additionalStatusBarText: null,
|
|
687
|
+
__lastRowCount: null,
|
|
688
|
+
__lastColCount: null,
|
|
689
|
+
__internalChange: null,
|
|
765
690
|
|
|
766
|
-
|
|
691
|
+
__columnMenuButtons: null,
|
|
692
|
+
__columnModel: null,
|
|
693
|
+
__emptyTableModel: null,
|
|
767
694
|
|
|
768
|
-
|
|
695
|
+
__hadVerticalScrollBar: null,
|
|
769
696
|
|
|
697
|
+
__timer: null,
|
|
770
698
|
|
|
771
699
|
// overridden
|
|
772
|
-
_createChildControlImpl
|
|
773
|
-
{
|
|
700
|
+
_createChildControlImpl(id, hash) {
|
|
774
701
|
var control;
|
|
775
702
|
|
|
776
|
-
switch(id)
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
control.set(
|
|
781
|
-
{
|
|
703
|
+
switch (id) {
|
|
704
|
+
case "statusbar":
|
|
705
|
+
control = new qx.ui.basic.Label();
|
|
706
|
+
control.set({
|
|
782
707
|
allowGrowX: true
|
|
783
708
|
});
|
|
784
|
-
this._add(control);
|
|
785
|
-
break;
|
|
786
709
|
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
control.set({
|
|
790
|
-
focusable : false
|
|
791
|
-
});
|
|
710
|
+
this._add(control);
|
|
711
|
+
break;
|
|
792
712
|
|
|
793
|
-
|
|
794
|
-
|
|
713
|
+
case "column-button":
|
|
714
|
+
control = this.getNewColumnMenu()();
|
|
715
|
+
control.set({
|
|
716
|
+
focusable: false
|
|
717
|
+
});
|
|
795
718
|
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
this
|
|
801
|
-
);
|
|
719
|
+
// Create the initial menu too
|
|
720
|
+
var menu = control.factory("menu", { table: this });
|
|
721
|
+
|
|
722
|
+
// Add a listener to initialize the column menu when it becomes visible
|
|
723
|
+
menu.addListener("appear", this._initColumnMenu, this);
|
|
802
724
|
|
|
803
|
-
|
|
725
|
+
break;
|
|
804
726
|
}
|
|
805
727
|
|
|
806
|
-
return control ||
|
|
728
|
+
return control || super._createChildControlImpl(id);
|
|
807
729
|
},
|
|
808
730
|
|
|
809
|
-
|
|
810
|
-
|
|
811
731
|
// property modifier
|
|
812
|
-
_applySelectionModel
|
|
813
|
-
{
|
|
732
|
+
_applySelectionModel(value, old) {
|
|
814
733
|
this.__selectionManager.setSelectionModel(value);
|
|
815
734
|
|
|
816
735
|
if (old != null) {
|
|
@@ -820,24 +739,20 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
820
739
|
value.addListener("changeSelection", this._onSelectionChanged, this);
|
|
821
740
|
},
|
|
822
741
|
|
|
823
|
-
|
|
824
742
|
// property modifier
|
|
825
|
-
_applyRowHeight
|
|
826
|
-
{
|
|
743
|
+
_applyRowHeight(value, old) {
|
|
827
744
|
var scrollerArr = this._getPaneScrollerArr();
|
|
828
745
|
|
|
829
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
746
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
830
747
|
scrollerArr[i].updateVerScrollBarMaximum();
|
|
831
748
|
}
|
|
832
749
|
},
|
|
833
750
|
|
|
834
|
-
|
|
835
751
|
// property modifier
|
|
836
|
-
_applyHeaderCellsVisible
|
|
837
|
-
{
|
|
752
|
+
_applyHeaderCellsVisible(value, old) {
|
|
838
753
|
var scrollerArr = this._getPaneScrollerArr();
|
|
839
754
|
|
|
840
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
755
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
841
756
|
if (value) {
|
|
842
757
|
scrollerArr[i]._showChildControl("header");
|
|
843
758
|
} else {
|
|
@@ -845,43 +760,37 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
845
760
|
}
|
|
846
761
|
}
|
|
847
762
|
// also hide the column visibility button
|
|
848
|
-
if(this.getColumnVisibilityButtonVisible()) {
|
|
763
|
+
if (this.getColumnVisibilityButtonVisible()) {
|
|
849
764
|
this._applyColumnVisibilityButtonVisible(value);
|
|
850
765
|
}
|
|
851
766
|
},
|
|
852
767
|
|
|
853
|
-
|
|
854
768
|
// property modifier
|
|
855
|
-
_applyHeaderCellHeight
|
|
856
|
-
{
|
|
769
|
+
_applyHeaderCellHeight(value, old) {
|
|
857
770
|
var scrollerArr = this._getPaneScrollerArr();
|
|
858
771
|
|
|
859
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
772
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
860
773
|
scrollerArr[i].getHeader().setHeight(value);
|
|
861
774
|
}
|
|
862
775
|
},
|
|
863
776
|
|
|
864
|
-
|
|
865
777
|
// property modifier
|
|
866
|
-
_applyMinCellEditHeight
|
|
778
|
+
_applyMinCellEditHeight(value) {
|
|
867
779
|
var scrollerArr = this._getPaneScrollerArr();
|
|
868
780
|
|
|
869
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
781
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
870
782
|
scrollerArr[i].setMinCellEditHeight(value);
|
|
871
783
|
}
|
|
872
784
|
},
|
|
873
785
|
|
|
874
|
-
|
|
875
786
|
/**
|
|
876
787
|
* Get an empty table model instance to use for this table. Use this table
|
|
877
788
|
* to configure the table with no table model.
|
|
878
789
|
*
|
|
879
790
|
* @return {qx.ui.table.ITableModel} The empty table model
|
|
880
791
|
*/
|
|
881
|
-
getEmptyTableModel
|
|
882
|
-
|
|
883
|
-
if (!this.__emptyTableModel)
|
|
884
|
-
{
|
|
792
|
+
getEmptyTableModel() {
|
|
793
|
+
if (!this.__emptyTableModel) {
|
|
885
794
|
this.__emptyTableModel = new qx.ui.table.model.Simple();
|
|
886
795
|
this.__emptyTableModel.setColumns([]);
|
|
887
796
|
this.__emptyTableModel.setData([]);
|
|
@@ -889,67 +798,60 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
889
798
|
return this.__emptyTableModel;
|
|
890
799
|
},
|
|
891
800
|
|
|
892
|
-
|
|
893
801
|
// property modifier
|
|
894
|
-
_applyTableModel
|
|
895
|
-
{
|
|
802
|
+
_applyTableModel(value, old) {
|
|
896
803
|
this.getTableColumnModel().init(value.getColumnCount(), this);
|
|
897
804
|
|
|
898
|
-
if (old != null)
|
|
899
|
-
{
|
|
805
|
+
if (old != null) {
|
|
900
806
|
old.removeListener(
|
|
901
807
|
"metaDataChanged",
|
|
902
|
-
this._onTableModelMetaDataChanged,
|
|
808
|
+
this._onTableModelMetaDataChanged,
|
|
809
|
+
this
|
|
903
810
|
);
|
|
904
811
|
|
|
905
|
-
old.removeListener(
|
|
906
|
-
"dataChanged",
|
|
907
|
-
this._onTableModelDataChanged,
|
|
908
|
-
this);
|
|
812
|
+
old.removeListener("dataChanged", this._onTableModelDataChanged, this);
|
|
909
813
|
}
|
|
910
814
|
|
|
911
815
|
value.addListener(
|
|
912
816
|
"metaDataChanged",
|
|
913
|
-
this._onTableModelMetaDataChanged,
|
|
817
|
+
this._onTableModelMetaDataChanged,
|
|
818
|
+
this
|
|
914
819
|
);
|
|
915
820
|
|
|
916
|
-
value.addListener(
|
|
917
|
-
"dataChanged",
|
|
918
|
-
this._onTableModelDataChanged,
|
|
919
|
-
this);
|
|
821
|
+
value.addListener("dataChanged", this._onTableModelDataChanged, this);
|
|
920
822
|
|
|
921
823
|
// Update the status bar
|
|
922
824
|
this._updateStatusBar();
|
|
923
825
|
|
|
924
|
-
this._updateTableData(
|
|
925
|
-
|
|
926
|
-
0, value.getColumnCount()
|
|
927
|
-
);
|
|
826
|
+
this._updateTableData(0, value.getRowCount(), 0, value.getColumnCount());
|
|
827
|
+
|
|
928
828
|
this._onTableModelMetaDataChanged();
|
|
929
829
|
|
|
930
830
|
// If the table model has an init() method, call it. We don't, however,
|
|
931
831
|
// call it if this is the initial setting of the table model, as the
|
|
932
832
|
// scrollers are not yet initialized. In that case, the init method is
|
|
933
833
|
// called explicitly by the Table constructor.
|
|
934
|
-
if (old && value.init && typeof
|
|
935
|
-
{
|
|
834
|
+
if (old && value.init && typeof value.init == "function") {
|
|
936
835
|
value.init(this);
|
|
937
836
|
}
|
|
938
837
|
},
|
|
939
838
|
|
|
940
|
-
|
|
941
839
|
/**
|
|
942
840
|
* Get the The table column model.
|
|
943
841
|
*
|
|
944
842
|
* @return {qx.ui.table.columnmodel.Basic} The table's column model
|
|
945
843
|
*/
|
|
946
|
-
getTableColumnModel
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
844
|
+
getTableColumnModel() {
|
|
845
|
+
if (!this.__columnModel) {
|
|
846
|
+
var columnModel = (this.__columnModel =
|
|
847
|
+
this.getNewTableColumnModel()(this));
|
|
848
|
+
|
|
849
|
+
columnModel.addListener(
|
|
850
|
+
"visibilityChanged",
|
|
851
|
+
this._onColVisibilityChanged,
|
|
852
|
+
this
|
|
853
|
+
);
|
|
951
854
|
|
|
952
|
-
columnModel.addListener("visibilityChanged", this._onColVisibilityChanged, this);
|
|
953
855
|
columnModel.addListener("widthChanged", this._onColWidthChanged, this);
|
|
954
856
|
columnModel.addListener("orderChanged", this._onColOrderChanged, this);
|
|
955
857
|
|
|
@@ -960,8 +862,7 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
960
862
|
// Reset the table column model in each table pane model
|
|
961
863
|
var scrollerArr = this._getPaneScrollerArr();
|
|
962
864
|
|
|
963
|
-
for (var i=0; i<scrollerArr.length; i++)
|
|
964
|
-
{
|
|
865
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
965
866
|
var paneScroller = scrollerArr[i];
|
|
966
867
|
var paneModel = paneScroller.getTablePaneModel();
|
|
967
868
|
paneModel.setTableColumnModel(columnModel);
|
|
@@ -970,10 +871,8 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
970
871
|
return this.__columnModel;
|
|
971
872
|
},
|
|
972
873
|
|
|
973
|
-
|
|
974
874
|
// property modifier
|
|
975
|
-
_applyStatusBarVisible
|
|
976
|
-
{
|
|
875
|
+
_applyStatusBarVisible(value, old) {
|
|
977
876
|
if (value) {
|
|
978
877
|
this._showChildControl("statusbar");
|
|
979
878
|
} else {
|
|
@@ -985,18 +884,14 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
985
884
|
}
|
|
986
885
|
},
|
|
987
886
|
|
|
988
|
-
|
|
989
887
|
// property modifier
|
|
990
|
-
_applyAdditionalStatusBarText
|
|
991
|
-
{
|
|
888
|
+
_applyAdditionalStatusBarText(value, old) {
|
|
992
889
|
this.__additionalStatusBarText = value;
|
|
993
890
|
this._updateStatusBar();
|
|
994
891
|
},
|
|
995
892
|
|
|
996
|
-
|
|
997
893
|
// property modifier
|
|
998
|
-
_applyColumnVisibilityButtonVisible
|
|
999
|
-
{
|
|
894
|
+
_applyColumnVisibilityButtonVisible(value, old) {
|
|
1000
895
|
if (value) {
|
|
1001
896
|
this._showChildControl("column-button");
|
|
1002
897
|
} else {
|
|
@@ -1004,28 +899,29 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1004
899
|
}
|
|
1005
900
|
},
|
|
1006
901
|
|
|
1007
|
-
|
|
1008
902
|
// property modifier
|
|
1009
|
-
_applyMetaColumnCounts
|
|
1010
|
-
{
|
|
903
|
+
_applyMetaColumnCounts(value, old) {
|
|
1011
904
|
var metaColumnCounts = value;
|
|
1012
905
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1013
|
-
var handlers = {
|
|
906
|
+
var handlers = {};
|
|
1014
907
|
|
|
1015
|
-
if (value > old)
|
|
1016
|
-
{
|
|
908
|
+
if (value > old) {
|
|
1017
909
|
// Save event listeners on the redirected events so we can re-apply
|
|
1018
910
|
// them to new scrollers.
|
|
1019
911
|
var manager = qx.event.Registration.getManager(scrollerArr[0]);
|
|
1020
|
-
for (var evName in qx.ui.table.Table.__redirectEvents)
|
|
1021
|
-
|
|
1022
|
-
handlers[evName] =
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
912
|
+
for (var evName in qx.ui.table.Table.__redirectEvents) {
|
|
913
|
+
handlers[evName] = {};
|
|
914
|
+
handlers[evName].capture = manager.getListeners(
|
|
915
|
+
scrollerArr[0],
|
|
916
|
+
evName,
|
|
917
|
+
true
|
|
918
|
+
);
|
|
919
|
+
|
|
920
|
+
handlers[evName].bubble = manager.getListeners(
|
|
921
|
+
scrollerArr[0],
|
|
922
|
+
evName,
|
|
923
|
+
false
|
|
924
|
+
);
|
|
1029
925
|
}
|
|
1030
926
|
}
|
|
1031
927
|
|
|
@@ -1035,8 +931,7 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1035
931
|
// Update the old panes
|
|
1036
932
|
var leftX = 0;
|
|
1037
933
|
|
|
1038
|
-
for (var i=0; i<scrollerArr.length; i++)
|
|
1039
|
-
{
|
|
934
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1040
935
|
var paneScroller = scrollerArr[i];
|
|
1041
936
|
var paneModel = paneScroller.getTablePaneModel();
|
|
1042
937
|
paneModel.setFirstColumnX(leftX);
|
|
@@ -1045,12 +940,10 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1045
940
|
}
|
|
1046
941
|
|
|
1047
942
|
// Add the new panes
|
|
1048
|
-
if (metaColumnCounts.length > scrollerArr.length)
|
|
1049
|
-
{
|
|
943
|
+
if (metaColumnCounts.length > scrollerArr.length) {
|
|
1050
944
|
var columnModel = this.getTableColumnModel();
|
|
1051
945
|
|
|
1052
|
-
for (var i=scrollerArr.length; i<metaColumnCounts.length; i++)
|
|
1053
|
-
{
|
|
946
|
+
for (var i = scrollerArr.length; i < metaColumnCounts.length; i++) {
|
|
1054
947
|
var paneModel = this.getNewTablePaneModel()(columnModel);
|
|
1055
948
|
paneModel.setFirstColumnX(leftX);
|
|
1056
949
|
paneModel.setMaxColumnCount(metaColumnCounts[i]);
|
|
@@ -1063,21 +956,19 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1063
956
|
paneScroller.addListener("changeScrollY", this._onScrollY, this);
|
|
1064
957
|
|
|
1065
958
|
// Apply redirected events to this new scroller
|
|
1066
|
-
for (evName in qx.ui.table.Table.__redirectEvents)
|
|
1067
|
-
{
|
|
959
|
+
for (evName in qx.ui.table.Table.__redirectEvents) {
|
|
1068
960
|
// On first setting of meta columns (constructing phase), there
|
|
1069
961
|
// are no handlers to deal with yet.
|
|
1070
|
-
if (!
|
|
1071
|
-
{
|
|
962
|
+
if (!handlers[evName]) {
|
|
1072
963
|
break;
|
|
1073
964
|
}
|
|
1074
965
|
|
|
1075
|
-
if (
|
|
1076
|
-
|
|
1077
|
-
|
|
966
|
+
if (
|
|
967
|
+
handlers[evName].capture &&
|
|
968
|
+
handlers[evName].capture.length > 0
|
|
969
|
+
) {
|
|
1078
970
|
var capture = handlers[evName].capture;
|
|
1079
|
-
for (var j = 0; j < capture.length; j++)
|
|
1080
|
-
{
|
|
971
|
+
for (var j = 0; j < capture.length; j++) {
|
|
1081
972
|
// Determine what context to use. If the context does not
|
|
1082
973
|
// exist, we assume that the context is this table. If it
|
|
1083
974
|
// does exist and it equals the first pane scroller (from
|
|
@@ -1085,12 +976,9 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1085
976
|
// to be this new pane scroller. Otherwise leave the context
|
|
1086
977
|
// as it was set.
|
|
1087
978
|
var context = capture[j].context;
|
|
1088
|
-
if (!
|
|
1089
|
-
{
|
|
979
|
+
if (!context) {
|
|
1090
980
|
context = this;
|
|
1091
|
-
}
|
|
1092
|
-
else if (context == scrollerArr[0])
|
|
1093
|
-
{
|
|
981
|
+
} else if (context == scrollerArr[0]) {
|
|
1094
982
|
context = paneScroller;
|
|
1095
983
|
}
|
|
1096
984
|
|
|
@@ -1098,16 +986,14 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1098
986
|
evName,
|
|
1099
987
|
capture[j].handler,
|
|
1100
988
|
context,
|
|
1101
|
-
true
|
|
989
|
+
true
|
|
990
|
+
);
|
|
1102
991
|
}
|
|
1103
992
|
}
|
|
1104
993
|
|
|
1105
|
-
if (handlers[evName].bubble &&
|
|
1106
|
-
handlers[evName].bubble.length > 0)
|
|
1107
|
-
{
|
|
994
|
+
if (handlers[evName].bubble && handlers[evName].bubble.length > 0) {
|
|
1108
995
|
var bubble = handlers[evName].bubble;
|
|
1109
|
-
for (var j = 0; j < bubble.length; j++)
|
|
1110
|
-
{
|
|
996
|
+
for (var j = 0; j < bubble.length; j++) {
|
|
1111
997
|
// Determine what context to use. If the context does not
|
|
1112
998
|
// exist, we assume that the context is this table. If it
|
|
1113
999
|
// does exist and it equals the first pane scroller (from
|
|
@@ -1115,12 +1001,9 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1115
1001
|
// to be this new pane scroller. Otherwise leave the context
|
|
1116
1002
|
// as it was set.
|
|
1117
1003
|
var context = bubble[j].context;
|
|
1118
|
-
if (!
|
|
1119
|
-
{
|
|
1004
|
+
if (!context) {
|
|
1120
1005
|
context = this;
|
|
1121
|
-
}
|
|
1122
|
-
else if (context == scrollerArr[0])
|
|
1123
|
-
{
|
|
1006
|
+
} else if (context == scrollerArr[0]) {
|
|
1124
1007
|
context = paneScroller;
|
|
1125
1008
|
}
|
|
1126
1009
|
|
|
@@ -1128,29 +1011,31 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1128
1011
|
evName,
|
|
1129
1012
|
bubble[j].handler,
|
|
1130
1013
|
context,
|
|
1131
|
-
false
|
|
1014
|
+
false
|
|
1015
|
+
);
|
|
1132
1016
|
}
|
|
1133
1017
|
}
|
|
1134
1018
|
}
|
|
1135
1019
|
|
|
1136
1020
|
// last meta column is flexible
|
|
1137
|
-
var flex =
|
|
1138
|
-
this.__scrollerParent.add(paneScroller, {flex: flex});
|
|
1021
|
+
var flex = i == metaColumnCounts.length - 1 ? 1 : 0;
|
|
1022
|
+
this.__scrollerParent.add(paneScroller, { flex: flex });
|
|
1139
1023
|
scrollerArr = this._getPaneScrollerArr();
|
|
1140
1024
|
}
|
|
1141
1025
|
}
|
|
1142
1026
|
|
|
1143
1027
|
// Update all meta columns
|
|
1144
|
-
for (var i=0; i<scrollerArr.length; i++)
|
|
1145
|
-
{
|
|
1028
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1146
1029
|
var paneScroller = scrollerArr[i];
|
|
1147
|
-
var isLast =
|
|
1030
|
+
var isLast = i == scrollerArr.length - 1;
|
|
1148
1031
|
|
|
1149
1032
|
// Set the right header height
|
|
1150
1033
|
paneScroller.getHeader().setHeight(this.getHeaderCellHeight());
|
|
1151
1034
|
|
|
1152
1035
|
// Put the column visibility button in the top right corner of the last meta column
|
|
1153
|
-
paneScroller.setTopRightWidget(
|
|
1036
|
+
paneScroller.setTopRightWidget(
|
|
1037
|
+
isLast ? this.getChildControl("column-button") : null
|
|
1038
|
+
);
|
|
1154
1039
|
}
|
|
1155
1040
|
|
|
1156
1041
|
if (!this.isColumnVisibilityButtonVisible()) {
|
|
@@ -1161,104 +1046,88 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1161
1046
|
this._updateScrollBarVisibility();
|
|
1162
1047
|
},
|
|
1163
1048
|
|
|
1164
|
-
|
|
1165
1049
|
// property modifier
|
|
1166
|
-
_applyFocusCellOnPointerMove
|
|
1167
|
-
{
|
|
1050
|
+
_applyFocusCellOnPointerMove(value, old) {
|
|
1168
1051
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1169
1052
|
|
|
1170
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1053
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1171
1054
|
scrollerArr[i].setFocusCellOnPointerMove(value);
|
|
1172
1055
|
}
|
|
1173
1056
|
},
|
|
1174
1057
|
|
|
1175
|
-
|
|
1176
1058
|
// property modifier
|
|
1177
|
-
_applyShowCellFocusIndicator
|
|
1178
|
-
{
|
|
1059
|
+
_applyShowCellFocusIndicator(value, old) {
|
|
1179
1060
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1180
1061
|
|
|
1181
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1062
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1182
1063
|
scrollerArr[i].setShowCellFocusIndicator(value);
|
|
1183
1064
|
}
|
|
1184
1065
|
},
|
|
1185
1066
|
|
|
1186
|
-
|
|
1187
1067
|
// property modifier
|
|
1188
|
-
_applyContextMenuFromDataCellsOnly
|
|
1189
|
-
{
|
|
1068
|
+
_applyContextMenuFromDataCellsOnly(value, old) {
|
|
1190
1069
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1191
1070
|
|
|
1192
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1071
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1193
1072
|
scrollerArr[i].setContextMenuFromDataCellsOnly(value);
|
|
1194
1073
|
}
|
|
1195
1074
|
},
|
|
1196
1075
|
|
|
1197
|
-
|
|
1198
1076
|
// property modifier
|
|
1199
|
-
_applyKeepFirstVisibleRowComplete
|
|
1200
|
-
{
|
|
1077
|
+
_applyKeepFirstVisibleRowComplete(value, old) {
|
|
1201
1078
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1202
1079
|
|
|
1203
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1080
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1204
1081
|
scrollerArr[i].onKeepFirstVisibleRowCompleteChanged();
|
|
1205
1082
|
}
|
|
1206
1083
|
},
|
|
1207
1084
|
|
|
1208
|
-
|
|
1209
1085
|
// property modifier
|
|
1210
|
-
_applyResetSelectionOnHeaderTap
|
|
1211
|
-
{
|
|
1086
|
+
_applyResetSelectionOnHeaderTap(value, old) {
|
|
1212
1087
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1213
1088
|
|
|
1214
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1089
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1215
1090
|
scrollerArr[i].setResetSelectionOnHeaderTap(value);
|
|
1216
1091
|
}
|
|
1217
1092
|
},
|
|
1218
1093
|
|
|
1219
|
-
|
|
1220
1094
|
// property modifier
|
|
1221
|
-
_applyResetSelectionOnTapBelowRows
|
|
1222
|
-
{
|
|
1095
|
+
_applyResetSelectionOnTapBelowRows(value, old) {
|
|
1223
1096
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1224
1097
|
|
|
1225
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1098
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1226
1099
|
scrollerArr[i].setResetSelectionOnTapBelowRows(value);
|
|
1227
1100
|
}
|
|
1228
1101
|
},
|
|
1229
1102
|
|
|
1230
|
-
|
|
1231
1103
|
/**
|
|
1232
1104
|
* Returns the selection manager.
|
|
1233
1105
|
*
|
|
1234
1106
|
* @return {qx.ui.table.selection.Manager} the selection manager.
|
|
1235
1107
|
*/
|
|
1236
|
-
getSelectionManager
|
|
1108
|
+
getSelectionManager() {
|
|
1237
1109
|
return this.__selectionManager;
|
|
1238
1110
|
},
|
|
1239
1111
|
|
|
1240
|
-
|
|
1241
1112
|
/**
|
|
1242
1113
|
* Returns an array containing all TablePaneScrollers in this table.
|
|
1243
1114
|
*
|
|
1244
1115
|
* @return {qx.ui.table.pane.Scroller[]} all TablePaneScrollers in this table.
|
|
1245
1116
|
*/
|
|
1246
|
-
_getPaneScrollerArr
|
|
1117
|
+
_getPaneScrollerArr() {
|
|
1247
1118
|
return this.__scrollerParent.getChildren();
|
|
1248
1119
|
},
|
|
1249
1120
|
|
|
1250
|
-
|
|
1251
1121
|
/**
|
|
1252
1122
|
* Returns a TablePaneScroller of this table.
|
|
1253
1123
|
*
|
|
1254
1124
|
* @param metaColumn {Integer} the meta column to get the TablePaneScroller for.
|
|
1255
1125
|
* @return {qx.ui.table.pane.Scroller} the qx.ui.table.pane.Scroller.
|
|
1256
1126
|
*/
|
|
1257
|
-
getPaneScroller
|
|
1127
|
+
getPaneScroller(metaColumn) {
|
|
1258
1128
|
return this._getPaneScrollerArr()[metaColumn];
|
|
1259
1129
|
},
|
|
1260
1130
|
|
|
1261
|
-
|
|
1262
1131
|
/**
|
|
1263
1132
|
* Cleans up the meta columns.
|
|
1264
1133
|
*
|
|
@@ -1266,96 +1135,85 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1266
1135
|
* meta columns will be cleaned up, too. All previous meta columns will
|
|
1267
1136
|
* stay unchanged. If 0 all meta columns will be cleaned up.
|
|
1268
1137
|
*/
|
|
1269
|
-
_cleanUpMetaColumns
|
|
1270
|
-
{
|
|
1138
|
+
_cleanUpMetaColumns(fromMetaColumn) {
|
|
1271
1139
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1272
1140
|
|
|
1273
|
-
if (scrollerArr != null)
|
|
1274
|
-
|
|
1275
|
-
for (var i=scrollerArr.length-1; i>=fromMetaColumn; i--)
|
|
1276
|
-
{
|
|
1141
|
+
if (scrollerArr != null) {
|
|
1142
|
+
for (var i = scrollerArr.length - 1; i >= fromMetaColumn; i--) {
|
|
1277
1143
|
scrollerArr[i].destroy();
|
|
1278
1144
|
}
|
|
1279
1145
|
}
|
|
1280
1146
|
},
|
|
1281
1147
|
|
|
1282
|
-
|
|
1283
1148
|
/**
|
|
1284
1149
|
* Event handler. Called when the locale has changed.
|
|
1285
1150
|
*
|
|
1286
1151
|
* @param evt {Event} the event.
|
|
1287
1152
|
*/
|
|
1288
|
-
_onChangeLocale
|
|
1289
|
-
{
|
|
1153
|
+
_onChangeLocale(evt) {
|
|
1290
1154
|
this.updateContent();
|
|
1291
1155
|
this._updateStatusBar();
|
|
1292
1156
|
},
|
|
1293
1157
|
|
|
1294
|
-
|
|
1295
1158
|
// overridden
|
|
1296
|
-
_onChangeTheme
|
|
1297
|
-
|
|
1159
|
+
_onChangeTheme() {
|
|
1160
|
+
super._onChangeTheme();
|
|
1298
1161
|
|
|
1299
1162
|
this.getDataRowRenderer().initThemeValues();
|
|
1300
1163
|
this.updateContent();
|
|
1301
1164
|
this._updateStatusBar();
|
|
1302
1165
|
},
|
|
1303
1166
|
|
|
1304
|
-
|
|
1305
1167
|
/**
|
|
1306
1168
|
* Event handler. Called when the selection has changed.
|
|
1307
1169
|
*
|
|
1308
1170
|
* @param evt {Map} the event.
|
|
1309
1171
|
*/
|
|
1310
|
-
_onSelectionChanged
|
|
1311
|
-
{
|
|
1172
|
+
_onSelectionChanged(evt) {
|
|
1312
1173
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1313
1174
|
|
|
1314
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1175
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1315
1176
|
scrollerArr[i].onSelectionChanged();
|
|
1316
1177
|
}
|
|
1317
1178
|
|
|
1318
1179
|
this._updateStatusBar();
|
|
1319
1180
|
},
|
|
1320
1181
|
|
|
1321
|
-
|
|
1322
1182
|
/**
|
|
1323
1183
|
* Event handler. Called when the table model meta data has changed.
|
|
1324
1184
|
*
|
|
1325
1185
|
* @param evt {Map} the event.
|
|
1326
1186
|
*/
|
|
1327
|
-
_onTableModelMetaDataChanged
|
|
1328
|
-
{
|
|
1187
|
+
_onTableModelMetaDataChanged(evt) {
|
|
1329
1188
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1330
1189
|
|
|
1331
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1190
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1332
1191
|
scrollerArr[i].onTableModelMetaDataChanged();
|
|
1333
1192
|
}
|
|
1334
1193
|
|
|
1335
1194
|
this._updateStatusBar();
|
|
1336
1195
|
},
|
|
1337
1196
|
|
|
1338
|
-
|
|
1339
1197
|
/**
|
|
1340
1198
|
* Event handler. Called when the table model data has changed.
|
|
1341
1199
|
*
|
|
1342
1200
|
* @param evt {Map} the event.
|
|
1343
1201
|
*/
|
|
1344
|
-
_onTableModelDataChanged
|
|
1345
|
-
{
|
|
1202
|
+
_onTableModelDataChanged(evt) {
|
|
1346
1203
|
var data = evt.getData();
|
|
1347
1204
|
|
|
1348
1205
|
this._updateTableData(
|
|
1349
|
-
data.firstRow,
|
|
1350
|
-
data.
|
|
1351
|
-
data.
|
|
1206
|
+
data.firstRow,
|
|
1207
|
+
data.lastRow,
|
|
1208
|
+
data.firstColumn,
|
|
1209
|
+
data.lastColumn,
|
|
1210
|
+
data.removeStart,
|
|
1211
|
+
data.removeCount
|
|
1352
1212
|
);
|
|
1353
1213
|
},
|
|
1354
1214
|
|
|
1355
|
-
|
|
1356
1215
|
// overridden
|
|
1357
|
-
_onContextMenuOpen
|
|
1358
|
-
{
|
|
1216
|
+
_onContextMenuOpen(e) {
|
|
1359
1217
|
// This is Widget's context menu handler which typically retrieves
|
|
1360
1218
|
// and displays the menu as soon as it receives a "contextmenu" event.
|
|
1361
1219
|
// We want to allow the cellContextmenu handler to create the menu,
|
|
@@ -1363,7 +1221,6 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1363
1221
|
// placement and display handling in our _onContextMenu method.
|
|
1364
1222
|
},
|
|
1365
1223
|
|
|
1366
|
-
|
|
1367
1224
|
/**
|
|
1368
1225
|
* To update the table if the table model has changed and remove selection.
|
|
1369
1226
|
*
|
|
@@ -1374,44 +1231,57 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1374
1231
|
* @param removeStart {Integer ? null} The first index of the interval (including), to remove selection.
|
|
1375
1232
|
* @param removeCount {Integer ? null} The count of the interval, to remove selection.
|
|
1376
1233
|
*/
|
|
1377
|
-
_updateTableData
|
|
1378
|
-
|
|
1234
|
+
_updateTableData(
|
|
1235
|
+
firstRow,
|
|
1236
|
+
lastRow,
|
|
1237
|
+
firstColumn,
|
|
1238
|
+
lastColumn,
|
|
1239
|
+
removeStart,
|
|
1240
|
+
removeCount
|
|
1241
|
+
) {
|
|
1379
1242
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1380
1243
|
|
|
1381
1244
|
// update selection if rows were removed
|
|
1382
1245
|
if (removeCount) {
|
|
1383
|
-
this.getSelectionModel().removeSelectionInterval(
|
|
1246
|
+
this.getSelectionModel().removeSelectionInterval(
|
|
1247
|
+
removeStart,
|
|
1248
|
+
removeStart + removeCount - 1,
|
|
1249
|
+
true
|
|
1250
|
+
);
|
|
1251
|
+
|
|
1384
1252
|
// remove focus if the focused row has been removed
|
|
1385
|
-
if (
|
|
1253
|
+
if (
|
|
1254
|
+
this.__focusedRow >= removeStart &&
|
|
1255
|
+
this.__focusedRow < removeStart + removeCount
|
|
1256
|
+
) {
|
|
1386
1257
|
this.setFocusedCell();
|
|
1387
1258
|
}
|
|
1388
1259
|
}
|
|
1389
1260
|
|
|
1390
|
-
for (var i=0; i<scrollerArr.length; i++)
|
|
1391
|
-
{
|
|
1261
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1392
1262
|
scrollerArr[i].onTableModelDataChanged(
|
|
1393
|
-
firstRow,
|
|
1394
|
-
|
|
1263
|
+
firstRow,
|
|
1264
|
+
lastRow,
|
|
1265
|
+
firstColumn,
|
|
1266
|
+
lastColumn
|
|
1395
1267
|
);
|
|
1396
1268
|
}
|
|
1397
1269
|
|
|
1398
1270
|
var rowCount = this.getTableModel().getRowCount();
|
|
1399
1271
|
|
|
1400
|
-
if (rowCount != this.__lastRowCount)
|
|
1401
|
-
{
|
|
1272
|
+
if (rowCount != this.__lastRowCount) {
|
|
1402
1273
|
this.__lastRowCount = rowCount;
|
|
1403
1274
|
|
|
1404
1275
|
this._updateScrollBarVisibility();
|
|
1405
1276
|
this._updateStatusBar();
|
|
1406
|
-
|
|
1277
|
+
|
|
1407
1278
|
// ARIA attrs
|
|
1408
1279
|
this.getContentElement().setAttribute("aria-rowcount", rowCount);
|
|
1409
1280
|
}
|
|
1410
1281
|
|
|
1411
1282
|
const colCount = this.getTableModel().getColumnCount();
|
|
1412
1283
|
|
|
1413
|
-
if (colCount != this.__lastColCount)
|
|
1414
|
-
{
|
|
1284
|
+
if (colCount != this.__lastColCount) {
|
|
1415
1285
|
this.__lastColCount = colCount;
|
|
1416
1286
|
|
|
1417
1287
|
// ARIA attrs
|
|
@@ -1419,22 +1289,19 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1419
1289
|
}
|
|
1420
1290
|
},
|
|
1421
1291
|
|
|
1422
|
-
|
|
1423
1292
|
/**
|
|
1424
1293
|
* Event handler. Called when a TablePaneScroller has been scrolled vertically.
|
|
1425
1294
|
*
|
|
1426
1295
|
* @param evt {Map} the event.
|
|
1427
1296
|
*/
|
|
1428
|
-
_onScrollY
|
|
1429
|
-
|
|
1430
|
-
if (!this.__internalChange)
|
|
1431
|
-
{
|
|
1297
|
+
_onScrollY(evt) {
|
|
1298
|
+
if (!this.__internalChange) {
|
|
1432
1299
|
this.__internalChange = true;
|
|
1433
1300
|
|
|
1434
1301
|
// Set the same scroll position to all meta columns
|
|
1435
1302
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1436
1303
|
|
|
1437
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1304
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1438
1305
|
scrollerArr[i].setScrollY(evt.getData());
|
|
1439
1306
|
}
|
|
1440
1307
|
|
|
@@ -1442,26 +1309,33 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1442
1309
|
}
|
|
1443
1310
|
},
|
|
1444
1311
|
|
|
1445
|
-
|
|
1446
1312
|
/**
|
|
1447
1313
|
* Event handler. Called when a key was pressed.
|
|
1448
1314
|
*
|
|
1449
1315
|
* @param evt {qx.event.type.KeySequence} the event.
|
|
1450
1316
|
* @deprecated {6.0} please use _onKeyDown instead!
|
|
1451
1317
|
*/
|
|
1452
|
-
_onKeyPress
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1318
|
+
_onKeyPress(evt) {
|
|
1319
|
+
qx.log.Logger.deprecatedMethodWarning(
|
|
1320
|
+
this._onKeyPress,
|
|
1321
|
+
"The method '_onKeyPress()' is deprecated. Please use '_onKeyDown()' instead."
|
|
1322
|
+
);
|
|
1323
|
+
|
|
1324
|
+
qx.log.Logger.deprecateMethodOverriding(
|
|
1325
|
+
this,
|
|
1326
|
+
qx.ui.table.Table,
|
|
1327
|
+
"_onKeyPress",
|
|
1328
|
+
"The method '_onKeyPress()' is deprecated. Please use '_onKeyDown()' instead."
|
|
1329
|
+
);
|
|
1330
|
+
|
|
1331
|
+
this._onKeyDown(evt);
|
|
1457
1332
|
},
|
|
1458
1333
|
/**
|
|
1459
1334
|
* Event handler. Called when on key down event
|
|
1460
1335
|
*
|
|
1461
1336
|
* @param evt {qx.event.type.KeySequence} the event.
|
|
1462
1337
|
*/
|
|
1463
|
-
_onKeyDown
|
|
1464
|
-
{
|
|
1338
|
+
_onKeyDown(evt) {
|
|
1465
1339
|
if (!this.getEnabled()) {
|
|
1466
1340
|
return;
|
|
1467
1341
|
}
|
|
@@ -1473,13 +1347,10 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1473
1347
|
// Handle keys that are independent from the modifiers
|
|
1474
1348
|
var identifier = evt.getKeyIdentifier();
|
|
1475
1349
|
|
|
1476
|
-
if (this.isEditing())
|
|
1477
|
-
{
|
|
1350
|
+
if (this.isEditing()) {
|
|
1478
1351
|
// Editing mode
|
|
1479
|
-
if (evt.getModifiers() == 0)
|
|
1480
|
-
|
|
1481
|
-
switch(identifier)
|
|
1482
|
-
{
|
|
1352
|
+
if (evt.getModifiers() == 0) {
|
|
1353
|
+
switch (identifier) {
|
|
1483
1354
|
case "Enter":
|
|
1484
1355
|
this.stopEditing();
|
|
1485
1356
|
var oldFocusedRow = this.__focusedRow;
|
|
@@ -1501,18 +1372,13 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1501
1372
|
break;
|
|
1502
1373
|
}
|
|
1503
1374
|
}
|
|
1504
|
-
|
|
1505
|
-
}
|
|
1506
|
-
else
|
|
1507
|
-
{
|
|
1375
|
+
} else {
|
|
1508
1376
|
consumed = true;
|
|
1509
1377
|
// No editing mode
|
|
1510
|
-
if (evt.isCtrlPressed())
|
|
1511
|
-
{
|
|
1378
|
+
if (evt.isCtrlPressed()) {
|
|
1512
1379
|
// Handle keys that depend on modifiers
|
|
1513
1380
|
|
|
1514
|
-
switch(identifier)
|
|
1515
|
-
{
|
|
1381
|
+
switch (identifier) {
|
|
1516
1382
|
case "A": // Ctrl + A
|
|
1517
1383
|
var rowCount = this.getTableModel().getRowCount();
|
|
1518
1384
|
|
|
@@ -1526,14 +1392,15 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1526
1392
|
consumed = false;
|
|
1527
1393
|
break;
|
|
1528
1394
|
}
|
|
1529
|
-
}
|
|
1530
|
-
else
|
|
1531
|
-
{
|
|
1395
|
+
} else {
|
|
1532
1396
|
// Handle keys that are independent from the modifiers
|
|
1533
|
-
switch(identifier)
|
|
1534
|
-
{
|
|
1397
|
+
switch (identifier) {
|
|
1535
1398
|
case "Space":
|
|
1536
|
-
this.__selectionManager.handleSelectKeyDown(
|
|
1399
|
+
this.__selectionManager.handleSelectKeyDown(
|
|
1400
|
+
this.__focusedRow,
|
|
1401
|
+
evt
|
|
1402
|
+
);
|
|
1403
|
+
|
|
1537
1404
|
break;
|
|
1538
1405
|
|
|
1539
1406
|
case "F2":
|
|
@@ -1572,9 +1439,12 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1572
1439
|
var scroller = this.getPaneScroller(0);
|
|
1573
1440
|
var pane = scroller.getTablePane();
|
|
1574
1441
|
var rowHeight = this.getRowHeight();
|
|
1575
|
-
var direction =
|
|
1442
|
+
var direction = identifier == "PageUp" ? -1 : 1;
|
|
1576
1443
|
rowCount = pane.getVisibleRowCount() - 1;
|
|
1577
|
-
scroller.setScrollY(
|
|
1444
|
+
scroller.setScrollY(
|
|
1445
|
+
scroller.getScrollY() + direction * rowCount * rowHeight
|
|
1446
|
+
);
|
|
1447
|
+
|
|
1578
1448
|
this.moveFocusedCell(0, direction * rowCount);
|
|
1579
1449
|
break;
|
|
1580
1450
|
|
|
@@ -1584,52 +1454,51 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1584
1454
|
}
|
|
1585
1455
|
}
|
|
1586
1456
|
|
|
1587
|
-
if (
|
|
1588
|
-
|
|
1589
|
-
|
|
1457
|
+
if (
|
|
1458
|
+
oldFocusedRow != this.__focusedRow &&
|
|
1459
|
+
this.getRowFocusChangeModifiesSelection()
|
|
1460
|
+
) {
|
|
1590
1461
|
// The focus moved -> Let the selection manager handle this event
|
|
1591
1462
|
this.__selectionManager.handleMoveKeyDown(this.__focusedRow, evt);
|
|
1592
1463
|
}
|
|
1593
1464
|
|
|
1594
|
-
if (consumed)
|
|
1595
|
-
{
|
|
1465
|
+
if (consumed) {
|
|
1596
1466
|
evt.preventDefault();
|
|
1597
1467
|
evt.stopPropagation();
|
|
1598
1468
|
}
|
|
1599
1469
|
},
|
|
1600
1470
|
|
|
1601
|
-
|
|
1602
1471
|
/**
|
|
1603
1472
|
* Event handler. Called when the table gets the focus.
|
|
1604
1473
|
*
|
|
1605
1474
|
* @param evt {Map} the event.
|
|
1606
1475
|
*/
|
|
1607
|
-
_onFocusChanged
|
|
1608
|
-
{
|
|
1476
|
+
_onFocusChanged(evt) {
|
|
1609
1477
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1610
1478
|
|
|
1611
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1479
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1612
1480
|
scrollerArr[i].onFocusChanged();
|
|
1613
1481
|
}
|
|
1614
1482
|
},
|
|
1615
1483
|
|
|
1616
|
-
|
|
1617
1484
|
/**
|
|
1618
1485
|
* Event handler. Called when the visibility of a column has changed.
|
|
1619
1486
|
*
|
|
1620
1487
|
* @param evt {Map} the event.
|
|
1621
1488
|
*/
|
|
1622
|
-
_onColVisibilityChanged
|
|
1623
|
-
{
|
|
1489
|
+
_onColVisibilityChanged(evt) {
|
|
1624
1490
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1625
1491
|
|
|
1626
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1492
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1627
1493
|
scrollerArr[i].onColVisibilityChanged();
|
|
1628
1494
|
}
|
|
1629
1495
|
|
|
1630
1496
|
var data = evt.getData();
|
|
1631
|
-
if (
|
|
1632
|
-
|
|
1497
|
+
if (
|
|
1498
|
+
this.__columnMenuButtons != null &&
|
|
1499
|
+
data.col != null &&
|
|
1500
|
+
data.visible != null
|
|
1501
|
+
) {
|
|
1633
1502
|
this.__columnMenuButtons[data.col].setColumnVisible(data.visible);
|
|
1634
1503
|
}
|
|
1635
1504
|
|
|
@@ -1637,18 +1506,15 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1637
1506
|
this._updateScrollBarVisibility();
|
|
1638
1507
|
},
|
|
1639
1508
|
|
|
1640
|
-
|
|
1641
1509
|
/**
|
|
1642
1510
|
* Event handler. Called when the width of a column has changed.
|
|
1643
1511
|
*
|
|
1644
1512
|
* @param evt {Map} the event.
|
|
1645
1513
|
*/
|
|
1646
|
-
_onColWidthChanged
|
|
1647
|
-
{
|
|
1514
|
+
_onColWidthChanged(evt) {
|
|
1648
1515
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1649
1516
|
|
|
1650
|
-
for (var i=0; i<scrollerArr.length; i++)
|
|
1651
|
-
{
|
|
1517
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1652
1518
|
var data = evt.getData();
|
|
1653
1519
|
scrollerArr[i].setColumnWidth(data.col, data.newWidth);
|
|
1654
1520
|
}
|
|
@@ -1657,17 +1523,15 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1657
1523
|
this._updateScrollBarVisibility();
|
|
1658
1524
|
},
|
|
1659
1525
|
|
|
1660
|
-
|
|
1661
1526
|
/**
|
|
1662
1527
|
* Event handler. Called when the column order has changed.
|
|
1663
1528
|
*
|
|
1664
1529
|
* @param evt {Map} the event.
|
|
1665
1530
|
*/
|
|
1666
|
-
_onColOrderChanged
|
|
1667
|
-
{
|
|
1531
|
+
_onColOrderChanged(evt) {
|
|
1668
1532
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1669
1533
|
|
|
1670
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1534
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1671
1535
|
scrollerArr[i].onColOrderChanged();
|
|
1672
1536
|
}
|
|
1673
1537
|
|
|
@@ -1676,7 +1540,6 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1676
1540
|
this._updateScrollBarVisibility();
|
|
1677
1541
|
},
|
|
1678
1542
|
|
|
1679
|
-
|
|
1680
1543
|
/**
|
|
1681
1544
|
* Gets the TablePaneScroller at a certain x position in the page. If there is
|
|
1682
1545
|
* no TablePaneScroller at this position, null is returned.
|
|
@@ -1684,13 +1547,11 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1684
1547
|
* @param pageX {Integer} the position in the page to check (in pixels).
|
|
1685
1548
|
* @return {qx.ui.table.pane.Scroller} the TablePaneScroller or null.
|
|
1686
1549
|
*/
|
|
1687
|
-
getTablePaneScrollerAtPageX
|
|
1688
|
-
{
|
|
1550
|
+
getTablePaneScrollerAtPageX(pageX) {
|
|
1689
1551
|
var metaCol = this._getMetaColumnAtPageX(pageX);
|
|
1690
|
-
return
|
|
1552
|
+
return metaCol != -1 ? this.getPaneScroller(metaCol) : null;
|
|
1691
1553
|
},
|
|
1692
1554
|
|
|
1693
|
-
|
|
1694
1555
|
/**
|
|
1695
1556
|
* Sets the currently focused cell. A value of <code>null</code> hides the
|
|
1696
1557
|
* focus cell.
|
|
@@ -1700,10 +1561,11 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1700
1561
|
* @param scrollVisible {Boolean ? false} whether to scroll the new focused cell
|
|
1701
1562
|
* visible.
|
|
1702
1563
|
*/
|
|
1703
|
-
setFocusedCell
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1564
|
+
setFocusedCell(col, row, scrollVisible) {
|
|
1565
|
+
if (
|
|
1566
|
+
!this.isEditing() &&
|
|
1567
|
+
(col != this.__focusedCol || row != this.__focusedRow)
|
|
1568
|
+
) {
|
|
1707
1569
|
if (col === null) {
|
|
1708
1570
|
col = 0;
|
|
1709
1571
|
}
|
|
@@ -1713,7 +1575,7 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1713
1575
|
|
|
1714
1576
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1715
1577
|
|
|
1716
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1578
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1717
1579
|
scrollerArr[i].setFocusedCell(col, row);
|
|
1718
1580
|
}
|
|
1719
1581
|
|
|
@@ -1722,48 +1584,44 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1722
1584
|
}
|
|
1723
1585
|
|
|
1724
1586
|
// ARIA attrs
|
|
1725
|
-
const cellId =
|
|
1726
|
-
|
|
1587
|
+
const cellId =
|
|
1588
|
+
"qooxdoo-table-cell-" + this.toHashCode() + "-" + row + "-" + col;
|
|
1589
|
+
this.getContentElement().setAttribute("aria-activedescendant", cellId);
|
|
1727
1590
|
}
|
|
1728
1591
|
},
|
|
1729
1592
|
|
|
1730
|
-
|
|
1731
1593
|
/**
|
|
1732
1594
|
* Resets (clears) the current selection
|
|
1733
1595
|
*/
|
|
1734
|
-
resetSelection
|
|
1596
|
+
resetSelection() {
|
|
1735
1597
|
this.getSelectionModel().resetSelection();
|
|
1736
1598
|
},
|
|
1737
1599
|
|
|
1738
|
-
|
|
1739
1600
|
/**
|
|
1740
1601
|
* Resets the focused cell.
|
|
1741
1602
|
*/
|
|
1742
|
-
resetCellFocus
|
|
1603
|
+
resetCellFocus() {
|
|
1743
1604
|
this.setFocusedCell(null, null, false);
|
|
1744
1605
|
},
|
|
1745
1606
|
|
|
1746
|
-
|
|
1747
1607
|
/**
|
|
1748
1608
|
* Returns the column of the currently focused cell.
|
|
1749
1609
|
*
|
|
1750
1610
|
* @return {Integer} the model index of the focused cell's column.
|
|
1751
1611
|
*/
|
|
1752
|
-
getFocusedColumn
|
|
1612
|
+
getFocusedColumn() {
|
|
1753
1613
|
return this.__focusedCol;
|
|
1754
1614
|
},
|
|
1755
1615
|
|
|
1756
|
-
|
|
1757
1616
|
/**
|
|
1758
1617
|
* Returns the row of the currently focused cell.
|
|
1759
1618
|
*
|
|
1760
1619
|
* @return {Integer} the model index of the focused cell's column.
|
|
1761
1620
|
*/
|
|
1762
|
-
getFocusedRow
|
|
1621
|
+
getFocusedRow() {
|
|
1763
1622
|
return this.__focusedRow;
|
|
1764
1623
|
},
|
|
1765
1624
|
|
|
1766
|
-
|
|
1767
1625
|
/**
|
|
1768
1626
|
* Select whether the focused row is highlighted
|
|
1769
1627
|
*
|
|
@@ -1771,12 +1629,10 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1771
1629
|
* Flag indicating whether the focused row should be highlighted.
|
|
1772
1630
|
*
|
|
1773
1631
|
*/
|
|
1774
|
-
highlightFocusedRow
|
|
1775
|
-
{
|
|
1632
|
+
highlightFocusedRow(bHighlight) {
|
|
1776
1633
|
this.getDataRowRenderer().setHighlightFocusRow(bHighlight);
|
|
1777
1634
|
},
|
|
1778
1635
|
|
|
1779
|
-
|
|
1780
1636
|
/**
|
|
1781
1637
|
* Remove the highlighting of the current focus row.
|
|
1782
1638
|
*
|
|
@@ -1789,17 +1645,15 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1789
1645
|
*
|
|
1790
1646
|
* @param evt {qx.event.type.Pointer} Incoming pointer event
|
|
1791
1647
|
*/
|
|
1792
|
-
clearFocusedRowHighlight
|
|
1793
|
-
|
|
1794
|
-
if(evt)
|
|
1795
|
-
{
|
|
1648
|
+
clearFocusedRowHighlight(evt) {
|
|
1649
|
+
if (evt) {
|
|
1796
1650
|
var relatedTarget = evt.getRelatedTarget();
|
|
1797
1651
|
if (
|
|
1798
1652
|
relatedTarget instanceof qx.ui.table.pane.Pane ||
|
|
1799
1653
|
relatedTarget instanceof qx.ui.table.pane.FocusIndicator
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1654
|
+
) {
|
|
1655
|
+
return;
|
|
1656
|
+
}
|
|
1803
1657
|
}
|
|
1804
1658
|
|
|
1805
1659
|
// Remove focus from any cell that has it
|
|
@@ -1807,33 +1661,34 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1807
1661
|
|
|
1808
1662
|
// Now, for each pane scroller...
|
|
1809
1663
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1810
|
-
for (var i=0; i<scrollerArr.length; i++)
|
|
1811
|
-
{
|
|
1664
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1812
1665
|
// ... repaint without focus.
|
|
1813
1666
|
scrollerArr[i].onFocusChanged();
|
|
1814
1667
|
}
|
|
1815
1668
|
},
|
|
1816
1669
|
|
|
1817
|
-
|
|
1818
1670
|
/**
|
|
1819
1671
|
* Moves the focus.
|
|
1820
1672
|
*
|
|
1821
1673
|
* @param deltaX {Integer} The delta by which the focus should be moved on the x axis.
|
|
1822
1674
|
* @param deltaY {Integer} The delta by which the focus should be moved on the y axis.
|
|
1823
1675
|
*/
|
|
1824
|
-
moveFocusedCell
|
|
1825
|
-
{
|
|
1676
|
+
moveFocusedCell(deltaX, deltaY) {
|
|
1826
1677
|
var col = this.__focusedCol;
|
|
1827
1678
|
var row = this.__focusedRow;
|
|
1828
1679
|
|
|
1829
1680
|
// could also be undefined [BUG #4676]. In that case default to first cell focus
|
|
1830
|
-
if (
|
|
1681
|
+
if (
|
|
1682
|
+
col === null ||
|
|
1683
|
+
col === undefined ||
|
|
1684
|
+
row === null ||
|
|
1685
|
+
row === undefined
|
|
1686
|
+
) {
|
|
1831
1687
|
this.setFocusedCell(0, 0, true);
|
|
1832
1688
|
return;
|
|
1833
1689
|
}
|
|
1834
1690
|
|
|
1835
|
-
if (deltaX != 0)
|
|
1836
|
-
{
|
|
1691
|
+
if (deltaX != 0) {
|
|
1837
1692
|
var columnModel = this.getTableColumnModel();
|
|
1838
1693
|
var x = columnModel.getVisibleX(col);
|
|
1839
1694
|
var colCount = columnModel.getVisibleColumnCount();
|
|
@@ -1841,32 +1696,37 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1841
1696
|
col = columnModel.getVisibleColumnAtX(x);
|
|
1842
1697
|
}
|
|
1843
1698
|
|
|
1844
|
-
if (deltaY != 0)
|
|
1845
|
-
{
|
|
1699
|
+
if (deltaY != 0) {
|
|
1846
1700
|
var tableModel = this.getTableModel();
|
|
1847
|
-
row = qx.lang.Number.limit(
|
|
1701
|
+
row = qx.lang.Number.limit(
|
|
1702
|
+
row + deltaY,
|
|
1703
|
+
0,
|
|
1704
|
+
tableModel.getRowCount() - 1
|
|
1705
|
+
);
|
|
1848
1706
|
}
|
|
1849
1707
|
|
|
1850
1708
|
this.setFocusedCell(col, row, true);
|
|
1851
1709
|
},
|
|
1852
1710
|
|
|
1853
|
-
|
|
1854
1711
|
/**
|
|
1855
1712
|
* Scrolls a cell visible.
|
|
1856
1713
|
*
|
|
1857
1714
|
* @param col {Integer} the model index of the column the cell belongs to.
|
|
1858
1715
|
* @param row {Integer} the model index of the row the cell belongs to.
|
|
1859
1716
|
*/
|
|
1860
|
-
scrollCellVisible
|
|
1861
|
-
{
|
|
1717
|
+
scrollCellVisible(col, row) {
|
|
1862
1718
|
// get the dom element
|
|
1863
1719
|
var elem = this.getContentElement().getDomElement();
|
|
1864
1720
|
// if the dom element is not available, the table hasn't been rendered
|
|
1865
1721
|
if (!elem) {
|
|
1866
1722
|
// postpone the scroll until the table has appeared
|
|
1867
|
-
this.addListenerOnce(
|
|
1868
|
-
|
|
1869
|
-
|
|
1723
|
+
this.addListenerOnce(
|
|
1724
|
+
"appear",
|
|
1725
|
+
function () {
|
|
1726
|
+
this.scrollCellVisible(col, row);
|
|
1727
|
+
},
|
|
1728
|
+
this
|
|
1729
|
+
);
|
|
1870
1730
|
}
|
|
1871
1731
|
|
|
1872
1732
|
var columnModel = this.getTableColumnModel();
|
|
@@ -1879,16 +1739,13 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1879
1739
|
}
|
|
1880
1740
|
},
|
|
1881
1741
|
|
|
1882
|
-
|
|
1883
1742
|
/**
|
|
1884
1743
|
* Returns whether currently a cell is editing.
|
|
1885
1744
|
*
|
|
1886
1745
|
* @return {var} whether currently a cell is editing.
|
|
1887
1746
|
*/
|
|
1888
|
-
isEditing
|
|
1889
|
-
|
|
1890
|
-
if (this.__focusedCol != null)
|
|
1891
|
-
{
|
|
1747
|
+
isEditing() {
|
|
1748
|
+
if (this.__focusedCol != null) {
|
|
1892
1749
|
var x = this.getTableColumnModel().getVisibleX(this.__focusedCol);
|
|
1893
1750
|
var metaColumn = this._getMetaColumnAtColumnX(x);
|
|
1894
1751
|
return this.getPaneScroller(metaColumn).isEditing();
|
|
@@ -1896,17 +1753,14 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1896
1753
|
return false;
|
|
1897
1754
|
},
|
|
1898
1755
|
|
|
1899
|
-
|
|
1900
1756
|
/**
|
|
1901
1757
|
* Starts editing the currently focused cell. Does nothing if already editing
|
|
1902
1758
|
* or if the column is not editable.
|
|
1903
1759
|
*
|
|
1904
1760
|
* @return {Boolean} whether editing was started
|
|
1905
1761
|
*/
|
|
1906
|
-
startEditing
|
|
1907
|
-
|
|
1908
|
-
if (this.__focusedCol != null)
|
|
1909
|
-
{
|
|
1762
|
+
startEditing() {
|
|
1763
|
+
if (this.__focusedCol != null) {
|
|
1910
1764
|
var x = this.getTableColumnModel().getVisibleX(this.__focusedCol);
|
|
1911
1765
|
var metaColumn = this._getMetaColumnAtColumnX(x);
|
|
1912
1766
|
var started = this.getPaneScroller(metaColumn).startEditing();
|
|
@@ -1916,41 +1770,34 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1916
1770
|
return false;
|
|
1917
1771
|
},
|
|
1918
1772
|
|
|
1919
|
-
|
|
1920
1773
|
/**
|
|
1921
1774
|
* Stops editing and writes the editor's value to the model.
|
|
1922
1775
|
*/
|
|
1923
|
-
stopEditing
|
|
1924
|
-
|
|
1925
|
-
if (this.__focusedCol != null)
|
|
1926
|
-
{
|
|
1776
|
+
stopEditing() {
|
|
1777
|
+
if (this.__focusedCol != null) {
|
|
1927
1778
|
var x = this.getTableColumnModel().getVisibleX(this.__focusedCol);
|
|
1928
1779
|
var metaColumn = this._getMetaColumnAtColumnX(x);
|
|
1929
1780
|
this.getPaneScroller(metaColumn).stopEditing();
|
|
1930
1781
|
}
|
|
1931
1782
|
},
|
|
1932
1783
|
|
|
1933
|
-
|
|
1934
1784
|
/**
|
|
1935
1785
|
* Stops editing without writing the editor's value to the model.
|
|
1936
1786
|
*/
|
|
1937
|
-
cancelEditing
|
|
1938
|
-
|
|
1939
|
-
if (this.__focusedCol != null)
|
|
1940
|
-
{
|
|
1787
|
+
cancelEditing() {
|
|
1788
|
+
if (this.__focusedCol != null) {
|
|
1941
1789
|
var x = this.getTableColumnModel().getVisibleX(this.__focusedCol);
|
|
1942
1790
|
var metaColumn = this._getMetaColumnAtColumnX(x);
|
|
1943
1791
|
this.getPaneScroller(metaColumn).cancelEditing();
|
|
1944
1792
|
}
|
|
1945
1793
|
},
|
|
1946
1794
|
|
|
1947
|
-
|
|
1948
1795
|
/**
|
|
1949
1796
|
* Update the table content of every attached table pane.
|
|
1950
1797
|
*/
|
|
1951
|
-
updateContent
|
|
1798
|
+
updateContent() {
|
|
1952
1799
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1953
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1800
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1954
1801
|
scrollerArr[i].getTablePane().updateContent(true);
|
|
1955
1802
|
}
|
|
1956
1803
|
},
|
|
@@ -1959,24 +1806,21 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1959
1806
|
* Activates the blocker widgets on all column headers and the
|
|
1960
1807
|
* column button
|
|
1961
1808
|
*/
|
|
1962
|
-
blockHeaderElements
|
|
1963
|
-
{
|
|
1809
|
+
blockHeaderElements() {
|
|
1964
1810
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1965
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1811
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1966
1812
|
scrollerArr[i].getHeader().getBlocker().blockContent(20);
|
|
1967
1813
|
}
|
|
1968
1814
|
this.getChildControl("column-button").getBlocker().blockContent(20);
|
|
1969
1815
|
},
|
|
1970
1816
|
|
|
1971
|
-
|
|
1972
1817
|
/**
|
|
1973
1818
|
* Deactivates the blocker widgets on all column headers and the
|
|
1974
1819
|
* column button
|
|
1975
1820
|
*/
|
|
1976
|
-
unblockHeaderElements
|
|
1977
|
-
{
|
|
1821
|
+
unblockHeaderElements() {
|
|
1978
1822
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1979
|
-
for (var i=0; i<scrollerArr.length; i++) {
|
|
1823
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1980
1824
|
scrollerArr[i].getHeader().getBlocker().unblock();
|
|
1981
1825
|
}
|
|
1982
1826
|
this.getChildControl("column-button").getBlocker().unblock();
|
|
@@ -1989,12 +1833,10 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
1989
1833
|
* @param pageX {Integer} the position in the page to check (in pixels).
|
|
1990
1834
|
* @return {Integer} the index of the meta column or -1.
|
|
1991
1835
|
*/
|
|
1992
|
-
_getMetaColumnAtPageX
|
|
1993
|
-
{
|
|
1836
|
+
_getMetaColumnAtPageX(pageX) {
|
|
1994
1837
|
var scrollerArr = this._getPaneScrollerArr();
|
|
1995
1838
|
|
|
1996
|
-
for (var i=0; i<scrollerArr.length; i++)
|
|
1997
|
-
{
|
|
1839
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1998
1840
|
var pos = scrollerArr[i].getContentLocation();
|
|
1999
1841
|
|
|
2000
1842
|
if (pageX >= pos.left && pageX <= pos.right) {
|
|
@@ -2005,7 +1847,6 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
2005
1847
|
return -1;
|
|
2006
1848
|
},
|
|
2007
1849
|
|
|
2008
|
-
|
|
2009
1850
|
/**
|
|
2010
1851
|
* Returns the meta column a column is shown in. If the column is not shown at
|
|
2011
1852
|
* all, -1 is returned.
|
|
@@ -2013,13 +1854,11 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
2013
1854
|
* @param visXPos {Integer} the visible x position of the column.
|
|
2014
1855
|
* @return {Integer} the meta column the column is shown in.
|
|
2015
1856
|
*/
|
|
2016
|
-
_getMetaColumnAtColumnX
|
|
2017
|
-
{
|
|
1857
|
+
_getMetaColumnAtColumnX(visXPos) {
|
|
2018
1858
|
var metaColumnCounts = this.getMetaColumnCounts();
|
|
2019
1859
|
var rightXPos = 0;
|
|
2020
1860
|
|
|
2021
|
-
for (var i=0; i<metaColumnCounts.length; i++)
|
|
2022
|
-
{
|
|
1861
|
+
for (var i = 0; i < metaColumnCounts.length; i++) {
|
|
2023
1862
|
var counts = metaColumnCounts[i];
|
|
2024
1863
|
rightXPos += counts;
|
|
2025
1864
|
|
|
@@ -2031,32 +1870,33 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
2031
1870
|
return -1;
|
|
2032
1871
|
},
|
|
2033
1872
|
|
|
2034
|
-
|
|
2035
1873
|
/**
|
|
2036
1874
|
* Updates the text shown in the status bar.
|
|
2037
1875
|
*/
|
|
2038
|
-
_updateStatusBar
|
|
2039
|
-
{
|
|
1876
|
+
_updateStatusBar() {
|
|
2040
1877
|
var tableModel = this.getTableModel();
|
|
2041
1878
|
|
|
2042
|
-
if (this.getStatusBarVisible())
|
|
2043
|
-
{
|
|
1879
|
+
if (this.getStatusBarVisible()) {
|
|
2044
1880
|
var selectedRowCount = this.getSelectionModel().getSelectedCount();
|
|
2045
1881
|
var rowCount = tableModel.getRowCount();
|
|
2046
1882
|
|
|
2047
1883
|
var text;
|
|
2048
1884
|
|
|
2049
|
-
if (rowCount >= 0)
|
|
2050
|
-
{
|
|
1885
|
+
if (rowCount >= 0) {
|
|
2051
1886
|
if (selectedRowCount == 0) {
|
|
2052
1887
|
text = this.trn("one row", "%1 rows", rowCount, rowCount);
|
|
2053
1888
|
} else {
|
|
2054
|
-
text = this.trn(
|
|
1889
|
+
text = this.trn(
|
|
1890
|
+
"one of one row",
|
|
1891
|
+
"%1 of %2 rows",
|
|
1892
|
+
rowCount,
|
|
1893
|
+
selectedRowCount,
|
|
1894
|
+
rowCount
|
|
1895
|
+
);
|
|
2055
1896
|
}
|
|
2056
1897
|
}
|
|
2057
1898
|
|
|
2058
|
-
if (this.__additionalStatusBarText)
|
|
2059
|
-
{
|
|
1899
|
+
if (this.__additionalStatusBarText) {
|
|
2060
1900
|
if (text) {
|
|
2061
1901
|
text += this.__additionalStatusBarText;
|
|
2062
1902
|
} else {
|
|
@@ -2070,33 +1910,28 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
2070
1910
|
}
|
|
2071
1911
|
},
|
|
2072
1912
|
|
|
2073
|
-
|
|
2074
1913
|
/**
|
|
2075
1914
|
* Updates the widths of all scrollers.
|
|
2076
1915
|
*/
|
|
2077
|
-
_updateScrollerWidths
|
|
2078
|
-
{
|
|
1916
|
+
_updateScrollerWidths() {
|
|
2079
1917
|
// Give all scrollers except for the last one the wanted width
|
|
2080
1918
|
// (The last one has a flex with)
|
|
2081
1919
|
var scrollerArr = this._getPaneScrollerArr();
|
|
2082
1920
|
|
|
2083
|
-
for (var i=0; i<scrollerArr.length; i++)
|
|
2084
|
-
|
|
2085
|
-
var isLast = (i == (scrollerArr.length - 1));
|
|
1921
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1922
|
+
var isLast = i == scrollerArr.length - 1;
|
|
2086
1923
|
var width = scrollerArr[i].getTablePaneModel().getTotalWidth();
|
|
2087
1924
|
scrollerArr[i].setPaneWidth(width);
|
|
2088
1925
|
|
|
2089
1926
|
var flex = isLast ? 1 : 0;
|
|
2090
|
-
scrollerArr[i].setLayoutProperties({flex: flex});
|
|
1927
|
+
scrollerArr[i].setLayoutProperties({ flex: flex });
|
|
2091
1928
|
}
|
|
2092
1929
|
},
|
|
2093
1930
|
|
|
2094
|
-
|
|
2095
1931
|
/**
|
|
2096
1932
|
* Updates the visibility of the scrollbars in the meta columns.
|
|
2097
1933
|
*/
|
|
2098
|
-
_updateScrollBarVisibility
|
|
2099
|
-
{
|
|
1934
|
+
_updateScrollBarVisibility() {
|
|
2100
1935
|
if (!this.getBounds()) {
|
|
2101
1936
|
return;
|
|
2102
1937
|
}
|
|
@@ -2110,17 +1945,14 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
2110
1945
|
var verNeeded = false;
|
|
2111
1946
|
var excludeScrollerScrollbarsIfNotNeeded;
|
|
2112
1947
|
|
|
2113
|
-
|
|
2114
1948
|
// Determine whether we need to render horizontal scrollbars for meta
|
|
2115
1949
|
// columns that don't themselves actually require it
|
|
2116
1950
|
excludeScrollerScrollbarsIfNotNeeded =
|
|
2117
1951
|
this.getExcludeScrollerScrollbarsIfNotNeeded();
|
|
2118
1952
|
|
|
2119
|
-
if (!
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
{
|
|
2123
|
-
var isLast = (i == (scrollerArr.length - 1));
|
|
1953
|
+
if (!excludeScrollerScrollbarsIfNotNeeded) {
|
|
1954
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1955
|
+
var isLast = i == scrollerArr.length - 1;
|
|
2124
1956
|
|
|
2125
1957
|
// Only show the last vertical scrollbar
|
|
2126
1958
|
var bars = scrollerArr[i].getNeededScrollBars(horNeeded, !isLast);
|
|
@@ -2129,49 +1961,51 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
2129
1961
|
horNeeded = true;
|
|
2130
1962
|
}
|
|
2131
1963
|
|
|
2132
|
-
if (isLast &&
|
|
1964
|
+
if (isLast && bars & verBar) {
|
|
2133
1965
|
verNeeded = true;
|
|
2134
1966
|
}
|
|
2135
1967
|
}
|
|
2136
1968
|
}
|
|
2137
1969
|
|
|
2138
1970
|
// Set the needed scrollbars
|
|
2139
|
-
for (var i=0; i<scrollerArr.length; i++)
|
|
2140
|
-
|
|
2141
|
-
isLast = (i == (scrollerArr.length - 1));
|
|
1971
|
+
for (var i = 0; i < scrollerArr.length; i++) {
|
|
1972
|
+
isLast = i == scrollerArr.length - 1;
|
|
2142
1973
|
|
|
2143
1974
|
// If we don't want to include scrollbars for meta columns that don't
|
|
2144
1975
|
// require it, find out whether this meta column requires it.
|
|
2145
|
-
if (excludeScrollerScrollbarsIfNotNeeded)
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
1976
|
+
if (excludeScrollerScrollbarsIfNotNeeded) {
|
|
1977
|
+
horNeeded = !!(
|
|
1978
|
+
scrollerArr[i].getNeededScrollBars(false, !isLast) & horBar
|
|
1979
|
+
);
|
|
2149
1980
|
|
|
2150
1981
|
// Show the horizontal scrollbar if needed. Specify null to indicate
|
|
2151
1982
|
// that the scrollbar should be hidden rather than excluded.
|
|
2152
1983
|
scrollerArr[i].setHorizontalScrollBarVisible(horNeeded || null);
|
|
2153
|
-
}
|
|
2154
|
-
else
|
|
2155
|
-
{
|
|
1984
|
+
} else {
|
|
2156
1985
|
// Show the horizontal scrollbar if needed.
|
|
2157
1986
|
scrollerArr[i].setHorizontalScrollBarVisible(horNeeded);
|
|
2158
1987
|
}
|
|
2159
1988
|
|
|
2160
1989
|
// If this is the last meta-column...
|
|
2161
|
-
if (isLast)
|
|
2162
|
-
{
|
|
1990
|
+
if (isLast) {
|
|
2163
1991
|
// ... then get the current (old) use of vertical scroll bar
|
|
2164
|
-
verNeeded =
|
|
2165
|
-
|
|
1992
|
+
verNeeded = !!(
|
|
1993
|
+
scrollerArr[i].getNeededScrollBars(false, false) & verBar
|
|
1994
|
+
);
|
|
1995
|
+
|
|
2166
1996
|
if (this.__hadVerticalScrollBar == null) {
|
|
2167
|
-
this.__hadVerticalScrollBar =
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
1997
|
+
this.__hadVerticalScrollBar =
|
|
1998
|
+
scrollerArr[i].getVerticalScrollBarVisible();
|
|
1999
|
+
this.__timer = qx.event.Timer.once(
|
|
2000
|
+
function () {
|
|
2001
|
+
// reset the last visible state of the vertical scroll bar
|
|
2002
|
+
// in a timeout to prevent infinite loops.
|
|
2003
|
+
this.__hadVerticalScrollBar = null;
|
|
2004
|
+
this.__timer = null;
|
|
2005
|
+
},
|
|
2006
|
+
this,
|
|
2007
|
+
0
|
|
2008
|
+
);
|
|
2175
2009
|
}
|
|
2176
2010
|
}
|
|
2177
2011
|
|
|
@@ -2179,20 +2013,17 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
2179
2013
|
|
|
2180
2014
|
// If this is the last meta-column and the use of a vertical scroll bar
|
|
2181
2015
|
// has changed...
|
|
2182
|
-
if (isLast && verNeeded != this.__hadVerticalScrollBar)
|
|
2183
|
-
{
|
|
2016
|
+
if (isLast && verNeeded != this.__hadVerticalScrollBar) {
|
|
2184
2017
|
// ... then dispatch an event to any awaiting listeners
|
|
2185
2018
|
this.fireDataEvent("verticalScrollBarChanged", verNeeded);
|
|
2186
2019
|
}
|
|
2187
2020
|
}
|
|
2188
2021
|
},
|
|
2189
2022
|
|
|
2190
|
-
|
|
2191
2023
|
/**
|
|
2192
2024
|
* Initialize the column menu
|
|
2193
2025
|
*/
|
|
2194
|
-
_initColumnMenu
|
|
2195
|
-
{
|
|
2026
|
+
_initColumnMenu() {
|
|
2196
2027
|
var tableModel = this.getTableModel();
|
|
2197
2028
|
var columnModel = this.getTableColumnModel();
|
|
2198
2029
|
|
|
@@ -2203,166 +2034,138 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
2203
2034
|
|
|
2204
2035
|
// Inform listeners who may want to insert menu items at the beginning
|
|
2205
2036
|
var menu = columnButton.getMenu();
|
|
2206
|
-
var data =
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
columnButton : columnButton
|
|
2037
|
+
var data = {
|
|
2038
|
+
table: this,
|
|
2039
|
+
menu: menu,
|
|
2040
|
+
columnButton: columnButton
|
|
2211
2041
|
};
|
|
2042
|
+
|
|
2212
2043
|
this.fireDataEvent("columnVisibilityMenuCreateStart", data);
|
|
2213
2044
|
|
|
2214
2045
|
this.__columnMenuButtons = {};
|
|
2215
|
-
for (var
|
|
2216
|
-
|
|
2217
|
-
var menuButton =
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
qx.core.Assert.assertInterface(menuButton,
|
|
2226
|
-
qx.ui.table.IColumnMenuItem);
|
|
2046
|
+
for (var iCol = 0, l = tableModel.getColumnCount(); iCol < l; iCol++) {
|
|
2047
|
+
var col = columnModel.getOverallColumnAtX(iCol);
|
|
2048
|
+
var menuButton = columnButton.factory("menu-button", {
|
|
2049
|
+
text: tableModel.getColumnName(col),
|
|
2050
|
+
column: col,
|
|
2051
|
+
bVisible: columnModel.isColumnVisible(col)
|
|
2052
|
+
});
|
|
2053
|
+
|
|
2054
|
+
qx.core.Assert.assertInterface(menuButton, qx.ui.table.IColumnMenuItem);
|
|
2227
2055
|
|
|
2228
2056
|
menuButton.addListener(
|
|
2229
2057
|
"changeColumnVisible",
|
|
2230
|
-
this._createColumnVisibilityCheckBoxHandler(col),
|
|
2058
|
+
this._createColumnVisibilityCheckBoxHandler(col),
|
|
2059
|
+
this
|
|
2060
|
+
);
|
|
2061
|
+
|
|
2231
2062
|
this.__columnMenuButtons[col] = menuButton;
|
|
2232
2063
|
}
|
|
2233
2064
|
|
|
2234
2065
|
// Inform listeners who may want to insert menu items at the end
|
|
2235
|
-
data =
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
columnButton : columnButton
|
|
2066
|
+
data = {
|
|
2067
|
+
table: this,
|
|
2068
|
+
menu: menu,
|
|
2069
|
+
columnButton: columnButton
|
|
2240
2070
|
};
|
|
2071
|
+
|
|
2241
2072
|
this.fireDataEvent("columnVisibilityMenuCreateEnd", data);
|
|
2242
2073
|
},
|
|
2243
2074
|
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
2075
|
/**
|
|
2249
2076
|
* Creates a handler for a check box of the column visibility menu.
|
|
2250
2077
|
*
|
|
2251
2078
|
* @param col {Integer} the model index of column to create the handler for.
|
|
2252
2079
|
* @return {Function} The created event handler.
|
|
2253
2080
|
*/
|
|
2254
|
-
_createColumnVisibilityCheckBoxHandler
|
|
2255
|
-
|
|
2256
|
-
return function(evt)
|
|
2257
|
-
{
|
|
2081
|
+
_createColumnVisibilityCheckBoxHandler(col) {
|
|
2082
|
+
return function (evt) {
|
|
2258
2083
|
var columnModel = this.getTableColumnModel();
|
|
2259
2084
|
columnModel.setColumnVisible(col, evt.getData());
|
|
2260
2085
|
};
|
|
2261
2086
|
},
|
|
2262
2087
|
|
|
2263
|
-
|
|
2264
2088
|
/**
|
|
2265
2089
|
* Sets the width of a column.
|
|
2266
2090
|
*
|
|
2267
2091
|
* @param col {Integer} the model index of column.
|
|
2268
2092
|
* @param width {Integer} the new width in pixels.
|
|
2269
2093
|
*/
|
|
2270
|
-
setColumnWidth
|
|
2094
|
+
setColumnWidth(col, width) {
|
|
2271
2095
|
this.getTableColumnModel().setColumnWidth(col, width);
|
|
2272
2096
|
},
|
|
2273
2097
|
|
|
2274
|
-
|
|
2275
2098
|
/**
|
|
2276
2099
|
* Resize event handler
|
|
2277
2100
|
*/
|
|
2278
|
-
_onResize
|
|
2279
|
-
{
|
|
2101
|
+
_onResize() {
|
|
2280
2102
|
this.fireEvent("tableWidthChanged");
|
|
2281
2103
|
this._updateScrollerWidths();
|
|
2282
2104
|
this._updateScrollBarVisibility();
|
|
2283
2105
|
},
|
|
2284
2106
|
|
|
2285
|
-
|
|
2286
2107
|
// overridden
|
|
2287
|
-
addListener
|
|
2288
|
-
|
|
2289
|
-
if (this.self(arguments).__redirectEvents[type])
|
|
2290
|
-
{
|
|
2108
|
+
addListener(type, listener, self, capture) {
|
|
2109
|
+
if (this.self(arguments).__redirectEvents[type]) {
|
|
2291
2110
|
// start the id with the type (needed for removing)
|
|
2292
2111
|
var id = [type];
|
|
2293
|
-
for (var i = 0, arr = this._getPaneScrollerArr(); i < arr.length; i++)
|
|
2294
|
-
{
|
|
2112
|
+
for (var i = 0, arr = this._getPaneScrollerArr(); i < arr.length; i++) {
|
|
2295
2113
|
id.push(arr[i].addListener.apply(arr[i], arguments));
|
|
2296
2114
|
}
|
|
2297
2115
|
// join the id's of every event with "
|
|
2298
2116
|
return id.join('"');
|
|
2299
|
-
}
|
|
2300
|
-
|
|
2301
|
-
{
|
|
2302
|
-
return this.base(arguments, type, listener, self, capture);
|
|
2117
|
+
} else {
|
|
2118
|
+
return super.addListener(type, listener, self, capture);
|
|
2303
2119
|
}
|
|
2304
2120
|
},
|
|
2305
2121
|
|
|
2306
|
-
|
|
2307
2122
|
// overridden
|
|
2308
|
-
removeListener
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
{
|
|
2312
|
-
for (var i = 0, arr = this._getPaneScrollerArr(); i < arr.length; i++)
|
|
2313
|
-
{
|
|
2123
|
+
removeListener(type, listener, self, capture) {
|
|
2124
|
+
if (this.self(arguments).__redirectEvents[type]) {
|
|
2125
|
+
for (var i = 0, arr = this._getPaneScrollerArr(); i < arr.length; i++) {
|
|
2314
2126
|
arr[i].removeListener.apply(arr[i], arguments);
|
|
2315
2127
|
}
|
|
2316
|
-
}
|
|
2317
|
-
|
|
2318
|
-
{
|
|
2319
|
-
this.base(arguments, type, listener, self, capture);
|
|
2128
|
+
} else {
|
|
2129
|
+
super.removeListener(type, listener, self, capture);
|
|
2320
2130
|
}
|
|
2321
2131
|
},
|
|
2322
2132
|
|
|
2323
|
-
|
|
2324
2133
|
// overridden
|
|
2325
|
-
removeListenerById
|
|
2134
|
+
removeListenerById(id) {
|
|
2326
2135
|
var ids = id.split('"');
|
|
2327
2136
|
// type is the first entry of the connected id
|
|
2328
2137
|
var type = ids.shift();
|
|
2329
|
-
if (this.self(arguments).__redirectEvents[type])
|
|
2330
|
-
{
|
|
2138
|
+
if (this.self(arguments).__redirectEvents[type]) {
|
|
2331
2139
|
var removed = true;
|
|
2332
|
-
for (var i = 0, arr = this._getPaneScrollerArr(); i < arr.length; i++)
|
|
2333
|
-
{
|
|
2140
|
+
for (var i = 0, arr = this._getPaneScrollerArr(); i < arr.length; i++) {
|
|
2334
2141
|
removed = arr[i].removeListenerById.call(arr[i], ids[i]) && removed;
|
|
2335
2142
|
}
|
|
2336
2143
|
return removed;
|
|
2337
|
-
}
|
|
2338
|
-
|
|
2339
|
-
{
|
|
2340
|
-
return this.base(arguments, id);
|
|
2144
|
+
} else {
|
|
2145
|
+
return super.removeListenerById(id);
|
|
2341
2146
|
}
|
|
2342
2147
|
},
|
|
2343
2148
|
|
|
2344
|
-
|
|
2345
|
-
destroy : function()
|
|
2346
|
-
{
|
|
2149
|
+
destroy() {
|
|
2347
2150
|
this.getChildControl("column-button").getMenu().destroy();
|
|
2348
|
-
|
|
2151
|
+
super.destroy();
|
|
2349
2152
|
}
|
|
2350
2153
|
},
|
|
2351
2154
|
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
2155
|
/*
|
|
2356
2156
|
*****************************************************************************
|
|
2357
2157
|
DESTRUCTOR
|
|
2358
2158
|
*****************************************************************************
|
|
2359
2159
|
*/
|
|
2360
2160
|
|
|
2361
|
-
destruct
|
|
2362
|
-
{
|
|
2161
|
+
destruct() {
|
|
2363
2162
|
// remove the event listener which handled the locale change
|
|
2364
2163
|
if (qx.core.Environment.get("qx.dynlocale")) {
|
|
2365
|
-
qx.locale.Manager.getInstance().removeListener(
|
|
2164
|
+
qx.locale.Manager.getInstance().removeListener(
|
|
2165
|
+
"changeLocale",
|
|
2166
|
+
this._onChangeLocale,
|
|
2167
|
+
this
|
|
2168
|
+
);
|
|
2366
2169
|
}
|
|
2367
2170
|
|
|
2368
2171
|
// we allocated these objects on init so we have to clean them up.
|
|
@@ -2376,26 +2179,31 @@ qx.Class.define("qx.ui.table.Table",
|
|
|
2376
2179
|
dataRowRenderer.dispose();
|
|
2377
2180
|
}
|
|
2378
2181
|
|
|
2379
|
-
if (this.getTableModel() != null)
|
|
2380
|
-
{
|
|
2182
|
+
if (this.getTableModel() != null) {
|
|
2381
2183
|
this.getTableModel().removeListener(
|
|
2382
2184
|
"metaDataChanged",
|
|
2383
|
-
this._onTableModelMetaDataChanged,
|
|
2185
|
+
this._onTableModelMetaDataChanged,
|
|
2186
|
+
this
|
|
2384
2187
|
);
|
|
2385
2188
|
|
|
2386
2189
|
this.getTableModel().removeListener(
|
|
2387
2190
|
"dataChanged",
|
|
2388
2191
|
this._onTableModelDataChanged,
|
|
2389
|
-
this
|
|
2192
|
+
this
|
|
2193
|
+
);
|
|
2390
2194
|
}
|
|
2391
2195
|
|
|
2392
2196
|
this._cleanUpMetaColumns(0);
|
|
2393
2197
|
this.getTableColumnModel().dispose();
|
|
2394
2198
|
this._disposeObjects(
|
|
2395
|
-
"__selectionManager",
|
|
2396
|
-
"
|
|
2397
|
-
"
|
|
2199
|
+
"__selectionManager",
|
|
2200
|
+
"__scrollerParent",
|
|
2201
|
+
"__emptyTableModel",
|
|
2202
|
+
"__emptyTableModel",
|
|
2203
|
+
"__columnModel",
|
|
2204
|
+
"__timer"
|
|
2398
2205
|
);
|
|
2206
|
+
|
|
2399
2207
|
this._disposeMap("__columnMenuButtons");
|
|
2400
2208
|
}
|
|
2401
2209
|
});
|