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

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


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

Log Message:
-----------
2.5 / Nodes
* XKey for deleting selected nodes.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c
    branches/blender2.5/blender/source/blender/editors/space_node/node_intern.h
    branches/blender2.5/blender/source/blender/editors/space_node/node_ops.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-12 00:00:59 UTC (rev 18457)
+++ branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c	2009-01-12 00:14:37 UTC (rev 18458)
@@ -100,9 +100,19 @@
 #include "winlay.h"
 */
 
+#include "ED_space_api.h"
+#include "ED_screen.h"
+#include "ED_types.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+
+#include "WM_api.h"
 #include "WM_types.h"
 
 #include "UI_view2d.h"
+ 
+#include "node_intern.h"
 
 // XXX XXX XXX
 static void BIF_undo_push(char *s) {}
@@ -1876,7 +1886,6 @@
 	transform_nodes(snode->edittree, 'g', "Duplicate");
 }
 
-#if 0
 static void node_insert_convertor(SpaceNode *snode, bNodeLink *link)
 {
 	bNode *newnode= NULL;
@@ -1910,8 +1919,6 @@
 	}
 }
 
-#endif
-
 static void node_remove_extra_links(SpaceNode *snode, bNodeSocket *tsock, bNodeLink *link)
 {
 	bNodeLink *tlink;
@@ -2080,6 +2087,8 @@
 	return 0;
 }
 
+#endif /* 0 */
+
 void node_delete(SpaceNode *snode)
 {
 	bNode *node, *next;
@@ -2103,11 +2112,13 @@
 	}
 	
 	snode_verify_groups(snode);
-	snode_handle_recalc(snode);
-	BIF_undo_push("Delete nodes");
+	// NODE_FIX_ME
+	// snode_handle_recalc(snode);
+	// BIF_undo_push("Delete nodes");
 	// allqueue(REDRAWNODE, 1);
 }
 
+
 void node_hide(SpaceNode *snode)
 {
 	bNode *node;
@@ -2129,10 +2140,12 @@
 				node->flag &= ~NODE_HIDDEN;
 		}
 	}
-	BIF_undo_push("Hide nodes");
+	// BIF_undo_push("Hide nodes");
 	// allqueue(REDRAWNODE, 1);
 }
 
+#if 0
+
 void node_insert_key(SpaceNode *snode)
 {
 	bNode *node= editnode_get_active(snode->edittree);
@@ -2737,3 +2750,30 @@
 }
 #endif
 
+static int node_delete_selection_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);
+	node_delete(snode);
+	ED_region_tag_redraw(ar);
+	WM_event_add_notifier(C, NC_SCENE|ND_NODES, NULL); /* Do we need to pass the scene? */
+
+	return OPERATOR_FINISHED;
+}
+
+/* operators */
+
+void NODE_OT_delete_selection(wmOperatorType *ot)
+{
+	PropertyRNA *prop;
+	
+	/* identifiers */
+	ot->name= "Delete";
+	ot->idname= "NODE_OT_delete_selection";
+	
+	/* api callbacks */
+	ot->exec= node_delete_selection_exec;
+	ot->poll= ED_operator_node_active;
+}
+

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-12 00:00:59 UTC (rev 18457)
+++ branches/blender2.5/blender/source/blender/editors/space_node/node_intern.h	2009-01-12 00:14:37 UTC (rev 18458)
@@ -59,6 +59,7 @@
 void NODE_OT_toggle_visibility(struct wmOperatorType *ot);
 void NODE_OT_fit_all(struct wmOperatorType *ot);
 void NODE_OT_border_select(struct wmOperatorType *ot);
+void NODE_OT_delete_selection(struct wmOperatorType *ot);
 
 /* drawnode.c */
 void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link);

Modified: branches/blender2.5/blender/source/blender/editors/space_node/node_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_node/node_ops.c	2009-01-12 00:00:59 UTC (rev 18457)
+++ branches/blender2.5/blender/source/blender/editors/space_node/node_ops.c	2009-01-12 00:14:37 UTC (rev 18458)
@@ -53,6 +53,7 @@
 	WM_operatortype_append(NODE_OT_toggle_visibility);
 	WM_operatortype_append(NODE_OT_fit_all);
 	WM_operatortype_append(NODE_OT_border_select);
+	WM_operatortype_append(NODE_OT_delete_selection);
 }
 
 void node_keymap(struct wmWindowManager *wm)
@@ -64,6 +65,7 @@
 	WM_keymap_add_item(keymap, "NODE_OT_toggle_visibility", ACTIONMOUSE, KM_PRESS, 0, 0);
 	WM_keymap_add_item(keymap, "NODE_OT_fit_all", HOMEKEY, KM_PRESS, 0, 0);
 	WM_keymap_add_item(keymap, "NODE_OT_border_select", BKEY, KM_PRESS, 0, 0);
+	WM_keymap_add_item(keymap, "NODE_OT_delete_selection", XKEY, KM_PRESS, 0, 0);
 	
 	transform_keymap_for_space(wm, keymap, SPACE_NODE);
 }





More information about the Bf-blender-cvs mailing list