package ui.model; import Interfaces.CategoryListener; import Interfaces.ObjectListener; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import classes.Category; import classes.CpsObject; import ui.controller.*; public class Model { // ID of the Selected Object private int selectedID = 0; // eventuell wenn Canvasgröße gewählt werden kann private int HEIGHT; private int WIDTH; /* * Array of all categories in the model. It is set by default with the * categories ENERGY, BUILDINGS and COMPONENTS */ private ArrayList categories; /* * Array of all CpsObjects in our canvas. It is set by default as an empty * list. */ private ArrayList objectsOnCanvas; /* * Array for all Listeners */ private List categoryListeners; private List objectListeners; /* * Constructor for the model. It initializes the categories and * objectsOnCanvas by default values. Listeners are also initialized by * default values. */ public Model() { setCategories(new ArrayList()); setObjectsOnCanvas(new ArrayList()); setCategoryListeners(new LinkedList()); setObjectListeners(new LinkedList()); } /** * @return the categories */ public ArrayList getCategories() { return categories; } /** * @param categories * the categories to set */ public void setCategories(ArrayList categories) { this.categories = categories; } /** * Transform the Arraylist of categories into a string of all objectName * with a separation (',') between each name * * @return String of all names separeted by ',' */ public String toStringCat() { String text = ""; for (int i = 0; i < categories.size(); i++) { if (text == "") { text = categories.get(i).getName(); } else { text = text + ", " + categories.get(i).getName(); } } return text; } /** * @return the objectsOnCanvas */ public ArrayList getObjectsOnCanvas() { return objectsOnCanvas; } /** * @param objectsOnCanvas * the objectsOnCanvas to set */ public void setObjectsOnCanvas(ArrayList objectsOnCanvas) { this.objectsOnCanvas = objectsOnCanvas; } /** * @return the objectListeners */ public List getObjectListeners() { return objectListeners; } /** * @param linkedList * the objectListeners to set */ public void setObjectListeners(LinkedList linkedList) { this.objectListeners = linkedList; } /** * @return the categoryListeners */ public List getCategoryListeners() { return categoryListeners; } /** * @param linkedList * the categoryListeners to set */ public void setCategoryListeners(LinkedList linkedList) { this.categoryListeners = linkedList; } /** * Set the ID of the selected Object * 0 = no Object is selected * * @param ID * */ public void setSelectedObjectID(int id){ this.selectedID = id; } /** * Returns the ID of the selected Object * 0 = no Object is selected * * @return ID */ public int getSelectedObjectID(){ return selectedID; } }