Mercurial > hg > jslab
view src/samer/maths/IntArrayEditor.java @ 8:5e3cbbf173aa tip
Reorganise some more
author | samer |
---|---|
date | Fri, 05 Apr 2019 22:41:58 +0100 |
parents | bf79fb79ee13 |
children |
line wrap: on
line source
package samer.maths; import samer.core.*; import samer.core.types.*; import samer.core.util.*; import java.util.*; public class IntArrayEditor extends BaseViewer { int [] x; VInteger index, value; public IntArrayEditor(int [] x) { super(new Observable()); this.x = x; index = new VInteger("index",0,0); value = new VInteger("value",0,0); index.setRange(0,x.length-1); value.setRange(0,2*x[0]); panel().setName("int array"); panel().setLayout(new StackLayout()); add(index); add(value); index.addObserver(this); value.addObserver(this); } public void update(Observable obs, Object arg) { if (obs==index) { value.setRange(0,2*x[index.value]); value.value = x[index.value]; value.changed(this); } else if (obs==value) { if (arg!=this) { x[index.value]=value.value; } } else super.update(obs,arg); } }