diff options
author | Matt Ebb <matt@mke3.net> | 2010-01-13 09:35:12 +0300 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2010-01-13 09:35:12 +0300 |
commit | 7df44b9cede3aa903c4463f9e5f885a705b4173a (patch) | |
tree | 1d9c9e221f1469989d7c3d901b5ffb424eba815d /source/blender/editors/space_node | |
parent | 728359a6a5fd5736e1f1fdfa359f22474e76fd1d (diff) |
Fix: wasn't able to rename node group nodetree name, or access the nodetree at all. Now you
can switch between them too.
Wrapped group nodes in RNA as part of this.
Diffstat (limited to 'source/blender/editors/space_node')
-rw-r--r-- | source/blender/editors/space_node/drawnode.c | 45 | ||||
-rw-r--r-- | source/blender/editors/space_node/node_draw.c | 2 | ||||
-rw-r--r-- | source/blender/editors/space_node/node_intern.h | 2 |
3 files changed, 5 insertions, 44 deletions
diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c index 7f8bf2618a4..5c5e316663c 100644 --- a/source/blender/editors/space_node/drawnode.c +++ b/source/blender/editors/space_node/drawnode.c @@ -94,54 +94,13 @@ #include "node_intern.h" -/* ****************** GENERAL CALLBACKS FOR NODES ***************** */ - -#if 0 -/* XXX not used yet, make compiler happy :) */ -static void node_group_alone_cb(bContext *C, void *node_v, void *unused_v) -{ - bNode *node= node_v; - - nodeCopyGroup(node); - - // allqueue(REDRAWNODE, 0); -} /* ****************** BUTTON CALLBACKS FOR ALL TREES ***************** */ -static void node_buts_group(uiLayout *layout, bContext *C, PointerRNA *ptr) +void node_buts_group(uiLayout *layout, bContext *C, PointerRNA *ptr) { - uiBlock *block= uiLayoutAbsoluteBlock(layout); - bNode *node= ptr->data; - rctf *butr= &node->butr; - - if(node->id) { - uiBut *bt; - short width; - - uiBlockBeginAlign(block); - - /* name button */ - width= (short)(butr->xmax-butr->xmin - (node->id->us>1?19.0f:0.0f)); - bt= uiDefBut(block, TEX, B_NOP, "NT:", - (short)butr->xmin, (short)butr->ymin, width, 19, - node->id->name+2, 0.0, 19.0, 0, 0, "NodeTree name"); - uiButSetFunc(bt, node_ID_title_cb, node, NULL); - - /* user amount */ - if(node->id->us>1) { - char str1[32]; - sprintf(str1, "%d", node->id->us); - bt= uiDefBut(block, BUT, B_NOP, str1, - (short)butr->xmax-19, (short)butr->ymin, 19, 19, - NULL, 0, 0, 0, 0, "Displays number of users."); - uiButSetFunc(bt, node_group_alone_cb, node, NULL); - } - - uiBlockEndAlign(block); - } + uiTemplateIDBrowse(layout, C, ptr, "nodetree", NULL, NULL, ""); } -#endif static void node_buts_value(uiLayout *layout, bContext *C, PointerRNA *ptr) { diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c index 14c127cb7e5..ad897e1dd6e 100644 --- a/source/blender/editors/space_node/node_draw.c +++ b/source/blender/editors/space_node/node_draw.c @@ -265,7 +265,7 @@ static void node_update(const bContext *C, bNodeTree *ntree, bNode *node) /* XXX ugly hack, typeinfo for group is generated */ if(node->type == NODE_GROUP) - ; // XXX node->typeinfo->uifunc= node_buts_group; + node->typeinfo->uifunc= node_buts_group; /* buttons rect? */ if((node->flag & NODE_OPTIONS) && node->typeinfo->uifunc) { diff --git a/source/blender/editors/space_node/node_intern.h b/source/blender/editors/space_node/node_intern.h index 1ff2f7d7128..8f6d2c81026 100644 --- a/source/blender/editors/space_node/node_intern.h +++ b/source/blender/editors/space_node/node_intern.h @@ -69,6 +69,8 @@ void node_draw_link_bezier(View2D *v2d, SpaceNode *snode, bNodeLink *link, int t int node_link_bezier_points(View2D *v2d, SpaceNode *snode, bNodeLink *link, float coord_array[][2], int resol); void draw_nodespace_back_pix(ARegion *ar, SpaceNode *snode, int color_manage); +void node_buts_group(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr); + /* node_edit.c */ void node_tree_from_ID(ID *id, bNodeTree **ntree, bNodeTree **edittree, int *treetype); void snode_handle_recalc(bContext *C, SpaceNode *snode); |