Nicer UI with Refresh button.
1.1 --- a/apisupport.projectinspector/nbproject/project.xml Wed May 23 10:01:43 2012 -0400
1.2 +++ b/apisupport.projectinspector/nbproject/project.xml Wed May 23 10:23:45 2012 -0400
1.3 @@ -6,6 +6,15 @@
1.4 <code-name-base>org.netbeans.modules.apisupport.projectinspector</code-name-base>
1.5 <module-dependencies>
1.6 <dependency>
1.7 + <code-name-base>org.netbeans.api.annotations.common</code-name-base>
1.8 + <build-prerequisite/>
1.9 + <compile-dependency/>
1.10 + <run-dependency>
1.11 + <release-version>1</release-version>
1.12 + <specification-version>1.13</specification-version>
1.13 + </run-dependency>
1.14 + </dependency>
1.15 + <dependency>
1.16 <code-name-base>org.netbeans.api.java</code-name-base>
1.17 <build-prerequisite/>
1.18 <compile-dependency/>
2.1 --- a/apisupport.projectinspector/src/org/netbeans/modules/apisupport/projectinspector/InspectProjectAction.java Wed May 23 10:01:43 2012 -0400
2.2 +++ b/apisupport.projectinspector/src/org/netbeans/modules/apisupport/projectinspector/InspectProjectAction.java Wed May 23 10:23:45 2012 -0400
2.3 @@ -43,7 +43,9 @@
2.4 import java.util.Map;
2.5 import java.util.TreeMap;
2.6 import java.util.TreeSet;
2.7 +import javax.swing.AbstractAction;
2.8 import javax.swing.Action;
2.9 +import org.netbeans.api.annotations.common.StaticResource;
2.10 import org.netbeans.api.java.classpath.ClassPath;
2.11 import org.netbeans.api.java.classpath.JavaClassPathConstants;
2.12 import org.netbeans.api.java.project.JavaProjectConstants;
2.13 @@ -84,6 +86,7 @@
2.14 import org.openide.loaders.DataObject;
2.15 import org.openide.nodes.Node;
2.16 import org.openide.util.Exceptions;
2.17 +import org.openide.util.ImageUtilities;
2.18 import org.openide.util.Lookup;
2.19 import org.openide.util.RequestProcessor;
2.20 import org.openide.windows.IOProvider;
2.21 @@ -98,7 +101,18 @@
2.22 @ActionReference(path = "Projects/Actions", position = 2000)
2.23 public class InspectProjectAction implements ActionListener {
2.24
2.25 + @StaticResource private static final String REFRESH_ICON = "org/netbeans/modules/apisupport/projectinspector/refresh.png";
2.26 +
2.27 private final List<Project> projects;
2.28 + private final Action refreshAction = new AbstractAction("Refresh", ImageUtilities.loadImageIcon(REFRESH_ICON, true)) {
2.29 + {
2.30 + putValue(SHORT_DESCRIPTION, "Refresh");
2.31 + }
2.32 + @Override public void actionPerformed(ActionEvent e) {
2.33 + InspectProjectAction.this.actionPerformed(e);
2.34 + }
2.35 + };
2.36 + private InputOutput io;
2.37
2.38 public InspectProjectAction(List<Project> projects) {
2.39 this.projects = projects;
2.40 @@ -109,7 +123,16 @@
2.41 public void run() {
2.42 ProjectManager.mutex().readAccess(new Runnable() {
2.43 public void run() {
2.44 - InputOutput io = IOProvider.getDefault().getIO("Project Metadata", false);
2.45 + if (io != null) {
2.46 + io.closeInputOutput();
2.47 + }
2.48 + String title;
2.49 + if (projects.size() == 1) {
2.50 + title = "Metadata: " + ProjectUtils.getInformation(projects.get(0)).getDisplayName();
2.51 + } else {
2.52 + title = "Project Metadata";
2.53 + }
2.54 + io = IOProvider.getDefault().getIO(title, new Action[] {refreshAction});
2.55 io.select();
2.56 OutputWriter pw = io.getOut();
2.57 try {
3.1 Binary file apisupport.projectinspector/src/org/netbeans/modules/apisupport/projectinspector/refresh.png has changed