[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53394] trunk/blender/release/scripts/ startup/bl_operators/node.py: Fix for the NODE_OT_add_node operator.

Lukas Toenne lukas.toenne at googlemail.com
Sat Dec 29 09:46:31 CET 2012


Revision: 53394
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53394
Author:   lukastoenne
Date:     2012-12-29 08:46:27 +0000 (Sat, 29 Dec 2012)
Log Message:
-----------
Fix for the NODE_OT_add_node operator. The way python classes were subclassed does not work with the registration mechanism. Combined both node_add and node_add_move operators into a single general operator with a flag. When use_transform is set, the operator will start transform on the new nodes after inserting.

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_operators/node.py

Modified: trunk/blender/release/scripts/startup/bl_operators/node.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_operators/node.py	2012-12-29 08:36:41 UTC (rev 53393)
+++ trunk/blender/release/scripts/startup/bl_operators/node.py	2012-12-29 08:46:27 UTC (rev 53394)
@@ -20,7 +20,7 @@
 
 import bpy
 from bpy.types import Operator
-from bpy.props import EnumProperty, StringProperty
+from bpy.props import BoolProperty, EnumProperty, StringProperty
 
 # Base class for node 'Add' operators
 class NodeAddOperator():
@@ -75,6 +75,11 @@
             name="Group tree",
             description="Group node tree name",
             )
+    use_transform = BoolProperty(
+            name="Use Transform",
+            description="Start transform operator after inserting the node",
+            default = False,
+            )
     def execute(self, context):
         node = self.create_node(context, self.type)
 
@@ -84,27 +89,13 @@
 
         return {'FINISHED'}
 
-
-# Adds a node and immediately starts the transform operator for inserting in a tree
-class NODE_OT_add_node_move(NODE_OT_add_node):
-    '''Add a node to the active tree and start transform'''
-    bl_idname = "node.add_node_move"
-    bl_label = "Add Node and Move"
-
-    type = StringProperty(
-            name="Node Type",
-            description="Node type",
-            )
-    # optional group tree parameter for group nodes
-    group_tree = StringProperty(
-            name="Group tree",
-            description="Group node tree name",
-            )
-
     def invoke(self, context, event):
         self.store_mouse_cursor(context, event)
-        self.execute(context)
-        return bpy.ops.transform.translate('INVOKE_DEFAULT')
+        result = self.execute(context)
+        if self.use_transform and ('FINISHED' in result):
+            return bpy.ops.transform.translate('INVOKE_DEFAULT')
+        else:
+            return result
 
 
 # XXX These node item lists should actually be generated by a callback at




More information about the Bf-blender-cvs mailing list