From 0618cc9b8e6a53d0997960cf8e66cdb08e26ac0a Mon Sep 17 00:00:00 2001 From: mdb Date: Fri, 30 Nov 2001 22:57:31 +0000 Subject: [PATCH] Rearranged packages in preparation for the addition of a new type of visualization. git-svn-id: https://samskivert.googlecode.com/svn/trunk@486 6335cc39-0255-0410-8fd6-9bcaacd3b74c --- .../java/com/samskivert/viztool/Driver.java | 8 +++-- .../com/samskivert/viztool/Visualizer.java | 32 +++++++++++++++---- .../java/com/samskivert/viztool/VizFrame.java | 5 ++- .../java/com/samskivert/viztool/VizPanel.java | 12 +++---- .../hierarchy/CascadingChainVisualizer.java | 6 ++-- .../samskivert/viztool/hierarchy/Chain.java | 6 ++-- .../viztool/hierarchy/ChainGroup.java | 8 +++-- .../viztool/hierarchy/ChainUtil.java | 4 +-- .../viztool/hierarchy/ChainVisualizer.java | 4 +-- .../hierarchy/HierarchyVisualizer.java | 7 ++-- .../samskivert/viztool/layout/Element.java | 4 +-- .../viztool/layout/ElementLayout.java | 4 +-- .../layout/PackedColumnElementLayout.java | 4 +-- .../samskivert/viztool/util/FontPicker.java | 4 +-- 14 files changed, 68 insertions(+), 40 deletions(-) diff --git a/projects/viztool/src/java/com/samskivert/viztool/Driver.java b/projects/viztool/src/java/com/samskivert/viztool/Driver.java index ccd07bb0..2174342d 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/Driver.java +++ b/projects/viztool/src/java/com/samskivert/viztool/Driver.java @@ -1,5 +1,5 @@ // -// $Id: Driver.java,v 1.11 2001/08/14 00:41:53 mdb Exp $ +// $Id: Driver.java,v 1.12 2001/11/30 22:57:31 mdb Exp $ // // viztool - a tool for visualizing collections of java classes // Copyright (C) 2001 Michael Bayne @@ -25,7 +25,9 @@ import java.awt.print.*; import com.samskivert.swing.util.SwingUtil; import com.samskivert.viztool.enum.*; -import com.samskivert.viztool.viz.*; + +import com.samskivert.viztool.hierarchy.HierarchyVisualizer; +import com.samskivert.viztool.util.FontPicker; /** * The application driver. This class parses the command line arguments @@ -67,7 +69,7 @@ public class Driver // and finally generate the visualization PackageEnumerator penum = new PackageEnumerator(pkgroot, enum, true); - HierarchyVisualizer viz = new HierarchyVisualizer(pkgroot, penum); + Visualizer viz = new HierarchyVisualizer(pkgroot, penum); if (print) { // we use the print system to render things diff --git a/projects/viztool/src/java/com/samskivert/viztool/Visualizer.java b/projects/viztool/src/java/com/samskivert/viztool/Visualizer.java index 89bcd8e2..77773a2f 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/Visualizer.java +++ b/projects/viztool/src/java/com/samskivert/viztool/Visualizer.java @@ -1,5 +1,5 @@ // -// $Id: Visualizer.java,v 1.3 2001/08/12 04:36:58 mdb Exp $ +// $Id: Visualizer.java,v 1.4 2001/11/30 22:57:31 mdb Exp $ // // viztool - a tool for visualizing collections of java classes // Copyright (C) 2001 Michael Bayne @@ -18,13 +18,33 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.viz; +package com.samskivert.viztool; + +import java.awt.Graphics2D; +import java.awt.print.Printable; /** - * Not yet in use. This will probably eventually become the interface via - * which the driver accesses whichever visualizer is desired for a - * particular invocation. + * The interface via which the driver accesses whichever visualizer is + * desired for a particular invocation. */ -public interface Visualizer +public interface Visualizer extends Printable { + /** + * Requests that the visualization lay itself out in pages with the + * specified dimensions. Subsequent calls to {@link #print} or {@link + * #paint} will assume that things are laid out according to the most + * recent call to this method. + */ + public void layout (Graphics2D gfx, double x, double y, + double width, double height); + + /** + * Renders the specified page of this visualization. + */ + public void paint (Graphics2D gfx, int pageIndex); + + /** + * Returns the number of pages occupied by the visualization. + */ + public int getPageCount (); } diff --git a/projects/viztool/src/java/com/samskivert/viztool/VizFrame.java b/projects/viztool/src/java/com/samskivert/viztool/VizFrame.java index aa866ad3..135ed3ca 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/VizFrame.java +++ b/projects/viztool/src/java/com/samskivert/viztool/VizFrame.java @@ -1,5 +1,5 @@ // -// $Id: VizFrame.java,v 1.5 2001/08/14 00:45:56 mdb Exp $ +// $Id: VizFrame.java,v 1.6 2001/11/30 22:57:31 mdb Exp $ // // viztool - a tool for visualizing collections of java classes // Copyright (C) 2001 Michael Bayne @@ -24,14 +24,13 @@ import java.awt.BorderLayout; import javax.swing.*; import com.samskivert.swing.*; -import com.samskivert.viztool.viz.HierarchyVisualizer; /** * The top-level frame in which visualizations are displayed. */ public class VizFrame extends JFrame { - public VizFrame (HierarchyVisualizer viz) + public VizFrame (Visualizer viz) { super("viztool"); diff --git a/projects/viztool/src/java/com/samskivert/viztool/VizPanel.java b/projects/viztool/src/java/com/samskivert/viztool/VizPanel.java index 0b2e10b1..3d0b0cfe 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/VizPanel.java +++ b/projects/viztool/src/java/com/samskivert/viztool/VizPanel.java @@ -1,5 +1,5 @@ // -// $Id: VizPanel.java,v 1.6 2001/08/14 00:45:56 mdb Exp $ +// $Id: VizPanel.java,v 1.7 2001/11/30 22:57:31 mdb Exp $ // // viztool - a tool for visualizing collections of java classes // Copyright (C) 2001 Michael Bayne @@ -24,8 +24,6 @@ import java.awt.*; import java.awt.geom.Rectangle2D; import javax.swing.*; -import com.samskivert.viztool.viz.HierarchyVisualizer; - /** * A very simple UI element for displaying visualizations on screen. */ @@ -34,9 +32,9 @@ public class VizPanel extends JPanel /** * Constructs a panel for displaying a particular visualization. */ - public VizPanel (HierarchyVisualizer viz) + public VizPanel (Visualizer viz) { - // we'll need these later + // we'll need this later _viz = viz; // set the font @@ -98,12 +96,12 @@ public class VizPanel extends JPanel /** * Returns the visualizer we're currently displaying. */ - public HierarchyVisualizer getVisualizer () + public Visualizer getVisualizer () { return _viz; } - protected HierarchyVisualizer _viz; + protected Visualizer _viz; protected int _currentPage = 0; // our preferred size is one page at 72 pixels per inch diff --git a/projects/viztool/src/java/com/samskivert/viztool/hierarchy/CascadingChainVisualizer.java b/projects/viztool/src/java/com/samskivert/viztool/hierarchy/CascadingChainVisualizer.java index 37da128f..f43badd2 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/hierarchy/CascadingChainVisualizer.java +++ b/projects/viztool/src/java/com/samskivert/viztool/hierarchy/CascadingChainVisualizer.java @@ -1,5 +1,5 @@ // -// $Id: CascadingChainVisualizer.java,v 1.9 2001/08/12 04:36:58 mdb Exp $ +// $Id: CascadingChainVisualizer.java,v 1.10 2001/11/30 22:57:31 mdb Exp $ // // viztool - a tool for visualizing collections of java classes // Copyright (C) 2001 Michael Bayne @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.viz; +package com.samskivert.viztool.hierarchy; import java.awt.Font; import java.awt.Graphics2D; @@ -27,6 +27,8 @@ import java.awt.font.FontRenderContext; import java.awt.geom.*; import java.util.ArrayList; +import com.samskivert.viztool.util.FontPicker; + /** * The cascading chain visualizer lays out chains in the standard * cascading format that looks something like this: diff --git a/projects/viztool/src/java/com/samskivert/viztool/hierarchy/Chain.java b/projects/viztool/src/java/com/samskivert/viztool/hierarchy/Chain.java index 7ce91ff2..48e30ff9 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/hierarchy/Chain.java +++ b/projects/viztool/src/java/com/samskivert/viztool/hierarchy/Chain.java @@ -1,5 +1,5 @@ // -// $Id: Chain.java,v 1.9 2001/08/12 04:36:58 mdb Exp $ +// $Id: Chain.java,v 1.10 2001/11/30 22:57:31 mdb Exp $ // // viztool - a tool for visualizing collections of java classes // Copyright (C) 2001 Michael Bayne @@ -18,12 +18,14 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.viz; +package com.samskivert.viztool.hierarchy; import java.util.*; import java.awt.Graphics2D; import java.awt.geom.Rectangle2D; +import com.samskivert.viztool.layout.Element; + /** * A chain is used by the hierarchy visualizer to represent inheritance * chains. diff --git a/projects/viztool/src/java/com/samskivert/viztool/hierarchy/ChainGroup.java b/projects/viztool/src/java/com/samskivert/viztool/hierarchy/ChainGroup.java index 34594475..e1f62174 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/hierarchy/ChainGroup.java +++ b/projects/viztool/src/java/com/samskivert/viztool/hierarchy/ChainGroup.java @@ -1,5 +1,5 @@ // -// $Id: ChainGroup.java,v 1.11 2001/08/12 04:36:58 mdb Exp $ +// $Id: ChainGroup.java,v 1.12 2001/11/30 22:57:31 mdb Exp $ // // viztool - a tool for visualizing collections of java classes // Copyright (C) 2001 Michael Bayne @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.viz; +package com.samskivert.viztool.hierarchy; import java.awt.*; import java.awt.geom.GeneralPath; @@ -26,6 +26,10 @@ import java.awt.geom.Rectangle2D; import java.awt.font.TextLayout; import java.util.*; +import com.samskivert.viztool.layout.ElementLayout; +import com.samskivert.viztool.layout.PackedColumnElementLayout; +import com.samskivert.viztool.util.FontPicker; + /** * A chain group is used to group together all of the classes from a * particular package. diff --git a/projects/viztool/src/java/com/samskivert/viztool/hierarchy/ChainUtil.java b/projects/viztool/src/java/com/samskivert/viztool/hierarchy/ChainUtil.java index 88632589..d29db29f 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/hierarchy/ChainUtil.java +++ b/projects/viztool/src/java/com/samskivert/viztool/hierarchy/ChainUtil.java @@ -1,5 +1,5 @@ // -// $Id: ChainUtil.java,v 1.6 2001/08/12 04:36:58 mdb Exp $ +// $Id: ChainUtil.java,v 1.7 2001/11/30 22:57:31 mdb Exp $ // // viztool - a tool for visualizing collections of java classes // Copyright (C) 2001 Michael Bayne @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.viz; +package com.samskivert.viztool.hierarchy; import java.io.PrintStream; import java.util.ArrayList; diff --git a/projects/viztool/src/java/com/samskivert/viztool/hierarchy/ChainVisualizer.java b/projects/viztool/src/java/com/samskivert/viztool/hierarchy/ChainVisualizer.java index 118aaf51..9c68d2a3 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/hierarchy/ChainVisualizer.java +++ b/projects/viztool/src/java/com/samskivert/viztool/hierarchy/ChainVisualizer.java @@ -1,5 +1,5 @@ // -// $Id: ChainVisualizer.java,v 1.3 2001/08/12 04:36:58 mdb Exp $ +// $Id: ChainVisualizer.java,v 1.4 2001/11/30 22:57:31 mdb Exp $ // // viztool - a tool for visualizing collections of java classes // Copyright (C) 2001 Michael Bayne @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.viz; +package com.samskivert.viztool.hierarchy; import java.awt.Graphics2D; diff --git a/projects/viztool/src/java/com/samskivert/viztool/hierarchy/HierarchyVisualizer.java b/projects/viztool/src/java/com/samskivert/viztool/hierarchy/HierarchyVisualizer.java index 67db7326..276bec2f 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/hierarchy/HierarchyVisualizer.java +++ b/projects/viztool/src/java/com/samskivert/viztool/hierarchy/HierarchyVisualizer.java @@ -1,5 +1,5 @@ // -// $Id: HierarchyVisualizer.java,v 1.14 2001/11/30 22:41:04 mdb Exp $ +// $Id: HierarchyVisualizer.java,v 1.15 2001/11/30 22:57:31 mdb Exp $ // // viztool - a tool for visualizing collections of java classes // Copyright (C) 2001 Michael Bayne @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.viz; +package com.samskivert.viztool.hierarchy; import java.awt.*; import java.awt.geom.Rectangle2D; @@ -26,6 +26,7 @@ import java.awt.print.*; import java.util.*; import com.samskivert.viztool.Log; +import com.samskivert.viztool.Visualizer; import com.samskivert.viztool.enum.PackageEnumerator; import com.samskivert.util.Comparators; @@ -34,7 +35,7 @@ import com.samskivert.util.Comparators; * representation so that an entire package can be displayed on a single * page (or small number of pages). */ -public class HierarchyVisualizer implements Printable +public class HierarchyVisualizer implements Visualizer { /** * Constructs a hierarchy visualizer with the supplied enumerator as diff --git a/projects/viztool/src/java/com/samskivert/viztool/layout/Element.java b/projects/viztool/src/java/com/samskivert/viztool/layout/Element.java index a7220eff..a68f86f0 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/layout/Element.java +++ b/projects/viztool/src/java/com/samskivert/viztool/layout/Element.java @@ -1,5 +1,5 @@ // -// $Id: Element.java,v 1.3 2001/08/12 04:36:58 mdb Exp $ +// $Id: Element.java,v 1.4 2001/11/30 22:57:31 mdb Exp $ // // viztool - a tool for visualizing collections of java classes // Copyright (C) 2001 Michael Bayne @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.viz; +package com.samskivert.viztool.layout; import java.awt.geom.Rectangle2D; diff --git a/projects/viztool/src/java/com/samskivert/viztool/layout/ElementLayout.java b/projects/viztool/src/java/com/samskivert/viztool/layout/ElementLayout.java index 76655624..6524a744 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/layout/ElementLayout.java +++ b/projects/viztool/src/java/com/samskivert/viztool/layout/ElementLayout.java @@ -1,5 +1,5 @@ // -// $Id: ElementLayout.java,v 1.4 2001/08/12 04:36:58 mdb Exp $ +// $Id: ElementLayout.java,v 1.5 2001/11/30 22:57:31 mdb Exp $ // // viztool - a tool for visualizing collections of java classes // Copyright (C) 2001 Michael Bayne @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.viz; +package com.samskivert.viztool.layout; import java.awt.geom.Rectangle2D; import java.util.List; diff --git a/projects/viztool/src/java/com/samskivert/viztool/layout/PackedColumnElementLayout.java b/projects/viztool/src/java/com/samskivert/viztool/layout/PackedColumnElementLayout.java index 9bbbcd23..1614e55a 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/layout/PackedColumnElementLayout.java +++ b/projects/viztool/src/java/com/samskivert/viztool/layout/PackedColumnElementLayout.java @@ -1,5 +1,5 @@ // -// $Id: PackedColumnElementLayout.java,v 1.7 2001/08/12 04:36:58 mdb Exp $ +// $Id: PackedColumnElementLayout.java,v 1.8 2001/11/30 22:57:31 mdb Exp $ // // viztool - a tool for visualizing collections of java classes // Copyright (C) 2001 Michael Bayne @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.viz; +package com.samskivert.viztool.layout; import java.awt.geom.Rectangle2D; import java.util.*; diff --git a/projects/viztool/src/java/com/samskivert/viztool/util/FontPicker.java b/projects/viztool/src/java/com/samskivert/viztool/util/FontPicker.java index 75ec0e39..197d563d 100644 --- a/projects/viztool/src/java/com/samskivert/viztool/util/FontPicker.java +++ b/projects/viztool/src/java/com/samskivert/viztool/util/FontPicker.java @@ -1,5 +1,5 @@ // -// $Id: FontPicker.java,v 1.2 2001/08/12 04:36:58 mdb Exp $ +// $Id: FontPicker.java,v 1.3 2001/11/30 22:57:31 mdb Exp $ // // viztool - a tool for visualizing collections of java classes // Copyright (C) 2001 Michael Bayne @@ -18,7 +18,7 @@ // with this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.viztool.viz; +package com.samskivert.viztool.util; import java.awt.Font;