? LookNodeWithLookup.diff
Index: src/org/netbeans/api/looks/LookNode.java
===================================================================
RCS file: /cvs/openidex/looks/src/org/netbeans/api/looks/LookNode.java,v
retrieving revision 1.5.6.15
diff -c -r1.5.6.15 LookNode.java
*** src/org/netbeans/api/looks/LookNode.java 18 Sep 2002 11:18:49 -0000 1.5.6.15
--- src/org/netbeans/api/looks/LookNode.java 19 Sep 2002 11:33:53 -0000
***************
*** 117,123 ****
}
private LookNode( Object[] params ) {
! super( (Children)params[0] );
this.lookSelector = (LookSelector)params[1];
this.look = (Look)params[2];
this.substitute = (Look.NodeSubstitute)params[3];
--- 117,126 ----
}
private LookNode( Object[] params ) {
! super (
! (Children)params[0],
! org.openide.util.lookup.Lookups.proxy ((Lookup.Provider)params[4])
! );
this.lookSelector = (LookSelector)params[1];
this.look = (Look)params[2];
this.substitute = (Look.NodeSubstitute)params[3];
***************
*** 125,135 ****
Lookup lookup = org.netbeans.modules.looks.FirerSupport.DEFAULT.getPrivateLookup (substitute);
this.firer = new FirerImpl( this, lookup, substitute.getRepresentedObject() );
org.netbeans.modules.looks.FirerSupport.DEFAULT.attachFirer (substitute, firer);
}
private static Object[] create( Object representedObject, Look look, LookSelector lookSelector ) {
! Object[] result = new Object[4];
if ( look == null ) {
look = getFirstLook( lookSelector, representedObject );
--- 128,140 ----
Lookup lookup = org.netbeans.modules.looks.FirerSupport.DEFAULT.getPrivateLookup (substitute);
this.firer = new FirerImpl( this, lookup, substitute.getRepresentedObject() );
org.netbeans.modules.looks.FirerSupport.DEFAULT.attachFirer (substitute, firer);
+
+ ((LookupProvider)params[4]).node = this;
}
private static Object[] create( Object representedObject, Look look, LookSelector lookSelector ) {
! Object[] result = new Object[5];
if ( look == null ) {
look = getFirstLook( lookSelector, representedObject );
***************
*** 143,148 ****
--- 148,155 ----
result[0] = look.isLeaf( substitute ) ? Children.LEAF : new LookChildren();
+ result[4] = new LookupProvider ();
+
return result;
}
***************
*** 435,440 ****
--- 442,448 ----
* @return a cookie assignable to that class, or null
* the Look does not provide such cookie.
*/
+ /*
public Node.Cookie getCookie (Class type) {
if ( type == Look.class ) {
// Look is available in cookies
***************
*** 449,455 ****
}
}
}
!
/** Determines Handle by querying the Look.
* @return the handle, or null
if this node is not persistable
*/
--- 457,463 ----
}
}
}
! */
/** Determines Handle by querying the Look.
* @return the handle, or null
if this node is not persistable
*/
***************
*** 1227,1232 ****
--- 1235,1251 ----
}
} // end of FirerImpl
+
+ /** Provider of lookup
+ */
+ private static final class LookupProvider extends Object
+ implements Lookup.Provider {
+ public LookNode node;
+
+ public Lookup getLookup () {
+ return node.getFirer().getLookupImpl ();
+ }
+ }
/** Handle that stores the map of names to look names and
* creates look node after then.
***************
*** 1248,1251 ****
return node;
}
}
! }
\ No newline at end of file
--- 1267,1270 ----
return node;
}
}
! }