本文整理汇总了Java中org.openide.windows.CloneableTopComponent类的典型用法代码示例。如果您正苦于以下问题:Java CloneableTopComponent类的具体用法?Java CloneableTopComponent怎么用?Java CloneableTopComponent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CloneableTopComponent类属于org.openide.windows包,在下文中一共展示了CloneableTopComponent类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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
示例16: doToolbarCheck
import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
private void doToolbarCheck(int select) throws Exception {
CloneableTopComponent tc = MultiViews.createCloneableMultiView("text/toolbar", this);
tc.open();
assertVisible("MultiView visible", tc);
assertEquals("One toolbar exists: " + MVE.allToolbars, 1, MVE.allToolbars.size());
MultiViewHandler handle = MultiViews.findMultiViewHandler(tc);
final MultiViewPerspective[] perspectives = handle.getPerspectives();
assertEquals("Four perspectives", 4, perspectives.length);
handle.requestVisible(perspectives[2]);
assertEquals("two toolbars exist", 2, MVE.allToolbars.size());
for (int i = 0; i < 2; i++) {
handle.requestVisible(perspectives[i == 0 ? i : i + 1]);
assertVisible("Toolbar is showing(" + i +")", MVE.allToolbars.get(i));
}
handle.requestVisible(perspectives[select]);
W waiter = new W();
editorSettingsPreferences.addPreferenceChangeListener(waiter);
editorSettingsPreferences.putBoolean("toolbarVisible", false);
waiter.waitThree();
for (int i = 0; i < 2; i++) {
handle.requestVisible(perspectives[i == 0 ? i : i + 1]);
assertFalse("No Toolbar is showing anymore", MVE.allToolbars.get(i).isShowing());
}
}
开发者ID:apache,项目名称:incubator-netbeans,代码行数:32,代码来源:ToolbarVisibleTest.java
示例17: createPane
import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
@Override
protected Pane createPane(CloneableEditorSupport sup) {
final Lookup lkp = Lookups.fixed(sup);
class P implements Serializable, Lookup.Provider {
@Override
public Lookup getLookup() {
return lkp;
}
}
CloneableTopComponent pane = MultiViews.createCloneableMultiView("text/x-compat-test", new P());
return (Pane) pane;
}
开发者ID:apache,项目名称:incubator-netbeans,代码行数:13,代码来源:MultiViewEditorCreationFinishedTest.java
示例18: testLookupProvidersAreConsistent
import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
public void testLookupProvidersAreConsistent() throws Exception {
InstanceContent ic = new InstanceContent();
Lookup context = new AbstractLookup(ic);
CloneableEditorSupport ces = createSupport(context);
ic.add(ces);
ic.add(10);
final CloneableTopComponent tc = MultiViews.createCloneableMultiView("text/plaintest", new LP(context));
final CloneableEditorSupport.Pane p = (CloneableEditorSupport.Pane) tc;
EventQueue.invokeAndWait(new Runnable() {
@Override
public void run() {
tc.open();
tc.requestActive();
p.updateName();
}
});
assertNull("No icon yet", tc.getIcon());
MultiViewHandler handler = MultiViews.findMultiViewHandler(tc);
final MultiViewPerspective[] one = handler.getPerspectives();
assertEquals("Two elements only" + Arrays.asList(one), 2, handler.getPerspectives().length);
assertEquals("First one is source", "source", one[0].preferredID());
assertEquals("Second one is also source", "source", one[1].preferredID());
handler.requestVisible(one[0]);
List<Lookup.Provider> arr = new ArrayList<Provider>();
findProviders(tc, arr);
assertEquals("Two providers: " + arr, 2, arr.size());
assertSame("Both return same lookup", arr.get(0).getLookup(), arr.get(1).getLookup());
}
开发者ID:apache,项目名称:incubator-netbeans,代码行数:34,代码来源:MultiViewEditorElementTest.java
示例19: propertyChange
import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getPropertyName().equals(EditorCookie.Observable.PROP_OPENED_PANES)) {
final CloneableTopComponent cmp = support.getRef ().getArbitraryComponent();
CloneableEditor ed = findEditor(cmp);
assertNotNull("Editor is found", ed);
final boolean paneReady = ed.isEditorPaneReady();
if (eventCounter == 0) {
assertFalse("First event. isEditorPaneReady must return false", paneReady);
eventCounter++;
} else if (eventCounter == 1) {
assertTrue("Second event. isEditorPaneReady must return true", paneReady);
}
}
}
开发者ID:apache,项目名称:incubator-netbeans,代码行数:16,代码来源:CloneableEditorCreationFinishedTest.java
示例20: createCloneableTopComponent
import org.openide.windows.CloneableTopComponent; //导入依赖的package包/类
/** A method to create a new component. Must be overridden in subclasses.
* @return the cloneable top component for this support
*/
protected CloneableTopComponent createCloneableTopComponent() {
// initializes the document if not initialized
prepareDocument ();
Thread tstThread = new Thread
(new Runnable() {
public void run() {
synchronized (new java.awt.Panel().getTreeLock()) {
System.out.println(System.currentTimeMillis() + " Thread runs");
pls.getOriginal(0);
System.out.println(System.currentTimeMillis() + " Thread finish");
}
}
},"Test"
);
tstThread.start();
System.out.println(System.currentTimeMillis() + " Main sleeping");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
}
System.out.println(System.currentTimeMillis() + " Main wakeuped");
CloneableEditor ed = createCloneableEditor ();
initializeCloneableEditor (ed);
return ed;
}
开发者ID:apache,项目名称:incubator-netbeans,代码行数:33,代码来源:EmptyCESHidden.java
注:本文中的org.openide.windows.CloneableTopComponent类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论