Disable user interactions

Hi Beni,

is there any easy way to disable all possible interactions a user can do with the dockables
(drag&drop, resizing, actions, …) ?

I’ve found some older posts which partially describe some thing. It would be great if there were
something like controller.setEnabled(false/true) :wink:

I’ve managed to disable the resizing and the drag&drop, but the actions are still enabled and the user
can open minimized dockables.

Something to the background:
We have an internal component which uses the docking framework. This component can be disabled under
certain circumstances, so the user should not be able to move, activate or resize the dockables.

Greetz,
Thomas

Hi Thomas

At the moment you would have to access each action and disable it manually. But because some actions are shared between Dockables you would have some bad side effects.

If you can wait until the end of the week, I’ll write you a little feature to disable Dockables or the entire framework more easily.

Hi Beni,

that would be great, i can wait until the end of the week :slight_smile:

Thanks in advance.

Greetz,
Thomas

I’ve uploaded a new version: CDockable has a new method “setEnabled” with which you can disable parts related to the dockable. E.g. all titles or all actions. There will be some visual effects when you do this, things tend to become very gray.

If you need more control: implement the interface DisablingStrategy and install your custom strategy using the key “DisablingStrategy.STRATEGY”. That would be the way to go when you want to disabled all dockables at once.

Hi Beni,

sounds great :slight_smile:

I will try it this week (I hope ), thanks for your work.

Greetz,
Thomas