samer@0: package samer.maths; samer@0: samer@0: import samer.core.*; samer@0: import samer.core.types.*; samer@0: import samer.core.util.*; samer@0: import java.util.*; samer@0: samer@0: public class IntArrayEditor extends BaseViewer samer@0: { samer@0: int [] x; samer@0: VInteger index, value; samer@0: samer@0: public IntArrayEditor(int [] x) samer@0: { samer@0: super(new Observable()); samer@0: samer@0: this.x = x; samer@0: index = new VInteger("index",0,0); samer@0: value = new VInteger("value",0,0); samer@0: index.setRange(0,x.length-1); samer@0: value.setRange(0,2*x[0]); samer@0: panel().setName("int array"); samer@0: panel().setLayout(new StackLayout()); samer@0: add(index); samer@0: add(value); samer@0: index.addObserver(this); samer@0: value.addObserver(this); samer@0: } samer@0: samer@0: public void update(Observable obs, Object arg) samer@0: { samer@0: if (obs==index) { samer@0: value.setRange(0,2*x[index.value]); samer@0: value.value = x[index.value]; samer@0: value.changed(this); samer@0: } else if (obs==value) { samer@0: if (arg!=this) { samer@0: x[index.value]=value.value; samer@0: } samer@0: } else super.update(obs,arg); samer@0: } samer@0: }