1#include "checkbox_string.qh"
2
3entity makeXonoticCheckBoxString(string theYesValue, string theNoValue, string theCvar, string theText)
4{
5	entity me;
6	me = NEW(XonoticCheckBoxString);
7	me.configureXonoticCheckBoxString(me, theYesValue, theNoValue, theCvar, theText);
8	return me;
9}
10void XonoticCheckBoxString_configureXonoticCheckBoxString(entity me, string theYesValue, string theNoValue, string theCvar, string theText)
11{
12	me.yesString = theYesValue;
13	me.noString = theNoValue;
14	me.checked = 0;
15	me.cvarName = (theCvar) ? theCvar : string_null;
16	me.loadCvars(me);
17	me.configureCheckBox(me, theText, me.fontSize, me.image);
18}
19void XonoticCheckBoxString_setChecked(entity me, float foo)
20{
21	me.checked = !me.checked;
22	me.saveCvars(me);
23}
24void XonoticCheckBoxString_loadCvars(entity me)
25{
26	if (!me.cvarName)
27		return;
28
29	if(cvar_string(me.cvarName) == me.yesString)
30		me.checked = 1;
31}
32void XonoticCheckBoxString_saveCvars(entity me)
33{
34	if (!me.cvarName)
35		return;
36
37	if(me.checked)
38		cvar_set(me.cvarName, me.yesString);
39	else
40		cvar_set(me.cvarName, me.noString);
41
42	CheckSendCvars(me, me.cvarName);
43}
44