X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=afb1f0ca5ffebfa8ba2af0f45d57a12bef89a307;hb=60d2bc892983abad01d082cbff73466f093879f2;hp=b60ee6248f65890a73095f1cc4de5520a9408658;hpb=0f31ab4d7d3c5fdf3af01f3f2f497962d9602725;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index b60ee62..afb1f0c 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,17 @@ 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 shortName = title; + if(shortName.indexOf(java.io.File.separatorChar)>-1) + shortName = shortName.substring( + shortName.lastIndexOf(java.io.File.separatorChar)+1); + 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 +108,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,76 +170,95 @@ public class AlignFrame extends GAlignFrame Stack historyList = new Stack(); Stack redoList = new Stack(); + private int treeCount = 0; void updateEditMenuBar() - { - if(historyList.size()>0) + { + if(historyList.size()>0) + { + undoMenuItem.setEnabled(true); + HistoryItem hi = (HistoryItem)historyList.peek(); + undoMenuItem.setText("Undo "+hi.getDescription()); + } + else { - undoMenuItem.setEnabled(true); - Object [] history = (Object[])historyList.get(0); - undoMenuItem.setText("Undo "+history[0]); + undoMenuItem.setEnabled(false); + undoMenuItem.setText("Undo"); } - else - { - undoMenuItem.setEnabled(false); - undoMenuItem.setText("Undo"); - } - if(redoList.size()>0) + if(redoList.size()>0) + { + redoMenuItem.setEnabled(true); + HistoryItem hi = (HistoryItem)redoList.peek(); + redoMenuItem.setText("Redo "+hi.getDescription()); + } + else { - redoMenuItem.setEnabled(true); - Object [] history = (Object[])redoList.get(0); - redoMenuItem.setText("Redo "+history[0]); + redoMenuItem.setEnabled(false); + redoMenuItem.setText("Redo"); } - else - { - redoMenuItem.setEnabled(false); - redoMenuItem.setText("Redo"); - } - } - - public void addHistoryItem(String type) - { - // must make sure we add new sequence objects her, not refs to the existing sequences - redoList.clear(); + } - SequenceI[] seq = new SequenceI[viewport.getAlignment().getHeight()]; - for(int i=0; ihi.getSequences().size()-1; i--) + viewport.alignment.deleteSequence(i); + } + } updateEditMenuBar(); - for(int i=0; i 0) { + addHistoryItem(new HistoryItem("Remove Left",viewport.alignment, + HistoryItem.HIDE)); int min = colSel.getMin(); viewport.getAlignment().trimLeft(min); colSel.compensateForEdit(0,min); @@ -507,10 +521,12 @@ public class AlignFrame extends GAlignFrame public void remove2RightMenuItem_actionPerformed(ActionEvent e) { - addHistoryItem("delete columns"); ColumnSelection colSel = viewport.getColumnSelection(); if (colSel.size() > 0) { + addHistoryItem(new HistoryItem("Remove Right",viewport.alignment, + HistoryItem.HIDE)); + int max = colSel.getMax(); viewport.getAlignment().trimRight(max); if(viewport.getSelectionGroup()!=null) @@ -533,7 +549,10 @@ public class AlignFrame extends GAlignFrame public void removeGappedColumnMenuItem_actionPerformed(ActionEvent e) { - addHistoryItem("delete gapped columns"); + addHistoryItem(new HistoryItem("Remove Gapped Columns", + viewport.alignment, + HistoryItem.HIDE)); + viewport.getAlignment().removeGaps(); viewport.updateConservation(); viewport.updateConsensus(); @@ -542,7 +561,9 @@ public class AlignFrame extends GAlignFrame public void removeAllGapsMenuItem_actionPerformed(ActionEvent e) { - addHistoryItem("delete all gaps"); + addHistoryItem(new HistoryItem("Remove Gaps", + viewport.alignment, + HistoryItem.HIDE)); SequenceI current; int jSize; for (int i=0; i < viewport.getAlignment().getSequences().size();i++) @@ -563,6 +584,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()1) + { + // JBPNote UGLY! To prettify, make SequenceGroup and Alignment conform to some common interface! + SequenceGroup seqs = viewport.getSelectionGroup(); + int sz; + msa = new SequenceI[sz=seqs.getSize()]; + for (int i = 0; i < sz; i++) + { + msa[i] = (SequenceI) seqs.getSequenceAt(i); + } + + } + else + { + Vector seqs = viewport.getAlignment().getSequences(); + + if (seqs.size() > 1) { + msa = new SequenceI[seqs.size()]; + for (int i = 0; i < seqs.size(); i++) + { + msa[i] = (SequenceI) seqs.elementAt(i); + } + + } + + } + if (msa!=null) { jalview.ws.MsaWSClient ct = new jalview.ws.MsaWSClient("ClustalWS", title, msa, true, true); } } + protected void jpred_actionPerformed(ActionEvent e) { + SequenceI seq=null; + SequenceI[] msa=null; if (viewport.getSelectionGroup() != null && viewport.getSelectionGroup().getSize()>0) { @@ -1139,20 +1242,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 { @@ -1160,20 +1260,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) @@ -1209,7 +1313,7 @@ public class AlignFrame extends GAlignFrame } if (msa!=null) { - MsaWSClient ct = new jalview.ws.MsaWSClient("MuscleWS",title, msa, true, true); + MsaWSClient ct = new jalview.ws.MsaWSClient("MuscleWS",title, msa, false, true); } } protected void LoadtreeMenuItem_actionPerformed(ActionEvent e) { @@ -1256,5 +1360,4 @@ public class AlignFrame extends GAlignFrame }catch(Exception ex){ex.printStackTrace();} } - }