Main Content

コールバックを使用した要件のインポート動作のカスタマイズ

要件をサードパーティ ツールからインポートするときや要件を更新するときに、コールバックを使用してコードを実行できます。PreImportFcn コールバックは要件のインポート前に実行され、PostImportFcn コールバックは要件のインポート後に実行されます。これらのコールバックを使用してインポート動作をカスタマイズできます。

コールバックへのコードの割り当て

PreImportFcn コールバックおよび PostImportFcn コールバックへのコードの割り当ては、要件エディターを使用するか MATLAB® コマンド ラインで実行できます。

要件エディターを使用したコールバックへのコードの割り当て

要件エディターを使用して 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 コールバックで setParentmoveUp、または moveDown を使用します。

参考

| |

関連する例

詳細