add tab cycling between inspector sub-elements

for linked values like position, scale, extents ect
This commit is contained in:
AzaezelX 2025-08-24 12:11:31 -05:00
parent 0dbfa4a601
commit 67f4ce44a6

View file

@ -42,6 +42,7 @@
#include "math/mathTypes.h"
#include "sim/actionMap.h"
#include "console/typeValidators.h"
#include "console/script.h"
//-----------------------------------------------------------------------------
// GuiInspectorTypeMenuBase
@ -1983,6 +1984,16 @@ void GuiInspectorType2DValue::constructEditControlChildren(GuiControl* retCtrl,
retCtrl->addObject(mContainerX);
retCtrl->addObject(mContainerY);
mCtrlX->setDataField(StringTable->insert("tabComplete"), NULL, "true");
String tabCmdX = String::ToString("function %s::onTabComplete(){ %s.setFirstResponder();}",
mCtrlX->getName(), mCtrlY->getName());
Con::evaluatef(tabCmdX);
mCtrlY->setDataField(StringTable->insert("tabComplete"), NULL, "true");
String tabCmdY = String::ToString("function %s::onTabComplete(){ %s.setFirstResponder();}",
mCtrlY->getName(), mCtrlX->getName());
Con::evaluatef(tabCmdY);
//retCtrl->addObject(mScriptValue);
}
@ -2108,6 +2119,16 @@ void GuiInspectorType3DValue::constructEditControlChildren(GuiControl* retCtrl,
mContainerZ->addObject(mCtrlZ);
_registerEditControl(mContainerZ, "cz");
mCtrlY->setDataField(StringTable->insert("tabComplete"), NULL, "true");
String tabCmdY = String::ToString("function %s::onTabComplete(){ %s.setFirstResponder();}",
mCtrlY->getName(), mCtrlZ->getName());
Con::evaluatef(tabCmdY);
mCtrlZ->setDataField(StringTable->insert("tabComplete"), NULL, "true");
String tabCmdZ = String::ToString("function %s::onTabComplete(){ %s.setFirstResponder();}",
mCtrlZ->getName(), mCtrlX->getName());
Con::evaluatef(tabCmdZ);
retCtrl->addObject(mContainerZ);
}