2 CLASS(XonoticInputBox) EXTENDS(InputBox)
3 METHOD(XonoticInputBox, configureXonoticInputBox, void(entity, float, string))
4 METHOD(XonoticInputBox, focusLeave, void(entity))
5 METHOD(XonoticInputBox, setText, void(entity, string))
6 ATTRIB(XonoticInputBox, fontSize, float, SKINFONTSIZE_NORMAL)
7 ATTRIB(XonoticInputBox, image, string, SKINGFX_INPUTBOX)
8 ATTRIB(XonoticInputBox, onChange, void(entity, entity), SUB_Null)
9 ATTRIB(XonoticInputBox, onChangeEntity, entity, NULL)
10 ATTRIB(XonoticInputBox, onEnter, void(entity, entity), SUB_Null)
11 ATTRIB(XonoticInputBox, onEnterEntity, entity, NULL)
12 ATTRIB(XonoticInputBox, marginLeft, float, SKINMARGIN_INPUTBOX_CHARS)
13 ATTRIB(XonoticInputBox, marginRight, float, SKINMARGIN_INPUTBOX_CHARS)
14 ATTRIB(XonoticInputBox, color, vector, SKINCOLOR_INPUTBOX_N)
15 ATTRIB(XonoticInputBox, colorF, vector, SKINCOLOR_INPUTBOX_F)
17 ATTRIB(XonoticInputBox, alpha, float, SKINALPHA_TEXT)
19 ATTRIB(XonoticInputBox, cvarName, string, string_null)
20 METHOD(XonoticInputBox, loadCvars, void(entity))
21 METHOD(XonoticInputBox, saveCvars, void(entity))
22 METHOD(XonoticInputBox, keyDown, float(entity, float, float, float))
24 ATTRIB(XonoticInputBox, saveImmediately, float, 0)
25 ENDCLASS(XonoticInputBox)
26 entity makeXonoticInputBox(float, string);
30 entity makeXonoticInputBox(float doEditColorCodes, string theCvar)
33 me = spawnXonoticInputBox();
34 me.configureXonoticInputBox(me, doEditColorCodes, theCvar);
37 void XonoticInputBox_configureXonoticInputBox(entity me, float doEditColorCodes, string theCvar)
39 me.configureInputBox(me, "", 0, me.fontSize, me.image);
40 me.editColorCodes = doEditColorCodes;
43 me.cvarName = theCvar;
44 me.tooltip = getZonedTooltipForIdentifier(theCvar);
47 me.cursorPos = strlen(me.text);
49 void XonoticInputBox_focusLeave(entity me)
53 void XonoticInputBox_setText(entity me, string new)
57 SUPER(XonoticInputBox).setText(me, new);
58 me.onChange(me, me.onChangeEntity);
59 if(me.saveImmediately)
63 SUPER(XonoticInputBox).setText(me, new);
65 void XonoticInputBox_loadCvars(entity me)
69 SUPER(XonoticInputBox).setText(me, cvar_string(me.cvarName));
71 void XonoticInputBox_saveCvars(entity me)
75 cvar_set(me.cvarName, me.text);
77 float XonoticInputBox_keyDown(entity me, float key, float ascii, float shift)
81 if(key == K_ENTER || key == K_KP_ENTER)
88 me.onEnter(me, me.onEnterEntity);
90 if(SUPER(XonoticInputBox).keyDown(me, key, ascii, shift))