Я думал о централизации этой функциональности с помощью одного метода, которому передается аргумент AppState, и он имеет дело с изменением свойств всех элементов графического интерфейса на основе этого аргумента. Каждый раз, когда приложение меняет свое состояние (готово, занято, загружается, поэтому частично занято и т. д.), эта функция вызывается с соответствующим состоянием (или, возможно, это битовое поле или что-то в этом роде), и она делает свое волшебство.
Если я разбрасываю изменение состояния элементов GUI повсюду, то очень легко забыть, что когда приложение находится в каком-то состоянии, этот другой виджет тоже нужно отключить и т. д.
Есть ли другие способы борьбы с подобными вещами?