This commit is contained in:
Ilya Kantor 2016-11-14 16:31:21 +03:00
parent 3defacc09d
commit f99574f53b
178 changed files with 530 additions and 271 deletions

View file

@ -0,0 +1,15 @@
importance: 5
---
# Меню с таймером для анимации
Есть класс `Menu`. У него может быть два состояния: открыто `STATE_OPEN` и закрыто `STATE_CLOSED`.
Создайте наследника `AnimatingMenu`, который добавляет третье состояние `STATE_ANIMATING`.
- При вызове `open()` состояние меняется на `STATE_ANIMATING`, а через 1 секунду, по таймеру, открытие завершается вызовом `open()` родителя.
- Вызов `close()` при необходимости отменяет таймер анимации (назначаемый в `open`) и передаёт вызов родительскому `close`.
- Метод `showState` для нового состояния выводит `"анимация"`, для остальных -- полагается на родителя.
[edit src="source" title="Исходный документ, вместе с тестом"]