+ public boolean sortBy(AlignmentOrder alorder, String undoname)
+ {
+ SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+ if (viewport.applet.debug)
+ {
+ System.err.println("Sorting " + alorder.getOrder().size()
+ + " in alignment '" + getTitle() + "'");
+ }
+ AlignmentSorter.sortBy(viewport.getAlignment(), alorder);
+ if (undoname != null)
+ {
+ addHistoryItem(new OrderCommand(undoname, oldOrder,
+ viewport.getAlignment()));
+ }
+ alignPanel.paintAlignment(true);
+ return true;
+ }
+
+ protected void documentation_actionPerformed()
+ {
+ alignPanel.av.applet.openJalviewHelpUrl();
+ }
+
+ protected void about_actionPerformed()
+ {
+
+ class AboutPanel extends Canvas
+ {
+ String version;
+
+ String builddate;
+
+ public AboutPanel(String version, String builddate)
+ {
+ this.version = version;
+ this.builddate = builddate;
+ }
+
+ @Override
+ public void paint(Graphics g)
+ {
+ g.setColor(Color.white);
+ g.fillRect(0, 0, getSize().width, getSize().height);
+ g.setFont(new Font("Helvetica", Font.PLAIN, 12));
+ FontMetrics fm = g.getFontMetrics();
+ int fh = fm.getHeight();
+ int y = 5, x = 7;
+ g.setColor(Color.black);
+ // TODO: update this text for each release or centrally store it for
+ // lite and application
+ g.setFont(new Font("Helvetica", Font.BOLD, 14));
+ g.drawString("JalviewLite - Release " + version, x, y += fh);
+ g.setFont(new Font("Helvetica", Font.BOLD, 12));
+ g.drawString("Build date: " + builddate, x, y += fh);
+ g.setFont(new Font("Helvetica", Font.PLAIN, 12));
+ g.drawString(
+ "Authors: Jim Procter, Andrew Waterhouse, Jan Engelhardt, Lauren Lui,",
+ x, y += fh * 1.5);
+ g.drawString("Michele Clamp, James Cuff, Steve Searle, David Martin & Geoff Barton.", x + 50, y += fh+8);
+ g.drawString(
+ "Development managed by The Barton Group, University of Dundee, Scotland, UK.",
+ x, y += fh);
+ g.drawString(
+ "For help, see the FAQ at www.jalview.org and/or join the jalview-discuss@jalview.org mailing list",
+ x, y += fh);
+ g.drawString("If you use Jalview, please cite:", x, y += fh + 8);
+ g.drawString(
+ "Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)",
+ x, y += fh);
+ g.drawString(
+ "Jalview Version 2 - a multiple sequence alignment editor and analysis workbench",
+ x, y += fh);
+ g.drawString("Bioinformatics doi: 10.1093/bioinformatics/btp033",
+ x, y += fh);
+ }
+ }
+
+ Frame frame = new Frame();
+ frame.add(new AboutPanel(JalviewLite.getVersion(), JalviewLite
+ .getBuildDate()));
+ jalview.bin.JalviewLite.addFrame(frame, "Jalview", 580, 220);
+
+ }
+
+ public void showURL(String url, String target)
+ {
+ if (viewport.applet == null)
+ {
+ System.out.println("Not running as applet - no browser available.");
+ }
+ else
+ {
+ viewport.applet.showURL(url, target);
+ }
+ }
+
+ // ////////////////////////////////////////////////////////////////////////////////
+ // JBuilder Graphics here
+
+ MenuBar alignFrameMenuBar = new MenuBar();
+
+ Menu fileMenu = new Menu("File");
+
+ MenuItem loadApplication = new MenuItem("View in Full Application");
+
+ MenuItem loadTree = new MenuItem("Load Associated Tree ...");
+
+ MenuItem loadAnnotations = new MenuItem("Load Features/Annotations ...");
+
+ MenuItem outputFeatures = new MenuItem("Export Features ...");
+
+ MenuItem outputAnnotations = new MenuItem("Export Annotations ...");
+
+ MenuItem closeMenuItem = new MenuItem("Close");
+
+ Menu editMenu = new Menu("Edit");
+
+ Menu viewMenu = new Menu("View");
+
+ Menu colourMenu = new Menu("Colour");
+
+ Menu calculateMenu = new Menu("Calculate");
+
+ MenuItem selectAllSequenceMenuItem = new MenuItem("Select all");
+
+ MenuItem deselectAllSequenceMenuItem = new MenuItem("Deselect All");
+
+ MenuItem invertSequenceMenuItem = new MenuItem("Invert Selection");
+
+ MenuItem remove2LeftMenuItem = new MenuItem();
+
+ MenuItem remove2RightMenuItem = new MenuItem();
+
+ MenuItem removeGappedColumnMenuItem = new MenuItem();
+
+ MenuItem removeAllGapsMenuItem = new MenuItem();
+
+ CheckboxMenuItem viewBoxesMenuItem = new CheckboxMenuItem();
+
+ CheckboxMenuItem viewTextMenuItem = new CheckboxMenuItem();
+
+ MenuItem sortPairwiseMenuItem = new MenuItem();
+
+ MenuItem sortIDMenuItem = new MenuItem();
+
+ MenuItem sortLengthMenuItem = new MenuItem();
+
+ MenuItem sortGroupMenuItem = new MenuItem();
+
+ MenuItem removeRedundancyMenuItem = new MenuItem();
+
+ MenuItem pairwiseAlignmentMenuItem = new MenuItem();
+
+ MenuItem PCAMenuItem = new MenuItem();
+
+ MenuItem averageDistanceTreeMenuItem = new MenuItem();
+
+ MenuItem neighbourTreeMenuItem = new MenuItem();
+
+ BorderLayout borderLayout1 = new BorderLayout();
+
+ public Label statusBar = new Label();
+
+ Menu outputTextboxMenu = new Menu();
+
+ MenuItem clustalColour = new MenuItem();
+
+ MenuItem zappoColour = new MenuItem();
+
+ MenuItem taylorColour = new MenuItem();
+
+ MenuItem hydrophobicityColour = new MenuItem();
+
+ MenuItem helixColour = new MenuItem();
+
+ MenuItem strandColour = new MenuItem();
+
+ MenuItem turnColour = new MenuItem();
+
+ MenuItem buriedColour = new MenuItem();