X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFeatureColourChooser.java;h=25527dc7e37bc403ec9bb92966adad6b6c923da1;hb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;hp=b25a55f2777f7c34d41eb8d2cbe75f65a1d0cbd4;hpb=d423f22792e47dbc800ae220a58677f988971d06;p=jalview.git diff --git a/src/jalview/gui/FeatureColourChooser.java b/src/jalview/gui/FeatureColourChooser.java index b25a55f..25527dc 100644 --- a/src/jalview/gui/FeatureColourChooser.java +++ b/src/jalview/gui/FeatureColourChooser.java @@ -1,38 +1,54 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5) - * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) + * Copyright (C) 2015 The Jalview Authors * * 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. - * + * 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 * PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.gui; -import java.util.*; - -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; -import javax.swing.border.LineBorder; -import javax.swing.event.*; +import jalview.datamodel.GraphLine; +import jalview.schemes.AnnotationColourGradient; +import jalview.schemes.GraduatedColor; +import jalview.util.MessageManager; -import jalview.datamodel.*; -import jalview.schemes.*; +import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.util.Hashtable; + +import javax.swing.BorderFactory; +import javax.swing.JCheckBox; +import javax.swing.JColorChooser; +import javax.swing.JComboBox; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JSlider; +import javax.swing.JTextField; +import javax.swing.border.LineBorder; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; -public class FeatureColourChooser extends JPanel +public class FeatureColourChooser extends JalviewDialog { - JDialog frame; - // FeatureSettings fs; FeatureRenderer fr; @@ -77,12 +93,8 @@ public class FeatureColourChooser extends JPanel this.fr = frender; this.type = type; ap = fr.ap; - frame = new JDialog(Desktop.instance, true); - frame.setTitle("Graduated Feature Colour for " + type); - Rectangle deskr = Desktop.instance.getBounds(); - frame.setBounds(new Rectangle((int) (deskr.getCenterX() - 240), - (int) (deskr.getCenterY() - 92), 480, 185)); - frame.setContentPane(this); + initDialogFrame(this, true, block, "Graduated Feature Colour for " + + type, 480, 185); // frame.setLayer(JLayeredPane.PALETTE_LAYER); // Desktop.addInternalFrame(frame, "Graduated Feature Colour for "+type, // 480, 145); @@ -110,10 +122,10 @@ public class FeatureColourChooser extends JPanel } }); - float mm[] = ((float[][]) fr.minmax.get(type))[0]; + float mm[] = ((float[][]) fr.getMinMax().get(type))[0]; min = mm[0]; max = mm[1]; - oldcs = fr.featureColours.get(type); + oldcs = fr.getFeatureColours().get(type); if (oldcs instanceof GraduatedColor) { if (((GraduatedColor) oldcs).isAutoScale()) @@ -167,22 +179,7 @@ public class FeatureColourChooser extends JPanel adjusting = false; changeColour(); - if (!block) - { - new Thread(new Runnable() - { - - public void run() - { - frame.show(); - } - - }).start(); - } - else - { - frame.show(); - } + waitForInput(); } public FeatureColourChooser() @@ -199,10 +196,10 @@ public class FeatureColourChooser extends JPanel private void jbInit() throws Exception { - minColour.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); + minColour.setFont(JvSwingUtils.getLabelFont()); minColour.setBorder(BorderFactory.createLineBorder(Color.black)); minColour.setPreferredSize(new Dimension(40, 20)); - minColour.setToolTipText("Minimum Colour"); + minColour.setToolTipText(MessageManager.getString("label.min_colour")); minColour.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) @@ -213,10 +210,10 @@ public class FeatureColourChooser extends JPanel } } }); - maxColour.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); + maxColour.setFont(JvSwingUtils.getLabelFont()); maxColour.setBorder(BorderFactory.createLineBorder(Color.black)); maxColour.setPreferredSize(new Dimension(40, 20)); - maxColour.setToolTipText("Maximum Colour"); + maxColour.setToolTipText(MessageManager.getString("label.max_colour")); maxColour.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) @@ -228,28 +225,10 @@ public class FeatureColourChooser extends JPanel } }); maxColour.setBorder(new LineBorder(Color.black)); - minText.setText("Min:"); - minText.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); - maxText.setText("Max:"); - maxText.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); - ok.setOpaque(false); - ok.setText("OK"); - ok.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - ok_actionPerformed(e); - } - }); - cancel.setOpaque(false); - cancel.setText("Cancel"); - cancel.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - cancel_actionPerformed(e); - } - }); + minText.setText(MessageManager.getString("label.min")); + minText.setFont(JvSwingUtils.getLabelFont()); + maxText.setText(MessageManager.getString("label.max")); + maxText.setFont(JvSwingUtils.getLabelFont()); this.setLayout(borderLayout1); jPanel2.setLayout(flowLayout1); jPanel1.setBackground(Color.white); @@ -261,10 +240,14 @@ public class FeatureColourChooser extends JPanel threshold_actionPerformed(e); } }); - threshold.setToolTipText("Threshold the feature display by score."); - threshold.addItem("No Threshold"); // index 0 - threshold.addItem("Above Threshold"); // index 1 - threshold.addItem("Below Threshold"); // index 2 + threshold.setToolTipText(MessageManager + .getString("label.threshold_feature_display_by_score")); + threshold.addItem(MessageManager + .getString("label.threshold_feature_no_thereshold")); // index 0 + threshold.addItem(MessageManager + .getString("label.threshold_feature_above_thereshold")); // index 1 + threshold.addItem(MessageManager + .getString("label.threshold_feature_below_thereshold")); // index 2 jPanel3.setLayout(flowLayout2); thresholdValue.addActionListener(new ActionListener() { @@ -279,14 +262,16 @@ public class FeatureColourChooser extends JPanel slider.setEnabled(false); slider.setOpaque(false); slider.setPreferredSize(new Dimension(100, 32)); - slider.setToolTipText("Adjust threshold"); + slider.setToolTipText(MessageManager + .getString("label.adjust_thereshold")); thresholdValue.setEnabled(false); thresholdValue.setColumns(7); jPanel3.setBackground(Color.white); thresholdIsMin.setBackground(Color.white); - thresholdIsMin.setText("Threshold is Min/Max"); - thresholdIsMin - .setToolTipText("Toggle between absolute and relative display threshold."); + thresholdIsMin.setText(MessageManager + .getString("label.threshold_minmax")); + thresholdIsMin.setToolTipText(MessageManager + .getString("label.toggle_absolute_relative_display_threshold")); thresholdIsMin.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent actionEvent) @@ -295,9 +280,11 @@ public class FeatureColourChooser extends JPanel } }); colourByLabel.setBackground(Color.white); - colourByLabel.setText("Colour by Label"); colourByLabel - .setToolTipText("Display features of the same type with a different label using a different colour. (e.g. domain features)"); + .setText(MessageManager.getString("label.colour_by_label")); + colourByLabel + .setToolTipText(MessageManager + .getString("label.display_features_same_type_different_label_using_different_colour")); colourByLabel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent actionEvent) @@ -331,10 +318,6 @@ public class FeatureColourChooser extends JPanel JPanel maxColour = new JPanel(); - JButton ok = new JButton(); - - JButton cancel = new JButton(); - JPanel colourPanel = new JPanel(); JPanel jPanel1 = new JPanel(); @@ -371,7 +354,8 @@ public class FeatureColourChooser extends JPanel public void minColour_actionPerformed() { Color col = JColorChooser.showDialog(this, - "Select Colour for Minimum Value", minColour.getBackground()); + MessageManager.getString("label.select_colour_minimum_value"), + minColour.getBackground()); if (col != null) { minColour.setBackground(col); @@ -384,7 +368,8 @@ public class FeatureColourChooser extends JPanel public void maxColour_actionPerformed() { Color col = JColorChooser.showDialog(this, - "Select Colour for Maximum Value", maxColour.getBackground()); + MessageManager.getString("label.select_colour_maximum_value"), + maxColour.getBackground()); if (col != null) { maxColour.setBackground(col); @@ -403,11 +388,11 @@ public class FeatureColourChooser extends JPanel } int aboveThreshold = AnnotationColourGradient.NO_THRESHOLD; - 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; } @@ -498,12 +483,12 @@ public class FeatureColourChooser extends JPanel maxColour.setForeground(oldmaxColour); minColour.setForeground(oldminColour); } - fr.featureColours.put(type, acg); + fr.setColour(type, acg); cs = acg; ap.paintAlignment(false); } - private void raiseClosed() + protected void raiseClosed() { if (this.colourEditor != null) { @@ -511,34 +496,19 @@ public class FeatureColourChooser extends JPanel } } - public void ok_actionPerformed(ActionEvent e) + public void okPressed() { changeColour(); - try - { - frame.dispose(); - raiseClosed(); - } catch (Exception ex) - { - } } - public void cancel_actionPerformed(ActionEvent e) + public void cancelPressed() { reset(); - try - { - frame.dispose(); - // frame.setClosed(true); - raiseClosed(); - } catch (Exception ex) - { - } } void reset() { - fr.featureColours.put(type, oldcs); + fr.setColour(type, oldcs); ap.paintAlignment(false); cs = null; }