X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFeatureSettings.java;h=1997dc9acce2f9ce0ed1a6e6f4baa27abb746b38;hb=8a6fa9ea9900d0f106529c3f6283e7f9d76dd2cb;hp=1bb4adc755158adaa36bb910ee6b4fca977ed60a;hpb=98ad3bbc158402de19c2fc47ea72845c54c18a2a;p=jalview.git diff --git a/src/jalview/gui/FeatureSettings.java b/src/jalview/gui/FeatureSettings.java index 1bb4adc..1997dc9 100755 --- a/src/jalview/gui/FeatureSettings.java +++ b/src/jalview/gui/FeatureSettings.java @@ -1,20 +1,19 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1) - * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) + * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle * - * This program 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 2 - * of the License, or (at your option) any later version. + * This file is part of Jalview. * - * This program 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. + * 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. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + * 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 . */ package jalview.gui; @@ -135,7 +134,7 @@ public class FeatureSettings extends JPanel scrollPane.setViewportView(table); - dassourceBrowser = new DasSourceBrowser(); + dassourceBrowser = new DasSourceBrowser(this); dasSettingsPane.add(dassourceBrowser, BorderLayout.CENTER); if (af.getViewport().featuresDisplayed == null @@ -164,16 +163,24 @@ public class FeatureSettings extends JPanel frame = new JInternalFrame(); frame.setContentPane(this); - Desktop.addInternalFrame(frame, "Sequence Feature Settings", 400, 450); - frame - .addInternalFrameListener(new javax.swing.event.InternalFrameAdapter() - { - public void internalFrameClosed( - javax.swing.event.InternalFrameEvent evt) - { - fr.removePropertyChangeListener(change); - }; - }); + if (new jalview.util.Platform().isAMac()) + { + Desktop.addInternalFrame(frame, "Sequence Feature Settings", 475, 480); + } + else + { + Desktop.addInternalFrame(frame, "Sequence Feature Settings", 400, 450); + } + + frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter() + { + public void internalFrameClosed( + javax.swing.event.InternalFrameEvent evt) + { + fr.removePropertyChangeListener(change); + dassourceBrowser.fs = null; + }; + }); frame.setLayer(JLayeredPane.PALETTE_LAYER); } @@ -273,8 +280,9 @@ public class FeatureSettings extends JPanel // probably the color chooser! table.setValueAt(colorChooser.getColor(), selectedRow, 1); table.validate(); - me.updateFeatureRenderer(((FeatureTableModel) table - .getModel()).getData(), false); + me.updateFeatureRenderer( + ((FeatureTableModel) table.getModel()).getData(), + false); } } } @@ -398,8 +406,8 @@ public class FeatureSettings extends JPanel { public void itemStateChanged(ItemEvent evt) { - fr.featureGroups.put(check.getText(), new Boolean(check - .isSelected())); + fr.featureGroups.put(check.getText(), + new Boolean(check.isSelected())); af.alignPanel.seqPanel.seqCanvas.repaint(); if (af.alignPanel.overviewPanel != null) { @@ -513,8 +521,8 @@ public class FeatureSettings extends JPanel data[dataIndex][0] = type; data[dataIndex][1] = fr.getFeatureStyle(type); - data[dataIndex][2] = new Boolean(af.getViewport().featuresDisplayed - .containsKey(type)); + data[dataIndex][2] = new Boolean( + af.getViewport().featuresDisplayed.containsKey(type)); dataIndex++; visibleChecks.removeElement(type); } @@ -588,10 +596,10 @@ public class FeatureSettings extends JPanel void load() { - JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache - .getProperty("LAST_DIRECTORY"), new String[] - { "fc" }, new String[] - { "Sequence Feature Colours" }, "Sequence Feature Colours"); + JalviewFileChooser chooser = new JalviewFileChooser( + jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[] + { "fc" }, new String[] + { "Sequence Feature Colours" }, "Sequence Feature Colours"); chooser.setFileView(new jalview.io.JalviewFileView()); chooser.setDialogTitle("Load Feature Colours"); chooser.setToolTipText("Load"); @@ -608,28 +616,28 @@ public class FeatureSettings extends JPanel file), "UTF-8"); jalview.schemabinding.version2.JalviewUserColours jucs = new jalview.schemabinding.version2.JalviewUserColours(); - jucs = (jalview.schemabinding.version2.JalviewUserColours) jucs.unmarshal(in); - + jucs = (jalview.schemabinding.version2.JalviewUserColours) jucs + .unmarshal(in); + for (int i = jucs.getColourCount() - 1; i >= 0; i--) { String name; jalview.schemabinding.version2.Colour newcol = jucs.getColour(i); if (newcol.hasMax()) { - Color mincol=null,maxcol=null; - try { - mincol = new Color( - Integer.parseInt(newcol.getMinRGB(), 16)); - maxcol = new Color( - Integer.parseInt(newcol.getRGB(), 16)); - + Color mincol = null, maxcol = null; + try + { + mincol = new Color(Integer.parseInt(newcol.getMinRGB(), 16)); + maxcol = new Color(Integer.parseInt(newcol.getRGB(), 16)); + } catch (Exception e) { - Cache.log.warn("Couldn't parse out graduated feature color.",e); + Cache.log.warn("Couldn't parse out graduated feature color.", + e); } - GraduatedColor gcol = - new GraduatedColor(mincol,maxcol, - newcol.getMin(),newcol.getMax()); + GraduatedColor gcol = new GraduatedColor(mincol, maxcol, + newcol.getMin(), newcol.getMax()); if (newcol.hasAutoScale()) { gcol.setAutoScaled(newcol.getAutoScale()); @@ -643,24 +651,28 @@ public class FeatureSettings extends JPanel gcol.setThresh(newcol.getThreshold()); gcol.setThreshType(AnnotationColourGradient.NO_THRESHOLD); // default } - if (newcol.getThreshType().length()>0) + if (newcol.getThreshType().length() > 0) { String ttyp = newcol.getThreshType(); - if (ttyp.equalsIgnoreCase("NONE")) { + if (ttyp.equalsIgnoreCase("NONE")) + { gcol.setThreshType(AnnotationColourGradient.NO_THRESHOLD); } if (ttyp.equalsIgnoreCase("ABOVE")) { gcol.setThreshType(AnnotationColourGradient.ABOVE_THRESHOLD); } - if (ttyp.equalsIgnoreCase("BELOW")){ + if (ttyp.equalsIgnoreCase("BELOW")) + { gcol.setThreshType(AnnotationColourGradient.BELOW_THRESHOLD); - } + } } fr.setColour(name = newcol.getName(), gcol); - } else { + } + else + { fr.setColour(name = jucs.getColour(i).getName(), new Color( - Integer.parseInt(jucs.getColour(i).getRGB(), 16))); + Integer.parseInt(jucs.getColour(i).getRGB(), 16))); } fr.setOrder(name, (i == 0) ? 0 : i / jucs.getColourCount()); } @@ -682,10 +694,10 @@ public class FeatureSettings extends JPanel void save() { - JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache - .getProperty("LAST_DIRECTORY"), new String[] - { "fc" }, new String[] - { "Sequence Feature Colours" }, "Sequence Feature Colours"); + JalviewFileChooser chooser = new JalviewFileChooser( + jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[] + { "fc" }, new String[] + { "Sequence Feature Colours" }, "Sequence Feature Colours"); chooser.setFileView(new jalview.io.JalviewFileView()); chooser.setDialogTitle("Save Feature Colour Scheme"); chooser.setToolTipText("Save"); @@ -1043,7 +1055,7 @@ public class FeatureSettings extends JPanel ArrayList types = new ArrayList(); for (int i = 0; i < typ.length; i++) { - if (typ[i]!=null) + if (typ[i] != null) { types.add(typ[i]); } @@ -1057,7 +1069,8 @@ public class FeatureSettings extends JPanel for (int i = 0; i < gps.length; i++) { - if (gps[i]!=null) { + if (gps[i] != null) + { grps.add(gps[i]); } } @@ -1152,6 +1165,7 @@ public class FeatureSettings extends JPanel { fetchDAS.setEnabled(false); cancelDAS.setEnabled(true); + dassourceBrowser.setGuiEnabled(false); Vector selectedSources = dassourceBrowser.getSelectedSources(); doDasFeatureFetch(selectedSources, true, true); } @@ -1279,6 +1293,8 @@ public class FeatureSettings extends JPanel { fetchDAS.setEnabled(true); cancelDAS.setEnabled(false); + dassourceBrowser.setGuiEnabled(true); + } public void cancelDAS_actionPerformed(ActionEvent e) @@ -1287,8 +1303,7 @@ public class FeatureSettings extends JPanel { dasFeatureFetcher.cancel(); } - fetchDAS.setEnabled(true); - cancelDAS.setEnabled(false); + complete(); } public void noDasSourceActive() @@ -1464,18 +1479,18 @@ public class FeatureSettings extends JPanel public static void renderGraduatedColor(JLabel comp, GraduatedColor gcol, int w, int h) { - boolean thr=false; + boolean thr = false; String tt = ""; String tx = ""; if (gcol.getThreshType() == AnnotationColourGradient.ABOVE_THRESHOLD) { - thr=true; + thr = true; tx += ">"; tt += "Thresholded (Above " + gcol.getThresh() + ") "; } if (gcol.getThreshType() == AnnotationColourGradient.BELOW_THRESHOLD) { - thr=true; + thr = true; tx += "<"; tt += "Thresholded (Below " + gcol.getThresh() + ") "; } @@ -1484,7 +1499,7 @@ public class FeatureSettings extends JPanel tt = "Coloured by label text. " + tt; if (thr) { - tx+=" "; + tx += " "; } tx += "Label"; comp.setIcon(null); @@ -1522,9 +1537,13 @@ class FeatureIcon implements Icon GraduatedColor gcol; Color backg; - boolean midspace=false; + + boolean midspace = false; + int width = 50, height = 20; - int s1,e1; // start and end of midpoint band for thresholded symbol + + int s1, e1; // start and end of midpoint band for thresholded symbol + Color mpcolour = Color.white; FeatureIcon(GraduatedColor gfc, Color bg, int w, int h, boolean mspace) @@ -1536,10 +1555,12 @@ class FeatureIcon implements Icon midspace = mspace; if (midspace) { - s1=width/3; - e1=s1*2; - } else { - s1 = width/2; + s1 = width / 3; + e1 = s1 * 2; + } + else + { + s1 = width / 2; e1 = s1; } } @@ -1582,10 +1603,10 @@ class FeatureIcon implements Icon if (midspace) { g.setColor(Color.white); - g.fillRect(s1,0,e1-s1, height); + g.fillRect(s1, 0, e1 - s1, height); } g.setColor(gcol.getMaxColor()); - g.fillRect(0,e1, width-e1, height); + g.fillRect(0, e1, width - e1, height); } } }