mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-28 02:53:49 +00:00
Converts the ad-hoc design of the Material Editor to utilize the same inspector interface as most everything else does.
- Overhauls the material editor to simplify and streamline the logic behind it since the inspector does most of the work - Tweak a few order positions of materialdefinition fields to work better - Sets AO, Rough and Metal channel fields to use an enum type for human readability - Updates the MaterialPreview gui control to work with assetIds - MatEd now supports setting of parent material to inherit from - Creating a new material now can prompt selecting an existing material to inherit from - Can now edit the mapTo value of a material in the matEd - New standalone Composite Texture Editor window for convering AO, Roughness and Metalness maps in a material to an ORMMap - Can also star the creation of a composite texture via RMB context menu in AB on an image asset - Moved logic of CubemapEditor from MatEd to it's own stuff - Made ImageAsset fields now be more clear when they have nothing assigned, and also have a clear button to empty the field's value so it's consistent across the board - Reorganized the layout of the gui and image files for the MatEd to be easier to navigate - MaterialEditor now overlays the EditorGUI instead of being forcefully embedded in it, allowing easy editing of the MatEd Gui via the Gui editor
This commit is contained in:
parent
8e93753b15
commit
f3cad0d77e
173 changed files with 3713 additions and 6977 deletions
|
|
@ -808,6 +808,8 @@ GuiControl* GuiInspectorTypeImageAssetPtr::constructEditControl()
|
|||
if (Sim::findObject("ToolsGuiTextEditProfile", toolEditProfile))
|
||||
editTextCtrl->setControlProfile(toolEditProfile);
|
||||
|
||||
editTextCtrl->setPlaceholderText("(None)");
|
||||
|
||||
GuiControlProfile* toolDefaultProfile = nullptr;
|
||||
Sim::findObject("ToolsGuiDefaultProfile", toolDefaultProfile);
|
||||
|
||||
|
|
@ -836,21 +838,25 @@ GuiControl* GuiInspectorTypeImageAssetPtr::constructEditControl()
|
|||
|
||||
//
|
||||
// Create "Open in Editor" button
|
||||
/*mEditButton = new GuiBitmapButtonCtrl();
|
||||
mEditButton = new GuiBitmapButtonCtrl();
|
||||
|
||||
if (mInspector->getInspectObject() != nullptr)
|
||||
dSprintf(szBuffer, sizeof(szBuffer), "%d.apply(\"\");", getId());
|
||||
else
|
||||
dSprintf(szBuffer, sizeof(szBuffer), "%s = \"\";", mVariableName);
|
||||
|
||||
dSprintf(szBuffer, sizeof(szBuffer), "AssetBrowser.editAsset(%d.getText());", retCtrl->getId());
|
||||
mEditButton->setField("Command", szBuffer);
|
||||
|
||||
mEditButton->setText("Edit");
|
||||
mEditButton->setSizing(horizResizeLeft, vertResizeAspectTop);
|
||||
mEditButton->setBitmap(StringTable->insert("ToolsModule:delete_n_image"));
|
||||
mEditButton->setSizing(horizResizeRight, vertResizeAspectBottom);
|
||||
|
||||
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 Image Editor");
|
||||
mEditButton->setDataField(StringTable->insert("tooltip"), NULL, "Clear this ImageAsset");
|
||||
|
||||
mEditButton->registerObject();
|
||||
addObject(mEditButton);*/
|
||||
addObject(mEditButton);
|
||||
|
||||
//
|
||||
mUseHeightOverride = true;
|
||||
|
|
@ -875,9 +881,9 @@ bool GuiInspectorTypeImageAssetPtr::updateRects()
|
|||
mPreviewImage->resize(previewRect.point, previewRect.extent);
|
||||
|
||||
S32 editPos = previewRect.point.x + previewRect.extent.x + 10;
|
||||
mEdit->resize(Point2I(editPos, rowSize * 1.5), Point2I(fieldExtent.x - editPos - 5, rowSize));
|
||||
mEdit->resize(Point2I(editPos, rowSize * 1.5), Point2I(fieldExtent.x - editPos - 5 - rowSize, rowSize));
|
||||
|
||||
//mEditButton->resize(Point2I(fieldExtent.x - 105, previewRect.point.y + previewRect.extent.y - rowSize), Point2I(100, rowSize));
|
||||
mEditButton->resize(Point2I(mEdit->getPosition().x + mEdit->getExtent().x, mEdit->getPosition().y), Point2I(rowSize, rowSize));
|
||||
|
||||
mBrowseButton->setHidden(true);
|
||||
|
||||
|
|
@ -975,7 +981,7 @@ void GuiInspectorTypeImageAssetPtr::updatePreviewImage()
|
|||
//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());
|
||||
mPreviewImage->_setBitmap(StringTable->insert("ToolsModule:unknownImage_image"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1003,7 +1009,7 @@ 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());
|
||||
mPreviewImage->_setBitmap(StringTable->insert("ToolsModule:unknownImage_image"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1025,4 +1031,20 @@ void GuiInspectorTypeImageAssetPtr::setPreviewImage(StringTableEntry assetId)
|
|||
if (mPreviewImage->getBitmapAsset().isNull())
|
||||
mPreviewImage->_setBitmap(StringTable->insert("ToolsModule:genericAssetIcon_image"));
|
||||
}
|
||||
|
||||
void GuiInspectorTypeImageAssetPtr::setCaption(StringTableEntry caption)
|
||||
{
|
||||
mCaption = caption;
|
||||
mLabel->setText(mCaption);
|
||||
}
|
||||
|
||||
DefineEngineMethod(GuiInspectorTypeImageAssetPtr, setCaption, void, (String newCaption), , "() - Sets the caption of the field.")
|
||||
{
|
||||
object->setCaption(StringTable->insert(newCaption.c_str()));
|
||||
}
|
||||
|
||||
DefineEngineMethod(GuiInspectorTypeImageAssetPtr, setIsDeleteBtnVisible, void, (bool isVisible), (false), "() - Sets if the delete/clear button is visible for the field")
|
||||
{
|
||||
object->setIsDeleteBtnVisible(isVisible);
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue