Applet Structure viewer has all colours available
[jalview.git] / src / jalview / appletgui / UserDefinedColours.java
index 7cd0391..71bcaca 100755 (executable)
@@ -37,6 +37,7 @@ public class UserDefinedColours
   Vector oldColours = new Vector();\r
   ColourSchemeI oldColourScheme;\r
   Frame frame;\r
+  MCview.AppletPDBCanvas pdbcanvas;\r
 \r
   int R = 0, G = 0, B = 0;\r
 \r
@@ -48,20 +49,6 @@ public class UserDefinedColours
 \r
   public UserDefinedColours(AlignmentPanel ap, SequenceGroup sg)\r
   {\r
-    try {\r
-        jbInit();\r
-    } catch (Exception e) {\r
-        e.printStackTrace();\r
-      }\r
-    frame = new Frame();\r
-    frame.add(this);\r
-    jalview.bin.JalviewLite.addFrame(frame, "User defined colours", 420, 345);\r
-\r
-    if (sg != null)\r
-    {\r
-      frame.setTitle(frame.getTitle() + " (" + sg.getName() + ")");\r
-    }\r
-\r
     this.ap = ap;\r
     seqGroup = sg;\r
 \r
@@ -74,6 +61,34 @@ public class UserDefinedColours
       oldColourScheme = ap.av.getGlobalColourScheme();\r
     }\r
 \r
+    init();\r
+  }\r
+\r
+  public UserDefinedColours(MCview.AppletPDBCanvas pdb)\r
+  {\r
+    this.pdbcanvas = pdb;\r
+    init();\r
+  }\r
+\r
+  void init()\r
+  {\r
+    try\r
+    {\r
+      jbInit();\r
+    }\r
+    catch (Exception e)\r
+    {\r
+      e.printStackTrace();\r
+    }\r
+    frame = new Frame();\r
+    frame.add(this);\r
+    jalview.bin.JalviewLite.addFrame(frame, "User defined colours", 420, 345);\r
+\r
+    if (seqGroup != null)\r
+    {\r
+      frame.setTitle(frame.getTitle() + " (" + seqGroup.getName() + ")");\r
+    }\r
+\r
     for (int i = 0; i < 20; i++)\r
     {\r
       makeButton(ResidueProperties.aa2Triplet.get(ResidueProperties.aa[i]) +\r
@@ -86,9 +101,7 @@ public class UserDefinedColours
     makeButton("Gap", "'.','-',' '");\r
 \r
     validate();\r
-\r
   }\r
-\r
   protected void rText_actionPerformed(ActionEvent e)\r
   {\r
     try\r
@@ -214,7 +227,6 @@ public class UserDefinedColours
 \r
   protected void applyButton_actionPerformed(ActionEvent e)\r
   {\r
-\r
     Color[] newColours = new Color[24];\r
     for (int i = 0; i < 24; i++)\r
     {\r
@@ -223,19 +235,27 @@ public class UserDefinedColours
     }\r
 \r
     UserColourScheme ucs = new UserColourScheme(newColours);\r
-    ucs.setThreshold(0, ap.av.getIgnoreGapsConsensus());\r
+    if(ap!=null)\r
+      ucs.setThreshold(0, ap.av.getIgnoreGapsConsensus());\r
 \r
-    if (seqGroup != null)\r
+    if(ap!=null)\r
     {\r
-      seqGroup.cs = ucs;\r
+      if (seqGroup != null)\r
+      {\r
+        seqGroup.cs = ucs;\r
+      }\r
+      else\r
+      {\r
+        ap.av.setGlobalColourScheme(ucs);\r
+      }\r
+      ap.seqPanel.seqCanvas.img = null;\r
+      ap.repaint();\r
     }\r
-    else\r
+    else if(pdbcanvas!=null)\r
     {\r
-      ap.av.setGlobalColourScheme(ucs);\r
+      pdbcanvas.pdb.setColours(ucs);\r
+      pdbcanvas.updateSeqColours();\r
     }\r
-\r
-    ap.seqPanel.seqCanvas.img = null;\r
-    ap.repaint();\r
   }\r
 \r
 \r
@@ -251,17 +271,23 @@ public class UserDefinedColours
 \r
     UserColourScheme ucs = new UserColourScheme(newColours);\r
 \r
-    if (seqGroup != null)\r
+   if(ap!=null)\r
     {\r
-      seqGroup.cs = ucs;\r
+      if (seqGroup != null)\r
+      {\r
+        seqGroup.cs = ucs;\r
+      }\r
+      else\r
+      {\r
+        ap.av.setGlobalColourScheme(ucs);\r
+      }\r
+      ap.repaint();\r
     }\r
-    else\r
+    else if(pdbcanvas!=null)\r
     {\r
-      ap.av.setGlobalColourScheme(ucs);\r
+      pdbcanvas.pdb.setColours(ucs);\r
     }\r
 \r
-    ap.repaint();\r
-\r
     frame.setVisible(false);\r
   }\r
 \r