X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fcheckbox.qc;h=6015e48bad45369c9b350e4eefe38d29202f2e8a;hp=65db0f5a73bbcf4f0223998d1d07b0b30dcd003f;hb=42e255d014f2c6a1871177ea511f630624cdfb57;hpb=fc62dfa34fa5b13d63660d5249633af1222d6476 diff --git a/qcsrc/menu/xonotic/checkbox.qc b/qcsrc/menu/xonotic/checkbox.qc index 65db0f5a7..6015e48ba 100644 --- a/qcsrc/menu/xonotic/checkbox.qc +++ b/qcsrc/menu/xonotic/checkbox.qc @@ -1,33 +1,6 @@ -#ifndef CHECKBOX_H -#define CHECKBOX_H -#include "../item/checkbox.qc" -CLASS(XonoticCheckBox, 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) @@ -50,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 = NEW(XonoticCheckBox); - me.configureXonoticCheckBox(me, theYesValue, theNoValue, theCvar, theText); + 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) @@ -97,10 +77,9 @@ void XonoticCheckBox_saveCvars(entity me) return; if(me.checked) - cvar_set(me.cvarName, ftos(me.yesValue)); + cvar_set(me.cvarName, ftos_mindecimals(me.yesValue)); else - cvar_set(me.cvarName, ftos(me.noValue)); + cvar_set(me.cvarName, ftos_mindecimals(me.noValue)); CheckSendCvars(me, me.cvarName); } -#endif