Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
LASpace
 Аватар для LASpace
34 / 34 / 3
Регистрация: 27.01.2013
Сообщений: 142
#1

Отмена действия - C++

12.11.2013, 21:46. Просмотров 266. Ответов 1
Метки нет (Все метки)

Доброе время суток! Сорри если не там тему создал
Дело вот в чем, необходимо реализовать в программе откат действия (ctrl+z). Программа напоминает visio от Microsoft, куча прямоугольников с привязаными к ним данными. Можно менять положение прямоугольников и через специальное меню можно изменять привязанные к эти прямоугольникам данные и параметры.
Вопрос вот в чем: как именно лучше завоминать действия юзера? Добавление/Удаление/Изменение данных.

Я додумался вот до чего:
С каждым действием юзера создавать экземпляр структуры действие ( struct ST_ACTION ) и добавлять в лог ( ну пусть будет список TList или контейнер vector )
Структура ST_ACTION должна содержать:
- тип действия
- все параметры которые могут измениться
- размер лога ( static )
- номер положения в логе
- номер текущего пложения в логе ( для ctrl+shift+z ) ( static )
- методы перехода по логу ( отмена действия и отмена отмены действия )
- методы частичной и полной очистки лога

Может кто делал что то подобное или знает как умные дяди это реализуют??? Буду рад любому совету и критике)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 21:46     Отмена действия
Посмотрите здесь:

поясните действия C++
C++ Действия с матрицией
пишу ed, отмена изменений C++
C++ Отмена ввода по нажатию ESC
Отмена регистра C++
Действия с массивом C++
Замедление действия C++
C++ Действия с объектами
C++ Отмена коммита в GitHub
C++ Отмена создания объекта при неверных аргументах
Действия в коде C++
2 действия на 1 кнопке C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4383 / 3226 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
12.11.2013, 22:17     Отмена действия #2
LASpace, ознакомьтесь с паттерном "Команда".
Yandex
Объявления
12.11.2013, 22:17     Отмена действия
Ответ Создать тему
Опции темы

Текущее время: 07:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru