function [] = ReqName_callback(block)
% Callback processing function for mask parameter
% - number of Preconditions used in the Requirment Name Set
set_param(block, 'LinkStatus', 'none');
load_system('Simulink'); % Load Simulink library (background)
load_system('MIL_Test');
No = str2double(get_param(block,'No')); % Get # of Reqs
OldNo = length(find_system(block, 'regexp', 'on','LookUnderMasks','all','Name','<Precondition name>'));
% Add or remove model items
for i = 1:max(No,OldNo)
if OldNo > No && i > No && i <= OldNo % Remove
% Remove lines
set_param([block '/switch <signal1>'], 'Inputs', num2str(No+1));
PreLines = get_param([block '/<Precondition name>' num2str(i)],'LineHandles');
delete_line(PreLines.Inport(1));
delete_line(PreLines.Outport(2));
% Remove blocks
delete_block([block '/<Precondition name>' num2str(i)]);
elseif No > OldNo && i > OldNo && i <= No % Add
% Add blocks
add_block('MIL_Test/Test Data/Test Data Architecture/<Test data generator>/<Requirement name>/<Precondition name>',[block '/<Precondition name>' num2str(i)]);
set_param([block '/<Precondition name>' num2str(i)], 'LinkStatus', 'none');
if i == 2
pos = get_param([block '/<Precondition name>'], 'Position');
else pos = get_param([block '/<Precondition name>' num2str(i-1)], 'Position');
end
pos1 = pos(1);
pos3 = pos(3);
pos2 = pos(2)+100;
pos4 = pos(4)+100;
set_param([block '/<Precondition name>' num2str(i)], 'Position', [pos1 pos2 pos3 pos4]);
set_param([block '/switch <signal1>'], 'Inputs', num2str(i+1));
% Add lines
add_line(block,['Out Bus/1'],['<Precondition name>' num2str(i) '/1'],'autorouting','on');
add_line(block,['<Precondition name>' num2str(i) '/2'],['switch <signal1>/' num2str(i+2)],'autorouting','on');
end
end
if No == 1
InPos = get_param([block '/<Precondition name>'], 'Position');
else
InPos = get_param([block '/<Precondition name>' num2str(No)], 'Position');
end
InP1 = InPos(1)+130;
InP3 = InPos(3)+120;
InP2 = InPos(2)+80;
InP4 = InPos(4)+70;
set_param([block '/Initialisation & Stabilisation'], 'Position',[InP1 InP2 InP3 InP4]);
parentOfReq = get_param(block, 'Parent');
system_name1(parentOfReq);