Hola martinzcr,
Tal vez
esto pueda darte una idea, si bien no lo que tu buscas. El problema se resume en como "explorar" cada nodo y su subnodo.
Como comentario:
hace tiempo vi un mensaje de los foros acerca de un sistema de ventas hecho en Delphi que se encuentra disponible en sourceforge.net, (Buscalo por ventas). Me asombró como maneja el tema de los perfiles y las opciones a habilitar/deshabilitar en los menus.
Al comienzo cuesta entenderle la mano a la "fórmula".
Si estas interesado... puedes darle una ojeada, puede que te sirva o te otra perspectiva.
Saludos,