--- a/core.multiview/src/org/netbeans/core/multiview/MultiViewCloneableTopComponent.java +++ a/core.multiview/src/org/netbeans/core/multiview/MultiViewCloneableTopComponent.java @@ -355,6 +355,10 @@ return false; } + @Override + public SubComponent[] getSubComponents() { + return MultiViewTopComponent.getSubComponents( peer ); + } /** * implementation of the MultiViewElement.ActionRequestObserver, manages activatation of the elements --- a/core.multiview/src/org/netbeans/core/multiview/MultiViewTopComponent.java +++ a/core.multiview/src/org/netbeans/core/multiview/MultiViewTopComponent.java @@ -44,13 +44,17 @@ package org.netbeans.core.multiview; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.io.*; import java.util.Map; import javax.swing.Action; +import org.netbeans.core.api.multiview.MultiViewPerspective; import org.netbeans.core.multiview.MultiViewModel.ActionRequestObserverFactory; import org.netbeans.core.spi.multiview.CloseOperationHandler; import org.netbeans.core.spi.multiview.MultiViewDescription; import org.netbeans.core.spi.multiview.MultiViewElementCallback; +import org.openide.awt.Actions; import org.openide.awt.UndoRedo; import org.openide.util.HelpCtx; import org.openide.util.Lookup; @@ -276,6 +280,28 @@ public void requestFocus() { peer.requestFocus(); } + + @Override + public SubComponent[] getSubComponents() { + return getSubComponents( peer ); + } + + static SubComponent[] getSubComponents( final MultiViewPeer peer ) { + MultiViewModel model = peer.getModel(); + MultiViewPerspective[] perspectives = model.getPerspectives(); + SubComponent[] res = new SubComponent[perspectives.length]; + for( int i=0; i