1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.ninjasoft.igallery.swingui;
18
19 import java.util.*;
20 import javax.swing.event.*;
21 import javax.swing.table.TableModel;
22 import org.ninjasoft.igallery.data.*;
23
24 /***
25 * Table model to represent the Gallery albums
26 * @author enigma
27 */
28 public class GalleryTableModel implements TableModel {
29 Vector listeners = new Vector();
30 Vector albumList = new Vector();
31
32 public void setAlbumList(Vector list) {
33 this.albumList = list;
34 tellChanged();
35 }
36 public void tellChanged() {
37 TableModelEvent e = new TableModelEvent(this);
38 for (Iterator i = listeners.iterator(); i.hasNext(); )
39 ((TableModelListener) i.next()).tableChanged(e);
40 }
41 public void addTableModelListener(TableModelListener l) {
42 listeners.add(l);
43 }
44 public Class getColumnClass(int i) {
45 return String.class;
46 }
47 public int getColumnCount() {
48 return 2;
49 }
50 public String getColumnName(int i) {
51 if (i==0)
52 return "Name";
53 return "Photo Count";
54 }
55 public int getRowCount() {
56 return albumList.size();
57 }
58 public Object getValueAt(int row, int column) {
59 GalleryAlbum album = (GalleryAlbum) albumList.get(row);
60 if (column == 0)
61 return album.getName();
62 int count = album.getPictureCount();
63 if (count >= 0)
64 return Integer.toString(count);
65 return "?";
66 }
67 public boolean isCellEditable(int arg0, int arg1) {
68 return false;
69 }
70 public void removeTableModelListener(TableModelListener l) {
71 listeners.remove(l);
72 }
73 public void setValueAt(Object arg0, int arg1, int arg2) {
74
75 }
76 }