SDK Multiplataforma en C logo

SDK Multiplataforma en C

Menu

❮ Anterior
Siguiente ❯

Funciones

Menu*menu_create (void)
voidmenu_destroy (...)
voidmenu_launch (...)
voidmenu_hide (...)
voidmenu_item (...)
voidmenu_off_items (...)
MenuItem*menu_get_item (...)
uint32_tmenu_size (...)

Un Menu no es más que un contenedor (o ventana) que integra una serie de opciones, también llamadas Items o MenuItems (Figura 1). Cada una de ellas consta de un texto corto, opcionalmente un icono y opcionalmente también un atajo de teclado, como por ejemplo el clásico Ctrl+C/Ctrl+V para copiar y pegar. Adicionalmente, un item puede albergar un submenu conformando una jerarquía con diferentes niveles de profundidad. En Products tienes una aplicación de ejemplo que utiliza menús.

Captura de la barra de menú de una aplicación de escritorio.
Figura 1: Barra de menú en Windows, macOS y Linux.

El concepto de menú, al igual que el de ventana, existe desde el origen de las interfaces gráficas. El primer ordenador en incorporarlas fue el Xerox Alto que apareció en 1973 y su sucesor comercial el Xerox Star. Conceptos aún muy vivos a día de hoy como: Menú, Ventana, Icono, Escritorio, o Ratón ya estaban presentes en estos equipos que sirvieron de inspiración a Steve Jobs en la creación del Apple Lisa (Figura 2), precursor del Machintosh e inspirador de Microsoft Windows.

Captura del entorno de escritorio del Apple Lisa.
Figura 2: El Apple Lisa fue uno de los primeros sistemas en incorporar menús como parte de la interfaz gráfica.

menu_create ()

Crea un nuevo menú.

Menu*
menu_create(void);

Retorna

El menú recién creado.


menu_destroy ()

Destruye un menú y toda su jerarquía.

void
menu_destroy(Menu **menu);
menu

El menú. Será puesto a NULL tras la destrucción.


menu_launch ()

Lanza un menú como secundario o PopUp.

void
menu_launch(Menu *menu,
            const V2Df position);
menu

El menú.

position

Coordenadas de la esquina superior izquierda.


menu_hide ()

Oculta un menú como secundario o PopUp.

void
menu_hide(Menu *menu);
menu

El menú.


menu_item ()

Añade un item al menú.

void
menu_item(Menu *menu,
          MenuItem *item);
menu

El menú.

item

El item a añadir.


menu_off_items ()

Establece el estado ekGUI_OFF para todos los items del menú.

void
menu_off_items(Menu *menu);
menu

El menú.


menu_get_item ()

Obtiene un item del menú.

MenuItem*
menu_get_item(Menu *menu,
              const uint32_t index);
menu

El menú.

index

El índice del item.

Retorna

El item.


menu_size ()

Obtiene el número de items.

uint32_t
menu_size(const Menu *menu);
menu

El menú.

Retorna

Número de items.

❮ Anterior
Siguiente ❯