diff options
author | Ton Roosendaal <ton@blender.org> | 2010-04-05 22:34:18 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2010-04-05 22:34:18 +0400 |
commit | a9fa23c6244d4a5c0fd3c9a18d82b6e2230e2edf (patch) | |
tree | fdfc6e6aadb12b6880f4c67cc67b0ee39e0d14cb /source/blender/editors/space_node/node_edit.c | |
parent | 1f9b03f64c81f09556fda82091c24288c3e7e7ed (diff) |
Request: auto link to viewer node back. Used to be ctrl+click, is now
shift+ctrl+click, because the ctrl_click goes to knife cutting.
Implementation note: this is a macro, select + link.
Diffstat (limited to 'source/blender/editors/space_node/node_edit.c')
-rw-r--r-- | source/blender/editors/space_node/node_edit.c | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index 69b2cb95a9d..246806ecec9 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -910,13 +910,40 @@ static void node_link_viewer(SpaceNode *snode, bNode *tonode) } -void node_active_link_viewer(SpaceNode *snode) +static int node_active_link_viewer(bContext *C, wmOperator *op) { - bNode *node= editnode_get_active(snode->edittree); - if(node) + SpaceNode *snode= CTX_wm_space_node(C); + bNode *node; + + + node= editnode_get_active(snode->edittree); + + if(node) { node_link_viewer(snode, node); + snode_notify(C, snode); + } + return OPERATOR_FINISHED; } + + +void NODE_OT_link_viewer(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Link to Viewer Node"; + ot->description = "Link to Viewer Node"; + ot->idname= "NODE_OT_link_viewer"; + + /* api callbacks */ + ot->exec= node_active_link_viewer; + ot->poll= ED_operator_node_active; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + + + /* return 0, nothing done */ /*static*/ int node_mouse_groupheader(SpaceNode *snode) { |