/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package feuille.theme; import java.awt.Color; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; /** * * @author The Wingate 2940 */ public class ThemeCollection { // Default(new Color(51,98,140),new Color(214,217,223),"Default"), // PinkViolet(new Color(153,0,153),new Color(255,204,255),"PinkViolet"), // GreenArmy(new Color(0,102,0),new Color(149,173,149),"GreenArmy"), // BloodyRed(new Color(153,0,51),new Color(255,204,204),"BloodyRed"), // OrangeJuice(new Color(255,153,0),new Color(255,224,161),"OrangeJuice"), // WhiteIce(new Color(153,255,255),new Color(255,255,255),"WhiteIce"), // Ubuntu(new Color(188,121,51),new Color(239,235,231),"Ubuntu"), // GreenJungle(new Color(89,114,0),new Color(233,255,213),"GreenJungle"), // BlueViolet(new Color(76,85,255),new Color(224,229,255),"BlueViolet"), // GreenGrass(new Color(51,136,16),new Color(251,255,239),"GreenGrass"), // GrayMetal(new Color(91,135,71),new Color(213,213,213),"GrayMetal"), // IceWithViolet(new Color(112,107,255),new Color(255,255,255),"IceWithViolet"), // IceWithOrange(new Color(255,114,63),new Color(255,255,255),"IceWithOrange"), // IceWithYellow(new Color(255,246,91),new Color(255,255,255),"IceWithYellow"); private List<Theme> internalTheme = new ArrayList<>(); static List<Theme> externalTheme = new ArrayList<>(); public ThemeCollection(){ } public void setup(){ internalTheme.add(new Theme());//Load the Default theme. internalTheme.add(new Theme(new Color(153,0,153),new Color(255,204,255),"PinkViolet")); internalTheme.add(new Theme(new Color(0,102,0),new Color(149,173,149),"GreenArmy")); internalTheme.add(new Theme(new Color(153,0,51),new Color(255,204,204),"BloodyRed")); internalTheme.add(new Theme(new Color(255,153,0),new Color(255,224,161),"OrangeJuice")); internalTheme.add(new Theme(new Color(153,255,255),new Color(255,255,255),"WhiteIce")); internalTheme.add(new Theme(new Color(188,121,51),new Color(239,235,231),"Ubuntu")); internalTheme.add(new Theme(new Color(89,114,0),new Color(233,255,213),"GreenJungle")); internalTheme.add(new Theme(new Color(76,85,255),new Color(224,229,255),"BlueViolet")); internalTheme.add(new Theme(new Color(51,136,16),new Color(251,255,239),"GreenGrass")); internalTheme.add(new Theme(new Color(91,135,71),new Color(213,213,213),"GrayMetal")); internalTheme.add(new Theme(new Color(112,107,255),new Color(255,255,255),"IceWithViolet")); internalTheme.add(new Theme(new Color(255,114,63),new Color(255,255,255),"IceWithOrange")); internalTheme.add(new Theme(new Color(255,246,91),new Color(255,255,255),"IceWithYellow")); } public static void addExternalTheme(Theme th){ externalTheme.add(th); } public static void deleteExternalTheme(Theme th){ externalTheme.remove(th); } public List<Theme> getInternalThemes(){ return internalTheme; } public List<Theme> getExternalThemes(){ return externalTheme; } public List<Theme> getSortedThemes(){ List<Theme> sth = new ArrayList<>(); sth.addAll(internalTheme); sth.addAll(externalTheme); Collections.sort(sth, new Comparator() { @Override public int compare(Object o1, Object o2) { return ((Comparable) ((Theme)o1).getName()).compareTo(((Theme)o2).getName()); } }); return sth; } public Theme getTheme(String name){ for(Theme th : internalTheme){ if(th.getName().equalsIgnoreCase(name)){ return th; } } for(Theme th : externalTheme){ if(th.getName().equalsIgnoreCase(name)){ return th; } } return new Theme(); } }