Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
inputbox.qc
Go to the documentation of this file.
1#include "inputbox.qh"
2
3entity makeXonoticInputBox_T(bool doEditColorCodes, string theCvar, string theTooltip)
4{
5 entity me;
7 me.configureXonoticInputBox(me, doEditColorCodes, theCvar, theTooltip);
8 return me;
9}
10entity makeXonoticInputBox(bool doEditColorCodes, string theCvar)
11{
12 return makeXonoticInputBox_T(doEditColorCodes, theCvar, string_null);
13}
14void XonoticInputBox_configureXonoticInputBox(entity me, bool doEditColorCodes, string theCvar, string theTooltip)
15{
16 me.configureInputBox(me, "", 0, me.fontSize, me.image);
17 me.editColorCodes = doEditColorCodes;
18 me.controlledCvar = (theCvar) ? theCvar : string_null;
19 me.loadCvars(me);
20 setZonedTooltip(me, theTooltip, theCvar);
21 me.cursorPos = strlen(me.text);
22}
24{
25 me.saveCvars(me);
26}
27void XonoticInputBox_setText(entity me, string val)
28{
29 if(me.text != val)
30 {
31 SUPER(XonoticInputBox).setText(me, val);
32 if(me.onChange)
33 me.onChange(me, me.onChangeEntity);
34 if(me.saveImmediately)
35 me.saveCvars(me);
36 }
37 else
38 SUPER(XonoticInputBox).setText(me, val);
39}
41{
42 if (!me.controlledCvar)
43 return;
44 SUPER(XonoticInputBox).setText(me, cvar_string(me.controlledCvar));
45}
47{
48 if (!me.controlledCvar)
49 return;
50 cvar_set(me.controlledCvar, me.text);
51 CheckSendCvars(me, me.controlledCvar);
52}
53float XonoticInputBox_keyDown(entity me, float key, float ascii, float shift)
54{
55 float r;
56 r = 0;
57 if(key == K_ENTER || key == K_KP_ENTER)
58 {
59 if(me.controlledCvar)
60 {
61 me.saveCvars(me);
62 r = 1;
63 }
64 if(me.onEnter)
65 me.onEnter(me, me.onEnterEntity);
66 }
67 if(SUPER(XonoticInputBox).keyDown(me, key, ascii, shift))
68 r = 1;
69 return r;
70}
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
#define strlen
float K_ENTER
Definition keycodes.qc:8
float K_KP_ENTER
Definition keycodes.qc:74
void CheckSendCvars(entity me, string cvarnamestring)
Definition util.qc:825
void setZonedTooltip(entity e, string theTooltip, string theCvar)
Definition util.qc:257
void cvar_set(string name, string value)
const string cvar_string(string name)
string string_null
Definition nil.qh:9
#define NEW(cname,...)
Definition oo.qh:117
#define SUPER(cname)
Definition oo.qh:231
entity makeXonoticInputBox(bool doEditColorCodes, string theCvar)
Definition inputbox.qc:10
entity makeXonoticInputBox_T(bool doEditColorCodes, string theCvar, string theTooltip)
Definition inputbox.qc:3
void XonoticInputBox_configureXonoticInputBox(entity me, bool doEditColorCodes, string theCvar, string theTooltip)
Definition inputbox.qc:14
void XonoticInputBox_setText(entity me, string val)
Definition inputbox.qc:27
float XonoticInputBox_keyDown(entity me, float key, float ascii, float shift)
Definition inputbox.qc:53
void XonoticInputBox_focusLeave(entity me)
Definition inputbox.qc:23
void XonoticInputBox_loadCvars(entity me)
Definition inputbox.qc:40
void XonoticInputBox_saveCvars(entity me)
Definition inputbox.qc:46