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 }