X-Git-Url: http://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=src%2Ftim%2Fprune%2Fgui%2FMediaListModel.java;fp=src%2Ftim%2Fprune%2Fgui%2FMediaListModel.java;h=4de374ba179db06a71ca6d553167967f91442309;hp=0000000000000000000000000000000000000000;hb=ce6f2161b8596f7018d6a76bff79bc9e571f35fd;hpb=2d8cb72e84d5cc1089ce77baf1e34ea3ea2f8465 diff --git a/src/tim/prune/gui/MediaListModel.java b/src/tim/prune/gui/MediaListModel.java new file mode 100644 index 0000000..4de374b --- /dev/null +++ b/src/tim/prune/gui/MediaListModel.java @@ -0,0 +1,47 @@ +package tim.prune.gui; + +import javax.swing.AbstractListModel; + +import tim.prune.data.MediaObject; +import tim.prune.data.MediaList; + +/** + * Class to act as list model for the photo list and audio list + */ +public class MediaListModel extends AbstractListModel +{ + /** media list */ + MediaList _media = null; + + /** + * Constructor giving MediaList object + * @param inList MediaList + */ + public MediaListModel(MediaList inList) { + _media = inList; + } + + /** + * @see javax.swing.ListModel#getSize() + */ + public int getSize() { + return _media.getNumMedia(); + } + + /** + * @see javax.swing.ListModel#getElementAt(int) + */ + public String getElementAt(int inIndex) + { + MediaObject m = _media.getMedia(inIndex); + // * means modified since loading + return (m.getCurrentStatus() == m.getOriginalStatus()?"":"* ") + m.getName(); + } + + /** + * Fire event to notify that contents have changed + */ + public void fireChanged() { + this.fireContentsChanged(this, 0, getSize()-1); + } +}