このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
drag
クラス: matlab.uitest.TestCase
名前空間: matlab.uitest
UI コンポーネントでのドラッグ動作の実行
説明
入力引数
テスト ケース。matlab.uitest.TestCase
オブジェクトとして指定します。
ドラッグ動作の開始値。数値スカラー、または 1 行 2 列または 1 行 3 列の数値配列として指定します。start
の形式は UI コンポーネントによって異なります。
ノブおよびスライダー — コンポーネントの範囲をもつ数値スカラー。範囲はコンポーネントの
Limits
プロパティで定義されます。座標軸および UI 座標軸 — x 座標、y 座標、およびオプションで z 座標を含む、1 行 2 列または 1 行 3 列の数値配列。
UI Figure — x 座標および y 座標を含む、1 行 2 列の数値配列。コンポーネントの左下隅からの点の座標を指定します。
例: 20
(ノブ)
例: [2.5 3 1.25]
(UI 座標軸)
例: [100 200]
(UI Figure)
ドラッグ動作の停止値。数値スカラー、または 1 行 2 列または 1 行 3 列の数値配列として指定します。stop
の形式は UI コンポーネントによって異なります。
ノブおよびスライダー — コンポーネントの範囲をもつ数値スカラー。範囲はコンポーネントの
Limits
プロパティで定義されます。座標軸および UI 座標軸 — x 座標、y 座標、およびオプションで z 座標を含む、1 行 2 列または 1 行 3 列の数値配列。
UI Figure — x 座標および y 座標を含む、1 行 2 列の数値配列。コンポーネントの左下隅からの点の座標を指定します。
例: 30
(ノブ)
例: [5 3 2.25]
(UI 座標軸)
例: [200 300]
(UI Figure)
マウスの選択タイプ。'normal'
、'extend'
、または 'alt'
として指定します。この入力は、コンポーネントでマウス ボタンがどのように押されるかについての情報を提供します。詳細については、UI Figure Properties を参照してください。
次の表は、選択タイプの取り得る値と、それらの値に対応するアクションの一覧です。
値 | 対応するアクション |
---|---|
| 左マウス ボタンをクリック |
| Shift キーを押しながら左マウス ボタンをクリック |
| 右マウス ボタンをクリック |
データ型: char
| string
例
ノブを作成します。
knob = uiknob;
対話型のテスト ケースを作成し、2 つの値の間でノブをドラッグします。プログラムによるドラッグ動作を表す青い点が表示され、ノブが停止値に達すると消えます。
testCase = matlab.uitest.TestCase.forInteractiveUse; testCase.drag(knob,13,42)
最小値が -237、最大値が 237、開始値が 7 のスライダーを作成します。
slider = uislider("Limits",[-237 237],"Value",7);
対話型のテスト ケースを作成し、スライダーの初期値を確認します。
testCase = matlab.uitest.TestCase.forInteractiveUse; testCase.verifyEqual(slider.Value,7)
Verification passed.
2 つの値の間でスライダーをドラッグし、最終値を確認します。フレームワークでは任意の適合値に対するコンポーネントの操作が模倣されるため、許容誤差を使用してスライダーの実際の値と期待される値を比較するのがベスト プラクティスです。
val = 26.75;
testCase.drag(slider,-val,val)
testCase.verifyEqual(slider.Value,val,"AbsTol",0.1)
Verification passed.
マウス選択タイプに基づいて背景色が変化する Figure でドラッグ動作をテストします。
既定以外のマウス選択タイプを使用してドラッグすると背景色が変化する UI Figure を作成します。Figure の動作をプログラムするために、Figure のコールバック プロパティを指定して、ウィンドウ ボタンを移動したときのコールバックを作成します。この例の最後にあるコールバック関数 changeColor
のコードを参照してください。これを使用して、背景色を選択タイプに基づいて変更します。
fig = uifigure(Color="white", ... WindowButtonMotionFcn=@(src,~)changeColor(src));
対話型のテスト ケースを作成し、それを使用して Figure の背景色が白 ([1 1 1]
) であることを確認します。
testCase = matlab.uitest.TestCase.forInteractiveUse; testCase.verifyEqual(fig.Color,[1 1 1])
Verification passed.
Figure で点 (100, 200) から点 (200, 300) への右クリックを使用したドラッグ動作をテストします。この動作により、Figure の SelectionType
プロパティが 'alt'
に設定されます。動作によって、Figure の背景色を SelectionType
プロパティの値に基づいて設定するコールバックも実行されます。
testCase.drag(fig,[100 200],[200 300],"SelectionType","alt")
背景色が緑 ([0 1 0]
) になったかどうかをテストします。テストはパスします。
testCase.verifyEqual(fig.Color,[0 1 0])
Verification passed.
コールバック関数
次のコードは、この例で使用しているコールバック関数を示したものです。この関数は、Figure の SelectionType
プロパティをクエリしてマウス選択タイプを識別します。
function changeColor(fig) switch fig.SelectionType case 'extend' % using shift-click to drag fig.Color = "red"; case 'alt' % using right-click to drag fig.Color = "green"; end end
バージョン履歴
R2018a で導入任意の測定単位を使用して、UI Figure 上のジェスチャの位置を指定できます。以前のリリースでは、メソッドにより、Units
プロパティが "pixels"
に設定されている Figure に対してのみ座標を指定できます。
アクティブな右の y 軸をもつ座標軸または UI 座標軸上のジェスチャの位置を指定することはサポートされなくなりました。グラフに 2 つの y 軸がある場合は、ジェスチャを実行する前に、左の y 軸に関連付けられている側をアクティブにします。以前のリリースでは、右側がアクティブな座標軸または UI 座標軸上の位置を指定すると、アプリ テスト フレームワークはその位置を左の y 軸を基準にして解釈します。これにより、ジェスチャが予期しない位置で発生したり、失敗したりする恐れがあります。
UI Figure のテストでドラッグ動作を実行できます。また、座標軸、UI 座標軸、または UI Figure コンポーネントでドラッグ動作をテストする際に、マウス選択タイプを指定できます。マウス選択タイプを指定するには、type
入力引数を使用します。
座標軸および UI 座標軸のテストでドラッグ動作を実行できます。座標軸または UI 座標軸コンポーネントでドラッグ動作をテストすると、アプリ テスト フレームワークがユーザーによるコンポーネントの操作を再現し、開始値と停止値の差に基づいて座標軸の範囲を調整します。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)