]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - src/tim/prune/gui/MediaListModel.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / src / tim / prune / gui / MediaListModel.java
diff --git a/src/tim/prune/gui/MediaListModel.java b/src/tim/prune/gui/MediaListModel.java
new file mode 100644 (file)
index 0000000..4de374b
--- /dev/null
@@ -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<String>
+{
+       /** 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);
+       }
+}