[Bf-blender-cvs] [a750bab] temp_pie_max_items_fix: Use parent icon when creating new pie level

Julian Eisel noreply at git.blender.org
Mon Feb 15 17:04:27 CET 2016


Commit: a750babf375a18449d52a13f4443360993c9ec5c
Author: Julian Eisel
Date:   Mon Feb 15 15:33:02 2016 +0100
Branches: temp_pie_max_items_fix
https://developer.blender.org/rBa750babf375a18449d52a13f4443360993c9ec5c

Use parent icon when creating new pie level

===================================================================

M	source/blender/editors/interface/interface_intern.h
M	source/blender/editors/interface/interface_regions.c

===================================================================

diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
index 4ceb216..ccf030a 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -335,7 +335,10 @@ typedef struct ColorPickerData {
 } ColorPickerData;
 
 struct PieMenuData {
+	/* store title and icon to allow access when pie levels are created */
 	const char *title;
+	int icon;
+
 	float pie_dir[2];
 	float pie_center_init[2];
 	float pie_center_spawned[2];
diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c
index eaaa444..4a9d4fe 100644
--- a/source/blender/editors/interface/interface_regions.c
+++ b/source/blender/editors/interface/interface_regions.c
@@ -2841,6 +2841,7 @@ uiPieMenu *UI_pie_menu_begin(struct bContext *C, const char *title, int icon, co
 		/* do not align left */
 		but->drawflag &= ~UI_BUT_TEXT_LEFT;
 		pie->block_radial->pie_data.title = but->str;
+		pie->block_radial->pie_data.icon = icon;
 	}
 
 	return pie;
@@ -2968,6 +2969,7 @@ int UI_pie_menu_invoke_from_rna_enum(
 
 typedef struct PieMenuLevelData {
 	char title[UI_MAX_NAME_STR]; /* parent pie title, copied for level */
+	int icon; /* parent pie icon, copied for level */
 	int totitem; /* total count of *remaining* items */
 
 	/* needed for calling uiItemsFullEnumO_array again for new level */
@@ -2986,7 +2988,7 @@ static void ui_pie_menu_level_invoke(bContext *C, void *argN, void *arg2)
 	PieMenuLevelData *lvl = (PieMenuLevelData *)arg2;
 	wmWindow *win = CTX_wm_window(C);
 
-	uiPieMenu *pie = UI_pie_menu_begin(C, IFACE_(lvl->title), ICON_NONE, win->eventstate);
+	uiPieMenu *pie = UI_pie_menu_begin(C, IFACE_(lvl->title), lvl->icon, win->eventstate);
 	uiLayout *layout = UI_pie_menu_layout(pie);
 
 	layout = uiLayoutRadial(layout);




More information about the Bf-blender-cvs mailing list