Lines 38-44
Link Here
|
38 |
* @author Jaroslav Tulach |
38 |
* @author Jaroslav Tulach |
39 |
*/ |
39 |
*/ |
40 |
final class DefaultTopComponentLookup extends ProxyLookup |
40 |
final class DefaultTopComponentLookup extends ProxyLookup |
41 |
implements java.beans.PropertyChangeListener, InstanceContent.Convertor, LookupListener { |
41 |
implements InstanceContent.Convertor, LookupListener { |
42 |
/** component to work with */ |
42 |
/** component to work with */ |
43 |
private TopComponent tc; |
43 |
private TopComponent tc; |
44 |
/** lookup listener that is attached to all subnodes */ |
44 |
/** lookup listener that is attached to all subnodes */ |
Lines 55-75
Link Here
|
55 |
this.tc = tc; |
55 |
this.tc = tc; |
56 |
this.listener = (LookupListener)org.openide.util.WeakListeners.create (LookupListener.class, this, null); |
56 |
this.listener = (LookupListener)org.openide.util.WeakListeners.create (LookupListener.class, this, null); |
57 |
|
57 |
|
58 |
updateLookups (); |
58 |
updateLookups (tc.getActivatedNodes ()); |
59 |
|
59 |
/* |
60 |
tc.addPropertyChangeListener( |
60 |
tc.addPropertyChangeListener( |
61 |
"activatedNodes", // NOI18N |
61 |
"activatedNodes", // NOI18N |
62 |
org.openide.util.WeakListeners.propertyChange (this, tc) |
62 |
org.openide.util.WeakListeners.propertyChange (this, tc) |
63 |
); |
63 |
); |
64 |
|
64 |
*/ |
65 |
} |
65 |
} |
66 |
|
66 |
|
67 |
private static Lookup[] EMPTY_ARRAY = new Lookup[0]; |
67 |
private static Lookup[] EMPTY_ARRAY = new Lookup[0]; |
68 |
/** Extracts activated nodes from a top component and |
68 |
/** Extracts activated nodes from a top component and |
69 |
* returns their lookups. |
69 |
* returns their lookups. |
70 |
*/ |
70 |
*/ |
71 |
private void updateLookups () { |
71 |
public void updateLookups (Node[] arr) { |
72 |
Node[] arr = tc.getActivatedNodes(); |
|
|
73 |
if (arr == null) { |
72 |
if (arr == null) { |
74 |
org.openide.util.lookup.AbstractLookup.Content c = new org.openide.util.lookup.AbstractLookup.Content (); |
73 |
org.openide.util.lookup.AbstractLookup.Content c = new org.openide.util.lookup.AbstractLookup.Content (); |
75 |
org.openide.util.lookup.AbstractLookup l = new org.openide.util.lookup.AbstractLookup (c); |
74 |
org.openide.util.lookup.AbstractLookup l = new org.openide.util.lookup.AbstractLookup (c); |
Lines 110-124
Link Here
|
110 |
setLookups (lookups); |
109 |
setLookups (lookups); |
111 |
} |
110 |
} |
112 |
|
111 |
|
113 |
/** Updates the lookup if necessary */ |
|
|
114 |
public void propertyChange(java.beans.PropertyChangeEvent ev) { |
115 |
updateLookups (); |
116 |
} |
117 |
|
118 |
|
119 |
/** Change in one of the lookups we delegate to */ |
112 |
/** Change in one of the lookups we delegate to */ |
120 |
public void resultChanged(org.openide.util.LookupEvent ev) { |
113 |
public void resultChanged(org.openide.util.LookupEvent ev) { |
121 |
updateLookups (); |
114 |
updateLookups (tc.getActivatedNodes ()); |
122 |
} |
115 |
} |
123 |
|
116 |
|
124 |
/** Finds out whether a query for a class can be influenced |
117 |
/** Finds out whether a query for a class can be influenced |