Perspective switch, CDockable some questions?

Suppose
A_Perspective:CDockable1,CDockable2,CDockable3,…
B_Perspective:CDockableH,CDockableM,CDockableN,…

?A_Perspective---------->B_Perspective, CDockable1,CDockable2 will be removed?
Does not seem to remove, but some will be removed.
This principle is?

this.addVetoClosingListener(new CVetoClosingListener() {

            @Override
            public void closing(CVetoClosingEvent cvce) {
            }

            @Override
            public void closed(CVetoClosingEvent cvce) {
                
            }
        });

Should be said that some call CVetoClosingListener,some not.

Any CDockable which is associated with a working-area (like CWorkingArea) does not get replaced.

This behavior is equivalent to the behavior of Eclipse: Tool windows get replaced, Editor windows stay (editor window = dockable on working area).

However, I did not use the CWorkingArea concept.
My CDockable are DefaultSingleCDockable , control.addDockable(dockable);

control.addDockable(dockable1);
control.addDockable(dockable2);
control.addDockable(dockable3);
control.addDockable(dockable4);

I do not know dockable1 dockable2 is working-area, or Tool-area.
I see them as the same characteristics.

All of my dockable by control.addDockable();

Could you give me a little example how you set up the application and how you load the layout? Because this part of the framework did work properly for a long time.

In fact, I want to know is?
When a Perspective to another Perspective,In front of the Perspective contains CDockable Will be removed from the control? trigger CVetoClosingListener?

closing != removing.

A CDockable that was added to a CControl stays added until it is removed by the client (with the exception of MultipleCDockables whose “isRemoveOnClose” property is set).

If a CDockable is closed it just is removed from its parent, but the CControl keeps track of the CDockable.

If a perspective is applied it is like first closing all Dockables that are no longer required (and in the process triggering the CVetoClosingListener), and then moving around all remaining CDockables. The CVetoClosingListener should only be triggered for those Dockables which are not shown with the new perspective.

I carefully observed the behavior of this switch,Will be triggered.
ok,This is what I want.
Thanks.

The CVetoClosingListener should only be triggered for those Dockables which are not shown with the new perspective.


Yes,This is what I expected.

@Override
public void closed(CVetoClosingEvent cvce) {
         logger.info("{}:disposeFunction",DockingViewWrapper.this.vf.getFunctionLabel());
         DockingViewWrapper.this.vf.disposeFunction();
         getControl().getOwner().remove(DockingViewWrapper.this);         
}

I will be closed () removed.

Was that a question or just a remark?

just a remark