Materials: External interface refinements (#21524)

This commit is contained in:
David Carter
2025-05-24 06:25:44 +00:00
committed by GitHub
parent 77a11efa0b
commit 8ef8f64e9b
37 changed files with 1147 additions and 406 deletions

View File

@@ -72,15 +72,22 @@ void MaterialLibraryPy::setName(const Py::String value)
getMaterialLibraryPtr()->setName(QString::fromStdString(value));
}
Py::String MaterialLibraryPy::getIcon() const
Py::Object MaterialLibraryPy::getIcon() const
{
auto path = getMaterialLibraryPtr()->getIconPath();
return {path.toStdString()};
auto icon = getMaterialLibraryPtr()->getIcon();
return Py::Bytes(icon.data(), icon.size());
}
void MaterialLibraryPy::setIcon(const Py::String value)
void MaterialLibraryPy::setIcon(const Py::Object value)
{
getMaterialLibraryPtr()->setIconPath(QString::fromStdString(value));
if (value.isNone()) {
getMaterialLibraryPtr()->setIcon(QByteArray());
}
else {
auto pyBytes = Py::Bytes(value);
getMaterialLibraryPtr()->setIcon(
QByteArray(pyBytes.as_std_string().data(), pyBytes.size()));
}
}
Py::String MaterialLibraryPy::getDirectory() const