Disable model operations by event

At the moment the operation button is only disabled by the command. In my point of view this should be part of the `GetOperationButtonEvent` because if a button is disabled or not is not necessarily a global state.

* A toogle button can be disabled and enabled for the same command
* Disabling for instance the delete button if it has some child records related

This pull request adds the disable state to the event and adjust the `BaseView` rendering for it.