drag

Класс: matlab.uitest.TestCase
Пакет: matlab.uitest

Выполните перетаскивают жест на компоненте пользовательского интерфейса

Описание

пример

drag(testcase,comp,start,stop) выполняет жест перетаскивания от start к stop на компоненте пользовательского интерфейса comp.

пример

drag(testcase,compst,start,stop,'SelectionType',type) использует заданный тип выбора мыши type выполнять жест перетаскивания на compst компонента.

Входные параметры

развернуть все

Экземпляр теста в виде matlab.uitest.TestCase объект.

Компонент, чтобы перетащить во время теста в виде компонента пользовательского интерфейса возражает, что поддерживает жест перетаскивания. Компоненты, что поддержка перетаскивает жесты, являются осями, непрерывными кнопками, ползунками и фигурами.

Поддерживаемый компонентТипичная функция создания
Осиaxes
Кнопкаuiknob
Ползунокuislider
Uiaxesuiaxes
Фигура пользовательского интерфейсаuifigure

Запустите значение жеста перетаскивания в виде числового скаляра или 1 2 или 1 3 числовой массив. Форма start зависит от компонента пользовательского интерфейса:

  • Кнопка и Ползунок — числовой скаляр в пределах компонента. Пределы заданы Limits свойство компонента.

  • Оси и UI Axes — 1 2 или 1 3 числовой массив, содержащий x - y - и опционально z - координаты.

  • Фигура пользовательского интерфейса — 1 2 числовой массив, содержащий x - и y - координаты. Задайте координаты точки, как измерено в пикселях от нижнего левого угла компонента.

Пример: 20 (кнопка)

Пример: [2.5 3 1.25] uiaxes

Пример: [100 200] Фигура пользовательского интерфейса

Остановите значение жеста перетаскивания в виде числового скаляра или 1 2 или 1 3 числовой массив. Форма stop зависит от компонента пользовательского интерфейса:

  • Кнопка и Ползунок — числовой скаляр в пределах компонента. Пределы заданы Limits свойство компонента.

  • Оси и UI Axes — 1 2 или 1 3 числовой массив, содержащий x - y - и опционально z - координаты.

  • Фигура пользовательского интерфейса — 1 2 числовой массив, содержащий x - и y - координаты. Задайте координаты точки, как измерено в пикселях от нижнего левого угла компонента.

Пример: 30 (кнопка)

Пример: [5 3 2.25] uiaxes

Пример: [200 300] Фигура пользовательского интерфейса

Компонент, чтобы перетащить во время теста с помощью данного выбора мыши вводит в виде matlab.graphics.axis.Axes, matlab.ui.control.UIAxes, или matlab.ui.Figure объект.

Поддерживаемый компонентТипичная функция создания
Осиaxes
Uiaxesuiaxes
Фигура пользовательского интерфейсаuifigure

Выбор мыши вводит в виде 'normal', 'extend', или 'alt'. Этот вход предоставляет информацию о том, как кнопка мыши нажимается в фигуре пользовательского интерфейса. Для получения дополнительной информации смотрите UI Figure Properties.

Эта таблица приводит возможные значения типа выбора и действия, которые производят эти значения.

Значение

Соответствующее действие

'normal'

Щелкните левой кнопкой мыши.

'extend'

Любое следующее:

  • Shift - щелкните левой кнопкой мыши.

  • Щелкните средней кнопкой мыши.

  • Щелкните обеими левыми и правыми кнопками мыши.

'alt'

Любое из следующего:

  • Control - щелкните левой кнопкой мыши.

  • Щелкните правой кнопкой мыши.

Типы данных: char | string

Примеры

развернуть все

Создайте кнопку.

knob = uiknob;

Создайте интерактивный тест и перетащите кнопку между двумя значениями. Синяя точка, представляющая программируемый жест перетаскивания, появляется и затем исчезает, когда кнопка достигает значения остановки.

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.drag(knob,13,42)

Создайте ползунок с минимальным значением-237, максимальным значением 237 и начальным значением 7.

slider = uislider('Limits',[-237 237],'Value',7);

Создайте интерактивный тест и проверьте начальное значение ползунка.

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.verifyEqual(slider.Value,7)
Verification passed.

Перетащите ползунок между двумя значениями и проверьте окончательное значение. Поскольку среда подражает пользователю, управляющему компонентом к произвольно precisioned значение, это - лучшая практика, чтобы использовать допуск, чтобы сравнить фактические и ожидаемые значения ползунка.

val = 26.75;
tc.drag(slider,-val,val)
tc.verifyEqual(slider.Value,val,'AbsTol',0.1)
Verification passed.

Создайте оси в фигуре пользовательского интерфейса и затем постройте график в оси. В этом примере график устанавливает и x-и пределы оси Y [1 10].

f = uifigure;
ax = axes(f);
plot(ax,1:10)

Создайте интерактивный тест и перетащите от точки (3, 2) к точке (4, 2). Синяя точка, представляющая программируемый жест перетаскивания, появляется в значении запуска и затем исчезает, когда это достигает значения остановки. Пределы по осям обновляются на основе различия между значениями остановки и запуском.

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.drag(ax,[3 2],[4 2])

Проверьте, что жест перетаскивания уменьшал пределы оси X одним модулем. Поскольку среда подражает пользователю, управляющему компонентом, использование допуска, чтобы сравнить фактические и ожидаемые значения является методическими рекомендациями.

tc.verifyEqual(ax.XLim,[0 9],'AbsTol',0.1)
Verification passed.

Создайте оси в фигуре пользовательского интерфейса и постройте поверхность в оси с помощью peaks функция. Затем вызовите view функционируйте, чтобы сохранить азимут и углы возвышения угла обзора камеры для осей.

f = uifigure;
ax = axes(f);
surf(ax,peaks)
xlabel(ax,'X')
ylabel(ax,'Y')
zlabel(ax,'Z')
[caz_before,cel_before] = view(ax);

Создайте интерактивный тест и перетащите от точки (2, 2,-10) к точке (4, 4, 10). Синяя точка, представляющая программируемый жест перетаскивания, появляется в значении запуска и затем исчезает, когда это достигает значения остановки. Представление объемной поверхностной диаграммы изменяется с перетаскиванием.

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.drag(ax,[2 2 -10],[4 4 10])

Проверьте, что жест перетаскивания изменил представление объемной поверхностной диаграммы.

[caz_after,cel_after] = view(ax);
tc.verifyNotEqual([caz_after cel_after],[caz_before cel_before])
Verification passed.

Создайте оси в фигуре пользовательского интерфейса и затем постройте график в оси.

f = uifigure;
ax = axes(f);
plot(ax,1:10)

Создайте интерактивный тест и тормозите фигуру от точки (100, 200) к точке (200, 300) использование щелчка правой кнопкой. Синяя точка, представляющая программируемый жест перетаскивания, появляется в значении запуска и затем исчезает, когда это достигает значения остановки.

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.drag(f,[100 200],[200 300],'SelectionType','alt')

Теперь тормозите оси от точки (3, 2) к точке (4, 2) использование щелчка левой кнопкой. Пределы по осям обновляются на основе различия между значениями остановки и запуском.

tc.drag(ax,[3 2],[4 2],'SelectionType','normal')

Введенный в R2018a