expo: Allow menu items to have values

At present menu items are stored according to their sequence number in
the menu. In some cases we may want to have holes in that sequence, or
not use a sequence at all.

Add a new 'value' property for menu items. This will be used for
reading and writing, if present. If there is no 'value' property, then
the normal sequence number will be used instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2024-10-14 16:31:58 -06:00
parent d8ff97ce91
commit 012e1e8652
8 changed files with 58 additions and 4 deletions

View File

@@ -330,6 +330,7 @@ enum scene_menuitem_flags_t {
* @desc_id: ID of text object to use as the description text
* @preview_id: ID of the preview object, or 0 if none
* @flags: Flags for this item
* @value: Value for this item, or INT_MAX to use sequence
* @sibling: Node to link this item to its siblings
*/
struct scene_menitem {
@@ -340,6 +341,7 @@ struct scene_menitem {
uint desc_id;
uint preview_id;
uint flags;
int value;
struct list_head sibling;
};