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/ |