Thanks for this, Matthew. One question though. There may be an issue with maintaining the 'Enable' setting of the children. In my GUI I have a toolbar, and some tools are only available in certain situations. Setting the children's 'Enable' state works fine, until I select a tool, at which point all disabed buttons become enabled.
There is an easy workaround, of course, to re-disable the disabled buttons at the end of the callback function. However I though I would bring the issue to your attention.
I had a quick question. Is there any way to get a ButtonBox to behave like a uibuttongroup? Basically to enforce 1 button selected at a time, and a selectionchange callback. Should not be hard to implement manually but a bit over my head I'm afraid.