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 -v -nonrelocatable QtStudio3D 2.0'

Module {
    dependencies: ["QtQuick 2.8"]
    Component {
        name: "Q3DSDataInput"
        prototype: "QObject"
        exports: ["QtStudio3D/DataInput 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "name"; type: "string" }
        Property { name: "value"; type: "QVariant" }
        Method {
            name: "setName"
            Parameter { name: "name"; type: "string" }
        }
        Method {
            name: "setValue"
            Parameter { name: "value"; type: "QVariant" }
        }
    }
    Component {
        name: "Q3DSElement"
        prototype: "QObject"
        exports: ["QtStudio3D/Element 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "elementPath"; type: "string" }
        Method {
            name: "setElementPath"
            Parameter { name: "elementPath"; type: "string" }
        }
        Method {
            name: "getAttribute"
            type: "QVariant"
            Parameter { name: "attributeName"; type: "string" }
        }
        Method {
            name: "setAttribute"
            Parameter { name: "attributeName"; type: "string" }
            Parameter { name: "value"; type: "QVariant" }
        }
        Method {
            name: "fireEvent"
            Parameter { name: "eventName"; type: "string" }
        }
    }
    Component {
        name: "Q3DSGroup3D"
        defaultProperty: "data"
        prototype: "Q3DSNode3D"
        exports: ["QtStudio3D/Group3D 2.1"]
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "Q3DSImGuiItem"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtStudio3D/Studio3DProfiler 2.1"]
        exportMetaObjectRevisions: [0]
        Signal { name: "frame" }
    }
    Component {
        name: "Q3DSInlineQmlSubPresentation"
        defaultProperty: "item"
        prototype: "QObject"
        exports: ["QtStudio3D/QmlStream 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "presentationId"; type: "string" }
        Property { name: "item"; type: "QQuickItem"; isPointer: true }
        Method {
            name: "setPresentationId"
            Parameter { name: "presentationId"; type: "string" }
        }
        Method {
            name: "setItem"
            Parameter { name: "item"; type: "QQuickItem"; isPointer: true }
        }
    }
    Component {
        name: "Q3DSLayer3D"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtStudio3D/Layer3D 2.1"]
        exportMetaObjectRevisions: [0]
        Property { name: "engine"; type: "QObject"; isPointer: true }
        Signal { name: "layerNodeCreated" }
    }
    Component {
        name: "Q3DSNode3D"
        defaultProperty: "data"
        prototype: "Q3DSObject3D"
        exports: ["QtStudio3D/Node3D 2.1"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "Q3DSObject3D"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtStudio3D/Object3D 2.1"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "Q3DSPresentation"
        prototype: "QObject"
        Property { name: "source"; type: "QUrl" }
        Property { name: "profilingEnabled"; type: "bool" }
        Property { name: "profileUiVisible"; type: "bool" }
        Property { name: "profileUiScale"; type: "float" }
        Signal {
            name: "customSignalEmitted"
            Parameter { name: "elementPath"; type: "string" }
            Parameter { name: "name"; type: "string" }
        }
        Signal {
            name: "slideEntered"
            Parameter { name: "elementPath"; type: "string" }
            Parameter { name: "index"; type: "int" }
            Parameter { name: "name"; type: "string" }
        }
        Signal {
            name: "slideExited"
            Parameter { name: "elementPath"; type: "string" }
            Parameter { name: "index"; type: "int" }
            Parameter { name: "name"; type: "string" }
        }
        Method { name: "reload" }
        Method {
            name: "setDataInputValue"
            Parameter { name: "name"; type: "string" }
            Parameter { name: "value"; type: "QVariant" }
        }
        Method {
            name: "fireEvent"
            Parameter { name: "elementPath"; type: "string" }
            Parameter { name: "eventName"; type: "string" }
        }
        Method {
            name: "goToTime"
            Parameter { name: "elementPath"; type: "string" }
            Parameter { name: "timeSeconds"; type: "float" }
        }
        Method {
            name: "goToSlide"
            Parameter { name: "elementPath"; type: "string" }
            Parameter { name: "name"; type: "string" }
        }
        Method {
            name: "goToSlide"
            Parameter { name: "elementPath"; type: "string" }
            Parameter { name: "index"; type: "int" }
        }
        Method {
            name: "goToSlide"
            Parameter { name: "elementPath"; type: "string" }
            Parameter { name: "next"; type: "bool" }
            Parameter { name: "wrap"; type: "bool" }
        }
        Method {
            name: "getAttribute"
            type: "QVariant"
            Parameter { name: "elementPath"; type: "string" }
            Parameter { name: "attributeName"; type: "string" }
        }
        Method {
            name: "setAttribute"
            Parameter { name: "elementPath"; type: "string" }
            Parameter { name: "attributeName"; type: "string" }
            Parameter { name: "value"; type: "QVariant" }
        }
    }
    Component {
        name: "Q3DSPresentationItem"
        defaultProperty: "qmlChildren"
        prototype: "Q3DSPresentation"
        exports: ["QtStudio3D/Presentation 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "qmlChildren"; type: "QObject"; isList: true; isReadonly: true }
        Method {
            name: "appendQmlChildren"
            Parameter { name: "list"; type: "QObject"; isList: true; isPointer: true }
            Parameter { name: "obj"; type: "QObject"; isPointer: true }
        }
    }
    Component {
        name: "Q3DSSceneElement"
        prototype: "Q3DSElement"
        exports: ["QtStudio3D/SceneElement 2.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "currentSlideIndex"; type: "int" }
        Property { name: "previousSlideIndex"; type: "int"; isReadonly: true }
        Property { name: "currentSlideName"; type: "string" }
        Property { name: "previousSlideName"; type: "string"; isReadonly: true }
        Signal {
            name: "currentSlideIndexChanged"
            Parameter { name: "currentSlideIndex"; type: "int" }
        }
        Signal {
            name: "previousSlideIndexChanged"
            Parameter { name: "previousSlideIndex"; type: "int" }
        }
        Signal {
            name: "currentSlideNameChanged"
            Parameter { name: "currentSlideName"; type: "string" }
        }
        Signal {
            name: "previousSlideNameChanged"
            Parameter { name: "previousSlideName"; type: "string" }
        }
        Method {
            name: "setCurrentSlideIndex"
            Parameter { name: "currentSlideIndex"; type: "int" }
        }
        Method {
            name: "setCurrentSlideName"
            Parameter { name: "currentSlideName"; type: "string" }
        }
        Method {
            name: "goToSlide"
            Parameter { name: "next"; type: "bool" }
            Parameter { name: "wrap"; type: "bool" }
        }
        Method {
            name: "goToTime"
            Parameter { name: "timeSeconds"; type: "float" }
        }
    }
    Component {
        name: "Q3DSStudio3DEngine"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtStudio3D/Studio3DEngine 2.1"]
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "Q3DSStudio3DItem"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtStudio3D/Studio3D 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "EventIgnoreFlags"
            values: {
                "EnableAllEvents": 0,
                "IgnoreMouseEvents": 1,
                "IgnoreWheelEvents": 2,
                "IgnoreKeyboardEvents": 4,
                "IgnoreAllInputEvents": 7
            }
        }
        Property { name: "presentation"; type: "Q3DSPresentationItem"; isReadonly: true; isPointer: true }
        Property { name: "running"; type: "bool"; isReadonly: true }
        Property { name: "error"; type: "string"; isReadonly: true }
        Property { name: "ignoredEvents"; type: "EventIgnoreFlags" }
        Signal { name: "presentationLoaded" }
        Signal { name: "presentationReady" }
        Signal { name: "frameUpdate" }
    }
    Component {
        name: "Q3DSStudio3DView"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtStudio3D/View3D 2.1"]
        exportMetaObjectRevisions: [0]
        Property { name: "engine"; type: "QObject"; isPointer: true }
        Property { name: "source"; type: "string" }
        Property { name: "sizeLayerToView"; type: "bool" }
    }
    Component {
        name: "Q3DSSubPresentationSettings"
        prototype: "QObject"
        exports: ["QtStudio3D/SubPresentationSettings 2.0"]
        exportMetaObjectRevisions: [0]
        Property {
            name: "qmlStreams"
            type: "Q3DSInlineQmlSubPresentation"
            isList: true
            isReadonly: true
        }
    }
    Component {
        name: "Q3DSViewerSettings"
        prototype: "QObject"
        exports: ["QtStudio3D/ViewerSettings 2.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "ShadeMode"
            values: {
                "ShadeModeShaded": 0,
                "ShadeModeShadedWireframe": 1
            }
        }
        Enum {
            name: "ScaleMode"
            values: {
                "ScaleModeFit": 0,
                "ScaleModeFill": 1,
                "ScaleModeCenter": 2
            }
        }
        Property { name: "matteEnabled"; type: "bool" }
        Property { name: "matteColor"; type: "QColor" }
        Property { name: "showRenderStats"; type: "bool" }
        Property { name: "shadeMode"; type: "ShadeMode" }
        Property { name: "scaleMode"; type: "ScaleMode" }
        Method {
            name: "setMatteEnabled"
            Parameter { name: "isEnabled"; type: "bool" }
        }
        Method {
            name: "setMatteColor"
            Parameter { name: "color"; type: "QColor" }
        }
        Method {
            name: "setShowRenderStats"
            Parameter { name: "show"; type: "bool" }
        }
        Method {
            name: "setShadeMode"
            Parameter { name: "mode"; type: "ShadeMode" }
        }
        Method {
            name: "setScaleMode"
            Parameter { name: "mode"; type: "ScaleMode" }
        }
        Method {
            name: "save"
            Parameter { name: "group"; type: "string" }
            Parameter { name: "organization"; type: "string" }
            Parameter { name: "application"; type: "string" }
        }
        Method {
            name: "save"
            Parameter { name: "group"; type: "string" }
            Parameter { name: "organization"; type: "string" }
        }
        Method {
            name: "save"
            Parameter { name: "group"; type: "string" }
        }
        Method {
            name: "load"
            Parameter { name: "group"; type: "string" }
            Parameter { name: "organization"; type: "string" }
            Parameter { name: "application"; type: "string" }
        }
        Method {
            name: "load"
            Parameter { name: "group"; type: "string" }
            Parameter { name: "organization"; type: "string" }
        }
        Method {
            name: "load"
            Parameter { name: "group"; type: "string" }
        }
    }
}
