]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/item/textslider.qc
Merge branch 'master' into matthiaskrgr/quad_blue
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / item / textslider.qc
index 733b1d61255e155490021d7e12f6b53c61940acd..01f89fc4d8c6fd2779ecce4fb5203c5ab6b35110 100644 (file)
@@ -1,80 +1,64 @@
-// Note:
-//   to use this, you FIRST call configureSliderVisuals, then multiple times addValue, then configureTextSlider
-#ifndef ITEM_TEXTSLIDER_H
-#define ITEM_TEXTSLIDER_H
-#include "slider.qc"
-CLASS(TextSlider, 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, int, 0)
-ENDCLASS(TextSlider)
-#endif
+#include "textslider.qh"
 
-#ifdef IMPLEMENTATION
-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(entity me, string id)
-{
-       int 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, int pos, string theString, string theIdentifier)
-{
-       int 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