本文整理汇总了Java中org.netbeans.spi.navigator.NavigatorLookupHint类的典型用法代码示例。如果您正苦于以下问题:Java NavigatorLookupHint类的具体用法?Java NavigatorLookupHint怎么用?Java NavigatorLookupHint使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
NavigatorLookupHint类属于org.netbeans.spi.navigator包,在下文中一共展示了NavigatorLookupHint类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: navigatorTCOpened
import org.netbeans.spi.navigator.NavigatorLookupHint; //导入依赖的package包/类
/** Starts listening to selected nodes and active component */
private void navigatorTCOpened() {
if (panelLookupNodesResult != null) {
return;
}
LOG.fine("Entering navigatorTCOpened");
Lookup globalContext = Utilities.actionsGlobalContext();
curNodesRes = globalContext.lookup(CUR_NODES);
curNodesRes.addLookupListener(this);
curHintsRes = globalContext.lookup(CUR_HINTS);
curHintsRes.addLookupListener(this);
panelLookupNodesResult = panelLookup.lookup(CUR_NODES);
panelLookupNodesResult.addLookupListener(panelLookupListener);
updateContext(globalContext.lookup(NavigatorLookupPanelsPolicy.class), globalContext.lookupAll(NavigatorLookupHint.class));
closed = false;
}
示例2: resultChanged
import org.netbeans.spi.navigator.NavigatorLookupHint; //导入依赖的package包/类
/** Invokes navigator data context change upon current nodes change or
* current navigator hints change,
* performs coalescing of fast coming changes.
*/
@Override
public void resultChanged(LookupEvent ev) {
if (!navigatorTC.getTopComponent().equals(WindowManager.getDefault().getRegistry().getActivated())
// #117089: allow node change when we are empty
|| (curNodes == null || curNodes.isEmpty())) {
Lookup globalContext = Utilities.actionsGlobalContext();
NavigatorLookupPanelsPolicy panelsPolicy = globalContext.lookup(NavigatorLookupPanelsPolicy.class);
Collection<? extends NavigatorLookupHint> lkpHints = globalContext.lookupAll(NavigatorLookupHint.class);
ActNodeSetter nodeSetter = new ActNodeSetter(panelsPolicy, lkpHints);
if (navigatorTC.allowAsyncUpdate()) {
synchronized (NODE_SETTER_LOCK) {
if (nodeSetterTask != null) {
nodeSetterTask.cancel();
}
// wait some time before propagating the change further
nodeSetterTask = RequestProcessor.getDefault().post(nodeSetter, COALESCE_TIME);
nodeSetterTask.addTaskListener(nodeSetter);
}
} else {
nodeSetter.run();
}
}
}
示例3: nodeDestroyed
import org.netbeans.spi.navigator.NavigatorLookupHint; //导入依赖的package包/类
/****** NodeListener implementation *****/
public void nodeDestroyed(NodeEvent ev) {
LOG.fine("Node destroyed reaction...");
// #121944: don't react on node destroy when we are active
if (navigatorTC.getTopComponent().equals(WindowManager.getDefault().getRegistry().getActivated())) {
LOG.fine("NavigatorTC active, skipping node destroyed reaction.");
return;
}
LOG.fine("invokeLater on updateContext from node destroyed reaction...");
// #122257: update content later to fight possible deadlocks
Lookup globalContext = Utilities.actionsGlobalContext();
NavigatorLookupPanelsPolicy panelsPolicy = globalContext.lookup(NavigatorLookupPanelsPolicy.class);
Collection<? extends NavigatorLookupHint> lkpHints = globalContext.lookupAll(NavigatorLookupHint.class);
EventQueue.invokeLater(getUpdateRunnable(true, panelsPolicy, lkpHints));
}
示例4: cacheLastSelPanel
import org.netbeans.spi.navigator.NavigatorLookupHint; //导入依赖的package包/类
/** Remembers given panel for current context type */
private void cacheLastSelPanel(final NavigatorPanel panel) {
final Collection<? extends NavigatorLookupHint> hints = curHintsRes != null ? curHintsRes.allInstances() : null;
requestProcessor.post(new Runnable() {
@Override
public void run() {
LOG.fine("cacheLastSelPanel - looking for mime");
String mime = findMimeForContext(hints);
if (mime != null) {
String className = panel.getClass().getName();
NbPreferences.forModule(NavigatorController.class).put(mime, className);
LOG.fine("cacheLastSelPanel - cached " + className + "for mime " + mime);
}
}
});
}
示例5: findMimeForContext
import org.netbeans.spi.navigator.NavigatorLookupHint; //导入依赖的package包/类
/** Returns current context type or null if not available */
private String findMimeForContext (Collection<? extends NavigatorLookupHint> lkpHints) {
assert !SwingUtilities.isEventDispatchThread() || !navigatorTC.allowAsyncUpdate() : "should not look for a mime type in awt"; // NOI18N
// try hints first, they have preference
LOG.fine("findMimeForContext - looking for mime, lkpHints= " + lkpHints);
if (lkpHints != null && !lkpHints.isEmpty()) {
String mimeType = lkpHints.iterator().next().getContentType();
LOG.fine("findMimeForContext - found mime for hints, mime: " + mimeType);
return mimeType;
}
FileObject fob = getCurrentFileObject();
LOG.fine("findMimeForContext - looking for mime, fob= " + fob);
if (fob != null) {
String mimeType = fob.getMIMEType();
LOG.fine("findMimeForContext - found mime for FO, mime: " + mimeType);
return mimeType;
}
LOG.fine("findMimeForContext - NO mime found");
return null;
}
示例6: obtainProviders
import org.netbeans.spi.navigator.NavigatorLookupHint; //导入依赖的package包/类
/**
* Shortcut for test purposes
*
* @node Nodes collection context, may be empty.
*/
List<NavigatorPanel> obtainProviders(Collection<? extends Node> nodes) {
Lookup globalContext = Utilities.actionsGlobalContext();
NavigatorLookupPanelsPolicy panelsPolicy = globalContext.lookup(NavigatorLookupPanelsPolicy.class);
Collection<? extends NavigatorLookupHint> lkpHints = globalContext.lookupAll(NavigatorLookupHint.class);
return obtainProviders(nodes, panelsPolicy, lkpHints);
}
示例7: getUpdateRunnable
import org.netbeans.spi.navigator.NavigatorLookupHint; //导入依赖的package包/类
/** Runnable implementation - forces update */
public Runnable getUpdateRunnable(final boolean force, final NavigatorLookupPanelsPolicy panelsPolicy, final Collection<? extends NavigatorLookupHint> lkpHints) {
return new Runnable() {
@Override
public void run() {
updateContext(force, panelsPolicy, lkpHints);
}
};
}
示例8: makeActive
import org.netbeans.spi.navigator.NavigatorLookupHint; //导入依赖的package包/类
/**Specify when the TC is shown*/
void makeActive(boolean tcShown) {
boolean oldValue = this.tcShown;
this.tcShown = tcShown;
if (tcShown && tcShown != oldValue && updateWhenActivated) {
updateWhenActivated = false;
tcActivating = true;
Lookup globalContext = Utilities.actionsGlobalContext();
updateContext(globalContext.lookup(NavigatorLookupPanelsPolicy.class), globalContext.lookupAll(NavigatorLookupHint.class));
}
}
示例9: initLookup
import org.netbeans.spi.navigator.NavigatorLookupHint; //导入依赖的package包/类
private void initLookup() {
Lookup explorerLookup; // lookup for EpxlorerManager
Lookup plainContentLookup; // lookup with various fixed instances
Lookup paletteLookup; // lookup for palette
Lookup saveCookieLookup; // to make sure Save action is enabled
Lookup dataObjectLookup; // to make sure DO is in lookup even if no node selected
if (lookup == null) {
lookup = new FormProxyLookup();
explorerLookup = null;
lookupContent = new InstanceContent();
lookupContent.add(new NavigatorLookupPanelsPolicy() {
@Override
public int getPanelsPolicy() {
return NavigatorLookupPanelsPolicy.LOOKUP_HINTS_ONLY;
}
});
lookupContent.add(new NavigatorLookupHint() {
@Override
public String getContentType() {
return "text/x-form"; // NOI18N
}
});
plainContentLookup = new AbstractLookup(lookupContent);
paletteLookup = PaletteUtils.getPaletteLookup(formEditor.getFormDataObject().getPrimaryFile());
saveCookieLookup = new Lookup() {
@Override
public <T> T lookup(final Class<T> clazz) {
if (clazz.isAssignableFrom(SaveCookie.class) && formEditor != null) {
return formEditor.getFormDataObject().getLookup().lookup(clazz);
} else {
return null;
}
}
@Override
public <T> Result<T> lookup(Template<T> template) {
if (template.getType().isAssignableFrom(SaveCookie.class) && formEditor != null) {
return formEditor.getFormDataObject().getLookup().lookup(template);
} else {
return Lookup.EMPTY.lookup(template);
}
}
};
dataObjectLookup = null;
} else {
Lookup[] lookups = lookup.getSubLookups();
explorerLookup = lookups[0];
plainContentLookup = lookups[1];
paletteLookup = lookups[2];
saveCookieLookup = lookups[3];
dataObjectLookup = lookups[4];
}
if (!initialized) {
explorerLookup = Lookup.EMPTY;
} else if (explorerLookup == Lookup.EMPTY) {
// TODO ActionMap from TC? There was some close action in it. But works even without that...
ActionMap map = ComponentInspector.getInstance().setupActionMap(canvasRoot.getActionMap());
explorerLookup = ExplorerUtils.createLookup(explorerManager, map);
}
if (dataObjectLookup == null || (dataObjectLookup == Lookup.EMPTY && !initialized)) {
FormDataObject formDataObject = formEditor.getFormDataObject();
dataObjectLookup = formDataObject.getNodeDelegate().getLookup();
}
lookup.setSubLookups(new Lookup[] {
explorerLookup, plainContentLookup, paletteLookup, saveCookieLookup, dataObjectLookup
});
}
示例10: shouldUpdate
import org.netbeans.spi.navigator.NavigatorLookupHint; //导入依赖的package包/类
/** @return True when update show be performed, false otherwise. Update
* isn't needed when current nodes are null and no navigator lookup hints
* in lookup.
*/
private boolean shouldUpdate () {
Node[] nodes = TopComponent.getRegistry().getCurrentNodes();
return (nodes != null && nodes.length > 0)
|| Utilities.actionsGlobalContext().lookup(NavigatorLookupHint.class) != null;
}
示例11: updateContext
import org.netbeans.spi.navigator.NavigatorLookupHint; //导入依赖的package包/类
private void updateContext (NavigatorLookupPanelsPolicy panelsPolicy, Collection<? extends NavigatorLookupHint> lkpHints) {
updateContext(false, panelsPolicy, lkpHints);
}
示例12: ActNodeSetter
import org.netbeans.spi.navigator.NavigatorLookupHint; //导入依赖的package包/类
public ActNodeSetter(NavigatorLookupPanelsPolicy panelsPolicy, Collection<? extends NavigatorLookupHint> lkpHints) {
this.panelsPolicy = panelsPolicy;
this.lkpHints = lkpHints;
}