package model; import workers.FilesWorker; import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; /** * @author simon */ public class SOMEvent { /** * The instance for the Singleton */ private static SOMEvent event = null; /** * The Event Date */ private final Date date = new Date(); /** * All images form the Event */ private final List images = new ArrayList(); /** * The currently selected image */ private SOMImage currentimage; /** * Makes the getEventImages function unusable after first use */ private boolean imagesread = false; /** * Event Constructor */ private SOMEvent() { } /** * Returns an Instance of the Event (Singleton) * * @return */ public static SOMEvent getInstance() { // Singleton to prevent Instantiation if (event == null) { event = new SOMEvent(); } return event; } /** * Returns the List of Images already shot at the event if SOM is turned off * in between. Gets unfunctional after one time use caused by imagesread * boolean. */ public void getEventImages() { // Behandelt File[] files = FilesWorker.getSourcePath().listFiles(); assert files != null; Arrays.sort(files); for (File file : files) { SOMImage img = new SOMImage(); img.updateImageState(); this.addImage(img); } } /** * Adds the Given Image to the Events' Image List * * @param now * @return */ public void addImage(SOMImage now) { images.add(now); } /** * Returns a List of all of the Events' images * * @return the images */ public List getImages() { // If there are no Event Images Collected // if (0 == images.size()) // // get all the events' images // this.getEventImages(); //...and return them return images; } /** * returns the last image shot * * @return */ public SOMImage getLastImage() { SOMImage[] imagesarr = this.images.toArray(new SOMImage[this.images .size()]); return imagesarr[imagesarr.length - 1]; } /** * Returns the Icon of the last shot image and sets the "current image" to * this one * * @return */ public void createAndSetLastImage() { this.currentimage = getLastImage(); // this.currenticon = // makeIcon(this.currentimage); // return currenticon; } /** * Sets the given Image as the Current Image, creates a Preview and sets it * to UI * * @param */ public void createAndSetImage(SOMImage image) { this.currentimage = image; // this.currenticon = // makeIcon(this.currentimage); // return currenticon; } /** * Sets the given ImageIcon as the current Icon *

* // * @param ImageIcon * small */ public void setCurrentIcon() { /* The ImageIcon of the currently shown Image */ } /** * Returns the Current Image for the Print Panel to pass to the System * Printing Queue * * @return */ public SOMImage getCurrentimage() { return currentimage; } }