diff options
author | Ton Roosendaal <ton@blender.org> | 2011-01-03 17:36:44 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2011-01-03 17:36:44 +0300 |
commit | 9676902006f4181e84c6eff6da64b393c46a34e9 (patch) | |
tree | 1bed6fcde313031efbd7646ef968f6645e29b9e4 /source/blender/editors/space_node/node_edit.c | |
parent | 6ae84f96e0105a4c320fa151a8f2caf6a8ce789a (diff) |
Todo items:
- New Node editor now opens with larger view, the default
was like zoomed in factor 2.
- Add node via menu now shows new node more visible
- Click on (material) node now doesn't re-render the entire
tree anymore, much nicer.
- Duplicate node creates preview image immediate
Diffstat (limited to 'source/blender/editors/space_node/node_edit.c')
-rw-r--r-- | source/blender/editors/space_node/node_edit.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index 7db20966a8b..ead3eccd16c 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -211,6 +211,8 @@ bNode *editnode_get_active(bNodeTree *ntree) void snode_notify(bContext *C, SpaceNode *snode) { + WM_event_add_notifier(C, NC_NODE|NA_EDITED, NULL); + if(snode->treetype==NTREE_SHADER) WM_event_add_notifier(C, NC_MATERIAL|ND_NODES, snode->id); else if(snode->treetype==NTREE_COMPOSIT) @@ -1464,7 +1466,7 @@ bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float /* generics */ if(node) { node->locx= locx; - node->locy= locy + 60.0f; // arbitrary.. so its visible + node->locy= locy + 60.0f; // arbitrary.. so its visible, (0,0) is top of node node->flag |= SELECT; gnode= node_tree_get_editgroup(snode->nodetree); @@ -1515,6 +1517,12 @@ static int node_duplicate_exec(bContext *C, wmOperator *UNUSED(op)) ntreeCopyTree(snode->edittree, 1); /* 1 == internally selected nodes */ + /* to ensure redraws or rerenders happen */ + for(node= snode->edittree->nodes.first; node; node= node->next) + if(node->flag & SELECT) + if(node->id) + ED_node_changed_update(node->id, node); + ntreeSolveOrder(snode->edittree); node_tree_verify_groups(snode->nodetree); snode_notify(C, snode); |