Main Content

setResultDetails

Associates result details with a check object

Syntax

setResultDetails(ElementResults)

Description

In the check callback function, use setResultDetails(ElementResults) to associate ElementResults with the check (CheckObj).

ElementResults is a collection of instances of the ModelAdvisor.ResultDetail class.

Input Arguments

ElementResults

Collection of ResultDetailObjs objects

Examples

This example shows the result details that correspond to the execution of check Check whether block names appear below blocks in the AdvisorCustomizationExample model. At the end of the code, CheckObj.setResultDetails(ElementResults); associates the results with the check object. For more information, see Create and Deploy Model Advisor Custom Configuration.

% -----------------------------
% This callback function uses the DetailStyle CallbackStyle type. 
% -----------------------------
function DetailStyleCallback(system, CheckObj)
    % Get the Model Advisor object.
    mdladvObj = Simulink.ModelAdvisor.getModelAdvisor(system); 

    % Find the blocks whose names do not appear below the block.
    violationBlks = find_system(system, 'Type', 'block', ...
        'NamePlacement', 'alternate', ...
        'ShowName', 'on');
    
    if isempty(violationBlks)
        ElementResults = ModelAdvisor.ResultDetail;
        ElementResults.ViolationType = 'info';
        ElementResults.Description = 'Identify blocks where the name is not displayed below the block.';
        ElementResults.Status = 'All blocks have names displayed below the block.';
        
        % Disable action since no violations are found
        mdladvObj.setActionEnable(false);
    else
        ElementResults = ModelAdvisor.ResultDetail.empty;
        for i = 1:numel(violationBlks)
            ElementResults(i) = ModelAdvisor.ResultDetail;
            ModelAdvisor.ResultDetail.setData(ElementResults(i), 'SID', violationBlks{i});
            ElementResults(i).Description = 'Identify blocks where the name is not displayed below the block.';
            ElementResults(i).Status = 'The following blocks have names that do not display below the block:';
            ElementResults(i).RecAction = 'Change the location such that the block name is below the block.';
        end
        
        % Enable action since violations are found
        mdladvObj.setActionEnable(true);
    end
    
    CheckObj.setResultDetails(ElementResults);
end

Version History

Introduced in R2018b