Explorar el Código

Fixed Edit button tooltip for Shape Asset field
Disabled Edit button on image asset field as there's no current image editor
Fixed positioning of edit buttons to align with preview
Fixed horizontal sizing for the edit control so it keeps to the width of the field
Fixed handling on the preview display so if an invalid asset is input, it clears the preview display to help indicate it's invalid
Disabled the MaterialSlot handling for TSStatics until it can be further refined

Areloch hace 2 años
padre
commit
74ac45e877

+ 20 - 5
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;

+ 17 - 2
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;

+ 18 - 3
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;

+ 1 - 1
Engine/source/T3D/tsStatic.cpp

@@ -1638,7 +1638,7 @@ void TSStatic::getUtilizedAssets(Vector<StringTableEntry>* 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