主要内容

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

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

R2026a
自 R2022a 起

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

为回调分配代码

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

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

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

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

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

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

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

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

  6. 选择 PreImportFcn 或 PostImportFcn 选项卡。

    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 导入您的需求。使用 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。

另请参阅

| |

主题