42.20.2 Типы кнопок

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

Функция: define-button-type name &rest properties

Определяет тип кнопки с именем name (символ). Оставшиеся аргументы образуют последовательность пар свойство значение, указывающих значения свойств по умолчанию для кнопок этого типа (тип кнопки может быть задан, присвоив ей свойство type при создании кнопки, используя именованный аргумент :type).

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

Использование define-button-type для определения свойств по умолчанию для кнопок не является обязательным — кнопки без указанного типа используют встроенный тип кнопки button — но это рекомендуется, поскольку это обычно делает получаемый код более понятным и эффективным.