Fixed active node issues with java editor tab merged_model_j2ee_merged_model_merge_2
authorquynguyen@netbeans.org
Wed, 21 Mar 2007 21:15:47 +0000
changeset 3604540c17839a9
parent 359 7c77ce11be84
child 361 c9f64a8a8209
Fixed active node issues with java editor tab
visualweb.project.jsfloader/nbproject/project.xml
visualweb.project.jsfloader/src/org/netbeans/modules/visualweb/project/jsfloader/JsfJavaEditorSupport.java
     1.1 --- a/visualweb.project.jsfloader/nbproject/project.xml	Wed Mar 21 20:53:08 2007 +0000
     1.2 +++ b/visualweb.project.jsfloader/nbproject/project.xml	Wed Mar 21 21:15:47 2007 +0000
     1.3 @@ -129,6 +129,15 @@
     1.4                      </run-dependency>
     1.5                  </dependency>
     1.6                  <dependency>
     1.7 +                    <code-name-base>org.netbeans.spi.navigator</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.4</specification-version>
    1.13 +                    </run-dependency>
    1.14 +                </dependency>
    1.15 +                <dependency>
    1.16                      <code-name-base>org.netbeans.spi.palette</code-name-base>
    1.17                      <build-prerequisite/>
    1.18                      <compile-dependency/>
     2.1 --- a/visualweb.project.jsfloader/src/org/netbeans/modules/visualweb/project/jsfloader/JsfJavaEditorSupport.java	Wed Mar 21 20:53:08 2007 +0000
     2.2 +++ b/visualweb.project.jsfloader/src/org/netbeans/modules/visualweb/project/jsfloader/JsfJavaEditorSupport.java	Wed Mar 21 21:15:47 2007 +0000
     2.3 @@ -43,6 +43,7 @@
     2.4  import javax.swing.text.Document;
     2.5  import org.netbeans.api.project.FileOwnerQuery;
     2.6  import org.netbeans.api.project.Project;
     2.7 +import org.netbeans.spi.navigator.NavigatorLookupHint;
     2.8  import org.netbeans.spi.palette.PaletteController;
     2.9  import org.netbeans.spi.palette.PaletteFactory;
    2.10  
    2.11 @@ -52,9 +53,7 @@
    2.12  import org.openide.cookies.CloseCookie;
    2.13  import org.openide.cookies.PrintCookie;
    2.14  import org.openide.loaders.*;
    2.15 -import org.openide.cookies.EditCookie;
    2.16  import org.openide.cookies.EditorCookie;
    2.17 -import org.openide.cookies.OpenCookie;
    2.18  import org.openide.cookies.PrintCookie;
    2.19  import org.openide.cookies.SaveCookie;
    2.20  import org.openide.filesystems.FileObject;
    2.21 @@ -71,11 +70,9 @@
    2.22  import org.openide.util.Utilities;
    2.23  import org.openide.util.lookup.Lookups;
    2.24  import org.openide.util.lookup.ProxyLookup;
    2.25 -import org.openide.windows.CloneableOpenSupport;
    2.26  import org.openide.windows.CloneableTopComponent;
    2.27  import org.openide.windows.Mode;
    2.28  import org.openide.windows.TopComponent;
    2.29 -import org.openide.windows.TopComponentGroup;
    2.30  import org.openide.windows.WindowManager;
    2.31  
    2.32  // <multiview>
    2.33 @@ -623,7 +620,7 @@
    2.34      private static class JavaDesc implements MultiViewDescription, Serializable {
    2.35          
    2.36          private static final long serialVersionUID =-3126744316624172415L;
    2.37 -        
    2.38 +
    2.39          private JsfJavaDataObject jsfJavaDataObject;
    2.40          
    2.41          
    2.42 @@ -681,6 +678,12 @@
    2.43      private static class JavaEditorTopComponent extends CloneableEditor
    2.44              implements MultiViewElement, CloneableEditorSupport.Pane {
    2.45          private static final long serialVersionUID =-3126744316624172415L;
    2.46 +        private static final NavigatorLookupHint NAVIGATOR_HINT =
    2.47 +                new NavigatorLookupHint() {
    2.48 +            public String getContentType() {
    2.49 +                return "text/x-java"; // NOI18N
    2.50 +            }
    2.51 +        };
    2.52          
    2.53          private transient JComponent toolbar;
    2.54          
    2.55 @@ -695,17 +698,25 @@
    2.56          
    2.57          JavaEditorTopComponent(CloneableEditorSupport ces) {
    2.58              super(ces);
    2.59 -            initializePalette();
    2.60 -            
    2.61 +            initialize();
    2.62          }
    2.63          
    2.64          public void readExternal (ObjectInput in)
    2.65          throws IOException, ClassNotFoundException {
    2.66              //required to do this to make sure cloneableEditorSupport is deserialized.
    2.67              super.readExternal(in);
    2.68 -            initializePalette();            
    2.69 +            initialize();
    2.70          }
    2.71          
    2.72 +        private void initialize() {
    2.73 +            DataObject jsfJavaDataObject = ((JsfJavaEditorSupport)cloneableEditorSupport()).getDataObject();
    2.74 +            if(jsfJavaDataObject != null) {
    2.75 +                setActivatedNodes(new Node[] {jsfJavaDataObject.getNodeDelegate()});
    2.76 +            }
    2.77 +            
    2.78 +            initializePalette();
    2.79 +        }
    2.80 +
    2.81          // XXX PaletteController
    2.82          private void initializePalette() {
    2.83              
    2.84 @@ -896,19 +907,17 @@
    2.85              if (lookup == null) {
    2.86                  Lookup superLookup = super.getLookup();
    2.87                  if (javaPaletteController == null) {
    2.88 -                    lookup = new ProxyLookup(new Lookup[] {superLookup});
    2.89 +                    lookup = new ProxyLookup(new Lookup[] {superLookup, Lookups.singleton(NAVIGATOR_HINT)});
    2.90                  } else {
    2.91                      DataObject dObj = ((JsfJavaEditorSupport)cloneableEditorSupport()).getDataObject();
    2.92 -                    lookup = new ProxyLookup(new Lookup[] {superLookup, Lookups.singleton(javaPaletteController), Lookups.singleton(dObj)});
    2.93 +                    lookup = new ProxyLookup(new Lookup[] {superLookup, Lookups.fixed(NAVIGATOR_HINT, javaPaletteController)});
    2.94                  }
    2.95                  lookupWRef = new WeakReference(lookup);
    2.96              }
    2.97 -            
    2.98              return lookup;
    2.99          }
   2.100      }
   2.101      
   2.102 -    
   2.103  // XXX This is a bit strange class? What is a reason of that?
   2.104      /** Implementation of CloseOperationHandler for multiview. Ensures both form
   2.105       * and java editor are correctly closed, data saved, etc. Holds a reference