]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/inputbox.qc
Compact weapon flag checks
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / inputbox.qc
1 #include "inputbox.qh"
2
3 entity makeXonoticInputBox_T(float doEditColorCodes, string theCvar, string theTooltip)
4 {
5         entity me;
6         me = NEW(XonoticInputBox);
7         me.configureXonoticInputBox(me, doEditColorCodes, theCvar, theTooltip);
8         return me;
9 }
10 entity makeXonoticInputBox(float doEditColorCodes, string theCvar)
11 {
12         return makeXonoticInputBox_T(doEditColorCodes, theCvar, string_null);
13 }
14 void XonoticInputBox_configureXonoticInputBox(entity me, float doEditColorCodes, string theCvar, string theTooltip)
15 {
16         me.configureInputBox(me, "", 0, me.fontSize, me.image);
17         me.editColorCodes = doEditColorCodes;
18         me.cvarName = (theCvar) ? theCvar : string_null;
19         me.loadCvars(me);
20         setZonedTooltip(me, theTooltip, theCvar);
21         me.cursorPos = strlen(me.text);
22 }
23 void XonoticInputBox_focusLeave(entity me)
24 {
25         me.saveCvars(me);
26 }
27 void 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 }
40 void XonoticInputBox_loadCvars(entity me)
41 {
42         if (!me.cvarName)
43                 return;
44         SUPER(XonoticInputBox).setText(me, cvar_string(me.cvarName));
45 }
46 void XonoticInputBox_saveCvars(entity me)
47 {
48         if (!me.cvarName)
49                 return;
50         cvar_set(me.cvarName, me.text);
51         CheckSendCvars(me, me.cvarName);
52 }
53 float 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.cvarName)
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 }