drag
クラス: matlab.uitest.TestCase
名前空間: matlab.uitest
UI コンポーネントでのドラッグ動作の実行
説明
入力引数
testCase
— テスト ケース
matlab.uitest.TestCase
オブジェクト
テスト ケース。matlab.uitest.TestCase
オブジェクトとして指定します。
start
— 開始値
数値スカラー | 1 行 2 列または 1 行 3 列の数値配列
ドラッグ動作の開始値。数値スカラー、または 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)
stop
— 停止値
数値スカラー | 1 行 2 列または 1 行 3 列の数値配列
ドラッグ動作の停止値。数値スカラー、または 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)
compst
— マウスの選択タイプを使用してドラッグするコンポーネント
matlab.graphics.axis.Axes
オブジェクト | matlab.ui.control.UIAxes
オブジェクト | matlab.ui.Figure
オブジェクト
type
— マウスの選択タイプ
'normal'
(既定値) | 'extend'
| 'alt'
マウスの選択タイプ。'normal'
、'extend'
、または 'alt'
として指定します。この入力は、コンポーネントでマウス ボタンがどのように押されるかについての情報を提供します。詳細については、UI Figure のプロパティ を参照してください。
次の表は、選択タイプの取り得る値と、それらの値に対応するアクションの一覧です。
値 | 対応するアクション |
---|---|
| 左マウス ボタンをクリック |
| 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 でのドラッグ
マウス選択タイプに基づいて背景色が変化する Figure でドラッグ動作をテストします。
既定以外のマウス選択タイプを使用してドラッグすると背景色が変化する UI Figure を作成します。Figure の動作をプログラムするために、Figure のWindowButtonMotionFcnコールバック プロパティを指定して、ウィンドウ ボタンを移動したときのコールバックを作成します。この例の最後にあるコールバック関数 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 で導入R2021b: さまざまな選択タイプを使用した座標軸および Figure に対する動作の実行
UI Figure のテストでドラッグ動作を実行できます。また、座標軸、UI 座標軸、または UI Figure コンポーネントでドラッグ動作をテストする際に、マウス選択タイプを指定できます。マウス選択タイプを指定するには、type
入力引数を使用します。
R2020b: 座標軸および UI 座標軸に対する動作の実行
座標軸および UI 座標軸のテストでドラッグ動作を実行できます。座標軸または UI 座標軸コンポーネントでドラッグ動作をテストすると、アプリ テスト フレームワークがユーザーによるコンポーネントの操作を再現し、開始値と停止値の差に基づいて座標軸の範囲を調整します。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)