Browse Source

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 2 years ago
parent
commit
74ac45e877

+ 20 - 5
Engine/source/T3D/assets/ImageAsset.cpp

@@ -542,7 +542,7 @@ GuiControl* GuiInspectorTypeImageAssetPtr::constructEditControl()
 
 
    //
    //
    // Create "Open in Editor" button
    // Create "Open in Editor" button
-   mEditButton = new GuiBitmapButtonCtrl();
+   /*mEditButton = new GuiBitmapButtonCtrl();
 
 
    dSprintf(szBuffer, sizeof(szBuffer), "AssetBrowser.editAsset(%d.getText());", retCtrl->getId());
    dSprintf(szBuffer, sizeof(szBuffer), "AssetBrowser.editAsset(%d.getText());", retCtrl->getId());
    mEditButton->setField("Command", szBuffer);
    mEditButton->setField("Command", szBuffer);
@@ -553,10 +553,10 @@ GuiControl* GuiInspectorTypeImageAssetPtr::constructEditControl()
    mEditButton->setDataField(StringTable->insert("Profile"), NULL, "ToolsGuiButtonProfile");
    mEditButton->setDataField(StringTable->insert("Profile"), NULL, "ToolsGuiButtonProfile");
    mEditButton->setDataField(StringTable->insert("tooltipprofile"), NULL, "GuiToolTipProfile");
    mEditButton->setDataField(StringTable->insert("tooltipprofile"), NULL, "GuiToolTipProfile");
    mEditButton->setDataField(StringTable->insert("hovertime"), NULL, "1000");
    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();
    mEditButton->registerObject();
-   addObject(mEditButton);
+   addObject(mEditButton);*/
 
 
    //
    //
    mUseHeightOverride = true;
    mUseHeightOverride = true;
@@ -580,9 +580,10 @@ bool GuiInspectorTypeImageAssetPtr::updateRects()
    mPreviewBorderButton->resize(previewRect.point, previewRect.extent);
    mPreviewBorderButton->resize(previewRect.point, previewRect.extent);
    mPreviewImage->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);
    mBrowseButton->setHidden(true);
 
 
@@ -677,6 +678,13 @@ void GuiInspectorTypeImageAssetPtr::updatePreviewImage()
    else
    else
       previewImage = Con::getVariable(mVariableName);
       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";
    String imgPreviewAssetId = String(previewImage) + "_PreviewImage";
    imgPreviewAssetId.replace(":", "_");
    imgPreviewAssetId.replace(":", "_");
    imgPreviewAssetId = "ToolsModule:" + imgPreviewAssetId;
    imgPreviewAssetId = "ToolsModule:" + imgPreviewAssetId;
@@ -702,6 +710,13 @@ void GuiInspectorTypeImageAssetPtr::updatePreviewImage()
 
 
 void GuiInspectorTypeImageAssetPtr::setPreviewImage(StringTableEntry assetId)
 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";
    String imgPreviewAssetId = String(assetId) + "_PreviewImage";
    imgPreviewAssetId.replace(":", "_");
    imgPreviewAssetId.replace(":", "_");
    imgPreviewAssetId = "ToolsModule:" + imgPreviewAssetId;
    imgPreviewAssetId = "ToolsModule:" + imgPreviewAssetId;

+ 17 - 2
Engine/source/T3D/assets/MaterialAsset.cpp

@@ -580,9 +580,10 @@ bool GuiInspectorTypeMaterialAssetPtr::updateRects()
    mPreviewBorderButton->resize(previewRect.point, previewRect.extent);
    mPreviewBorderButton->resize(previewRect.point, previewRect.extent);
    mPreviewImage->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);
    mBrowseButton->setHidden(true);
 
 
@@ -604,6 +605,13 @@ void GuiInspectorTypeMaterialAssetPtr::updatePreviewImage()
    else
    else
       previewImage = Con::getVariable(mVariableName);
       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";
    String matPreviewAssetId = String(previewImage) + "_PreviewImage";
    matPreviewAssetId.replace(":", "_");
    matPreviewAssetId.replace(":", "_");
    matPreviewAssetId = "ToolsModule:" + matPreviewAssetId;
    matPreviewAssetId = "ToolsModule:" + matPreviewAssetId;
@@ -629,6 +637,13 @@ void GuiInspectorTypeMaterialAssetPtr::updatePreviewImage()
 
 
 void GuiInspectorTypeMaterialAssetPtr::setPreviewImage(StringTableEntry assetId)
 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";
    String matPreviewAssetId = String(assetId) + "_PreviewImage";
    matPreviewAssetId.replace(":", "_");
    matPreviewAssetId.replace(":", "_");
    matPreviewAssetId = "ToolsModule:" + matPreviewAssetId;
    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("Profile"), NULL, "ToolsGuiButtonProfile");
    mEditButton->setDataField(StringTable->insert("tooltipprofile"), NULL, "GuiToolTipProfile");
    mEditButton->setDataField(StringTable->insert("tooltipprofile"), NULL, "GuiToolTipProfile");
    mEditButton->setDataField(StringTable->insert("hovertime"), NULL, "1000");
    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();
    mEditButton->registerObject();
    addObject(mEditButton);
    addObject(mEditButton);
@@ -852,9 +852,10 @@ bool GuiInspectorTypeShapeAssetPtr::updateRects()
    mPreviewBorderButton->resize(previewRect.point, previewRect.extent);
    mPreviewBorderButton->resize(previewRect.point, previewRect.extent);
    mPreviewImage->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);
    mBrowseButton->setHidden(true);
 
 
@@ -876,6 +877,13 @@ void GuiInspectorTypeShapeAssetPtr::updatePreviewImage()
    else
    else
       previewImage = Con::getVariable(mVariableName);
       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";
    String shpPreviewAssetId = String(previewImage) + "_PreviewImage";
    shpPreviewAssetId.replace(":", "_");
    shpPreviewAssetId.replace(":", "_");
    shpPreviewAssetId = "ToolsModule:" + shpPreviewAssetId;
    shpPreviewAssetId = "ToolsModule:" + shpPreviewAssetId;
@@ -890,6 +898,13 @@ void GuiInspectorTypeShapeAssetPtr::updatePreviewImage()
 
 
 void GuiInspectorTypeShapeAssetPtr::setPreviewImage(StringTableEntry assetId)
 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";
    String shpPreviewAssetId = String(assetId) + "_PreviewImage";
    shpPreviewAssetId.replace(":", "_");
    shpPreviewAssetId.replace(":", "_");
    shpPreviewAssetId = "ToolsModule:" + shpPreviewAssetId;
    shpPreviewAssetId = "ToolsModule:" + shpPreviewAssetId;

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

@@ -1638,7 +1638,7 @@ void TSStatic::getUtilizedAssets(Vector<StringTableEntry>* usedAssetsList)
 #ifdef TORQUE_TOOLS
 #ifdef TORQUE_TOOLS
 void TSStatic::onInspect(GuiInspector* inspector)
 void TSStatic::onInspect(GuiInspector* inspector)
 {
 {
-   if (mShapeAsset == nullptr)
+   //if (mShapeAsset == nullptr)
       return;
       return;
 
 
    //Put the GameObject group before everything that'd be gameobject-effecting, for orginazational purposes
    //Put the GameObject group before everything that'd be gameobject-effecting, for orginazational purposes