X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FUserDefinedColours.java;h=044069eed85dd647698bbb708689be88680240ae;hb=44fd5b65bdaf29b0d4bfd9549bcb086a81211c51;hp=0477391df7a4ba04311a2daabe7b7fb838f254de;hpb=4fe5e959d104419f1f313f493e00d683b6b5cd0a;p=jalview.git diff --git a/src/jalview/gui/UserDefinedColours.java b/src/jalview/gui/UserDefinedColours.java index 0477391..044069e 100755 --- a/src/jalview/gui/UserDefinedColours.java +++ b/src/jalview/gui/UserDefinedColours.java @@ -336,18 +336,28 @@ public class UserDefinedColours extends GUserDefinedColours */ public static UserColourScheme loadDefaultColours() { - String colours = jalview.bin.Cache.getProperty("USER_DEFINED_COLOURS"); - if ( colours != null) + UserColourScheme ret = null; + + String colours = jalview.bin.Cache.getProperty("USER_DEFINED_COLOURS"); + if ( colours != null ) { if(colours.indexOf("|")>-1) colours = colours.substring(0, colours.indexOf("|")); - return loadColours(colours); + ret = loadColours(colours); } - else + + if(ret == null) { - return null; + Color[] newColours = new Color[24]; + for (int i = 0; i < 24; i++) + { + newColours[i] = Color.white; + } + ret = new UserColourScheme(newColours); } + + return ret; } /** @@ -357,7 +367,7 @@ public class UserDefinedColours extends GUserDefinedColours * * @return DOCUMENT ME! */ - public static UserColourScheme loadColours(String file) + static UserColourScheme loadColours(String file) { UserColourScheme ucs = null; Color[] newColours = null; @@ -435,7 +445,7 @@ public class UserDefinedColours extends GUserDefinedColours String defaultColours = jalview.bin.Cache.getDefault("USER_DEFINED_COLOURS", choice); if(defaultColours.indexOf(choice)==-1) { - if(defaultColours.length()<1) + if(defaultColours.length()>0) defaultColours = defaultColours.concat("|"); defaultColours = defaultColours.concat(choice); } @@ -512,9 +522,10 @@ public class UserDefinedColours extends GUserDefinedColours { userColourSchemes = new Hashtable(); - if(files==null) + if(files==null || files.length()==0) return; + // In case colours can't be loaded, we'll remove them // from the default list here. StringBuffer coloursFound = new StringBuffer(); @@ -543,4 +554,40 @@ public class UserDefinedColours extends GUserDefinedColours jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS", coloursFound.toString()); } } + + public static void removeColourFromDefaults(String target) + { + // The only way to find colours by name is to load them in + // In case colours can't be loaded, we'll remove them + // from the default list here. + + userColourSchemes = new Hashtable(); + + StringBuffer coloursFound = new StringBuffer(); + StringTokenizer st = new StringTokenizer( + jalview.bin.Cache.getProperty("USER_DEFINED_COLOURS"), "|"); + + while (st.hasMoreElements()) + { + String file = st.nextToken(); + try + { + UserColourScheme ucs = loadColours(file); + if (ucs != null && !ucs.getName().equals(target)) + { + if (coloursFound.length() > 0) + coloursFound.append("|"); + coloursFound.append(file); + userColourSchemes.put(ucs.getName(), ucs); + } + } + catch (Exception ex) + { + System.out.println("Error loading User ColourFile\n" + ex); + } + } + + jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS", coloursFound.toString()); + + } }