diff --git a/Engine/source/T3D/assets/ImageAsset.cpp b/Engine/source/T3D/assets/ImageAsset.cpp index e090c7838..80f0053f1 100644 --- a/Engine/source/T3D/assets/ImageAsset.cpp +++ b/Engine/source/T3D/assets/ImageAsset.cpp @@ -542,7 +542,7 @@ GuiControl* GuiInspectorTypeImageAssetPtr::constructEditControl() // // Create "Open in Editor" button - mEditButton = new GuiBitmapButtonCtrl(); + /*mEditButton = new GuiBitmapButtonCtrl(); dSprintf(szBuffer, sizeof(szBuffer), "AssetBrowser.editAsset(%d.getText());", retCtrl->getId()); mEditButton->setField("Command", szBuffer); @@ -553,10 +553,10 @@ GuiControl* GuiInspectorTypeImageAssetPtr::constructEditControl() mEditButton->setDataField(StringTable->insert("Profile"), NULL, "ToolsGuiButtonProfile"); mEditButton->setDataField(StringTable->insert("tooltipprofile"), NULL, "GuiToolTipProfile"); mEditButton->setDataField(StringTable->insert("hovertime"), NULL, "1000"); - mEditButton->setDataField(StringTable->insert("tooltip"), NULL, "Open this asset in the Material Editor"); + mEditButton->setDataField(StringTable->insert("tooltip"), NULL, "Open this asset in the Image Editor"); mEditButton->registerObject(); - addObject(mEditButton); + addObject(mEditButton);*/ // mUseHeightOverride = true; @@ -580,9 +580,10 @@ bool GuiInspectorTypeImageAssetPtr::updateRects() mPreviewBorderButton->resize(previewRect.point, previewRect.extent); mPreviewImage->resize(previewRect.point, previewRect.extent); - mEdit->resize(Point2I(previewRect.point.x + previewRect.extent.x + 10, rowSize * 1.5), Point2I(200, rowSize)); + S32 editPos = previewRect.point.x + previewRect.extent.x + 10; + mEdit->resize(Point2I(editPos, rowSize * 1.5), Point2I(fieldExtent.x - editPos - 5, rowSize)); - mEditButton->resize(Point2I(fieldExtent.x - 100, fieldExtent.y - rowSize), Point2I(100, rowSize)); + //mEditButton->resize(Point2I(fieldExtent.x - 105, previewRect.point.y + previewRect.extent.y - rowSize), Point2I(100, rowSize)); mBrowseButton->setHidden(true); @@ -677,6 +678,13 @@ void GuiInspectorTypeImageAssetPtr::updatePreviewImage() else previewImage = Con::getVariable(mVariableName); + //if what we're working with isn't even a valid asset, don't present like we found a good one + if (!AssetDatabase.isDeclaredAsset(previewImage)) + { + mPreviewImage->_setBitmap(StringTable->EmptyString()); + return; + } + String imgPreviewAssetId = String(previewImage) + "_PreviewImage"; imgPreviewAssetId.replace(":", "_"); imgPreviewAssetId = "ToolsModule:" + imgPreviewAssetId; @@ -702,6 +710,13 @@ void GuiInspectorTypeImageAssetPtr::updatePreviewImage() void GuiInspectorTypeImageAssetPtr::setPreviewImage(StringTableEntry assetId) { + //if what we're working with isn't even a valid asset, don't present like we found a good one + if (!AssetDatabase.isDeclaredAsset(assetId)) + { + mPreviewImage->_setBitmap(StringTable->EmptyString()); + return; + } + String imgPreviewAssetId = String(assetId) + "_PreviewImage"; imgPreviewAssetId.replace(":", "_"); imgPreviewAssetId = "ToolsModule:" + imgPreviewAssetId; diff --git a/Engine/source/T3D/assets/MaterialAsset.cpp b/Engine/source/T3D/assets/MaterialAsset.cpp index 1965451a5..f5ef117ba 100644 --- a/Engine/source/T3D/assets/MaterialAsset.cpp +++ b/Engine/source/T3D/assets/MaterialAsset.cpp @@ -580,9 +580,10 @@ bool GuiInspectorTypeMaterialAssetPtr::updateRects() mPreviewBorderButton->resize(previewRect.point, previewRect.extent); mPreviewImage->resize(previewRect.point, previewRect.extent); - mEdit->resize(Point2I(previewRect.point.x + previewRect.extent.x + 10, rowSize * 1.5), Point2I(200, rowSize)); + S32 editPos = previewRect.point.x + previewRect.extent.x + 10; + mEdit->resize(Point2I(editPos, rowSize * 1.5), Point2I(fieldExtent.x - editPos - 5, rowSize)); - mEditButton->resize(Point2I(fieldExtent.x - 100, fieldExtent.y - rowSize), Point2I(100, rowSize)); + mEditButton->resize(Point2I(fieldExtent.x - 105, previewRect.point.y + previewRect.extent.y - rowSize), Point2I(100, rowSize)); mBrowseButton->setHidden(true); @@ -604,6 +605,13 @@ void GuiInspectorTypeMaterialAssetPtr::updatePreviewImage() else previewImage = Con::getVariable(mVariableName); + //if what we're working with isn't even a valid asset, don't present like we found a good one + if (!AssetDatabase.isDeclaredAsset(previewImage)) + { + mPreviewImage->_setBitmap(StringTable->EmptyString()); + return; + } + String matPreviewAssetId = String(previewImage) + "_PreviewImage"; matPreviewAssetId.replace(":", "_"); matPreviewAssetId = "ToolsModule:" + matPreviewAssetId; @@ -629,6 +637,13 @@ void GuiInspectorTypeMaterialAssetPtr::updatePreviewImage() void GuiInspectorTypeMaterialAssetPtr::setPreviewImage(StringTableEntry assetId) { + //if what we're working with isn't even a valid asset, don't present like we found a good one + if (!AssetDatabase.isDeclaredAsset(assetId)) + { + mPreviewImage->_setBitmap(StringTable->EmptyString()); + return; + } + String matPreviewAssetId = String(assetId) + "_PreviewImage"; matPreviewAssetId.replace(":", "_"); matPreviewAssetId = "ToolsModule:" + matPreviewAssetId; diff --git a/Engine/source/T3D/assets/ShapeAsset.cpp b/Engine/source/T3D/assets/ShapeAsset.cpp index 6eedbfaeb..3f67227e2 100644 --- a/Engine/source/T3D/assets/ShapeAsset.cpp +++ b/Engine/source/T3D/assets/ShapeAsset.cpp @@ -825,7 +825,7 @@ GuiControl* GuiInspectorTypeShapeAssetPtr::constructEditControl() mEditButton->setDataField(StringTable->insert("Profile"), NULL, "ToolsGuiButtonProfile"); mEditButton->setDataField(StringTable->insert("tooltipprofile"), NULL, "GuiToolTipProfile"); mEditButton->setDataField(StringTable->insert("hovertime"), NULL, "1000"); - mEditButton->setDataField(StringTable->insert("tooltip"), NULL, "Open this asset in the Material Editor"); + mEditButton->setDataField(StringTable->insert("tooltip"), NULL, "Open this asset in the Shape Editor"); mEditButton->registerObject(); addObject(mEditButton); @@ -852,9 +852,10 @@ bool GuiInspectorTypeShapeAssetPtr::updateRects() mPreviewBorderButton->resize(previewRect.point, previewRect.extent); mPreviewImage->resize(previewRect.point, previewRect.extent); - mEdit->resize(Point2I(previewRect.point.x + previewRect.extent.x + 10, rowSize * 1.5), Point2I(200, rowSize)); + S32 editPos = previewRect.point.x + previewRect.extent.x + 10; + mEdit->resize(Point2I(editPos, rowSize * 1.5), Point2I(fieldExtent.x - editPos - 5, rowSize)); - mEditButton->resize(Point2I(fieldExtent.x - 100, fieldExtent.y - rowSize), Point2I(100, rowSize)); + mEditButton->resize(Point2I(fieldExtent.x - 105, previewRect.point.y + previewRect.extent.y - rowSize), Point2I(100, rowSize)); mBrowseButton->setHidden(true); @@ -876,6 +877,13 @@ void GuiInspectorTypeShapeAssetPtr::updatePreviewImage() else previewImage = Con::getVariable(mVariableName); + //if what we're working with isn't even a valid asset, don't present like we found a good one + if (!AssetDatabase.isDeclaredAsset(previewImage)) + { + mPreviewImage->_setBitmap(StringTable->EmptyString()); + return; + } + String shpPreviewAssetId = String(previewImage) + "_PreviewImage"; shpPreviewAssetId.replace(":", "_"); shpPreviewAssetId = "ToolsModule:" + shpPreviewAssetId; @@ -890,6 +898,13 @@ void GuiInspectorTypeShapeAssetPtr::updatePreviewImage() void GuiInspectorTypeShapeAssetPtr::setPreviewImage(StringTableEntry assetId) { + //if what we're working with isn't even a valid asset, don't present like we found a good one + if (!AssetDatabase.isDeclaredAsset(assetId)) + { + mPreviewImage->_setBitmap(StringTable->EmptyString()); + return; + } + String shpPreviewAssetId = String(assetId) + "_PreviewImage"; shpPreviewAssetId.replace(":", "_"); shpPreviewAssetId = "ToolsModule:" + shpPreviewAssetId; diff --git a/Engine/source/T3D/tsStatic.cpp b/Engine/source/T3D/tsStatic.cpp index 06cbb1db3..a93c90949 100644 --- a/Engine/source/T3D/tsStatic.cpp +++ b/Engine/source/T3D/tsStatic.cpp @@ -1638,7 +1638,7 @@ void TSStatic::getUtilizedAssets(Vector* usedAssetsList) #ifdef TORQUE_TOOLS void TSStatic::onInspect(GuiInspector* inspector) { - if (mShapeAsset == nullptr) + //if (mShapeAsset == nullptr) return; //Put the GameObject group before everything that'd be gameobject-effecting, for orginazational purposes