|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the OriginalM * Code is Sun Microsystems, Inc. Portions Copyright 1997-2003 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.core.multiview; import javax.swing.Action; import org.openide.util.Lookup; import org.openide.util.WeakListeners; import java.beans.*; import java.util.*; import javax.swing.ActionMap; import org.openide.nodes.*; import org.openide.util.LookupEvent; import org.openide.util.LookupListener; import org.openide.util.lookup.AbstractLookup; import org.openide.util.lookup.Lookups; import org.openide.util.lookup.ProxyLookup; class MultiViewTopComponentLookup extends Lookup { private MyProxyLookup proxy; private InitialProxyLookup initial; public MultiViewTopComponentLookup(ActionMap initialObject) { super(); // need to delegate in order to get the correct Lookup.Templates that refresh.. initial = new InitialProxyLookup(initialObject); proxy = new MyProxyLookup(initial); } public void setElementLookup(Lookup look) { proxy.setElementLookup(look); initial.refreshLookup(); } public Lookup.Item lookupItem(Lookup.Template template) { Lookup.Item retValue; if (template.getType() == ActionMap.class || (template.getId() != null && template.getId().equals("javax.swing.ActionMap"))) { return initial.lookupItem(template); } // do something here?? retValue = super.lookupItem(template); return retValue; } public Object lookup(Class clazz) { if (clazz == ActionMap.class) { return initial.lookup(clazz); } Object retValue; retValue = proxy.lookup(clazz); return retValue; } public Lookup.Result lookup(Lookup.Template template) { if (template.getType() == ActionMap.class || (template.getId() != null && template.getId().equals("javax.swing.ActionMap"))) { return initial.lookup(template); } Lookup.Result retValue; retValue = proxy.lookup(template); retValue = new ExclusionResult(retValue); return retValue; } /** * A lookup result excluding some instances. */ private static final class ExclusionResult extends Lookup.Result implements LookupListener { private final Lookup.Result delegate; private final List listeners = new ArrayList(); // List |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.