Я как-то вместо того, чтобы заморачиваться с каждым контролом разобрался с акциями - для них можно установить глобальный обработчик на срабатывание и на идл.

Соответственно в табличке прав хранился полный путь акции (по парентам), и дефолтное разрешение (разрешена, запрещена, невидима)
Ну и табличка пользователь/акция/разрешение.

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

Приложение было изрядное, и введение этой системы позволило встроитьтуда систему полномочий почти ничего не меняя. :-)
--
Александр Замараев

Ответить