1.1 --- a/lib.graphlayout/nbproject/project.properties Sat May 13 20:25:29 2006 +0000
1.2 +++ b/lib.graphlayout/nbproject/project.properties Sat May 13 22:36:45 2006 +0000
1.3 @@ -15,6 +15,7 @@
1.4 dist.dir=dist
1.5 dist.jar=${dist.dir}/graphlayout.jar
1.6 dist.javadoc.dir=${dist.dir}/javadoc
1.7 +is.autoload=true
1.8 jar.compress=false
1.9 javac.classpath=
1.10 javac.deprecation=false
2.1 --- a/lib.graphlayout/src/org/netbeans/lib/graphlayout/Renderer.java Sat May 13 20:25:29 2006 +0000
2.2 +++ b/lib.graphlayout/src/org/netbeans/lib/graphlayout/Renderer.java Sat May 13 22:36:45 2006 +0000
2.3 @@ -30,7 +30,7 @@
2.4 private java.util.HashMap colors = new java.util.HashMap ();
2.5 private int colorindex = 0;
2.6 private static Color[] basecolors = {
2.7 - Color.CYAN, Color.YELLOW, Color.BLUE, Color.RED, Color.MAGENTA, Color.ORANGE, Color.BLACK
2.8 + Color.CYAN, Color.YELLOW, Color.BLUE, Color.RED, Color.MAGENTA, Color.ORANGE, Color.DARK_GRAY
2.9 };
2.10 private int zoom = 100;
2.11 private AffineTransform lastTransform;
2.12 @@ -60,6 +60,9 @@
2.13 private Color findColor (Vertex v) {
2.14 Color c = (Color)colors.get (v.info);
2.15 if (c == null) {
2.16 + if (colorindex == basecolors.length) {
2.17 + colorindex = 0;
2.18 + }
2.19 c = basecolors[colorindex++];
2.20 colors.put (v.info, c);
2.21 }
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/projectdeps/build.xml Sat May 13 22:36:45 2006 +0000
3.3 @@ -0,0 +1,5 @@
3.4 +<?xml version="1.0" encoding="UTF-8"?>
3.5 +<project basedir="." default="netbeans" name="contrib/graphlayout/projectdeps">
3.6 + <description>Builds, tests, and runs the project org.netbeans.modules.projectdeps</description>
3.7 + <import file="../../../nbbuild/templates/projectized.xml"/>
3.8 +</project>
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/projectdeps/manifest.mf Sat May 13 22:36:45 2006 +0000
4.3 @@ -0,0 +1,6 @@
4.4 +Manifest-Version: 1.0
4.5 +OpenIDE-Module: org.netbeans.modules.projectdeps
4.6 +OpenIDE-Module-Layer: org/netbeans/modules/projectdeps/layer.xml
4.7 +OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/projectdeps/Bundle.properties
4.8 +OpenIDE-Module-Specification-Version: 1.0
4.9 +
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/projectdeps/nbproject/project.properties Sat May 13 22:36:45 2006 +0000
5.3 @@ -0,0 +1,2 @@
5.4 +javac.compilerargs=-Xlint:unchecked
5.5 +javac.source=1.5
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/projectdeps/nbproject/project.xml Sat May 13 22:36:45 2006 +0000
6.3 @@ -0,0 +1,62 @@
6.4 +<?xml version="1.0" encoding="UTF-8"?>
6.5 +<project xmlns="http://www.netbeans.org/ns/project/1">
6.6 + <type>org.netbeans.modules.apisupport.project</type>
6.7 + <configuration>
6.8 + <data xmlns="http://www.netbeans.org/ns/nb-module-project/2">
6.9 + <code-name-base>org.netbeans.modules.projectdeps</code-name-base>
6.10 + <module-dependencies>
6.11 + <dependency>
6.12 + <code-name-base>org.netbeans.lib.graphlayout</code-name-base>
6.13 + <build-prerequisite/>
6.14 + <compile-dependency/>
6.15 + <run-dependency>
6.16 + <specification-version>1.0</specification-version>
6.17 + </run-dependency>
6.18 + </dependency>
6.19 + <dependency>
6.20 + <code-name-base>org.netbeans.modules.projectapi</code-name-base>
6.21 + <build-prerequisite/>
6.22 + <compile-dependency/>
6.23 + <run-dependency>
6.24 + <release-version>1</release-version>
6.25 + <specification-version>1.10</specification-version>
6.26 + </run-dependency>
6.27 + </dependency>
6.28 + <dependency>
6.29 + <code-name-base>org.netbeans.modules.projectuiapi</code-name-base>
6.30 + <build-prerequisite/>
6.31 + <compile-dependency/>
6.32 + <run-dependency>
6.33 + <release-version>1</release-version>
6.34 + <specification-version>1.15</specification-version>
6.35 + </run-dependency>
6.36 + </dependency>
6.37 + <dependency>
6.38 + <code-name-base>org.openide.filesystems</code-name-base>
6.39 + <build-prerequisite/>
6.40 + <compile-dependency/>
6.41 + <run-dependency>
6.42 + <specification-version>6.5</specification-version>
6.43 + </run-dependency>
6.44 + </dependency>
6.45 + <dependency>
6.46 + <code-name-base>org.openide.util</code-name-base>
6.47 + <build-prerequisite/>
6.48 + <compile-dependency/>
6.49 + <run-dependency>
6.50 + <specification-version>7.0</specification-version>
6.51 + </run-dependency>
6.52 + </dependency>
6.53 + <dependency>
6.54 + <code-name-base>org.openide.windows</code-name-base>
6.55 + <build-prerequisite/>
6.56 + <compile-dependency/>
6.57 + <run-dependency>
6.58 + <specification-version>6.6</specification-version>
6.59 + </run-dependency>
6.60 + </dependency>
6.61 + </module-dependencies>
6.62 + <public-packages/>
6.63 + </data>
6.64 + </configuration>
6.65 +</project>
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/projectdeps/src/org/netbeans/modules/projectdeps/Bundle.properties Sat May 13 22:36:45 2006 +0000
7.3 @@ -0,0 +1,1 @@
7.4 +OpenIDE-Module-Name=Visualize Project Dependencies
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/projectdeps/src/org/netbeans/modules/projectdeps/ShowProjectDependenciesAction.java Sat May 13 22:36:45 2006 +0000
8.3 @@ -0,0 +1,108 @@
8.4 +/*
8.5 + * Sun Public License Notice
8.6 + *
8.7 + * The contents of this file are subject to the Sun Public License
8.8 + * Version 1.0 (the "License"). You may not use this file except in
8.9 + * compliance with the License. A copy of the License is available at
8.10 + * http://www.sun.com/
8.11 + *
8.12 + * The Original Code is NetBeans. The Initial Developer of the Original
8.13 + * Code is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
8.14 + * Microsystems, Inc. All Rights Reserved.
8.15 + */
8.16 +
8.17 +package org.netbeans.modules.projectdeps;
8.18 +
8.19 +import java.awt.BorderLayout;
8.20 +import java.util.HashSet;
8.21 +import java.util.Set;
8.22 +import javax.swing.Action;
8.23 +import org.netbeans.api.project.Project;
8.24 +import org.netbeans.api.project.ProjectInformation;
8.25 +import org.netbeans.api.project.ProjectUtils;
8.26 +import org.netbeans.lib.graphlayout.Graph;
8.27 +import org.netbeans.lib.graphlayout.Vertex;
8.28 +import org.netbeans.spi.project.SubprojectProvider;
8.29 +import org.netbeans.spi.project.ui.support.ProjectActionPerformer;
8.30 +import org.netbeans.spi.project.ui.support.ProjectSensitiveActions;
8.31 +import org.openide.filesystems.FileObject;
8.32 +import org.openide.windows.TopComponent;
8.33 +
8.34 +/**
8.35 + *
8.36 + * @author Jaroslav Tulach
8.37 + */
8.38 +final class ShowProjectDependenciesAction
8.39 +implements ProjectActionPerformer {
8.40 +
8.41 + /** Creates a new instance of ShowProjectDependenciesAction */
8.42 + private ShowProjectDependenciesAction() {
8.43 + }
8.44 +
8.45 + public static Action create() {
8.46 + return ProjectSensitiveActions.projectSensitiveAction(new ShowProjectDependenciesAction(), "Show Project Dependencies", null);
8.47 + }
8.48 +
8.49 + public boolean enable(Project project) {
8.50 + return project != null;
8.51 + }
8.52 +
8.53 + public void perform(Project project) {
8.54 + Graph g = Graph.create();
8.55 + HashSet<FileObject> direct = new HashSet<FileObject>();
8.56 +
8.57 + direct.add(project.getProjectDirectory());
8.58 + SubprojectProvider prov = project.getLookup().lookup(SubprojectProvider.class);
8.59 + if (prov != null) {
8.60 + for (Object o : prov.getSubprojects()) {
8.61 + Project p = (Project)o;
8.62 +
8.63 + direct.add(p.getProjectDirectory());
8.64 + }
8.65 + }
8.66 +
8.67 + collectProjects(g, new HashSet<FileObject>(), direct, project);
8.68 +
8.69 + ProjectInformation info = ProjectUtils.getInformation(project);
8.70 +
8.71 + TopComponent tc = new TopComponent();
8.72 + tc.setName(info.getName());
8.73 + tc.setDisplayName(info.getDisplayName());
8.74 + tc.setLayout(new BorderLayout());
8.75 + tc.add(BorderLayout.CENTER, g.createRenderer());
8.76 + tc.open();
8.77 + tc.requestActive();
8.78 + }
8.79 +
8.80 + private static void collectProjects(Graph g, Set<FileObject> visited, Set<FileObject> include, Project p) {
8.81 + if (!include.contains(p.getProjectDirectory())) {
8.82 + return;
8.83 + }
8.84 + if (!visited.add(p.getProjectDirectory())) {
8.85 + return;
8.86 + }
8.87 +
8.88 + ProjectInformation info = ProjectUtils.getInformation(p);
8.89 + Vertex v = g.createVertex(info.getName(), info.getDisplayName());
8.90 +
8.91 + SubprojectProvider prov = p.getLookup().lookup(SubprojectProvider.class);
8.92 + for (Object o : prov.getSubprojects()) {
8.93 + Project sub = (Project)o;
8.94 +
8.95 + if (include.contains(sub.getProjectDirectory())) {
8.96 + ProjectInformation info2 = ProjectUtils.getInformation(sub);
8.97 + Vertex subVer = g.createVertex(info2.getName(), info2.getDisplayName());
8.98 +
8.99 + g.createEdge(v, subVer, 1);
8.100 + }
8.101 + }
8.102 +
8.103 + for (Object o : prov.getSubprojects()) {
8.104 + Project sub = (Project)o;
8.105 +
8.106 + collectProjects(g, visited, include, sub);
8.107 + }
8.108 + }
8.109 +
8.110 +
8.111 +}
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2 +++ b/projectdeps/src/org/netbeans/modules/projectdeps/layer.xml Sat May 13 22:36:45 2006 +0000
9.3 @@ -0,0 +1,19 @@
9.4 +<?xml version="1.0" encoding="UTF-8"?>
9.5 +<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">
9.6 +<filesystem>
9.7 + <folder name="Actions">
9.8 + <folder name="Project">
9.9 + <file name="org-netbeans-modules-projectdeps-ShowProjectDependenciesAction.instance">
9.10 + <attr name="instanceCreate" methodvalue="org.netbeans.modules.projectdeps.ShowProjectDependenciesAction.create"/>
9.11 + </file>
9.12 + </folder>
9.13 + </folder>
9.14 +
9.15 + <folder name="Menu">
9.16 + <folder name="Tools">
9.17 + <file name="org-netbeans-modules-projectdeps-ShowProjectDependenciesAction.shadow">
9.18 + <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-projectdeps-ShowProjectDependenciesAction.instance"/>
9.19 + </file>
9.20 + </folder>
9.21 + </folder>
9.22 +</filesystem>