コールバックを使用した要件のインポート動作のカスタマイズ
要件をサードパーティ ツールからインポートするときや要件を更新するときに、コールバックを使用してコードを実行できます。PreImportFcn
コールバックは要件のインポート前に実行され、PostImportFcn
コールバックは要件のインポート後に実行されます。これらのコールバックを使用してインポート動作をカスタマイズできます。
コールバックへのコードの割り当て
PreImportFcn
コールバックおよび PostImportFcn
コールバックへのコードの割り当ては、要件エディターを使用するか MATLAB® コマンド ラインで実行できます。
要件エディターを使用したコールバックへのコードの割り当て
要件エディターを使用して 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