|
From: <eki...@us...> - 2006-12-11 19:48:30
|
Revision: 113
http://svn.sourceforge.net/jtreemap/?rev=113&view=rev
Author: ekingulen
Date: 2006-12-11 11:48:24 -0800 (Mon, 11 Dec 2006)
Log Message:
-----------
- viewTree param is added.
Modified Paths:
--------------
trunk/JTreeMap/runConfs/JTreeMapAppletExample XML.launch
trunk/JTreeMap/src/main/java/net/sf/jtreemap/swing/JTreeMap.java
trunk/JTreeMap/src/main/java/net/sf/jtreemap/swing/example/JTreeMapAppletExample.java
trunk/JTreeMap/src/main/java/net/sf/jtreemap/swing/example/JTreeMapExample.java
Modified: trunk/JTreeMap/runConfs/JTreeMapAppletExample XML.launch
===================================================================
--- trunk/JTreeMap/runConfs/JTreeMapAppletExample XML.launch 2006-12-11 12:25:25 UTC (rev 112)
+++ trunk/JTreeMap/runConfs/JTreeMapAppletExample XML.launch 2006-12-11 19:48:24 UTC (rev 113)
@@ -10,6 +10,7 @@
<stringAttribute key="org.eclipse.jdt.launching.VM_INSTALL_NAME" value="jre1.5.0_09"/>
<mapAttribute key="org.eclipse.jdt.launching.APPLET_PARAMETERS">
<mapEntry key="dataFile" value="../../dataDump.xml"/>
+<mapEntry key="viewTree" value="true"/>
<mapEntry key="dataFileType" value="xml"/>
</mapAttribute>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre1.5.0_09"/>
Modified: trunk/JTreeMap/src/main/java/net/sf/jtreemap/swing/JTreeMap.java
===================================================================
--- trunk/JTreeMap/src/main/java/net/sf/jtreemap/swing/JTreeMap.java 2006-12-11 12:25:25 UTC (rev 112)
+++ trunk/JTreeMap/src/main/java/net/sf/jtreemap/swing/JTreeMap.java 2006-12-11 19:48:24 UTC (rev 113)
@@ -48,6 +48,7 @@
import javax.swing.JTree;
import javax.swing.ToolTipManager;
import javax.swing.border.Border;
+import javax.swing.tree.TreePath;
/**
* JComponent who represents each element of a tree in a rectangle of more or
@@ -143,7 +144,22 @@
* the root of the tree to display
* @param strategy
* the split strategy
+ * @param treeView The tree representation of the hierarchical data.
*/
+ public JTreeMap(final TreeMapNode root, final SplitStrategy strategy, final JTree treeView) {
+ this(root, strategy);
+ this.treeView = treeView;
+ }
+ /**
+ * Constructor of JTreeMap. <BR>
+ * The chosen color provider is UniqueColorProvider.
+ *
+ * @see UniqueColorProvider
+ * @param root
+ * the root of the tree to display
+ * @param strategy
+ * the split strategy
+ */
public JTreeMap(final TreeMapNode root, final SplitStrategy strategy) {
// ToolTips appears without delay and stay as long as possible
final ToolTipManager ttm = ToolTipManager.sharedInstance();
@@ -569,6 +585,7 @@
}
if (t != null) {
setToolTipText(t.getLabel() + " " + t.getValue().getValue());
+// setToolTipText(t.getLabel() + " " + t.getValue().getValue() + ", Weight = " + t.getWeight());
} else {
setToolTipText(null);
}
@@ -591,24 +608,30 @@
if (treeView == null) {
zoom(t);
} else {
- zoom(t);
+ //zoom(t);
// dont know why below does not work so for now leave it commented out
- // treeView.setSelectionPath(new TreePath(t.getPath()));
+ TreePath path = new TreePath(t.getPath());
+ treeView.setSelectionPath(path);
+ treeView.scrollPathToVisible(path);
}
} else {
if (treeView == null) {
zoom((TreeMapNode) getDisplayedRoot().getParent());
} else {
- zoom((TreeMapNode) getDisplayedRoot().getParent());
+ //zoom((TreeMapNode) getDisplayedRoot().getParent());
// dont know why below does not work so for now leave it commented out
- //treeView.setSelectionPath(new TreePath(((TreeMapNode)getDisplayedRoot().getParent()).getPath()));
+ TreePath path = new TreePath(((TreeMapNode)getDisplayedRoot().getParent()).getPath());
+ treeView.setSelectionPath(path);
+ treeView.scrollPathToVisible(path);
}
}
repaint();
}
}
}
+
+
/**
* Class who zoom and unzoom the JTreeMap.
@@ -708,6 +731,16 @@
}
}
}
+
+
+
+ public JTree getTreeView() {
+ return treeView;
+ }
+
+ public void setTreeView(JTree treeView) {
+ this.treeView = treeView;
+ }
}
/*
* ObjectLab is supporing JTreeMap
Modified: trunk/JTreeMap/src/main/java/net/sf/jtreemap/swing/example/JTreeMapAppletExample.java
===================================================================
--- trunk/JTreeMap/src/main/java/net/sf/jtreemap/swing/example/JTreeMapAppletExample.java 2006-12-11 12:25:25 UTC (rev 112)
+++ trunk/JTreeMap/src/main/java/net/sf/jtreemap/swing/example/JTreeMapAppletExample.java 2006-12-11 19:48:24 UTC (rev 113)
@@ -35,6 +35,7 @@
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
+import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.event.ActionEvent;
@@ -47,12 +48,19 @@
import java.net.URLConnection;
import java.text.ParseException;
+import javax.swing.BorderFactory;
import javax.swing.JApplet;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JSplitPane;
+import javax.swing.JTree;
import javax.swing.border.TitledBorder;
+import javax.swing.event.TreeSelectionEvent;
+import javax.swing.event.TreeSelectionListener;
+import javax.swing.tree.DefaultTreeModel;
import net.sf.jtreemap.swing.ColorProvider;
import net.sf.jtreemap.swing.JTreeMap;
@@ -75,6 +83,8 @@
public class JTreeMapAppletExample extends JApplet {
private static final double CONSTRAINT_WEIGHTX = 0.5;
+
+ private static final int SCROLLPANE_WIDTH = 140;
private static final String XML = "xml";
@@ -97,7 +107,12 @@
private BuilderTM3 builderTM3;
private boolean showTM3CTonf;
-
+
+ private boolean showTree;
+
+ private JTree treeView;
+ private DefaultTreeModel treeModel;
+
/**
* This is the default constructor
*/
@@ -144,7 +159,7 @@
root = DemoUtil.buildDemoRoot();
}
- this.jTreeMap = new JTreeMap(root, new SplitBySortedWeight());
+ this.jTreeMap = new JTreeMap(root, new SplitBySortedWeight(), treeView);
this.jTreeMap.setFont(new Font(null, Font.BOLD, DEFAULT_FONT_SIZE));
final String colourProvider = getParameter("colorProvider");
@@ -177,7 +192,41 @@
// Add a popupMenu to zoom
new ZoomPopupMenu(this.jTreeMap, true);
- getJContentPane().add(this.jTreeMap, BorderLayout.CENTER);
+ if (showTree) {
+ final JSplitPane splitPaneCenter = new JSplitPane();
+ splitPaneCenter.setBorder(BorderFactory.createEmptyBorder());
+ getJContentPane().add(splitPaneCenter, BorderLayout.CENTER);
+
+ final JScrollPane jScrollPane1 = new JScrollPane();
+ splitPaneCenter.setTopComponent(jScrollPane1);
+ splitPaneCenter.setBottomComponent(this.jTreeMap);
+
+ treeModel = new DefaultTreeModel(root);
+ treeView = new JTree(this.treeModel);
+ jTreeMap.setTreeView(treeView);
+ jScrollPane1.getViewport().add(this.treeView);
+ jScrollPane1.setPreferredSize(new Dimension(SCROLLPANE_WIDTH, jTreeMap.getRoot().getHeight()));
+ treeView.addTreeSelectionListener(new TreeSelectionListener() {
+ public void valueChanged(final TreeSelectionEvent e) {
+ // for each selected elements ont the treeView, we zoom the
+ // JTreeMap
+ TreeMapNode dest = (TreeMapNode) JTreeMapAppletExample.this.treeView.getLastSelectedPathComponent();
+
+ // if the element is a leaf, we select the parent
+ if (dest != null && dest.isLeaf()) {
+ dest = (TreeMapNode) dest.getParent();
+ }
+ if (dest == null) {
+ return;
+ }
+
+ JTreeMapAppletExample.this.jTreeMap.zoom(dest);
+ JTreeMapAppletExample.this.jTreeMap.repaint();
+ }
+ });
+ } else {
+ getJContentPane().add(this.jTreeMap, BorderLayout.CENTER);
+ }
}
/**
@@ -290,6 +339,7 @@
// this.setSize(APPLET_WIDTH, APPLET_HEIGHT);
this.setContentPane(getJContentPane());
showTM3CTonf = "true".equalsIgnoreCase(getParameter("showTM3Conf"));
+ showTree = "true".equalsIgnoreCase(getParameter("viewTree"));
if (showTM3CTonf) {
addPanelEast(getJContentPane());
}
Modified: trunk/JTreeMap/src/main/java/net/sf/jtreemap/swing/example/JTreeMapExample.java
===================================================================
--- trunk/JTreeMap/src/main/java/net/sf/jtreemap/swing/example/JTreeMapExample.java 2006-12-11 12:25:25 UTC (rev 112)
+++ trunk/JTreeMap/src/main/java/net/sf/jtreemap/swing/example/JTreeMapExample.java 2006-12-11 19:48:24 UTC (rev 113)
@@ -307,6 +307,7 @@
treeModel = new DefaultTreeModel(this.root);
treeView = new JTree(this.treeModel);
+ jTreeMap.setTreeView(treeView);
jScrollPane1.getViewport().add(this.treeView);
jScrollPane1.setPreferredSize(new Dimension(SCROLLPANE_WIDTH, jTreeMap.getRoot().getHeight()));
treeView.addTreeSelectionListener(new TreeSelectionListener() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|