Fixed graph layouts in Derivation Browser.
git-svn-id: https://joshua.svn.sf.net/svnroot/joshua/trunk@915 0ae5e6b2-d358-4f09-a895-f82f13dd62a4
diff --git a/src/joshua/ui/tree_visualizer/DerivationBrowser.java b/src/joshua/ui/tree_visualizer/DerivationBrowser.java
index 91e77ec..67cf024 100644
--- a/src/joshua/ui/tree_visualizer/DerivationBrowser.java
+++ b/src/joshua/ui/tree_visualizer/DerivationBrowser.java
@@ -11,6 +11,8 @@
import java.awt.*;
import java.awt.event.*;
+import edu.uci.ics.jung.algorithms.layout.StaticLayout;
+
public class DerivationBrowser {
private static JFrame chooserFrame;
@@ -163,6 +165,8 @@
private JLabel source;
private JLabel derivation;
+ private DerivationViewer dv;
+
public ActiveFrame()
{
super("Joshua Derivation Tree");
@@ -177,6 +181,7 @@
layoutControl();
viewPanel = new JPanel(new BorderLayout());
+ dv = null;
getContentPane().add(viewPanel, BorderLayout.CENTER);
getContentPane().add(controlPanel, BorderLayout.SOUTH);
@@ -258,7 +263,12 @@
derivation.setText(tgtDer.toString());
String tgt = tgtDer.complete();
DerivationTree tree = new DerivationTree(tgt.split(DerivationTree.DELIMITER)[1], src);
- DerivationViewer dv = new DerivationViewer(tree);
+ if (dv == null)
+ dv = new DerivationViewer(tree);
+ else {
+ dv.setGraphLayout(new StaticLayout(tree, new DerivationTreeTransformer(tree)));
+ tree.addCorrespondences();
+ }
viewPanel.add(dv, BorderLayout.CENTER);
dv.revalidate();
repaint();