]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/menu/item/textslider.c
ARGH, that really was a STUPID bug.
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / item / textslider.c
index b6a345481171b949904913e5010a6c57ac24bc08..37aaeb4ab1dda7c4cf7b7493f4293a27e907c393 100644 (file)
@@ -6,7 +6,9 @@ CLASS(TextSlider) EXTENDS(Slider)
        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)
@@ -15,7 +17,7 @@ ENDCLASS(TextSlider)
 #endif
 
 #ifdef IMPLEMENTATION
-string valueToIdentifierTextSlider(entity me, float val)
+string TextSlider_valueToIdentifier(entity me, float val)
 {
        if(val >= me.nValues)
                return "custom";
@@ -23,36 +25,52 @@ string valueToIdentifierTextSlider(entity me, float val)
                return "custom";
        return me.(valueIdentifiers[val]);
 }
-string valueToTextTextSlider(entity me, float val)
+string TextSlider_valueToText(entity me, float val)
 {
        if(val >= me.nValues)
-               return "custom";
+               return _("custom");
        if(val < 0)
-               return "custom";
+               return _("custom");
        return me.(valueStrings[val]);
 }
-void setValueFromIdentifierTextSlider(entity me, string id)
+void TextSlider_setValueFromIdentifier(entity me, string id)
 {
        float i;
        for(i = 0; i < me.nValues; ++i)
                if(me.valueToIdentifier(me, i) == id)
                {
-                       setValueSlider( me, i );
+                       SUPER(TextSlider).setValue( me, i );
                        return;
                }
-       setValueSlider( me, -1 );
+       SUPER(TextSlider).setValue( me, -1 );
 }
-string getIdentifierTextSlider(entity me)
+string TextSlider_getIdentifier(entity me)
 {
        return me.valueToIdentifier(me, me.value);
 }
-void addValueTextSlider(entity me, string theString, string theIdentifier)
+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 configureTextSliderValuesTextSlider(entity me, string theDefault)
+void TextSlider_insertValue(entity me, float pos, string theString, string theIdentifier)
+{
+       float i;
+       for (i = me.nValues; i > pos; --i)
+       {
+               me.(valueStrings[i]) = me.(valueStrings[i-1]);
+               me.(valueIdentifiers[i]) = me.(valueIdentifiers[i-1]);
+       }
+       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);