| 
									
										
										
										
											2009-11-01 15:21:20 +00:00
										 |  |  | # ##### BEGIN GPL LICENSE BLOCK ##### | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | #  This program is free software; you can redistribute it and/or | 
					
						
							|  |  |  | #  modify it under the terms of the GNU General Public License | 
					
						
							|  |  |  | #  as published by the Free Software Foundation; either version 2 | 
					
						
							|  |  |  | #  of the License, or (at your option) any later version. | 
					
						
							| 
									
										
										
										
											2009-11-03 07:23:02 +00:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2009-11-01 15:21:20 +00:00
										 |  |  | #  This program is distributed in the hope that it will be useful, | 
					
						
							|  |  |  | #  but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  | #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  | #  GNU General Public License for more details. | 
					
						
							| 
									
										
										
										
											2009-11-03 07:23:02 +00:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2009-11-01 15:21:20 +00:00
										 |  |  | #  You should have received a copy of the GNU General Public License | 
					
						
							|  |  |  | #  along with this program; if not, write to the Free Software Foundation, | 
					
						
							|  |  |  | #  Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # ##### END GPL LICENSE BLOCK ##### | 
					
						
							| 
									
										
										
										
											2009-10-31 20:16:59 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-31 23:35:56 +00:00
										 |  |  | # <pep8 compliant> | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | import bpy | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-31 23:35:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | class NODE_HT_header(bpy.types.Header): | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  |     bl_space_type = 'NODE_EDITOR' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def draw(self, context): | 
					
						
							|  |  |  |         layout = self.layout | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         snode = context.space_data | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         row = layout.row(align=True) | 
					
						
							|  |  |  |         row.template_header() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if context.area.show_menus: | 
					
						
							|  |  |  |             sub = row.row(align=True) | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |             sub.menu("NODE_MT_view") | 
					
						
							|  |  |  |             sub.menu("NODE_MT_select") | 
					
						
							|  |  |  |             sub.menu("NODE_MT_add") | 
					
						
							|  |  |  |             sub.menu("NODE_MT_node") | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         row = layout.row() | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         row.prop(snode, "tree_type", text="", expand=True) | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         if snode.tree_type == 'MATERIAL': | 
					
						
							|  |  |  |             ob = snode.id_from | 
					
						
							| 
									
										
										
										
											2009-11-14 13:35:44 +00:00
										 |  |  |             snode_id = snode.id | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  |             if ob: | 
					
						
							|  |  |  |                 layout.template_ID(ob, "active_material", new="material.new") | 
					
						
							| 
									
										
										
										
											2009-11-14 13:35:44 +00:00
										 |  |  |             if snode_id: | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |                 layout.prop(snode_id, "use_nodes") | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         elif snode.tree_type == 'TEXTURE': | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |             row.prop(snode, "texture_type", text="", expand=True) | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-14 13:35:44 +00:00
										 |  |  |             snode_id = snode.id | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  |             id_from = snode.id_from | 
					
						
							|  |  |  |             if id_from: | 
					
						
							|  |  |  |                 layout.template_ID(id_from, "active_texture", new="texture.new") | 
					
						
							| 
									
										
										
										
											2009-11-14 13:35:44 +00:00
										 |  |  |             if snode_id: | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |                 layout.prop(snode_id, "use_nodes") | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         elif snode.tree_type == 'COMPOSITING': | 
					
						
							| 
									
										
										
										
											2009-11-14 13:35:44 +00:00
										 |  |  |             snode_id = snode.id | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |             layout.prop(snode_id, "use_nodes") | 
					
						
							|  |  |  |             layout.prop(snode_id.render_data, "free_unused_nodes", text="Free Unused") | 
					
						
							|  |  |  |             layout.prop(snode, "backdrop") | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-31 23:35:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | class NODE_MT_view(bpy.types.Menu): | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  |     bl_label = "View" | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  |     def draw(self, context): | 
					
						
							|  |  |  |         layout = self.layout | 
					
						
							| 
									
										
										
										
											2009-11-14 13:35:44 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-10 10:23:53 +00:00
										 |  |  |         layout.operator("node.properties", icon='MENU_PANEL') | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.separator() | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.operator("view2d.zoom_in") | 
					
						
							|  |  |  |         layout.operator("view2d.zoom_out") | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.separator() | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.operator("node.view_all") | 
					
						
							| 
									
										
										
										
											2009-12-04 17:54:48 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-03 16:28:50 +00:00
										 |  |  |         layout.separator() | 
					
						
							| 
									
										
										
										
											2009-12-04 17:54:48 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-03 16:28:50 +00:00
										 |  |  |         layout.operator("screen.area_dupli") | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.operator("screen.screen_full_area") | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-31 23:35:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | class NODE_MT_select(bpy.types.Menu): | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  |     bl_label = "Select" | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  |     def draw(self, context): | 
					
						
							|  |  |  |         layout = self.layout | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.operator("node.select_border") | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.separator() | 
					
						
							|  |  |  |         layout.operator("node.select_all") | 
					
						
							|  |  |  |         layout.operator("node.select_linked_from") | 
					
						
							|  |  |  |         layout.operator("node.select_linked_to") | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-31 23:35:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | class NODE_MT_node(bpy.types.Menu): | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  |     bl_label = "Node" | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  |     def draw(self, context): | 
					
						
							|  |  |  |         layout = self.layout | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-10 10:36:32 +00:00
										 |  |  |         layout.operator("transform.translate") | 
					
						
							|  |  |  |         layout.operator("transform.rotate") | 
					
						
							|  |  |  |         layout.operator("transform.resize") | 
					
						
							| 
									
										
										
										
											2009-11-21 00:05:43 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.separator() | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.operator("node.duplicate_move") | 
					
						
							|  |  |  |         layout.operator("node.delete") | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.separator() | 
					
						
							|  |  |  |         layout.operator("node.link_make") | 
					
						
							| 
									
										
										
										
											2009-11-21 00:05:43 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.separator() | 
					
						
							|  |  |  |         layout.operator("node.group_edit") | 
					
						
							|  |  |  |         layout.operator("node.group_ungroup") | 
					
						
							|  |  |  |         layout.operator("node.group_make") | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.separator() | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.operator("node.hide") | 
					
						
							|  |  |  |         layout.operator("node.mute") | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-31 19:31:45 +00:00
										 |  |  |         # XXX | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         # layout.operator("node.rename") | 
					
						
							| 
									
										
										
										
											2009-11-21 00:05:43 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.separator() | 
					
						
							| 
									
										
										
										
											2009-11-21 00:05:43 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-23 00:27:30 +00:00
										 |  |  |         layout.operator("node.show_cyclic_dependencies") | 
					
						
							| 
									
										
										
										
											2009-08-19 00:55:30 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | bpy.types.register(NODE_HT_header) | 
					
						
							|  |  |  | bpy.types.register(NODE_MT_view) | 
					
						
							|  |  |  | bpy.types.register(NODE_MT_select) | 
					
						
							|  |  |  | bpy.types.register(NODE_MT_node) |