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


Java CloneableTopComponent类代码示例

本文整理汇总了Java中org.openide.windows.CloneableTopComponent的典型用法代码示例。如果您正苦于以下问题:Java CloneableTopComponent类的具体用法?Java CloneableTopComponent怎么用?Java CloneableTopComponent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


CloneableTopComponent类属于org.openide.windows包,在下文中一共展示了CloneableTopComponent类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: addPropertyChangeListeners

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
private void addPropertyChangeListeners() {
    if( null != model ) {
        for (MultiViewDescription mvd : model.getDescriptions()) {
            if( mvd instanceof ContextAwareDescription && ((ContextAwareDescription)mvd).isSplitDescription() )
                continue; //#240371 - don't update name from spit elements
            
            MultiViewElement el = model.getElementForDescription( mvd, false );
            if (el == null) {
                continue;
            }
            if (el.getVisualRepresentation() instanceof Pane) {
                Pane pane = (Pane)el.getVisualRepresentation();
                final CloneableTopComponent tc = pane.getComponent();
                if (!Arrays.asList(tc.getPropertyChangeListeners()).contains(propListener)) {
                    tc.addPropertyChangeListener(propListener);
                }
            }
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:21,代码来源:MultiViewPeer.java

示例2: updateName

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
public void updateName() {
    // is called before setMultiViewDescriptions() need to check for null.
    if (model != null) {
        for (MultiViewDescription mvd : model.getDescriptions()) {
            if( mvd instanceof ContextAwareDescription && ((ContextAwareDescription)mvd).isSplitDescription() )
                continue; //#240371 - don't update name from spit elements
            
            MultiViewElement el = model.getElementForDescription(
                mvd, MultiViewCloneableTopComponent.isSourceView(mvd)
            );
            if (el == null) {
                continue;
            }
            if (el.getVisualRepresentation() instanceof Pane) {
                Pane pane = (Pane)el.getVisualRepresentation();
                pane.updateName();
                final CloneableTopComponent tc = pane.getComponent();
                peer.setDisplayName(tc.getDisplayName());
                peer.setIcon(tc.getIcon());
                if (!Arrays.asList(tc.getPropertyChangeListeners()).contains(propListener)) {
                    tc.addPropertyChangeListener(propListener);
                }
            }
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:27,代码来源:MultiViewPeer.java

示例3: testLookupInitializedForCloneable

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
public void testLookupInitializedForCloneable() {
    InstanceContent ic = new InstanceContent();
    Lookup lookup = new AbstractLookup(ic);
    ic.add(10);

    CloneableTopComponent cmv = MultiViews.createCloneableMultiView("text/context", new LP(lookup));
    assertEquals("10 now", Integer.valueOf(10), cmv.getLookup().lookup(Integer.class));
    
    assertNotNull("MultiViewComponent created", cmv);
    TopComponent mvc = cmv.cloneTopComponent();
    
    assertNotNull("MultiViewComponent cloned", mvc);
    MultiViewHandler handler = MultiViews.findMultiViewHandler(mvc);
    assertNotNull("Handler found", handler);
    
    assertEquals("10 now", Integer.valueOf(10), mvc.getLookup().lookup(Integer.class));
    ic.remove(10);
    ic.add(1);
    assertEquals("1 now", Integer.valueOf(1), mvc.getLookup().lookup(Integer.class));
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:21,代码来源:MultiViewProcessorTest.java

示例4: setTopComponent

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
/** This is called by the multiview elements whenever they are created
 * (and given a observer knowing their multiview TopComponent). It is
 * important during deserialization and clonig the multiview - i.e. during
 * the operations we have no control over. But anytime a multiview is
 * created, this method gets called.
 */
private void setTopComponent(TopComponent topComp) {
    multiviewTC = (CloneableTopComponent)topComp;
    updateMVTCName();

    if (topComponentsListener == null) {
        topComponentsListener = new TopComponentsListener();
        TopComponent.getRegistry().addPropertyChangeListener(topComponentsListener);
    }
    opened.add(this);
    try {
        addStatusListener(getDataObject().getPrimaryFile().getFileSystem());
    } catch (FileStateInvalidException fsiex) {
        Exceptions.printStackTrace(fsiex);
    }

}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:23,代码来源:BIEditorSupport.java

示例5: updateMVTCNameInAwt

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
private void updateMVTCNameInAwt() {
    CloneableTopComponent topComp = multiviewTC;
    if (topComp != null) {
        String htmlname = messageHtmlName();
        String name = messageName();
        String tip = messageToolTip();
        for (CloneableTopComponent o : NbCollections.
                iterable(topComp.getReference().getComponents())) {
            
            topComp.setHtmlDisplayName(htmlname);
            topComp.setDisplayName(name);
            topComp.setName(name);
            topComp.setToolTipText(tip);
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:17,代码来源:BIEditorSupport.java

示例6: openView

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
/**
 * Opens the view identified by given <code>index</code>
 * and calls <code>#openDocument()</code>.
 * @param index the index of the view to be opened.
 */
void openView(final int index) {
    Utils.runInAwtDispatchThread(new Runnable() {
        public void run() {
            CloneableTopComponent mvtc = openCloneableTopComponent();
            MultiViewHandler handler = MultiViews.findMultiViewHandler(mvtc);
            handler.requestVisible(handler.getPerspectives()[index < 0 ? xmlMultiViewIndex : index]);
            mvtc.requestActive();
        }
    });
    try {
        openDocument();
    } catch (IOException ex) {
        ErrorManager.getDefault().notify(ex);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:21,代码来源:XmlMultiViewEditorSupport.java

示例7: canClose

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
public boolean canClose() {
    final CloneableTopComponent topComponent = ((CloneableTopComponent) getEditorSupport().getMVTC());
    if (topComponent != null){
        Enumeration enumeration = topComponent.getReference().getComponents();
        if (enumeration.hasMoreElements()) {
            enumeration.nextElement();
            if (enumeration.hasMoreElements()) {
                return true;
            }
        }
    }
    FileLock lock;
    try {
        lock = waitForLock();
    } catch (IOException e) {
        ErrorManager.getDefault().notify(e);
        return !isModified();
    }
    try {
        return !isModified();
    } finally {
        lock.releaseLock();
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:25,代码来源:XmlMultiViewDataObject.java

示例8: testDocumentIsSaved

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
public void testDocumentIsSaved() throws Exception {
    support.open();
    Document doc = support.openDocument();
    doc.insertString(0, "test", null);

    CloneableTopComponent ctc = (CloneableTopComponent) support.getAllEditors().getComponents().nextElement();
    SQLCloneableEditor editor = ctc.getLookup().lookup(SQLCloneableEditor.class);
    
    editor.componentDeactivated();
    assertTrue(support.saveDocumentCalled);

    support.saveDocumentCalled = false;
    doc.insertString(0, "test", null);
    editor.writeExternal(new ObjectOutputStream(new ByteArrayOutputStream()));
    assertTrue(support.saveDocumentCalled);

    support.close();
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:19,代码来源:SQLEditorSupportConsoleTest.java

示例9: testDocumentIsNotSavedOnComponentDeactivatedOrWriteExternal

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
public void testDocumentIsNotSavedOnComponentDeactivatedOrWriteExternal() throws Exception {
    support.open();
    Document doc = support.openDocument();
    doc.insertString(0, "test", null);

    CloneableTopComponent ctc = (CloneableTopComponent) support.getAllEditors().getComponents().nextElement();
    SQLCloneableEditor editor = ctc.getLookup().lookup(SQLCloneableEditor.class);
    
    editor.componentDeactivated();
    assertFalse(support.saveDocumentCalled);

    doc.insertString(0, "test", null);
    editor.writeExternal(new ObjectOutputStream(new ByteArrayOutputStream()));
    assertFalse(support.saveDocumentCalled);
    
    // XXX should test support.close() here, but how, since canClose() displays a dialog box?
    //support.close();
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:19,代码来源:SQLEditorSupportNormalTest.java

示例10: reload

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
/** Ask and reload/close image views. */
private void reload(FileEvent evt) {
    // ask if reload?
    // XXX the following is a resource path in NB 3.x and a URL after build system
    // merge; better to produce something nicer (e.g. FileUtil.toFile):
    String msg = NbBundle.getMessage(ImageOpenSupport.class, "MSG_ExternalChange", entry.getFile() );
    NotifyDescriptor nd = new NotifyDescriptor.Confirmation(msg, NotifyDescriptor.YES_NO_OPTION);
    Object ret = DialogDisplayer.getDefault().notify(nd);

    if (NotifyDescriptor.YES_OPTION.equals(ret)) {
        // due to compiler 1.2 bug only
        final ImageDataObject imageObj = (ImageDataObject)entry.getDataObject();
        final CloneableTopComponent.Ref editors = allEditors;

        Enumeration e = editors.getComponents();
        while(e.hasMoreElements()) {
            final Object pane = e.nextElement();
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    ((ImageViewer)pane).updateView(imageObj);
                }
            });
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:26,代码来源:ImageOpenSupport.java

示例11: setTopComponent

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
/** This is called by the multiview elements whenever they are created
 * (and given a observer knowing their multiview TopComponent). It is
 * important during deserialization and cloning the multiview - i.e. during
 * the operations we have no control over. But anytime a multiview is
 * created, this method gets called.
 */
void setTopComponent(TopComponent topComp) {
    multiviewTC = (CloneableTopComponent)topComp;
    String[] titles = getMVTCDisplayName(formDataObject);
    multiviewTC.setDisplayName(titles[0]);
    multiviewTC.setHtmlDisplayName(titles[1]);
    multiviewTC.setToolTipText(getMVTCToolTipText(formDataObject));
    opened.add(this);
    registerNodeListener();
    attachTopComponentsListener();
    try {
        addStatusListener(formDataObject.getPrimaryFile().getFileSystem());
    } catch (FileStateInvalidException fsiex) {
        fsiex.printStackTrace();
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:22,代码来源:FormEditorSupport.java

示例12: createCloneableTopComponent

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
@Override
protected CloneableTopComponent createCloneableTopComponent() {
	TLDataObject dataObject = (TLDataObject) entry.getDataObject();
	
	MVTimelineDescription timelineDescription = new MVTimelineDescription(dataObject);
	MVMapDescription mapDescription = new MVMapDescription(dataObject);


	MultiViewDescription[] tcViewDescriptions = new MultiViewDescription[]{
		timelineDescription,
		mapDescription
	};

	
	// Create component representing experiment
	CloneableTopComponent tc = MultiViewFactory.createCloneableMultiView(
		tcViewDescriptions,
		timelineDescription);

	tc.setDisplayName(dataObject.getPrimaryFile().getNameExt());

	return tc;
}
 
开发者ID:kefik,项目名称:Pogamut3,代码行数:24,代码来源:TLOpenSupport.java

示例13: isFromEditorWindow

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
protected boolean isFromEditorWindow(DataObject dobj,
        final TopComponent tc) {
    final EditorCookie editor = dobj.getLookup().lookup(
            EditorCookie.class);
    if (editor != null) {
        return Mutex.EVENT.readAccess(new Action<Boolean>() {
            @Override
            public Boolean run() {
                return (tc instanceof CloneableTopComponent) // #246597
                        || NbDocument.findRecentEditorPane(editor) != null;
            }
        });
    }
    return false;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:16,代码来源:OpenFilesSearchScopeProvider.java

示例14: createClonedObject

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
@Override
   protected CloneableTopComponent createClonedObject() {
       MultiViewCloneableTopComponent tc = new MultiViewCloneableTopComponent();
tc.setMultiViewDescriptions(peer.model.getDescriptions(), getActiveDescription());
       tc.setCloseOperationHandler(peer.closeHandler);
       tc.peer.copyMimeContext(peer);
if(getSplitOrientation() != -1) {
    tc.splitComponent(getSplitOrientation(), -1);
    tc.updateName();
}
       return tc;
   }
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:13,代码来源:MultiViewCloneableTopComponent.java

示例15: testCloneableMultiViewsSerialize

import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
public void testCloneableMultiViewsSerialize() throws Exception {
    InstanceContent ic = new InstanceContent();
    Lookup lookup = new AbstractLookup(ic);
    
    CloneableTopComponent cmv = MultiViews.createCloneableMultiView("text/context", new LP(lookup));
    assertPersistence("Always", TopComponent.PERSISTENCE_ALWAYS, cmv);
    assertNotNull("MultiViewComponent created", cmv);
    NbMarshalledObject mar = new NbMarshalledObject(cmv);
    TopComponent mvc = (TopComponent) mar.get();
    doCheck(mvc, ic);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:12,代码来源:MultiViewProcessorTest.java


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