Siento que AXSelectedRows finalmente me ha superado :) Después de una investigación exhaustiva, estoy perplejo en cuanto a cómo enumerar programáticamente los contenidos de AXSelectedRows; En pocas palabras, para obtener las filas seleccionadas de cualquier AXOutline dado.
Suena trivial, pero encontrar una respuesta ha resultado difícil, especialmente debido a la falta de documentación en línea (¡aunque probablemente debería comprar un libro!) Curiosamente, muchas personas parecen querer seleccionar filas en forma programática, en lugar de obteniendo filas seleccionadas.
Ciertamente estoy 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 que ya no se haya establecido en row 1
en lugar de item 1
). Espero que selectedRow
sea del tipo AXRow
(o row
), pero en su lugar se muestra 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 creer que estoy pasando por alto algo importante. Dicho esto, siento que he probado todas las combinaciones de value
's, attribute
' s y row
's, incluyendo algunos tipos de conversió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 usando:
set selectedRows to selected of rows of outline1
Sin embargo, esto ciertamente no es preferible ya que todavía tengo que recorrer toda la matriz para encontrar los valores 'verdaderos', que podrían tener problemas de rendimiento para listas muy grandes.
Cualquier ayuda sería enormemente apreciada!