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