X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fitem%2Ftextslider.qc;h=01f89fc4d8c6fd2779ecce4fb5203c5ab6b35110;hb=ac9fba402abf745436adf0ecaa8f90347708ff53;hp=59d8c10db59f6053009f51b90bd39a7c2561c645;hpb=37903827937b44f174275a75d2dab5301b8ab53e;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/item/textslider.qc b/qcsrc/menu/item/textslider.qc index 59d8c10db5..01f89fc4d8 100644 --- a/qcsrc/menu/item/textslider.qc +++ b/qcsrc/menu/item/textslider.qc @@ -1,78 +1,64 @@ -// Note: -// to use this, you FIRST call configureSliderVisuals, then multiple times addValue, then configureTextSlider -#ifdef INTERFACE -CLASS(TextSlider) EXTENDS(Slider) - METHOD(TextSlider, valueToText, string(entity, float)) - METHOD(TextSlider, valueToIdentifier, string(entity, float)) - METHOD(TextSlider, setValueFromIdentifier, void(entity, string)) - METHOD(TextSlider, getIdentifier, string(entity)) - METHOD(TextSlider, clearValues, void(entity)) - METHOD(TextSlider, addValue, void(entity, string, string)) - METHOD(TextSlider, insertValue, void(entity, float, string, string)) - METHOD(TextSlider, configureTextSliderValues, void(entity, string)) - ATTRIBARRAY(TextSlider, valueStrings, string, 256) - ATTRIBARRAY(TextSlider, valueIdentifiers, string, 256) - ATTRIB(TextSlider, nValues, float, 0) -ENDCLASS(TextSlider) -#endif +#include "textslider.qh" -#ifdef IMPLEMENTATION -string TextSlider_valueToIdentifier(entity me, float val) -{ - if(val >= me.nValues) - return "custom"; - if(val < 0) - return "custom"; - return me.(valueIdentifiers[val]); -} -string TextSlider_valueToText(entity me, float val) -{ - if(val >= me.nValues) - return _("Custom"); - if(val < 0) - return _("Custom"); - return me.(valueStrings[val]); -} -void TextSlider_setValueFromIdentifier(entity me, string id) -{ - float i; - for(i = 0; i < me.nValues; ++i) - if(me.valueToIdentifier(me, i) == id) + string TextSlider_valueToIdentifier(entity me, int val) + { + if (val >= me.nValues) return "custom"; + if (val < 0) return "custom"; + return me.(valueIdentifiers[val]); + } + string TextSlider_valueToText(entity me, int val) + { + if (val >= me.nValues) return _("Custom"); + if (val < 0) return _("Custom"); + return me.(valueStrings[val]); + } + void TextSlider_setValueFromIdentifier_allowAnim(entity me, string id, bool allowAnim) + { + int i; + for (i = 0; i < me.nValues; ++i) + if (me.valueToIdentifier(me, i) == id) + { + SUPER(TextSlider).setValue_allowAnim(me, i, allowAnim); + return; + } + SUPER(TextSlider).setValue_allowAnim(me, -1, allowAnim); + } + void TextSlider_setValueFromIdentifier_noAnim(entity me, string id) + { + TextSlider_setValueFromIdentifier_allowAnim(me, id, false); + } + void TextSlider_setValueFromIdentifier(entity me, string id) + { + TextSlider_setValueFromIdentifier_allowAnim(me, id, true); + } + string TextSlider_getIdentifier(entity me) + { + return me.valueToIdentifier(me, me.value); + } + void TextSlider_clearValues(entity me) + { + me.nValues = 0; + } + void TextSlider_addValue(entity me, string theString, string theIdentifier) + { + me.(valueStrings[me.nValues]) = theString; + me.(valueIdentifiers[me.nValues]) = theIdentifier; + me.nValues += 1; + } + void TextSlider_insertValue(entity me, int pos, string theString, string theIdentifier) + { + int i; + for (i = me.nValues; i > pos; --i) { - SUPER(TextSlider).setValue( me, i ); - return; + me.(valueStrings[i]) = me.(valueStrings[i - 1]); + me.(valueIdentifiers[i]) = me.(valueIdentifiers[i - 1]); } - SUPER(TextSlider).setValue( me, -1 ); -} -string TextSlider_getIdentifier(entity me) -{ - return me.valueToIdentifier(me, me.value); -} -void TextSlider_clearValues(entity me) -{ - me.nValues = 0; -} -void TextSlider_addValue(entity me, string theString, string theIdentifier) -{ - me.(valueStrings[me.nValues]) = theString; - me.(valueIdentifiers[me.nValues]) = theIdentifier; - me.nValues += 1; -} -void TextSlider_insertValue(entity me, float pos, string theString, string theIdentifier) -{ - float i; - for (i = me.nValues; i > pos; --i) + me.(valueStrings[pos]) = theString; + me.(valueIdentifiers[pos]) = theIdentifier; + me.nValues += 1; + } + void TextSlider_configureTextSliderValues(entity me, string theDefault) { - me.(valueStrings[i]) = me.(valueStrings[i-1]); - me.(valueIdentifiers[i]) = me.(valueIdentifiers[i-1]); + me.configureSliderValues(me, 0, 0, me.nValues - 1, 1, 1, 1); + me.setValueFromIdentifier_noAnim(me, theDefault); } - me.(valueStrings[pos]) = theString; - me.(valueIdentifiers[pos]) = theIdentifier; - me.nValues += 1; -} -void TextSlider_configureTextSliderValues(entity me, string theDefault) -{ - me.configureSliderValues(me, 0, 0, me.nValues - 1, 1, 1, 1); - me.setValueFromIdentifier(me, theDefault); -} -#endif