mc/src/menu.h

50 lines
1.2 KiB
C
Raw Normal View History

1998-02-27 07:54:42 +03:00
#ifndef __MENU_H
#define __MENU_H
#include "widget.h"
typedef void (*callfn) (void);
1998-02-27 07:54:42 +03:00
typedef struct {
char first_letter;
const char *text;
1998-02-27 07:54:42 +03:00
int hot_key;
callfn call_back;
} menu_entry;
typedef struct Menu {
const char *name;
1998-02-27 07:54:42 +03:00
int count;
int max_entry_len;
int selected;
int hotkey;
1998-02-27 07:54:42 +03:00
menu_entry *entries;
int start_x; /* position relative to menubar start */
const char *help_node;
} Menu;
1998-02-27 07:54:42 +03:00
extern int menubar_visible;
/* The button bar menu */
typedef struct WMenu {
1998-02-27 07:54:42 +03:00
Widget widget;
int active; /* If the menubar is in use */
int dropped; /* If the menubar has dropped */
Menu **menu; /* The actual menus */
1998-02-27 07:54:42 +03:00
int items;
int selected; /* Selected menu on the top bar */
int subsel; /* Selected entry on the submenu */
int max_entry_len; /* Cache value for the columns in a box */
int previous_widget; /* Selected widget ID before activating menu */
1998-02-27 07:54:42 +03:00
} WMenu;
Menu *create_menu (const char *name, menu_entry *entries, int count,
const char *help_node);
void destroy_menu (Menu *menu);
WMenu *menubar_new (int y, int x, int cols, Menu *menu[], int items);
void menubar_arrange (WMenu *menubar);
1998-02-27 07:54:42 +03:00
#endif /* __MENU_H */