Fix for unintended commit of python template file ...
authorLukas Toenne <lukas.toenne@googlemail.com>
Sun, 9 Jun 2013 09:51:19 +0000 (09:51 +0000)
committerLukas Toenne <lukas.toenne@googlemail.com>
Sun, 9 Jun 2013 09:51:19 +0000 (09:51 +0000)
release/scripts/templates_py/custom_nodes_groups.py [deleted file]

diff --git a/release/scripts/templates_py/custom_nodes_groups.py b/release/scripts/templates_py/custom_nodes_groups.py
deleted file mode 100644 (file)
index 48dbfd4..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-import bpy
-from bpy_types import NodeTree, Node, NodeSocket
-
-# Implementation of custom nodes from Python
-
-
-# Shortcut for node type menu
-def add_nodetype(layout, type):
-    layout.operator("node.add_node", text=type.bl_label).type = type.bl_rna.identifier
-
-# Derived from the NodeTree base type, similar to Menu, Operator, Panel, etc.
-class MyCustomTree(NodeTree):
-    # Description string
-    '''A custom node tree type that will show up in the node editor header'''
-    # Optional identifier string. If not explicitly defined, the python class name is used.
-    bl_idname = 'CustomTreeType'
-    # Label for nice name display
-    bl_label = 'Custom Node Tree'
-    # Icon identifier
-    # NOTE: If no icon is defined, the node tree will not show up in the editor header!
-    #       This can be used to make additional tree types for groups and similar nodes (see below)
-    #       Only one base tree class is needed in the editor for selecting the general category
-    bl_icon = 'NODETREE'
-
-    def draw_add_menu(self, context, layout):
-        layout.label("Hello World!")
-        add_nodetype(layout, bpy.types.CustomNodeType)
-        add_nodetype(layout, bpy.types.MyCustomGroup)
-
-
-# Custom socket type
-class MyCustomSocket(NodeSocket):
-    # Description string
-    '''Custom node socket type'''
-    # Optional identifier string. If not explicitly defined, the python class name is used.
-    bl_idname = 'CustomSocketType'
-    # Label for nice name display
-    bl_label = 'Custom Node Socket'
-
-    # Enum items list
-    my_items = [
-        ("DOWN", "Down", "Where your feet are"),
-        ("UP", "Up", "Where your head should be"),
-        ("LEFT", "Left", "Not right"),
-        ("RIGHT", "Right", "Not left")
-    ]
-
-    myEnumProperty = bpy.props.EnumProperty(name="Direction", description="Just an example", items=my_items, default='UP')
-
-    # Optional function for drawing the socket input value
-    def draw(self, context, layout, node, text):
-        if self.is_linked:
-            layout.label(text)
-        else:
-            layout.prop(self, "myEnumProperty", text=text)
-
-    # Socket color
-    def draw_color(self, context, node):
-        return (1.0, 0.4, 0.216, 0.5)
-
-# Mix-in class for all custom nodes in this tree type.
-# Defines a poll function to enable instantiation.
-class MyCustomTreeNode :
-    @classmethod
-    def poll(cls, ntree):
-        return ntree.bl_idname == 'CustomTreeType'
-
-# Derived from the Node base type.
-class MyCustomNode(Node, MyCustomTreeNode):
-    # === Basics ===
-    # Description string
-    '''A custom node'''
-    # Optional identifier string. If not explicitly defined, the python class name is used.
-    bl_idname = 'CustomNodeType'
-    # Label for nice name display
-    bl_label = 'Custom Node'
-    # Icon identifier
-    bl_icon = 'SOUND'
-
-    # === Custom Properties ===
-    # These work just like custom properties in ID data blocks
-    # Extensive information can be found under
-    # http://wiki.blender.org/index.php/Doc:2.6/Manual/Extensions/Python/Properties
-    myStringProperty = bpy.props.StringProperty()
-    myFloatProperty = bpy.props.FloatProperty(default=3.1415926)
-
-    # === Optional Functions ===
-    # Initialization function, called when a new node is created.
-    # This is the most common place to create the sockets for a node, as shown below.
-    # NOTE: this is not the same as the standard __init__ function in Python, which is
-    #       a purely internal Python method and unknown to the node system!
-    def init(self, context):
-        self.inputs.new('CustomSocketType', "Hello")
-        self.inputs.new('NodeSocketFloat', "World")
-        self.inputs.new('NodeSocketVector', "!")
-
-        self.outputs.new('NodeSocketColor', "How")
-        self.outputs.new('NodeSocketColor', "are")
-        self.outputs.new('NodeSocketFloat', "you")
-
-    # Copy function to initialize a copied node from an existing one.
-    def copy(self, node):
-        print("Copying from node ", node)
-
-    # Free function to clean up on removal.
-    def free(self):
-        print("Removing node ", self, ", Goodbye!")
-
-    # Additional buttons displayed on the node.
-    def draw_buttons(self, context, layout):
-        layout.label("Node settings")
-        layout.prop(self, "myFloatProperty")
-
-    # Detail buttons in the sidebar.
-    # If this function is not defined, the draw_buttons function is used instead
-    def draw_buttons_ext(self, context, layout):
-        layout.prop(self, "myFloatProperty")
-        # myStringProperty button will only be visible in the sidebar
-        layout.prop(self, "myStringProperty")
-
-
-### Node Categories ###
-# Node categories are a python system for automatically
-# extending the Add menu, toolbar panels and search operator.
-# For more examples see release/scripts/startup/nodeitems_builtins.py
-
-import nodeitems_utils
-from nodeitems_utils import NodeCategory, NodeItem
-
-# our own base class with an appropriate poll function,
-# so the categories only show up in our own tree type
-class MyNodeCategory(NodeCategory):
-    @classmethod
-    def poll(cls, context):
-        return context.space_data.tree_type == 'CustomTreeType'
-
-# all categories in a list
-node_categories = [
-    # identifier, label, items list
-    MyNodeCategory("SOMENODES", "Some Nodes", items=[
-        # our basic node
-        NodeItem("CustomNodeType"),
-        ]),
-    MyNodeCategory("OTHERNODES", "Other Nodes", items=[
-        # the node item can have additional settings,
-        # which are applied to new nodes
-        # NB: settings values are stored as string expressions,
-        # for this reason they should be converted to strings using repr()
-        NodeItem("CustomNodeType", label="Node A", settings={
-            "myStringProperty" : repr("Lorem ipsum dolor sit amet"),
-            "myFloatProperty" : repr(1.0),
-            }),
-        NodeItem("CustomNodeType", label="Node B", settings={
-            "myStringProperty" : repr("consectetur adipisicing elit"),
-            "myFloatProperty" : repr(2.0),
-            }),
-        ]),
-    ]
-
-
-def register():
-    bpy.utils.register_class(MyCustomTree)
-    bpy.utils.register_class(MyCustomSocket)
-    bpy.utils.register_class(MyCustomNode)
-
-    nodeitems_utils.register_node_categories("CUSTOM_NODES", node_categories)
-
-
-def unregister():
-    nodeitems_utils.unregister_node_categories("CUSTOM_NODES")
-
-    bpy.utils.unregister_class(MyCustomTree)
-    bpy.utils.unregister_class(MyCustomSocket)
-    bpy.utils.unregister_class(MyCustomNode)
-
-
-if __name__ == "__main__":
-    register()