diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2017-01-15 16:05:07 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2017-01-15 16:05:07 +0000 |
commit | 606cc0c2196f5934a7c48e89ab05da7d5e05081f (patch) | |
tree | 94de08a97df4a7251bef5e843f1f74a88ccb6a62 /frontends/amiga/menu.h | |
parent | 52f98c9fb2b3dc04412ad25b7c24fa8cf357e78d (diff) | |
download | netsurf-606cc0c2196f5934a7c48e89ab05da7d5e05081f.tar.gz netsurf-606cc0c2196f5934a7c48e89ab05da7d5e05081f.tar.bz2 |
Split up menu.c into generic and gui_window-specific files
Diffstat (limited to 'frontends/amiga/menu.h')
-rw-r--r-- | frontends/amiga/menu.h | 134 |
1 files changed, 12 insertions, 122 deletions
diff --git a/frontends/amiga/menu.h b/frontends/amiga/menu.h index 1bb13c472..f8a3f1724 100644 --- a/frontends/amiga/menu.h +++ b/frontends/amiga/menu.h @@ -1,5 +1,5 @@ /* - * Copyright 2008,2009,2013 Chris Young <chris@unsatisfactorysoftware.co.uk> + * Copyright 2017 Chris Young <chris@unsatisfactorysoftware.co.uk> * * This file is part of NetSurf, http://www.netsurf-browser.org/ * @@ -23,101 +23,19 @@ #include <intuition/intuition.h> #include <libraries/gadtools.h> -struct hlcache_handle; -struct ami_menu_data; +struct ami_menu_data { + char *restrict menulab; + Object *restrict menuobj; + char *restrict menukey; + char *restrict menuicon; + struct Hook menu_hook; + UBYTE menutype; + UWORD flags; +}; /** empty space */ #define NSA_SPACE "blankspace.png" -/** Maximum number of hotlist items (somewhat arbitrary value) */ -#define AMI_HOTLIST_ITEMS 60 - -/** Maximum number of ARexx menu items (somewhat arbitrary value) */ -#define AMI_MENU_AREXX_ITEMS 20 - -/** enum menu structure, has to be here as we need it below. */ -enum { - /* Project menu */ - M_PROJECT = 0, - M_NEWWIN, - M_NEWTAB, - M_BAR_P1, - M_OPEN, - M_SAVEAS, - M_SAVESRC, - M_SAVETXT, - M_SAVECOMP, - M_SAVEIFF, -#ifdef WITH_PDF_EXPORT - M_SAVEPDF, -#endif - M_BAR_P2, - M_PRINT, - M_BAR_P3, - M_CLOSETAB, - M_CLOSEWIN, - M_BAR_P4, - M_ABOUT, - M_BAR_P5, - M_QUIT, - /* Edit menu */ - M_EDIT, - M_CUT, - M_COPY, - M_PASTE, - M_BAR_E1, - M_SELALL, - M_CLEAR, - M_BAR_E2, - M_UNDO, - M_REDO, - /* Browser menu */ - M_BROWSER, - M_FIND, - M_BAR_B1, - M_HISTLOCL, - M_HISTGLBL, - M_BAR_B2, - M_COOKIES, - M_BAR_B3, - M_SCALE, - M_SCALEDEC, - M_SCALENRM, - M_SCALEINC, - M_IMAGES, - M_IMGFORE, - M_IMGBACK, - M_JS, - M_BAR_B4, - M_REDRAW, - /* Hotlist menu */ - M_HOTLIST, - M_HLADD, - M_HLSHOW, - M_BAR_H1, // 47 - AMI_MENU_HOTLIST, /* Where the hotlist entries start */ - AMI_MENU_HOTLIST_MAX = AMI_MENU_HOTLIST + AMI_HOTLIST_ITEMS, - /* Settings menu */ - M_PREFS, - M_PREDIT, - M_BAR_S1, - M_SNAPSHOT, - M_PRSAVE, - /* ARexx menu */ - M_AREXX, - M_AREXXEX, - M_BAR_A1, - AMI_MENU_AREXX, - AMI_MENU_AREXX_MAX = AMI_MENU_AREXX + AMI_MENU_AREXX_ITEMS -}; - -/* We can get away with AMI_MENU_MAX falling short as it is - * only used for freeing the UTF-8 converted menu labels */ -#define AMI_MENU_MAX AMI_MENU_AREXX - -struct gui_window; -struct gui_window_2; - /* cleanup */ void ami_menu_free_glyphs(void); @@ -128,37 +46,9 @@ void ami_menu_alloc_item(struct ami_menu_data **md, int num, UBYTE type, struct Menu *ami_menu_layout(struct ami_menu_data **md, int max); void ami_menu_free_menu(struct ami_menu_data **md, int max, struct Menu *imenu); -/* specific to browser windows */ -struct Menu *ami_menu_create(struct gui_window_2 *gwin); -void ami_menu_refresh(struct gui_window_2 *gwin); -void ami_menu_update_checked(struct gui_window_2 *gwin); -void ami_menu_update_disabled(struct gui_window *g, struct hlcache_handle *c); -void ami_menu_free(struct gui_window_2 *gwin); - -/** - * Set disabled state of a menu item - */ -void ami_menu_set_disabled(struct Window *win, struct Menu *menu, int item, bool disable); - -/** - * Sets that an item linked to a toggle menu item has been changed. - */ -void ami_menu_set_check_toggled(void); - /** - * Gets if the menu needs updating because an item linked - * to a toggle menu item has been changed. - * NB: This also *clears* the state - * - * \return true if the menus need refreshing - */ -bool ami_menu_get_check_toggled(void); - -/** - * Gets if NetSurf has been quit from the menu - * - * \return true if NetSurf has been quit + * Get the selected state of a menu item */ -bool ami_menu_quit_selected(void); +bool ami_menu_get_selected(struct Menu *menu, struct IntuiMessage *msg); #endif |