Main Content

本页采用了机器翻译。点击此处可查看英文原文。

使用回调自定义需求导入行为

当您从第三方工具导入需求或者更新需求时,您可以使用回调来执行代码。PreImportFcn 回调在您导入需求之前执行,而 PostImportFcn 回调在您导入需求之后执行。您可以使用这些回调来自定义导入行为。

为回调分配代码

您可以使用需求编辑器或在 MATLAB® 命令行将代码分配给 PreImportFcnPostImportFcn 回调。

使用需求编辑器将代码分配给回调

要使用需求编辑器将代码分配给 PreImportFcnPostImportFcn 回调:

  1. 需求编辑器中,点击导入

  2. 在导入需求对话框中,将文档类型设置为您要从中导入需求的第三方工具。

  3. 文档位置旁边,点击浏览并选择需求文件、文档、模块或其他需求容器。

  4. 应用您想要的导入设置。有关更多信息,请参阅 从第三方应用程序导入需求

  5. 在导入需求对话框中,展开回调部分。

  6. 选择 PreImportFcnPostImportFcn 选项卡。

    Importing Requirements dialog box with the PreImportFcn and PostImportFcn tabs in view.

  7. 在框中输入您的代码。您可以输入代码或包含您的代码的 MATLAB 脚本的名称。

  8. 点击导入

导入需求后,您可以在需求编辑器中查看和编辑回调。选择导入节点,然后在右侧窗格中的“回调”下选择“PreImportFcn”或“PostImportFcn”选项卡。

通过编程方式为回调分配代码

要以编程方式将代码分配给回调:

  1. 在 MATLAB 中,选择主页选项卡,然后点击新建脚本

  2. 在脚本中,输入您希望回调执行的代码。

  3. 选择“编辑器”选项卡,然后点击“保存”。输入脚本名称,然后点击保存

  4. 在MATLAB命令行中,使用slreq.import导入您的需求。使用 preImportFcnpostImportFcn参量将脚本分配给回调。

导入需求后,您可以使用 getPreImportFcngetPostImportFcn 获取注册到回调的代码。您可以使用 setPreImportFcnsetPostImportFcn 更改分配给回调的代码。

自定义需求导入行为

您可以使用分配给回调的代码在导入需求之前和之后执行命令。例如,您可以使用 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);
您还可以使用 IndexEnabledIndexNumber属性来自定义需求索引编号。有关更多信息,请参阅 自定义需求索引编号。有关示例,请参阅 从 Microsoft Excel 文档导入需求

要移动引用的需求,请在 PostImportFcn 回调中使用 setParentmoveUpmoveDown

另请参阅

| |

相关示例

详细信息