当前位置: 首页>>代码示例>>Java>>正文


Java NavigatorLookupHint类代码示例

本文整理汇总了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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:17,代码来源:NavigatorController.java

示例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();
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:30,代码来源:NavigatorController.java

示例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));
    }
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:17,代码来源:NavigatorController.java

示例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);
            }
        }
    });
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:17,代码来源:NavigatorController.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:22,代码来源:NavigatorController.java

示例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);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:12,代码来源:NavigatorController.java

示例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);
        }
    };
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:10,代码来源:NavigatorController.java

示例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));
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:12,代码来源:NavigatorController.java

示例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
    });
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:76,代码来源:FormDesigner.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:10,代码来源:NavigatorController.java

示例11: updateContext

import org.netbeans.spi.navigator.NavigatorLookupHint; //导入依赖的package包/类
private void updateContext (NavigatorLookupPanelsPolicy panelsPolicy, Collection<? extends NavigatorLookupHint> lkpHints) {
    updateContext(false, panelsPolicy, lkpHints);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:4,代码来源:NavigatorController.java

示例12: ActNodeSetter

import org.netbeans.spi.navigator.NavigatorLookupHint; //导入依赖的package包/类
public ActNodeSetter(NavigatorLookupPanelsPolicy panelsPolicy, Collection<? extends NavigatorLookupHint> lkpHints) {
    this.panelsPolicy = panelsPolicy;
    this.lkpHints = lkpHints;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:5,代码来源:NavigatorController.java


注:本文中的org.netbeans.spi.navigator.NavigatorLookupHint类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。