Creo que AXSelectedRows por fin me ha vencido :) Después de una extensa investigación, estoy perplejo sobre cómo listar programáticamente el contenido de AXSelectedRows; en pocas palabras, para obtener las filas seleccionadas de cualquier AXOutline.
Suena trivial, pero encontrar una respuesta ha resultado difícil - particularmente debido a la falta de documentación en línea (¡aunque probablemente debería comprar un libro!) Extrañamente, mucha gente parece querer seleccionar programáticamente filas, en lugar de obtener filas seleccionadas.
Sin embargo, estoy muy cerca. He llegado hasta aquí:
set selectedRows to value of attribute "AXSelectedRows" of outline1
donde outline1
se establece en un AXOutline. Siguiente:
set selectedRow to item 1 of selectedRows
Aquí es donde se vuelve un poco turbio (después de haber fallado ya en ponerlo en row 1
en lugar de item 1
). Yo esperaría selectedRow
sea del tipo AXRow
(o row
), pero en su lugar aparece la salida de Automator:
application "System Events"
Es decir, el elemento parece ser una instancia de la aplicación "Eventos del sistema", lo que me lleva a pensar que estoy pasando por alto algo importante. Dicho esto, creo que he probado todas las combinaciones de value
's, attribute
y row
incluyendo algunos tipos de fundición.
La parte frustrante es que puedo ver el contenido de AXSelectedRows en el Inspector de Accesibilidad. Y así sé que existe. Como solución, estoy utilizando:
set selectedRows to selected of rows of outline1
Sin embargo, esto no es preferible, ya que tengo que recorrer toda la matriz para encontrar los valores "verdaderos", lo que podría tener problemas de rendimiento para listas muy grandes.
Cualquier ayuda será muy apreciada.