mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-08-03 11:29:22 -04:00
Focus is the whole of it: one box listens at a time, clicking into one takes focus and clicking anywhere else gives it up, which is what stops a chat box eating every key for the rest of the session. The focus handlers fire on the box losing it as well as the one gaining it. Typing goes through the platform's text events rather than keycodes, so anything the keyboard layout produces arrives as it was meant to. The keys that are not text — backspace, delete, the arrows, home, end, enter, escape — are handled separately, and a numeric box keeps only digits. An addon's edit box takes the keystroke before anything else looks at it. Otherwise typing into one would also walk the character and backspace would trip a keybind. SetText means the box's own text on an edit box and the font string's on a button; FrameXML calls it on both and the widget decides which it means.