[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20679] branches/blender2.5/blender: 2. 5 Interface:

Thomas Dinges dingto at gmx.de
Sat Jun 6 18:18:20 CEST 2009


Revision: 20679
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20679
Author:   dingto
Date:     2009-06-06 18:18:19 +0200 (Sat, 06 Jun 2009)

Log Message:
-----------
2.5 Interface:

* Added a constraint tab in the buttons window.

* Added more sequencer buttons (effect strips).
Note: Sequencer buttons will go into the sequencer itself (n-key Panel) later.

* Particle button tweaks by William Reynish. Thanks!

* Some RNA fixes and new properties. 

Modified Paths:
--------------
    branches/blender2.5/blender/release/ui/buttons_particle.py
    branches/blender2.5/blender/release/ui/buttons_sequencer.py
    branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_context.c
    branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_header.c
    branches/blender2.5/blender/source/blender/editors/space_buttons/space_buttons.c
    branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_object_force.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_sequence.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_space.c

Modified: branches/blender2.5/blender/release/ui/buttons_particle.py
===================================================================
--- branches/blender2.5/blender/release/ui/buttons_particle.py	2009-06-06 13:35:04 UTC (rev 20678)
+++ branches/blender2.5/blender/release/ui/buttons_particle.py	2009-06-06 16:18:19 UTC (rev 20679)
@@ -43,9 +43,9 @@
 		
 		row = layout.row()
 		row.enabled = particle_panel_enabled(psys)
-		row.itemR(part, "type")
-		row.itemR(psys, "seed")
+		row.itemR(part, "type", expand=True)
 		
+		
 		row = layout.row()
 		if part.type=='HAIR':
 			if psys.editable==True:
@@ -74,7 +74,7 @@
 		row = layout.row()
 		#col.itemL(text="TODO: Rate instead of amount")
 		row.itemR(part, "amount")
-		row.itemL(text="")
+		row.itemR(psys, "seed")
 		
 		split = layout.split()
 		
@@ -86,6 +86,27 @@
 		col.itemR(part, "lifetime")
 		col.itemR(part, "random_lifetime", slider=True)
 		
+		layout.row().itemL(text="Emit From:")
+		
+		row = layout.row()
+		row.itemR(part, "emit_from", expand=True)
+		row = layout.row()
+		row.itemR(part, "trand")
+		if part.distribution!='GRID':
+			row.itemR(part, "even_distribution")
+		
+		if part.emit_from=='FACE' or part.emit_from=='VOLUME':
+			row = layout.row()
+			row.itemR(part, "distribution", expand=True)
+			
+			row = layout.row()
+
+			if part.distribution=='JIT':
+				row.itemR(part, "userjit", text="Particles/Face")
+				row.itemR(part, "jitter_factor", text="Jittering Amount", slider=True)
+			elif part.distribution=='GRID':
+				row.itemR(part, "grid_resolution")
+
 class PARTICLE_PT_cache(ParticleButtonsPanel):
 	__idname__= "PARTICLE_PT_cache"
 	__label__ = "Cache"
@@ -111,11 +132,10 @@
 		row.itemR(cache, "end_frame")
 			
 			#layout.row().itemL(text="No simulation frames in disk cache.")
-		
-		
+
 class PARTICLE_PT_initial(ParticleButtonsPanel):
 	__idname__= "PARTICLE_PT_initial"
-	__label__ = "Initial values"
+	__label__ = "Velocity"
 
 	def draw(self, context):
 		layout = self.layout
@@ -125,83 +145,56 @@
 		
 		layout.enabled = particle_panel_enabled(psys)
 		
-		layout.row().itemL(text="Location from:")
-		
-		box = layout.box()
-		row = box.row()
-		row.itemR(part, "trand")
-		
-		col = row.column()
-		col.row().itemR(part, "emit_from", expand=True)
-		
-		if part.emit_from=='FACE' or part.emit_from=='VOLUME':
-			row = box.row()
-
-			if part.distribution!='GRID':
-				row.itemR(part, "even_distribution")
-			else:
-				row.itemL(text="")
+		#layout.row().itemL(text="")
 				
-			row.itemR(part, "distribution", expand=True)
+		layout.row().itemL(text="Direction:")
+	
+		split = layout.split()
 			
-			row = box.row()
-
-			if part.distribution=='JIT':
-				row.itemR(part, "userjit", text="Particles/Face")
-				row.itemR(part, "jitter_factor", text="Jittering Amount", slider=True)
-			elif part.distribution=='GRID':
-				row.itemR(part, "grid_resolution")
-
-		#layout.row().itemL(text="")
-				
-		layout.row().itemL(text="Velocity:")
-		box = layout.box()
-		row = box.row()
-		col = row.column()
-		col.itemR(part, "normal_factor")
+		sub = split.column()
+		sub.itemR(part, "normal_factor")
 		if part.emit_from=='PARTICLE':
-			col.itemR(part, "particle_factor")
+			sub.itemR(part, "particle_factor")
 		else:
-			col.itemR(part, "object_factor", slider=True)
-		col.itemR(part, "random_factor")
+			sub.itemR(part, "object_factor", slider=True)
+		sub.itemR(part, "random_factor")
+		sub.itemR(part, "tangent_factor")
+		sub.itemR(part, "tangent_phase", slider=True)
 		
-		col = row.column(align=True)
-		col.itemL(text="TODO:")
-		col.itemL(text="Object aligned")
-		col.itemL(text="direction: X, Y, Z")
+		sub = split.column()
+		sub.itemL(text="TODO:")
+		sub.itemL(text="Object aligned")
+		sub.itemL(text="direction: X, Y, Z")
 		
-		row = box.row()
-		col = row.column(align=True)
-		col.itemR(part, "tangent_factor")
-		col.itemR(part, "tangent_phase", slider=True)
-		
-		col = row.column(align=True)
 		if part.type=='REACTOR':
-			col.itemR(part, "reactor_factor")
-			col.itemR(part, "reaction_shape", slider=True)
+			sub.itemR(part, "reactor_factor")
+			sub.itemR(part, "reaction_shape", slider=True)
 		else:
-			col.itemL(text="")
+			sub.itemL(text="")
 		
 		layout.row().itemL(text="Rotation:")
-		box = layout.box()
-		box.row().itemR(part, "rotation_dynamic")
+		split = layout.split()
+			
+		sub = split.column()
 		
-		row = box.row()
-		col = row.column(align=True)
-		col.itemR(part, "rotation_mode", text="")
-		col.itemR(part, "random_rotation_factor", slider=True)
-		col = row.column(align=True)
-		col.itemR(part, "phase_factor", slider=True)
-		col.itemR(part, "random_phase_factor", text="Random", slider=True)
+		sub.itemR(part, "rotation_mode", text="Axis")
+		split = layout.split()
+			
+		sub = split.column()
+		sub.itemR(part, "rotation_dynamic")
+		sub.itemR(part, "random_rotation_factor", slider=True)
+		sub = split.column()
+		sub.itemR(part, "phase_factor", slider=True)
+		sub.itemR(part, "random_phase_factor", text="Random", slider=True)
+
+		layout.row().itemL(text="Angular velocity:")
+		layout.row().itemR(part, "angular_velocity_mode", expand=True)
+		split = layout.split()
+			
+		sub = split.column()
 		
+		sub.itemR(part, "angular_velocity_factor", text="")
 		
-		layout.row().itemL(text="Angular velocity:")
-
-		box = layout.box()
-		row = box.row()
-		row.itemR(part, "angular_velocity_mode", expand=True)
-		row.itemR(part, "angular_velocity_factor", text="")
-		
 class PARTICLE_PT_physics(ParticleButtonsPanel):
 	__idname__= "PARTICLE_PT_physics"
 	__label__ = "Physics"
@@ -213,57 +206,51 @@
 		part = psys.settings
 		
 		layout.enabled = layout.enabled = particle_panel_enabled(psys)
-		
-		layout.itemR(part, "effector_group")
-		
-		layout.itemL(text="General:")
-		box = layout.box()
-		row = box.row()
-		col = row.column(align=True)
-		col.itemR(part, "particle_size")
-		col.itemR(part, "random_size", slider=True)
-		col = row.column(align=True)
-		col.itemR(part, "mass")
-		col.itemR(part, "sizemass", text="Multiply mass with size")
-		
-		layout.row().itemL(text="")
-		
+
 		row = layout.row()
-		row.itemL(text="Physics Type:")
 		row.itemR(part, "physics_type", expand=True)
-		
 		if part.physics_type != 'NO':
-			box = layout.box()
-			row = box.row()
+			layout.itemR(part, "effector_group")
 		
-		if part.physics_type == 'NEWTON':
-			row.itemR(part, "integrator")
-			row = box.row()
+			row = layout.row()
 			col = row.column(align=True)
-			col.itemL(text="Forces:")
-			col.itemR(part, "brownian_factor")
-			col.itemR(part, "drag_factor", slider=True)
-			col.itemR(part, "damp_factor", slider=True)
+			col.itemR(part, "particle_size")
+			col.itemR(part, "random_size", slider=True)
+			col = row.column(align=True)
+			col.itemR(part, "mass")
+			col.itemR(part, "sizemass", text="Multiply mass with size")
+							
+			split = layout.split()
 			
-			row.column().itemR(part, "acceleration")
+			sub = split.column()
+			
+		if part.physics_type == 'NEWTON':
+			
+			sub.itemL(text="Forces:")
+			sub.itemR(part, "brownian_factor")
+			sub.itemR(part, "drag_factor", slider=True)
+			sub.itemR(part, "damp_factor", slider=True)
+			sub.itemR(part, "integrator")
+			sub = split.column()
+			sub.itemR(part, "acceleration")
+			
 		elif part.physics_type == 'KEYED':
-			row.itemR(psys, "keyed_first")
+			sub.itemR(psys, "keyed_first")
 			if psys.keyed_first==True:
-				row.itemR(psys, "timed_keys", text="Key timing")
+				sub.itemR(psys, "timed_keys", text="Key timing")
 			else:
-				row.itemR(part, "keyed_time")
-			
-			row = box.row()
-			row.itemL(text="Next key from object:")
-			row.itemR(psys, "keyed_object", text="")
-			row.itemR(psys, "keyed_particle_system")
+				sub.itemR(part, "keyed_time")
+			sub = split.column()
+			sub.itemL(text="Next key from object:")
+			sub.itemR(psys, "keyed_object", text="")
+			sub.itemR(psys, "keyed_particle_system")
 		
 		if part.physics_type=='NEWTON' or part.physics_type=='BOIDS':
-			row = box.row()
-			row.itemR(part, "size_deflect")
-			row.itemR(part, "die_on_collision")
-			row.itemR(part, "sticky")
 
+			sub.itemR(part, "size_deflect")
+			sub.itemR(part, "die_on_collision")
+			sub.itemR(part, "sticky")
+
 class PARTICLE_PT_render(ParticleButtonsPanel):
 	__idname__= "PARTICLE_PT_render"
 	__label__ = "Render"
@@ -277,24 +264,29 @@
 		psys = context.particle_system
 		part = psys.settings
 		
-		row = layout.row()
-		row.itemR(part, "material")
-		col = row.column()
-		col.itemR(part, "emitter");
-		col.itemR(part, "parent");
-		col = row.column()
-		col.itemR(part, "unborn");
-		col.itemR(part, "died");
+		layout.itemR(part, "material")
 		
+		split = layout.split()
+			
+		sub = split.column()
+		sub.itemR(part, "emitter");
+		sub.itemR(part, "parent");
+		sub = split.column()
+		sub.itemR(part, "unborn");
+		sub.itemR(part, "died");
+		
 		row = layout.row()
 		row.itemR(part, "ren_as", expand=True)
 		
-		row = layout.row(align=True)
+		split = layout.split()
+			
+		sub = split.column()
 		
 		if part.ren_as == 'LINE':
-			row.itemR(part, "line_length_tail")
-			row.itemR(part, "line_length_head")
-			row.itemR(part, "velocity_length")
+			sub.itemR(part, "line_length_tail")
+			sub.itemR(part, "line_length_head")
+			sub = split.column()
+			sub.itemR(part, "velocity_length")
 		elif part.ren_as == 'PATH':
 		
 			if (part.type!='HAIR' and psys.point_cache.baked==False):
@@ -302,15 +294,24 @@
 				box.itemL(text="Baked or keyed particles needed for correct rendering.")
 				return
 				
-			row.itemR(part, "hair_bspline")
-			row.itemR(part, "render_step", text="Steps")
+			sub.itemR(part, "render_strand")
+			colsub = sub.column()
+			colsub.active = part.render_strand == False
+			colsub.itemR(part, "render_adaptive")
+			colsub = sub.column()
+			colsub.active = part.render_adaptive or part.render_strand == True
+			colsub.itemR(part, "adaptive_angle")
+			colsub = sub.column()
+			colsub.active = part.render_adaptive == True and part.render_strand == False
+			colsub.itemR(part, "adaptive_pix")
+			sub.itemR(part, "hair_bspline")
+			sub.itemR(part, "render_step", text="Steps")
+			sub = split.column()
+			sub.itemL(text="Length:")
+			sub.itemR(part, "abs_length", text="Absolute")
+			sub.itemR(part, "absolute_length", text="Maximum")
+			sub.itemR(part, "random_length", text="Random", slider=True)
 			
-			row = layout.row()
-			row.itemR(part, "abs_length")
-			col = row.column(align=True)
-			col.itemR(part, "absolute_length")
-			col.itemR(part, "random_length", slider=True)
-			
 			#row = layout.row()

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list