Spec-Zone.ru › Hammerspoon

hs.axuielement.axtextmarker

Этот подмодуль позволяет hs.axuielement поддерживать использование объектов AXTextMarker и AXTextMarkerRange в качестве параметров для параметризованных атрибутов доступности в приложениях, которые их поддерживают.

Большинство значений объектов доступности соответствуют общим типам данных, встречающимся в большинстве языков программирования — строки, числа, таблицы (массивы и словари) и т. д. Типы AXTextMarker и AXTextMarkerRange специфичны для приложения и не имеют прямого соответствия простому типу данных. Наиболее подходящее описание, которое я нашел, взято из комментариев в исходном коде Chromium для Mac-версии их браузера:

// Сериализация позиции как POD. Не для совместного использования на диске или между потоками или процессами, только для передачи позиции API, который работает с позициями как с непрозрачными объектами.

Этот подмодуль позволяет Lua представлять эти объекты как пользовательские данные, которые могут быть переданы в параметризованные атрибуты для приложения, из которого они были извлечены. Ожидается, что примеры будут скоро добавлены в вики Hammerspoon.

Поскольку этот подмодуль использует частные и не документированные функции в рамках HIServices, если вы получите ошибку при использовании какой-либо из этих функций или методов, указывающую на неопределенную функцию CF (функция или метод вернёт nil и строку формата "CF function AX... undefined"), убедитесь, что в любом сообщении об ошибке, отправленном на страницу Hammerspoon в github, содержится вывод следующих команд (введите их в консоль Hammerspoon):

hs.inspect(hs.axuielement.axtextmarker._functionCheck())
hs.inspect(hs.processInfo)
hs.host.operatingSystemVersionString()

Обзор API

  • Функции — API-вызовы, предлагаемые непосредственно расширением
    • _functionCheck
    • bytes
    • endMarker
    • length
    • startMarker
  • Конструкторы — API-вызовы, которые возвращают объект, обычно объект, предлагающий методы API
    • newMarker
    • newRange

Документация API

Функции

_functionCheck
Подпись hs.axuielement.axtextmarker._functionCheck() -> table
Тип Функция
Описание

Возвращает таблицу функций AXTextMarker и AXTextMarkerRange, которые были обнаружены и используются в этом модуле.

Параметры
  • Нет
Возвращаемые значения
  • таблица с парами ключ-значение, где ключи соответствуют не документированным функциям Core Foundation, необходимым этому модулю для поддержки AXTextMarker и AXTextMarkerRange, а значение — логическое значение, указывающее, существует ли функция в загруженных фреймворках.
Примечания
  • функции определены в рамках фреймворка HIServices, который является частью фреймворка ApplicationServices, поэтому ожидается, что необходимые функции всегда будут доступны; однако, если вы когда-либо получите сообщение об ошибке от функции или метода в этом подмодуле в формате "CF function AX... undefined", см. документацию раздела подмодуля для описания информации, включая то, что предоставляет эта функция, которая должна быть включена в любой отчёт об ошибке, который вы отправляете.
  • Это для отладки и не ожидается, что оно будет использоваться часто.
Источник extensions/axuielement/axtextmarker.m строка 143
bytes
Подпись hs.axuielement.axtextmarker:bytes() -> string | nil, errorString
Тип Функция
Описание

Возвращает строку, содержащую непрозрачные двоичные данные, содержащиеся в объекте axTextMarkerObject

Параметры
  • Нет
Возвращаемые значения
  • строка, содержащая непрозрачные двоичные данные, содержащиеся в объекте axTextMarkerObject
Примечания
  • строка, скорее всего, будет содержать недопустимые последовательности UTF8 или непечатаемые значения ASCII; чтобы увидеть данные в десятичном или шестнадцатеричном формате, вы можете использовать: string.byte(hs.axuielement.axtextmarker:bytes(), 1, hs.axuielement.axtextmarker:length()) или hs.utf8.hexDump(hs.axuielement.axtextmarker:bytes())
  • Поскольку данные специфичны для приложения, маловероятно, что вы будете часто использовать этот метод; он включён в основном для тестирования и отладки.
Источник extensions/axuielement/axtextmarker.m строка 174
endMarker
Подпись hs.axuielement.axtextmarker:endMarker() -> axTextMarkerObject | nil, errorString
Тип Функция
Описание

Возвращает конечный маркер объекта axTextMarkerRangeObject

Параметры
  • Нет
Возвращаемые значения
  • конечный маркер объекта axTextMarkerRangeObject
Источник extensions/axuielement/axtextmarker.m строка 248
length
Подпись hs.axuielement.axtextmarker:length() -> integer | nil, errorString
Тип Функция
Описание

Возвращает целое число, указывающее количество байтов в части данных объекта axTextMarkerObject.

Параметры
  • Нет
Возвращаемые значения
  • целое число, указывающее количество байтов в части данных объекта axTextMarkerObject
Примечания
  • Поскольку данные специфичны для приложения, маловероятно, что вы будете часто использовать этот метод; он включён в основном для тестирования и отладки.
Источник extensions/axuielement/axtextmarker.m строка 200
startMarker
Подпись hs.axuielement.axtextmarker:startMarker() -> axTextMarkerObject | nil, errorString
Тип Функция
Описание

Возвращает начальный маркер объекта axTextMarkerRangeObject

Параметры
  • Нет
Возвращаемые значения
  • начальный маркер объекта axTextMarkerRangeObject
Источник extensions/axuielement/axtextmarker.m строка 221

Конструкторы

newMarker
Подпись hs.axuielement.axtextmarker.newMarker(string) -> axTextMarkerObject | nil, errorString
Тип Конструктор
Описание

Создаёт новый объект AXTextMarker из предоставленной строки двоичных данных

Параметры
  • string — строка, содержащая 1 или более байтов данных для объекта AXTextMarker
Возвращаемые значения
  • новый объект axTextMarkerObject или nil и строковое описание, если произошла ошибка
Примечания
  • Эта функция включена в основном для тестирования и отладки — в целом вы, вероятно, никогда не будете использовать этот конструктор; объекты AXTextMarker, по-видимому, в основном зависят от приложения и не имеют смысла вне приложения, из которого они были созданы.
Источник extensions/axuielement/axtextmarker.m строка 43
newRange
Подпись hs.axuielement.axtextmarker.newRange(startMarker, endMarker) -> axTextMarkerRangeObject | nil, errorString
Тип Конструктор
Описание

Создаёт новый объект AXTextMarkerRange из предоставленных начального и конечного маркеров

Параметры
  • startMarker — объект axTextMarkerObject, представляющий начало создаваемого диапазона
  • endMarker — объект axTextMarkerObject, представляющий конец создаваемого диапазона
Возвращаемые значения
  • новый объект axTextMarkerRangeObject или nil и строковое описание, если произошла ошибка
Примечания
  • Этот конструктор можно использовать для создания диапазона из объектов axTextMarkerObject, полученных из приложения, чтобы указать новый диапазон для параметризованного атрибута. В качестве простого примера (надеюсь, скоро больше примеров будет добавлено в вики Hammerspoon):
    s = hs.axuielement.applicationElement(hs.application("Safari"))
    -- for a window displaying the DuckDuckGo main search page, this gets the
    -- primary display area. Other pages may vary and you should build your
    -- object as necessary for your target.
    c = s("AXMainWindow")("AXSections")[1].SectionObject[1][1]
    start = c("AXStartTextMarker") -- get the text marker for the start of this element
    ending = c("AXNextLineEndTextMarkerForTextMarker", start) -- get the next end of line marker
    print(c("AXStringForTextMarkerRange", hs.axuielement.axtextmarker.newRange(start, ending)))
    -- outputs "Privacy, simplified." to the Hammerspoon console```
    
  • Конкретные поддерживаемые атрибуты и параметризованные атрибуты приложения различаются и могут быть обнаружены с помощью методов hs.axuielement:getAttributeNames и hs.axuielement:getParameterizedAttributeNames.
Источник extensions/axuielement/axtextmarker.m строка 73

© 2014–2017 Hammerspoon contributors
Licensed under the MIT License.
https://www.hammerspoon.org/docs/hs.axuielement.axtextmarker.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API