crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

wiz29
  опции профиля:
сообщение 8.10.2010, 10:30
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


Добрый день всем.
Вопрос, можно ли каким либо образом сереализовать команды которые "кладуться" в QUndoStack?
можно ли как то "положить" команду в QUndoStack чтобы при этом не произошло вызова redo?
PS. Просто не хочется реализовывать паттерн Command целиком, кутешный именно по этим 2м причинам не подходит.

Сообщение отредактировал wiz29 - 8.10.2010, 10:31
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
wiz29
  опции профиля:
сообщение 11.10.2010, 15:26
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


Спасибо за проявленый интрес, я сделал примерно следующее.
Создал некий объет MySerializer который может упаковывать некие типы данных имеющие интерфейс сериализации.
MyCommandDataAbstract - это интерфейс данных для команды, которую можно сериализовать в неком QIODevice.
+ MyCommandBase c методом SetMyCommandData - устанавливает данные для выполнения команды. Ну и пришлось использовать d MyUndoStack в качестве закрытой реализации QUndoStack. Посути MySerializer, некий упрощенный манагер размещения данных команд.

Просто сохранять/загружать постоянно данные команды не совсем эффективно, как мне кажется, вот для этого и сделал весь огород:)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 18.2.2025, 17:22