|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Запись действий и возвращение "назад"
Здравствуйте, в приложении хочу сделать кнопку возвращение назад, как в браузере. Приложение не браузерное. Хочу сделать типа swfAdress, только на более детальном уровне. Чтобы помимо переходов по основным экранам, также шла запись команд на внутриэкранном уровне - открытие-закрытие окон, мелкие элементы интерфейса. Может кто реализовывал что-нибудь подобное, подскажите, как, в каком виде лучше хранить историю и организовать по ней движение.
__________________
Стой! Опасная зона! Работа мозга! |
|
|||||
Так понятно, что в массив... Вот только что? Ссылки на функции, которые вызываю и параметры к ним... Или ID какие-нибудь.
__________________
Стой! Опасная зона! Работа мозга! |
|
|||||
ну если вы реализовываете свое приложение через тот же MVС, то было бы неплохо записывать чтото, что поймет ваша модель, а что... ну тут все зависит от модели, можете ссылки, можете хоть строки вида "open -f c:/somefile.txt". все от фантазии зависит конечно же. а может вы придумаете чтото новое? Если да, то потом расскажите)
|
|
|||||
Да в том то и дело, что за день до сдачи проекта заказчику срочно приперло сделать такую вот штуку, да и еще и подробную. А проект создавался без перспективы подобного рода изысканий(((
По экранам-то навигация у меня предусмотрена из любого места приложения, а вот что там пользователь наделал внутри - с этим небольшие трудности...
__________________
Стой! Опасная зона! Работа мозга! |
|
|||||
Пусть заказчик расширяет сроки.
Вам нужно выделить все типы производимых действий и стаковать их в массив. Возможно, стоит написать отдельный класс для подобного действия.
__________________
Дело не в тебе |
|
|||||
сохраняйте все параметры(все то что пользователь может поменять) при каждом шаге, и при переходе назад возвращайтесь к прежним значениям, тут была статья про редактор текста http://www.flasher.ru/forum/showthread.php?t=89822 там в исходниках рассматривается вопрос шагов вперед и назад...
надеюсь поможет |
|
|||||
Modus ponens
|
Во Флексе это называется Automation - это как бы целая теория, как правильно такие вещи делать... ну, и как в любой теории есть свои всякие течeния, противоречия и т.д. Но это как бы больше из области програмирования десктопных приложений - так что ищите больше в ту сторону, на AS каких-то более-менее серьезных вещей в этом смысле не делалось...
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 22.07.2009 в 22:13. |
|
|||||
> сохраняйте все параметры(все то что пользователь может поменять) при каждом шаге, и при переходе назад возвращайтесь к прежним значениям
Пробовал, зашел в тупик, начал выбираться и погряз по уши в багах и непонятках =( Все удалил. Сделал класс HistoryManager со статическими методами addState, gotoPreviousState, clearHistory. В ключевой точке приложения вызываю метод addState, который создает экземпляр вспомогательного класса и записывает в него текущее состояние приложения, начиная с главного окна и далее вглубь него и записываю его в массив. То есть каждый элемент массива - это полноценный "снимок" приложения в заданный момент времени. Возвращаясь же к предыдущему элементу истории, я сверху вниз по иерархии начинаю проверять совпадает ли текущее состояние приложения с предыдущим, если дохожу до точки, где начинаются расхождения - изменяю как мне нужно. Вроде все нормально получается... ночь длинная, буду продолжать делать =)
__________________
Стой! Опасная зона! Работа мозга! |
Часовой пояс GMT +4, время: 09:49. |
|
« Предыдущая тема | Следующая тема » |
|
|