/* Write by * Ekkalak Leelasornchai 5830622421 * Burin Naowarat 5831034621 * Progmeth project */ package model; import java.util.ArrayList; import javafx.scene.canvas.GraphicsContext; import javafx.scene.paint.Color; public class LineHolder { private static ArrayList<Line> lines; private static Line temp; private static final Color[] colors = {Color.RED,Color.YELLOW,Color.PINK,Color.MEDIUMPURPLE,Color.DEEPSKYBLUE}; private static LineHolder instance = new LineHolder(); public LineHolder(){ lines = new ArrayList<>(); /*for(int i=0;i<5;i++) addLine(new Line(colors[i])); */ temp = null; } public synchronized void addLine(Line l){ lines.add(l); } public synchronized void setTemp(Line l){ temp = l; } public synchronized void removeTemp(){ temp = null; } public synchronized Line getTemp(){ return temp; } public synchronized void removeLine(Color c){ for(Line l : lines){ if(l.getColor() == c) lines.remove(l); } } public synchronized static LineHolder getInstance(){ return instance; } public synchronized ArrayList<Line> getLines() { return lines; } public synchronized Line getLine(int index){ return lines.get(index); } public synchronized Line getLine(Color color){ for(Line l : lines) if(l.getColor() == color) return l; return null; } public synchronized void drawTemp(GraphicsContext gc){ if(temp != null){ temp.drawPale(gc); } } }