Russian Qt Forum
Июнь 22, 2017, 17:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Перерисовка окна(он) извне  (Прочитано 381 раз)
Igors
Джедай : наставник для всех
*******
Online Online

Сообщений: 9651


Просмотр профиля
« : Май 18, 2017, 11:43 »

Добрый день

Есть достаточно развесистое немодальное окно показывающее данные какого-то объекта, одного из многих. Юзверь может редактировать эти данные, все хорошо. Однако эти данные могут измениться и из многих других мест. Ну хотя бы случилось undo - и вот уже данные в окне надо перезарядить. При этом слетают установки/контекст внутри окна. Напр нередко в нем список - перезарядка пере-собирает его заново, selection и scroll утеряны, юзеру приходится выбирать опять. То же и для вида объекта рисуемого в окне - юзер мог довольно тщательно его настраивать, а при первом undo раз - и все улетело на дефаулт  Плачущий

Конечно я морально готов к велику, но может теория чего хорошего скажет?  Ну а вдруг есть что-то "ис каропки" Улыбающийся

Спасибо
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2360

чтоб работа волком не казалась :)


Просмотр профиля WWW
« Ответ #1 : Май 18, 2017, 12:48 »

Memento Pattern ?
С запоминанием открытых ветвей, контекста, выделений и пр.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

http://sintegrial.com - всякий хороший Qt софт (был Грустный )
Igors
Джедай : наставник для всех
*******
Online Online

Сообщений: 9651


Просмотр профиля
« Ответ #2 : Май 18, 2017, 14:23 »

Memento Pattern ?
С запоминанием открытых ветвей, контекста, выделений и пр.
Ну как всегда "оказывается и паттерн такой есть". Двинулся примерно этим путем - другого ничего не видно, хоть с паттерном хоть без. Только кода уже добавилось немало, на деле все оказалось хужЕе. Для начала запоминать надо для каждого "клиента" - объекта чьи опции окно показывает. Ну и указатели не катят, хорошо ID-ы были. Мда, противная мелочь
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2360

чтоб работа волком не казалась :)


Просмотр профиля WWW
« Ответ #3 : Май 18, 2017, 15:05 »

Undo-Redo обычно неприятно, да...
Но если через сериализацию данных сделать, то полехче будет. По крайней мере относительно универсальное решение.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

http://sintegrial.com - всякий хороший Qt софт (был Грустный )
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Страница сгенерирована за 0.053 секунд. Запросов: 22.