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 -dependencies dependencies.json QtQuick.Templates 2.2'

Module {
    dependencies: ["QtQuick 2.9", "QtQuick.Window 2.2"]
    Component {
        name: "QQuickAbstractButton"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: [
            "QtQuick.Templates/AbstractButton 2.0",
            "QtQuick.Templates/AbstractButton 2.2"
        ]
        exportMetaObjectRevisions: [0, 2]
        Property { name: "text"; type: "string" }
        Property { name: "down"; type: "bool" }
        Property { name: "pressed"; type: "bool"; isReadonly: true }
        Property { name: "checked"; type: "bool" }
        Property { name: "checkable"; 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: "toggled"; revision: 2 }
        Signal { name: "pressAndHold" }
        Signal { name: "doubleClicked" }
        Method { name: "toggle" }
    }
    Component {
        name: "QQuickApplicationWindow"
        defaultProperty: "contentData"
        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: "contentData"; 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: "autoRepeat"; type: "bool" }
        Property { name: "highlighted"; type: "bool" }
        Property { name: "flat"; type: "bool" }
    }
    Component {
        name: "QQuickButtonGroup"
        prototype: "QObject"
        exports: [
            "QtQuick.Templates/ButtonGroup 2.0",
            "QtQuick.Templates/ButtonGroup 2.1"
        ]
        exportMetaObjectRevisions: [0, 1]
        attachedType: "QQuickButtonGroupAttached"
        Property { name: "checkedButton"; type: "QQuickAbstractButton"; isPointer: true }
        Property { name: "buttons"; type: "QQuickAbstractButton"; isList: true; isReadonly: true }
        Signal {
            name: "clicked"
            revision: 1
            Parameter { name: "button"; type: "QQuickAbstractButton"; isPointer: 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: "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",
            "QtQuick.Templates/ComboBox 2.1",
            "QtQuick.Templates/ComboBox 2.2"
        ]
        exportMetaObjectRevisions: [0, 1, 2]
        Property { name: "count"; type: "int"; isReadonly: true }
        Property { name: "model"; type: "QVariant" }
        Property { name: "delegateModel"; type: "QQmlInstanceModel"; isReadonly: true; isPointer: true }
        Property { name: "editable"; revision: 2; type: "bool" }
        Property { name: "flat"; revision: 1; type: "bool" }
        Property { name: "down"; revision: 2; type: "bool" }
        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: "editText"; revision: 2; 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 }
        Property { name: "validator"; revision: 2; type: "QValidator"; isPointer: true }
        Property { name: "inputMethodHints"; revision: 2; type: "Qt::InputMethodHints" }
        Property { name: "inputMethodComposing"; revision: 2; type: "bool"; isReadonly: true }
        Property { name: "acceptableInput"; revision: 2; type: "bool"; isReadonly: true }
        Signal { name: "editableChanged"; revision: 2 }
        Signal { name: "flatChanged"; revision: 1 }
        Signal { name: "downChanged"; revision: 2 }
        Signal { name: "editTextChanged"; revision: 2 }
        Signal { name: "validatorChanged"; revision: 2 }
        Signal { name: "inputMethodHintsChanged"; revision: 2 }
        Signal { name: "inputMethodComposingChanged"; revision: 2 }
        Signal { name: "acceptableInputChanged"; revision: 2 }
        Signal {
            name: "activated"
            Parameter { name: "index"; type: "int" }
        }
        Signal {
            name: "highlighted"
            Parameter { name: "index"; type: "int" }
        }
        Signal { name: "accepted"; revision: 2 }
        Method { name: "incrementCurrentIndex" }
        Method { name: "decrementCurrentIndex" }
        Method { name: "selectAll"; revision: 2 }
        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",
            "QtQuick.Templates/Container 2.1"
        ]
        exportMetaObjectRevisions: [0, 1]
        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: "incrementCurrentIndex"; revision: 1 }
        Method { name: "decrementCurrentIndex"; revision: 1 }
        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: "QQuickDelayButton"
        defaultProperty: "data"
        prototype: "QQuickAbstractButton"
        exports: ["QtQuick.Templates/DelayButton 2.2"]
        exportMetaObjectRevisions: [0]
        Property { name: "delay"; type: "int" }
        Property { name: "progress"; type: "double" }
        Property { name: "transition"; type: "QQuickTransition"; isPointer: true }
        Signal { name: "activated" }
    }
    Component {
        name: "QQuickDial"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/Dial 2.0", "QtQuick.Templates/Dial 2.2"]
        exportMetaObjectRevisions: [0, 2]
        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: "live"; revision: 2; type: "bool" }
        Property { name: "handle"; type: "QQuickItem"; isPointer: true }
        Signal { name: "liveChanged"; revision: 2 }
        Signal { name: "moved"; revision: 2 }
        Method { name: "increase" }
        Method { name: "decrease" }
    }
    Component {
        name: "QQuickDialog"
        defaultProperty: "contentData"
        prototype: "QQuickPopup"
        exports: ["QtQuick.Templates/Dialog 2.1"]
        exportMetaObjectRevisions: [0]
        Property { name: "title"; type: "string" }
        Property { name: "header"; type: "QQuickItem"; isPointer: true }
        Property { name: "footer"; type: "QQuickItem"; isPointer: true }
        Property { name: "standardButtons"; type: "QPlatformDialogHelper::StandardButtons" }
        Signal { name: "accepted" }
        Signal { name: "rejected" }
        Method { name: "accept" }
        Method { name: "reject" }
    }
    Component {
        name: "QQuickDialogButtonBox"
        defaultProperty: "contentData"
        prototype: "QQuickContainer"
        exports: ["QtQuick.Templates/DialogButtonBox 2.1"]
        exportMetaObjectRevisions: [0]
        attachedType: "QQuickDialogButtonBoxAttached"
        Enum {
            name: "Position"
            values: {
                "Header": 0,
                "Footer": 1
            }
        }
        Property { name: "position"; type: "Position" }
        Property { name: "alignment"; type: "Qt::Alignment" }
        Property { name: "standardButtons"; type: "QPlatformDialogHelper::StandardButtons" }
        Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "accepted" }
        Signal { name: "rejected" }
        Signal { name: "helpRequested" }
        Signal {
            name: "clicked"
            Parameter { name: "button"; type: "QQuickAbstractButton"; isPointer: true }
        }
        Method {
            name: "standardButton"
            type: "QQuickAbstractButton*"
            Parameter { name: "button"; type: "QPlatformDialogHelper::StandardButton" }
        }
    }
    Component {
        name: "QQuickDialogButtonBoxAttached"
        prototype: "QObject"
        Property { name: "buttonBox"; type: "QQuickDialogButtonBox"; isReadonly: true; isPointer: true }
        Property { name: "buttonRole"; type: "QPlatformDialogHelper::ButtonRole" }
    }
    Component {
        name: "QQuickDrawer"
        defaultProperty: "contentData"
        prototype: "QQuickPopup"
        exports: [
            "QtQuick.Templates/Drawer 2.0",
            "QtQuick.Templates/Drawer 2.2"
        ]
        exportMetaObjectRevisions: [0, 2]
        Property { name: "edge"; type: "Qt::Edge" }
        Property { name: "position"; type: "double" }
        Property { name: "dragMargin"; type: "double" }
        Property { name: "interactive"; revision: 2; type: "bool" }
        Signal { name: "interactiveChanged"; revision: 2 }
    }
    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: "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: "highlighted"; type: "bool" }
        Signal { name: "triggered" }
    }
    Component {
        name: "QQuickMenuSeparator"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/MenuSeparator 2.1"]
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "QQuickOverlay"
        defaultProperty: "data"
        prototype: "QQuickItem"
        Property { name: "modal"; type: "QQmlComponent"; isPointer: true }
        Property { name: "modeless"; type: "QQmlComponent"; isPointer: true }
        Signal { name: "pressed" }
        Signal { name: "released" }
    }
    Component {
        name: "QQuickPage"
        defaultProperty: "contentData"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/Page 2.0", "QtQuick.Templates/Page 2.1"]
        exportMetaObjectRevisions: [0, 1]
        Property { name: "title"; type: "string" }
        Property { name: "header"; type: "QQuickItem"; isPointer: true }
        Property { name: "footer"; type: "QQuickItem"; isPointer: true }
        Property { name: "contentWidth"; revision: 1; type: "double" }
        Property { name: "contentHeight"; revision: 1; type: "double" }
        Property { name: "contentData"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "contentChildren"; type: "QQuickItem"; isList: true; isReadonly: true }
        Signal { name: "contentWidthChanged"; revision: 1 }
        Signal { name: "contentHeightChanged"; revision: 1 }
    }
    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",
            "QtQuick.Templates/Popup 2.1"
        ]
        exportMetaObjectRevisions: [0, 1]
        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: "spacing"; revision: 1; type: "double" }
        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: "spacingChanged"; revision: 1 }
        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" }
        Method {
            name: "forceActiveFocus"
            Parameter { name: "reason"; type: "Qt::FocusReason" }
        }
        Method { name: "forceActiveFocus" }
    }
    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",
            "QtQuick.Templates/RangeSlider 2.1",
            "QtQuick.Templates/RangeSlider 2.2"
        ]
        exportMetaObjectRevisions: [0, 1, 2]
        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" }
        Property { name: "live"; revision: 2; type: "bool" }
        Signal { name: "liveChanged"; revision: 2 }
        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" }
        Property { name: "hovered"; revision: 1; type: "bool" }
        Signal { name: "hoveredChanged"; revision: 1 }
        Method { name: "increase" }
        Method { name: "decrease" }
    }
    Component {
        name: "QQuickRoundButton"
        defaultProperty: "data"
        prototype: "QQuickButton"
        exports: ["QtQuick.Templates/RoundButton 2.1"]
        exportMetaObjectRevisions: [1]
        Property { name: "radius"; type: "double" }
    }
    Component {
        name: "QQuickScrollBar"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: [
            "QtQuick.Templates/ScrollBar 2.0",
            "QtQuick.Templates/ScrollBar 2.2"
        ]
        exportMetaObjectRevisions: [0, 2]
        attachedType: "QQuickScrollBarAttached"
        Enum {
            name: "SnapMode"
            values: {
                "NoSnap": 0,
                "SnapAlways": 1,
                "SnapOnRelease": 2
            }
        }
        Enum {
            name: "Policy"
            values: {
                "AsNeeded": 0,
                "AlwaysOff": 1,
                "AlwaysOn": 2
            }
        }
        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" }
        Property { name: "snapMode"; revision: 2; type: "SnapMode" }
        Property { name: "interactive"; revision: 2; type: "bool" }
        Property { name: "policy"; revision: 2; type: "Policy" }
        Signal { name: "snapModeChanged"; revision: 2 }
        Signal { name: "interactiveChanged"; revision: 2 }
        Signal { name: "policyChanged"; revision: 2 }
        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: "QQuickScrollView"
        defaultProperty: "contentData"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/ScrollView 2.2"]
        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: "QQuickSlider"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: [
            "QtQuick.Templates/Slider 2.0",
            "QtQuick.Templates/Slider 2.1",
            "QtQuick.Templates/Slider 2.2"
        ]
        exportMetaObjectRevisions: [0, 1, 2]
        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: "live"; revision: 2; type: "bool" }
        Property { name: "pressed"; type: "bool" }
        Property { name: "orientation"; type: "Qt::Orientation" }
        Property { name: "handle"; type: "QQuickItem"; isPointer: true }
        Signal { name: "liveChanged"; revision: 2 }
        Signal { name: "moved"; revision: 2 }
        Method { name: "increase" }
        Method { name: "decrease" }
        Method {
            name: "valueAt"
            revision: 1
            type: "double"
            Parameter { name: "position"; type: "double" }
        }
    }
    Component {
        name: "QQuickSpinBox"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: [
            "QtQuick.Templates/SpinBox 2.0",
            "QtQuick.Templates/SpinBox 2.1",
            "QtQuick.Templates/SpinBox 2.2"
        ]
        exportMetaObjectRevisions: [0, 1, 2]
        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 }
        Property { name: "inputMethodHints"; revision: 2; type: "Qt::InputMethodHints" }
        Property { name: "inputMethodComposing"; revision: 2; type: "bool"; isReadonly: true }
        Signal { name: "valueModified"; revision: 2 }
        Signal { name: "inputMethodHintsChanged"; revision: 2 }
        Signal { name: "inputMethodComposingChanged"; revision: 2 }
        Method { name: "increase" }
        Method { name: "decrease" }
    }
    Component {
        name: "QQuickSpinButton"
        prototype: "QObject"
        Property { name: "pressed"; type: "bool" }
        Property { name: "hovered"; revision: 1; type: "bool" }
        Property { name: "indicator"; type: "QQuickItem"; isPointer: true }
        Signal { name: "hoveredChanged"; revision: 1 }
    }
    Component {
        name: "QQuickStackView"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: [
            "QtQuick.Templates/StackView 2.0",
            "QtQuick.Templates/StackView 2.1"
        ]
        exportMetaObjectRevisions: [0, 1]
        attachedType: "QQuickStackViewAttached"
        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": -1,
                "Immediate": 0,
                "PushTransition": 1,
                "ReplaceTransition": 2,
                "PopTransition": 3
            }
        }
        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: "QQuickStackViewAttached"
        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 }
        Property { name: "visible"; type: "bool" }
        Signal { name: "activated" }
        Signal { name: "activating" }
        Signal { name: "deactivated" }
        Signal { name: "deactivating" }
        Signal { name: "removed" }
    }
    Component {
        name: "QQuickSwipe"
        prototype: "QObject"
        Property { name: "position"; type: "double" }
        Property { name: "complete"; type: "bool"; isReadonly: true }
        Property { name: "enabled"; type: "bool" }
        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 }
        Property { name: "transition"; type: "QQuickTransition"; isPointer: true }
        Signal { name: "completed" }
        Signal { name: "opened" }
        Signal { name: "closed" }
        Method {
            name: "open"
            revision: 2
            Parameter { name: "side"; type: "QQuickSwipeDelegate::Side" }
        }
        Method { name: "close"; revision: 1 }
    }
    Component {
        name: "QQuickSwipeDelegate"
        defaultProperty: "data"
        prototype: "QQuickItemDelegate"
        exports: [
            "QtQuick.Templates/SwipeDelegate 2.0",
            "QtQuick.Templates/SwipeDelegate 2.1",
            "QtQuick.Templates/SwipeDelegate 2.2"
        ]
        exportMetaObjectRevisions: [0, 1, 2]
        attachedType: "QQuickSwipeDelegateAttached"
        Enum {
            name: "Side"
            values: {
                "Left": 1,
                "Right": -1
            }
        }
        Property { name: "swipe"; type: "QQuickSwipe"; isReadonly: true; isPointer: true }
    }
    Component {
        name: "QQuickSwipeDelegateAttached"
        prototype: "QObject"
        Property { name: "pressed"; type: "bool"; isReadonly: true }
        Signal { name: "clicked" }
    }
    Component {
        name: "QQuickSwipeView"
        defaultProperty: "contentData"
        prototype: "QQuickContainer"
        exports: [
            "QtQuick.Templates/SwipeView 2.0",
            "QtQuick.Templates/SwipeView 2.1",
            "QtQuick.Templates/SwipeView 2.2"
        ]
        exportMetaObjectRevisions: [0, 1, 2]
        attachedType: "QQuickSwipeViewAttached"
        Property { name: "interactive"; revision: 1; type: "bool" }
        Property { name: "orientation"; revision: 2; type: "Qt::Orientation" }
        Signal { name: "interactiveChanged"; revision: 1 }
        Signal { name: "orientationChanged"; revision: 2 }
    }
    Component {
        name: "QQuickSwipeViewAttached"
        prototype: "QObject"
        Property { name: "index"; type: "int"; isReadonly: true }
        Property { name: "isCurrentItem"; type: "bool"; isReadonly: true }
        Property { name: "isNextItem"; revision: 1; type: "bool"; isReadonly: true }
        Property { name: "isPreviousItem"; revision: 1; 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",
            "QtQuick.Templates/TabBar 2.2"
        ]
        exportMetaObjectRevisions: [0, 2]
        Enum {
            name: "Position"
            values: {
                "Header": 0,
                "Footer": 1
            }
        }
        Property { name: "position"; type: "Position" }
        Property { name: "contentWidth"; revision: 2; type: "double" }
        Property { name: "contentHeight"; revision: 2; type: "double" }
        Signal { name: "contentWidthChanged"; revision: 2 }
        Signal { name: "contentHeightChanged"; revision: 2 }
    }
    Component {
        name: "QQuickTabButton"
        defaultProperty: "data"
        prototype: "QQuickAbstractButton"
        exports: ["QtQuick.Templates/TabButton 2.0"]
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "QQuickTextArea"
        defaultProperty: "data"
        prototype: "QQuickTextEdit"
        exports: [
            "QtQuick.Templates/TextArea 2.0",
            "QtQuick.Templates/TextArea 2.1"
        ]
        exportMetaObjectRevisions: [0, 1]
        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" }
        Property { name: "hovered"; revision: 1; type: "bool"; isReadonly: true }
        Property { name: "hoverEnabled"; revision: 1; type: "bool" }
        Signal { name: "implicitWidthChanged3" }
        Signal { name: "implicitHeightChanged3" }
        Signal { name: "hoveredChanged"; revision: 1 }
        Signal { name: "hoverEnabledChanged"; revision: 1 }
        Signal {
            name: "pressAndHold"
            Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true }
        }
        Signal {
            name: "pressed"
            revision: 1
            Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true }
        }
        Signal {
            name: "released"
            revision: 1
            Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true }
        }
    }
    Component {
        name: "QQuickTextAreaAttached"
        prototype: "QObject"
        Property { name: "flickable"; type: "QQuickTextArea"; isPointer: true }
    }
    Component {
        name: "QQuickTextField"
        defaultProperty: "data"
        prototype: "QQuickTextInput"
        exports: [
            "QtQuick.Templates/TextField 2.0",
            "QtQuick.Templates/TextField 2.1"
        ]
        exportMetaObjectRevisions: [0, 1]
        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" }
        Property { name: "hovered"; revision: 1; type: "bool"; isReadonly: true }
        Property { name: "hoverEnabled"; revision: 1; type: "bool" }
        Signal { name: "implicitWidthChanged3" }
        Signal { name: "implicitHeightChanged3" }
        Signal { name: "hoveredChanged"; revision: 1 }
        Signal { name: "hoverEnabledChanged"; revision: 1 }
        Signal {
            name: "pressAndHold"
            Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true }
        }
        Signal {
            name: "pressed"
            revision: 1
            Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true }
        }
        Signal {
            name: "released"
            revision: 1
            Parameter { name: "event"; type: "QQuickMouseEvent"; isPointer: true }
        }
    }
    Component {
        name: "QQuickToolBar"
        defaultProperty: "contentData"
        prototype: "QQuickPane"
        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: "QQuickToolSeparator"
        defaultProperty: "data"
        prototype: "QQuickControl"
        exports: ["QtQuick.Templates/ToolSeparator 2.1"]
        exportMetaObjectRevisions: [0]
        Property { name: "orientation"; type: "Qt::Orientation" }
        Property { name: "horizontal"; type: "bool"; isReadonly: true }
        Property { name: "vertical"; type: "bool"; isReadonly: true }
    }
    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" }
    }
    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",
            "QtQuick.Templates/Tumbler 2.1",
            "QtQuick.Templates/Tumbler 2.2"
        ]
        exportMetaObjectRevisions: [0, 1, 2]
        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" }
        Property { name: "wrap"; revision: 1; type: "bool" }
        Property { name: "moving"; revision: 2; type: "bool"; isReadonly: true }
        Signal { name: "wrapChanged"; revision: 1 }
        Signal { name: "movingChanged"; revision: 2 }
    }
    Component {
        name: "QQuickTumblerAttached"
        prototype: "QObject"
        Property { name: "tumbler"; type: "QQuickTumbler"; isReadonly: true; isPointer: true }
        Property { name: "displacement"; type: "double"; isReadonly: true }
    }
}
