mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-03-06 14:00:39 +00:00
Merge pull request #1024 from Azaezel/alpha41/TypeHints
add TypeHints for scenetree viewing
This commit is contained in:
commit
06e4ce01a9
10 changed files with 50 additions and 1 deletions
|
|
@ -425,6 +425,7 @@ U32 GuiTreeViewCtrl::Item::getDisplayTextLength()
|
|||
|
||||
StringTableEntry name = obj->getName();
|
||||
StringTableEntry internalName = obj->getInternalName();
|
||||
StringTableEntry typeHint = obj->getTypeHint();
|
||||
StringTableEntry className = obj->getClassName();
|
||||
|
||||
if( showInternalNameOnly() )
|
||||
|
|
@ -466,6 +467,11 @@ U32 GuiTreeViewCtrl::Item::getDisplayTextLength()
|
|||
if( internalName && internalName[ 0 ] )
|
||||
len += dStrlen( internalName ) + 3; // ' [<internalname>]'
|
||||
}
|
||||
if ( mState.test(ShowTypeHint) )
|
||||
{
|
||||
if (typeHint && typeHint[0])
|
||||
len += dStrlen(typeHint) + 3;
|
||||
}
|
||||
if( mState.test( Marked ) )
|
||||
{
|
||||
len += 1; // '*<name>'
|
||||
|
|
@ -502,8 +508,10 @@ void GuiTreeViewCtrl::Item::getDisplayText(U32 bufLen, char *buf)
|
|||
{
|
||||
const char* pObjName = pObject->getName();
|
||||
const char* pInternalName = pObject->getInternalName();
|
||||
const char* pTypeHint = pObject->getTypeHint();
|
||||
|
||||
bool hasInternalName = pInternalName && pInternalName[0];
|
||||
bool hasTypeHint = pTypeHint && pTypeHint[0];
|
||||
bool hasObjectName = pObjName && pObjName[0];
|
||||
|
||||
const char* pClassName = pObject->getClassName();
|
||||
|
|
@ -566,6 +574,14 @@ void GuiTreeViewCtrl::Item::getDisplayText(U32 bufLen, char *buf)
|
|||
else
|
||||
dSprintf(ptr, len, " [%s]", pInternalName);
|
||||
}
|
||||
if (hasTypeHint && mState.test(ShowTypeHint))
|
||||
{
|
||||
if (mState.test(Item::Marked))
|
||||
dSprintf(ptr, len, " *<%s>", pTypeHint);
|
||||
else
|
||||
dSprintf(ptr, len, " <%s>", pTypeHint);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -835,6 +851,7 @@ GuiTreeViewCtrl::GuiTreeViewCtrl()
|
|||
mShowClassNames = true;
|
||||
mShowObjectNames = true;
|
||||
mShowInternalNames = true;
|
||||
mShowTypeHints = false;
|
||||
mShowClassNameForUnnamedObjects = false;
|
||||
mFlags.set(RebuildVisible);
|
||||
|
||||
|
|
@ -894,7 +911,10 @@ void GuiTreeViewCtrl::initPersistFields()
|
|||
addField( "showObjectNames", TypeBool, Offset( mShowObjectNames, GuiTreeViewCtrl ),
|
||||
"If true, item text labels for objects will include object names." );
|
||||
addField( "showInternalNames", TypeBool, Offset( mShowInternalNames, GuiTreeViewCtrl ),
|
||||
"If true, item text labels for obje ts will include internal names." );
|
||||
"If true, item text labels for objets will include internal names." );
|
||||
addField("showTypeHints", TypeBool, Offset(mShowTypeHints, GuiTreeViewCtrl),
|
||||
"If true, item text labels for objets will include TypeHints.");
|
||||
|
||||
addField( "showClassNameForUnnamedObjects", TypeBool, Offset( mShowClassNameForUnnamedObjects, GuiTreeViewCtrl ),
|
||||
"If true, class names will be used as object names for unnamed objects." );
|
||||
addField( "compareToObjectID", TypeBool, Offset(mCompareToObjectID, GuiTreeViewCtrl));
|
||||
|
|
@ -1794,6 +1814,7 @@ bool GuiTreeViewCtrl::onAdd()
|
|||
mShowClassNames = false;
|
||||
mShowObjectNames = false;
|
||||
mShowInternalNames = true;
|
||||
mShowTypeHints = false;
|
||||
}
|
||||
|
||||
const char* objectNamesOnly = getDataField( sObjectNamesOnly, NULL );
|
||||
|
|
@ -1803,6 +1824,7 @@ bool GuiTreeViewCtrl::onAdd()
|
|||
mShowClassNames = false;
|
||||
mShowObjectNames = true;
|
||||
mShowInternalNames = false;
|
||||
mShowTypeHints = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4109,6 +4131,10 @@ GuiTreeViewCtrl::Item* GuiTreeViewCtrl::addInspectorDataItem(Item *parent, SimOb
|
|||
item->mState.clear( Item::ShowInternalName );
|
||||
else
|
||||
item->mState.set( Item::ShowInternalName );
|
||||
if (!mShowTypeHints)
|
||||
item->mState.clear(Item::ShowTypeHint);
|
||||
else
|
||||
item->mState.set(Item::ShowTypeHint);
|
||||
if( mShowClassNameForUnnamedObjects )
|
||||
item->mState.set( Item::ShowClassNameForUnnamed );
|
||||
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@ class GuiTreeViewCtrl : public GuiArrayCtrl
|
|||
ForceItemName = BIT(15),
|
||||
ForceDragTarget = BIT(16),
|
||||
DenyDrag = BIT(17),
|
||||
ShowTypeHint = BIT(18),
|
||||
};
|
||||
|
||||
GuiTreeViewCtrl* mParentControl;
|
||||
|
|
@ -395,6 +396,9 @@ class GuiTreeViewCtrl : public GuiArrayCtrl
|
|||
/// If true, internal names will be included in inspector tree item labels.
|
||||
bool mShowInternalNames;
|
||||
|
||||
/// If true, TypeHints will be included in inspector tree item labels.
|
||||
bool mShowTypeHints;
|
||||
|
||||
/// If true, class names will be used as object names for unnamed objects.
|
||||
bool mShowClassNameForUnnamedObjects;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue