Xonotic
inputbox.qc
Go to the documentation of this file.
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.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 }
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 }
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 }
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.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 }
string string_null
Definition: nil.qh:9
#define NEW(cname,...)
Definition: oo.qh:105
void XonoticInputBox_configureXonoticInputBox(entity me, float doEditColorCodes, string theCvar, string theTooltip)
Definition: inputbox.qc:14
entity() spawn
void XonoticInputBox_loadCvars(entity me)
Definition: inputbox.qc:40
float XonoticInputBox_keyDown(entity me, float key, float ascii, float shift)
Definition: inputbox.qc:53
float K_KP_ENTER
Definition: keycodes.qc:74
#define SUPER(cname)
Definition: oo.qh:219
void XonoticInputBox_setText(entity me, string val)
Definition: inputbox.qc:27
void XonoticInputBox_focusLeave(entity me)
Definition: inputbox.qc:23
void XonoticInputBox_saveCvars(entity me)
Definition: inputbox.qc:46
float K_ENTER
Definition: keycodes.qc:8
entity makeXonoticInputBox_T(float doEditColorCodes, string theCvar, string theTooltip)
Definition: inputbox.qc:3
entity makeXonoticInputBox(float doEditColorCodes, string theCvar)
Definition: inputbox.qc:10