? 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; } } ! }