-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathModel.java
133 lines (115 loc) · 3.11 KB
/
Model.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
import java.text.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import javax.swing.*;
import java.util.*;
import java.util.List;
public class Model {
private Vector itemList;
private Vector selectedList;
// list of "currently selected" items
private static UIContext uiContext;
private static View view;
public Model() {
itemList = new Vector();
selectedList = new Vector();
}
public static void setView(View view) {
Model.view = view;
}
public void fillType(Vector itemTypes) {
Enumeration enumeration = selectedList.elements();
while (enumeration.hasMoreElements()) {
Item item = (Item) (enumeration.nextElement());
itemTypes.add(item);
}
}
public void markSelected(Item item) {
// marks an item as selected by moving it to the
// selceted list.
if (itemList.contains(item)) {
itemList.remove(item);
selectedList.add(item);
view.refresh();
}
}
public void unSelect(Item item) {
if (selectedList.contains(item)) {
selectedList.remove(item);
itemList.add(item);
view.refresh();
}
}
public void unSelectAll() {
List<Item> itemsToRemove = new ArrayList<>(selectedList);
for (Item item : itemsToRemove) {
selectedList.remove(item);
itemList.add(item);
}
view.refresh();
}
public void SelectAll() {
List<Item> itemsToRemove = new ArrayList<>(selectedList);
for (Item item : itemsToRemove) {
selectedList.remove(item);
itemList.add(item);
}
view.refresh();
}
public void deleteSelectedItems() {
selectedList.removeAllElements();
view.refresh();
}
public void moveItems(Point point, Vector itemTypes) {
Enumeration enumeration = itemTypes.elements();
while (enumeration.hasMoreElements()) {
Item item = (Item) (enumeration.nextElement());
item.translate(point);
}
view.refresh();
}
public void addItem(Item item) {
itemList.add(item);
view.refresh();
}
public void removeItem(Item item) {
itemList.remove(item);
view.refresh();
}
public Enumeration getItems() {
return itemList.elements();
}
public void setChanged() {
view.refresh();
}
public Enumeration getSelectedItems() {
return selectedList.elements();
}
// other fields, methods and classes
public void save(String fileName) {
try {
FileOutputStream file = new FileOutputStream(fileName);
ObjectOutputStream output = new ObjectOutputStream(file);
output.writeObject(itemList);
output.writeObject(selectedList);
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
public void retrieve(String fileName) {
try {
FileInputStream file = new FileInputStream(fileName);
ObjectInputStream input = new ObjectInputStream(file);
itemList = (Vector) input.readObject();
selectedList = (Vector) input.readObject();
// Item.setUIContext(uiContext);
view.refresh();
} catch (IOException ioe) {
ioe.printStackTrace();
} catch (ClassNotFoundException cnfe) {
cnfe.printStackTrace();
}
}
}