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