textslider: allow inserting
authorRudolf Polzer <divverent@xonotic.org>
Wed, 2 Oct 2013 04:24:47 +0000 (06:24 +0200)
committerRudolf Polzer <divverent@xonotic.org>
Wed, 2 Oct 2013 04:24:47 +0000 (06:24 +0200)
qcsrc/menu/item/textslider.c

index 1676c3b..7301f5f 100644 (file)
@@ -8,6 +8,7 @@ CLASS(TextSlider) EXTENDS(Slider)
        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)
@@ -57,6 +58,16 @@ void TextSlider_addValue(entity me, string theString, string theIdentifier)
        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[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);