Desde Xojo2025r3 las apps de macOS se compilan utilizando el SDK 26 y, entre otras cosas, esto significa que tus apps obtendrán una mayor funcionalidad nativa sin programación adicional… y en otros casos sólo necesitarás utilizar un Declare, como por ejemplo cuando se trata de permitir a los usuarios que personalicen las barras de herramientas de tus apps.
Para mostrarlo utilizaremos el proyecto de ejemplo Desktop Toolbar que está disponible desde la sección Examples en la ventana de nuevo proyecto en el IDE de Xojo. Abre dicho proyecto desde Xojo 2025r3.
A continuación, selecciona el evento Opening en el elemento WindowToolbar disponible bajo la ventana MainWindow en el navegador de proyecto, y añade las siguientes líneas de código en la parte superior del Editor de Código asociado con dicho elemento:
Var hdl As Ptr = me.Handle If hdl.Integer <> 0 Then Declare Sub AllowCustomization Lib "AppKit" Selector "setAllowsUserCustomization:" (hdl As Ptr, value As Boolean) AllowCustomization( hdl, True) End If
¡Así de simple! Ejecuta tu app y accede al menú contextual haciendo clic en la barra de herramientas de la ventana. Ahora podrás ver la entrada “Personalizar barra de herramientas” añadida a las existentes previamente. Selecciona dicha opción y personaliza los elementos de la barra de herramientas como desees. Cuando confirmes la selección verás los cambios aplicados a la barra de herramientas.
El único inconveniente es que la personalización realizada por el usuario no persistirá entre diferentes ejecuciones de la app. Esto se debe a que la barra de herramientas requiere de un ID único, de modo que el sistema operativo pueda guardar dicha configuración y recuperarla posteriormente; pero… ¿quién sabe lo que el futuro nos depara? 🙂