Взамен сообщения:
viewtopic.php?p=47249#p47249 (т.к. оно так и не стало доступно для редактирования)
В РДП-среде должны вестись каталоги объектов различного рода. В частности, каталогизации подлежат:
1. Величины, употреблённые сочинителем в схемах документа с формальным языком (дракон-программах и иных). При этом после того, как среда станет полноценной (для импер-деклар-моделирования), в ней д.б. реализован контроль наличия описаний употребляемых неатомарных типов по нижеследующей процедуре.
При отсутствии типа в деклар-части редактор должен предлагать сочинителю описать тип. Если предложение принято - открывается окно редактирования деклар-надсхемы текущего проекта, и на существующее в нём "дерево типов" автоматически "вешается" заголовок для схемы описываемого; далее сочинитель работает самостоятельно с возможностью прервать работу в любой момент. Если предложение не принято (напр., сочинителю не хочется отвлекаться от импер-моделирования) или не указано, что начатое описание завершено (напр. как свойство-триггер, устанавливаемое сочинителем) - новый тип включается в перечень неописанных; при каждом последующем открытии проекта для редактирования, а если он является дракон-программой - то также при попытке её трансляции этот перечень показывается сочинителю в сообщении-напоминании.
2. Источники, на которые ссылается содержание документа. Нужно вести биббазу данных либо по АРМ, либо по пользователям. В конкретном РДП-документе формируется обычный перечень источников по номерам, но содержание пункта перечня берётся по ссылке на запись из биббазы (т.е. описания источников пополняются в ней, а не в документе). Формат записи скорее всего д.б. как установлено в библиотечном деле ("машинная карточка" издания; пример можно найти
на этой странице, выполнив поиск), а для перечня берутся отдельные поля (значения которых составляются в слитный текст пункта).
3. Области (непустые, выборочно по указанию сочинителя). Удобно вести каталоги областей как отдельные листы РДП-документа, для которых сочинитель выбрал особый тип "каталог". По сути это то же, что страница-палетта в DesignIDEF, смысл - на ней допустимо помещать иконы Область, логически не входящие ни в какую схему как варианты либо как декомпозиты к.-л. фрагмента.
Очевидно, что поля объектов в текстах икон такой области также абстрагируются - становятся переменными-"иксами" (получают условные имена; одному имени в исходной схеме соответствует одно имя по каталогу); при использовании в конкретной схеме сочинитель должен указать имя из числа употребляемых в этой схеме вместо каждого условного для обратной конкретизации.
Если область является шампур-блоком, то можно поставить ей в соответствие в каталоге некоторую шампур-икону с текстом; объекты этого текста также ставятся в соответствие объектам текстов икон, входящих в область. Тем самым вводится обобщение области для более высокого уровня детализации схем на данном гибридном техноязыке. Эту операцию, очевидно, должен выполнять сочинитель.
Лист-каталог, по-видимому, д.б. одноязыковым; он сохраняется и открывается отдельно (или в составе отдельного РДП-каталога, где наверно м.б. листы для разных языков РДП). Сочинитель может создавать столько каталогов, сколько ему нужно. В принципе это то же, что лист-шаблон; см. п.4.
Очевидно, для реализации нужны соответствующие команды, приводимые
в 6-м техтребовании от меня.
Тип "каталог" можно определить, допустим, как свойство листа вообще; тогда он настраивается через команду установки свойств листа и отдельной команды создания листа-каталога не требуется.
4. Листы РДП-документа (по указанию сочинителя, для использования в качестве шаблонов). Удобно объявлять некоторые листы шаблонными и сохранять их отдельно, а затем загружать в текущий РДП-документ (либо при создании нового листа допускать указание шаблонного как образца, по которому создавать).