[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18457] branches/blender2.5/blender/source /blender/editors/space_node: 2.5 / Nodes

Nathan Letwory jesterking at letwory.net
Mon Jan 12 01:01:04 CET 2009


Revision: 18457
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18457
Author:   jesterking
Date:     2009-01-12 01:00:59 +0100 (Mon, 12 Jan 2009)

Log Message:
-----------
2.5 / Nodes
* add nodes through header menu (no way to link them yet, though ;)
  Note: the adding needs to be properly operatorfied still.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_header.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_intern.h
    branches/blender2.5/blender/source/blender/editors/space_node/node_select.c

Modified: branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c	2009-01-11 23:48:53 UTC (rev 18456)
+++ branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c	2009-01-12 00:00:59 UTC (rev 18457)
@@ -321,6 +321,8 @@
 	BLI_strncpy(((NodeImageFile *)node->storage)->name, str, sizeof( ((NodeImageFile *)node->storage)->name ));
 }
 
+#endif /* 0 */
+
 static bNode *snode_get_editgroup(SpaceNode *snode)
 {
 	bNode *gnode;
@@ -332,6 +334,8 @@
 	return gnode;
 }
 
+#if 0
+
 /* node has to be of type 'render layers' */
 /* is a bit clumsy copying renderdata here... scene nodes use render size of current render */
 static void composite_node_render(SpaceNode *snode, bNode *node)
@@ -785,6 +789,7 @@
 	}
 }
 
+#endif /* 0 */
 /* when links in groups change, inputs/outputs change, nodes added/deleted... */
 static void snode_verify_groups(SpaceNode *snode)
 {
@@ -798,6 +803,8 @@
 	
 }
 
+#if 0
+
 static void node_addgroup(SpaceNode *snode)
 {
 	bNodeTree *ngroup;
@@ -1772,6 +1779,8 @@
 	ntreeSolveOrder(snode->edittree);
 }
 
+#endif /* 0 */
+
 /* can be called from menus too, but they should do own undopush and redraws */
 bNode *node_add_node(SpaceNode *snode, int type, float locx, float locy)
 {
@@ -1784,7 +1793,7 @@
 	}
 	else if(type>=NODE_GROUP_MENU) {
 		if(snode->edittree!=snode->nodetree) {
-			error("Can not add a Group in a Group");
+			// XXX error("Can not add a Group in a Group");
 			return NULL;
 		}
 		else {
@@ -1814,8 +1823,9 @@
 		if(node->id)
 			id_us_plus(node->id);
 		
-		if(snode->nodetree->type==NTREE_COMPOSIT)
-			ntreeCompositForceHidden(snode->edittree, scene); // XXX was G.scene
+		// NODE_FIX_ME
+		// if(snode->nodetree->type==NTREE_COMPOSIT)
+		//	ntreeCompositForceHidden(snode->edittree, scene); // XXX was G.scene
 		
 		NodeTagChanged(snode->edittree, node);
 	}
@@ -1828,6 +1838,8 @@
 	return node;
 }
 
+#if 0
+
 void node_mute(SpaceNode *snode)
 {
 	bNode *node;

Modified: branches/blender2.5/blender/source/blender/editors/space_node/node_header.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_node/node_header.c	2009-01-11 23:48:53 UTC (rev 18456)
+++ branches/blender2.5/blender/source/blender/editors/space_node/node_header.c	2009-01-12 00:00:59 UTC (rev 18457)
@@ -125,13 +125,12 @@
 
 void do_node_addmenu(bContext *C, void *arg, int event)
 {
-	#if 0
 	// XXX enable
 	ScrArea *curarea= CTX_wm_area(C);
 	SpaceNode *snode= (SpaceNode*)CTX_wm_space_data(C);
 	bNode *node;
-	float locx, locy;
-	short mval[2];
+	//float locx, locy;
+	//short mval[2];
 	
 	/* store selection in temp test flag */
 	for(node= snode->edittree->nodes.first; node; node= node->next) {
@@ -139,17 +138,17 @@
 		else node->flag &= ~NODE_TEST;
 	}
 	
-	toolbox_mousepos(mval, 0 ); /* get initial mouse position */
-	areamouseco_to_ipoco(G.v2d, mval, &locx, &locy);
-	node= node_add_node(snode, event, locx, locy);
+	// toolbox_mousepos(mval, 0 ); /* get initial mouse position */
+	// areamouseco_to_ipoco(G.v2d, mval, &locx, &locy);
+	// NODE_FIX_ME
+	node= node_add_node(snode, event, 0.0, 0.0);
 	
 	/* uses test flag */
 	// XXX snode_autoconnect(snode, node, NODE_TEST);
 		
 	// XXX addqueue(curarea->win, UI_BUT_EVENT, B_NODE_TREE_EXEC);
 	
-	BIF_undo_push("Add Node");
-	#endif
+	// ED_undo_push("Add Node");
 }
 
 static void node_make_addmenu(bContext *C, int nodeclass, uiBlock *block)

Modified: branches/blender2.5/blender/source/blender/editors/space_node/node_intern.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_node/node_intern.h	2009-01-11 23:48:53 UTC (rev 18456)
+++ branches/blender2.5/blender/source/blender/editors/space_node/node_intern.h	2009-01-12 00:00:59 UTC (rev 18457)
@@ -67,6 +67,7 @@
 
 /* node_edit.c */
 bNode *next_node(bNodeTree *ntree);
+bNode *node_add_node(SpaceNode *snode, int type, float locx, float locy);
 void snode_set_context(SpaceNode *snode, Scene *scene);
 void scale_node(SpaceNode *snode, bNode *node);
 void snode_make_group_editable(SpaceNode *snode, bNode *gnode);

Modified: branches/blender2.5/blender/source/blender/editors/space_node/node_select.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_node/node_select.c	2009-01-11 23:48:53 UTC (rev 18456)
+++ branches/blender2.5/blender/source/blender/editors/space_node/node_select.c	2009-01-12 00:00:59 UTC (rev 18457)
@@ -104,6 +104,7 @@
 
 static int node_select_exec(bContext *C, wmOperator *op)
 {
+	wmWindow *window=  CTX_wm_window(C);
 	SpaceNode *snode= (SpaceNode*)CTX_wm_space_data(C);
 	ARegion *ar= CTX_wm_region(C);
 	int select_type;
@@ -122,10 +123,33 @@
 	}
 
 	WM_event_add_notifier(C, NC_SCENE|ND_NODES, NULL); /* Do we need to pass the scene? */
+	
+	//WM_event_add_modal_handler(C, &window->handlers, op);
 
-	return OPERATOR_FINISHED;
+	return /*OPERATOR_RUNNING_MODAL;*/ OPERATOR_FINISHED;
 }
 
+static int node_select_modal(bContext *C, wmOperator *op, wmEvent *event)
+{
+	/* execute the events */
+	switch (event->type) {
+		case MOUSEMOVE:
+			printf("%d %d\n", event->x, event->y);
+			break;
+		case SELECTMOUSE:
+			//if (event->val==0) {
+				/* calculate overall delta mouse-movement for redo */
+				printf("done translating\n");
+				//WM_cursor_restore(CTX_wm_window(C));
+				
+				return OPERATOR_FINISHED;
+			//}
+			break;
+	}
+
+	return OPERATOR_RUNNING_MODAL;
+}
+
 static int node_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
 {
 	ARegion *ar= CTX_wm_region(C);
@@ -184,6 +208,7 @@
 	/* api callbacks */
 	ot->invoke= node_select_invoke;
 	ot->poll= ED_operator_node_active;
+	ot->modal= node_select_modal;
 	
 	prop = RNA_def_property(ot->srna, "select_type", PROP_ENUM, PROP_NONE);
 	RNA_def_property_enum_items(prop, prop_select_items);





More information about the Bf-blender-cvs mailing list