Mockup with Master-Details page.
[taxeditor.git] / src / eu / etaxonomy / taxeditor / SimpleModel.java
1 package eu.etaxonomy.taxeditor;
2
3 import java.util.ArrayList;
4
5 //import eu.etaxonomy.cdm.model.name.TaxonName;
6
7 public class SimpleModel {
8 private ArrayList modelListeners;
9 private ArrayList objects;
10 public SimpleModel() {
11 modelListeners = new ArrayList();
12 initialize();
13 }
14 public void addModelListener(IModelListener listener) {
15 if (!modelListeners.contains(listener))
16 modelListeners.add(listener);
17 }
18 public void removeModelListener(IModelListener listener) {
19 modelListeners.remove(listener);
20 }
21 public void fireModelChanged(Object[] objects, String type, String property) {
22 for (int i = 0; i < modelListeners.size(); i++) {
23 ((IModelListener) modelListeners.get(i)).modelChanged(objects,
24 type, property);
25 }
26 }
27 public Object[] getContents() {
28 return objects.toArray();
29 }
30 private void initialize() {
31 /*objects = new ArrayList<TaxonName>();
32 TaxonName tn = new TaxonName();
33 NameService ns = new NameService();
34 objects.add(ns.getTaxonNameById(1));
35 objects.add(ns.getTaxonNameById(5));
36 objects.add(ns.getTaxonNameById(28));*/
37
38 objects = new ArrayList();
39 NamedObject[] objects = {
40 new Name("Pilosella piloselloides (Vill.) Soják", "Pilosella", "piloselloides"),
41 new Name("Pilosella pavichii (Heuff.) Arv.-Touv.", "Pilosella", "pavichii"),
42 new Name("Pilosella vahlii (Froel.) F. W. Schultz & Sch. Bip.", "Pilosella", "vahlii")
43 /*new TypeOne(Messages.getString("SimpleModel.t1_i1"), 2, true, Messages.getString("SimpleModel.text1")), //$NON-NLS-1$ //$NON-NLS-2$
44 new TypeOne(Messages.getString("SimpleModel.t1_i2"), 1, false, Messages.getString("SimpleModel.text2")), //$NON-NLS-1$ //$NON-NLS-2$
45 new TypeOne(Messages.getString("SimpleModel.t1_i3"), 3, true, Messages.getString("SimpleModel.text3")), //$NON-NLS-1$ //$NON-NLS-2$
46 new TypeOne(Messages.getString("SimpleModel.t1_i4"), 0, false, Messages.getString("SimpleModel.text4")), //$NON-NLS-1$ //$NON-NLS-2$
47 new TypeOne(Messages.getString("SimpleModel.t1_i5"), 1, true, Messages.getString("SimpleModel.text5")), //$NON-NLS-1$ //$NON-NLS-2$
48 new TypeTwo(Messages.getString("SimpleModel.t2_i1"), false, true), //$NON-NLS-1$
49 new TypeTwo(Messages.getString("SimpleModel.t2_i2"), true, false)*/}; //$NON-NLS-1$
50 add(objects, false);
51 }
52 public void add(NamedObject[] objs, boolean notify) {
53 for (int i = 0; i < objs.length; i++) {
54 objects.add(objs[i]);
55 objs[i].setModel(this);
56 }
57 if (notify)
58 fireModelChanged(objs, IModelListener.ADDED, ""); //$NON-NLS-1$
59 }
60
61 // public void add(ArrayList<TaxonName> tns, boolean notify) {
62 // for (int i = 0; i < tns.size(); i++) {
63 // objects.add(tns.get(i));
64 // //tns[i].setModel(this);
65 // }
66 // //if (notify)
67 // //fireModelChanged(tns, IModelListener.ADDED, ""); //$NON-NLS-1$
68 // }
69
70 public void remove(NamedObject[] objs, boolean notify) {
71 for (int i = 0; i < objs.length; i++) {
72 objects.remove(objs[i]);
73 objs[i].setModel(null);
74 }
75 if (notify)
76 fireModelChanged(objs, IModelListener.REMOVED, ""); //$NON-NLS-1$
77 }
78 }