Результаты проверки формата

Результаты формата

Можно заставить результаты анализа собственных проверок казаться подобными друг другу с минимальными сценариями с помощью класса ModelAdvisor.FormatTemplate.

Если этот шаблон формата не удовлетворяет ваши потребности, или если вы хотите отформатировать результаты действия, используйте API Форматирования Model Advisor, чтобы произвести отформатированные выводы в Model Advisor. Следующие конструкторы класса ModelAdvisor позволяют вам форматировать вывод.

КонструкторОписание
ModelAdvisor.Text

Создайте вывод текста Model Advisor.

ModelAdvisor.List

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

ModelAdvisor.Table

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

ModelAdvisor.Paragraph

Создайте и форматирование абзацев.

ModelAdvisor.LineBreak

Вставьте разрыв строки.

ModelAdvisor.Image

Включайте изображение в Model Advisor вывод.

Текст формата

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

  • Пустой

  • (Черный) цвет по умолчанию

  • Восстановленный после форматирования (не полужирный, выделенный курсивом, подчеркнутый, соединенный, преобразованный в нижний индекс или преобразованный в верхний индекс)

Чтобы изменить текстовое форматирование, используйте конструктора ModelAdvisor.Text. Когда это необходимо один тип форматирования для всего текста, используйте этот синтаксис:

ModelAdvisor.Text(content, {attributes})
Когда это необходимо несколько типов форматирования, необходимо создать текст.
t1 = ModelAdvisor.Text('It is ');
t2 = ModelAdvisor.Text('recommended', {'italic'});
t3 = ModelAdvisor.Text(' to use same font for ');
t4 = ModelAdvisor.Text('blocks', {'bold'});
t5 = ModelAdvisor.Text(' for a uniform appearance in the model.');

result = [t1, t2, t3, t4, t5];
Добавьте ASCII и Расширенные символы ASCII с помощью команды MATLAB® char. Для получения дополнительной информации смотрите страницу класса ModelAdvisor.Text.

Списки форматов

Можно создать два типа списков: пронумерованный и маркируемый. Форматирование списка по умолчанию маркируется. Используйте конструктора ModelAdvisor.List, чтобы создать и списки форматов. Можно создать списки с подразделами с отступом, отформатированными или как пронумерованные или как маркируемые.

subList = ModelAdvisor.List();
subList.setType('numbered')
subList.addItem(ModelAdvisor.Text('Sub entry 1', {'pass','bold'}));
subList.addItem(ModelAdvisor.Text('Sub entry 2', {'pass','bold'}));

topList = ModelAdvisor.List();
topList.addItem([ModelAdvisor.Text('Entry level 1',{'keyword','bold'}), subList]);
topList.addItem([ModelAdvisor.Text('Entry level 2',{'keyword','bold'}), subList]);

Таблицы формата

Табличное форматирование по умолчанию:

  • (Черный) цвет по умолчанию

  • Оставленный выровненный по ширине

  • Полужирный заголовок, строка и заголовки столбцов

Измените табличное форматирование с помощью конструктора ModelAdvisor.Table.

Этот пример создает подтаблицу в рамках таблицы.

table1 = ModelAdvisor.Table(1,1);
table2 = ModelAdvisor.Table(2,3);
table2.setHeading('Table 2');
table2.setHeadingAlign('center');
table2.setColHeading(1, 'Header 1');
table2.setColHeading(2, 'Header 2');
table2.setColHeading(3, 'Header 3');
table1.setHeading('Table 1');
table1.setEntry(1,1,table2);

Этот пример составляет таблицу с пятью строками и пятью столбцами, содержащими случайным образом сгенерированные числа. Используйте код MATLAB в функции обратного вызова, чтобы составить таблицу. Model Advisor отображает table1 в результатах.

% ModelAdvisor.Table example

matrixData = rand(5,5) * 10^5;

% initialize a table with 5 rows and 5 columns (heading rows not counting)
table1 = ModelAdvisor.Table(5,5);

% set column headings
for n=1:5
    table1.setColHeading(n, ['Column ', num2str(n)]);
end

% set alignment of second column heading
table1.setColHeadingAlign(2, 'center');

% set column width of second column
table1.setColWidth(2, 3);

% set row headings
for n=1:5
    table1.setRowHeading(n, ['Row ', num2str(n)]);
end

% set Table content
for rowIndex=1:5
    for colIndex=1:5
        table1.setEntry(rowIndex, colIndex, ...
            num2str(matrixData(rowIndex, colIndex)));

        % set alignment of entries in second row
        if colIndex == 2
            table1.setEntryAlign(rowIndex, colIndex, 'center');
        end
    end
end

% overwrite content of cell 3,3 with a ModelAdvisor.Text
text = ModelAdvisor.Text('Example Text');
table1.setEntry(3,3, text)

Форматирование абзацев

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

  • Пустой

  • (Черный) цвет по умолчанию

  • Бесформатный, (не полужирный, выделенный курсивом, подчеркнутый, соединенный, преобразованный в нижний индекс или преобразованный в верхний индекс)

  • Выровненный по левому краю

Если вы хотите изменить форматирование абзаца, используйте класс ModelAdvisor.Paragraph.

Отформатированный вывод

Следующее является примером от Простой Функции обратного вызова Проверки, переформатированное использование API Форматирования Model Advisor.

function result = SampleStyleOneCallback(system)
mdladvObj = Simulink.ModelAdvisor.getModelAdvisor(system);
if strcmp(get_param(bdroot(system), 'ScreenColor'),'white')
    result = ModelAdvisor.Text('Passed',{'pass'});
    mdladvObj.setCheckResultStatus(true);
else
    msg1 = ModelAdvisor.Text(...
        ['It is recommended to select a Simulink window screen color'...
        ' of white to ensure a readable and printable model. Click ']);
    msg2 = ModelAdvisor.Text('here');
    msg2.setHyperlink('matlab: set_param(bdroot,''ScreenColor'',''white'')');
    msg3 = ModelAdvisor.Text(' to change screen color to white.');
    result = [msg1, msg2, msg3];
    mdladvObj.setCheckResultStatus(false);
end

Разрывы строки формата

Можно добавить разрыв строки между двумя строками текста с конструктором ModelAdvisor.LineBreak.

result = ModelAdvisor.Paragraph;
addItem(result, [resultText1 ModelAdvisor.LineBreak resultText2]);

Изображения формата

Чтобы включать изображение в Model Advisor вывод, используйте конструктора ModelAdvisor.Image. Чтобы создать объект Image, используйте этот синтаксис.

image_obj = ModelAdvisor.Image;

Смотрите также

| |

Связанные примеры

Больше о

Для просмотра документации необходимо авторизоваться на сайте