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

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

Можно заставить результаты анализа собственных проверок казаться похожими друг на друга с минимальными сценариями с помощью 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;

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

| |

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

Больше о