Свойства AxesToolbar

Внешний вид и поведение панели инструментов осей

Свойства AxesToolbar управляют внешним видом и поведением объекта AxesToolbar. Путем изменения значений свойств можно изменить определенные аспекты панели инструментов.

tb = axtoolbar('default');
tb.Visible = 'off';

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

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

Видимость панель инструментов осей, когда вы наводите на оси, заданные как одно из этих значений:

  • 'on' — Отобразите панель инструментов выше верхнего правого угла осей, когда вы наведете на оси.

  • 'off' Не отображайте панель инструментов. Все еще можно получить доступ к свойствам невидимой панели инструментов.

Коллбэки

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

Коллбэк для изменений выбора, заданных как одно из этих значений:

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

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

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

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

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии с кнопками. MATLAB передает эту информацию в объекте SelectionChangedEventData в качестве второго аргумента к вашей функции обратного вызова. Вы можете запросить свойства объекта с помощью записи через точку. Например, event.Selection возвращает в настоящее время нажатую кнопку. Объект SelectionChangedEventData не доступен функциям обратного вызова, заданным как векторы символов.

Эта таблица приводит свойства объекта SelectionChangedEventData.

Свойство

Описание

Axes

Объект Axes сопоставлен с панелью инструментов

Selection

В настоящее время нажатая кнопка

PreviousSelection

Ранее нажатая кнопка

Source

Объект AxesToolbar

EventName

'SelectionChanged'

Создание обратного вызова, заданное как одно из следующих значений:

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

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

  • Вектор со строкой символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется)

Используйте это свойство для выполнения кода при создании объекта. MATLAB выполняет обратный вызов после создания объекта и настройки всех его свойств. Установка значения свойства CreateFcn не влияет на существующий объект . Для того, чтобы действие было эффективным, вам необходимо задать свойство CreateFcn во время создания объекта. Один из способов задать свойство во время создания объекта — задать значение свойства по умолчанию для объекта. Для получения дополнительной информации см. Раздел "Значения свойств по умолчанию".

Если вы задаете данный обратный вызов с помощью указателя на функцию, MATLAB передает два аргумента в функцию обратного вызова при выполнении обратного вызова:

  • Созданный объект — свойства Access объекта из функции обратного вызова. Также можно получить доступ к объекту через свойство CallbackObject графического корневого объекта, который может быть запрошен с помощью функции gcbo.

  • Данные о событиях — Пустой аргумент. Замените его на символ тильды (~) в функциональном определении, чтобы указать, что этот аргумент не используется.

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

Удаление обратного вызова, заданное как одно из следующих значений:

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

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

  • Вектор со строкой символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется)

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

Если вы задаете данный обратный вызов с помощью указателя на функцию, MATLAB передает два аргумента в функцию обратного вызова при выполнении обратного вызова:

  • Удаленный объект — свойства Access объекта из функции обратного вызова. Также можно получить доступ к объекту через свойство CallbackObject графического корневого объекта, который может быть запрошен с помощью функции gcbo.

  • Данные о событиях — Пустой аргумент. Замените его на символ тильды (~) в функциональном определении, чтобы указать, что этот аргумент не используется.

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

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

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

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

Примечание

Рассмотрите эти состояния коллбэка где:

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

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

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

Свойство Interruptible определяет, может ли другой коллбэк прервать коллбэк ButtonDownFcn объекта AxesToolbar. Свойство Interruptible имеет два значения:

  • 'on' — Прервать. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь. Например, очереди обрабатываются командами, такими как drawnow, figure, getframe, waitfor, pause и waitbar.

  • 'off' — Не прерывать. MATLAB завершает выполнение обратного вызова без каких-либо прерываний.

Постановка обратного вызова в очередь задается как 'queue' или 'cancel'. Свойство BusyAction определяет, как MATLAB обрабатывает выполнение прерывания обратных вызовов.

Рассмотрите эти состояния коллбэка где:

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

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

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

Если коллбэк объекта AxesToolbar пытается прервать рабочий коллбэк, который не может быть прерван, то свойство BusyAction определяет, отбрасывается ли это или вставило очередь. Задайте свойство BusyAction как одно из следующих значений:

  • 'queue' — поместите прерывающий обратный вызов в очередь вызовов, подлежащих обработке после завершения обратного вызова. (поведение по умолчанию)

  • cancel' — Отменить прерывание обратного вызова.

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

Удаление статуса, возврат на 'off' или 'on'. MATLAB устанавливает свойство BeingDeleted на 'on', когда функция удаления объекта начинает выполняться (см. ""Свойство DeleteFcn""). Свойство BeingDeleted остается в установленном значении 'on', до того момента, как объект перестанет существовать.

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

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

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

Дочерние кнопки, заданные как графический массив ToolbarPushButton и объектов ToolbarStateButton. Если вы используете панель инструментов осей по умолчанию, то это свойство не содержит дочерних элементов. Однако, если вы создаете пользовательскую панель инструментов с помощью функции axtoolbar, затем это свойство содержит дочерние кнопки.

Родительский контейнер, заданный как объект Axes.

Видимость указателя на объект в свойстве Children родителя, заданная как одно из следующих значений:

  • on' — указатель на объект всегда отображается.

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

  • callback' — указатель на объект виден из обратных вызовов или функций, вызываемых обратными вызовами, но не из функций, инициируемых из командной строки. Эта опция блокирует доступ к объекту в командной строке, но разрешает функциям обратного вызова получать доступ к нему.

Если объект не указан в свойстве Children родителя, то функции, которые получают указатели на объекты путем поиска иерархии объектов или запросов свойств указателя, не могут вернуть его. Примеры таких функций включают get, findobj, gca, gcf, gco, newplot, cla, clf и функции close.

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

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

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

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

Тип графического объекта, возвращенного как 'axestoolbar'. Используйте это свойство найти все объекты данного типа в иерархии графического вывода.

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

Используйте это свойство найти объекты axestoolbar в иерархии. Например, можно использовать функцию findobj, чтобы найти объекты axestoolbar, которые имеют определенное значение свойства Tag.

Пример: 'January Data'

Пользовательские данные, чтобы сопоставить с объектом axestoolbar, заданным как любые данные MATLAB, например, скаляр, вектор, матрица, массив ячеек, символьный массив, таблица или структура. MATLAB не использует эти данные.

Чтобы связать несколько наборов данных или прикрепить имя поля к данным, используйте функции getappdata и setappdata.

Пример: 1:100

Unused Properties

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

Контекстное меню, заданное как объект ContextMenu.

Примечание

Панель инструментов осей не использует это свойство.

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

Примечание

Панель инструментов осей не использует это свойство.

Введенный в R2018b