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