ToggleTool Properties

Управляйте внешним видом и поведением инструмента переключателя

Свойства, перечисленные здесь, допустимы для ToggleTool объекты в GUIDE или в приложениях создаются с figure функция.

Переключитесь инструменты являются кнопками-переключателями, которые появляются на панели инструментов наверху фигура. uitoggletool функция создает кнопку-переключатель на панели инструментов и устанавливает любые необходимые свойства прежде, чем отобразить его. Путем изменения значений свойств можно изменить определенные аспекты его внешнего вида и поведения. Используйте запись через точку, чтобы относиться к конкретному объекту и свойству.

t = uitoggletool;
t.Separator = 'on';

Внешний вид кнопки

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

Состояние кнопки-переключателя, заданное как 'off' или 'on'. Когда этим значением свойства является 'on', кнопка-переключатель появляется во вниз (подавленном) положении. Когда этим значением свойства является 'off', кнопка-переключатель появляется в положение. Изменение состояния вызывает соответствующий OnCallback или OffCallback функция, чтобы выполниться.

Необязательный значок, заданный как трехмерный массив значений RGB истинного цвета. Значения в массиве могут быть:

  • Значения с двойной точностью между 0.0 и 1.0

  • uint8 значения между 0 и 255

Длина первых и вторых измерений массива должна быть меньше чем или равна 16. В противном случае это может быть отсечено или искажено, когда это отображается.

Типы данных: double | uint8

Режим линии диафрагмы, заданный как 'off' или 'on'. Установка этого свойства к 'on' чертит разделительную линию налево от инструмента на панели инструментов.

Интерактивность

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

Видимость компонента, заданная как 'on' или 'off'. Когда Visible свойство установлено в 'off', компонент не отображается в пользовательском интерфейсе, но можно запросить и установить его свойства.

Рабочее состояние инструмента, заданного как 'on' или 'off'. Enable свойство управляет, отвечает ли инструмент на нажатия кнопок. Двух возможных значений:

  • 'on' – Инструмент является операционным.

  • 'off' – Инструмент не является операционным и появляется grayed.

Значение Enable свойство и тип нажатия кнопки определяют ответ.

Включите значениеОтвет, чтобы щелкнуть левой кнопкойОтвет, чтобы щелкнуть правой кнопкой
'on'

  1. OnCallback или OffCallback функция выполняется, в зависимости от текущего состояния инструмента.

  2. ClickedCallback функция выполняется.

Инструмент не является операционным. Никакой коллбэк не выполняется.

'off'

Инструмент не является операционным. Никакой коллбэк не выполняется.

Инструмент не является операционным. Никакой коллбэк не выполняется.

Подсказка, заданная как вектор символов, представляет в виде строки скаляр или категориальный массив. Используйте это свойство отобразить сообщение, когда пользователь наведет указатель на компонент во время выполнения. Подсказка не отображается, когда компонент отключен. Если вы задаете это свойство как категориальный массив, MATLAB® использует значения в массиве, не полный набор категорий.

Чтобы создать несколько линий текста, используйте sprintf функционируйте, чтобы вставить символы новой строки ('\n') в вашем тексте. Например:

txt = sprintf('Line 1\nLine 2');

Затем установите Tooltip свойство к значению, возвращенному sprintf.

Это свойство не оказывает влияния на ToggleTool объекты.

Подсказка, заданная как вектор символов, представляет в виде строки скаляр или категориальный массив. Подсказка отображается, когда пользователь наводит указатель мыши на компонент в приложении. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.

Примечание

TooltipString свойство не рекомендуется, начиная в R2018b. Используйте Tooltip свойство вместо этого.

Коллбэки

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

Инструмент кликнул по коллбэку, заданному как одно из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Эта функция обратного вызова выполняется после OnCallback функция или OffCallback функция выполняется (в зависимости от состояния кнопки).

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

Типы данных: function_handle | cell | char

Коллбэк, чтобы выполниться, когда пользователь включает кнопку-переключатель, заданную как одно из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

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

Типы данных: function_handle | cell | char

Коллбэк, чтобы выполниться, когда пользователь выключает кнопку-переключатель, заданную как одно из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

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

Типы данных: function_handle | cell | char

Функция создания компонентов, заданная в качестве одного из следующих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

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

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает компонент. MATLAB инициализирует все значения свойства компонентов прежде, чем выполнить CreateFcn 'callback'. Если вы не задаете CreateFcn свойство, затем MATLAB выполняет функцию создания по умолчанию.

Используйте gcbo функционируйте в своем CreateFcn код, чтобы получить объект компонента, который создается.

Установка CreateFcn свойство на существующем объекте компонента не оказывает влияния.

Функция удаления компонента, заданная в качестве одного из следующих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

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

DeleteFcn свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет компонент (например, когда пользователь закрывает окно). MATLAB выполняет DeleteFcn коллбэк прежде, чем уничтожить свойства объекта компонента. Если вы не задаете DeleteFcn свойство, затем MATLAB выполняет функцию удаления по умолчанию.

Используйте gcbo функционируйте в своем DeleteFcn код, чтобы получить объект компонента, который удаляется.

Контроль выполнения обратного вызова

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

Прерывание коллбэка, заданное как 'on' или 'off'. Interruptible свойство определяет, может ли рабочий коллбэк быть прерван.

Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Interruptible свойство объекта, владеющего рабочим коллбэком, определяет, позволено ли прерывание:

  • Значение 'on' позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnowфигураgetframewaitfor, или pause.

    • Если текущий обратный вызов содержит одну из этих команд, MATLAB останавливает выполнение обратного вызова в этой точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.

    • Если текущий обратный вызов не содержит одну из этих команд, MATLAB завершает выполнение обратного вызова без прерывания.

  • Значение 'off' блоки все попытки прерывания. BusyAction свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли прерывание обратного вызова или помещается в очередь.

Примечание

Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:

  • Если прерыванием обратного вызова является DeleteFcnCloseRequestFcn , или SizeChangedFcn коллбэк, затем прерывание происходит независимо от Interruptible значение свойства.

  • Если рабочий коллбэк является выполняющимся в данным моментом waitfor функция, затем прерывание происходит независимо от Interruptible значение свойства.

  • Timer объекты выполняются согласно расписанию независимо от Interruptible значение свойства.

  • MATLAB не сохраняет состояние свойств или отображения, когда прерывание происходит. Например, объект, возвращенный gca или gcf команда может измениться, когда другой коллбэк выполняется.

Смотрите Выполнение обратного вызова Прерывания для примера, который показывает как Interruptible и BusyAction свойства влияют на поведение программы.

Постановка в очередь коллбэка, заданная как 'queue' (значение по умолчанию) или 'cancel'. BusyAction свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова. Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

BusyAction свойство источника прерывания обратного вызова определяет, как MATLAB обрабатывает свое выполнение. BusyAction свойство имеет эти значения:

  • 'queue' — Поместите прерывание обратного вызова в очередь, чтобы быть обработанными после рабочего выполнения концов коллбэка.

  • 'cancel' — Не выполняйте прерывание обратного вызова.

Каждый раз, когда MATLAB вызывает коллбэк, тот коллбэк всегда пытается прервать выполняющийся коллбэк. Interruptible свойство объекта, коллбэк которого запускается, определяет, позволено ли прерывание. Если Interruptible установлен в:

  • on — Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь. Это значение по умолчанию.

  • offBusyAction свойство (объекта, владеющего прерыванием обратного вызова), определяет, ставит ли MATLAB в очередь или игнорирует прерывание обратного вызова.

Смотрите Выполнение обратного вызова Прерывания для примера, который показывает как BusyAction и Interruptible свойства влияют на поведение программы.

Это свойство доступно только для чтения.

Состояние Deletion, возвращенное как 'off' или 'on'. MATLAB устанавливает BeingDeleted свойство к 'on' когда DeleteFcn коллбэк начинает выполнение. BeingDeleted свойство остается установленным в 'on' пока объект компонента больше не существует.

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

Это свойство не оказывает влияния на ToggleTool объекты.

Родительский элемент/Дочерний элемент

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

Родительский объект, заданный как Toolbar объект. Используйте это свойство задать родительскую панель инструментов при создании инструмента или переместить существующий инструмент в различную панель инструментов.

Видимость указателя на объект, заданного как 'on''callback', или 'off'.

Это свойство управляет видимостью указателя на объект в его родительском списке дочерних элементов. Когда указатель не отображается в его родительском списке дочерних элементов, он не возвращен функциями, которые получают указатели путем поиска иерархии объектов или запроса свойств указателя. Эти функции включают getfindobjgcagcfgconewplotclaclf, и close. HandleVisibility свойство также управляет видимостью указателя объекта в CurrentObject родительской фигуры свойство. Указатели все еще допустимы, даже если они не отображаются. Если вы можете получить доступ к объекту, вы можете установить его, получить его свойства и передать его любой функции, которая работает с объектами.

Значение HandleVisibilityОписание
'on'Указатель на объект всегда отображается.
'callback'Указатель на объект отображается из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в командной строке, но позволяет обратным вызовам обращаться к нему.
'off'Указатель на объект невидим в любом случае. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите HandleVisibility к 'off' временно скрыть указатель во время выполнения этой функции.

Установите графический корневой ShowHiddenHandles свойство к 'on' сделать все указатели видимыми, независимо от их HandleVisibility значение. Эта установка не оказывает влияния на их HandleVisibility значения.

Идентификаторы

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

Это свойство доступно только для чтения.

Тип графического объекта, возвращенного как 'uitoggletool'.

Идентификатор объекта, заданный как вектор символов или скаляр строки. Можно задать уникальный Tag значение, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте в вашем коде, можно использовать findobj функционируйте, чтобы искать основанное на объектах на Tag значение.

Пользовательские данные, заданные как любой массив. Определение UserData может быть полезно для обмена данными в рамках приложений. Смотрите Осуществляют обмен данными Среди Коллбэков для получения дополнительной информации.

Представлено до R2006a