.. _rte_frame_postgres: Редактор форматированного текста (RTE) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Редактор форматированного текста. .. image:: rte_frame.png .. versionadded:: 1.27.0-ms15 для :term:`PostgreSql решения ` .. seealso:: - :ref:`Фрейм для oracle решения` - :ref:`Диалог спецсимволов ` - :xsd:class:`Метаданные Postgres ` - :java:ref:`gtk API - CoreRichTextEditorView ` Режимы работы редактора ''''''''''''''''''''''' Редактор работает в двух режимах: **Режим редактирования** Позволяет изменять содержимое документа. В этом режиме доступны панели инструментов, горячие клавиши, вставка данных. Если фрейм открыт в режиме редактирования, пользователь может вводить текст, изменять форматирование, структуру документа и вставлять элементы. **Режим просмотра** Отображает текст без возможности редактирования. Панели инструментов заблокированы, ввод с клавиатуры заблокирован. Оба режима применяются автоматически в зависимости от того, доступно ли редактирование для атрибута, который указан в свойстве фрейма :xsd:attr:`View.Representation.Layout.Frame.RichTextEditor.documentFieldName` или :btk:frameprop:`TbtkLookupRichTextEditorFrame.DocumentFieldName`. Панели инструментов (Toolbars) '''''''''''''''''''''''''''''' Панель инструментов представляет собой набор кнопок, сгруппированных по функциональности. Каждая панель отвечает за отдельный тип действий и отображается в интерфейсе в виде компактной горизонтальной группы инструментов. Редактор форматированного текста содержит следующие панели инструментов: .. _rte_toolbar_history: История (history) ^^^^^^^^^^^^^^^^^ Панель инструментов для управления историей изменений. Позволяет отменить или повторить последние действия пользователя. .. rubric:: Функции панели: * **Отменить последнее действие** - отменяет последнее действие пользователя (:kbd:`Ctrl+Z`) * **Повторить отменённое действие** - повторяет ранее отменённое действие (:kbd:`Ctrl+Y`) .. warning:: При использовании редактора в качестве детального фрейма операции отмены и повтора изменений не учитывают переключение записей в мастер-выборке. При смене записи и последующем вызове **Отменить последнее действие** или **Повторить последнее действие** содержимое может быть откатано к состоянию предыдущей записи (например, текст `X` появится при активной записи с текстом `Y`), что приводит к некорректному контексту отображения. .. _rte_toolbar_formatting: Форматирование (formatting) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Панель для управления структурой текста. Позволяет назначать заголовки и назначать форматирование текста. .. rubric:: Функции панели: * **Жирный** - делает выделенный текст жирным (:kbd:`Ctrl+B`) * **Курсив** - делает выделенный текст курсивным (:kbd:`Ctrl+I`) * **Подчёркнутый** - делает выделенный текст подчёркнутым (:kbd:`Ctrl+U`) * **Зачёркнутый** - делает выделенный текст зачёркнутым (:kbd:`Ctrl+Shift+X`) * **Подстрочный** - делает выделенный текст подстрочным * **Надстрочный** - делает выделенный текст надстрочным .. _rte_toolbar_paragraph: Абзац (paragraph) ^^^^^^^^^^^^^^^^^ Панель инструментов для работы с абзацами и списками. .. rubric:: Функции панели: * **Заголовок 1** - форматирует текущий абзац как заголовок первого уровня (:kbd:`Ctrl+Alt+1`) * **Заголовок 2** - форматирует текущий абзац как заголовок второго уровня (:kbd:`Ctrl+Alt+2`) * **Заголовок 3** - форматирует текущий абзац как заголовок третьего уровня (:kbd:`Ctrl+Alt+3`) * **Заголовок 4** - форматирует текущий абзац как заголовок четвертого уровня (:kbd:`Ctrl+Alt+4`) * **Заголовок 5** - форматирует текущий абзац как заголовок пятого уровня (:kbd:`Ctrl+Alt+5`) * **Заголовок 6** - форматирует текущий абзац как заголовок шестого уровня (:kbd:`Ctrl+Alt+6`) * **Маркированный список** - создаёт или преобразует текущий абзац в маркированный список (:kbd:`Ctrl+Shift+8`) * **Нумерованный список** - создаёт или преобразует текущий абзац в нумерованный список (:kbd:`Ctrl+Shift+7`) .. Note:: Заголовки 1-6 недоступны в режиме совместимости :option:`jasperHtmlMarkup`. .. _rte_toolbar_fontstyle: Стиль шрифта (fontStyle) ^^^^^^^^^^^^^^^^^^^^^^^^ Панель инструментов для настройки стиля шрифта. .. rubric:: Функции панели: * **Выбор шрифта** — позволяет выбрать шрифт из списка доступных * **Размер шрифта** — позволяет установить размер шрифта * **Цвет текста** — позволяет выбрать цвет текста * **Цвет фона** — позволяет выбрать цвет фона текста Для функции "Выбор шрифта", в стандартном режиме доступны шрифты, покрывающие большую часть типографических вариаций. В режиме совместимости :option:`jasperHtmlMarkup` доступен ограниченный набор шрифтов. .. tab-set:: .. tab-item:: Стандартный режим * Inter (:term:`Основной шрифт` для :term:`AS`) * Arial * Arial Black * Comic Sans MS * Georgia * Impact * JetBrains Mono * Tahoma * Times New Roman * Verdana .. tab-item:: Режим jasperHtmlMarkup * SansSerif (используется вместо :term:`Основной шрифт`) * Arial Black * Comic Sans MS * Courier New * Tahoma * Times New Roman * Verdana .. attention:: :term:`Основной шрифт` не поддерживается в режиме :option:`jasperHtmlMarkup`, так как :term:`Jaspersoft® Studio 6.20` не имеет встроенной поддержки этого шрифта. Вместо него используется ``SansSerif``, являющийся шрифтом по умолчанию в данной программе. .. Note:: Инструмент "Размер шрифта" недоступен в режиме совместимости :option:`jasperHtmlMarkup`. Режимы отображения панелей инструментов ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Набор панелей инструментов является настраиваемым и определяется свойствами фрейма :xsd:attr:`View.Representation.Layout.Frame.RichTextEditor.toolbars` или :btk:frameprop:`TbtkLookupRichTextEditorFrame.Toolbars`. Если редактор находится в режиме прсмотра, тогда видимость панелей инструментов настраивается через свойства :xsd:attr:`View.Representation.Layout.Frame.RichTextEditor.toolbars.cantEdit` или :btk:frameprop:`TbtkLookupRichTextEditorFrame.Toolbars.CantEdit`. При указании режима отображения ``custom`` необходимо отдельно перечислить необходимые для отображения панели инструментов через свойства :xsd:attr:`View.Representation.Layout.Frame.RichTextEditor.toolbars.custom` или :btk:frameprop:`TbtkLookupRichTextEditorFrame.Toolbars.Custom` (:xsd:attr:`View.Representation.Layout.Frame.RichTextEditor.toolbars.custom.cantEdit` или :btk:frameprop:`TbtkLookupRichTextEditorFrame.Toolbars.Custom.CantEdit` для режима просмотра) .. seealso:: - :java:ref:`CoreRichTextEditorView.getToolbarMode()`, :java:ref:`CoreRichTextEditorView.setToolbarMode()` - :java:ref:`CoreRichTextEditorView.getToolbarModeCantEdit()`, :java:ref:`CoreRichTextEditorView.setToolbarModeCantEdit()` - :java:ref:`CoreRichTextEditorView.getCustomToolbarList()`, :java:ref:`CoreRichTextEditorView.setCustomToolbarList()` - :java:ref:`CoreRichTextEditorView.getCustomToolbarListCantEdit()`, :java:ref:`CoreRichTextEditorView.setCustomToolbarListCantEdit()` - :java:ref:`CoreRichTextEditorView.resetToolbarSettings()` Markdown преобразования '''''''''''''''''''''''' Редактор содержит ряд встроенных удобств, повышающих скорость ввода текста. Некоторые часто используемые конструкции Markdown автоматически преобразуются в отформатированный текст: * Ввод ``**текст**`` → **текст** - жирный * Ввод ``*текст*`` → *текст* - курсив * Ввод ``~~текст~~`` - зачеркнутый * Ввод ``#`` в начале строки - заголовок первого уровня. Можно указать до 6 символов `#`, каждый символ увеличивает уровень заголовка. * Ввод ``-`` или ``*`` в начале строки - элемент маркированного списка * Ввод ``1.`` - элемент нумерованного списка с индексом `1`. Можно указать любое число вместо `1` Преобразование происходит после ввода последнего символа преобразования при нажатии :kbd:`Space` или :kbd:`Enter`. **Автоматические списки** Если пользователь продолжает строку списка нажатием `Enter`, создаётся новый пункт списка. Копирование и вставка из буфера обмена '''''''''''''''''''''''''''''''''''''' При копировании текста редактор помещает в буфер обмена сразу несколько форматов данных (MIME). Это необходимо для того, чтобы разные приложения при вставке могли корректно выбрать тот тип данных, который они поддерживают. Работа осуществляется через стандартизованный механизм `Clipboard API `_ браузера. Поддерживаемые форматы ^^^^^^^^^^^^^^^^^^^^^^^ * **text/plain** - представление содержимого в виде обычного текста без какого-либо форматирования. * **text/html** - HTML-фрагмент, воспроизводящий поддерживающее форматирование: жирный, курсив, списки, стили шрифта, цвета и т.д. При вставке в редактор с поддержкой HTML формата сохраняется большая часть форматирования (зависит от редактора, куда вставляем). При вставке же **text/html** в RTE редактор сохраняется только поддерживаемое форматирование, весь остальной текст вставляется в неотформатированном виде. * **application/json** - представление содержимого в виде JSON-сериализации. Служебный формат хранения данных в редакторе. Применяется при копировании из одного RTE редактора в другой точно такой же RTE редактор. При вставке сохраняется все форматирование. .. note:: При вставке данных из *Excel* данные вставляются в формате **text/html**, но из-за того что html тэги, связанные с таблицами, не поддерживаются редактором, итоговый текст вставляется в неотформатированном виде.