diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-06-24 17:07:34 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-06-24 21:06:30 +0300 |
commit | a5b7f1ef535038be549530612c7eed9109e1d4b4 (patch) | |
tree | c22cbabd5e9f2f58de8a268c7c57e9be0fdc109d /source/blender/makesdna/DNA_userdef_types.h | |
parent | a59d7374ea1ce165604975a807fb6e92f9c1d469 (diff) |
UI: internal changes to user-menu storage
- Use per context menu lists to support menu editing.
- Support for different kinds of menu items since this may be needed
in the future. Only use operator types for now.
Diffstat (limited to 'source/blender/makesdna/DNA_userdef_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_userdef_types.h | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index 1230efbc247..c24895e3640 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -430,16 +430,35 @@ typedef struct bPathCompare { char flag, pad[7]; } bPathCompare; +typedef struct bUserMenu { + struct bUserMenu *next, *prev; + char space_type; + char _pad0[7]; + char context[64]; + /* bUserMenuItem */ + ListBase items; +} bUserMenu; + +/* May be part of bUserMenu or other list. */ typedef struct bUserMenuItem { struct bUserMenuItem *next, *prev; - char space_type; - char opcontext; - char _pad0[6]; char ui_name[64]; + char type; + char _pad0[7]; +} bUserMenuItem; + +typedef struct bUserMenuItem_Op { + bUserMenuItem item; char opname[64]; - char context[64]; struct IDProperty *prop; -} bUserMenuItem; + char opcontext; + char _pad0[7]; +} bUserMenuItem_Op; + +enum { + USER_MENU_TYPE_SEP = 1, + USER_MENU_TYPE_OPERATOR = 2, +}; typedef struct SolidLight { int flag, pad; @@ -522,7 +541,7 @@ typedef struct UserDef { struct ListBase user_keymaps; struct ListBase addons; struct ListBase autoexec_paths; - struct ListBase user_menu_items; /* bUserMenuItem */ + struct ListBase user_menus; /* bUserMenu */ char keyconfigstr[64]; |