X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=b714aea53cabf9b96dea336328ca497d1ca28d14;hb=366b11bb8e79ff5bb1a9e6c50b648c3d4101862c;hp=8c31ed0df7734b0f317e24409177a1455f4dc221;hpb=9c5d69ef1e102b1eac18ec13c362522f40c9000d;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 8c31ed0..b714aea 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -34,7 +34,8 @@ import jalview.io.*; import jalview.jbgui.*; import jalview.schemes.*; import jalview.ws.*; -import javax.swing.event.AncestorEvent; +import java.awt.dnd.*; + /** * DOCUMENT ME! @@ -43,7 +44,7 @@ import javax.swing.event.AncestorEvent; * @version $Revision$ */ public class AlignFrame - extends GAlignFrame implements ClipboardOwner + extends GAlignFrame implements ClipboardOwner, DropTargetListener { /** DOCUMENT ME!! */ public static final int NEW_WINDOW_WIDTH = 700; @@ -73,6 +74,7 @@ public class AlignFrame viewport = new AlignViewport(al); viewports.add(viewport); + this.setDropTarget(new java.awt.dnd.DropTarget(this, this)); if(viewport.vconsensus==null) { @@ -172,18 +174,13 @@ public class AlignFrame public void setGUINucleotide(boolean nucleotide) { showTranslation.setVisible( nucleotide ); - sequenceFeatures.setVisible(!nucleotide ); - featureSettings.setVisible( !nucleotide ); + //sequenceFeatures.setVisible(!nucleotide ); + //featureSettings.setVisible( !nucleotide ); conservationMenuItem.setVisible( !nucleotide ); modifyConservation.setVisible( !nucleotide ); - //Deal with separators //Remember AlignFrame always starts as protein - if(nucleotide) - { - viewMenu.remove(viewMenu.getItemCount()-2); - } - else + if(!nucleotide) { calculateMenu.remove(calculateMenu.getItemCount()-2); } @@ -199,99 +196,10 @@ public class AlignFrame } - /** - * DOCUMENT ME! - * - * @param String DOCUMENT ME! - */ - - public void parseGroupsFile(String file) - { - try - { - BufferedReader in = new BufferedReader(new FileReader(file)); - SequenceI seq = null; - String line, type, desc, token; - - int index, start, end; - StringTokenizer st; - SequenceFeature sf; - FeatureRenderer fr = alignPanel.seqPanel.seqCanvas.getFeatureRenderer(); - int lineNo = 0; - while ( (line = in.readLine()) != null) - { - lineNo++; - st = new StringTokenizer(line, "\t"); - if (st.countTokens() == 2) - { - type = st.nextToken(); - UserColourScheme ucs = new UserColourScheme(st.nextToken()); - fr.setColour(type, ucs.findColour("A")); - continue; - } - - while (st.hasMoreElements()) - { - desc = st.nextToken(); - token = st.nextToken(); - if (!token.equals("ID_NOT_SPECIFIED")) - { - index = viewport.alignment.findIndex(viewport.alignment.findName( - token)); - st.nextToken(); - } - else - { - index = Integer.parseInt(st.nextToken()); - } - - start = Integer.parseInt(st.nextToken()); - end = Integer.parseInt(st.nextToken()); - - seq = viewport.alignment.getSequenceAt(index); - start = seq.findIndex(start) - 1; - end = seq.findIndex(end) - 1; - - type = st.nextToken(); - - if (fr.getColour(type) == null) - { - // Probably the old style groups file - UserColourScheme ucs = new UserColourScheme(type); - fr.setColour(type, ucs.findColour("A")); - } - - - sf = new SequenceFeature(type, desc, "", start, end); - - seq.addSequenceFeature(sf); - - - // sg = new SequenceGroup(text, ucs, true, true, false, start, end); - // sg.addSequence(seq, false); - - // viewport.alignment.addGroup(sg); - - } - } - - viewport.showSequenceFeatures = true; - - alignPanel.repaint(); - - } - catch (Exception ex) - { - System.out.println("Error parsing groups file: " + ex); - } - } - public void fetchSequence_actionPerformed(ActionEvent e) { new SequenceFetcher(this); } - - /** * DOCUMENT ME! * @@ -783,7 +691,7 @@ public class AlignFrame if(str.length()<1) return; - String format = IdentifyFile.Identify(str, "Paste"); + String format = new IdentifyFile().Identify(str, "Paste"); SequenceI[] sequences; if(Desktop.jalviewClipboard!=null) @@ -844,7 +752,17 @@ public class AlignFrame newseq.setDatasetSequence(ds); viewport.alignment.getDataset().addSequence(ds); } - + else + { + newseq.setDatasetSequence(sequences[i].getDatasetSequence()); + if(sequences[i].getDatasetSequence().getAnnotation()!=null) + { + for(int aa=0; aa