OberonCore https://forum.oberoncore.ru/ |
|
Заменить модель https://forum.oberoncore.ru/viewtopic.php?f=24&t=390 |
Страница 1 из 1 |
Автор: | Иван Горячев [ Среда, 28 Февраль, 2007 12:07 ] |
Заголовок сообщения: | Заменить модель |
Вот вопрос: как мне заменить модель у отображения? В частности, у TextViews.View. Не хочется его пересоздавать заново с новой моделью... |
Автор: | Info21 [ Среда, 28 Февраль, 2007 12:28 ] |
Заголовок сообщения: | Re: Заменить модель |
Ivor писал(а): Вот вопрос: как мне заменить модель у отображения? В частности, у TextViews.View. Не хочется его пересоздавать заново с новой моделью...
нет ли противоречия с самой идеей разделения Model-View? |
Автор: | Иван Горячев [ Среда, 28 Февраль, 2007 12:37 ] |
Заголовок сообщения: | Re: Заменить модель |
По-моему нет. Даннные и отображение разделены. Хочу - показываю одни данные, хочу - другие. Зачем обязательно их жёстко связывать? |
Автор: | Info21 [ Среда, 28 Февраль, 2007 17:30 ] |
Заголовок сообщения: | Re: Заменить модель |
Ivor писал(а): По-моему нет. Даннные и отображение разделены. Хочу - показываю одни данные, хочу - другие. Зачем обязательно их жёстко связывать?
По-моему, там (в ББ) была заложена возможность разных способов смотреть одну модель. А так, совсем менять -- ну можно же текст Replace'нуть... |
Автор: | Илья Ермаков [ Среда, 28 Февраль, 2007 22:32 ] |
Заголовок сообщения: | |
Иван, а в чем проблема? Пишите новую модель - наследник TextModels.Model, инсталлируйте свой каталог в TextModels - и все. TextViews сам начнет работать с новой моделью. |
Автор: | Иван Горячев [ Четверг, 01 Март, 2007 01:39 ] |
Заголовок сообщения: | |
Видимо так сделать и придётся. Но криво всё это. Мне всего лишь нужно было в одном и том же отображении показывать разные модели (типа один и тот же текст на разных языках). Или действительно Replace гонять... |
Автор: | Илья Ермаков [ Четверг, 01 Март, 2007 03:23 ] |
Заголовок сообщения: | |
Напишите специальную прокси-модель. Отображение работает с одной прокси-моделью, а уже она переадресует обращения к одной из других, реальных моделей - и переключает между ними. Видимо, самый оптимальный и красивый вариант. |
Автор: | Иван Горячев [ Четверг, 01 Март, 2007 03:59 ] |
Заголовок сообщения: | |
Так уже ![]() |
Автор: | Иван Горячев [ Пятница, 02 Март, 2007 13:49 ] |
Заголовок сообщения: | |
Проски написал, но вылезли грабли: текст редактируется, но отображение не изменяется. Как я понимаю, после изменения модели она посылает сообщение типа Models.UpdateMsg, у которого поле model содержит ссылку на модель. С случае моего прокси меняется истинная модель, она же и отсылает сообщения, но отображение то работает с прокси-моделью, и на это сообщение не реагирует! Как такую беду побороть? Пытаюсь поймать искомое сообщение, но что-то не ловится... |
Автор: | Илья Ермаков [ Пятница, 02 Март, 2007 13:55 ] |
Заголовок сообщения: | |
Ну, с ходу - реализовать обратную связь - написан proxy-TextView, который будет иметь моделью реальные TextModel, а сам будет заниматься только тем, что передавать сообщения от них выше реальному TextView. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |