annotate 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
rev   line source
samer@0 1 package samer.maths;
samer@0 2
samer@0 3 import samer.core.*;
samer@0 4 import samer.core.types.*;
samer@0 5 import samer.core.util.*;
samer@0 6 import java.util.*;
samer@0 7
samer@0 8 public class IntArrayEditor extends BaseViewer
samer@0 9 {
samer@0 10 int [] x;
samer@0 11 VInteger index, value;
samer@0 12
samer@0 13 public IntArrayEditor(int [] x)
samer@0 14 {
samer@0 15 super(new Observable());
samer@0 16
samer@0 17 this.x = x;
samer@0 18 index = new VInteger("index",0,0);
samer@0 19 value = new VInteger("value",0,0);
samer@0 20 index.setRange(0,x.length-1);
samer@0 21 value.setRange(0,2*x[0]);
samer@0 22 panel().setName("int array");
samer@0 23 panel().setLayout(new StackLayout());
samer@0 24 add(index);
samer@0 25 add(value);
samer@0 26 index.addObserver(this);
samer@0 27 value.addObserver(this);
samer@0 28 }
samer@0 29
samer@0 30 public void update(Observable obs, Object arg)
samer@0 31 {
samer@0 32 if (obs==index) {
samer@0 33 value.setRange(0,2*x[index.value]);
samer@0 34 value.value = x[index.value];
samer@0 35 value.changed(this);
samer@0 36 } else if (obs==value) {
samer@0 37 if (arg!=this) {
samer@0 38 x[index.value]=value.value;
samer@0 39 }
samer@0 40 } else super.update(obs,arg);
samer@0 41 }
samer@0 42 }