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 -noinstantiate -notrelocatable Fluid.Core 1.0'

Module {
    dependencies: ["QtQuick 2.10"]
    Component {
        name: "Clipboard"
        prototype: "QObject"
        exports: ["Fluid.Core/Clipboard 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "text"; type: "string" }
        Method {
            name: "setText"
            Parameter { name: "text"; type: "string" }
        }
        Method { name: "clear" }
    }
    Component {
        name: "DateUtils"
        prototype: "QObject"
        exports: ["Fluid.Core/DateUtils 1.0"]
        isCreatable: false
        isSingleton: true
        exportMetaObjectRevisions: [0]
        Enum {
            name: "DurationFormat"
            values: {
                "Long": 0,
                "Short": 1
            }
        }
        Enum {
            name: "DurationType"
            values: {
                "Seconds": 0,
                "Minutes": 1,
                "Hours": 2,
                "Any": 3
            }
        }
        Method {
            name: "formattedDate"
            type: "string"
            Parameter { name: "date"; type: "QDate" }
        }
        Method {
            name: "formatDuration"
            type: "string"
            Parameter { name: "duration"; type: "qlonglong" }
            Parameter { name: "format"; type: "DurationFormat" }
            Parameter { name: "type"; type: "DurationType" }
        }
        Method {
            name: "formatDuration"
            type: "string"
            Parameter { name: "duration"; type: "qlonglong" }
            Parameter { name: "format"; type: "DurationFormat" }
        }
        Method {
            name: "formatDuration"
            type: "string"
            Parameter { name: "duration"; type: "qlonglong" }
        }
        Method {
            name: "friendlyTime"
            type: "string"
            Parameter { name: "time"; type: "QDateTime" }
            Parameter { name: "standalone"; type: "bool" }
        }
        Method {
            name: "dayOfWeek"
            type: "string"
            Parameter { name: "date"; type: "QDate" }
        }
    }
    Component {
        name: "Device"
        prototype: "QObject"
        exports: ["Fluid.Core/Device 1.0"]
        isCreatable: false
        isSingleton: true
        exportMetaObjectRevisions: [0]
        Enum {
            name: "FormFactor"
            values: {
                "Phone": 0,
                "Phablet": 1,
                "Tablet": 2,
                "Computer": 3,
                "TV": 4,
                "Unknown": 5
            }
        }
        Property { name: "formFactor"; type: "FormFactor"; isReadonly: true }
        Property { name: "name"; type: "string"; isReadonly: true }
        Property { name: "iconName"; type: "string"; isReadonly: true }
        Property { name: "isPortrait"; type: "bool"; isReadonly: true }
        Property { name: "isMobile"; type: "bool"; isReadonly: true }
        Property { name: "hasTouchScreen"; type: "bool"; isReadonly: true }
        Property { name: "hoverEnabled"; type: "bool"; isReadonly: true }
        Property { name: "gridUnit"; type: "int"; isReadonly: true }
        Signal { name: "geometryChanged" }
    }
    Component {
        name: "QAbstractProxyModel"
        prototype: "QAbstractItemModel"
        Property { name: "sourceModel"; type: "QAbstractItemModel"; isPointer: true }
        Method {
            name: "mapToSource"
            type: "QModelIndex"
            Parameter { name: "proxyIndex"; type: "QModelIndex" }
        }
        Method {
            name: "mapFromSource"
            type: "QModelIndex"
            Parameter { name: "sourceIndex"; type: "QModelIndex" }
        }
        Method {
            name: "mapSelectionToSource"
            type: "QItemSelection"
            Parameter { name: "selection"; type: "QItemSelection" }
        }
        Method {
            name: "mapSelectionFromSource"
            type: "QItemSelection"
            Parameter { name: "selection"; type: "QItemSelection" }
        }
    }
    Component {
        name: "QQmlSortFilterProxyModel"
        prototype: "QSortFilterProxyModel"
        exports: ["Fluid.Core/SortFilterProxyModel 1.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "PatternSyntax"
            values: {
                "RegExp": 0,
                "Wildcard": 1,
                "FixedString": 2,
                "RegExp2": 3,
                "WildcardUnix": 4,
                "W3CXmlSchema11": 5
            }
        }
        Property { name: "count"; type: "int"; isReadonly: true }
        Property { name: "filterRoleName"; type: "string" }
        Property { name: "filterPattern"; type: "string" }
        Property { name: "filterPatternSyntax"; type: "PatternSyntax" }
        Property { name: "filterValue"; type: "QVariant" }
        Property { name: "filterExpression"; type: "QQmlScriptString" }
        Property { name: "sortRoleName"; type: "string" }
        Property { name: "sortOrder"; type: "Qt::SortOrder" }
        Property { name: "sortExpression"; type: "QQmlScriptString" }
    }
    Component {
        name: "QSortFilterProxyModel"
        prototype: "QAbstractProxyModel"
        Property { name: "filterRegExp"; type: "QRegExp" }
        Property { name: "filterKeyColumn"; type: "int" }
        Property { name: "dynamicSortFilter"; type: "bool" }
        Property { name: "filterCaseSensitivity"; type: "Qt::CaseSensitivity" }
        Property { name: "sortCaseSensitivity"; type: "Qt::CaseSensitivity" }
        Property { name: "isSortLocaleAware"; type: "bool" }
        Property { name: "sortRole"; type: "int" }
        Property { name: "filterRole"; type: "int" }
        Property { name: "recursiveFilteringEnabled"; type: "bool" }
        Method {
            name: "setFilterRegExp"
            Parameter { name: "pattern"; type: "string" }
        }
        Method {
            name: "setFilterWildcard"
            Parameter { name: "pattern"; type: "string" }
        }
        Method {
            name: "setFilterFixedString"
            Parameter { name: "pattern"; type: "string" }
        }
        Method { name: "clear" }
        Method { name: "invalidate" }
    }
    Component {
        name: "StandardPaths"
        prototype: "QObject"
        exports: ["Fluid.Core/StandardPaths 1.0"]
        isCreatable: false
        isSingleton: true
        exportMetaObjectRevisions: [0]
        Enum {
            name: "StandardLocation"
            values: {
                "DesktopLocation": 0,
                "DocumentsLocation": 1,
                "FontsLocation": 2,
                "ApplicationsLocation": 3,
                "MusicLocation": 4,
                "MoviesLocation": 5,
                "PicturesLocation": 6,
                "TempLocation": 7,
                "HomeLocation": 8,
                "DataLocation": 9,
                "CacheLocation": 10,
                "GenericDataLocation": 11,
                "RuntimeLocation": 12,
                "ConfigLocation": 13,
                "DownloadLocation": 14,
                "GenericCacheLocation": 15,
                "GenericConfigLocation": 16
            }
        }
        Method {
            name: "locateFile"
            type: "string"
            Parameter { name: "type"; type: "StandardLocation" }
            Parameter { name: "fileName"; type: "string" }
        }
        Method {
            name: "locateDirectory"
            type: "string"
            Parameter { name: "type"; type: "StandardLocation" }
            Parameter { name: "dirName"; type: "string" }
        }
    }
    Component {
        name: "Utils"
        prototype: "QObject"
        exports: ["Fluid.Core/Utils 1.0"]
        isCreatable: false
        isSingleton: true
        exportMetaObjectRevisions: [0]
        Method {
            name: "scale"
            type: "double"
            Parameter { name: "percent"; type: "double" }
            Parameter { name: "start"; type: "double" }
            Parameter { name: "end"; type: "double" }
        }
    }
}
