Пользовательский интерфейс CustomDisplay

Отображение объектов по умолчанию

MATLAB® добавляет методы по умолчанию под названием disp и display ко всем классам MATLAB, которые не реализуют их собственные методы с теми именами. Эти методы не видимы, но создают простое отображение по умолчанию.

Простое отображение по умолчанию состоит из следующих частей:

  • Заголовок, показывающий имя класса и размерности для нескалярных массивов.

  • Список всех нескрытых публичных свойств, показанных в порядке определения в классе.

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

Функция details создает значение по умолчанию подробное отображение. Подробное отображение добавляет эти элементы в простое отображение:

  • Использование полностью определенных имен классов

  • Соединитесь с классом handle, если объект является указателем

  • Ссылки на methods, events и функции superclasses, выполняемые на объекте.

Смотрите Класс со Значением по умолчанию Отображение объектов для примера того, как MATLAB отображает объекты.

Свойства, отображенные по умолчанию

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

Класс CustomDisplay

Класс matlab.mixin.CustomDisplay обеспечивает интерфейс, который можно использовать, чтобы настроить отображение объекта для класса. Чтобы использовать этот интерфейс, выведите свой класс от CustomDisplay:

classdef MyClass < matlab.mixin.CustomDisplay

Классом CustomDisplay является HandleCompatible, таким образом, можно использовать его и в сочетании со значением и обработать суперклассы.

Примечание

Вы не можете использовать matlab.mixin.CustomDisplay, чтобы вывести пользовательское отображение для классов перечисления.

disp, отображение и детали

Интерфейс CustomDisplay не позволяет вам заменять disp, display и details. Вместо этого замените любую комбинацию методов индивидуальной настройки, заданных с этой целью.

Методы для настройки Отображения объектов

Существует две группы методов, которые вы используете, чтобы настроить отображение объекта для вашего класса:

  • Сборка Part builder methods строки используется для стандартного отображения. Замените любой из этих методов, чтобы изменить соответствующие части отображения.

  • State handler methods называется для объектов в определенных состояниях, как скаляр, нескалярный, и так далее. Замените любой из этих методов, чтобы обработать объекты в определенном состоянии.

Все эти методы имеют защищенный доступ и должны быть заданы, как защищено в вашем подклассе CustomDisplay (то есть, Access = protected).

Части Отображения объектов

Существует три части что состав отображение стандартного объекта — заголовок, список свойств и нижний колонтитул

Например, вот отображение стандартного объекта для объекта containers.Map:

Отображение объекта по умолчанию не включает нижний колонтитул. Подробное отображение предоставляет больше информации:

Методы Part Builder

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

МетодЦельЗначение по умолчанию
getHeader

Создайте текст, используемый для заголовка.

Возвращает векторы char, [class(obj), ' with properties:'], соединяющий имя класса со справкой, раскрываются

getPropertyGroups

Задайте то, как и что свойства отображают, включая порядок, значения и группировку.

Возвращает массив объектов PropertyGroup, который определяет, как отобразить свойства

getFooter

Создайте текст, используемый для нижнего колонтитула.

Существует два нижних колонтитула:

  • Простое отображение — Возвращает пустой вектор char

  • Подробное отображение — Отвечает на соединенные звонки к methods, events и superclasses для этого класса

Объектные состояния, которые влияют на отображение

Существует четыре объектных состояния, которые влияют, как MATLAB отображает объекты:

  • Допустимый скалярный объект

  • Нескалярный объектный массив

  • Массив пустого объекта

  • Скалярный указатель на удаленный объект

Методы обработчиков состояния

Каждое объектное состояние имеет связанный метод, который MATLAB вызывает, отображая объекты, которые находятся в том конкретном состоянии.

Метод обработчиков состоянияТребовавшийся объект в этом состоянии
displayScalarObject

(isa(obj,'handle') && isvalid(obj)) && prod(size(obj)) == 1

displayNonScalarObject

prod(size(obj)) > 1

displayEmptyObject

prod(size(obj)) == 0

displayScalarHandleToDeletedObject

isa(obj,'handle') && isscalar(obj) && ~isvalid(obj)

Служебные методы

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

Если экран компьютера не поддерживает гипертекстовое соединение, строки возвращены без ссылок.

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

convertDimensionsToString

Массив доступного объекта

Объектные размерности преобразованы в вектор char; определенный путем вызова size(obj)

displayPropertyGroups

Массив PropertyGroup

Отображает заголовки и заданные группы свойства

getClassNameForHeader

Объект

Простое имя класса соединяется с документацией объекта

getDeletedHandleText

'none'

Текст 'handle to deleted', соединенный с документацией относительно удаленных указателей

getDetailedFooter

Объект

Текст, содержащий фразу 'Methods, Events, Superclasses', с каждой ссылкой, выполняющей соответствующую команду на входном объекте

getDetailedHeader

Объект

Текст, содержащий соединенное имя класса, соединитесь, чтобы обработать страницу (если класс Handle) и 'with properties:'

getHandleText

'none'

Текстовый 'handle' соединился с разделом документации, которая описывает объекты указателя

getSimpleHeader

Объект

Текст, содержащий соединенное имя класса и фразу 'with properties:'

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте