new MenuItem attribute char* successor_id

This commit is contained in:
boercher
2005-06-01 22:45:24 +00:00
parent f1d5e0fa82
commit 902088872f
2 changed files with 9 additions and 0 deletions
+1
View File
@@ -150,6 +150,7 @@ MenuItem *menuitem_create (MenuItemType type, char *id, MenuEventFunc(*event_fun
free (new_item); free (new_item);
return NULL; return NULL;
} }
new_item->successor_id = NULL;
new_item->parent = NULL; new_item->parent = NULL;
new_item->event_func = event_func; new_item->event_func = event_func;
new_item->text = strdup (text); new_item->text = strdup (text);
+8
View File
@@ -110,6 +110,9 @@ typedef enum MenuEventType {
typedef struct MenuItem { typedef struct MenuItem {
MenuItemType type; /**< Type as defined above */ MenuItemType type; /**< Type as defined above */
char *id; /**< Internal name for client supplied menus */ char *id; /**< Internal name for client supplied menus */
char *successor_id; /**< next menuitem after closing this
* one. (A string to allow special values
* "_quit_", "_close_", "_none_"). */
struct MenuItem *parent; /**< Parent of this menuitem */ struct MenuItem *parent; /**< Parent of this menuitem */
MenuEventFunc (*event_func); MenuEventFunc (*event_func);
/**< Defines event_func to be an event function */ /**< Defines event_func to be an event function */
@@ -273,6 +276,11 @@ static inline MenuItem *menuitem_get_parent (MenuItem *item)
return ((item != NULL) ? item->parent : NULL); return ((item != NULL) ? item->parent : NULL);
} }
static inline char *menuitem_get_successor (MenuItem *item)
{
return ((item != NULL) ? item->successor_id : NULL);
}
/** Resets the item to the initial state. /** Resets the item to the initial state.
* You should call menuitem_update after this to see the effects. * You should call menuitem_update after this to see the effects.
* This call is useless on items that have immediate effect, like a slider. * This call is useless on items that have immediate effect, like a slider.