X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=784df09ff0bd05a2b172718b01e0be9e3438f91f;hb=3af1fc9be996fd7a943a72e137b3ac6b49862770;hp=a4f5e4d917635f73fff1555873fb1a0a2049ac1d;hpb=be545261cf6e7225da6f3ac1306b1b2609fd0e70;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index a4f5e4d..784df09 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -54,9 +54,6 @@ public class AlignFrame AlignmentPanel alignPanel; AlignViewport viewport; - Vector viewports = new Vector(); - Vector alignPanels = new Vector(); - /** DOCUMENT ME!! */ public String currentFileFormat = null; Stack historyList = new Stack(); @@ -72,7 +69,6 @@ public class AlignFrame public AlignFrame(AlignmentI al) { viewport = new AlignViewport(al); - viewports.add(viewport); this.setDropTarget(new java.awt.dnd.DropTarget(this, this)); @@ -88,7 +84,6 @@ public class AlignFrame } alignPanel = new AlignmentPanel(this, viewport); - alignPanels.add(alignPanel); String sortby = jalview.bin.Cache.getDefault("SORT_ALIGNMENT", "No sort"); @@ -195,6 +190,11 @@ public class AlignFrame return jalview.bin.Cache.getProperty("VERSION"); } + public FeatureRenderer getFeatureRenderer() + { + return alignPanel.seqPanel.seqCanvas.getFeatureRenderer(); + } + public void fetchSequence_actionPerformed(ActionEvent e) { @@ -263,7 +263,7 @@ public class AlignFrame java.io.File.separatorChar) + 1); } - Jalview2XML.SaveAlignment(this, file, shortName); + new Jalview2XML().SaveAlignment(this, file, shortName); // USE Jalview2XML to save this file return true; @@ -360,6 +360,27 @@ public class AlignFrame thread.start(); } + public void associatedData_actionPerformed(ActionEvent e) + { + // Pick the tree file + JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache. + getProperty( + "LAST_DIRECTORY")); + chooser.setFileView(new JalviewFileView()); + chooser.setDialogTitle("Load Jalview Annotations or Features File"); + chooser.setToolTipText("Load Jalview Annotations / Features file"); + + int value = chooser.showOpenDialog(null); + + if (value == JalviewFileChooser.APPROVE_OPTION) + { + String choice = chooser.getSelectedFile().getPath(); + jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice); + loadJalviewDataFile(choice); + } + + } + /** * DOCUMENT ME! * @@ -685,6 +706,11 @@ public class AlignFrame AlignFrame af = new AlignFrame(alignment); String newtitle = new String("Copied sequences"); + //>>>This is a fix for the moment, until a better solution is found!!<<< + af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().transferSettings( + alignPanel.seqPanel.seqCanvas.getFeatureRenderer()); + + if (title.startsWith("Copied sequences")) { newtitle = title; @@ -776,7 +802,7 @@ public class AlignFrame //Jalview no longer allows deletion of residues. //Check here whether any residues are in selection area - if( sg.getEndRes()-sg.getStartRes() < viewport.alignment.getWidth()-1) + /* if( sg.getEndRes()-sg.getStartRes() < viewport.alignment.getWidth()-1) { for (int i = 0; i < sg.sequences.size(); i++) { @@ -797,7 +823,7 @@ public class AlignFrame j++; }while(j<=sg.getEndRes()); } - } + }*/ addHistoryItem(new HistoryItem("Delete Sequences", viewport.alignment, @@ -887,6 +913,11 @@ public class AlignFrame */ public void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e) { + if(viewport.cursorMode) + { + alignPanel.seqPanel.keyboardNo1 = null; + alignPanel.seqPanel.keyboardNo2 = null; + } viewport.setSelectionGroup(null); viewport.getColumnSelection().clear(); viewport.setSelectionGroup(null); @@ -1109,7 +1140,10 @@ public class AlignFrame public void alignmentChanged() { - if(viewport.vconsensus!=null) + if(viewport.padGaps) + viewport.getAlignment().padGaps(); + + if(viewport.vconsensus!=null && viewport.autoCalculateConsensus) { viewport.updateConsensus(); viewport.updateConservation(); @@ -1171,8 +1205,11 @@ public class AlignFrame { addHistoryItem(new HistoryItem("Pad Gaps", viewport.alignment, HistoryItem.HIDE)); - if (viewport.getAlignment().padGaps()) - alignmentChanged(); + + viewport.padGaps = padGapsMenuitem.isSelected(); + + // if (viewport.padGaps) + alignmentChanged(); } /** @@ -1903,6 +1940,13 @@ public class AlignFrame new PCAPanel(viewport); } + + public void autoCalculate_actionPerformed(ActionEvent e) + { + viewport.autoCalculateConsensus = autoCalculate.isSelected(); + } + + /** * DOCUMENT ME! * @@ -1952,7 +1996,7 @@ public class AlignFrame */ void NewTreePanel(String type, String pwType, String title) { - final TreePanel tp; + TreePanel tp; if ( (viewport.getSelectionGroup() != null) && (viewport.getSelectionGroup().getSize() > 3)) @@ -2004,7 +2048,6 @@ public class AlignFrame } addTreeMenuItem(tp, title); - viewport.setCurrentTree(tp.getTree()); Desktop.addInternalFrame(tp, title + " from " + this.title, 600, 500); } @@ -2313,6 +2356,7 @@ public class AlignFrame { // Add any Multiple Sequence Alignment Services final JMenu msawsmenu = new JMenu("Alignment"); + final AlignFrame af = this; for (int i = 0, j = msaws.size(); i < j; i++) { final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) msaws. @@ -2324,7 +2368,7 @@ public class AlignFrame { SequenceI[] msa = gatherSequencesForAlignment(); new jalview.ws.MsaWSClient(sh, title, msa, - false, true, viewport.getAlignment().getDataset()); + false, true, viewport.getAlignment().getDataset(), af); } @@ -2341,7 +2385,7 @@ public class AlignFrame { SequenceI[] msa = gatherSequencesForAlignment(); new jalview.ws.MsaWSClient(sh, title, msa, - true, true, viewport.getAlignment().getDataset()); + true, true, viewport.getAlignment().getDataset(), af); } @@ -2465,42 +2509,42 @@ public void showTranslation_actionPerformed(ActionEvent e) jalview.datamodel.AlignmentAnnotation[] annotations = viewport.alignment.getAlignmentAnnotation(); int a, aSize; - for (int i = 0; i < annotations.length; i++) + if(annotations!=null) { - - if (annotations[i].label.equals("Quality") || - annotations[i].label.equals("Conservation") || - annotations[i].label.equals("Consensus")) + for (int i = 0; i < annotations.length; i++) { - continue; - } - + if (annotations[i].label.equals("Quality") || + annotations[i].label.equals("Conservation") || + annotations[i].label.equals("Consensus")) + { + continue; + } - aSize = viewport.alignment.getWidth()/3; - jalview.datamodel.Annotation [] anots = - new jalview.datamodel.Annotation[aSize]; + aSize = viewport.alignment.getWidth() / 3; + jalview.datamodel.Annotation[] anots = + new jalview.datamodel.Annotation[aSize]; - for(a=0; a