このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
動的なマスク ダイアログ ボックス
ユーザー入力に対応して変化するマスク ブロックのためのダイアログを作成できます。この方法で変更可能なマスク ダイアログの機能には、次のようなものがあります。
パラメーター コントロールの可視性: パラメーターを変更することで、他のパラメーターのためのコントロールを表示したり、非表示にしたりできます。コントロールが現れたり消えたりすると、ダイアログは拡張されたり縮小されたりします。
パラメーター コントロールの有効状態: パラメーターを変更することで、他のパラメーターのためのコントロールの入力を有効にしたり、無効にしたりできます。無効なコントロールは、無効であることを視覚的に示すために灰色で表示されます。
パラメーター値: マスク ダイアログ ボックス パラメーターを変更することで、関連付けられているマスク ダイアログ ボックス パラメーターを適切な値に設定できます。
メモ: マスク パラメーターの追加、削除、変更は、マスク コールバックから制限されます。
動的なマスク ダイアログ ボックスを作成するには、マスク エディターを set_param コマンドと共に使用する必要があります。厳密には、まずマスク エディター使って静的なものと動的なものの両方のすべてのダイアログ ボックス パラメーターを定義します。各動的パラメーターを変更するには、ダイアログ ボックスがそのパラメーターの変更に応答する方法を定義するコールバック関数を入力します。コールバック関数は、今度は、set_param コマンドを使用して、ダイアログ ボックスの他のコントロールの外観と設定に影響を与えるマスク パラメーターを設定できます。最後に、動的マスク ダイアログ ボックスの作成を確定するためにマスク サブシステムを含むモデルやライブラリを保存します。
モデルの確認
この例には、マスク パラメーターの可視性を変更するため、およびマスク パラメーターを無効にするための 2 つのサブシステム ブロック Making a Parameter Invisible
および Disabling a Parameter
が含まれています。
open_system("slexMaskDDGExample.slx");
マスク パラメーターの可視性の変更
このセクションの説明のために、サブシステム ブロック Making a Parameter Invisible
を参照します。この例では、1 つのマスク パラメーターの可視性を、別のマスク パラメーターの値に基づいて変更する方法を示します。[Enable Bias] の値は、[Enable Bias] チェック ボックスをオンまたはオフにすることで設定されます。これは、[Bias Value] パラメーターの可視性を変更するために使用されます。
マスク パラメーターの可視性を変更するには、以下のようにします。
1. 2 つの編集パラメーター Gain Value
および Bias
を作成します。チェック ボックス パラメーター Enable Bias
を作成します。
2. [コード] ペインの [初期化] セクションで以下のコードを使用します。
function initialization() %In the Initialization command, the variable 'enableBias' corresponding to the checkbox returns the following values:
unchecked = 0 checked = 1
% If the box is unchecked, we set the bias value to zero if ~enableBias biasValue = 0; end % Othewise, the value from the mask parameter is used end
3. enableBias
のパラメーター コールバック セクションで以下のコードを使用します。
function enableBias_callback() % Control parameter visiblity. Get the value of the Enable Bias checkbox % unchecked = 'off' % checked = 'on' enab = get_param(gcb,'enableBias');
% Set the 'MaskVisibilities' property for each parameters if strcmp(enab,'on') set_param(gcb,'MaskVisibilities',{'on','on','on'}); else set_param(gcb,'MaskVisibilities',{'on','on','off'}); end
% Note that the value of the bias is not handled here. % See the Initialization tab
end
4. サブシステム ブロック Making a Parameter Invisible
をダブルクリックします。Enable Bias
パラメーターをオフにします。Bias
パラメーターが非表示になります。
マスク パラメーターの無効化
この例では、サブシステム ブロック Disabling a Parameter
を参照します。この例では、1 つのマスク パラメーターを、別のマスク パラメーターの値に基づいて無効にする方法を示します。チェックボックス Enable Bias
を使用して [Bias Value] パラメーターを無効にし、グレー表示にします。
マスク パラメーターを無効にするには、以下のようにします。
1. 2 つの編集パラメーター Gain Value
および Bias
を作成します。チェック ボックス パラメーター Enable Bias
を作成します。
2. [コード] ペインの [初期化] セクションで以下のコードを使用します。
function initialization() % In the Initialization command, the variable 'enableBias' corresponding to % the checkbox returns the following values: % unchecked = 0 % checked = 1
If the box is unchecked, we set the bias value to zero if ~enableBias biasValue = 0; end % Othewise, the value from the mask parameter is used end
3. enableBias
のパラメーター コールバック セクションで以下のコードを使用します。
function enableBias_callback() % Enable and disable parameters % Get the value of the Enable Bias checkbox % unchecked = 'off' % checked = 'on' enab = get_param(gcb,'enableBias'); Set the 'MaskEnables' property for each parameters if strcmp(enab,'on') set_param(gcb,'MaskEnables',{'on','on','on'}); else set_param(gcb,'MaskEnables',{'on','on','off'}); end % Note that the value of the bias is not handled here. % See the Initialization tab end
4. サブシステム ブロック Disabling a Parameter
をダブルクリックします。Enable Bias
パラメーターをオフにします。Bias
パラメーターがグレー表示になります。