-#ifndef TEXTSLIDER_H
-#define TEXTSLIDER_H
-#include "../item/textslider.qc"
-CLASS(XonoticTextSlider, TextSlider)
- METHOD(XonoticTextSlider, configureXonoticTextSlider, void(entity, string));
- METHOD(XonoticTextSlider, setValue, void(entity, float));
- METHOD(XonoticTextSlider, configureXonoticTextSliderValues, void(entity));
- ATTRIB(XonoticTextSlider, fontSize, float, SKINFONTSIZE_NORMAL)
- ATTRIB(XonoticTextSlider, valueSpace, float, SKINWIDTH_SLIDERTEXT)
- ATTRIB(XonoticTextSlider, image, string, SKINGFX_SLIDER)
- ATTRIB(XonoticTextSlider, tolerance, vector, SKINTOLERANCE_SLIDER)
- ATTRIB(XonoticTextSlider, align, float, 0.5)
- ATTRIB(XonoticTextSlider, color, vector, SKINCOLOR_SLIDER_N)
- ATTRIB(XonoticTextSlider, colorC, vector, SKINCOLOR_SLIDER_C)
- ATTRIB(XonoticTextSlider, colorF, vector, SKINCOLOR_SLIDER_F)
- ATTRIB(XonoticTextSlider, colorD, vector, SKINCOLOR_SLIDER_D)
- ATTRIB(XonoticTextSlider, color2, vector, SKINCOLOR_SLIDER_S)
+#include "textslider.qh"
- ATTRIB(XonoticTextSlider, cvarName, string, string_null)
- METHOD(XonoticTextSlider, loadCvars, void(entity));
- METHOD(XonoticTextSlider, saveCvars, void(entity));
- ATTRIB(XonoticTextSlider, sendCvars, float, 0)
-
- ATTRIB(XonoticTextSlider, alpha, float, SKINALPHA_TEXT)
- ATTRIB(XonoticTextSlider, disabledAlpha, float, SKINALPHA_DISABLED)
-ENDCLASS(XonoticTextSlider)
-entity makeXonoticTextSlider(string); // note: you still need to call addValue and configureXonoticTextSliderValues!
-#endif
-
-#ifdef IMPLEMENTATION
-entity makeXonoticTextSlider(string theCvar)
+entity makeXonoticTextSlider_T(string theCvar, string theTooltip)
{
entity me;
me = NEW(XonoticTextSlider);
- me.configureXonoticTextSlider(me, theCvar);
+ me.configureXonoticTextSlider(me, theCvar, theTooltip);
return me;
}
-void XonoticTextSlider_configureXonoticTextSlider(entity me, string theCvar)
+entity makeXonoticTextSlider(string theCvar)
+{
+ return makeXonoticTextSlider_T(theCvar, string_null);
+}
+void XonoticTextSlider_configureXonoticTextSlider(entity me, string theCvar, string theTooltip)
{
me.configureSliderVisuals(me, me.fontSize, me.align, me.valueSpace, me.image);
- if(theCvar)
- {
- me.cvarName = theCvar;
- me.tooltip = getZonedTooltipForIdentifier(theCvar);
- // don't load it yet
- }
+ me.cvarName = (theCvar) ? theCvar : string_null;
+ // me.loadCvars(me); // don't load it yet
+ setZonedTooltip(me, theTooltip, theCvar);
}
void XonoticTextSlider_setValue(entity me, float val)
{
me.saveCvars(me);
}
}
+void XonoticTextSlider_setValue_noAnim(entity me, float val)
+{
+ if(val != me.value)
+ {
+ SUPER(XonoticTextSlider).setValue_noAnim(me, val);
+ me.saveCvars(me);
+ }
+}
void XonoticTextSlider_loadCvars(entity me)
{
if (!me.cvarName)
me.configureTextSliderValues(me, string_null);
me.loadCvars(me);
}
-#endif