[Bf-blender-cvs] [3937e8fbc3b] blender2.8: UI: non editable template_icon_views are rendered as label

Jeroen Bakker noreply at git.blender.org
Tue Jun 12 08:48:25 CEST 2018


Commit: 3937e8fbc3bb6ec7bdd3caad26e4e8a504ee5100
Author: Jeroen Bakker
Date:   Tue Jun 12 08:43:09 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB3937e8fbc3bb6ec7bdd3caad26e4e8a504ee5100

UI: non editable template_icon_views are rendered as label

This is also a way to render an large preview icon without the selection
control. This is used by the studiolights in the userprefs that only
displays the preview of the light.

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

M	source/blender/editors/interface/interface_templates.c

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

diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c
index 9978726fa74..45069ada92f 100644
--- a/source/blender/editors/interface/interface_templates.c
+++ b/source/blender/editors/interface/interface_templates.c
@@ -2266,13 +2266,20 @@ void uiTemplateIconView(uiLayout *layout, PointerRNA *ptr, const char *propname,
 	value = RNA_property_enum_get(ptr, prop);
 	RNA_enum_icon_from_value(items, value, &icon);
 
-	cb_args = MEM_callocN(sizeof(IconViewMenuArgs), __func__);
-	cb_args->ptr = *ptr;
-	cb_args->prop = prop;
-	cb_args->show_labels = show_labels;
-	cb_args->icon_scale = icon_scale;
+	
+	if (RNA_property_editable(ptr, prop)) {
+		cb_args = MEM_callocN(sizeof(IconViewMenuArgs), __func__);
+		cb_args->ptr = *ptr;
+		cb_args->prop = prop;
+		cb_args->show_labels = show_labels;
+		cb_args->icon_scale = icon_scale;
+
+		but = uiDefBlockButN(block, ui_icon_view_menu_cb, cb_args, "", 0, 0, UI_UNIT_X * 6, UI_UNIT_Y * 6, "");
+	}
+	else {
+		but = uiDefIconBut(block, UI_BTYPE_LABEL, 0, ICON_X, 0, 0, UI_UNIT_X * 6, UI_UNIT_Y * 6, NULL, 0.0, 0.0, 0.0, 0.0, "");
+	}
 
-	but = uiDefBlockButN(block, ui_icon_view_menu_cb, cb_args, "", 0, 0, UI_UNIT_X * 6, UI_UNIT_Y * 6, "");
 
 	ui_def_but_icon(but, icon, UI_HAS_ICON | UI_BUT_ICON_PREVIEW);



More information about the Bf-blender-cvs mailing list