Is there a way to restrict (actions and d&d) external dockables from becoming internal?
With the Common project? There is no easy way as per default every Dockable can be “normalized”. But - without testing it:
- By using a custom DockAcceptance you could prevent any drag and drop operation aiming towards the main-frame.
- And with a custom “ExtendedModeEnablement” (extending DefaultExtendedModeEnablement) you could prevent the “normalize” button from showing up.
For a DockAcceptance use “CControl.getController().addAcceptance” to register it.
For the ExtendedModeEnablement use “CControl.putProperty( LocationModeManager.MODE_ENABLEMENT, new CustomExtendedModeEnablementFactory() )” to register it. Overriding “isAvailable” and returning “false” for some Dockables when asked for the “ExtendedMode.NORMALIZED” should be enough.
I can write you a working example later, if you wish and need it.