Показать сообщение отдельно
Старый 22.08.2008, 01:46
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 12  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Стало только замороченнее, но смысл остался тот же...
изменилось значение -> один контрол разослал событие, тут же поменялось значение у контролов слушателей -> они в свою очередь выслали событие обратно, и так пока 15 секунд не протикает =)
Вообще, на самом деле сейчас это работает так: у контролов есть метод setValue() который ничего не диспатчит и гет/сет value который в сеттере вызывает setValue() и потом сообщает всем подписчикам об изменении. Контролы на события друг друга не подписываются, есть только один подписчик - форма - она и решает нужно ли проапдейтить кого-то еще. Проблема скорее в том, как динамически описать зависимости между компонентами.
т.е. я хочу стороннему разработчику предоставить простые АПИ для создания формы. Общая идея примерно следующая:
Код:
createForm(xml):Form
{ построить форму на основе того, что было в ХМЛе }
Т.е. по любому пользователь АПИ будет решать чего делать с евентами, ему даже знать не обязательно какие именно контролы есть на форме...
__________________
Hell is the possibility of sanity