External dockable only?

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.