X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=b0eca3ebc3952f24a0ff3a67c25a99fbeecd52d5;hb=fe5db5e87fc726b1560d21f97f19b0e04963b72c;hp=63b3787aea773ec8fbabcd5931495287e8e00c42;hpb=4c61bddcb9e367db694e3f2bde9c4d25f114f50b;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 63b3787..b0eca3e 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -11,20 +11,22 @@ package jalview.gui; -import jalview.jbgui.GAlignFrame; -import jalview.schemes.*; -import jalview.datamodel.*; -import jalview.analysis.*; -import jalview.io.*; -import jalview.ws.*; +import java.util.*; + import java.awt.*; +import java.awt.datatransfer.*; import java.awt.event.*; import java.awt.print.*; import javax.swing.*; import javax.swing.event.*; -import java.util.*; -import java.awt.datatransfer.*; +import jalview.analysis.*; +import jalview.datamodel.*; +import jalview.io.*; +import jalview.jbgui.*; +import jalview.schemes.*; +import jalview.ws.*; +import java.beans.PropertyChangeEvent; public class AlignFrame extends GAlignFrame { @@ -76,14 +78,14 @@ public class AlignFrame extends GAlignFrame if(value == JalviewFileChooser.APPROVE_OPTION) { currentFileFormat = chooser.getSelectedFormat(); + jalview.bin.Cache.setProperty("DEFAULT_FILE_FORMAT", currentFileFormat); if (currentFileFormat.equals("Jalview")) { String shortName = title.replace('/', '_'); title = title.replace('\\', '_'); String choice = chooser.getSelectedFile().getPath(); - Jalview2XML.SaveState(this, System.currentTimeMillis(), shortName, - choice); + Jalview2XML.SaveState(this, choice, shortName); // USE Jalview2XML to save this file return; } @@ -103,18 +105,14 @@ public class AlignFrame extends GAlignFrame protected void outputText_actionPerformed(ActionEvent e) { - CutAndPasteTransfer cap = new CutAndPasteTransfer(false); - JInternalFrame frame = new JInternalFrame(); - cap.formatForOutput(); - frame.setContentPane(cap); - Desktop.addInternalFrame(frame, "Alignment output - "+e.getActionCommand(), 600, 500); + CutAndPasteTransfer cap = new CutAndPasteTransfer(); + Desktop.addInternalFrame(cap, "Alignment output - "+e.getActionCommand(), 600, 500); cap.setText( FormatAdapter.formatSequences(e.getActionCommand(), viewport.getAlignment().getSequences())); } protected void htmlMenuItem_actionPerformed(ActionEvent e) { - HTMLOutput htmlOutput = new HTMLOutput(viewport); - htmlOutput = null; + new HTMLOutput(viewport); } protected void createPNG_actionPerformed(ActionEvent e) @@ -169,6 +167,7 @@ public class AlignFrame extends GAlignFrame Stack historyList = new Stack(); Stack redoList = new Stack(); + private int treeCount = 0; void updateEditMenuBar() { @@ -237,7 +236,6 @@ public class AlignFrame extends GAlignFrame SequenceI restore = (SequenceI) hi.getSequences().elementAt(i); if(restore.getLength()==0) { - System.out.println(hi.getHidden().elementAt(i)); restore.setSequence(hi.getHidden().elementAt(i).toString()); viewport.alignment.getSequences().insertElementAt( restore, @@ -252,13 +250,13 @@ public class AlignFrame extends GAlignFrame viewport.alignment.deleteSequence(i); } } + viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences()); + updateEditMenuBar(); - updateEditMenuBar(); - - viewport.updateConsensus(); - viewport.updateConservation(); - alignPanel.repaint(); - } + viewport.updateConsensus(); + viewport.updateConservation(); + alignPanel.repaint(); + } public void moveSelectedSequences(boolean up) { @@ -397,6 +395,7 @@ public class AlignFrame extends GAlignFrame } else { + viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences()); viewport.setEndSeq(viewport.alignment.getHeight()); viewport.alignment.getWidth(); viewport.updateConservation(); @@ -417,26 +416,32 @@ public class AlignFrame extends GAlignFrame protected void delete_actionPerformed(ActionEvent e) { - addHistoryItem(new HistoryItem("Delete Sequences", viewport.alignment, HistoryItem.HIDE)); + boolean seqsdeleted=false; if (viewport.getSelectionGroup() == null) return; + addHistoryItem(new HistoryItem("Delete Sequences", viewport.alignment, HistoryItem.HIDE)); + SequenceGroup sg = viewport.getSelectionGroup(); for (int i=0;i < sg.sequences.size(); i++) { SequenceI seq = sg.getSequenceAt(i); int index = viewport.getAlignment().findIndex(seq); - seq.deleteChars(sg.getStartRes(), sg.getEndRes()+1); + seq.deleteChars(sg.getStartRes(),sg.getEndRes()+1); - if(seq.getSequence().length()<1) - viewport.getAlignment().deleteSequence(seq); - else - viewport.getAlignment().getSequences().setElementAt(seq, index); + if(seq.getSequence().length()<1) { + seqsdeleted=true; + viewport.getAlignment().deleteSequence(seq); + } else { + viewport.getAlignment().getSequences().setElementAt(seq, index); + } } viewport.setSelectionGroup(null); viewport.alignment.deleteGroup(sg); + if (seqsdeleted) + viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences()); viewport.resetSeqLimits( alignPanel.seqPanel.seqCanvas.getHeight()); if(viewport.getAlignment().getHeight()<1) try @@ -445,9 +450,8 @@ public class AlignFrame extends GAlignFrame }catch(Exception ex){} viewport.updateConservation(); viewport.updateConsensus(); - alignPanel.repaint(); - - } + alignPanel.repaint(); + } protected void deleteGroups_actionPerformed(ActionEvent e) @@ -545,6 +549,7 @@ public class AlignFrame extends GAlignFrame addHistoryItem(new HistoryItem("Remove Gapped Columns", viewport.alignment, HistoryItem.HIDE)); + viewport.getAlignment().removeGaps(); viewport.updateConservation(); viewport.updateConsensus(); @@ -576,6 +581,26 @@ public class AlignFrame extends GAlignFrame } + public void padGapsMenuitem_actionPerformed(ActionEvent e) + { + addHistoryItem(new HistoryItem("Pad Gaps", + viewport.alignment, + HistoryItem.HIDE)); + SequenceI current; + int Width = viewport.getAlignment().getWidth()-1; + for (int i=0; i < viewport.getAlignment().getSequences().size();i++) + { + current = viewport.getAlignment().getSequenceAt(i); + + if (current.getLength()0) { @@ -1154,20 +1201,17 @@ public class AlignFrame extends GAlignFrame SequenceGroup seqs = viewport.getSelectionGroup(); if (seqs.getSize() == 1 || !viewport.alignment.isAligned()) { - JPredClient ct = new JPredClient( (SequenceI)seqs.getSequenceAt(0)); + seq = (SequenceI)seqs.getSequenceAt(0); } else { int sz; - SequenceI[] msa = new SequenceI[sz=seqs.getSize()]; + msa = new SequenceI[sz=seqs.getSize()]; for (int i = 0; i < sz; i++) { msa[i] = (SequenceI) seqs.getSequenceAt(i); } - - JPredClient ct = new JPredClient(msa); } - } else { @@ -1175,20 +1219,24 @@ public class AlignFrame extends GAlignFrame if (seqs.size() == 1 || !viewport.alignment.isAligned()) { - JPredClient ct = new JPredClient( (SequenceI) - seqs.elementAt(0)); + seq = (SequenceI) seqs.elementAt(0); } else { - SequenceI[] msa = new SequenceI[seqs.size()]; + msa = new SequenceI[seqs.size()]; for (int i = 0; i < seqs.size(); i++) { msa[i] = (SequenceI) seqs.elementAt(i); } - - JPredClient ct = new JPredClient(msa); } - + } + if (msa!=null) { + JPredClient ct = new JPredClient(title, msa); + } else + if (seq!=null) { + JPredClient ct = new JPredClient(title, seq); + } else { + System.err.print("JALVIEW ERROR! - Unexpected JPred selection state!\n"); } } protected void msaAlignMenuItem_actionPerformed(ActionEvent e) @@ -1271,5 +1319,4 @@ public class AlignFrame extends GAlignFrame }catch(Exception ex){ex.printStackTrace();} } - }