Nicer UI with Refresh button.
authorJesse Glick <jglick@netbeans.org>
Wed, 23 May 2012 10:23:45 -0400
changeset 17830082d5b484874
parent 17829 d3543b073d02
child 17831 793c2dc593c3
Nicer UI with Refresh button.
apisupport.projectinspector/nbproject/project.xml
apisupport.projectinspector/src/org/netbeans/modules/apisupport/projectinspector/InspectProjectAction.java
apisupport.projectinspector/src/org/netbeans/modules/apisupport/projectinspector/refresh.png
     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