OberonCore
https://forum.oberoncore.ru/

Два документа в одном файле - возможно ли?
https://forum.oberoncore.ru/viewtopic.php?f=23&t=1021
Страница 1 из 1

Автор:  Иван Кузьмицкий [ Понедельник, 09 Июнь, 2008 21:24 ]
Заголовок сообщения:  Два документа в одном файле - возможно ли?

Создаю два документа, каждый в своём окне. В одном - макет страницы отчёта, в другом - разметка полос. Модель одна.

Сообщения от макета до полос долетают нормально. Экстернализация модели в файл ODC делается стандартным образом. Но каждый документ сохраняется в файл независимо друг от друга.

А хочется, чтоб оба документа лежали в одном файле. И что-то не понимаю, возможно ли такое вообще, не задействуя конвертеры.

Автор:  Valery Solovey [ Понедельник, 09 Июнь, 2008 23:26 ]
Заголовок сообщения:  Re: Два документа в одном файле - возможно ли?

А чем различаются макет страницы и разметка полос? Это структура данных и расположение данных на листе?

И одну модель Вы храните в двух файлах?

Автор:  Иван Кузьмицкий [ Понедельник, 09 Июнь, 2008 23:58 ]
Заголовок сообщения:  Re: Два документа в одном файле - возможно ли?

Я использую возможности составных документов для макетирования отчёта.

В одном окне открывается обычная форма, размер которой задаёт размер листа при печати. Также на форме присутствует область вывода полос и другие элементы, выводимые на принтер.

В другом окне редактируется список полос (т.н. bands), то есть, последовательно и циклически выводимых блоков.

Редактор полос - это отображение-контейнер, внутри которого внедрено текстовое отображение TextViews.View. Каждая полоса - это формочка, на которую стандартным образом можно набрасывать контролы.

Макет и полосы разнесены по разным окнам в силу того, что макетировать в одном окне лист и полосы неудобно.

То есть, отчёт включает в себя макет страницы и набор полос. И надо всё это дело соответственно сохранять в один файл.

По отдельности всё сохраняется стандартным способом (Save As). Либо форма-макет. Либо текст-полосы.
Все отображения завязаны на одну модель, которая распространяет изменения дизайна (например, в окне макета пользователь изменил ширину области вывода полос, и ширина полос автоматически изменилась), и тоже сохраняется в файле.

Вот и интересно - а можно ли выкрутиться и сохранить содержимое обоих окон в один файл? Это было бы изящно :)
Если такого способа нет, ну что ж - сделаю конвертер.

Автор:  Valery Solovey [ Вторник, 10 Июнь, 2008 18:25 ]
Заголовок сообщения:  Re: Два документа в одном файле - возможно ли?

И всё же для меня непонятен смысл слова "макет" в сочетании с "редактором полос". Для меня это что-то почти одинаковое, две сущности со множесвом дублирующихся функций.

Возможно, это форма и содержание (правильнее - структура содержания) отчёта соответственно? Я на ББ не работаю, поэтому MVC знаю слабо, но если предположить, то Блэкбоксовская реализация MVC идеальна, то моделью (а соответственно, и одним файлом) может стать форма и содержание отчёта, а два отображения модели позволят работать с каждой из этих сущностей в отдельном окне. Но Вы, скорее всего, уже пытались пройти этим путём, я напомнил об этом так, на всякий случай : ). Если же Вы "сюдою не ходили" и Вам это интересно, но я не особо понятно объяснил, то обращайтесь : ).

P.S. Или Вы это и называете конвертером?

Автор:  Info21 [ Вторник, 10 Июнь, 2008 19:33 ]
Заголовок сообщения:  Re: Два документа в одном файле - возможно ли?

Может быть тут две разные вьюшки на одну модель? Это-то как раз предусмотрено.
А вторая вьюшка (макет) открывается/зависит от первой? Тогда она (вторая) всегда хранится в первой.

Не кажется, что есть реальная трудность.

Автор:  Иван Кузьмицкий [ Вторник, 10 Июнь, 2008 19:37 ]
Заголовок сообщения:  Re: Два документа в одном файле - возможно ли?

Я слово "макет" употребляю в сочетании со словом "страница", и отдельно от "редактора полос". Как мне показалось, макетирование страницы и полос - это разные вещи, поэтому и развёл их на разные окна.

А модель у них, конечно же, одна.

Я малость не дотумкал - отображение "макета страницы" и отображение "редактора полос" надо экстернализировать именно через их модель (формулировка ещё та, извините). А модель сбрасывается в файл при попытке сохранить любое из окон.

Реальной трудности, конечно же нет, трудность в тугости шариков и роликов в голове :)

Автор:  Info21 [ Среда, 11 Июнь, 2008 03:01 ]
Заголовок сообщения:  Re: Два документа в одном файле - возможно ли?

Иван Кузьмицкий писал(а):
... трудность в тугости ...


На самом деле самому протюхиваться через неожиданные способы употребления ББ-каркаса та еще морока.

Вот тоже бодался вставлял по инерции (по образцу текстов, форм и проч.) вьюшки в модель-контейнер, а потом оказалось что должны быть параллельные иерархии конейнер-элементы и для вьюшек, и для моделей -- и всё встало на места.

И сложного ничего нет, но до чего же инерция мешает видеть простые вещи, блин.

Автор:  Евгений Темиргалеев [ Среда, 11 Июнь, 2008 08:27 ]
Заголовок сообщения:  Re: Два документа в одном файле - возможно ли?

Info21 писал(а):
И сложного ничего нет, но до чего же инерция мешает видеть простые вещи, блин.
Извиняюсь за оффтоп, но хочется подписаться под этими словами. А некторые ещё ноют, что их Блэкбоксу стали учить...

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/