Merge pull request #1540 from Azaezel/alpha41/tabCycling

add tab cycling between inspector sub-elements
This commit is contained in:
Brian Roberts 2025-08-24 19:57:05 -05:00 committed by GitHub
commit 6ee643d137
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

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);
}