import QtQuick.tooling 1.1

// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.

Module {
    Component {
        name: "QAbstractItemModel"
        prototype: "QObject"
        Signal {
            name: "dataChanged"
            Parameter { name: "topLeft"; type: "QModelIndex" }
            Parameter { name: "bottomRight"; type: "QModelIndex" }
        }
        Signal {
            name: "headerDataChanged"
            Parameter { name: "orientation"; type: "Qt::Orientation" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal { name: "layoutChanged" }
        Signal { name: "layoutAboutToBeChanged" }
        Signal {
            name: "rowsAboutToBeInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "rowsInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "rowsAboutToBeRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "rowsRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsAboutToBeInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsInserted"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsAboutToBeRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal {
            name: "columnsRemoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "first"; type: "int" }
            Parameter { name: "last"; type: "int" }
        }
        Signal { name: "modelAboutToBeReset" }
        Signal { name: "modelReset" }
        Signal {
            name: "rowsAboutToBeMoved"
            Parameter { name: "sourceParent"; type: "QModelIndex" }
            Parameter { name: "sourceStart"; type: "int" }
            Parameter { name: "sourceEnd"; type: "int" }
            Parameter { name: "destinationParent"; type: "QModelIndex" }
            Parameter { name: "destinationRow"; type: "int" }
        }
        Signal {
            name: "rowsMoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
            Parameter { name: "destination"; type: "QModelIndex" }
            Parameter { name: "row"; type: "int" }
        }
        Signal {
            name: "columnsAboutToBeMoved"
            Parameter { name: "sourceParent"; type: "QModelIndex" }
            Parameter { name: "sourceStart"; type: "int" }
            Parameter { name: "sourceEnd"; type: "int" }
            Parameter { name: "destinationParent"; type: "QModelIndex" }
            Parameter { name: "destinationColumn"; type: "int" }
        }
        Signal {
            name: "columnsMoved"
            Parameter { name: "parent"; type: "QModelIndex" }
            Parameter { name: "start"; type: "int" }
            Parameter { name: "end"; type: "int" }
            Parameter { name: "destination"; type: "QModelIndex" }
            Parameter { name: "column"; type: "int" }
        }
        Method { name: "submit"; type: "bool" }
        Method { name: "revert" }
    }
    Component { name: "QAbstractListModel"; prototype: "QAbstractItemModel" }
    Component {
        name: "QDeclarativeFolderListModel"
        prototype: "QAbstractListModel"
        exports: [
            "FileSystemModel 1.0"
        ]
        Enum {
            name: "SortField"
            values: {
                "Unsorted": 0,
                "Name": 1,
                "Time": 2,
                "Size": 3,
                "Type": 4
            }
        }
        Property { name: "folder"; type: "QUrl" }
        Property { name: "parentFolder"; type: "QUrl"; isReadonly: true }
        Property { name: "nameFilters"; type: "QStringList" }
        Property { name: "sortField"; type: "SortField" }
        Property { name: "sortReversed"; type: "bool" }
        Property { name: "showDirs"; type: "bool" }
        Property { name: "showDotAndDotDot"; type: "bool" }
        Property { name: "showOnlyReadable"; type: "bool" }
        Property { name: "count"; type: "int"; isReadonly: true }
        Signal { name: "folderChanged" }
        Signal { name: "countChanged" }
        Method {
            name: "isFolder"
            type: "bool"
            Parameter { name: "index"; type: "int" }
        }
    }
    Component {
        name: "QGraphicsDropShadowEffect"
        prototype: "QGraphicsEffect"
        exports: [
            "DropShadow 1.0"
        ]
        Property { name: "offset"; type: "QPointF" }
        Property { name: "xOffset"; type: "qreal" }
        Property { name: "yOffset"; type: "qreal" }
        Property { name: "blurRadius"; type: "qreal" }
        Property { name: "color"; type: "QColor" }
        Signal {
            name: "offsetChanged"
            Parameter { name: "offset"; type: "QPointF" }
        }
        Signal {
            name: "blurRadiusChanged"
            Parameter { name: "blurRadius"; type: "qreal" }
        }
        Signal {
            name: "colorChanged"
            Parameter { name: "color"; type: "QColor" }
        }
        Method {
            name: "setOffset"
            Parameter { name: "ofs"; type: "QPointF" }
        }
        Method {
            name: "setOffset"
            Parameter { name: "dx"; type: "qreal" }
            Parameter { name: "dy"; type: "qreal" }
        }
        Method {
            name: "setOffset"
            Parameter { name: "d"; type: "qreal" }
        }
        Method {
            name: "setXOffset"
            Parameter { name: "dx"; type: "qreal" }
        }
        Method {
            name: "setYOffset"
            Parameter { name: "dy"; type: "qreal" }
        }
        Method {
            name: "setBlurRadius"
            Parameter { name: "blurRadius"; type: "qreal" }
        }
        Method {
            name: "setColor"
            Parameter { name: "color"; type: "QColor" }
        }
    }
    Component {
        name: "QGraphicsEffect"
        prototype: "QObject"
        Enum {
            name: "ChangeFlags"
            values: {
                "SourceAttached": 1,
                "SourceDetached": 2,
                "SourceBoundingRectChanged": 4,
                "SourceInvalidated": 8
            }
        }
        Property { name: "enabled"; type: "bool" }
        Signal {
            name: "enabledChanged"
            Parameter { name: "enabled"; type: "bool" }
        }
        Method {
            name: "setEnabled"
            Parameter { name: "enable"; type: "bool" }
        }
        Method { name: "update" }
    }
    Component {
        name: "QRangeModel"
        prototype: "QObject"
        exports: [
            "RangeModel 1.0"
        ]
        Property { name: "value"; type: "qreal" }
        Property { name: "minimumValue"; type: "qreal" }
        Property { name: "maximumValue"; type: "qreal" }
        Property { name: "stepSize"; type: "qreal" }
        Property { name: "position"; type: "qreal" }
        Property { name: "positionAtMinimum"; type: "qreal" }
        Property { name: "positionAtMaximum"; type: "qreal" }
        Property { name: "inverted"; type: "bool" }
        Signal {
            name: "valueChanged"
            Parameter { name: "value"; type: "qreal" }
        }
        Signal {
            name: "positionChanged"
            Parameter { name: "position"; type: "qreal" }
        }
        Signal {
            name: "stepSizeChanged"
            Parameter { name: "stepSize"; type: "qreal" }
        }
        Signal {
            name: "invertedChanged"
            Parameter { name: "inverted"; type: "bool" }
        }
        Signal {
            name: "minimumChanged"
            Parameter { name: "min"; type: "qreal" }
        }
        Signal {
            name: "maximumChanged"
            Parameter { name: "max"; type: "qreal" }
        }
        Signal {
            name: "positionAtMinimumChanged"
            Parameter { name: "min"; type: "qreal" }
        }
        Signal {
            name: "positionAtMaximumChanged"
            Parameter { name: "max"; type: "qreal" }
        }
        Method { name: "toMinimum" }
        Method { name: "toMaximum" }
        Method {
            name: "setValue"
            Parameter { name: "value"; type: "qreal" }
        }
        Method {
            name: "setPosition"
            Parameter { name: "position"; type: "qreal" }
        }
        Method {
            name: "valueForPosition"
            type: "qreal"
            Parameter { name: "position"; type: "qreal" }
        }
        Method {
            name: "positionForValue"
            type: "qreal"
            Parameter { name: "value"; type: "qreal" }
        }
    }
    Component {
        name: "QStyleItem"
        defaultProperty: "data"
        prototype: "QDeclarativeItem"
        exports: [
            "QStyleItem 1.0"
        ]
        Property { name: "sunken"; type: "bool" }
        Property { name: "raised"; type: "bool" }
        Property { name: "active"; type: "bool" }
        Property { name: "selected"; type: "bool" }
        Property { name: "focus"; type: "bool" }
        Property { name: "on"; type: "bool" }
        Property { name: "hover"; type: "bool" }
        Property { name: "horizontal"; type: "bool" }
        Property { name: "elementType"; type: "string" }
        Property { name: "text"; type: "string" }
        Property { name: "activeControl"; type: "string" }
        Property { name: "info"; type: "string" }
        Property { name: "style"; type: "string"; isReadonly: true }
        Property { name: "hint"; type: "string" }
        Property { name: "cursor"; type: "string" }
        Property { name: "minimum"; type: "int" }
        Property { name: "maximum"; type: "int" }
        Property { name: "value"; type: "int" }
        Property { name: "step"; type: "int" }
        Property { name: "paintMargins"; type: "int" }
        Property { name: "fontFamily"; type: "string"; isReadonly: true }
        Property { name: "fontPointSize"; type: "double"; isReadonly: true }
        Property { name: "fontHeight"; type: "int"; isReadonly: true }
        Signal { name: "elementTypeChanged" }
        Signal { name: "textChanged" }
        Signal { name: "sunkenChanged" }
        Signal { name: "raisedChanged" }
        Signal { name: "activeChanged" }
        Signal { name: "selectedChanged" }
        Signal { name: "focusChanged" }
        Signal { name: "onChanged" }
        Signal { name: "hoverChanged" }
        Signal { name: "horizontalChanged" }
        Signal { name: "minimumChanged" }
        Signal { name: "maximumChanged" }
        Signal { name: "stepChanged" }
        Signal { name: "valueChanged" }
        Signal { name: "activeControlChanged" }
        Signal { name: "infoChanged" }
        Signal { name: "styleChanged" }
        Signal { name: "paintMarginsChanged" }
        Signal { name: "hintChanged" }
        Signal { name: "cursorChanged" }
        Signal { name: "fontHeightChanged" }
        Method {
            name: "pixelMetric"
            type: "int"
            Parameter { type: "string" }
        }
        Method {
            name: "styleHint"
            type: "QVariant"
            Parameter { type: "string" }
        }
        Method {
            name: "sizeFromContents"
            type: "QSize"
            Parameter { name: "width"; type: "int" }
            Parameter { name: "height"; type: "int" }
        }
        Method { name: "updateItem" }
        Method {
            name: "hitTest"
            type: "string"
            Parameter { name: "x"; type: "int" }
            Parameter { name: "y"; type: "int" }
        }
        Method {
            name: "subControlRect"
            type: "QRect"
            Parameter { name: "subcontrolString"; type: "string" }
        }
        Method {
            name: "showToolTip"
            Parameter { name: "str"; type: "string" }
        }
        Method {
            name: "textWidth"
            type: "int"
            Parameter { type: "string" }
        }
    }
    Component {
        name: "QWheelArea"
        defaultProperty: "data"
        prototype: "QDeclarativeItem"
        exports: [
            "WheelArea 1.0"
        ]
        Property { name: "verticalDelta"; type: "qreal" }
        Property { name: "horizontalDelta"; type: "qreal" }
        Property { name: "horizontalMinimumValue"; type: "qreal" }
        Property { name: "horizontalMaximumValue"; type: "qreal" }
        Property { name: "verticalMinimumValue"; type: "qreal" }
        Property { name: "verticalMaximumValue"; type: "qreal" }
        Property { name: "horizontalValue"; type: "qreal" }
        Property { name: "verticalValue"; type: "qreal" }
        Signal { name: "verticalValueChanged" }
        Signal { name: "horizontalValueChanged" }
        Signal { name: "verticalWheelMoved" }
        Signal { name: "horizontalWheelMoved" }
    }
    Component {
        name: "QtMenu"
        defaultProperty: "menuItems"
        prototype: "QObject"
        exports: [
            "MenuBase 1.0"
        ]
        Property { name: "title"; type: "string" }
        Property { name: "menuItems"; type: "QtMenuItem"; isList: true; isReadonly: true }
        Signal { name: "selected" }
        Method {
            name: "showPopup"
            Parameter { name: "x"; type: "qreal" }
            Parameter { name: "y"; type: "qreal" }
        }
    }
    Component {
        name: "QtMenuBar"
        defaultProperty: "data"
        prototype: "QDeclarativeItem"
        exports: [
            "MenuBarBase 1.0"
        ]
        Property { name: "menus"; type: "QtMenu"; isList: true; isReadonly: true }
    }
    Component {
        name: "QtMenuItem"
        prototype: "QObject"
        exports: [
            "MenuItemBase 1.0"
        ]
        Property { name: "text"; type: "string" }
        Signal { name: "selected" }
    }
}
