License

Description:
enableDisableFig sets the figure hFig's enable/disable state, which is otherwise supported by Matlab only for specific components but not figures. Using this function, the entire figure window, including all internal menus, toolbars and components, is enabled/disabled in a single call. Valid values for newState are true, false, 'on' & 'off' (case insensitive). hFig may be a list of figure handles.

Note 1: when the state is enabled, internal figure components may remain disabled if their personal 'enabled' property is 'off'.

Note 2: in disabled state, a figure cannot be moved, resized, closed or accessed. None of its menues, toolbars, buttons etc. are clickable.

enableDisableFig(newState) sets the state of the current figure (gcf).

state = enableDisableFig(hFig) returns the current enabled/disabled state of figure hFig, or of the current figure (gcf) if hFig is not supplied. The returned state is either 'on' or 'off'.

Unfortunately this seems to reset the figure pointer to the arrow, which is a problem common to other options I have tried to disable interaction with a UI. It does exactly what I want apart from that, but if I have to choose I'd rather my users see a busy cursor and trust them not to click the UI when it is shown than freeze the UI with no indication that something is happening.