Sam GateauFIxing some stuff ?d714cc67 years agoHistory
245 lines · 8.1 KB · Text
RawDownload
////  materialInspector.qml////  Created by Sabrina Shanman on 2019-01-16//  Copyright 2019 High Fidelity, Inc.////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or https://www.apache.org/licenses/LICENSE-2.0.html//import QtQuick 2.7import QtQuick.Controls 2.3 as Originalimport QtQuick.Layouts 1.3 import stylesUit 1.0import controlsUit 1.0 as HifiControlsimport "../lib/prop" as Prop Rectangle {    HifiConstants { id: hifi;}    color: Qt.rgba(hifi.colors.baseGray.r, hifi.colors.baseGray.g, hifi.colors.baseGray.b, 0.8);    id: root;        property var theMaterial: {}    property var theMaterialAttributes: {}    property var hasMaterial: false     property var isReadOnly: true     function fromScript(message) {        switch (message.method) {        case "setObjectInfo":            entityIDInfo.text = "Type: " + message.params.type + "\nID: " + message.params.id + "\nMesh Part: " + message.params.meshPart;            break;        case "setMaterialJSON":            materialJSONText.text = message.params.materialJSONText;                        theMaterial = JSON.parse(message.params.materialJSONText)            theMaterialAttributes = theMaterial.materials            hasMaterial = (theMaterial !== undefined)            break;        }    }      Column {                  anchors.left: parent.left         anchors.right: parent.right          Rectangle {            id: entityIDContainer            height: 52            width: root.width            color: Qt.rgba(root.color.r * 0.7, root.color.g * 0.7, root.color.b * 0.7, 0.8);            TextEdit {                id: entityIDInfo                text: "Type: Unknown\nID: None\nMesh Part: Unknown"                font.pointSize: 9                color: "#FFFFFF"                readOnly: true                selectByMouse: true            }        }            Prop.PropString {            visible: hasMaterial && ("name" in theMaterialAttributes)            label: "name"            object: theMaterialAttributes            property: "name"            readOnly: isReadOnly        }         Prop.PropString {            visible: hasMaterial && ("model" in theMaterialAttributes)            label: "model"            object: theMaterialAttributes            property: "model"            readOnly: isReadOnly        }          Prop.PropColor {            visible: hasMaterial && ("albedo" in theMaterialAttributes)            label: "albedo"            object: theMaterialAttributes            property: "albedo"            readOnly: isReadOnly        }               Prop.PropString {            visible: hasMaterial && ("albedoMap" in theMaterialAttributes)            label: "albedoMap"            object: theMaterialAttributes            property: "albedoMap"            readOnly: isReadOnly        }            Prop.PropScalar {            visible: hasMaterial && ("opacity" in theMaterialAttributes)            label: "opacity"            object: theMaterialAttributes            property: "opacity"            readOnly: isReadOnly        }        Prop.PropString {            visible: hasMaterial && ("opacityMap" in theMaterialAttributes)            label: "opacityMap"            object: theMaterialAttributes            property: "opacityMap"            readOnly: isReadOnly        }        Prop.PropString {            visible: hasMaterial && ("opacityMapMode" in theMaterialAttributes)            label: "opacityMapMode"            object: theMaterialAttributes            property: "opacityMapMode"            readOnly: isReadOnly        }        /*Prop.PropEnum {            visible: hasMaterial && ("opacityMapMode" in theMaterialAttributes)            label: "opacityMapMode"            object: theMaterialAttributes            property: "opacityMapMode"            readOnly: isReadOnly            enums: ["None", "Mask", "Blend"]        } */        Prop.PropScalar {            visible: hasMaterial && ("opacityCutoff" in theMaterialAttributes)            label: "opacity Cutoff"            object: theMaterialAttributes            property: "opacityCutoff"            readOnly: isReadOnly        }                Prop.PropString {            visible: hasMaterial && ("occlusionMap" in theMaterialAttributes)            label: "occlusionMap"            object: theMaterialAttributes            property: "occlusionMap"            readOnly: isReadOnly        }                Prop.PropString {            visible: hasMaterial && ("normalMap" in theMaterialAttributes)            label: "normalMap"            object: theMaterialAttributes            property: "normalMap"            readOnly: isReadOnly        }        Prop.PropString {            visible: hasMaterial && ("bumpMap" in theMaterialAttributes)            label: "normalMap from bumpMap"            object: theMaterialAttributes            property: "bumpMap"            readOnly: isReadOnly        }          Prop.PropScalar {            visible: hasMaterial && ("roughness" in theMaterialAttributes)            label: "roughness"            object: theMaterialAttributes            property: "roughness"            readOnly: isReadOnly        }        Prop.PropScalar {            visible: hasMaterial && ("metallic" in theMaterialAttributes)            label: "metallic"            object: theMaterialAttributes            property: "metallic"            readOnly: isReadOnly        }                   Prop.PropString {            visible: hasMaterial && ("roughnessMap" in theMaterialAttributes)            label: "roughnessMap"            object: theMaterialAttributes            property: "roughnessMap"            readOnly: isReadOnly        }        Prop.PropString {            visible: hasMaterial && ("glossMap" in theMaterialAttributes)            label: "roughnessMap from glossMap"            object: theMaterialAttributes            property: "glossMap"            readOnly: isReadOnly        }        Prop.PropString {            visible: hasMaterial && ("metallicMap" in theMaterialAttributes)            label: "metallicMap"            object: theMaterialAttributes            property: "metallicMap"            readOnly: isReadOnly        }        Prop.PropString {            visible: hasMaterial && ("specularMap" in theMaterialAttributes)            label: "metallicMap from specularMap"            object: theMaterialAttributes            property: "specularMap"            readOnly: isReadOnly        }         Prop.PropScalar {            visible: hasMaterial && ("scattering" in theMaterialAttributes)            label: "scattering"            object: theMaterialAttributes            property: "scattering"            readOnly: isReadOnly        }        Prop.PropString {            visible: hasMaterial && ("scatteringMap" in theMaterialAttributes)            label: "scatteringMap"            object: theMaterialAttributes            property: "scatteringMap"            readOnly: isReadOnly        }          Prop.PropColor {            visible: hasMaterial && ("emissive" in theMaterialAttributes)            label: "emissive"            object: theMaterialAttributes            property: "emissive"            readOnly: isReadOnly        }        Prop.PropString {            visible: hasMaterial && ("emissiveMap" in theMaterialAttributes)            label: "emissiveMap"            object: theMaterialAttributes            property: "emissiveMap"            readOnly: isReadOnly        }         Original.ScrollView {           // anchors.top: entityIDContainer.bottom            height: root.height - entityIDContainer.height            width: root.width            clip: true            Original.ScrollBar.horizontal.policy: Original.ScrollBar.AlwaysOff            TextEdit {                id: materialJSONText                text: "Click an object to get material JSON"                width: root.width                font.pointSize: 10                color: "#FFFFFF"                readOnly: true                selectByMouse: true                wrapMode: Text.WordWrap            }        }    }}