clean up and fix comments. no actual code change

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13297 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Jonathan Gordon 2007-05-01 11:01:53 +00:00
parent 1fa516822f
commit 26ff697480

View file

@ -38,6 +38,7 @@ enum menu_item_type {
MT_OLD_MENU, /* used so we can wrap the old menu api MT_OLD_MENU, /* used so we can wrap the old menu api
around the new api. Noone else should use this */ around the new api. Noone else should use this */
}; };
#define MENU_TYPE_MASK 0xF /* MT_* type */
typedef int (*menu_function)(void); typedef int (*menu_function)(void);
struct menu_func { struct menu_func {
@ -49,11 +50,13 @@ struct menu_func {
void *param; /* passed to function_w_param */ void *param; /* passed to function_w_param */
}; };
#define MENU_TYPE_MASK 0xF /* MT_* type */
/* these next two are mutually exclusive */ /* these next two are mutually exclusive */
#define MENU_HAS_DESC 0x10 #define MENU_HAS_DESC 0x10
#define MENU_DYNAMIC_DESC 0x20 #define MENU_DYNAMIC_DESC 0x20 /* the name of this menu item is set by the \
#define MENU_EXITAFTERTHISMENU 0x40 list_get_name callback */
#define MENU_EXITAFTERTHISMENU 0x40 /* do_menu() will exiting out of any \
menu item with this flag set */
/* Flags for MT_FUNCTION_CALL */ /* Flags for MT_FUNCTION_CALL */
#define MENU_FUNC_USEPARAM 0x80 #define MENU_FUNC_USEPARAM 0x80
@ -118,17 +121,19 @@ bool do_setting_from_menu(const struct menu_item_ex *temp);
/* Use this for settings which have a differnt title in their /* Use this for settings which have a differnt title in their
setting screen than in the menu (e.g scroll options */ setting screen than in the menu (e.g scroll options */
#define MENUITEM_SETTING_W_TEXT(name, var, str, callback ) \ #define MENUITEM_SETTING_W_TEXT(name, var, str, callback ) \
static const struct menu_callback_with_desc name##__ = {callback,str, Icon_NOICON};\ static const struct menu_callback_with_desc name##__ = \
{callback,str, Icon_NOICON}; \
static const struct menu_item_ex name = \ static const struct menu_item_ex name = \
{MT_SETTING_W_TEXT|MENU_HAS_DESC, {.variable = (void*)var }, \ {MT_SETTING_W_TEXT|MENU_HAS_DESC, {.variable = (void*)var }, \
{.callback_and_desc = & name##__}}; {.callback_and_desc = & name##__}};
/* Use this To create a list of NON-XLATABLE (for the time being) Strings /* Use this To create a list of Strings (or ID2P()'s )
When the user enters this list and selects one, the menu will exits When the user enters this list and selects one, the menu will exits
and its return value will be the index of the chosen item */ and its return value will be the index of the chosen item */
#define MENUITEM_STRINGLIST(name, str, callback, ... ) \ #define MENUITEM_STRINGLIST(name, str, callback, ... ) \
static const char *name##_[] = {__VA_ARGS__}; \ static const char *name##_[] = {__VA_ARGS__}; \
static const struct menu_callback_with_desc name##__ = {callback,str, Icon_NOICON};\ static const struct menu_callback_with_desc name##__ = \
{callback,str, Icon_NOICON}; \
static const struct menu_item_ex name = \ static const struct menu_item_ex name = \
{MT_RETURN_ID|MENU_HAS_DESC| \ {MT_RETURN_ID|MENU_HAS_DESC| \
MENU_ITEM_COUNT(sizeof( name##_)/sizeof(*name##_)), \ MENU_ITEM_COUNT(sizeof( name##_)/sizeof(*name##_)), \
@ -143,7 +148,8 @@ bool do_setting_from_menu(const struct menu_item_ex *temp);
{.callback_and_desc = & name##_}}; {.callback_and_desc = & name##_}};
/* same as above, except the item name is dynamic */ /* same as above, except the item name is dynamic */
#define MENUITEM_RETURNVALUE_DYNTEXT(name, val, cb, text_callback, text_cb_data, icon) \ #define MENUITEM_RETURNVALUE_DYNTEXT(name, val, cb, text_callback, \
text_cb_data, icon) \
static const struct menu_get_name_and_icon name##_ \ static const struct menu_get_name_and_icon name##_ \
= {cb,text_callback,text_cb_data,icon}; \ = {cb,text_callback,text_cb_data,icon}; \
static const struct menu_item_ex name = \ static const struct menu_item_ex name = \
@ -152,8 +158,9 @@ bool do_setting_from_menu(const struct menu_item_ex *temp);
/* Use this to put a function call into the menu. /* Use this to put a function call into the menu.
When the user selects this item the function will be run, When the user selects this item the function will be run,
unless MENU_FUNC_IGNORE_RETVAL is set, the return value if MENU_FUNC_CHECK_RETVAL is set, the return value
will be checked, returning 1 will exit do_menu(); */ will be checked, returning 1 will exit do_menu();
if MENU_FUNC_USEPARAM is set, param will be passed to the function */
#define MENUITEM_FUNCTION(name, flags, str, func, param, \ #define MENUITEM_FUNCTION(name, flags, str, func, param, \
callback, icon) \ callback, icon) \
static const struct menu_callback_with_desc name##_ = {callback,str,icon}; \ static const struct menu_callback_with_desc name##_ = {callback,str,icon}; \
@ -174,7 +181,8 @@ bool do_setting_from_menu(const struct menu_item_ex *temp);
{ .function = & name##__}, {.menu_get_name_and_icon = & name##_}}; { .function = & name##__}, {.menu_get_name_and_icon = & name##_}};
/* Use this to actually create a menu. the ... argument is a list of pointers /* Use this to actually create a menu. the ... argument is a list of pointers
to any of the above macro'd variables. (It can also have other menus in the list. */ to any of the above macro'd variables.
(It can also have other menus in the list.) */
#define MAKE_MENU( name, str, callback, icon, ... ) \ #define MAKE_MENU( name, str, callback, icon, ... ) \
static const struct menu_item_ex *name##_[] = {__VA_ARGS__}; \ static const struct menu_item_ex *name##_[] = {__VA_ARGS__}; \
static const struct menu_callback_with_desc name##__ = {callback,str,icon};\ static const struct menu_callback_with_desc name##__ = {callback,str,icon};\
@ -184,7 +192,7 @@ bool do_setting_from_menu(const struct menu_item_ex *temp);
{ (void*)name##_},{.callback_and_desc = & name##__}}; { (void*)name##_},{.callback_and_desc = & name##__}};
/* OLD API - only use if you really have to.. Ideally this will be dropped */ /* OLD API - This is only here for plugin compatability now, will be dropped ASAP */
struct menu_item { struct menu_item {
unsigned char *desc; /* string or ID */ unsigned char *desc; /* string or ID */
bool (*function) (void); /* return true if USB was connected */ bool (*function) (void); /* return true if USB was connected */