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