使用回调自定义需求导入行为
当您从第三方工具导入需求或者更新需求时,您可以使用回调来执行代码。PreImportFcn
回调在您导入需求之前执行,而 PostImportFcn
回调在您导入需求之后执行。您可以使用这些回调来自定义导入行为。
为回调分配代码
您可以使用需求编辑器或在 MATLAB® 命令行将代码分配给 PreImportFcn
和 PostImportFcn
回调。
使用需求编辑器将代码分配给回调
要使用需求编辑器将代码分配给 PreImportFcn
和 PostImportFcn
回调:
在需求编辑器中,点击导入。
在导入需求对话框中,将文档类型设置为您要从中导入需求的第三方工具。
在文档位置旁边,点击浏览并选择需求文件、文档、模块或其他需求容器。
应用您想要的导入设置。有关更多信息,请参阅 从第三方应用程序导入需求。
在导入需求对话框中,展开回调部分。
选择 PreImportFcn 或 PostImportFcn 选项卡。
在框中输入您的代码。您可以输入代码或包含您的代码的 MATLAB 脚本的名称。
点击导入。
通过编程方式为回调分配代码
要以编程方式将代码分配给回调:
在 MATLAB 中,选择主页选项卡,然后点击新建脚本。
在脚本中,输入您希望回调执行的代码。
选择“编辑器”选项卡,然后点击“保存”。输入脚本名称,然后点击保存。
在MATLAB命令行中,使用
slreq.import
导入您的需求。使用preImportFcn
和postImportFcn
参量将脚本分配给回调。
getPreImportFcn
和 getPostImportFcn
获取注册到回调的代码。您可以使用 setPreImportFcn
和 setPostImportFcn
更改分配给回调的代码。自定义需求导入行为
您可以使用分配给回调的代码在导入需求之前和之后执行命令。例如,您可以使用 PreImportFcn
回调自定义导入选项,或者使用 PostImportFcn
回调指定导入需求的属性值。
自定义导入前行为
您可以使用PreImportFcn
回调来指定Requirements Toolbox™如何从不同的第三方工具导入需求。在回调中使用 slreq.getCurrentImportOptions
返回以下对象之一,具体取决于第三方工具:
您可以在回调代码中修改此对象来改变Requirements Toolbox导入需求的方式。
例如,您可以指定导入 ReqIF™ 文件时要使用的映射文件。修改此示例代码以指定映射文件的完整文件路径,并将代码分配给 PreImportFcn
回调:
importOptions = slreq.getCurrentImportOptions;
importOptions.MappingFile = "C:\Users\jdoe\Documents\myMappingFile.xml";
自定义导入后行为
您可以使用 PostImportFcn
回调来执行导入完成后修改需求的代码。
例如,要在 PostImportFcn
回调中指定导入需求的属性值,请使用 slreq.getCurrentObject
获取导入节点的句柄,然后使用 slreq.Reference
方法获取导入需求的句柄。然后,使用点符号来设置属性值。有关更多信息,请参阅 属性访问语法。此示例代码显示了如何获取当前导入节点下的子引用需求的句柄。
topRef = slreq.getCurrentObject; refs = find(topRef);
IndexEnabled
和 IndexNumber
属性来自定义需求索引编号。有关更多信息,请参阅 自定义需求索引编号。有关示例,请参阅 从 Microsoft Excel 文档导入需求。要移动引用的需求,请在 PostImportFcn
回调中使用 setParent
、moveUp
或 moveDown
。
另请参阅
slreq.getCurrentObject
| slreq.getCurrentImportOptions
| setParent