Xwidgets (см. Встроенные нативные виджеты) могут отправлять события для обновления программ на Lisp о своем состоянии. Эти события называются xwidget-events и содержат различные данные, описывающие характер изменения.
(xwidget-event kind xwidget arg)Это событие отправляется всякий раз, когда происходит какое-либо обновление в xwidget. Существует несколько типов обновлений, определяемых их kind.
Это специальное событие (см. Специальные события), которое должно обрабатываться путем добавления колбэка к xwidget, который вызывается при получении события xwidget для xwidget.
Вы можете добавить колбэк, установив свойство callback в списке свойств xwidget, которое должно быть функцией, принимающей xwidget и kind в качестве аргументов.
load-changedЭто событие xwidget указывает на то, что xwidget достиг определенной точки процесса загрузки страницы. Когда эти события отправляются, arg будет содержать строку, которая дополнительно описывает состояние виджета:
Это означает, что виджет начал операцию загрузки страницы.
Это означает, что xwidget завершил обработку любой операции загрузки страницы, которую он выполнял ранее.
Это означает, что xwidget обнаружил и последовал перенаправлению во время операции загрузки страницы.
Это означает, что xwidget зафиксировал определенный URL во время операции загрузки страницы, то есть URL является конечным URL, который будет отображен xwidget во время текущей операции загрузки страницы.
download-callbackЭто событие указывает на завершение загрузки чего-либо.
В вышеуказанных событиях могут быть аргументы после arg, где сам arg указывает URL, откуда был получен загружаемый файл: первый аргумент после arg указывает MIME-тип загрузки в виде строки, а второй аргумент содержит полное имя загруженного файла.
download-startedЭто событие указывает на начало загрузки. В этих событиях arg содержит URL файла, который в настоящее время загружается.
javascript-callbackЭто событие содержит данные колбэка JavaScript. Эти события используются внутренне функцией xwidget-webkit-execute-script.
(xwidget-display-event xwidget source)Это событие отправляется всякий раз, когда xwidget запрашивает отображение другого xwidget. xwidget — это xwidget, который должен быть отображен, а source — это xwidget, который запросил отображение xwidget.
Это также специальное событие, которое должно обрабатываться через колбэки. Вы можете добавить такой колбэк, установив свойство display-callback в списке свойств source, которое должно быть функцией, принимающей xwidget и source в качестве аргументов.
xwidget's буфер будет установлен в временный буфер. При отображении виджета следует позаботиться о замене буфера на тот, в котором будет отображен xwidget, используя set-xwidget-buffer (см. Встроенные нативные виджеты).