import QtQuick.tooling 1.2

// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
// 'qmlplugindump -nonrelocatable QtQuick.Controls 2.0 -merge ..\templates\plugins.qmltypes -dependencies dep.json'

Module {
    dependencies: ["QtQuick.Templates 2.0", "QtQuick.Window 2.2", "QtQuick 2.7"]
    Component {
        name: "QQuickAbstractAnimation"
        prototype: "QObject"
        Enum {
            name: "Loops"
            values: {
                "Infinite": -2
            }
        }
        Property { name: "running"; type: "bool" }
        Property { name: "paused"; type: "bool" }
        Property { name: "alwaysRunToEnd"; type: "bool" }
        Property { name: "loops"; type: "int" }
        Signal { name: "started" }
        Signal { name: "stopped" }
        Signal {
            name: "runningChanged"
            Parameter { type: "bool" }
        }
        Signal {
            name: "pausedChanged"
            Parameter { type: "bool" }
        }
        Signal {
            name: "alwaysRunToEndChanged"
            Parameter { type: "bool" }
        }
        Signal {
            name: "loopCountChanged"
            Parameter { type: "int" }
        }
        Method { name: "restart" }
        Method { name: "start" }
        Method { name: "pause" }
        Method { name: "resume" }
        Method { name: "stop" }
        Method { name: "complete" }
    }
    Component {
        name: "QQuickAnimator"
        prototype: "QQuickAbstractAnimation"
        exports: [
            "QtQuick.Controls.impl/BusyRingAnimator 2.0",
            "QtQuick.Controls.impl/ProgressStripAnimator 2.0"
        ]
        exportMetaObjectRevisions: [0, 0]
        Property { name: "target"; type: "QQuickItem"; isPointer: true }
        Property { name: "easing"; type: "QEasingCurve" }
        Property { name: "duration"; type: "int" }
        Property { name: "to"; type: "double" }
        Property { name: "from"; type: "double" }
        Signal {
            name: "targetItemChanged"
            Parameter { type: "QQuickItem"; isPointer: true }
        }
        Signal {
            name: "durationChanged"
            Parameter { name: "duration"; type: "int" }
        }
        Signal {
            name: "easingChanged"
            Parameter { name: "curve"; type: "QEasingCurve" }
        }
        Signal {
            name: "toChanged"
            Parameter { name: "to"; type: "double" }
        }
        Signal {
            name: "fromChanged"
            Parameter { name: "from"; type: "double" }
        }
    }
    Component {
        name: "QQuickBusyIndicatorRing"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtQuick.Controls.impl/BusyRing 2.0"]
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "QQuickButtonGroup"
        prototype: "QObject"
        exports: ["QtQuick.Controls/ButtonGroup 2.0"]
        exportMetaObjectRevisions: [0]
        attachedType: "QQuickButtonGroupAttached"
        Property { name: "checkedButton"; type: "QQuickAbstractButton"; isPointer: true }
        Property { name: "buttons"; type: "QQuickAbstractButton"; isList: true; isReadonly: true }
        Method {
            name: "addButton"
            Parameter { name: "button"; type: "QQuickAbstractButton"; isPointer: true }
        }
        Method {
            name: "removeButton"
            Parameter { name: "button"; type: "QQuickAbstractButton"; isPointer: true }
        }
    }
    Component {
        name: "QQuickButtonGroupAttached"
        prototype: "QObject"
        Property { name: "group"; type: "QQuickButtonGroup"; isPointer: true }
    }
    Component {
        name: "QQuickDialRing"
        defaultProperty: "data"
        prototype: "QQuickPaintedItem"
        exports: ["QtQuick.Controls.impl/DialRing 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "progress"; type: "double" }
        Property { name: "color"; type: "QColor" }
    }
    Component {
        name: "QQuickPaintedItem"
        defaultProperty: "data"
        prototype: "QQuickItem"
        Enum {
            name: "RenderTarget"
            values: {
                "Image": 0,
                "FramebufferObject": 1,
                "InvertedYFramebufferObject": 2
            }
        }
        Property { name: "contentsSize"; type: "QSize" }
        Property { name: "fillColor"; type: "QColor" }
        Property { name: "contentsScale"; type: "double" }
        Property { name: "renderTarget"; type: "RenderTarget" }
        Property { name: "textureSize"; type: "QSize" }
    }
    Component {
        name: "QQuickProgressStrip"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtQuick.Controls.impl/ProgressStrip 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "indeterminate"; type: "bool" }
        Property { name: "progress"; type: "double" }
    }
    Component {
        prototype: "QQuickApplicationWindow"
        name: "QtQuick.Controls/ApplicationWindow 2.0"
        exports: ["QtQuick.Controls/ApplicationWindow 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickBusyIndicator"
        name: "QtQuick.Controls/BusyIndicator 2.0"
        exports: ["QtQuick.Controls/BusyIndicator 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickButton"
        name: "QtQuick.Controls/Button 2.0"
        exports: ["QtQuick.Controls/Button 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickCheckBox"
        name: "QtQuick.Controls/CheckBox 2.0"
        exports: ["QtQuick.Controls/CheckBox 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickCheckDelegate"
        name: "QtQuick.Controls/CheckDelegate 2.0"
        exports: ["QtQuick.Controls/CheckDelegate 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.Controls.impl/CheckIndicator 2.0"
        exports: ["QtQuick.Controls.impl/CheckIndicator 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "control"; type: "QQuickItem"; isPointer: true }
        Property { name: "color"; type: "QColor" }
        Property { name: "gradient"; type: "QQuickGradient"; isPointer: true }
        Property { name: "border"; type: "QQuickPen"; isReadonly: true; isPointer: true }
        Property { name: "radius"; type: "double" }
    }
    Component {
        prototype: "QQuickComboBox"
        name: "QtQuick.Controls/ComboBox 2.0"
        exports: ["QtQuick.Controls/ComboBox 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickDial"
        name: "QtQuick.Controls/Dial 2.0"
        exports: ["QtQuick.Controls/Dial 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickDrawer"
        name: "QtQuick.Controls/Drawer 2.0"
        exports: ["QtQuick.Controls/Drawer 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "contentData"
    }
    Component {
        prototype: "QQuickFrame"
        name: "QtQuick.Controls/Frame 2.0"
        exports: ["QtQuick.Controls/Frame 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "contentData"
    }
    Component {
        prototype: "QQuickGroupBox"
        name: "QtQuick.Controls/GroupBox 2.0"
        exports: ["QtQuick.Controls/GroupBox 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "contentData"
    }
    Component {
        prototype: "QQuickItemDelegate"
        name: "QtQuick.Controls/ItemDelegate 2.0"
        exports: ["QtQuick.Controls/ItemDelegate 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickLabel"
        name: "QtQuick.Controls/Label 2.0"
        exports: ["QtQuick.Controls/Label 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickMenu"
        name: "QtQuick.Controls/Menu 2.0"
        exports: ["QtQuick.Controls/Menu 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "contentData"
    }
    Component {
        prototype: "QQuickMenuItem"
        name: "QtQuick.Controls/MenuItem 2.0"
        exports: ["QtQuick.Controls/MenuItem 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickPage"
        name: "QtQuick.Controls/Page 2.0"
        exports: ["QtQuick.Controls/Page 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "contentData"
    }
    Component {
        prototype: "QQuickPageIndicator"
        name: "QtQuick.Controls/PageIndicator 2.0"
        exports: ["QtQuick.Controls/PageIndicator 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickPane"
        name: "QtQuick.Controls/Pane 2.0"
        exports: ["QtQuick.Controls/Pane 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "contentData"
    }
    Component {
        prototype: "QQuickPopup"
        name: "QtQuick.Controls/Popup 2.0"
        exports: ["QtQuick.Controls/Popup 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "contentData"
    }
    Component {
        prototype: "QQuickProgressBar"
        name: "QtQuick.Controls/ProgressBar 2.0"
        exports: ["QtQuick.Controls/ProgressBar 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickRadioButton"
        name: "QtQuick.Controls/RadioButton 2.0"
        exports: ["QtQuick.Controls/RadioButton 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickRadioDelegate"
        name: "QtQuick.Controls/RadioDelegate 2.0"
        exports: ["QtQuick.Controls/RadioDelegate 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.Controls.impl/RadioIndicator 2.0"
        exports: ["QtQuick.Controls.impl/RadioIndicator 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "control"; type: "QQuickItem"; isPointer: true }
        Property { name: "color"; type: "QColor" }
        Property { name: "gradient"; type: "QQuickGradient"; isPointer: true }
        Property { name: "border"; type: "QQuickPen"; isReadonly: true; isPointer: true }
        Property { name: "radius"; type: "double" }
    }
    Component {
        prototype: "QQuickRangeSlider"
        name: "QtQuick.Controls/RangeSlider 2.0"
        exports: ["QtQuick.Controls/RangeSlider 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickScrollBar"
        name: "QtQuick.Controls/ScrollBar 2.0"
        exports: ["QtQuick.Controls/ScrollBar 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickScrollIndicator"
        name: "QtQuick.Controls/ScrollIndicator 2.0"
        exports: ["QtQuick.Controls/ScrollIndicator 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickSlider"
        name: "QtQuick.Controls/Slider 2.0"
        exports: ["QtQuick.Controls/Slider 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickSpinBox"
        name: "QtQuick.Controls/SpinBox 2.0"
        exports: ["QtQuick.Controls/SpinBox 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickStackView"
        name: "QtQuick.Controls/StackView 2.0"
        exports: ["QtQuick.Controls/StackView 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickSwipeDelegate"
        name: "QtQuick.Controls/SwipeDelegate 2.0"
        exports: ["QtQuick.Controls/SwipeDelegate 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickSwipeView"
        name: "QtQuick.Controls/SwipeView 2.0"
        exports: ["QtQuick.Controls/SwipeView 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "contentData"
    }
    Component {
        prototype: "QQuickSwitch"
        name: "QtQuick.Controls/Switch 2.0"
        exports: ["QtQuick.Controls/Switch 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickSwitchDelegate"
        name: "QtQuick.Controls/SwitchDelegate 2.0"
        exports: ["QtQuick.Controls/SwitchDelegate 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickItem"
        name: "QtQuick.Controls.impl/SwitchIndicator 2.0"
        exports: ["QtQuick.Controls.impl/SwitchIndicator 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "control"; type: "QQuickItem"; isPointer: true }
    }
    Component {
        prototype: "QQuickTabBar"
        name: "QtQuick.Controls/TabBar 2.0"
        exports: ["QtQuick.Controls/TabBar 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "contentData"
    }
    Component {
        prototype: "QQuickTabButton"
        name: "QtQuick.Controls/TabButton 2.0"
        exports: ["QtQuick.Controls/TabButton 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickTextArea"
        name: "QtQuick.Controls/TextArea 2.0"
        exports: ["QtQuick.Controls/TextArea 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickTextField"
        name: "QtQuick.Controls/TextField 2.0"
        exports: ["QtQuick.Controls/TextField 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickToolBar"
        name: "QtQuick.Controls/ToolBar 2.0"
        exports: ["QtQuick.Controls/ToolBar 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "contentData"
    }
    Component {
        prototype: "QQuickToolButton"
        name: "QtQuick.Controls/ToolButton 2.0"
        exports: ["QtQuick.Controls/ToolButton 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        prototype: "QQuickToolTip"
        name: "QtQuick.Controls/ToolTip 2.0"
        exports: ["QtQuick.Controls/ToolTip 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "contentData"
    }
    Component {
        prototype: "QQuickTumbler"
        name: "QtQuick.Controls/Tumbler 2.0"
        exports: ["QtQuick.Controls/Tumbler 2.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
    }
    Component {
        name: "QQuickAbstractButton"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/AbstractButton 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "text"; type: "string" }
        Property { name: "down"; type: "bool" }
        Property { name: "pressed"; type: "bool"; isReadonly: true }
        Property { name: "checked"; type: "bool" }
        Property { name: "autoExclusive"; type: "bool" }
        Property { name: "indicator"; type: "QQuickItem"; isPointer: true }
        Signal { name: "pressed" }
        Signal { name: "released" }
        Signal { name: "canceled" }
        Signal { name: "clicked" }
        Signal { name: "pressAndHold" }
        Signal { name: "doubleClicked" }
        Method { name: "toggle" }
    }
    Component {
        name: "QQuickApplicationWindow"
        defaultProperty: "data"
        prototype: "QQuickWindowQmlImpl"
        exports: ["QtQuick.Templates/ApplicationWindow 2.0"]
        exportMetaObjectRevisions: [0]
        attachedType: "QQuickApplicationWindowAttached"
        Property { name: "background"; type: "QQuickItem"; isPointer: true }
        Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "activeFocusControl"; type: "QQuickItem"; isReadonly: true; isPointer: true }
        Property { name: "header"; type: "QQuickItem"; isPointer: true }
        Property { name: "footer"; type: "QQuickItem"; isPointer: true }
        Property { name: "overlay"; type: "QQuickOverlay"; isReadonly: true; isPointer: true }
        Property { name: "font"; type: "QFont" }
        Property { name: "locale"; type: "QLocale" }
    }
    Component {
        name: "QQuickApplicationWindowAttached"
        prototype: "QObject"
        Property { name: "window"; type: "QQuickApplicationWindow"; isReadonly: true; isPointer: true }
        Property { name: "contentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
        Property { name: "activeFocusControl"; type: "QQuickItem"; isReadonly: true; isPointer: true }
        Property { name: "header"; type: "QQuickItem"; isReadonly: true; isPointer: true }
        Property { name: "footer"; type: "QQuickItem"; isReadonly: true; isPointer: true }
        Property { name: "overlay"; type: "QQuickOverlay"; isReadonly: true; isPointer: true }
    }
    Component {
        name: "QQuickBusyIndicator"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/BusyIndicator 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "running"; type: "bool" }
    }
    Component {
        name: "QQuickButton"
        defaultProperty: "data"
        prototype: "QQuickAbstractButton"
        exports: ["QtQuick.Templates/Button 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "checkable"; type: "bool" }
        Property { name: "autoRepeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "flat"; type: "bool" }
    }
    Component {
        name: "QQuickCheckBox"
        defaultProperty: "data"
        prototype: "QQuickAbstractButton"
        exports: ["QtQuick.Templates/CheckBox 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "tristate"; type: "bool" }
        Property { name: "checkState"; type: "Qt::CheckState" }
    }
    Component {
        name: "QQuickCheckDelegate"
        defaultProperty: "data"
        prototype: "QQuickItemDelegate"
        exports: ["QtQuick.Templates/CheckDelegate 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "tristate"; type: "bool" }
        Property { name: "checkState"; type: "Qt::CheckState" }
    }
    Component {
        name: "QQuickComboBox"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/ComboBox 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "count"; type: "int"; isReadonly: true }
        Property { name: "model"; type: "QVariant" }
        Property { name: "delegateModel"; type: "QQmlInstanceModel"; isReadonly: true; isPointer: true }
        Property { name: "pressed"; type: "bool" }
        Property { name: "highlightedIndex"; type: "int"; isReadonly: true }
        Property { name: "currentIndex"; type: "int" }
        Property { name: "currentText"; type: "string"; isReadonly: true }
        Property { name: "displayText"; type: "string" }
        Property { name: "textRole"; type: "string" }
        Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
        Property { name: "indicator"; type: "QQuickItem"; isPointer: true }
        Property { name: "popup"; type: "QQuickPopup"; isPointer: true }
        Signal {
            name: "activated"
            Parameter { name: "index"; type: "int" }
        }
        Signal {
            name: "highlighted"
            Parameter { name: "index"; type: "int" }
        }
        Method { name: "incrementCurrentIndex" }
        Method { name: "decrementCurrentIndex" }
        Method {
            name: "textAt"
            type: "string"
            Parameter { name: "index"; type: "int" }
        }
        Method {
            name: "find"
            type: "int"
            Parameter { name: "text"; type: "string" }
            Parameter { name: "flags"; type: "Qt::MatchFlags" }
        }
        Method {
            name: "find"
            type: "int"
            Parameter { name: "text"; type: "string" }
        }
    }
    Component {
        name: "QQuickContainer"
        defaultProperty: "contentData"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/Container 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "count"; type: "int"; isReadonly: true }
        Property { name: "contentModel"; type: "QVariant"; isReadonly: true }
        Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "contentChildren"; type: "QQuickItem"; isList: true; isReadonly: true }
        Property { name: "currentIndex"; type: "int" }
        Property { name: "currentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
        Method {
            name: "setCurrentIndex"
            Parameter { name: "index"; type: "int" }
        }
        Method {
            name: "itemAt"
            type: "QQuickItem*"
            Parameter { name: "index"; type: "int" }
        }
        Method {
            name: "addItem"
            Parameter { name: "item"; type: "QQuickItem"; isPointer: true }
        }
        Method {
            name: "insertItem"
            Parameter { name: "index"; type: "int" }
            Parameter { name: "item"; type: "QQuickItem"; isPointer: true }
        }
        Method {
            name: "moveItem"
            Parameter { name: "from"; type: "int" }
            Parameter { name: "to"; type: "int" }
        }
        Method {
            name: "removeItem"
            Parameter { name: "index"; type: "int" }
        }
    }
    Component {
        name: "QQuickControl"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtQuick.Templates/Control 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "font"; type: "QFont" }
        Property { name: "availableWidth"; type: "double"; isReadonly: true }
        Property { name: "availableHeight"; type: "double"; isReadonly: true }
        Property { name: "padding"; type: "double" }
        Property { name: "topPadding"; type: "double" }
        Property { name: "leftPadding"; type: "double" }
        Property { name: "rightPadding"; type: "double" }
        Property { name: "bottomPadding"; type: "double" }
        Property { name: "spacing"; type: "double" }
        Property { name: "locale"; type: "QLocale" }
        Property { name: "mirrored"; type: "bool"; isReadonly: true }
        Property { name: "focusPolicy"; type: "Qt::FocusPolicy" }
        Property { name: "focusReason"; type: "Qt::FocusReason" }
        Property { name: "visualFocus"; type: "bool"; isReadonly: true }
        Property { name: "hovered"; type: "bool"; isReadonly: true }
        Property { name: "hoverEnabled"; type: "bool" }
        Property { name: "wheelEnabled"; type: "bool" }
        Property { name: "background"; type: "QQuickItem"; isPointer: true }
        Property { name: "contentItem"; type: "QQuickItem"; isPointer: true }
    }
    Component {
        name: "QQuickDial"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/Dial 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "SnapMode"
            values: {
                "NoSnap": 0,
                "SnapAlways": 1,
                "SnapOnRelease": 2
            }
        }
        Property { name: "from"; type: "double" }
        Property { name: "to"; type: "double" }
        Property { name: "value"; type: "double" }
        Property { name: "position"; type: "double"; isReadonly: true }
        Property { name: "angle"; type: "double"; isReadonly: true }
        Property { name: "stepSize"; type: "double" }
        Property { name: "snapMode"; type: "SnapMode" }
        Property { name: "wrap"; type: "bool" }
        Property { name: "pressed"; type: "bool"; isReadonly: true }
        Property { name: "handle"; type: "QQuickItem"; isPointer: true }
        Method { name: "increase" }
        Method { name: "decrease" }
    }
    Component {
        name: "QQuickDrawer"
        defaultProperty: "contentData"
        prototype: "QQuickPopup"
        exports: ["QtQuick.Templates/Drawer 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "edge"; type: "Qt::Edge" }
        Property { name: "position"; type: "double" }
        Property { name: "dragMargin"; type: "double" }
    }
    Component {
        name: "QQuickFrame"
        defaultProperty: "contentData"
        prototype: "QQuickPane"
        exports: ["QtQuick.Templates/Frame 2.0"]
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "QQuickGroupBox"
        defaultProperty: "contentData"
        prototype: "QQuickFrame"
        exports: ["QtQuick.Templates/GroupBox 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "title"; type: "string" }
        Property { name: "label"; type: "QQuickItem"; isPointer: true }
    }
    Component {
        name: "QQuickImplicitSizeItem"
        defaultProperty: "data"
        prototype: "QQuickItem"
        Property { name: "implicitWidth"; type: "double"; isReadonly: true }
        Property { name: "implicitHeight"; type: "double"; isReadonly: true }
        Signal { name: "implicitWidthChanged2"; revision: 1 }
        Signal { name: "implicitHeightChanged2"; revision: 1 }
    }
    Component {
        name: "QQuickItemDelegate"
        defaultProperty: "data"
        prototype: "QQuickAbstractButton"
        exports: ["QtQuick.Templates/ItemDelegate 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "highlighted"; type: "bool" }
    }
    Component {
        name: "QQuickLabel"
        defaultProperty: "data"
        prototype: "QQuickText"
        exports: ["QtQuick.Templates/Label 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "font"; type: "QFont" }
        Property { name: "background"; type: "QQuickItem"; isPointer: true }
    }
    Component {
        name: "QQuickMenu"
        defaultProperty: "contentData"
        prototype: "QQuickPopup"
        exports: ["QtQuick.Templates/Menu 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "contentModel"; type: "QVariant"; isReadonly: true }
        Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "title"; type: "string" }
        Method {
            name: "itemAt"
            type: "QQuickItem*"
            Parameter { name: "index"; type: "int" }
        }
        Method {
            name: "addItem"
            Parameter { name: "item"; type: "QQuickItem"; isPointer: true }
        }
        Method {
            name: "insertItem"
            Parameter { name: "index"; type: "int" }
            Parameter { name: "item"; type: "QQuickItem"; isPointer: true }
        }
        Method {
            name: "moveItem"
            Parameter { name: "from"; type: "int" }
            Parameter { name: "to"; type: "int" }
        }
        Method {
            name: "removeItem"
            Parameter { name: "index"; type: "int" }
        }
    }
    Component {
        name: "QQuickMenuItem"
        defaultProperty: "data"
        prototype: "QQuickAbstractButton"
        exports: ["QtQuick.Templates/MenuItem 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "checkable"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Signal { name: "triggered" }
    }
    Component {
        name: "QQuickOverlay"
        defaultProperty: "data"
        prototype: "QQuickItem"
        Property { name: "modal"; type: "QQuickItem"; isPointer: true }
        Property { name: "modeless"; type: "QQuickItem"; isPointer: true }
        Signal { name: "pressed" }
        Signal { name: "released" }
    }
    Component {
        name: "QQuickPage"
        defaultProperty: "contentData"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/Page 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "title"; type: "string" }
        Property { name: "header"; type: "QQuickItem"; isPointer: true }
        Property { name: "footer"; type: "QQuickItem"; isPointer: true }
        Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "contentChildren"; type: "QQuickItem"; isList: true; isReadonly: true }
    }
    Component {
        name: "QQuickPageIndicator"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/PageIndicator 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "count"; type: "int" }
        Property { name: "currentIndex"; type: "int" }
        Property { name: "interactive"; type: "bool" }
        Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
    }
    Component {
        name: "QQuickPane"
        defaultProperty: "contentData"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/Pane 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "contentWidth"; type: "double" }
        Property { name: "contentHeight"; type: "double" }
        Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "contentChildren"; type: "QQuickItem"; isList: true; isReadonly: true }
    }
    Component {
        name: "QQuickPopup"
        defaultProperty: "contentData"
        prototype: "QObject"
        exports: ["QtQuick.Templates/Popup 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "ClosePolicy"
            values: {
                "NoAutoClose": 0,
                "CloseOnPressOutside": 1,
                "CloseOnPressOutsideParent": 2,
                "CloseOnReleaseOutside": 4,
                "CloseOnReleaseOutsideParent": 8,
                "CloseOnEscape": 16
            }
        }
        Enum {
            name: "TransformOrigin"
            values: {
                "TopLeft": 0,
                "Top": 1,
                "TopRight": 2,
                "Left": 3,
                "Center": 4,
                "Right": 5,
                "BottomLeft": 6,
                "Bottom": 7,
                "BottomRight": 8
            }
        }
        Property { name: "x"; type: "double" }
        Property { name: "y"; type: "double" }
        Property { name: "z"; type: "double" }
        Property { name: "width"; type: "double" }
        Property { name: "height"; type: "double" }
        Property { name: "implicitWidth"; type: "double" }
        Property { name: "implicitHeight"; type: "double" }
        Property { name: "contentWidth"; type: "double" }
        Property { name: "contentHeight"; type: "double" }
        Property { name: "availableWidth"; type: "double"; isReadonly: true }
        Property { name: "availableHeight"; type: "double"; isReadonly: true }
        Property { name: "margins"; type: "double" }
        Property { name: "topMargin"; type: "double" }
        Property { name: "leftMargin"; type: "double" }
        Property { name: "rightMargin"; type: "double" }
        Property { name: "bottomMargin"; type: "double" }
        Property { name: "padding"; type: "double" }
        Property { name: "topPadding"; type: "double" }
        Property { name: "leftPadding"; type: "double" }
        Property { name: "rightPadding"; type: "double" }
        Property { name: "bottomPadding"; type: "double" }
        Property { name: "locale"; type: "QLocale" }
        Property { name: "font"; type: "QFont" }
        Property { name: "parent"; type: "QQuickItem"; isPointer: true }
        Property { name: "background"; type: "QQuickItem"; isPointer: true }
        Property { name: "contentItem"; type: "QQuickItem"; isPointer: true }
        Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "contentChildren"; type: "QQuickItem"; isList: true; isReadonly: true }
        Property { name: "clip"; type: "bool" }
        Property { name: "focus"; type: "bool" }
        Property { name: "activeFocus"; type: "bool"; isReadonly: true }
        Property { name: "modal"; type: "bool" }
        Property { name: "dim"; type: "bool" }
        Property { name: "visible"; type: "bool" }
        Property { name: "opacity"; type: "double" }
        Property { name: "scale"; type: "double" }
        Property { name: "closePolicy"; type: "ClosePolicy" }
        Property { name: "transformOrigin"; type: "TransformOrigin" }
        Property { name: "enter"; type: "QQuickTransition"; isPointer: true }
        Property { name: "exit"; type: "QQuickTransition"; isPointer: true }
        Signal {
            name: "windowChanged"
            Parameter { name: "window"; type: "QQuickWindow"; isPointer: true }
        }
        Signal { name: "aboutToShow" }
        Signal { name: "aboutToHide" }
        Signal { name: "opened" }
        Signal { name: "closed" }
        Method { name: "open" }
        Method { name: "close" }
    }
    Component {
        name: "QQuickProgressBar"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/ProgressBar 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "from"; type: "double" }
        Property { name: "to"; type: "double" }
        Property { name: "value"; type: "double" }
        Property { name: "position"; type: "double"; isReadonly: true }
        Property { name: "visualPosition"; type: "double"; isReadonly: true }
        Property { name: "indeterminate"; type: "bool" }
    }
    Component {
        name: "QQuickRadioButton"
        defaultProperty: "data"
        prototype: "QQuickAbstractButton"
        exports: ["QtQuick.Templates/RadioButton 2.0"]
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "QQuickRadioDelegate"
        defaultProperty: "data"
        prototype: "QQuickItemDelegate"
        exports: ["QtQuick.Templates/RadioDelegate 2.0"]
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "QQuickRangeSlider"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/RangeSlider 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "SnapMode"
            values: {
                "NoSnap": 0,
                "SnapAlways": 1,
                "SnapOnRelease": 2
            }
        }
        Property { name: "from"; type: "double" }
        Property { name: "to"; type: "double" }
        Property { name: "first"; type: "QQuickRangeSliderNode"; isReadonly: true; isPointer: true }
        Property { name: "second"; type: "QQuickRangeSliderNode"; isReadonly: true; isPointer: true }
        Property { name: "stepSize"; type: "double" }
        Property { name: "snapMode"; type: "SnapMode" }
        Property { name: "orientation"; type: "Qt::Orientation" }
        Method {
            name: "setValues"
            Parameter { name: "firstValue"; type: "double" }
            Parameter { name: "secondValue"; type: "double" }
        }
    }
    Component {
        name: "QQuickRangeSliderNode"
        prototype: "QObject"
        Property { name: "value"; type: "double" }
        Property { name: "position"; type: "double"; isReadonly: true }
        Property { name: "visualPosition"; type: "double"; isReadonly: true }
        Property { name: "handle"; type: "QQuickItem"; isPointer: true }
        Property { name: "pressed"; type: "bool" }
        Method { name: "increase" }
        Method { name: "decrease" }
    }
    Component {
        name: "QQuickRootItem"
        defaultProperty: "data"
        prototype: "QQuickItem"
        Method {
            name: "setWidth"
            Parameter { name: "w"; type: "int" }
        }
        Method {
            name: "setHeight"
            Parameter { name: "h"; type: "int" }
        }
    }
    Component {
        name: "QQuickScrollBar"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/ScrollBar 2.0"]
        exportMetaObjectRevisions: [0]
        attachedType: "QQuickScrollBarAttached"
        Property { name: "size"; type: "double" }
        Property { name: "position"; type: "double" }
        Property { name: "stepSize"; type: "double" }
        Property { name: "active"; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "orientation"; type: "Qt::Orientation" }
        Method { name: "increase" }
        Method { name: "decrease" }
        Method {
            name: "setSize"
            Parameter { name: "size"; type: "double" }
        }
        Method {
            name: "setPosition"
            Parameter { name: "position"; type: "double" }
        }
    }
    Component {
        name: "QQuickScrollBarAttached"
        prototype: "QObject"
        Property { name: "horizontal"; type: "QQuickScrollBar"; isPointer: true }
        Property { name: "vertical"; type: "QQuickScrollBar"; isPointer: true }
    }
    Component {
        name: "QQuickScrollIndicator"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/ScrollIndicator 2.0"]
        exportMetaObjectRevisions: [0]
        attachedType: "QQuickScrollIndicatorAttached"
        Property { name: "size"; type: "double" }
        Property { name: "position"; type: "double" }
        Property { name: "active"; type: "bool" }
        Property { name: "orientation"; type: "Qt::Orientation" }
        Method {
            name: "setSize"
            Parameter { name: "size"; type: "double" }
        }
        Method {
            name: "setPosition"
            Parameter { name: "position"; type: "double" }
        }
    }
    Component {
        name: "QQuickScrollIndicatorAttached"
        prototype: "QObject"
        Property { name: "horizontal"; type: "QQuickScrollIndicator"; isPointer: true }
        Property { name: "vertical"; type: "QQuickScrollIndicator"; isPointer: true }
    }
    Component {
        name: "QQuickSlider"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/Slider 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "SnapMode"
            values: {
                "NoSnap": 0,
                "SnapAlways": 1,
                "SnapOnRelease": 2
            }
        }
        Property { name: "from"; type: "double" }
        Property { name: "to"; type: "double" }
        Property { name: "value"; type: "double" }
        Property { name: "position"; type: "double"; isReadonly: true }
        Property { name: "visualPosition"; type: "double"; isReadonly: true }
        Property { name: "stepSize"; type: "double" }
        Property { name: "snapMode"; type: "SnapMode" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "orientation"; type: "Qt::Orientation" }
        Property { name: "handle"; type: "QQuickItem"; isPointer: true }
        Method { name: "increase" }
        Method { name: "decrease" }
    }
    Component {
        name: "QQuickSpinBox"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/SpinBox 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "from"; type: "int" }
        Property { name: "to"; type: "int" }
        Property { name: "value"; type: "int" }
        Property { name: "stepSize"; type: "int" }
        Property { name: "editable"; type: "bool" }
        Property { name: "validator"; type: "QValidator"; isPointer: true }
        Property { name: "textFromValue"; type: "QJSValue" }
        Property { name: "valueFromText"; type: "QJSValue" }
        Property { name: "up"; type: "QQuickSpinButton"; isReadonly: true; isPointer: true }
        Property { name: "down"; type: "QQuickSpinButton"; isReadonly: true; isPointer: true }
        Method { name: "increase" }
        Method { name: "decrease" }
    }
    Component {
        name: "QQuickSpinButton"
        prototype: "QObject"
        Property { name: "pressed"; type: "bool" }
        Property { name: "indicator"; type: "QQuickItem"; isPointer: true }
    }
    Component {
        name: "QQuickStackAttached"
        prototype: "QObject"
        Property { name: "index"; type: "int"; isReadonly: true }
        Property { name: "view"; type: "QQuickStackView"; isReadonly: true; isPointer: true }
        Property { name: "status"; type: "QQuickStackView::Status"; isReadonly: true }
    }
    Component {
        name: "QQuickStackView"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/StackView 2.0"]
        exportMetaObjectRevisions: [0]
        attachedType: "QQuickStackAttached"
        Enum {
            name: "Status"
            values: {
                "Inactive": 0,
                "Deactivating": 1,
                "Activating": 2,
                "Active": 3
            }
        }
        Enum {
            name: "LoadBehavior"
            values: {
                "DontLoad": 0,
                "ForceLoad": 1
            }
        }
        Enum {
            name: "Operation"
            values: {
                "Transition": 0,
                "Immediate": 1
            }
        }
        Property { name: "busy"; type: "bool"; isReadonly: true }
        Property { name: "depth"; type: "int"; isReadonly: true }
        Property { name: "currentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
        Property { name: "initialItem"; type: "QVariant" }
        Property { name: "popEnter"; type: "QQuickTransition"; isPointer: true }
        Property { name: "popExit"; type: "QQuickTransition"; isPointer: true }
        Property { name: "pushEnter"; type: "QQuickTransition"; isPointer: true }
        Property { name: "pushExit"; type: "QQuickTransition"; isPointer: true }
        Property { name: "replaceEnter"; type: "QQuickTransition"; isPointer: true }
        Property { name: "replaceExit"; type: "QQuickTransition"; isPointer: true }
        Method { name: "clear" }
        Method {
            name: "get"
            type: "QQuickItem*"
            Parameter { name: "index"; type: "int" }
            Parameter { name: "behavior"; type: "LoadBehavior" }
        }
        Method {
            name: "get"
            type: "QQuickItem*"
            Parameter { name: "index"; type: "int" }
        }
        Method {
            name: "find"
            type: "QQuickItem*"
            Parameter { name: "callback"; type: "QJSValue" }
            Parameter { name: "behavior"; type: "LoadBehavior" }
        }
        Method {
            name: "find"
            type: "QQuickItem*"
            Parameter { name: "callback"; type: "QJSValue" }
        }
        Method {
            name: "push"
            Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true }
        }
        Method {
            name: "pop"
            Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true }
        }
        Method {
            name: "replace"
            Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true }
        }
    }
    Component {
        name: "QQuickSwipe"
        prototype: "QObject"
        Property { name: "position"; type: "double"; isReadonly: true }
        Property { name: "complete"; type: "bool"; isReadonly: true }
        Property { name: "left"; type: "QQmlComponent"; isPointer: true }
        Property { name: "behind"; type: "QQmlComponent"; isPointer: true }
        Property { name: "right"; type: "QQmlComponent"; isPointer: true }
        Property { name: "leftItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
        Property { name: "behindItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
        Property { name: "rightItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
    }
    Component {
        name: "QQuickSwipeDelegate"
        defaultProperty: "data"
        prototype: "QQuickItemDelegate"
        exports: ["QtQuick.Templates/SwipeDelegate 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "swipe"; type: "QQuickSwipe"; isReadonly: true; isPointer: true }
    }
    Component {
        name: "QQuickSwipeView"
        defaultProperty: "contentData"
        prototype: "QQuickContainer"
        exports: ["QtQuick.Templates/SwipeView 2.0"]
        exportMetaObjectRevisions: [0]
        attachedType: "QQuickSwipeViewAttached"
    }
    Component {
        name: "QQuickSwipeViewAttached"
        prototype: "QObject"
        Property { name: "index"; type: "int"; isReadonly: true }
        Property { name: "isCurrentItem"; type: "bool"; isReadonly: true }
        Property { name: "view"; type: "QQuickSwipeView"; isReadonly: true; isPointer: true }
    }
    Component {
        name: "QQuickSwitch"
        defaultProperty: "data"
        prototype: "QQuickAbstractButton"
        exports: ["QtQuick.Templates/Switch 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "position"; type: "double" }
        Property { name: "visualPosition"; type: "double"; isReadonly: true }
    }
    Component {
        name: "QQuickSwitchDelegate"
        defaultProperty: "data"
        prototype: "QQuickItemDelegate"
        exports: ["QtQuick.Templates/SwitchDelegate 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "position"; type: "double" }
        Property { name: "visualPosition"; type: "double"; isReadonly: true }
    }
    Component {
        name: "QQuickTabBar"
        defaultProperty: "contentData"
        prototype: "QQuickContainer"
        exports: ["QtQuick.Templates/TabBar 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Position"
            values: {
                "Header": 0,
                "Footer": 1
            }
        }
        Property { name: "position"; type: "Position" }
    }
    Component {
        name: "QQuickTabButton"
        defaultProperty: "data"
        prototype: "QQuickAbstractButton"
        exports: ["QtQuick.Templates/TabButton 2.0"]
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "QQuickText"
        defaultProperty: "data"
        prototype: "QQuickImplicitSizeItem"
        Enum {
            name: "HAlignment"
            values: {
                "AlignLeft": 1,
                "AlignRight": 2,
                "AlignHCenter": 4,
                "AlignJustify": 8
            }
        }
        Enum {
            name: "VAlignment"
            values: {
                "AlignTop": 32,
                "AlignBottom": 64,
                "AlignVCenter": 128
            }
        }
        Enum {
            name: "TextStyle"
            values: {
                "Normal": 0,
                "Outline": 1,
                "Raised": 2,
                "Sunken": 3
            }
        }
        Enum {
            name: "TextFormat"
            values: {
                "PlainText": 0,
                "RichText": 1,
                "AutoText": 2,
                "StyledText": 4
            }
        }
        Enum {
            name: "TextElideMode"
            values: {
                "ElideLeft": 0,
                "ElideRight": 1,
                "ElideMiddle": 2,
                "ElideNone": 3
            }
        }
        Enum {
            name: "WrapMode"
            values: {
                "NoWrap": 0,
                "WordWrap": 1,
                "WrapAnywhere": 3,
                "WrapAtWordBoundaryOrAnywhere": 4,
                "Wrap": 4
            }
        }
        Enum {
            name: "RenderType"
            values: {
                "QtRendering": 0,
                "NativeRendering": 1
            }
        }
        Enum {
            name: "LineHeightMode"
            values: {
                "ProportionalHeight": 0,
                "FixedHeight": 1
            }
        }
        Enum {
            name: "FontSizeMode"
            values: {
                "FixedSize": 0,
                "HorizontalFit": 1,
                "VerticalFit": 2,
                "Fit": 3
            }
        }
        Property { name: "text"; type: "string" }
        Property { name: "font"; type: "QFont" }
        Property { name: "color"; type: "QColor" }
        Property { name: "linkColor"; type: "QColor" }
        Property { name: "style"; type: "TextStyle" }
        Property { name: "styleColor"; type: "QColor" }
        Property { name: "horizontalAlignment"; type: "HAlignment" }
        Property { name: "effectiveHorizontalAlignment"; type: "HAlignment"; isReadonly: true }
        Property { name: "verticalAlignment"; type: "VAlignment" }
        Property { name: "wrapMode"; type: "WrapMode" }
        Property { name: "lineCount"; type: "int"; isReadonly: true }
        Property { name: "truncated"; type: "bool"; isReadonly: true }
        Property { name: "maximumLineCount"; type: "int" }
        Property { name: "textFormat"; type: "TextFormat" }
        Property { name: "elide"; type: "TextElideMode" }
        Property { name: "contentWidth"; type: "double"; isReadonly: true }
        Property { name: "contentHeight"; type: "double"; isReadonly: true }
        Property { name: "paintedWidth"; type: "double"; isReadonly: true }
        Property { name: "paintedHeight"; type: "double"; isReadonly: true }
        Property { name: "lineHeight"; type: "double" }
        Property { name: "lineHeightMode"; type: "LineHeightMode" }
        Property { name: "baseUrl"; type: "QUrl" }
        Property { name: "minimumPixelSize"; type: "int" }
        Property { name: "minimumPointSize"; type: "int" }
        Property { name: "fontSizeMode"; type: "FontSizeMode" }
        Property { name: "renderType"; type: "RenderType" }
        Property { name: "hoveredLink"; revision: 2; type: "string"; isReadonly: true }
        Property { name: "padding"; revision: 6; type: "double" }
        Property { name: "topPadding"; revision: 6; type: "double" }
        Property { name: "leftPadding"; revision: 6; type: "double" }
        Property { name: "rightPadding"; revision: 6; type: "double" }
        Property { name: "bottomPadding"; revision: 6; type: "double" }
        Signal {
            name: "textChanged"
            Parameter { name: "text"; type: "string" }
        }
        Signal {
            name: "linkActivated"
            Parameter { name: "link"; type: "string" }
        }
        Signal {
            name: "linkHovered"
            revision: 2
            Parameter { name: "link"; type: "string" }
        }
        Signal {
            name: "fontChanged"
            Parameter { name: "font"; type: "QFont" }
        }
        Signal {
            name: "styleChanged"
            Parameter { name: "style"; type: "QQuickText::TextStyle" }
        }
        Signal {
            name: "horizontalAlignmentChanged"
            Parameter { name: "alignment"; type: "QQuickText::HAlignment" }
        }
        Signal {
            name: "verticalAlignmentChanged"
            Parameter { name: "alignment"; type: "QQuickText::VAlignment" }
        }
        Signal {
            name: "textFormatChanged"
            Parameter { name: "textFormat"; type: "QQuickText::TextFormat" }
        }
        Signal {
            name: "elideModeChanged"
            Parameter { name: "mode"; type: "QQuickText::TextElideMode" }
        }
        Signal { name: "contentSizeChanged" }
        Signal {
            name: "lineHeightChanged"
            Parameter { name: "lineHeight"; type: "double" }
        }
        Signal {
            name: "lineHeightModeChanged"
            Parameter { name: "mode"; type: "LineHeightMode" }
        }
        Signal {
            name: "lineLaidOut"
            Parameter { name: "line"; type: "QQuickTextLine"; isPointer: true }
        }
        Signal { name: "paddingChanged"; revision: 6 }
        Signal { name: "topPaddingChanged"; revision: 6 }
        Signal { name: "leftPaddingChanged"; revision: 6 }
        Signal { name: "rightPaddingChanged"; revision: 6 }
        Signal { name: "bottomPaddingChanged"; revision: 6 }
        Method { name: "doLayout" }
        Method {
            name: "linkAt"
            revision: 3
            type: "string"
            Parameter { name: "x"; type: "double" }
            Parameter { name: "y"; type: "double" }
        }
    }
    Component {
        name: "QQuickTextArea"
        defaultProperty: "data"
        prototype: "QQuickTextEdit"
        exports: ["QtQuick.Templates/TextArea 2.0"]
        exportMetaObjectRevisions: [0]
        attachedType: "QQuickTextAreaAttached"
        Property { name: "font"; type: "QFont" }
        Property { name: "implicitWidth"; type: "double" }
        Property { name: "implicitHeight"; type: "double" }
        Property { name: "background"; type: "QQuickItem"; isPointer: true }
        Property { name: "placeholderText"; type: "string" }
        Property { name: "focusReason"; type: "Qt::FocusReason" }
        Signal { name: "implicitWidthChanged3" }
        Signal { name: "implicitHeightChanged3" }
        Signal {
            name: "pressAndHold"
            Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true }
        }
    }
    Component {
        name: "QQuickTextAreaAttached"
        prototype: "QObject"
        Property { name: "flickable"; type: "QQuickTextArea"; isPointer: true }
    }
    Component {
        name: "QQuickTextEdit"
        defaultProperty: "data"
        prototype: "QQuickImplicitSizeItem"
        Enum {
            name: "HAlignment"
            values: {
                "AlignLeft": 1,
                "AlignRight": 2,
                "AlignHCenter": 4,
                "AlignJustify": 8
            }
        }
        Enum {
            name: "VAlignment"
            values: {
                "AlignTop": 32,
                "AlignBottom": 64,
                "AlignVCenter": 128
            }
        }
        Enum {
            name: "TextFormat"
            values: {
                "PlainText": 0,
                "RichText": 1,
                "AutoText": 2
            }
        }
        Enum {
            name: "WrapMode"
            values: {
                "NoWrap": 0,
                "WordWrap": 1,
                "WrapAnywhere": 3,
                "WrapAtWordBoundaryOrAnywhere": 4,
                "Wrap": 4
            }
        }
        Enum {
            name: "SelectionMode"
            values: {
                "SelectCharacters": 0,
                "SelectWords": 1
            }
        }
        Enum {
            name: "RenderType"
            values: {
                "QtRendering": 0,
                "NativeRendering": 1
            }
        }
        Property { name: "text"; type: "string" }
        Property { name: "color"; type: "QColor" }
        Property { name: "selectionColor"; type: "QColor" }
        Property { name: "selectedTextColor"; type: "QColor" }
        Property { name: "font"; type: "QFont" }
        Property { name: "horizontalAlignment"; type: "HAlignment" }
        Property { name: "effectiveHorizontalAlignment"; type: "HAlignment"; isReadonly: true }
        Property { name: "verticalAlignment"; type: "VAlignment" }
        Property { name: "wrapMode"; type: "WrapMode" }
        Property { name: "lineCount"; type: "int"; isReadonly: true }
        Property { name: "length"; type: "int"; isReadonly: true }
        Property { name: "contentWidth"; type: "double"; isReadonly: true }
        Property { name: "contentHeight"; type: "double"; isReadonly: true }
        Property { name: "paintedWidth"; type: "double"; isReadonly: true }
        Property { name: "paintedHeight"; type: "double"; isReadonly: true }
        Property { name: "textFormat"; type: "TextFormat" }
        Property { name: "readOnly"; type: "bool" }
        Property { name: "cursorVisible"; type: "bool" }
        Property { name: "cursorPosition"; type: "int" }
        Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true }
        Property { name: "cursorDelegate"; type: "QQmlComponent"; isPointer: true }
        Property { name: "selectionStart"; type: "int"; isReadonly: true }
        Property { name: "selectionEnd"; type: "int"; isReadonly: true }
        Property { name: "selectedText"; type: "string"; isReadonly: true }
        Property { name: "activeFocusOnPress"; type: "bool" }
        Property { name: "persistentSelection"; type: "bool" }
        Property { name: "textMargin"; type: "double" }
        Property { name: "inputMethodHints"; type: "Qt::InputMethodHints" }
        Property { name: "selectByKeyboard"; revision: 1; type: "bool" }
        Property { name: "selectByMouse"; type: "bool" }
        Property { name: "mouseSelectionMode"; type: "SelectionMode" }
        Property { name: "canPaste"; type: "bool"; isReadonly: true }
        Property { name: "canUndo"; type: "bool"; isReadonly: true }
        Property { name: "canRedo"; type: "bool"; isReadonly: true }
        Property { name: "inputMethodComposing"; type: "bool"; isReadonly: true }
        Property { name: "baseUrl"; type: "QUrl" }
        Property { name: "renderType"; type: "RenderType" }
        Property {
            name: "textDocument"
            revision: 1
            type: "QQuickTextDocument"
            isReadonly: true
            isPointer: true
        }
        Property { name: "hoveredLink"; revision: 2; type: "string"; isReadonly: true }
        Property { name: "padding"; revision: 6; type: "double" }
        Property { name: "topPadding"; revision: 6; type: "double" }
        Property { name: "leftPadding"; revision: 6; type: "double" }
        Property { name: "rightPadding"; revision: 6; type: "double" }
        Property { name: "bottomPadding"; revision: 6; type: "double" }
        Property { name: "preeditText"; revision: 7; type: "string"; isReadonly: true }
        Signal { name: "preeditTextChanged"; revision: 7 }
        Signal { name: "contentSizeChanged" }
        Signal {
            name: "colorChanged"
            Parameter { name: "color"; type: "QColor" }
        }
        Signal {
            name: "selectionColorChanged"
            Parameter { name: "color"; type: "QColor" }
        }
        Signal {
            name: "selectedTextColorChanged"
            Parameter { name: "color"; type: "QColor" }
        }
        Signal {
            name: "fontChanged"
            Parameter { name: "font"; type: "QFont" }
        }
        Signal {
            name: "horizontalAlignmentChanged"
            Parameter { name: "alignment"; type: "QQuickTextEdit::HAlignment" }
        }
        Signal {
            name: "verticalAlignmentChanged"
            Parameter { name: "alignment"; type: "QQuickTextEdit::VAlignment" }
        }
        Signal {
            name: "textFormatChanged"
            Parameter { name: "textFormat"; type: "QQuickTextEdit::TextFormat" }
        }
        Signal {
            name: "readOnlyChanged"
            Parameter { name: "isReadOnly"; type: "bool" }
        }
        Signal {
            name: "cursorVisibleChanged"
            Parameter { name: "isCursorVisible"; type: "bool" }
        }
        Signal {
            name: "activeFocusOnPressChanged"
            Parameter { name: "activeFocusOnPressed"; type: "bool" }
        }
        Signal {
            name: "persistentSelectionChanged"
            Parameter { name: "isPersistentSelection"; type: "bool" }
        }
        Signal {
            name: "textMarginChanged"
            Parameter { name: "textMargin"; type: "double" }
        }
        Signal {
            name: "selectByKeyboardChanged"
            revision: 1
            Parameter { name: "selectByKeyboard"; type: "bool" }
        }
        Signal {
            name: "selectByMouseChanged"
            Parameter { name: "selectByMouse"; type: "bool" }
        }
        Signal {
            name: "mouseSelectionModeChanged"
            Parameter { name: "mode"; type: "QQuickTextEdit::SelectionMode" }
        }
        Signal {
            name: "linkActivated"
            Parameter { name: "link"; type: "string" }
        }
        Signal {
            name: "linkHovered"
            revision: 2
            Parameter { name: "link"; type: "string" }
        }
        Signal { name: "editingFinished"; revision: 6 }
        Signal { name: "paddingChanged"; revision: 6 }
        Signal { name: "topPaddingChanged"; revision: 6 }
        Signal { name: "leftPaddingChanged"; revision: 6 }
        Signal { name: "rightPaddingChanged"; revision: 6 }
        Signal { name: "bottomPaddingChanged"; revision: 6 }
        Method { name: "selectAll" }
        Method { name: "selectWord" }
        Method {
            name: "select"
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
        }
        Method { name: "deselect" }
        Method {
            name: "isRightToLeft"
            type: "bool"
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
        }
        Method { name: "cut" }
        Method { name: "copy" }
        Method { name: "paste" }
        Method { name: "undo" }
        Method { name: "redo" }
        Method {
            name: "insert"
            Parameter { name: "position"; type: "int" }
            Parameter { name: "text"; type: "string" }
        }
        Method {
            name: "remove"
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
        }
        Method {
            name: "append"
            revision: 2
            Parameter { name: "text"; type: "string" }
        }
        Method { name: "clear"; revision: 7 }
        Method {
            name: "inputMethodQuery"
            revision: 4
            type: "QVariant"
            Parameter { name: "query"; type: "Qt::InputMethodQuery" }
            Parameter { name: "argument"; type: "QVariant" }
        }
        Method {
            name: "positionToRectangle"
            type: "QRectF"
            Parameter { type: "int" }
        }
        Method {
            name: "positionAt"
            type: "int"
            Parameter { name: "x"; type: "double" }
            Parameter { name: "y"; type: "double" }
        }
        Method {
            name: "moveCursorSelection"
            Parameter { name: "pos"; type: "int" }
        }
        Method {
            name: "moveCursorSelection"
            Parameter { name: "pos"; type: "int" }
            Parameter { name: "mode"; type: "SelectionMode" }
        }
        Method {
            name: "getText"
            type: "string"
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
        }
        Method {
            name: "getFormattedText"
            type: "string"
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
        }
        Method {
            name: "linkAt"
            revision: 3
            type: "string"
            Parameter { name: "x"; type: "double" }
            Parameter { name: "y"; type: "double" }
        }
    }
    Component {
        name: "QQuickTextField"
        defaultProperty: "data"
        prototype: "QQuickTextInput"
        exports: ["QtQuick.Templates/TextField 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "font"; type: "QFont" }
        Property { name: "implicitWidth"; type: "double" }
        Property { name: "implicitHeight"; type: "double" }
        Property { name: "background"; type: "QQuickItem"; isPointer: true }
        Property { name: "placeholderText"; type: "string" }
        Property { name: "focusReason"; type: "Qt::FocusReason" }
        Signal { name: "implicitWidthChanged3" }
        Signal { name: "implicitHeightChanged3" }
        Signal {
            name: "pressAndHold"
            Parameter { name: "mouse"; type: "QQuickMouseEvent"; isPointer: true }
        }
    }
    Component {
        name: "QQuickTextInput"
        defaultProperty: "data"
        prototype: "QQuickImplicitSizeItem"
        Enum {
            name: "EchoMode"
            values: {
                "Normal": 0,
                "NoEcho": 1,
                "Password": 2,
                "PasswordEchoOnEdit": 3
            }
        }
        Enum {
            name: "HAlignment"
            values: {
                "AlignLeft": 1,
                "AlignRight": 2,
                "AlignHCenter": 4
            }
        }
        Enum {
            name: "VAlignment"
            values: {
                "AlignTop": 32,
                "AlignBottom": 64,
                "AlignVCenter": 128
            }
        }
        Enum {
            name: "WrapMode"
            values: {
                "NoWrap": 0,
                "WordWrap": 1,
                "WrapAnywhere": 3,
                "WrapAtWordBoundaryOrAnywhere": 4,
                "Wrap": 4
            }
        }
        Enum {
            name: "SelectionMode"
            values: {
                "SelectCharacters": 0,
                "SelectWords": 1
            }
        }
        Enum {
            name: "CursorPosition"
            values: {
                "CursorBetweenCharacters": 0,
                "CursorOnCharacter": 1
            }
        }
        Enum {
            name: "RenderType"
            values: {
                "QtRendering": 0,
                "NativeRendering": 1
            }
        }
        Property { name: "text"; type: "string" }
        Property { name: "length"; type: "int"; isReadonly: true }
        Property { name: "color"; type: "QColor" }
        Property { name: "selectionColor"; type: "QColor" }
        Property { name: "selectedTextColor"; type: "QColor" }
        Property { name: "font"; type: "QFont" }
        Property { name: "horizontalAlignment"; type: "HAlignment" }
        Property { name: "effectiveHorizontalAlignment"; type: "HAlignment"; isReadonly: true }
        Property { name: "verticalAlignment"; type: "VAlignment" }
        Property { name: "wrapMode"; type: "WrapMode" }
        Property { name: "readOnly"; type: "bool" }
        Property { name: "cursorVisible"; type: "bool" }
        Property { name: "cursorPosition"; type: "int" }
        Property { name: "cursorRectangle"; type: "QRectF"; isReadonly: true }
        Property { name: "cursorDelegate"; type: "QQmlComponent"; isPointer: true }
        Property { name: "selectionStart"; type: "int"; isReadonly: true }
        Property { name: "selectionEnd"; type: "int"; isReadonly: true }
        Property { name: "selectedText"; type: "string"; isReadonly: true }
        Property { name: "maximumLength"; type: "int" }
        Property { name: "validator"; type: "QValidator"; isPointer: true }
        Property { name: "inputMask"; type: "string" }
        Property { name: "inputMethodHints"; type: "Qt::InputMethodHints" }
        Property { name: "acceptableInput"; type: "bool"; isReadonly: true }
        Property { name: "echoMode"; type: "EchoMode" }
        Property { name: "activeFocusOnPress"; type: "bool" }
        Property { name: "passwordCharacter"; type: "string" }
        Property { name: "passwordMaskDelay"; revision: 3; type: "int" }
        Property { name: "displayText"; type: "string"; isReadonly: true }
        Property { name: "preeditText"; revision: 7; type: "string"; isReadonly: true }
        Property { name: "autoScroll"; type: "bool" }
        Property { name: "selectByMouse"; type: "bool" }
        Property { name: "mouseSelectionMode"; type: "SelectionMode" }
        Property { name: "persistentSelection"; type: "bool" }
        Property { name: "canPaste"; type: "bool"; isReadonly: true }
        Property { name: "canUndo"; type: "bool"; isReadonly: true }
        Property { name: "canRedo"; type: "bool"; isReadonly: true }
        Property { name: "inputMethodComposing"; type: "bool"; isReadonly: true }
        Property { name: "contentWidth"; type: "double"; isReadonly: true }
        Property { name: "contentHeight"; type: "double"; isReadonly: true }
        Property { name: "renderType"; type: "RenderType" }
        Property { name: "padding"; revision: 6; type: "double" }
        Property { name: "topPadding"; revision: 6; type: "double" }
        Property { name: "leftPadding"; revision: 6; type: "double" }
        Property { name: "rightPadding"; revision: 6; type: "double" }
        Property { name: "bottomPadding"; revision: 6; type: "double" }
        Signal { name: "accepted" }
        Signal { name: "editingFinished"; revision: 2 }
        Signal {
            name: "fontChanged"
            Parameter { name: "font"; type: "QFont" }
        }
        Signal {
            name: "horizontalAlignmentChanged"
            Parameter { name: "alignment"; type: "QQuickTextInput::HAlignment" }
        }
        Signal {
            name: "verticalAlignmentChanged"
            Parameter { name: "alignment"; type: "QQuickTextInput::VAlignment" }
        }
        Signal {
            name: "readOnlyChanged"
            Parameter { name: "isReadOnly"; type: "bool" }
        }
        Signal {
            name: "cursorVisibleChanged"
            Parameter { name: "isCursorVisible"; type: "bool" }
        }
        Signal {
            name: "maximumLengthChanged"
            Parameter { name: "maximumLength"; type: "int" }
        }
        Signal {
            name: "inputMaskChanged"
            Parameter { name: "inputMask"; type: "string" }
        }
        Signal {
            name: "echoModeChanged"
            Parameter { name: "echoMode"; type: "QQuickTextInput::EchoMode" }
        }
        Signal {
            name: "passwordMaskDelayChanged"
            revision: 3
            Parameter { name: "delay"; type: "int" }
        }
        Signal { name: "preeditTextChanged"; revision: 7 }
        Signal {
            name: "activeFocusOnPressChanged"
            Parameter { name: "activeFocusOnPress"; type: "bool" }
        }
        Signal {
            name: "autoScrollChanged"
            Parameter { name: "autoScroll"; type: "bool" }
        }
        Signal {
            name: "selectByMouseChanged"
            Parameter { name: "selectByMouse"; type: "bool" }
        }
        Signal {
            name: "mouseSelectionModeChanged"
            Parameter { name: "mode"; type: "QQuickTextInput::SelectionMode" }
        }
        Signal { name: "contentSizeChanged" }
        Signal { name: "paddingChanged"; revision: 6 }
        Signal { name: "topPaddingChanged"; revision: 6 }
        Signal { name: "leftPaddingChanged"; revision: 6 }
        Signal { name: "rightPaddingChanged"; revision: 6 }
        Signal { name: "bottomPaddingChanged"; revision: 6 }
        Method { name: "selectAll" }
        Method { name: "selectWord" }
        Method {
            name: "select"
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
        }
        Method { name: "deselect" }
        Method {
            name: "isRightToLeft"
            type: "bool"
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
        }
        Method { name: "cut" }
        Method { name: "copy" }
        Method { name: "paste" }
        Method { name: "undo" }
        Method { name: "redo" }
        Method {
            name: "insert"
            Parameter { name: "position"; type: "int" }
            Parameter { name: "text"; type: "string" }
        }
        Method {
            name: "remove"
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
        }
        Method {
            name: "ensureVisible"
            revision: 3
            Parameter { name: "position"; type: "int" }
        }
        Method { name: "clear"; revision: 7 }
        Method {
            name: "positionAt"
            Parameter { name: "args"; type: "QQmlV4Function"; isPointer: true }
        }
        Method {
            name: "positionToRectangle"
            type: "QRectF"
            Parameter { name: "pos"; type: "int" }
        }
        Method {
            name: "moveCursorSelection"
            Parameter { name: "pos"; type: "int" }
        }
        Method {
            name: "moveCursorSelection"
            Parameter { name: "pos"; type: "int" }
            Parameter { name: "mode"; type: "SelectionMode" }
        }
        Method {
            name: "inputMethodQuery"
            revision: 3
            type: "QVariant"
            Parameter { name: "query"; type: "Qt::InputMethodQuery" }
            Parameter { name: "argument"; type: "QVariant" }
        }
        Method {
            name: "getText"
            type: "string"
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
        }
    }
    Component {
        name: "QQuickToolBar"
        defaultProperty: "contentData"
        prototype: "QQuickFrame"
        exports: ["QtQuick.Templates/ToolBar 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Position"
            values: {
                "Header": 0,
                "Footer": 1
            }
        }
        Property { name: "position"; type: "Position" }
    }
    Component {
        name: "QQuickToolButton"
        defaultProperty: "data"
        prototype: "QQuickButton"
        exports: ["QtQuick.Templates/ToolButton 2.0"]
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "QQuickToolTip"
        defaultProperty: "contentData"
        prototype: "QQuickPopup"
        exports: ["QtQuick.Templates/ToolTip 2.0"]
        exportMetaObjectRevisions: [0]
        attachedType: "QQuickToolTipAttached"
        Property { name: "delay"; type: "int" }
        Property { name: "timeout"; type: "int" }
        Property { name: "text"; type: "string" }
        Method { name: "open" }
        Method { name: "close" }
    }
    Component {
        name: "QQuickToolTipAttached"
        prototype: "QObject"
        Property { name: "text"; type: "string" }
        Property { name: "delay"; type: "int" }
        Property { name: "timeout"; type: "int" }
        Property { name: "visible"; type: "bool" }
        Property { name: "toolTip"; type: "QQuickToolTip"; isReadonly: true; isPointer: true }
        Method {
            name: "show"
            Parameter { name: "text"; type: "string" }
            Parameter { name: "ms"; type: "int" }
        }
        Method {
            name: "show"
            Parameter { name: "text"; type: "string" }
        }
        Method { name: "hide" }
    }
    Component {
        name: "QQuickTumbler"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/Tumbler 2.0"]
        exportMetaObjectRevisions: [0]
        attachedType: "QQuickTumblerAttached"
        Property { name: "model"; type: "QVariant" }
        Property { name: "count"; type: "int"; isReadonly: true }
        Property { name: "currentIndex"; type: "int" }
        Property { name: "currentItem"; type: "QQuickItem"; isReadonly: true; isPointer: true }
        Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
        Property { name: "visibleItemCount"; type: "int" }
    }
    Component {
        name: "QQuickTumblerAttached"
        prototype: "QObject"
        Property { name: "tumbler"; type: "QQuickTumbler"; isReadonly: true; isPointer: true }
        Property { name: "displacement"; type: "double"; isReadonly: true }
    }
}
