[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22260] branches/blender2.5/blender: pedantic changes to python UI scripts

Campbell Barton ideasman42 at gmail.com
Thu Aug 6 15:15:23 CEST 2009


Revision: 22260
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22260
Author:   campbellbarton
Date:     2009-08-06 15:15:23 +0200 (Thu, 06 Aug 2009)

Log Message:
-----------
pedantic changes to python UI scripts
- SOFTBODY -> SOFT_BODY
- Use getattr() with enum value to get the modifier function rather then a lot of elif's

Modified Paths:
--------------
    branches/blender2.5/blender/release/ui/buttons_data_camera.py
    branches/blender2.5/blender/release/ui/buttons_data_metaball.py
    branches/blender2.5/blender/release/ui/buttons_data_modifier.py
    branches/blender2.5/blender/release/ui/buttons_game.py
    branches/blender2.5/blender/release/ui/buttons_material.py
    branches/blender2.5/blender/release/ui/buttons_physics_cloth.py
    branches/blender2.5/blender/release/ui/buttons_physics_fluid.py
    branches/blender2.5/blender/release/ui/buttons_physics_softbody.py
    branches/blender2.5/blender/release/ui/buttons_texture.py
    branches/blender2.5/blender/release/ui/space_image.py
    branches/blender2.5/blender/release/ui/space_info.py
    branches/blender2.5/blender/release/ui/space_text.py
    branches/blender2.5/blender/release/ui/space_view3d.py
    branches/blender2.5/blender/release/ui/space_view3d_toolbar.py
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_modifier.c

Modified: branches/blender2.5/blender/release/ui/buttons_data_camera.py
===================================================================
--- branches/blender2.5/blender/release/ui/buttons_data_camera.py	2009-08-06 13:01:24 UTC (rev 22259)
+++ branches/blender2.5/blender/release/ui/buttons_data_camera.py	2009-08-06 13:15:23 UTC (rev 22260)
@@ -7,7 +7,7 @@
 	__context__ = "data"
 
 	def poll(self, context):
-		return (context.camera)
+		return (context.camera != None)
 		
 class DATA_PT_context_camera(DataButtonsPanel):
 	__show_header__ = False

Modified: branches/blender2.5/blender/release/ui/buttons_data_metaball.py
===================================================================
--- branches/blender2.5/blender/release/ui/buttons_data_metaball.py	2009-08-06 13:01:24 UTC (rev 22259)
+++ branches/blender2.5/blender/release/ui/buttons_data_metaball.py	2009-08-06 13:15:23 UTC (rev 22260)
@@ -109,4 +109,4 @@
 
 bpy.types.register(DATA_PT_context_metaball)
 bpy.types.register(DATA_PT_metaball)
-bpy.types.register(DATA_PT_metaball_element)
\ No newline at end of file
+bpy.types.register(DATA_PT_metaball_element)

Modified: branches/blender2.5/blender/release/ui/buttons_data_modifier.py
===================================================================
--- branches/blender2.5/blender/release/ui/buttons_data_modifier.py	2009-08-06 13:01:24 UTC (rev 22259)
+++ branches/blender2.5/blender/release/ui/buttons_data_modifier.py	2009-08-06 13:15:23 UTC (rev 22260)
@@ -16,76 +16,20 @@
 
 		row = layout.row()
 		row.item_menu_enumO("object.modifier_add", "type")
-		row.itemL();
+		row.itemL()
+		
+		class_dict = self.__class__.__dict__
 
 		for md in ob.modifiers:
 			box = layout.template_modifier(md)
-
 			if box:
-				if md.type == 'ARMATURE':
-					self.armature(box, ob, md)
-				elif md.type == 'ARRAY':
-					self.array(box, ob, md)
-				elif md.type == 'BEVEL':
-					self.bevel(box, ob, md)
-				elif md.type == 'BOOLEAN':
-					self.boolean(box, ob, md)
-				elif md.type == 'BUILD':
-					self.build(box, ob, md)
-				elif md.type == 'CAST':
-					self.cast(box, ob, md)
-				elif md.type == 'CLOTH':
-					self.cloth(box, ob, md)
-				elif md.type == 'COLLISION':
-					self.collision(box, ob, md)
-				elif md.type == 'CURVE':
-					self.curve(box, ob, md)
-				elif md.type == 'DECIMATE':
-					self.decimate(box, ob, md)
-				elif md.type == 'DISPLACE':
-					self.displace(box, ob, md)
-				elif md.type == 'EDGE_SPLIT':
-					self.edgesplit(box, ob, md)
-				elif md.type == 'EXPLODE':
-					self.explode(box, ob, md)
-				elif md.type == 'FLUID_SIMULATION':
-					self.fluid(box, ob, md)
-				elif md.type == 'HOOK':
-					self.hook(box, ob, md)
-				elif md.type == 'LATTICE':
-					self.lattice(box, ob, md)
-				elif md.type == 'MASK':
-					self.mask(box, ob, md)
-				elif md.type == 'MESH_DEFORM':
-					self.mesh_deform(box, ob, md)
-				elif md.type == 'MIRROR':
-					self.mirror(box, ob, md)
-				elif md.type == 'MULTIRES':
-					self.multires(box, ob, md)
-				elif md.type == 'PARTICLE_INSTANCE':
-					self.particleinstance(box, ob, md)
-				elif md.type == 'PARTICLE_SYSTEM':
-					self.particlesystem(box, ob, md)
-				elif md.type == 'SHRINKWRAP':
-					self.shrinkwrap(box, ob, md)
-				elif md.type == 'SIMPLE_DEFORM':
-					self.simpledeform(box, ob, md)
-				elif md.type == 'SMOKE':
-					self.smoke(box, ob, md)
-				elif md.type == 'SMOOTH':
-					self.smooth(box, ob, md)
-				elif md.type == 'SOFTBODY':
-					self.softbody(box, ob, md)
-				elif md.type == 'SUBSURF':
-					self.subsurf(box, ob, md)
-				elif md.type == 'SURFACE':
-					self.surface(box, ob, md)
-				elif md.type == 'UV_PROJECT':
-					self.uvproject(box, ob, md)
-				elif md.type == 'WAVE':
-					self.wave(box, ob, md)
-							
-	def armature(self, layout, ob, md):
+				# match enum type to our functions, avoids a lookup table.
+				getattr(self, md.type)(box, ob, md)
+	
+	# the mt.type enum is (ab)used for a lookup on function names
+	# ...to avoid lengthy if statements
+	# so each type must have a function here.
+	def ARMATURE(self, layout, ob, md):
 		layout.itemR(md, "object")
 		
 		row = layout.row()
@@ -98,7 +42,7 @@
 		flow.itemR(md, "quaternion")
 		flow.itemR(md, "multi_modifier")
 		
-	def array(self, layout, ob, md):
+	def ARRAY(self, layout, ob, md):
 		layout.itemR(md, "fit_type")
 		if md.fit_type == 'FIXED_COUNT':
 			layout.itemR(md, "count")
@@ -144,7 +88,7 @@
 		col.itemR(md, "start_cap")
 		col.itemR(md, "end_cap")
 	
-	def bevel(self, layout, ob, md):
+	def BEVEL(self, layout, ob, md):
 		row = layout.row()
 		row.itemR(md, "width")
 		row.itemR(md, "only_vertices")
@@ -156,11 +100,11 @@
 		elif md.limit_method == 'WEIGHT':
 			layout.row().itemR(md, "edge_weight_method", expand=True)
 			
-	def boolean(self, layout, ob, md):
+	def BOOLEAN(self, layout, ob, md):
 		layout.itemR(md, "operation")
 		layout.itemR(md, "object")
 		
-	def build(self, layout, ob, md):
+	def BUILD(self, layout, ob, md):
 		split = layout.split()
 		
 		col = split.column()
@@ -173,7 +117,7 @@
 		sub.active = md.randomize
 		sub.itemR(md, "seed")
 
-	def cast(self, layout, ob, md):
+	def CAST(self, layout, ob, md):
 		layout.itemR(md, "cast_type")
 		layout.itemR(md, "object")
 		if md.object:
@@ -191,22 +135,22 @@
 		
 		layout.item_pointerR(md, "vertex_group", ob, "vertex_groups")
 		
-	def cloth(self, layout, ob, md):
+	def CLOTH(self, layout, ob, md):
 		layout.itemL(text="See Cloth panel.")
 		
-	def collision(self, layout, ob, md):
+	def COLLISION(self, layout, ob, md):
 		layout.itemL(text="See Collision panel.")
 		
-	def curve(self, layout, ob, md):
+	def CURVE(self, layout, ob, md):
 		layout.itemR(md, "object")
 		layout.item_pointerR(md, "vertex_group", ob, "vertex_groups")
 		layout.itemR(md, "deform_axis")
 		
-	def decimate(self, layout, ob, md):
+	def DECIMATE(self, layout, ob, md):
 		layout.itemR(md, "ratio")
 		layout.itemR(md, "face_count")
 		
-	def displace(self, layout, ob, md):
+	def DISPLACE(self, layout, ob, md):
 		layout.item_pointerR(md, "vertex_group", ob, "vertex_groups")
 		layout.itemR(md, "texture")
 		layout.itemR(md, "midlevel")
@@ -218,7 +162,7 @@
 		elif md.texture_coordinates == 'UV' and ob.type == 'MESH':
 			layout.item_pointerR(md, "uv_layer", ob.data, "uv_layers")
 	
-	def edgesplit(self, layout, ob, md):
+	def EDGE_SPLIT(self, layout, ob, md):
 		split = layout.split()
 		
 		col = split.column()
@@ -230,7 +174,7 @@
 		col = split.column()
 		col.itemR(md, "use_sharp", text="Sharp Edges")
 		
-	def explode(self, layout, ob, md):
+	def EXPLODE(self, layout, ob, md):
 		layout.item_pointerR(md, "vertex_group", ob, "vertex_groups")
 		layout.itemR(md, "protect")
 		layout.itemR(md, "split_edges")
@@ -239,21 +183,21 @@
 		layout.itemR(md, "dead")
 		# Missing: "Refresh" and "Clear Vertex Group" Operator
 		
-	def fluid(self, layout, ob, md):
+	def FLUID_SIMULATION(self, layout, ob, md):
 		layout.itemL(text="See Fluid panel.")
 		
-	def hook(self, layout, ob, md):
+	def HOOK(self, layout, ob, md):
 		layout.itemR(md, "falloff")
 		layout.itemR(md, "force", slider=True)
 		layout.itemR(md, "object")
 		layout.item_pointerR(md, "vertex_group", ob, "vertex_groups")
 		# Missing: "Reset" and "Recenter" Operator
 		
-	def lattice(self, layout, ob, md):
+	def LATTICE(self, layout, ob, md):
 		layout.itemR(md, "object")
 		layout.item_pointerR(md, "vertex_group", ob, "vertex_groups")
 		
-	def mask(self, layout, ob, md):
+	def MASK(self, layout, ob, md):
 		layout.itemR(md, "mode")
 		if md.mode == 'ARMATURE':
 			layout.itemR(md, "armature")
@@ -261,7 +205,7 @@
 			layout.item_pointerR(md, "vertex_group", ob, "vertex_groups")
 		layout.itemR(md, "inverse")
 		
-	def mesh_deform(self, layout, ob, md):
+	def MESH_DEFORM(self, layout, ob, md):
 		layout.itemR(md, "object")
 		layout.item_pointerR(md, "vertex_group", ob, "vertex_groups")
 		layout.itemR(md, "invert")
@@ -273,7 +217,7 @@
 		row.itemR(md, "precision")
 		row.itemR(md, "dynamic")
 		
-	def mirror(self, layout, ob, md):
+	def MIRROR(self, layout, ob, md):
 		layout.itemR(md, "merge_limit")
 		split = layout.split()
 		
@@ -293,12 +237,12 @@
 		
 		layout.itemR(md, "mirror_object")
 		
-	def multires(self, layout, ob, md):
+	def MULTIRES(self, layout, ob, md):
 		layout.itemR(md, "subdivision_type")
 		layout.itemO("object.multires_subdivide", text="Subdivide")
 		layout.itemR(md, "level")
 	
-	def particleinstance(self, layout, ob, md):
+	def PARTICLE_INSTANCE(self, layout, ob, md):
 		layout.itemR(md, "object")
 		layout.itemR(md, "particle_system_number")
 		
@@ -321,10 +265,10 @@
 			row.itemR(md, "position", slider=True)
 			row.itemR(md, "random_position", text = "Random", slider=True)
 		
-	def particlesystem(self, layout, ob, md):
+	def PARTICLE_SYSTEM(self, layout, ob, md):
 		layout.itemL(text="See Particle panel.")
 		
-	def shrinkwrap(self, layout, ob, md):
+	def SHRINKWRAP(self, layout, ob, md):
 		layout.itemR(md, "target")
 		layout.item_pointerR(md, "vertex_group", ob, "vertex_groups")
 		layout.itemR(md, "offset")
@@ -347,7 +291,7 @@
 		elif md.mode == 'NEAREST_SURFACEPOINT':
 			layout.itemR(md, "keep_above_surface")
 		
-	def simpledeform(self, layout, ob, md):
+	def SIMPLE_DEFORM(self, layout, ob, md):
 		layout.itemR(md, "mode")
 		layout.item_pointerR(md, "vertex_group", ob, "vertex_groups")
 		layout.itemR(md, "origin")
@@ -358,7 +302,7 @@
 			layout.itemR(md, "lock_x_axis")
 			layout.itemR(md, "lock_y_axis")
 			
-	def smoke(self, layout, ob, md):
+	def SMOKE(self, layout, ob, md):
 		layout.itemR(md, "smoke_type")
 		
 		if md.smoke_type == 'TYPE_DOMAIN':
@@ -383,7 +327,7 @@
 		elif md.smoke_type == 'TYPE_COLL':
 			layout.itemS()
 	
-	def smooth(self, layout, ob, md):
+	def SMOOTH(self, layout, ob, md):
 		split = layout.split()
 		
 		col = split.column()
@@ -397,10 +341,10 @@
 		
 		layout.item_pointerR(md, "vertex_group", ob, "vertex_groups")
 		
-	def softbody(self, layout, ob, md):
+	def SOFT_BODY(self, layout, ob, md):
 		layout.itemL(text="See Soft Body panel.")
 	
-	def subsurf(self, layout, ob, md):
+	def SUBSURF(self, layout, ob, md):
 		layout.itemR(md, "subdivision_type")
 		
 		flow = layout.column_flow()
@@ -409,10 +353,10 @@
 		flow.itemR(md, "optimal_draw", text="Optimal Display")
 		flow.itemR(md, "subsurf_uv")
 
-	def surface(self, layout, ob, md):
+	def SURFACE(self, layout, ob, md):
 		layout.itemL(text="See Fields panel.")
 	
-	def uvproject(self, layout, ob, md):
+	def UV_PROJECT(self, layout, ob, md):
 		if ob.type == 'MESH':

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list