[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25761] trunk/blender/source/blender: Node editor tweaks
Matt Ebb
matt at mke3.net
Wed Jan 6 04:00:21 CET 2010
Revision: 25761
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25761
Author: broken
Date: 2010-01-06 04:00:19 +0100 (Wed, 06 Jan 2010)
Log Message:
-----------
Node editor tweaks
* Cleaned up dead code, removed all traces of socket selection
* Modified border select so it's possible to have border select on mouse tweak.
With this change, by default, click+dragging on a node will select and move it,
but click+dragging on empty space will border select.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/node.c
trunk/blender/source/blender/blenloader/intern/readfile.c
trunk/blender/source/blender/editors/space_node/node_draw.c
trunk/blender/source/blender/editors/space_node/node_edit.c
trunk/blender/source/blender/editors/space_node/node_ops.c
trunk/blender/source/blender/editors/space_node/node_select.c
trunk/blender/source/blender/makesdna/DNA_node_types.h
Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c 2010-01-06 01:41:00 UTC (rev 25760)
+++ trunk/blender/source/blender/blenkernel/intern/node.c 2010-01-06 03:00:19 UTC (rev 25761)
@@ -531,20 +531,6 @@
node->locx-= 0.5f*(min[0]+max[0]);
node->locy-= 0.5f*(min[1]+max[1]);
- /* set selin and selout of the nodetree */
- for(sock= node->inputs.first; sock; sock= sock->next) {
- if(sock->flag & SOCK_SEL) {
- ngroup->selin= sock;
- break;
- }
- }
- for(sock= node->outputs.first; sock; sock= sock->next) {
- if(sock->flag & SOCK_SEL) {
- ngroup->selout= sock;
- break;
- }
- }
-
/* set socket own_index to zero since it can still have a value
* from being in a group before, otherwise it doesn't get a unique
* index in group_verify_own_indices */
@@ -1134,28 +1120,6 @@
node->flag &= ~(NODE_SELECT|NODE_ACTIVE);
nnode->flag |= NODE_SELECT;
}
-
- /* deselect original sockets */
- for(sock= node->inputs.first; sock; sock= sock->next) {
- if(sock->flag & SOCK_SEL) sock->flag&= ~SOCK_SEL;
- }
- for(sock= node->outputs.first; sock; sock= sock->next) {
- if(sock->flag & SOCK_SEL) sock->flag&= ~SOCK_SEL;
- }
-
- /* set tree selin and selout to new sockets */
- for(sock= nnode->inputs.first; sock; sock= sock->next) {
- if(sock->flag & SOCK_SEL) {
- ntree->selin= sock;
- break;
- }
- }
- for(sock= nnode->outputs.first; sock; sock= sock->next) {
- if(sock->flag & SOCK_SEL) {
- ntree->selout= sock;
- break;
- }
- }
}
if(node==last) break;
}
Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c 2010-01-06 01:41:00 UTC (rev 25760)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c 2010-01-06 03:00:19 UTC (rev 25761)
@@ -2129,23 +2129,7 @@
link->fromsock= newdataadr(fd, link->fromsock);
link->tosock= newdataadr(fd, link->tosock);
}
-
- /* set selin and selout */
- for(node= ntree->nodes.first; node; node= node->next) {
- for(sock= node->inputs.first; sock; sock= sock->next) {
- if(sock->flag & SOCK_SEL) {
- ntree->selin= sock;
- break;
- }
- }
- for(sock= node->outputs.first; sock; sock= sock->next) {
- if(sock->flag & SOCK_SEL) {
- ntree->selout= sock;
- break;
- }
- }
- }
-
+
/* type verification is in lib-link */
}
Modified: trunk/blender/source/blender/editors/space_node/node_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_draw.c 2010-01-06 01:41:00 UTC (rev 25760)
+++ trunk/blender/source/blender/editors/space_node/node_draw.c 2010-01-06 03:00:19 UTC (rev 25761)
@@ -506,9 +506,7 @@
/* choose color based on sock flags */
if(sock->flag & SELECT) {
- if(sock->flag & SOCK_SEL) {
- col[0]= 240; col[1]= 200; col[2]= 40;}
- else if(sock->type==SOCK_VALUE) {
+ if(sock->type==SOCK_VALUE) {
col[0]= 200; col[1]= 200; col[2]= 200;}
else if(sock->type==SOCK_VECTOR) {
col[0]= 140; col[1]= 140; col[2]= 240;}
@@ -517,8 +515,6 @@
else {
col[0]= 140; col[1]= 240; col[2]= 140;}
}
- else if(sock->flag & SOCK_SEL) {
- col[0]= 200; col[1]= 160; col[2]= 0;}
else {
if(sock->type==-1) {
col[0]= 0; col[1]= 0; col[2]= 0;}
Modified: trunk/blender/source/blender/editors/space_node/node_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_edit.c 2010-01-06 01:41:00 UTC (rev 25760)
+++ trunk/blender/source/blender/editors/space_node/node_edit.c 2010-01-06 03:00:19 UTC (rev 25761)
@@ -222,116 +222,6 @@
WM_event_add_notifier(C, NC_TEXTURE|ND_NODES, snode->id);
}
-#if 0
-static int image_detect_file_sequence(int *start_p, int *frames_p, char *str)
-{
- SpaceFile *sfile;
- char name[FILE_MAX], head[FILE_MAX], tail[FILE_MAX], filename[FILE_MAX];
- int a, frame, totframe, found, minframe;
- unsigned short numlen;
-
- sfile= scrarea_find_space_of_type(curarea, SPACE_FILE);
- if(sfile==NULL || sfile->filelist==NULL)
- return 0;
-
- /* find first frame */
- found= 0;
- minframe= 0;
-
- for(a=0; a<sfile->totfile; a++) {
- if(sfile->filelist[a].flags & ACTIVE) {
- BLI_strncpy(name, sfile->filelist[a].relname, sizeof(name));
- frame= BLI_stringdec(name, head, tail, &numlen);
-
- if(!found || frame < minframe) {
- BLI_strncpy(filename, name, sizeof(name));
- minframe= frame;
- found= 1;
- }
- }
- }
-
- /* not one frame found */
- if(!found)
- return 0;
-
- /* counter number of following frames */
- found= 1;
- totframe= 0;
-
- for(frame=minframe; found; frame++) {
- found= 0;
- BLI_strncpy(name, filename, sizeof(name));
- BLI_stringenc(name, head, tail, numlen, frame);
-
- for(a=0; a<sfile->totfile; a++) {
- if(sfile->filelist[a].flags & ACTIVE) {
- if(strcmp(sfile->filelist[a].relname, name) == 0) {
- found= 1;
- totframe++;
- break;
- }
- }
- }
- }
-
- if(totframe > 1) {
- BLI_strncpy(str, sfile->dir, sizeof(name));
- strcat(str, filename);
-
- *start_p= minframe;
- *frames_p= totframe;
- return 1;
- }
-
- return 0;
-}
-
-static void load_node_image(char *str) /* called from fileselect */
-{
- SpaceNode *snode= curarea->spacedata.first;
- bNode *node= nodeGetActive(snode->edittree);
- Image *ima= NULL;
- ImageUser *iuser= node->storage;
- char filename[FILE_MAX];
- int start=0, frames=0, sequence;
-
- sequence= image_detect_file_sequence(&start, &frames, filename);
- if(sequence)
- str= filename;
-
- ima= BKE_add_image_file(str);
- if(ima) {
- if(node->id)
- node->id->us--;
-
- node->id= &ima->id;
- id_us_plus(node->id);
-
- BLI_strncpy(node->name, node->id->name+2, 21);
-
- if(sequence) {
- ima->source= IMA_SRC_SEQUENCE;
- iuser->frames= frames;
- iuser->offset= start-1;
- }
-
- BKE_image_signal(ima, node->storage, IMA_SIGNAL_RELOAD);
-
- NodeTagChanged(snode->edittree, node);
- // XXX snode_handle_recalc(C, snode);
- }
-}
-
-static void set_node_imagepath(char *str) /* called from fileselect */
-{
- SpaceNode *snode= curarea->spacedata.first;
- bNode *node= nodeGetActive(snode->edittree);
- BLI_strncpy(((NodeImageFile *)node->storage)->name, str, sizeof( ((NodeImageFile *)node->storage)->name ));
-}
-
-#endif /* 0 */
-
bNode *node_tree_get_editgroup(bNodeTree *nodetree)
{
bNode *gnode;
@@ -343,93 +233,6 @@
return gnode;
}
-#if 0
-
-static void composit_node_event(SpaceNode *snode, short event)
-{
-
- switch(event) {
- case B_REDR:
- // allqueue(REDRAWNODE, 1);
- break;
- case B_NODE_SETIMAGE:
- {
- bNode *node= nodeGetActive(snode->edittree);
- char name[FILE_MAXDIR+FILE_MAXFILE];
-
- strcpy(name, ((NodeImageFile *)node->storage)->name);
- if (G.qual & LR_CTRLKEY) {
- activate_imageselect(FILE_SPECIAL, "SELECT OUTPUT DIR", name, set_node_imagepath);
- } else {
- activate_fileselect(FILE_SPECIAL, "SELECT OUTPUT DIR", name, set_node_imagepath);
- }
- break;
- }
- case B_NODE_TREE_EXEC:
- // XXX snode_handle_recalc(snode);
- break;
- default:
- /* B_NODE_EXEC */
- {
- bNode *node= BLI_findlink(&snode->edittree->nodes, event-B_NODE_EXEC);
- if(node) {
- NodeTagChanged(snode->edittree, node);
- /* don't use NodeTagIDChanged, it gives far too many recomposites for image, scene layers, ... */
-
- /* not the best implementation of the world... but we need it to work now :) */
- if(node->type==CMP_NODE_R_LAYERS && node->custom2) {
- /* add event for this window (after render curarea can be changed) */
- addqueue(curarea->win, UI_BUT_EVENT, B_NODE_TREE_EXEC);
-
- composite_node_render(snode, node);
- // XXX snode_handle_recalc(snode);
-
- /* add another event, a render can go fullscreen and open new window */
- addqueue(curarea->win, UI_BUT_EVENT, B_NODE_TREE_EXEC);
- }
- else {
- node= node_tree_get_editgroup(snode->nodetree);
- if(node)
- NodeTagIDChanged(snode->nodetree, node->id);
-
- // XXX snode_handle_recalc(snode);
- }
- }
- }
- }
-}
-
-static void texture_node_event(SpaceNode *snode, short event)
-{
- switch(event) {
- case B_REDR:
- // allqueue(REDRAWNODE, 1);
- break;
- case B_NODE_LOADIMAGE:
- {
- bNode *node= nodeGetActive(snode->edittree);
- char name[FILE_MAXDIR+FILE_MAXFILE];
-
- if(node->id)
- strcpy(name, ((Image *)node->id)->name);
- else strcpy(name, U.textudir);
- if (G.qual & LR_CTRLKEY) {
- activate_imageselect(FILE_SPECIAL, "SELECT IMAGE", name, load_node_image);
- } else {
- activate_fileselect(FILE_SPECIAL, "SELECT IMAGE", name, load_node_image);
- }
- break;
- }
- default:
- /* B_NODE_EXEC */
- ntreeTexCheckCyclics( snode->nodetree );
- // XXX snode_handle_recalc(snode);
- // allqueue(REDRAWNODE, 1);
- break;
- }
-}
-
-#endif /* 0 */
/* assumes nothing being done in ntree yet, sets the default in/out node */
/* called from shading buttons or header */
void ED_node_shader_default(Material *ma)
@@ -620,29 +423,6 @@
node_tree_from_ID(snode->id, &snode->nodetree, &snode->edittree, NULL);
}
-#if 0
-/* on activate image viewer, check if we show it */
-static void node_active_image(Image *ima)
-{
- ScrArea *sa;
- SpaceImage *sima= NULL;
-
- /* find an imagewindow showing render result */
- for(sa=G.curscreen->areabase.first; sa; sa= sa->next) {
- if(sa->spacetype==SPACE_IMAGE) {
- sima= sa->spacedata.first;
- if(sima->image && sima->image->source!=IMA_SRC_VIEWER)
- break;
- }
- }
- if(sa && sima) {
- sima->image= ima;
- scrarea_queue_winredraw(sa);
- scrarea_queue_headredraw(sa);
- }
-}
-#endif /* 0 */
-
void node_set_active(SpaceNode *snode, bNode *node)
{
nodeSetActive(snode->edittree, node);
@@ -692,18 +472,9 @@
/* addnode() doesnt link this yet... */
node->id= (ID *)BKE_image_verify_viewer(IMA_TYPE_COMPOSITE, "Viewer Node");
}
- else if(node->type==CMP_NODE_IMAGE) {
- // XXX
-#if 0
- if(node->id)
- node_active_image((Image *)node->id);
-#endif
- }
else if(node->type==CMP_NODE_R_LAYERS) {
if(node->id==NULL || node->id==(ID *)scene) {
scene->r.actlay= node->custom1;
- // XXX
- // allqueue(REDRAWBUTSSCENE, 0);
}
}
}
@@ -765,13 +536,6 @@
snode->edittree= snode->nodetree;
ntreeSolveOrder(snode->nodetree);
-
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list