]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/xonotic/checkbox.qc
Add dedicated cvar (hud_panel_healtharmor_combined) for combining health and armor...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / checkbox.qc
index 631a430dcc455947d8c63e83e0e24297ba5dd7ae..21743b9a1506801ea9a4a86bce1843c706d85447 100644 (file)
@@ -1,31 +1,6 @@
-#ifdef INTERFACE
-CLASS(XonoticCheckBox) EXTENDS(CheckBox)
-       METHOD(XonoticCheckBox, configureXonoticCheckBox, void(entity, float, float, string, string))
-       METHOD(XonoticCheckBox, setChecked, void(entity, float))
-       ATTRIB(XonoticCheckBox, fontSize, float, SKINFONTSIZE_NORMAL)
-       ATTRIB(XonoticCheckBox, image, string, SKINGFX_CHECKBOX)
-       ATTRIB(XonoticCheckBox, yesValue, float, 1)
-       ATTRIB(XonoticCheckBox, noValue, float, 0)
+#include "checkbox.qh"
 
-       ATTRIB(XonoticCheckBox, color, vector, SKINCOLOR_CHECKBOX_N)
-       ATTRIB(XonoticCheckBox, colorC, vector, SKINCOLOR_CHECKBOX_C)
-       ATTRIB(XonoticCheckBox, colorF, vector, SKINCOLOR_CHECKBOX_F)
-       ATTRIB(XonoticCheckBox, colorD, vector, SKINCOLOR_CHECKBOX_D)
-
-       ATTRIB(XonoticCheckBox, cvarName, string, string_null)
-       METHOD(XonoticCheckBox, loadCvars, void(entity))
-       METHOD(XonoticCheckBox, saveCvars, void(entity))
-       ATTRIB(XonoticCheckBox, sendCvars, float, 0)
-
-       ATTRIB(XonoticCheckBox, alpha, float, SKINALPHA_TEXT)
-       ATTRIB(XonoticCheckBox, disabledAlpha, float, SKINALPHA_DISABLED)
-ENDCLASS(XonoticCheckBox)
-entity makeXonoticCheckBox(float, string, string);
-entity makeXonoticCheckBoxEx(float, float, string, string);
-#endif
-
-#ifdef IMPLEMENTATION
-entity makeXonoticCheckBox(float isInverted, string theCvar, string theText)
+entity makeXonoticCheckBox_T(float isInverted, string theCvar, string theText, string theTooltip)
 {
        float y, n;
        if(isInverted > 1)
@@ -48,26 +23,33 @@ entity makeXonoticCheckBox(float isInverted, string theCvar, string theText)
                n = 0;
                y = 1;
        }
-       return makeXonoticCheckBoxEx(y, n, theCvar, theText);
+       return makeXonoticCheckBoxEx_T(y, n, theCvar, theText, theTooltip);
 }
-entity makeXonoticCheckBoxEx(float theYesValue, float theNoValue, string theCvar, string theText)
+entity makeXonoticCheckBox(float isInverted, string theCvar, string theText)
+{
+       return makeXonoticCheckBox_T(isInverted, theCvar, theText, string_null);
+}
+
+entity makeXonoticCheckBoxEx_T(float theYesValue, float theNoValue, string theCvar, string theText, string theTooltip)
 {
        entity me;
-       me = spawnXonoticCheckBox();
-       me.configureXonoticCheckBox(me, theYesValue, theNoValue, theCvar, theText);
+       me = NEW(XonoticCheckBox);
+       me.configureXonoticCheckBox(me, theYesValue, theNoValue, theCvar, theText, theTooltip);
        return me;
 }
-void XonoticCheckBox_configureXonoticCheckBox(entity me, float theYesValue, float theNoValue, string theCvar, string theText)
+entity makeXonoticCheckBoxEx(float theYesValue, float theNoValue, string theCvar, string theText)
+{
+       return makeXonoticCheckBoxEx_T(theYesValue, theNoValue, theCvar, theText, string_null);
+}
+
+void XonoticCheckBox_configureXonoticCheckBox(entity me, float theYesValue, float theNoValue, string theCvar, string theText, string theTooltip)
 {
        me.yesValue = theYesValue;
        me.noValue = theNoValue;
        me.checked = 0;
-       if(theCvar)
-       {
-               me.cvarName = theCvar;
-               me.tooltip = getZonedTooltipForIdentifier(theCvar);
-               me.loadCvars(me);
-       }
+       me.cvarName = (theCvar) ? theCvar : string_null;
+       me.loadCvars(me);
+       setZonedTooltip(me, theTooltip, theCvar);
        me.configureCheckBox(me, theText, me.fontSize, me.image);
 }
 void XonoticCheckBox_setChecked(entity me, float val)
@@ -101,4 +83,3 @@ void XonoticCheckBox_saveCvars(entity me)
 
        CheckSendCvars(me, me.cvarName);
 }
-#endif