X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML_V1.java;h=b34786472757897c1fcc920118dbfdd0a3d12b22;hb=d587f1aa61946dc14f6f089cf1dc2a3116cfb773;hp=d84b8dbf73f317152eb5b8334b31d07fdaf340a7;hpb=2be3bda24ceee2da9d3c41723b5bc1e660948a20;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML_V1.java b/src/jalview/gui/Jalview2XML_V1.java index d84b8db..b347864 100755 --- a/src/jalview/gui/Jalview2XML_V1.java +++ b/src/jalview/gui/Jalview2XML_V1.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2006 AM Waterhouse, J Procter, 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 @@ -80,7 +80,7 @@ public class Jalview2XML_V1 * * @param file DOCUMENT ME! */ - public AlignFrame LoadJalviewAlign(String file) + public AlignFrame LoadJalviewAlign(final String file) { jalview.gui.AlignFrame af = null; @@ -113,10 +113,8 @@ public class Jalview2XML_V1 for (int i = 0; i < entryCount; i++) { jarentry = jin.getNextJarEntry(); - } - class NoDescIDResolver implements IDResolver { public Object resolve(String idref) @@ -134,39 +132,51 @@ public class Jalview2XML_V1 object = (JalviewModel) object.unmarshal(in); - af = LoadFromObject(object); + af = LoadFromObject(object, file); entryCount++; } } while (jarentry != null); } - catch(java.net.UnknownHostException ex) + catch (final java.net.UnknownHostException ex) { ex.printStackTrace(); - System.err.println("Couldn't locate Jalview XML file : " + - ex + "\n"); - JOptionPane.showInternalMessageDialog(Desktop.desktop, - "Couldn't locate " + file, - "URL not found", - JOptionPane.WARNING_MESSAGE); + javax.swing.SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + System.err.println("Couldn't locate Jalview XML file : " + + ex + "\n"); + JOptionPane.showInternalMessageDialog(Desktop.desktop, + "Couldn't locate " + file, + "URL not found", + JOptionPane.WARNING_MESSAGE); + } + }); } catch (Exception ex) { ex.printStackTrace(); - System.err.println("Exception whilst loading jalview XML file : " + - ex + "\n"); - JOptionPane.showInternalMessageDialog(Desktop.desktop, - "Error loading " + file, - "Error loading Jalview file", - JOptionPane.WARNING_MESSAGE); + System.err.println("Exception whilst loading jalview XML file : " + + ex + "\n"); + javax.swing.SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + JOptionPane.showInternalMessageDialog(Desktop.desktop, + "Error loading " + file, + "Error loading Jalview file", + JOptionPane.WARNING_MESSAGE); + } + }); } return af; } - AlignFrame LoadFromObject(JalviewModel object) + AlignFrame LoadFromObject(JalviewModel object, String file) { Vector seqids = new Vector(); SequenceSet vamsasSet = object.getVamsasModel().getSequenceSet(0); @@ -184,7 +194,6 @@ public class Jalview2XML_V1 vamsasSeq[i].getSequence()); jseqs[i].setStart(JSEQ[i].getStart()); jseqs[i].setEnd(JSEQ[i].getEnd()); - jseqs[i].setColor(new java.awt.Color(JSEQ[i].getColour())); seqids.add(jseqs[i]); } @@ -269,7 +278,18 @@ public class Jalview2XML_V1 Viewport[] views = jms.getViewport(); Viewport view = views[0]; // DEAL WITH MULTIPLE VIEWPORTS LATER - AlignFrame af = new AlignFrame(al); + AlignFrame af = new AlignFrame(al, view.getWidth(), view.getHeight()); + + af.setFileName(file, "Jalview"); + + for (int i = 0; i < JSEQ.length; i++) + { + af.viewport.setSequenceColour( + af.viewport.alignment.getSequenceAt(i), + new java.awt.Color( + JSEQ[i].getColour())); + } + // af.changeColour() ); @@ -295,7 +315,9 @@ public class Jalview2XML_V1 groups[i].getColour()); } - cs.setThreshold(groups[i].getPidThreshold(), true); + if(cs!=null) + cs.setThreshold(groups[i].getPidThreshold(), true); + } Vector seqs = new Vector(); @@ -318,7 +340,7 @@ public class Jalview2XML_V1 if (groups[i].getConsThreshold() != 0) { jalview.analysis.Conservation c = new jalview.analysis.Conservation("All", - ResidueProperties.propHash, 3, sg.sequences, 0, + ResidueProperties.propHash, 3, sg.getSequences(false), 0, sg.getWidth() - 1); c.calculate(); c.verdict(false, 25); @@ -336,44 +358,21 @@ public class Jalview2XML_V1 af.viewport.setStartRes(view.getStartRes()); af.viewport.setStartSeq(view.getStartSeq()); af.viewport.setShowAnnotation(view.getShowAnnotation()); - af.viewport.showConservation = view.getShowConservation(); - af.viewport.showQuality = view.getShowQuality(); - af.viewport.showIdentity = view.getShowIdentity(); af.viewport.setAbovePIDThreshold(view.getPidSelected()); - af.abovePIDThreshold.setSelected(view.getPidSelected()); af.viewport.setColourText(view.getShowColourText()); - af.colourTextMenuItem.setSelected(view.getShowColourText()); af.viewport.setConservationSelected(view.getConservationSelected()); - af.conservationMenuItem.setSelected(view.getConservationSelected()); - af.viewport.setShowJVSuffix(view.getShowFullId()); - af.seqLimits.setSelected(view.getShowFullId()); - af.viewport.setFont(new java.awt.Font(view.getFontName(), view.getFontStyle(), view.getFontSize())); af.alignPanel.fontChanged(); af.viewport.setRenderGaps(view.getRenderGaps()); - af.renderGapsMenuItem.setSelected(view.getRenderGaps()); - af.viewport.setWrapAlignment(view.getWrapAlignment()); - af.wrapMenuItem.setSelected(view.getWrapAlignment()); - - if (view.getWrapAlignment()) - { - af.alignPanel.setWrapAlignment(view.getWrapAlignment()); - } - else - { - af.annotationPanelMenuItem.setState(view.getShowAnnotation()); - af.viewport.setShowAnnotation(view.getShowAnnotation()); - af.alignPanel.setAnnotationVisible(view.getShowAnnotation()); - } - + af.alignPanel.setWrapAlignment(view.getWrapAlignment()); + af.viewport.setShowAnnotation(view.getShowAnnotation()); + af.alignPanel.setAnnotationVisible(view.getShowAnnotation()); af.viewport.setShowBoxes(view.getShowBoxes()); - af.viewBoxesMenuItem.setSelected(view.getShowBoxes()); af.viewport.setShowText(view.getShowText()); - af.viewTextMenuItem.setSelected(view.getShowText()); ColourSchemeI cs = null; @@ -391,11 +390,10 @@ public class Jalview2XML_V1 if(cs!=null) { cs.setThreshold(view.getPidThreshold(), true); - cs.setConsensus(af.viewport.vconsensus); + cs.setConsensus(af.viewport.hconsensus); } } - af.setColourSelected(view.getBgColour()); af.viewport.setGlobalColourScheme(cs); af.viewport.setColourAppliesToAllGroups(false); af.changeColour(cs); @@ -405,12 +403,8 @@ public class Jalview2XML_V1 } af.viewport.setColourAppliesToAllGroups(true); + af.viewport.showSequenceFeatures = view.getShowSequenceFeatures(); - if (view.getShowSequenceFeatures()) - { - af.viewport.showSequenceFeatures = true; - af.showSeqFeatures.setSelected(true); - } if(jms.getFeatureSettings()!=null) { @@ -432,6 +426,7 @@ public class Jalview2XML_V1 af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().renderOrder = renderOrder; } + af.setMenusFromViewport(af.viewport); Desktop.addInternalFrame(af, view.getTitle(), view.getWidth(), view.getHeight());