JAL-1355 (basic i18n support)
[jalview.git] / src / jalview / appletgui / AnnotationColourChooser.java
old mode 100755 (executable)
new mode 100644 (file)
index 04864b1..583f64f
@@ -1,13 +1,13 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
+ * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
  * 
  * This file is part of Jalview.
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- * 
+ *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
@@ -24,9 +24,7 @@ import java.awt.event.*;
 
 import jalview.datamodel.*;
 import jalview.schemes.*;
-import java.awt.Rectangle;
-
-import javax.swing.BoxLayout;
+import jalview.util.MessageManager;
 
 public class AnnotationColourChooser extends Panel implements
         ActionListener, AdjustmentListener, ItemListener, MouseListener
@@ -83,18 +81,19 @@ public class AnnotationColourChooser extends Panel implements
 
     setDefaultMinMax();
 
+    adjusting = true;
     if (oldcs instanceof AnnotationColourGradient)
     {
       AnnotationColourGradient acg = (AnnotationColourGradient) oldcs;
-      currentColours.setState(acg.predefinedColours);
-      if (!acg.predefinedColours)
+      currentColours.setState(acg.isPredefinedColours() || acg.getBaseColour()!=null);
+      if (!acg.isPredefinedColours() && acg.getBaseColour()==null)
       {
         minColour.setBackground(acg.getMinColour());
         maxColour.setBackground(acg.getMaxColour());
       }
+      // seqAssociated.setState(acg.isSeqAssociated());
     }
 
-    adjusting = true;
 
     Vector list = new Vector();
     int index = 1;
@@ -112,9 +111,9 @@ public class AnnotationColourChooser extends Panel implements
       annotations.addItem(list.elementAt(i).toString());
     }
 
-    threshold.addItem("No Threshold");
-    threshold.addItem("Above Threshold");
-    threshold.addItem("Below Threshold");
+    threshold.addItem(MessageManager.getString("label.threshold_feature_no_thereshold"));
+    threshold.addItem(MessageManager.getString("label.threshold_feature_above_thereshold"));
+    threshold.addItem(MessageManager.getString("label.threshold_feature_below_thereshold"));
 
     if (oldcs instanceof AnnotationColourGradient)
     {
@@ -123,13 +122,13 @@ public class AnnotationColourChooser extends Panel implements
       switch (acg.getAboveThreshold())
       {
       case AnnotationColourGradient.NO_THRESHOLD:
-        threshold.select("No Threshold");
+        threshold.select(0);
         break;
       case AnnotationColourGradient.ABOVE_THRESHOLD:
-        threshold.select("Above Threshold");
+        threshold.select(1);
         break;
       case AnnotationColourGradient.BELOW_THRESHOLD:
-        threshold.select("Below Threshold");
+        threshold.select(1);
         break;
       default:
         throw new Error(
@@ -145,7 +144,7 @@ public class AnnotationColourChooser extends Panel implements
 
     frame = new Frame();
     frame.add(this);
-    jalview.bin.JalviewLite.addFrame(frame, "Colour by Annotation", 560,
+    jalview.bin.JalviewLite.addFrame(frame, MessageManager.getString("label.colour_by_annotation"), 560,
             175);
     validate();
   }
@@ -173,21 +172,21 @@ public class AnnotationColourChooser extends Panel implements
   private void jbInit() throws Exception
   {
     minColour.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
-    minColour.setLabel("Min Colour");
+    minColour.setLabel(MessageManager.getString("label.min_colour"));
     minColour.addActionListener(this);
 
     maxColour.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
-    maxColour.setLabel("Max Colour");
+    maxColour.setLabel(MessageManager.getString("label.max_colour"));
     maxColour.addActionListener(this);
 
     thresholdIsMin.addItemListener(this);
-    ok.setLabel("OK");
+    ok.setLabel(MessageManager.getString("action.ok"));
     ok.addActionListener(this);
 
-    cancel.setLabel("Cancel");
+    cancel.setLabel(MessageManager.getString("action.cancel"));
     cancel.addActionListener(this);
 
-    defColours.setLabel("Defaults");
+    defColours.setLabel(MessageManager.getString("action.set_defaults"));
     defColours.addActionListener(this);
 
     annotations.addItemListener(this);
@@ -200,11 +199,11 @@ public class AnnotationColourChooser extends Panel implements
     thresholdValue.setEnabled(false);
     thresholdValue.setColumns(5);
     currentColours.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
-    currentColours.setLabel("Use Original Colours");
+    currentColours.setLabel(MessageManager.getString("label.use_original_colours"));
     currentColours.addItemListener(this);
 
     thresholdIsMin.setBackground(Color.white);
-    thresholdIsMin.setLabel("Threshold is min/max");
+    thresholdIsMin.setLabel(MessageManager.getString("label.threshold_minmax"));
 
     this.setLayout(borderLayout1);
 
@@ -402,11 +401,11 @@ public class AnnotationColourChooser extends Panel implements
             .getSelectedIndex()];
 
     int aboveThreshold = -1;
-    if (threshold.getSelectedItem().equals("Above Threshold"))
+    if (threshold.getSelectedIndex()==1)
     {
       aboveThreshold = AnnotationColourGradient.ABOVE_THRESHOLD;
     }
-    else if (threshold.getSelectedItem().equals("Below Threshold"))
+    else if (threshold.getSelectedIndex()==2)
     {
       aboveThreshold = AnnotationColourGradient.BELOW_THRESHOLD;
     }
@@ -460,13 +459,14 @@ public class AnnotationColourChooser extends Panel implements
     if (currentAnnotation.graphMin == 0f
             && currentAnnotation.graphMax == 0f)
     {
-      acg.predefinedColours = true;
+      acg.setPredefinedColours(true);
     }
 
     acg.thresholdIsMinMax = thresholdIsMin.getState();
 
     av.setGlobalColourScheme(acg);
 
+    // TODO: per group colour propagation not always desired
     if (av.getAlignment().getGroups() != null)
     {
       for (SequenceGroup sg : ap.av.getAlignment().getGroups())
@@ -493,6 +493,7 @@ public class AnnotationColourChooser extends Panel implements
     }
 
     // update colours in linked windows
+    ap.alignmentChanged();
     ap.paintAlignment(true);
   }