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/