Mercurial > hg > jslab
comparison src/samer/maths/IntArrayEditor.java @ 0:bf79fb79ee13
Initial Mercurial check in.
author | samer |
---|---|
date | Tue, 17 Jan 2012 17:50:20 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:bf79fb79ee13 |
---|---|
1 package samer.maths; | |
2 | |
3 import samer.core.*; | |
4 import samer.core.types.*; | |
5 import samer.core.util.*; | |
6 import java.util.*; | |
7 | |
8 public class IntArrayEditor extends BaseViewer | |
9 { | |
10 int [] x; | |
11 VInteger index, value; | |
12 | |
13 public IntArrayEditor(int [] x) | |
14 { | |
15 super(new Observable()); | |
16 | |
17 this.x = x; | |
18 index = new VInteger("index",0,0); | |
19 value = new VInteger("value",0,0); | |
20 index.setRange(0,x.length-1); | |
21 value.setRange(0,2*x[0]); | |
22 panel().setName("int array"); | |
23 panel().setLayout(new StackLayout()); | |
24 add(index); | |
25 add(value); | |
26 index.addObserver(this); | |
27 value.addObserver(this); | |
28 } | |
29 | |
30 public void update(Observable obs, Object arg) | |
31 { | |
32 if (obs==index) { | |
33 value.setRange(0,2*x[index.value]); | |
34 value.value = x[index.value]; | |
35 value.changed(this); | |
36 } else if (obs==value) { | |
37 if (arg!=this) { | |
38 x[index.value]=value.value; | |
39 } | |
40 } else super.update(obs,arg); | |
41 } | |
42 } |