]> gitweb.fperrin.net Git - GpsPrune.git/blob - src/tim/prune/gui/MediaListModel.java
4de374ba179db06a71ca6d553167967f91442309
[GpsPrune.git] / src / tim / prune / gui / MediaListModel.java
1 package tim.prune.gui;
2
3 import javax.swing.AbstractListModel;
4
5 import tim.prune.data.MediaObject;
6 import tim.prune.data.MediaList;
7
8 /**
9  * Class to act as list model for the photo list and audio list
10  */
11 public class MediaListModel extends AbstractListModel<String>
12 {
13         /** media list */
14         MediaList _media = null;
15
16         /**
17          * Constructor giving MediaList object
18          * @param inList MediaList
19          */
20         public MediaListModel(MediaList inList) {
21                 _media = inList;
22         }
23
24         /**
25          * @see javax.swing.ListModel#getSize()
26          */
27         public int getSize() {
28                 return _media.getNumMedia();
29         }
30
31         /**
32          * @see javax.swing.ListModel#getElementAt(int)
33          */
34         public String getElementAt(int inIndex)
35         {
36                 MediaObject m = _media.getMedia(inIndex);
37                 // * means modified since loading
38                 return (m.getCurrentStatus() == m.getOriginalStatus()?"":"* ") + m.getName();
39         }
40
41         /**
42          * Fire event to notify that contents have changed
43          */
44         public void fireChanged() {
45                 this.fireContentsChanged(this, 0, getSize()-1);
46         }
47 }