forked from bartvdbraak/blender
Feature fix
When using Material Nodes, there was no indication in Material Property window which node was active. The context/channel widget now shows this. Better would be to be able to browse nodes in this list, and to have option to preview only this material (not node tree result). Enough todo for future :)
This commit is contained in:
parent
23fbce5a5f
commit
e76074da0b
@ -38,6 +38,7 @@
|
||||
#include "BKE_global.h"
|
||||
#include "BKE_library.h"
|
||||
#include "BKE_main.h"
|
||||
#include "BKE_material.h"
|
||||
#include "BKE_texture.h"
|
||||
#include "BKE_report.h"
|
||||
|
||||
@ -2000,6 +2001,28 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe
|
||||
uiBlockSetEmboss(block, UI_EMBOSS);
|
||||
uiDefButR(block, OPTION, 0, "", 0, 0, UI_UNIT_X, UI_UNIT_Y, itemptr, "use", 0, 0, 0, 0, 0, NULL);
|
||||
}
|
||||
else if(RNA_struct_is_a(itemptr->type, &RNA_MaterialSlot)) {
|
||||
/* provision to draw active node name */
|
||||
Material *ma, *manode;
|
||||
Object *ob= (Object*)ptr->id.data;
|
||||
int index= (Material**)ptr->data - ob->mat;
|
||||
|
||||
/* default item with material base name */
|
||||
uiItemL(sub, name, icon);
|
||||
|
||||
ma= give_current_material(ob, index+1);
|
||||
if(ma) {
|
||||
manode= give_node_material(ma);
|
||||
if(manode) {
|
||||
char str[MAX_ID_NAME + 12];
|
||||
sprintf(str, "Node %s", manode->id.name+2);
|
||||
uiItemL(sub, str, ui_id_icon_get(C, &manode->id, 1));
|
||||
}
|
||||
else if(ma->use_nodes) {
|
||||
uiItemL(sub, "Node <none>", 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(itemptr->type == &RNA_ShapeKey) {
|
||||
ob= (Object*)activeptr->data;
|
||||
|
||||
|
@ -869,7 +869,7 @@ int WM_operator_winactive(bContext *C)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* op->invoke */
|
||||
/* op->exec */
|
||||
static void redo_cb(bContext *C, void *arg_op, int UNUSED(event))
|
||||
{
|
||||
wmOperator *lastop= arg_op;
|
||||
|
Loading…
Reference in New Issue
Block a user