-/*
- * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
- * Copyright (C) $$Year-Rel$$ The Jalview Authors
- *
- * This file is part of Jalview.
- *
- * Jalview is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 3
- * of the License, or (at your option) any later version.
- *
- * Jalview is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
- * The Jalview Authors are detailed in the 'AUTHORS' file.
- */
-package jalview.appletgui;
-
-import jalview.analysis.NJTree;
-import jalview.api.analysis.ScoreModelI;
-import jalview.api.analysis.ViewBasedAnalysisI;
-import jalview.bin.JalviewLite;
-import jalview.datamodel.Alignment;
-import jalview.datamodel.AlignmentView;
-import jalview.datamodel.ColumnSelection;
-import jalview.datamodel.SequenceI;
-import jalview.io.NewickFile;
-import jalview.schemes.ResidueProperties;
-import jalview.util.MessageManager;
-
-import java.awt.BorderLayout;
-import javax.swing.JCheckBoxMenuItem;
-import java.awt.Color;
-
-import javax.swing.JFrame;
-import javax.swing.JMenu;
-import javax.swing.JMenuBar;
-import javax.swing.JMenuItem;
-import javax.swing.JScrollPane;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-
-public class TreePanel extends EmbmenuFrame implements ActionListener,
- ItemListener
-{
- SequenceI[] seq;
-
- String type;
-
- String pwtype;
-
- int start;
-
- int end;
-
- TreeCanvas treeCanvas;
-
- NJTree tree;
-
- AlignmentPanel ap;
-
- AlignViewport av;
-
- public NJTree getTree()
- {
- return tree;
- }
-
- public void finalize() throws Throwable
- {
- ap = null;
- av = null;
- super.finalize();
- }
-
- /**
- * Creates a new TreePanel object.
- *
- * @param av
- * DOCUMENT ME!
- * @param seqVector
- * DOCUMENT ME!
- * @param type
- * DOCUMENT ME!
- * @param pwtype
- * DOCUMENT ME!
- * @param s
- * DOCUMENT ME!
- * @param e
- * DOCUMENT ME!
- */
- public TreePanel(AlignmentPanel ap, String type, String pwtype)
- {
- try
- {
- jbInit();
- this.setJMenuBar(jMenuBar1);
- } catch (Exception ex)
- {
- ex.printStackTrace();
- }
-
- initTreePanel(ap, type, pwtype, null);
- }
-
- /**
- * Creates a new TreePanel object.
- *
- * @param av
- * DOCUMENT ME!
- * @param seqVector
- * DOCUMENT ME!
- * @param newtree
- * DOCUMENT ME!
- * @param type
- * DOCUMENT ME!
- * @param pwtype
- * DOCUMENT ME!
- */
- public TreePanel(AlignmentPanel ap, String type, String pwtype,
- NewickFile newtree)
- {
- try
- {
- jbInit();
- this.setJMenuBar(jMenuBar1);
- } catch (Exception e)
- {
- e.printStackTrace();
- }
-
- initTreePanel(ap, type, pwtype, newtree);
- }
-
- void initTreePanel(AlignmentPanel ap, String type, String pwtype,
- NewickFile newTree)
- {
-
- this.ap = ap;
- this.av = ap.av;
- this.type = type;
- this.pwtype = pwtype;
-
- treeCanvas = new TreeCanvas(ap, scrollPane);
- TreeLoader tl = new TreeLoader(newTree);
- tl.start();
- embedMenuIfNeeded(treeCanvas);
- scrollPane.add(treeCanvas, BorderLayout.CENTER);
- }
-
- void showOriginalData()
- {
- // decide if av alignment is sufficiently different to original data to
- // warrant a new window to be created
- // 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)
- {
- char gc = '-';
- try
- {
- // we try to get the associated view's gap character
- // but this may fail if the view was closed...
- gc = av.getGapCharacter();
- } catch (Exception ex)
- {
- }
- ;
- Object[] alAndColsel = tree.seqData
- .getAlignmentAndColumnSelection(gc);
-
- if (alAndColsel != null && alAndColsel[0] != null)
- {
- Alignment al = new Alignment((SequenceI[]) alAndColsel[0]);
- AlignFrame af = new AlignFrame(al, av.applet,
- "Original Data for Tree", false);
-
- af.viewport.setHiddenColumns((ColumnSelection) alAndColsel[1]);
- }
- }
- else
- {
- System.out.println("Original Tree Data not available");
- }
- }
-
- class TreeLoader extends Thread
- {
- NewickFile newtree;
-
- AlignmentView odata = null;
-
- public TreeLoader(NewickFile newtree)
- {
- this.newtree = newtree;
- }
-
- public void run()
- {
- if (newtree != null)
- {
- if (odata == null)
- {
- tree = new NJTree(av.getAlignment().getSequencesArray(), newtree);
- }
- else
- {
- tree = new NJTree(av.getAlignment().getSequencesArray(), odata,
- newtree);
- }
-
- }
- else
- {
- int start, end;
- SequenceI[] seqs;
- boolean selview = av.getSelectionGroup() != null
- && av.getSelectionGroup().getSize() > 1;
- AlignmentView seqStrings = av.getAlignmentView(selview);
- if (!selview)
- {
- start = 0;
- end = av.getAlignment().getWidth();
- seqs = av.getAlignment().getSequencesArray();
- }
- else
- {
- start = av.getSelectionGroup().getStartRes();
- end = av.getSelectionGroup().getEndRes() + 1;
- seqs = av.getSelectionGroup().getSequencesInOrder(
- av.getAlignment());
- }
- ScoreModelI sm = ResidueProperties.getScoreModel(pwtype);
- if (sm instanceof ViewBasedAnalysisI)
- {
- try
- {
- sm = sm.getClass().newInstance();
- ((ViewBasedAnalysisI) sm)
- .configureFromAlignmentView(treeCanvas.ap);
- } catch (Exception q)
- {
- System.err.println("Couldn't create a scoremodel instance for "
- + sm.getName());
- q.printStackTrace();
- }
- tree = new NJTree(seqs, seqStrings, type, pwtype, sm, start, end);
- }
- else
- {
- tree = new NJTree(seqs, seqStrings, type, pwtype, null, start,
- end);
- }
- }
-
- tree.reCount(tree.getTopNode());
- tree.findHeight(tree.getTopNode());
- treeCanvas.setTree(tree);
- if (newtree != null)
- {
- // Set default view, paying lip service to any overriding tree view
- // parameter settings
- boolean showDist = newtree.HasDistances()
- && av.applet.getDefaultParameter("showTreeDistances",
- newtree.HasDistances());
- boolean showBoots = newtree.HasBootstrap()
- && av.applet.getDefaultParameter("showTreeBootstraps",
- newtree.HasBootstrap());
- distanceMenu.setSelected(showDist);
- bootstrapMenu.setSelected(showBoots);
- treeCanvas.setShowBootstrap(showBoots);
- treeCanvas.setShowDistances(showDist);
- treeCanvas.setMarkPlaceholders(av.applet.getDefaultParameter(
- "showUnlinkedTreeNodes", false));
- }
-
- treeCanvas.repaint();
-
- av.setCurrentTree(tree);
-
- }
- }
-
- public void actionPerformed(ActionEvent evt)
- {
- if (evt.getSource() == newickOutput)
- {
- newickOutput_actionPerformed();
- }
- else if (evt.getSource() == fontSize)
- {
- fontSize_actionPerformed();
- }
- else if (evt.getSource() == inputData)
- {
- showOriginalData();
- }
- }
-
- public void itemStateChanged(ItemEvent evt)
- {
- if (evt.getSource() == fitToWindow)
- {
- treeCanvas.fitToWindow = fitToWindow.getState();
- }
-
- else if (evt.getSource() == distanceMenu)
- {
- treeCanvas.setShowDistances(distanceMenu.getState());
- }
-
- else if (evt.getSource() == bootstrapMenu)
- {
- treeCanvas.setShowBootstrap(bootstrapMenu.getState());
- }
-
- else if (evt.getSource() == placeholdersMenu)
- {
- treeCanvas.setMarkPlaceholders(placeholdersMenu.getState());
- }
-
- treeCanvas.repaint();
- }
-
- public void newickOutput_actionPerformed()
- {
- NewickFile fout = new NewickFile(tree.getTopNode());
- String output = fout.print(false, true);
- CutAndPasteTransfer cap = new CutAndPasteTransfer(false, null);
- cap.setText(output);
- JFrame frame = new JFrame();
- frame.add(cap);
- JalviewLite.addFrame(frame, type + " " + pwtype, 500, 100);
- }
-
- public java.awt.Font getTreeFont()
- {
- return treeCanvas.font;
- }
-
- public void setTreeFont(java.awt.Font font)
- {
- treeCanvas.font = font;
- treeCanvas.repaint();
- }
-
- protected void fontSize_actionPerformed()
- {
- if (treeCanvas == null)
- {
- return;
- }
-
- new FontChooser(this);
- }
-
- BorderLayout borderLayout1 = new BorderLayout();
-
- protected JScrollPane scrollPane = new JScrollPane();
-
- JMenuBar jMenuBar1 = new JMenuBar();
-
- JMenu jMenu2 = new JMenu();
-
- protected JMenuItem fontSize = new JMenuItem();
-
- protected JCheckBoxMenuItem bootstrapMenu = new JCheckBoxMenuItem();
-
- protected JCheckBoxMenuItem distanceMenu = new JCheckBoxMenuItem();
-
- protected JCheckBoxMenuItem placeholdersMenu = new JCheckBoxMenuItem();
-
- protected JCheckBoxMenuItem fitToWindow = new JCheckBoxMenuItem();
-
- JMenu fileMenu = new JMenu();
-
- JMenuItem newickOutput = new JMenuItem();
-
- JMenuItem inputData = new JMenuItem();
-
- private void jbInit() throws Exception
- {
- setLayout(borderLayout1);
- this.setBackground(Color.white);
- this.setFont(new java.awt.Font("Verdana", 0, 12));
- jMenu2.setLabel(MessageManager.getString("action.view"));
- fontSize.setLabel(MessageManager.getString("action.font"));
- fontSize.addActionListener(this);
- bootstrapMenu.setLabel(MessageManager
- .getString("label.show_bootstrap_values"));
- bootstrapMenu.addItemListener(this);
- distanceMenu.setLabel(MessageManager.getString("label.show_distances"));
- distanceMenu.addItemListener(this);
- placeholdersMenu.setLabel(MessageManager
- .getString("label.mark_unassociated_leaves"));
- placeholdersMenu.addItemListener(this);
- fitToWindow.setState(true);
- fitToWindow.setLabel(MessageManager.getString("label.fit_to_window"));
- fitToWindow.addItemListener(this);
- fileMenu.setLabel(MessageManager.getString("action.file"));
- newickOutput.setLabel(MessageManager.getString("label.newick_format"));
- newickOutput.addActionListener(this);
- inputData.setLabel(MessageManager.getString("label.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);
- fileMenu.add(newickOutput);
- fileMenu.add(inputData);
- inputData.addActionListener(this);
- }
-
-}
+/*\r
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)\r
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors\r
+ * \r
+ * This file is part of Jalview.\r
+ * \r
+ * Jalview is free software: you can redistribute it and/or\r
+ * modify it under the terms of the GNU General Public License \r
+ * as published by the Free Software Foundation, either version 3\r
+ * of the License, or (at your option) any later version.\r
+ * \r
+ * Jalview is distributed in the hope that it will be useful, but \r
+ * WITHOUT ANY WARRANTY; without even the implied warranty \r
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
+ * PURPOSE. See the GNU General Public License for more details.\r
+ * \r
+ * You should have received a copy of the GNU General Public License\r
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.\r
+ * The Jalview Authors are detailed in the 'AUTHORS' file.\r
+ */\r
+package jalview.appletgui;\r
+\r
+import jalview.analysis.NJTree;\r
+import jalview.api.analysis.ScoreModelI;\r
+import jalview.api.analysis.ViewBasedAnalysisI;\r
+import jalview.bin.JalviewLite;\r
+import jalview.datamodel.Alignment;\r
+import jalview.datamodel.AlignmentView;\r
+import jalview.datamodel.ColumnSelection;\r
+import jalview.datamodel.SequenceI;\r
+import jalview.io.NewickFile;\r
+import jalview.schemes.ResidueProperties;\r
+import jalview.util.MessageManager;\r
+\r
+import java.awt.BorderLayout;\r
+import javax.swing.JCheckBoxMenuItem;\r
+import java.awt.Color;\r
+\r
+import javax.swing.JFrame;\r
+import javax.swing.JMenu;\r
+import javax.swing.JMenuBar;\r
+import javax.swing.JMenuItem;\r
+import javax.swing.JScrollPane;\r
+import java.awt.event.ActionEvent;\r
+import java.awt.event.ActionListener;\r
+import java.awt.event.ItemEvent;\r
+import java.awt.event.ItemListener;\r
+\r
+public class TreePanel extends EmbmenuFrame implements ActionListener,\r
+ ItemListener\r
+{\r
+ SequenceI[] seq;\r
+\r
+ String type;\r
+\r
+ String pwtype;\r
+\r
+ int start;\r
+\r
+ int end;\r
+\r
+ TreeCanvas treeCanvas;\r
+\r
+ NJTree tree;\r
+\r
+ AlignmentPanel ap;\r
+\r
+ AlignViewport av;\r
+\r
+ public NJTree getTree()\r
+ {\r
+ return tree;\r
+ }\r
+\r
+ public void finalize() throws Throwable\r
+ {\r
+ ap = null;\r
+ av = null;\r
+ super.finalize();\r
+ }\r
+\r
+ /**\r
+ * Creates a new TreePanel object.\r
+ * \r
+ * @param av\r
+ * DOCUMENT ME!\r
+ * @param seqVector\r
+ * DOCUMENT ME!\r
+ * @param type\r
+ * DOCUMENT ME!\r
+ * @param pwtype\r
+ * DOCUMENT ME!\r
+ * @param s\r
+ * DOCUMENT ME!\r
+ * @param e\r
+ * DOCUMENT ME!\r
+ */\r
+ public TreePanel(AlignmentPanel ap, String type, String pwtype)\r
+ {\r
+ try\r
+ {\r
+ jbInit();\r
+ this.setJMenuBar(jMenuBar1);\r
+ } catch (Exception ex)\r
+ {\r
+ ex.printStackTrace();\r
+ }\r
+\r
+ initTreePanel(ap, type, pwtype, null);\r
+ }\r
+\r
+ /**\r
+ * Creates a new TreePanel object.\r
+ * \r
+ * @param av\r
+ * DOCUMENT ME!\r
+ * @param seqVector\r
+ * DOCUMENT ME!\r
+ * @param newtree\r
+ * DOCUMENT ME!\r
+ * @param type\r
+ * DOCUMENT ME!\r
+ * @param pwtype\r
+ * DOCUMENT ME!\r
+ */\r
+ public TreePanel(AlignmentPanel ap, String type, String pwtype,\r
+ NewickFile newtree)\r
+ {\r
+ try\r
+ {\r
+ jbInit();\r
+ this.setJMenuBar(jMenuBar1);\r
+ } catch (Exception e)\r
+ {\r
+ e.printStackTrace();\r
+ }\r
+\r
+ initTreePanel(ap, type, pwtype, newtree);\r
+ }\r
+\r
+ void initTreePanel(AlignmentPanel ap, String type, String pwtype,\r
+ NewickFile newTree)\r
+ {\r
+\r
+ this.ap = ap;\r
+ this.av = ap.av;\r
+ this.type = type;\r
+ this.pwtype = pwtype;\r
+\r
+ treeCanvas = new TreeCanvas(ap, scrollPane);\r
+ TreeLoader tl = new TreeLoader(newTree);\r
+ tl.start();\r
+ embedMenuIfNeeded(treeCanvas);\r
+ scrollPane.add(treeCanvas, BorderLayout.CENTER);\r
+ }\r
+\r
+ void showOriginalData()\r
+ {\r
+ // decide if av alignment is sufficiently different to original data to\r
+ // warrant a new window to be created\r
+ // create new alignmnt window with hidden regions (unhiding hidden regions\r
+ // yields unaligned seqs)\r
+ // or create a selection box around columns in alignment view\r
+ // test Alignment(SeqCigar[])\r
+ if (tree.seqData != null)\r
+ {\r
+ char gc = '-';\r
+ try\r
+ {\r
+ // we try to get the associated view's gap character\r
+ // but this may fail if the view was closed...\r
+ gc = av.getGapCharacter();\r
+ } catch (Exception ex)\r
+ {\r
+ }\r
+ ;\r
+ Object[] alAndColsel = tree.seqData\r
+ .getAlignmentAndColumnSelection(gc);\r
+\r
+ if (alAndColsel != null && alAndColsel[0] != null)\r
+ {\r
+ Alignment al = new Alignment((SequenceI[]) alAndColsel[0]);\r
+ AlignFrame af = new AlignFrame(al, av.applet,\r
+ "Original Data for Tree", false);\r
+\r
+ af.viewport.setHiddenColumns((ColumnSelection) alAndColsel[1]);\r
+ }\r
+ }\r
+ else\r
+ {\r
+ System.out.println("Original Tree Data not available");\r
+ }\r
+ }\r
+\r
+ class TreeLoader extends Thread\r
+ {\r
+ NewickFile newtree;\r
+\r
+ AlignmentView odata = null;\r
+\r
+ public TreeLoader(NewickFile newtree)\r
+ {\r
+ this.newtree = newtree;\r
+ }\r
+\r
+ public void run()\r
+ {\r
+ if (newtree != null)\r
+ {\r
+ if (odata == null)\r
+ {\r
+ tree = new NJTree(av.getAlignment().getSequencesArray(), newtree);\r
+ }\r
+ else\r
+ {\r
+ tree = new NJTree(av.getAlignment().getSequencesArray(), odata,\r
+ newtree);\r
+ }\r
+\r
+ }\r
+ else\r
+ {\r
+ int start, end;\r
+ SequenceI[] seqs;\r
+ boolean selview = av.getSelectionGroup() != null\r
+ && av.getSelectionGroup().getSize() > 1;\r
+ AlignmentView seqStrings = av.getAlignmentView(selview);\r
+ if (!selview)\r
+ {\r
+ start = 0;\r
+ end = av.getAlignment().getWidth();\r
+ seqs = av.getAlignment().getSequencesArray();\r
+ }\r
+ else\r
+ {\r
+ start = av.getSelectionGroup().getStartRes();\r
+ end = av.getSelectionGroup().getEndRes() + 1;\r
+ seqs = av.getSelectionGroup().getSequencesInOrder(\r
+ av.getAlignment());\r
+ }\r
+ ScoreModelI sm = ResidueProperties.getScoreModel(pwtype);\r
+ if (sm instanceof ViewBasedAnalysisI)\r
+ {\r
+ try\r
+ {\r
+ sm = sm.getClass().newInstance();\r
+ ((ViewBasedAnalysisI) sm)\r
+ .configureFromAlignmentView(treeCanvas.ap);\r
+ } catch (Exception q)\r
+ {\r
+ System.err.println("Couldn't create a scoremodel instance for "\r
+ + sm.getName());\r
+ q.printStackTrace();\r
+ }\r
+ tree = new NJTree(seqs, seqStrings, type, pwtype, sm, start, end);\r
+ }\r
+ else\r
+ {\r
+ tree = new NJTree(seqs, seqStrings, type, pwtype, null, start,\r
+ end);\r
+ }\r
+ }\r
+\r
+ tree.reCount(tree.getTopNode());\r
+ tree.findHeight(tree.getTopNode());\r
+ treeCanvas.setTree(tree);\r
+ if (newtree != null)\r
+ {\r
+ // Set default view, paying lip service to any overriding tree view\r
+ // parameter settings\r
+ boolean showDist = newtree.HasDistances()\r
+ && av.applet.getDefaultParameter("showTreeDistances",\r
+ newtree.HasDistances());\r
+ boolean showBoots = newtree.HasBootstrap()\r
+ && av.applet.getDefaultParameter("showTreeBootstraps",\r
+ newtree.HasBootstrap());\r
+ distanceMenu.setSelected(showDist);\r
+ bootstrapMenu.setSelected(showBoots);\r
+ treeCanvas.setShowBootstrap(showBoots);\r
+ treeCanvas.setShowDistances(showDist);\r
+ treeCanvas.setMarkPlaceholders(av.applet.getDefaultParameter(\r
+ "showUnlinkedTreeNodes", false));\r
+ }\r
+\r
+ treeCanvas.repaint();\r
+\r
+ av.setCurrentTree(tree);\r
+\r
+ }\r
+ }\r
+\r
+ public void actionPerformed(ActionEvent evt)\r
+ {\r
+ if (evt.getSource() == newickOutput)\r
+ {\r
+ newickOutput_actionPerformed();\r
+ }\r
+ else if (evt.getSource() == fontSize)\r
+ {\r
+ fontSize_actionPerformed();\r
+ }\r
+ else if (evt.getSource() == inputData)\r
+ {\r
+ showOriginalData();\r
+ }\r
+ }\r
+\r
+ public void itemStateChanged(ItemEvent evt)\r
+ {\r
+ if (evt.getSource() == fitToWindow)\r
+ {\r
+ treeCanvas.fitToWindow = fitToWindow.getState();\r
+ }\r
+\r
+ else if (evt.getSource() == distanceMenu)\r
+ {\r
+ treeCanvas.setShowDistances(distanceMenu.getState());\r
+ }\r
+\r
+ else if (evt.getSource() == bootstrapMenu)\r
+ {\r
+ treeCanvas.setShowBootstrap(bootstrapMenu.getState());\r
+ }\r
+\r
+ else if (evt.getSource() == placeholdersMenu)\r
+ {\r
+ treeCanvas.setMarkPlaceholders(placeholdersMenu.getState());\r
+ }\r
+\r
+ treeCanvas.repaint();\r
+ }\r
+\r
+ public void newickOutput_actionPerformed()\r
+ {\r
+ NewickFile fout = new NewickFile(tree.getTopNode());\r
+ String output = fout.print(false, true);\r
+ CutAndPasteTransfer cap = new CutAndPasteTransfer(false, null);\r
+ cap.setText(output);\r
+ JFrame frame = new JFrame();\r
+ frame.add(cap);\r
+ JalviewLite.addFrame(frame, type + " " + pwtype, 500, 100);\r
+ }\r
+\r
+ public java.awt.Font getTreeFont()\r
+ {\r
+ return treeCanvas.font;\r
+ }\r
+\r
+ public void setTreeFont(java.awt.Font font)\r
+ {\r
+ treeCanvas.font = font;\r
+ treeCanvas.repaint();\r
+ }\r
+\r
+ protected void fontSize_actionPerformed()\r
+ {\r
+ if (treeCanvas == null)\r
+ {\r
+ return;\r
+ }\r
+\r
+ new FontChooser(this);\r
+ }\r
+\r
+ BorderLayout borderLayout1 = new BorderLayout();\r
+\r
+ protected JScrollPane scrollPane = new JScrollPane();\r
+\r
+ JMenuBar jMenuBar1 = new JMenuBar();\r
+\r
+ JMenu jMenu2 = new JMenu();\r
+\r
+ protected JMenuItem fontSize = new JMenuItem();\r
+\r
+ protected JCheckBoxMenuItem bootstrapMenu = new JCheckBoxMenuItem();\r
+\r
+ protected JCheckBoxMenuItem distanceMenu = new JCheckBoxMenuItem();\r
+\r
+ protected JCheckBoxMenuItem placeholdersMenu = new JCheckBoxMenuItem();\r
+\r
+ protected JCheckBoxMenuItem fitToWindow = new JCheckBoxMenuItem();\r
+\r
+ JMenu fileMenu = new JMenu();\r
+\r
+ JMenuItem newickOutput = new JMenuItem();\r
+\r
+ JMenuItem inputData = new JMenuItem();\r
+\r
+ private void jbInit() throws Exception\r
+ {\r
+ setLayout(borderLayout1);\r
+ this.setBackground(Color.white);\r
+ this.setFont(new java.awt.Font("Verdana", 0, 12));\r
+ jMenu2.setLabel(MessageManager.getString("action.view"));\r
+ fontSize.setLabel(MessageManager.getString("action.font"));\r
+ fontSize.addActionListener(this);\r
+ bootstrapMenu.setLabel(MessageManager\r
+ .getString("label.show_bootstrap_values"));\r
+ bootstrapMenu.addItemListener(this);\r
+ distanceMenu.setLabel(MessageManager.getString("label.show_distances"));\r
+ distanceMenu.addItemListener(this);\r
+ placeholdersMenu.setLabel(MessageManager\r
+ .getString("label.mark_unassociated_leaves"));\r
+ placeholdersMenu.addItemListener(this);\r
+ fitToWindow.setState(true);\r
+ fitToWindow.setLabel(MessageManager.getString("label.fit_to_window"));\r
+ fitToWindow.addItemListener(this);\r
+ fileMenu.setLabel(MessageManager.getString("action.file"));\r
+ newickOutput.setLabel(MessageManager.getString("label.newick_format"));\r
+ newickOutput.addActionListener(this);\r
+ inputData.setLabel(MessageManager.getString("label.input_data"));\r
+\r
+ add(scrollPane, BorderLayout.CENTER);\r
+ jMenuBar1.add(fileMenu);\r
+ jMenuBar1.add(jMenu2);\r
+ jMenu2.add(fitToWindow);\r
+ jMenu2.add(fontSize);\r
+ jMenu2.add(distanceMenu);\r
+ jMenu2.add(bootstrapMenu);\r
+ jMenu2.add(placeholdersMenu);\r
+ fileMenu.add(newickOutput);\r
+ fileMenu.add(inputData);\r
+ inputData.addActionListener(this);\r
+ }\r
+\r
+}\r