Руководство по actionscript. часть 2, стр. 061

Рассмотрим описанные шаги на примере с кнопкой-переключателем. Предположим, мы используем нашу кнопку-переключатель в приложении с панелью управления, которое назначает различные привилегии своим пользователям в зависимости от их статуса. Пользователи-«гости» могут использовать только некоторые

кнопки на панели, в то время как пользователям-«администраторам» доступны все кнопки.

Для реализации различных уровней доступа в приложении мы определяем новый тип события кнопки-переключателя: ToggleEvent. TOGGLE_ATTEMPT. Это событие возникает всякий раз, когда пользователь пытается включить или выключить кнопку-переключатель. Стандартным поведением, характеризующим событие ToggleEvent. TOGGLE_ATTEMPT, является изменение состояния переключателя.

Для упрощения будем считать, что кнопку-переключатель можно включить или выключить только щелчком кнопки мыши (не используя клавиатуру). Всякий раз, когда пользователь щелкает на кнопке-переключателе, выполняется диспетчеризация события ToggleEvent. TOGGLE_ATTEMPT. Затем, если никакой приемник не отменяет стандартного поведения, мы изменяем состояние переключателя. Рассмотрим соответствующий код:

private function clickListener (e:MouseEvent):void { // Пользователь попытался включить или выключить переключатель, поэтому // просим среду Flash выполнить диспетчеризацию события // ToggleEvent. TOGGLE_ATTEMPT. получателем которого является данный объект // ToggleSwitch. Сначала создадим событийный объект… var toggleEvent:ToggleEvent =

new ToggleEvent(ToggleEvent. TOGGLE_ATTEMPT. true, true);

// … затем отправляем запрос на диспетчеризацию события dispatchEvent(toggleEvent);

// Диспетчеризация события Toggl eEvent. TOGGLE_ATTEMPT завершена. // Если никакой приемник не отменил стандартное поведение события… if (ItoggleEvent. isDefaultPrevented( )) {

// …изменяем состояние переключателя

toggle( );

}

}

В нашем приложении с панелью управления мы регистрируем приемник события ToggleEvent. TOGGLE_ATTEMPT для каждого объекта ToggleSwitch. Внутри этого приемника проверяется статус пользователя. Для закрытых переключателей, если пользователь является «гостем», мы отменяем стандартное поведение события. Рассмотрим этот код:

// Приемник выполняется всякий раз. когда возникает событие // ToggleEvent. TOGGLE_ATTEMPT

private function toggleAttemptListener (e:ToggleEvent):void { // Если пользователь является «гостем»… if (userType == UserType. GUEST) {

// …запретить изменение состояния переключателя

e. preventDefaultC );

В листинге 12.5 целиком показан код приложения с панелью управления, включая полнофункциональную, хотя и простую графическую версию кнопки-переключателя. Понять этот код вам помогут подробные комментарии.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 12.04.2011">Делаем загар при помощи Photoshop
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.38
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 145
  • 07.11.2011">10 примеров навигации по сайту
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.119
  • 28.02.2011">Руководство по actionscript. часть 6, стр. 018
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.165
  • 18.03.2011">Руководство по actionscript. часть 2, стр. 133
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 036
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.9
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.47
  • 17.03.2011">Руководство по actionscript. часть 3, стр. 001
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.25
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.62
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.62
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...