X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=0edc57849ada3639a9322ac25e762225236ad05c;hb=21b2c08c209b0c4eb1111dab1d81e8408c245ddd;hp=c1f088b3d8965991cc5da195ad40f67ca0c562ad;hpb=e2d27f21c1655d5707adad16fe174f2c88ba7cd3;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index c1f088b..0edc578 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -347,9 +347,22 @@ public class AlignFrame } else { - String output = new FormatAdapter().formatSequences(format, - viewport.getAlignment(). - getSequences()); + + String[] omitHidden = null; + + if (viewport.hasHiddenColumns) + { + System.out.println("PROMPT USER HERE"); + omitHidden = viewport.getSelectionAsString(); + } + + String output = new FormatAdapter().formatSequences( + format, + viewport.getSelectionAsNewSequence(), + omitHidden) ; + + + if (output == null) { return false; @@ -381,12 +394,20 @@ public class AlignFrame protected void outputText_actionPerformed(ActionEvent e) { CutAndPasteTransfer cap = new CutAndPasteTransfer(); - Desktop.addInternalFrame(cap, - "Alignment output - " + e.getActionCommand(), 600, - 500); - cap.setText(new FormatAdapter().formatSequences(e.getActionCommand(), - viewport.getAlignment(). - getSequences())); + + + String [] omitHidden = null; + + if(viewport.hasHiddenColumns) + { + System.out.println("PROMPT USER HERE"); + omitHidden = viewport.getSelectionAsString(); + } + + cap.setText(new FormatAdapter().formatSequences( + e.getActionCommand(), + viewport.getSelectionAsNewSequence(), + omitHidden)); } /** @@ -648,83 +669,32 @@ public class AlignFrame return; } - SequenceGroup sg = viewport.getSelectionGroup(); + SequenceI [] seqs = viewport.getSelectionAsNewSequence(); Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard(); - Hashtable orderedSeqs = new Hashtable(); - SequenceI[] seqs = new SequenceI[sg.getSize(false)]; - - for (int i = 0; i < sg.getSize(false); i++) - { - SequenceI seq = sg.getSequenceAt(i); - int index = viewport.alignment.findIndex(seq); - orderedSeqs.put(index + "", seq); - } + FastaFile ff = new FastaFile(); + ff.addJVSuffix( viewport.showJVSuffix ); - int index = 0, startRes, endRes; - char ch; + c.setContents(new StringSelection(ff.print(seqs)), Desktop.instance); - for (int i = 0; i < sg.getSize(false); i++) + Vector hiddenColumns = null; + if(viewport.hasHiddenColumns && viewport.getSelectionGroup()!=null) { - SequenceI seq = null; - - while (seq == null) - { - if (orderedSeqs.containsKey(index + "")) - { - seq = (SequenceI) orderedSeqs.get(index + ""); - index++; - - break; - } - else - { - index++; - } - } - - //FIND START RES - //Returns residue following index if gap - startRes = seq.findPosition(sg.getStartRes()); - - //FIND END RES - //Need to find the residue preceeding index if gap - endRes = 0; - - for (int j = 0; j < sg.getEndRes() + 1 && j < seq.getLength(); j++) + hiddenColumns =new Vector(); + int hiddenOffset = viewport.getSelectionGroup().getStartRes(); + for(int i=0; i 0) - { - endRes += seq.getStart() - 1; - } - - seqs[i] = new Sequence(seq.getName(), - seq.getSequence(sg.getStartRes(), sg.getEndRes() + 1), - startRes, - endRes); - seqs[i].setDescription(seq.getDescription()); - seqs[i].setDBRef(seq.getDBRef()); - seqs[i].setSequenceFeatures(seq.getSequenceFeatures()); - seqs[i].setDatasetSequence(seq.getDatasetSequence()); - if(seq.getAnnotation()!=null) - { - for(int a=0; a>>This is a fix for the moment, until a better solution is found!!<<< af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().transferSettings( @@ -2129,10 +2111,7 @@ public class AlignFrame } title = title + " on region"; - tp = new TreePanel(viewport, - viewport.getSelectionGroup().getSequences(false), - type, pwType, - sg.getStartRes(), sg.getEndRes()); + tp = new TreePanel(viewport, type, pwType); } else { @@ -2149,10 +2128,7 @@ public class AlignFrame return; } - tp = new TreePanel(viewport, - viewport.getAlignment().getSequences(), type, pwType, - 0, - viewport.alignment.getWidth()); + tp = new TreePanel(viewport, type, pwType); } addTreeMenuItem(tp, title); @@ -2403,9 +2379,9 @@ public class AlignFrame if (nf.getTree() != null) { tp = new TreePanel(viewport, - viewport.getAlignment().getSequences(), nf, "FromFile", - title); + title, + nf); tp.setSize(w,h);