feat(ui): add CSimpleEditBox::SetText

This commit is contained in:
Tristan Cormier 2025-11-27 19:18:40 -05:00 committed by fallenoak
parent 66950e312f
commit ce629fc5c8
2 changed files with 25 additions and 0 deletions

View File

@ -1058,6 +1058,14 @@ void CSimpleEditBox::RunOnTextChangedScript(int32_t changed) {
}
}
void CSimpleEditBox::RunOnTextSetScript(const char* a2) {
if (this->m_onTextSet.luaRef) {
this->RunScript(this->m_onTextSet, 0, a2);
}
// TODO action
}
void CSimpleEditBox::SetCursorPosition(int32_t position) {
if (position >= 0) {
this->m_cursorPos = std::min(this->m_textLength, position);
@ -1102,6 +1110,21 @@ void CSimpleEditBox::SetMultiLine(int32_t enabled) {
this->UpdateSizes();
}
void CSimpleEditBox::SetText(const char* text, const char* a3) {
if (this->m_highlightLeft != this->m_highlightRight) {
this->m_dirtyFlags |= 0x2;
this->m_highlightRight = 0;
this->m_highlightLeft = 0;
}
if (SStrCmp(text, this->m_text)) {
this->DeleteSubstring(0, this->m_textLength, 1);
this->m_visiblePos = 0;
this->Insert(text, a3, 0, 0, 1);
this->RunOnTextSetScript(a3);
}
}
void CSimpleEditBox::StartHighlight() {
// TODO
}

View File

@ -120,9 +120,11 @@ class CSimpleEditBox : public CSimpleFrame, CSimpleFontedFrame {
void RunOnEscapePressedScript();
void RunOnTabPressedScript();
void RunOnTextChangedScript(int32_t changed);
void RunOnTextSetScript(const char* a2);
void SetCursorPosition(int32_t position);
void SetHistoryLines(int32_t a2);
void SetMultiLine(int32_t enabled);
void SetText(const char* text, const char* a3);
void StartHighlight();
void UpdateDirtyBits();
void UpdateSizes();