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 QtWinExtras 1.13'

Module {
    dependencies: ["QtQuick 2.0"]
    Component {
        name: "QQuickDwmFeatures"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtWinExtras/DwmFeatures 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "compositionEnabled"; type: "bool" }
        Property { name: "colorizationColor"; type: "QColor"; isReadonly: true }
        Property { name: "realColorizationColor"; type: "QColor"; isReadonly: true }
        Property { name: "colorizationOpaqueBlend"; type: "bool"; isReadonly: true }
        Property { name: "topGlassMargin"; type: "int" }
        Property { name: "rightGlassMargin"; type: "int" }
        Property { name: "bottomGlassMargin"; type: "int" }
        Property { name: "leftGlassMargin"; type: "int" }
        Property { name: "blurBehindEnabled"; type: "bool" }
        Property { name: "excludedFromPeek"; type: "bool" }
        Property { name: "peekDisallowed"; type: "bool" }
        Property { name: "flip3DPolicy"; type: "QQuickWin::WindowFlip3DPolicy" }
    }
    Component {
        name: "QQuickJumpList"
        defaultProperty: "data"
        prototype: "QObject"
        exports: ["QtWinExtras/JumpList 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "recent"; type: "QQuickJumpListCategory"; isReadonly: true; isPointer: true }
        Property { name: "frequent"; type: "QQuickJumpListCategory"; isReadonly: true; isPointer: true }
        Property { name: "tasks"; type: "QQuickJumpListCategory"; isPointer: true }
        Property { name: "categories"; type: "QQuickJumpListCategory"; isList: true; isReadonly: true }
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
    }
    Component {
        name: "QQuickJumpListCategory"
        defaultProperty: "data"
        prototype: "QObject"
        exports: ["QtWinExtras/JumpListCategory 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "items"; type: "QQuickJumpListItem"; isList: true; isReadonly: true }
        Property { name: "title"; type: "string" }
        Property { name: "visible"; type: "bool" }
        Signal { name: "visibilityChanged" }
    }
    Component {
        name: "QQuickJumpListItem"
        prototype: "QObject"
        exports: ["QtWinExtras/JumpListItem 1.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "JumpListItemType"
            values: {
                "ItemTypeLink": 1,
                "ItemTypeDestination": 2,
                "ItemTypeSeparator": 3
            }
        }
        Property { name: "__jumpListItemType"; type: "int" }
    }
    Component {
        name: "QQuickTaskbarButton"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtWinExtras/TaskbarButton 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "overlay"; type: "QQuickTaskbarOverlay"; isReadonly: true; isPointer: true }
        Property { name: "progress"; type: "QWinTaskbarProgress"; isReadonly: true; isPointer: true }
    }
    Component {
        name: "QQuickTaskbarOverlay"
        prototype: "QObject"
        exports: ["QtWinExtras/TaskbarOverlay 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "iconSource"; type: "QUrl" }
        Property { name: "accessibleDescription"; type: "string" }
    }
    Component {
        name: "QQuickThumbnailToolBar"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtWinExtras/ThumbnailToolBar 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "count"; type: "int"; isReadonly: true }
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "buttons"; type: "QQuickThumbnailToolButton"; isList: true; isReadonly: true }
        Property { name: "iconicNotificationsEnabled"; type: "bool" }
        Property { name: "iconicThumbnailSource"; type: "QUrl" }
        Property { name: "iconicLivePreviewSource"; type: "QUrl" }
        Signal { name: "iconicThumbnailRequested" }
        Signal { name: "iconicLivePreviewRequested" }
        Method { name: "clear" }
        Method {
            name: "addButton"
            Parameter { name: "button"; type: "QQuickThumbnailToolButton"; isPointer: true }
        }
        Method {
            name: "removeButton"
            Parameter { name: "button"; type: "QQuickThumbnailToolButton"; isPointer: true }
        }
    }
    Component {
        name: "QQuickThumbnailToolButton"
        prototype: "QObject"
        exports: ["QtWinExtras/ThumbnailToolButton 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "iconSource"; type: "QUrl" }
        Property { name: "tooltip"; type: "string" }
        Property { name: "enabled"; type: "bool" }
        Property { name: "interactive"; type: "bool" }
        Property { name: "visible"; type: "bool" }
        Property { name: "dismissOnClick"; type: "bool" }
        Property { name: "flat"; type: "bool" }
        Signal { name: "clicked" }
    }
    Component {
        name: "QQuickWin"
        prototype: "QObject"
        exports: ["QtWinExtras/QtWin 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "HBitmapFormat"
            values: {
                "HBitmapNoAlpha": 0,
                "HBitmapPremultipliedAlpha": 1,
                "HBitmapAlpha": 2
            }
        }
        Enum {
            name: "WindowFlip3DPolicy"
            values: {
                "FlipDefault": 0,
                "FlipExcludeBelow": 1,
                "FlipExcludeAbove": 2
            }
        }
    }
    Component {
        name: "QWinTaskbarProgress"
        prototype: "QObject"
        exports: ["QtWinExtras/TaskbarProgress 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "value"; type: "int" }
        Property { name: "minimum"; type: "int" }
        Property { name: "maximum"; type: "int" }
        Property { name: "visible"; type: "bool" }
        Property { name: "paused"; type: "bool" }
        Property { name: "stopped"; type: "bool"; isReadonly: true }
        Signal {
            name: "valueChanged"
            Parameter { name: "value"; type: "int" }
        }
        Signal {
            name: "minimumChanged"
            Parameter { name: "minimum"; type: "int" }
        }
        Signal {
            name: "maximumChanged"
            Parameter { name: "maximum"; type: "int" }
        }
        Signal {
            name: "visibilityChanged"
            Parameter { name: "visible"; type: "bool" }
        }
        Signal {
            name: "pausedChanged"
            Parameter { name: "paused"; type: "bool" }
        }
        Signal {
            name: "stoppedChanged"
            Parameter { name: "stopped"; type: "bool" }
        }
        Method {
            name: "setValue"
            Parameter { name: "value"; type: "int" }
        }
        Method {
            name: "setMinimum"
            Parameter { name: "minimum"; type: "int" }
        }
        Method {
            name: "setMaximum"
            Parameter { name: "maximum"; type: "int" }
        }
        Method {
            name: "setRange"
            Parameter { name: "minimum"; type: "int" }
            Parameter { name: "maximum"; type: "int" }
        }
        Method { name: "reset" }
        Method { name: "show" }
        Method { name: "hide" }
        Method {
            name: "setVisible"
            Parameter { name: "visible"; type: "bool" }
        }
        Method { name: "pause" }
        Method { name: "resume" }
        Method {
            name: "setPaused"
            Parameter { name: "paused"; type: "bool" }
        }
        Method { name: "stop" }
    }
}
