X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FTreePanel.java;h=6bb96f1472321efd3beb1b47f72411b99b25e153;hb=0eca27bca577e774acd5aefb165e7c6396a1995e;hp=103c96ba54cce439e0912ce20d2f0b3b86be0e6e;hpb=174230b4233d9ce80f94527768d2cd2f76da11ab;p=jalview.git diff --git a/src/jalview/appletgui/TreePanel.java b/src/jalview/appletgui/TreePanel.java index 103c96b..6bb96f1 100755 --- a/src/jalview/appletgui/TreePanel.java +++ b/src/jalview/appletgui/TreePanel.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -19,16 +19,15 @@ package jalview.appletgui; -import java.util.*; - -import java.awt.event.*; import java.awt.*; +import java.awt.event.*; import jalview.analysis.*; import jalview.datamodel.*; import jalview.io.*; -public class TreePanel extends Frame implements ActionListener, ItemListener +public class TreePanel + extends Frame implements ActionListener, ItemListener { SequenceI[] seq; String type; @@ -96,7 +95,6 @@ public class TreePanel extends Frame implements ActionListener, ItemListener initTreePanel(av, type, pwtype, newtree); } - void initTreePanel(AlignViewport av, String type, String pwtype, @@ -110,7 +108,6 @@ public class TreePanel extends Frame implements ActionListener, ItemListener treeCanvas = new TreeCanvas(av, scrollPane); scrollPane.add(treeCanvas); - TreeLoader tl = new TreeLoader(newTree); tl.start(); @@ -122,7 +119,7 @@ public class TreePanel extends Frame implements ActionListener, ItemListener // create new alignmnt window with hidden regions (unhiding hidden regions yields unaligned seqs) // or create a selection box around columns in alignment view // test Alignment(SeqCigar[]) - if(tree.seqData!=null) + if (tree.seqData != null) { Object[] alAndColsel = tree.seqData.getAlignmentAndColumnSelection(av. getGapCharacter()); @@ -139,13 +136,16 @@ public class TreePanel extends Frame implements ActionListener, ItemListener } } else + { System.out.println("Original Tree Data not available"); + } } - class TreeLoader extends Thread + class TreeLoader + extends Thread { NewickFile newtree; - jalview.datamodel.AlignmentView odata=null; + jalview.datamodel.AlignmentView odata = null; public TreeLoader(NewickFile newtree) { @@ -154,40 +154,44 @@ public class TreePanel extends Frame implements ActionListener, ItemListener public void run() { - if(newtree!=null) + if (newtree != null) { if (odata == null) + { tree = new NJTree(av.alignment.getSequencesArray(), newtree); + } else + { tree = new NJTree(av.alignment.getSequencesArray(), odata, newtree); + } + } + else + { + int start, end; + SequenceI[] seqs; + AlignmentView seqStrings = av.getAlignmentView(av.getSelectionGroup() != null); + if (av.getSelectionGroup() == null) + { + start = 0; + end = av.alignment.getWidth(); + seqs = av.alignment.getSequencesArray(); } else { - int start, end; - SequenceI [] seqs; - AlignmentView seqStrings = av.getAlignmentView(av.getSelectionGroup()!=null); - if(av.getSelectionGroup()==null) - { - start = 0; - end = av.alignment.getWidth(); - seqs = av.alignment.getSequencesArray(); - } - else - { - start = av.getSelectionGroup().getStartRes(); - end = av.getSelectionGroup().getEndRes()+1; - seqs = av.getSelectionGroup().getSequencesInOrder(av.alignment); - } - - tree = new NJTree(seqs, seqStrings, type, pwtype, start, end); + start = av.getSelectionGroup().getStartRes(); + end = av.getSelectionGroup().getEndRes() + 1; + seqs = av.getSelectionGroup().getSequencesInOrder(av.alignment); } + tree = new NJTree(seqs, seqStrings, type, pwtype, start, end); + } + tree.reCount(tree.getTopNode()); tree.findHeight(tree.getTopNode()); treeCanvas.setTree(tree); - if(newtree!=null) + if (newtree != null) { distanceMenu.setState(newtree.HasDistances()); bootstrapMenu.setState(newtree.HasBootstrap()); @@ -195,7 +199,6 @@ public class TreePanel extends Frame implements ActionListener, ItemListener treeCanvas.setShowDistances(newtree.HasDistances()); } - treeCanvas.repaint(); av.setCurrentTree(tree); @@ -205,32 +208,45 @@ public class TreePanel extends Frame implements ActionListener, ItemListener public void actionPerformed(ActionEvent evt) { - if(evt.getSource()==newickOutput) + if (evt.getSource() == newickOutput) + { newickOutput_actionPerformed(); - else if(evt.getSource()==fontSize) + } + else if (evt.getSource() == fontSize) + { fontSize_actionPerformed(); - else if(evt.getSource()==inputData) + } + else if (evt.getSource() == inputData) + { showOriginalData(); + } } public void itemStateChanged(ItemEvent evt) { - if(evt.getSource()==fitToWindow) + if (evt.getSource() == fitToWindow) + { treeCanvas.fitToWindow = fitToWindow.getState(); + } - else if(evt.getSource()==distanceMenu) + else if (evt.getSource() == distanceMenu) + { treeCanvas.setShowDistances(distanceMenu.getState()); + } - else if(evt.getSource()==bootstrapMenu) + else if (evt.getSource() == bootstrapMenu) + { treeCanvas.setShowBootstrap(bootstrapMenu.getState()); + } - else if(evt.getSource()==placeholdersMenu) + else if (evt.getSource() == placeholdersMenu) + { treeCanvas.setMarkPlaceholders(placeholdersMenu.getState()); + } treeCanvas.repaint(); } - public void newickOutput_actionPerformed() { jalview.io.NewickFile fout = new jalview.io.NewickFile(tree.getTopNode()); @@ -255,15 +271,14 @@ public class TreePanel extends Frame implements ActionListener, ItemListener protected void fontSize_actionPerformed() { - if( treeCanvas==null ) - return; + if (treeCanvas == null) + { + return; + } new FontChooser(this); } - - - BorderLayout borderLayout1 = new BorderLayout(); protected ScrollPane scrollPane = new ScrollPane(); MenuBar jMenuBar1 = new MenuBar(); @@ -277,35 +292,37 @@ public class TreePanel extends Frame implements ActionListener, ItemListener MenuItem newickOutput = new MenuItem(); MenuItem inputData = new MenuItem(); - private void jbInit() throws Exception { - setLayout(borderLayout1); - this.setBackground(Color.white); - this.setFont(new java.awt.Font("Verdana", 0, 12)); - jMenu2.setLabel("View"); - fontSize.setLabel("Font..."); - fontSize.addActionListener(this); - bootstrapMenu.setLabel("Show Bootstrap Values"); - bootstrapMenu.addItemListener(this); - distanceMenu.setLabel("Show Distances"); - distanceMenu.addItemListener(this); - placeholdersMenu.setLabel("Mark Unassociated Leaves"); - placeholdersMenu.addItemListener(this); - fitToWindow.setState(true); - fitToWindow.setLabel("Fit To Window"); - fitToWindow.addItemListener(this); - fileMenu.setLabel("File"); - newickOutput.setLabel("Newick Format"); - newickOutput.addActionListener(this); + private void jbInit() + throws Exception + { + setLayout(borderLayout1); + this.setBackground(Color.white); + this.setFont(new java.awt.Font("Verdana", 0, 12)); + jMenu2.setLabel("View"); + fontSize.setLabel("Font..."); + fontSize.addActionListener(this); + bootstrapMenu.setLabel("Show Bootstrap Values"); + bootstrapMenu.addItemListener(this); + distanceMenu.setLabel("Show Distances"); + distanceMenu.addItemListener(this); + placeholdersMenu.setLabel("Mark Unassociated Leaves"); + placeholdersMenu.addItemListener(this); + fitToWindow.setState(true); + fitToWindow.setLabel("Fit To Window"); + fitToWindow.addItemListener(this); + fileMenu.setLabel("File"); + newickOutput.setLabel("Newick Format"); + newickOutput.addActionListener(this); inputData.setLabel("Input Data..."); add(scrollPane, BorderLayout.CENTER); - jMenuBar1.add(fileMenu); - jMenuBar1.add(jMenu2); - jMenu2.add(fitToWindow); - jMenu2.add(fontSize); - jMenu2.add(distanceMenu); - jMenu2.add(bootstrapMenu); - jMenu2.add(placeholdersMenu); + jMenuBar1.add(fileMenu); + jMenuBar1.add(jMenu2); + jMenu2.add(fitToWindow); + jMenu2.add(fontSize); + jMenu2.add(distanceMenu); + jMenu2.add(bootstrapMenu); + jMenu2.add(placeholdersMenu); fileMenu.add(newickOutput); fileMenu.add(inputData); inputData.addActionListener(this);