Задайте задачи для компонента, чтобы выполнить

Об индивидуальной настройке компонента

Создание компонента создает файлы MATLAB® в рабочем пространстве MATLAB. Задайте задачи, которые вы хотите, чтобы ваш компонент выполнил путем редактирования этих файлов MATLAB.

Примечание

Необходимо задать формат и содержимое отчета, выведенного путем редактирования execute.m. Этот файл называется во время генерации отчета, чтобы вызвать задачи вашего компонента. Опционально, можно задать дополнительные свойства компонентов и поведение путем редактирования других файлов MATLAB.

Для получения дополнительной информации смотрите следующие разделы:

Требуемая настройка: задайте формат и содержимое отчета Вывод

После того, как вы создаете компонент, задаете формат и содержимое вашего отчета, выведенного путем редактирования файла execute.m.

Команда execute имеет следующий синтаксис:

out = execute(thisComp, parentDoc)

Где:

  • thisComp является указателем на компонент, который вы запускаете.

  • parentDoc является указателем на документ, который вы генерируете.

  • out является узлом Объектной модели документа (DOM) или строкой, чтобы добавить к отчету.

    Для получения информации об управлении узлами DOM смотрите xmlwrite в документации MATLAB.

Одна или несколько строк кода по умолчанию в файле execute.m показывают каждое свойство для компонента. Вот пример строки свойства компонентов в файле execute.m:

pstring = thisComp.NewStringProperty;  % New string property;

Следующие разделы описывают, как отредактировать execute.m, чтобы создать дополнительные элементы отчета.

Составьте таблицы

Чтобы составить таблицу, замените значение свойства Source на имя массива ячеек или структуры:

out = execute(rptgen.cfr_table(...
'Source', tableSrc,...
'numHeaderRows',1,...
'TableTitle','Example Title'),...
 parentDoc);

Для получения дополнительной информации введите help(rptgen.cfr_table) в командной строке MATLAB.

Создайте списки

Чтобы создать список, замените значение свойства Source на имя вектора ячейки:

out = execute(rptgen.cfr_list(...
'Source', listSrc,...
'ListStyle','orderedlist',...
'ListTitle','Example List'),...
 parentDoc);

Для получения дополнительной информации введите help(rptgen.cfr_list) в командной строке MATLAB.

Создайте текст

Чтобы создать текст, замените значение свойства ParaText на вектор символов:

out = execute(rptgen.cfr_paragraph(...
'ParaText', paraSrc,...
 parentDoc);

Для получения дополнительной информации введите help(rptgen.cfr_paragraph) в командной строке.

Создайте фигуры

Чтобы создать фигуры, задайте фигуру в значении свойства FigureHandle.

figSrc = gcf;
out = execute(rptgen_hg.chg_fig_snap(...
'FigureHandle', figSrc,...
'Title', '',...
'isResizeFigure', 'manual',...
'PrintSize', [6 4],...
'PrintUnits', 'inches'),...
 parentDoc);

Для получения дополнительной информации введите help(rptgen_hg.chg_fig_snap) в командной строке MATLAB.

Запустите дочерние компоненты

Следующий код запускает дочерние компоненты. Первая строка вызывает execute.m для дочерних компонентов. Вторая строка добавляет результаты выполнения дочерних компонентов к отчету:

childOut = thisComp.runChildren(parentDoc);
out = parentDoc.createDocumentFragment(out, childOut);

Измените текст структуры компонента в иерархии Report Explorer

Поменять струну раньше описывало компонент в иерархии Report Explorer, редактировало файл MATLAB getOutlineString. По умолчанию getoutlinestring возвращает имя отображения компонента. Команда getOutlineString имеет следующий синтаксис:

olstring = getOutlineString(thisComp) 

Где:

  • thisComp является компонентом, описание которого вы задаете.

  • olstring является одной линией, которая отображает информацию о компоненте. Это может содержать максимум 32 символов.

Настройте строку, чтобы включать дополнительную информацию о компоненте, таком как информация о ее свойствах. В следующем примере функция truncatestring преобразовывает входные данные в однострочный вектор символов. Если данные пусты, второй аргумент является возвращаемым значением, третий аргумент является максимальным позволенным размером получившегося вектора символов.

cInfo = '';
pstring = rptgen.truncateString(thisComp.string,'<empty>',16);

Используйте тире (-) в качестве разделителя между именем и дополнительной информацией компонента, можно следующим образом:

if ~isempty(cInfo)
   olstring = [olstring, '-', cInfo];
end

Измените внешний вид диалоговых окон свойств

Можно отредактировать файл getdialogschema.m, чтобы управлять большинством аспектов размещения диалогового окна, включая:

  • Создание и размещение виджетов

  • Организация виджетов в панели

  • Создание отображения верхнего уровня, в котором находятся панели

Синтаксис команды:

dlgstruct = getdialogschema(thisComp, name)

Где:

  • thisComp является экземпляром отредактированного компонента.

  • name является вектором символов, который передается getdialogschema, чтобы создать определенный тип панели. Обычно, name пуст в Report Explorer.

Примечание

Не изменяйте поля, которые явным образом не включены в этот файл. Эти поля подвержены изменениям в будущих релизах.

Задайте дополнительные свойства компонентов

Можно отредактировать дополнительные файлы MATLAB, чтобы настроить компонент далее. Чтобы получить доступ к этим файлам, щелкните правой кнопкой по компоненту по панели Схемы слева в Report Explorer и выберите Edit files из его контекстного меню.

Для получения дополнительной информации смотрите следующие разделы:

Задайте, могут ли компоненты иметь дочерние компоненты

Чтобы задать, может ли компонент иметь дочерние элементы, отредактируйте getParentable.m. Эта команда возвращает значение true или false. Например, если вы больше не хотите, чтобы ваш компонент имел дочерние компоненты, измените значение в рамках кода можно следующим образом:

p = false;

Измените описание компонента

Описание в getDescription.m является тем же значением как поле Description в Report Explorer. Следующий пример показывает, как отредактировать значение compDesc в этом файле, чтобы изменить описание компонента на An example component:

compDesc = 'An example component';

Поменяйте имя отображения компонента

Имя отображения в getName.m является тем же значением как поле Display name в Report Explorer. Следующий пример показывает, как отредактировать значение compName в этом файле, чтобы изменить название отображения компонента на Example Component:

compName = 'Example Component';

Измените название категории компонента

Название категории в getType.m является тем же значением как поле Category name в Report Explorer. Следующий пример показывает, как отредактировать значение compCategory в этом файле, чтобы изменить название категории компонента на Custom Components:

compCategory = 'Custom Components';

Укажите компоненты

Можно указать компоненты в Report Explorer с помощью rptcomps2.xml. Этот файл также помогает создать список доступных компонентов.

Содержимое этого файла должно быть сопоставимо со значениями в файлах getType.m и getName.m. Если вы изменили значения в любом из этих файлов, необходимо также изменить их значения в rptcomps2.xml. Необходимо перезапустить сеанс программного обеспечения MATLAB для Report Explorer, чтобы отобразить новую информацию.

Отобразите справку компонента в браузере документации MATLAB

Файл viewHelp.m отображает справочный файл для компонента в Браузере документации MATLAB. Чтобы отобразить справочный файл, подсветите имя компонента в Report Explorer и нажмите Help.