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-qt5 -nonrelocatable org.kde.plasma.calendar 2.0 /home/koder/System/opt/kf5/lib64/qml'

Module {
    dependencies: [
        "QtQml 2.0",
        "QtQuick 2.6",
        "QtQuick.Controls 1.5",
        "QtQuick.Controls.Styles 1.4",
        "QtQuick.Controls.Styles.Plasma 2.0",
        "QtQuick.Layouts 1.1",
        "QtQuick.Window 2.2",
        "org.kde.kconfig 1.0",
        "org.kde.kquickcontrolsaddons 2.0",
        "org.kde.plasma.components 2.0",
        "org.kde.plasma.core 2.0",
        "org.kde.plasma.extras 2.0"
    ]
    Component {
        name: "Calendar"
        prototype: "QObject"
        exports: ["org.kde.plasma.calendar/Calendar 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Type"
            values: {
                "Holiday": 1,
                "Event": 2,
                "Todo": 4,
                "Journal": 8
            }
        }
        Enum {
            name: "DateMatchingPrecision"
            values: {
                "MatchYear": 0,
                "MatchYearAndMonth": 1,
                "MatchYearMonthAndDay": 2
            }
        }
        Property { name: "displayedDate"; type: "QDateTime" }
        Property { name: "today"; type: "QDateTime" }
        Property { name: "types"; type: "int" }
        Property { name: "weeksModel"; type: "QJsonArray"; isReadonly: true }
        Property { name: "days"; type: "int" }
        Property { name: "weeks"; type: "int" }
        Property { name: "firstDayOfWeek"; type: "int" }
        Property { name: "year"; type: "int"; isReadonly: true }
        Property { name: "errorMessage"; type: "string"; isReadonly: true }
        Property { name: "monthName"; type: "string"; isReadonly: true }
        Property { name: "daysModel"; type: "QAbstractListModel"; isReadonly: true; isPointer: true }
        Method { name: "updateData" }
        Method { name: "nextMonth" }
        Method { name: "previousMonth" }
        Method { name: "nextYear" }
        Method { name: "previousYear" }
        Method { name: "nextDecade" }
        Method { name: "previousDecade" }
        Method {
            name: "dayName"
            type: "string"
            Parameter { name: "weekday"; type: "int" }
        }
        Method { name: "currentWeek"; type: "int" }
        Method { name: "resetToToday" }
        Method {
            name: "goToMonth"
            Parameter { name: "month"; type: "int" }
        }
        Method {
            name: "goToYear"
            Parameter { name: "year"; type: "int" }
        }
    }
    Component {
        name: "CalendarData"
        prototype: "QObject"
        exports: ["org.kde.plasma.calendar/CalendarData 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Type"
            values: {
                "Holiday": 1,
                "Event": 2,
                "Todo": 4,
                "Journal": 8
            }
        }
        Property { name: "startDate"; type: "QDate" }
        Property { name: "endDate"; type: "QDate" }
        Property { name: "errorMessage"; type: "string"; isReadonly: true }
        Property { name: "loading"; type: "bool"; isReadonly: true }
        Signal { name: "typesChanged" }
    }
    Component {
        name: "DaysModel"
        prototype: "QAbstractListModel"
        Signal {
            name: "agendaUpdated"
            Parameter { name: "updatedDate"; type: "QDate" }
        }
        Method { name: "update" }
        Method {
            name: "setPluginsManager"
            Parameter { name: "manager"; type: "QObject"; isPointer: true }
        }
        Method {
            name: "eventsForDate"
            type: "QList<QObject*>"
            Parameter { name: "date"; type: "QDate" }
        }
    }
    Component {
        name: "EventDataDecorator"
        prototype: "QObject"
        exports: ["org.kde.plasma.calendar/EventDataDecorator 2.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "startDateTime"; type: "QDateTime"; isReadonly: true }
        Property { name: "endDateTime"; type: "QDateTime"; isReadonly: true }
        Property { name: "isAllDay"; type: "bool"; isReadonly: true }
        Property { name: "isMinor"; type: "bool"; isReadonly: true }
        Property { name: "title"; type: "string"; isReadonly: true }
        Property { name: "description"; type: "string"; isReadonly: true }
        Property { name: "eventColor"; type: "string"; isReadonly: true }
        Property { name: "eventType"; type: "string"; isReadonly: true }
        Signal { name: "eventDataChanged" }
    }
    Component {
        name: "EventPluginsManager"
        prototype: "QObject"
        exports: ["org.kde.plasma.calendar/EventPluginsManager 2.0"]
        isCreatable: false
        isSingleton: true
        exportMetaObjectRevisions: [0]
        Property { name: "model"; type: "QAbstractListModel"; isReadonly: true; isPointer: true }
        Property { name: "enabledPlugins"; type: "QStringList" }
        Signal { name: "pluginsChanged" }
        Signal {
            name: "dataReady"
            Parameter { name: "data"; type: "QMultiHash<QDate,CalendarEvents::EventData>" }
        }
        Signal {
            name: "eventModified"
            Parameter { name: "modifiedEvent"; type: "CalendarEvents::EventData" }
        }
        Signal {
            name: "eventRemoved"
            Parameter { name: "uid"; type: "string" }
        }
        Method {
            name: "populateEnabledPluginsList"
            Parameter { name: "pluginsList"; type: "QStringList" }
        }
    }
}
