Перейти к основному содержимому

Документы

Этот документ был подготовлен при помощи ИИ

Текст может содержать неточности, устаревшие данные или технические ошибки. Пожалуйста, проверяйте критически важную информацию перед использованием.

Документ — блочный редактор и одновременно модель проекта. В нём пишут текст — заголовки, абзацы, списки, таблицы, код, медиа — и вставляют значения, вычисленные по другим моделям.

Содержимое пересчитывается при каждом открытии документа, и правите вы готовый текст.

Документ, открытый в редакторе: текст и значения, прочитанные из
модели

Создание документа

  1. Откройте меню проекта, выберите Новая модель, укажите Имя, выберите Тип моделиДокумент — и нажмите Создать.
  2. Щёлкните правой кнопкой мыши по документу в навигаторе моделей, выберите Новое представление, укажите имя и нажмите Создать. Откроется блочный редактор.
  3. Выделите документ и добавьте в поле Данные его формы корни моделей, из которых документ берёт значения.

Выражения обращаются к привязанным корням через self.data. Это всегда коллекция, даже если корень один. Привязать можно и корни из других моделей проекта.

В той же форме задаётся Язык выражений: AQL, OCL, SPARQL, CEL или EOL. Язык один на весь документ; если он не выбран, выражения вычисляются на AQL.

Поля

Поле — строчный фрагмент, значение которого вычисляется из модели.

  1. Наберите /, откройте в меню группу Динамические и выберите Поле.
  2. Введите выражение, например self.data.elements->size(), и нажмите Enter.

Дальше поле показывает вычисленное значение. Выражение правится в поле Выражение формы свойств.

Число, строка и логическое значение выводятся как есть, объект модели — в виде Label (EClassName), коллекция — поэлементно, пустой результат — заполнителем . Если выражение не вычислилось, поле показывает ошибку, а остальной документ собирается как обычно.

Поля только читают модель. Выражение, которое изменило бы её, не выполняется.

Выражение выбранного поля, показанное в форме свойств

Повторяющиеся блоки

Репликация отрисовывает блок по разу на каждый элемент коллекции.

Реплицированный раздел, отрисованный по разу на каждый элемент
коллекции

  1. Поставьте курсор в блок и заполните в форме свойств два поля: Выражение — коллекцию, например self.data.elements, и Переменную — имя, к которому каждая копия привязывает свой элемент, например cls.
  2. Вставьте в блок поле с выражением cls.name.

Повторяются абзацы, элементы списка, цитаты, блоки кода, таблицы, строки и ячейки. Заголовок повторяется вместе со своим разделом, то есть со всеми блоками до следующего заголовка того же или более высокого уровня. Разделитель, изображение, видео, аудио и файл не повторяются.

Правка любой копии меняет единственный оригинал, после чего перерисовываются остальные копии. Вложенные реплицированные блоки перемножают коллекции, и внутренняя копия видит обе переменные.

Число копий задаёт коллекция: чтобы копий стало меньше, удалите элементы из модели. Пустая коллекция даёт одну копию с заполнителем в полях.

Оглавление

Навигатор моделей собирает оглавление из заголовков документа — по нему удобно перемещаться в длинном тексте.

Оглавление документа в навигаторе моделей, собранное из заголовков