X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fappletgui%2FAlignFrame.java;h=4fc6208a753a374ae5d785396aefc6bd8fc843dd;hb=6e21be7d86ab4ac3936e1e7691b31ebcf9080cdf;hp=bda314d9c4b34785b7b11b52c0510e0b4ea98966;hpb=ee53965807b83bf93a21cbc341cee9a9e005b2cb;p=jalview.git diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index bda314d..4fc6208 100755 --- a/src/jalview/appletgui/AlignFrame.java +++ b/src/jalview/appletgui/AlignFrame.java @@ -29,18 +29,19 @@ import java.awt.event.*; import java.util.*; import java.io.InputStreamReader; import java.io.BufferedReader; +import java.net.URL; public class AlignFrame extends GAlignFrame { final AlignmentPanel alignPanel; final AlignViewport viewport; - public static int NEW_WINDOW_WIDTH = 700; - public static int NEW_WINDOW_HEIGHT = 500; + int NEW_WINDOW_WIDTH = 700; + int NEW_WINDOW_HEIGHT = 500; jalview.bin.JalviewLite applet; - public AlignFrame(AlignmentI al, jalview.bin.JalviewLite applet) + public AlignFrame(AlignmentI al, jalview.bin.JalviewLite applet, String title) { this.applet = applet; viewport = new AlignViewport(al, applet); @@ -55,7 +56,6 @@ public class AlignFrame { try { - treeFile = treeFile; jalview.io.NewickFile fin = new jalview.io.NewickFile(applet. getCodeBase() + treeFile, "URL"); fin.parse(); @@ -93,6 +93,25 @@ public class AlignFrame wrapMenuItem_actionPerformed(null); } } + + try + { + param = applet.getParameter("windowWidth"); + if (param != null) + { + int width = Integer.parseInt(param); + NEW_WINDOW_WIDTH = width; + } + param = applet.getParameter("windowHeight"); + if (param != null) + { + int height = Integer.parseInt(param); + NEW_WINDOW_HEIGHT = height; + } + } + catch (Exception ex) + {} + } this.addWindowListener(new WindowAdapter() @@ -113,8 +132,98 @@ public class AlignFrame } } }); + + jalview.bin.JalviewLite.addFrame(this, title, + NEW_WINDOW_WIDTH, + NEW_WINDOW_HEIGHT); + + } + + /** + * DOCUMENT ME! + * + * @param String DOCUMENT ME! + */ + + public void parseFeaturesFile(String file) + { + try + { + URL url = new URL(file); + + BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); + 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); + } + } + + viewport.showSequenceFeatures = true; + ((Alignment)viewport.alignment).featuresAdded = true; + + alignPanel.repaint(); + + } + catch (Exception ex) + { + System.out.println("Error parsing groups file: " + ex); + } + } + + public void inputText_actionPerformed(ActionEvent e) { CutAndPasteTransfer cap = new CutAndPasteTransfer(true, applet); @@ -131,7 +240,7 @@ public class AlignFrame jalview.bin.JalviewLite.addFrame(frame, "Alignment output - " + e.getActionCommand(), 600, 500); - cap.setText(new FormatAdapter().formatSequences(e.getActionCommand(), + cap.setText(new AppletFormatAdapter().formatSequences(e.getActionCommand(), viewport.getAlignment(). getSequences())); } @@ -412,7 +521,6 @@ public class AlignFrame newSeqs[i] = (SequenceI) seqs.elementAt(i); } - AlignFrame af = new AlignFrame(new Alignment(newSeqs), applet); String newtitle = new String("Copied sequences"); if (getTitle().startsWith("Copied sequences")) { @@ -422,6 +530,8 @@ public class AlignFrame { newtitle = newtitle.concat("- from " + getTitle()); } + AlignFrame af = new AlignFrame(new Alignment(newSeqs), applet, newtitle); + jalview.bin.JalviewLite.addFrame(af, newtitle, NEW_WINDOW_WIDTH, NEW_WINDOW_HEIGHT); } @@ -745,7 +855,7 @@ public class AlignFrame public void findMenuItem_actionPerformed(ActionEvent e) { - Finder finder = new Finder(alignPanel); + new Finder(alignPanel); } public void font_actionPerformed(ActionEvent e) @@ -755,7 +865,7 @@ public class AlignFrame protected void fullSeqId_actionPerformed(ActionEvent e) { - viewport.setShowFullId(fullSeqId.getState()); + viewport.setShowJVSuffix(fullSeqId.getState()); alignPanel.fontChanged(); alignPanel.repaint(); } @@ -1065,7 +1175,7 @@ public class AlignFrame public void userDefinedColour_actionPerformed(ActionEvent e) { - UserDefinedColours chooser = new UserDefinedColours(alignPanel, null); + new UserDefinedColours(alignPanel, null); } public void PIDColour_actionPerformed(ActionEvent e) @@ -1250,7 +1360,7 @@ public class AlignFrame protected void documentation_actionPerformed(ActionEvent e) { - jalview.bin.JalviewLite.showURL("http://www.jalview.org/help.html"); + showURL("http://www.jalview.org/help.html"); } protected void about_actionPerformed(ActionEvent e) @@ -1317,4 +1427,36 @@ public class AlignFrame jalview.bin.JalviewLite.addFrame(frame, "Jalview", 580, 200); } + + /** + * Displays the given URL in a new browser window + * + * @param url URL to display in browser window. + *
New window will be named "HELP_WINDOW" + */ + public void showURL(String url) + { + showURL(url, "HELP"); + } + + public void showURL(String url, String target) + { + if (applet == null) + { + System.out.println("Not running as applet - no browser available."); + } + else + { + try + { + applet.getAppletContext().showDocument(new java.net.URL(url), + target); + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } + } + }