Название: Перерисовка окна(он) извне Отправлено: Igors от Май 18, 2017, 11:43 Добрый день
Есть достаточно развесистое немодальное окно показывающее данные какого-то объекта, одного из многих. Юзверь может редактировать эти данные, все хорошо. Однако эти данные могут измениться и из многих других мест. Ну хотя бы случилось undo - и вот уже данные в окне надо перезарядить. При этом слетают установки/контекст внутри окна. Напр нередко в нем список - перезарядка пере-собирает его заново, selection и scroll утеряны, юзеру приходится выбирать опять. То же и для вида объекта рисуемого в окне - юзер мог довольно тщательно его настраивать, а при первом undo раз - и все улетело на дефаулт :'( Конечно я морально готов к велику, но может теория чего хорошего скажет? Ну а вдруг есть что-то "ис каропки" :) Спасибо Название: Re: Перерисовка окна(он) извне Отправлено: Racheengel от Май 18, 2017, 12:48 Memento Pattern ?
С запоминанием открытых ветвей, контекста, выделений и пр. Название: Re: Перерисовка окна(он) извне Отправлено: Igors от Май 18, 2017, 14:23 Memento Pattern ? Ну как всегда "оказывается и паттерн такой есть". Двинулся примерно этим путем - другого ничего не видно, хоть с паттерном хоть без. Только кода уже добавилось немало, на деле все оказалось хужЕе. Для начала запоминать надо для каждого "клиента" - объекта чьи опции окно показывает. Ну и указатели не катят, хорошо ID-ы были. Мда, противная мелочьС запоминанием открытых ветвей, контекста, выделений и пр. Название: Re: Перерисовка окна(он) извне Отправлено: Racheengel от Май 18, 2017, 15:05 Undo-Redo обычно неприятно, да...
Но если через сериализацию данных сделать, то полехче будет. По крайней мере относительно универсальное решение. |