Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-06-24 17:07:34 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-06-24 21:06:30 +0300
commita5b7f1ef535038be549530612c7eed9109e1d4b4 (patch)
treec22cbabd5e9f2f58de8a268c7c57e9be0fdc109d /source/blender/makesdna/DNA_userdef_types.h
parenta59d7374ea1ce165604975a807fb6e92f9c1d469 (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.h31
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];