Plumiferos request

Compositor:
Viewer Nodes inside of Groups now work too. To not frustrate interactive
speed, the following rules apply:

- Making a Group editable (or closing) doesn't signal recalculation of
  composite
- clicking on an Input socket always checks changes and calulcates
- When there are Viewers inside an edited Group, Viewers in the main tree
  are not executed.

Also added: a "hide unused sockets" icon in the header of Viewer nodes.
This allows cleanup of Groups, to prevent these sockets get reveiled.
This commit is contained in:
2006-06-03 09:19:10 +00:00
parent 6f44fc5c1a
commit bc7b4988d0
4 changed files with 43 additions and 12 deletions

View File

@@ -441,6 +441,12 @@ static void node_set_active(SpaceNode *snode, bNode *node)
node->flag |= NODE_DO_OUTPUT;
if(was_output==0) {
NodeTagChanged(snode->edittree, node);
/* if inside group, tag entire group */
node= snode_get_editgroup(snode);
if(node)
NodeTagIDChanged(snode->nodetree, node->id);
snode_handle_recalc(snode);
}
@@ -1089,10 +1095,9 @@ static int do_header_node(SpaceNode *snode, bNode *node, float mx, float my)
}
totr.xmin-=18.0f;
}
if(node->outputs.first) {
if(BLI_in_rctf(&totr, mx, my)) {
node_hide_unhide_sockets(snode, node);
}
/* hide unused sockets */
if(BLI_in_rctf(&totr, mx, my)) {
node_hide_unhide_sockets(snode, node);
}