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 QtQml.Models 2.3'

Module {
    dependencies: ["QtQuick 2.8"]
    Component {
        name: "QItemSelectionModel"
        prototype: "QObject"
        exports: ["QtQml.Models/ItemSelectionModel 2.2"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "SelectionFlags"
            values: {
                "NoUpdate": 0,
                "Clear": 1,
                "Select": 2,
                "Deselect": 4,
                "Toggle": 8,
                "Current": 16,
                "Rows": 32,
                "Columns": 64,
                "SelectCurrent": 18,
                "ToggleCurrent": 24,
                "ClearAndSelect": 3
            }
        }
        Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
        Property { name: "hasSelection"; type: "bool"; isReadonly: true }
        Property { name: "currentIndex"; type: "QModelIndex"; isReadonly: true }
        Property { name: "selection"; type: "QItemSelection"; isReadonly: true }
        Property { name: "selectedIndexes"; type: "QModelIndexList"; isReadonly: true }
        Signal {
            name: "selectionChanged"
            Parameter { name: "selected"; type: "QItemSelection" }
            Parameter { name: "deselected"; type: "QItemSelection" }
        }
        Signal {
            name: "currentChanged"
            Parameter { name: "current"; type: "QModelIndex" }
            Parameter { name: "previous"; type: "QModelIndex" }
        }
        Signal {
            name: "currentRowChanged"
            Parameter { name: "current"; type: "QModelIndex" }
            Parameter { name: "previous"; type: "QModelIndex" }
        }
        Signal {
            name: "currentColumnChanged"
            Parameter { name: "current"; type: "QModelIndex" }
            Parameter { name: "previous"; type: "QModelIndex" }
        }
        Signal {
            name: "modelChanged"
            Parameter { name: "model"; type: "QAbstractItemModel"; isPointer: true }
        }
        Method {
            name: "setCurrentIndex"
            Parameter { name: "index"; type: "QModelIndex" }
            Parameter { name: "command"; type: "QItemSelectionModel::SelectionFlags" }
        }
        Method {
            name: "select"
            Parameter { name: "index"; type: "QModelIndex" }
            Parameter { name: "command"; type: "QItemSelectionModel::SelectionFlags" }
        }
        Method {
            name: "select"
            Parameter { name: "selection"; type: "QItemSelection" }
            Parameter { name: "command"; type: "QItemSelectionModel::SelectionFlags" }
        }
        Method { name: "clear" }
        Method { name: "reset" }
        Method { name: "clearSelection" }
        Method { name: "clearCurrentIndex" }
        Method {
            name: "isSelected"
            type: "bool"
            Parameter { name: "index"; type: "QModelIndex" }
        }
        Method {
            name: "isRowSelected"
            type: "bool"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "isColumnSelected"
            type: "bool"
            Parameter { name: "column"; type: "int" }
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "rowIntersectsSelection"
            type: "bool"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "columnIntersectsSelection"
            type: "bool"
            Parameter { name: "column"; type: "int" }
            Parameter { name: "parent"; type: "QModelIndex" }
        }
        Method {
            name: "selectedRows"
            type: "QModelIndexList"
            Parameter { name: "column"; type: "int" }
        }
        Method { name: "selectedRows"; type: "QModelIndexList" }
        Method {
            name: "selectedColumns"
            type: "QModelIndexList"
            Parameter { name: "row"; type: "int" }
        }
        Method { name: "selectedColumns"; type: "QModelIndexList" }
    }
}
