El Editor de Menús

Si bien es posible crear completas jerarquías de menús desde código, la forma más sencilla de editar y modificar las Barras de Menú disponibles en el proyecto es mediante el Editor de Menús. Para acceder a este editor tan sólo hay que seleccionar la barra de menús en cuestión en el Navegador de Proyectos. Los principales elementos del Editor de Menús son los siguientes:

  1. Haz clic sobre estos iconos para ver el aspecto que presentará el menú sobre los diferentes sistemas operativos soportados. Ten en cuenta que se trata de una aproximación y no de una representación exacta.
  2. Haz clic sobre este icono para añadir un nuevo menú de primer nivel a la barra de menús. Puedes cambiar la posición de cuaqluier menú de primer nivel seleccionándolo y arrastrándolo hasta su nueva posición. Este llevará consigo el resto de elementos que cuelguen del menú.
  3. Haz clic sobre este icono para añadir un nuevo elemento sobre el menú de primer nivel seleccionado. Puedes modificar su posición arrastrándolo, incluso para llevarlo bajo la jerarquía de otro menú de primer nivel.
  4. Haciendo clic sobre este icono se añade un nuevo elemento separador sobre el menú de primer nivel seleccionado. Al igual que en los anteriores casos, también se puede cambiar su posición. Opcionalmente, puedes convertir cualquier elemento de menú en un Separador seleccionándolo y cambiando su propiedad Text por el caracter de guión medio (“-“).
  5. Haz clic sobre este botón para añadir un nuevo submenú sobre el menú principal seleccionado. Opcionalmente, puedes convertir cualquier elemento de menú en submenú conmutando a On la opción Submenu bajo el apartado Behavior en el Panel Inspector; o bien convertir un submenú en un elemento de menú sencillo poniendo dicha opción en Off.
  6. Haz clic sobre este icono para convertir el elemento de menú seleccionado en un menú de primer nivel. Si el elemento seleccionado es un submenú, entonces las entradas del submenú pasarán a colgar bajo la jerarquía del nuevo menú de primer nivel. Ten en cuenta que no es posible realizar la operación inversa; es decir, convertir un menú de primer nivel, junto con su jerarquía de elementos, en un submenú para otro menú de primer nivel.
  7. Tanto en Windows como en Linux es posible utilizar las denominadas teclas aceleradoras, mediante las cuales es posible seleccionar la opción de menú asociada. Ten en cuenta que Xojo realiza dicha detección de izquierda a derecha, de modo que si se utiliza la misma tecla para varias opciones, sólo se ejecutará sobre la primera detectada. Es posible asignar dicha tecla aceleradora, junto con otras opciones, a través del Panel Inspector asociado al elemento de menú seleccionado en cada momento.

Cuando el Editor de Menús previsualiza las Barras de Menús para macOS observarás que se añade el clásico menú manzana y también el menú My Application; sin embargo, no es posible añadir nuevos elementos de menú directamente sobre este menú principal. En vez de ello, deberás de añadir los nuevos elementos de menú sobre cualquiera de los menús en los que deseas que se visualicen sobre Windows y/o Linux, empleando a continuación el Panel Inspector asociado para modificar su clase Super de MenuItem a AppleMenuItem. Por ejemplo, probablemente esto es lo que querrás hacer a la hora de añadir las entradas correspondientes al Acerca de… y las Preferencias para la aplicación desarrollada.

En el caso de la entrada correspondiente a las Preferencias de tu aplicación, también puedes asignar la subclase PrefsMenuItem al elemento de menú para macOS. La diferencia en este caso es que el menú aparecerá activado y con la asignación del comando de teclado correcto para el despliegue en cada uno de los sistemas operativos soportados.

De hecho, pulsando sobre el botón con el icono del lápiz asociado al campo Super en el Panel Inspector se puede acceder a todas las subclases disponibles para MenuItem, tal y como se muestra en la siguiente imagen. A efectos prácticos, AppleMenuItem y ApplicationMenuItem ofrecen los mismos resultados:


Leave a Reply

Your email address will not be published. Required fields are marked *