diff options
Diffstat (limited to 'release/scripts/ui/properties_physics_field.py')
-rw-r--r-- | release/scripts/ui/properties_physics_field.py | 101 |
1 files changed, 38 insertions, 63 deletions
diff --git a/release/scripts/ui/properties_physics_field.py b/release/scripts/ui/properties_physics_field.py index 57fa40e4c5d..80ea999eedb 100644 --- a/release/scripts/ui/properties_physics_field.py +++ b/release/scripts/ui/properties_physics_field.py @@ -19,24 +19,23 @@ # <pep8 compliant> import bpy -narrowui = bpy.context.user_preferences.view.properties_width_check - from properties_physics_common import basic_force_field_settings_ui from properties_physics_common import basic_force_field_falloff_ui -class PhysicButtonsPanel(bpy.types.Panel): +class PhysicButtonsPanel(): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' bl_context = "physics" - def poll(self, context): + @classmethod + def poll(cls, context): rd = context.scene.render return (context.object) and (not rd.use_game_engine) -class PHYSICS_PT_field(PhysicButtonsPanel): +class PHYSICS_PT_field(PhysicButtonsPanel, bpy.types.Panel): bl_label = "Force Fields" def draw(self, context): @@ -44,22 +43,15 @@ class PHYSICS_PT_field(PhysicButtonsPanel): ob = context.object field = ob.field - wide_ui = context.region.width > narrowui - if wide_ui: - split = layout.split(percentage=0.2) - split.label(text="Type:") - else: - split = layout.split() + split = layout.split(percentage=0.2) + split.label(text="Type:") split.prop(field, "type", text="") if field.type not in ('NONE', 'GUIDE', 'TEXTURE'): - if wide_ui: - split = layout.split(percentage=0.2) - split.label(text="Shape:") - else: - split = layout.split() + split = layout.split(percentage=0.2) + split.label(text="Shape:") split.prop(field, "shape", text="") split = layout.split() @@ -71,11 +63,10 @@ class PHYSICS_PT_field(PhysicButtonsPanel): col.prop(field, "guide_minimum") col.prop(field, "guide_free") col.prop(field, "falloff_power") - col.prop(field, "guide_path_add") + col.prop(field, "use_guide_path_add") col.prop(field, "use_guide_path_weight") - if wide_ui: - col = split.column() + col = split.column() col.label(text="Clumping:") col.prop(field, "guide_clump_amount") col.prop(field, "guide_clump_shape") @@ -84,7 +75,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel): row.prop(field, "use_max_distance") sub = row.row() sub.active = field.use_max_distance - sub.prop(field, "maximum_distance") + sub.prop(field, "distance_max") layout.separator() @@ -98,8 +89,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel): col.prop(field, "guide_kink_frequency") col.prop(field, "guide_kink_shape") - if wide_ui: - col = split.column() + col = split.column() col.prop(field, "guide_kink_amplitude") elif field.type == 'TEXTURE': @@ -109,11 +99,10 @@ class PHYSICS_PT_field(PhysicButtonsPanel): col.prop(field, "texture_mode", text="") col.prop(field, "texture_nabla") - if wide_ui: - col = split.column() - col.prop(field, "use_coordinates") - col.prop(field, "root_coordinates") - col.prop(field, "force_2d") + col = split.column() + col.prop(field, "use_object_coords") + col.prop(field, "use_root_coords") + col.prop(field, "use_2d_force") else: basic_force_field_settings_ui(self, context, field) @@ -134,17 +123,16 @@ class PHYSICS_PT_field(PhysicButtonsPanel): col.prop(field, "use_radial_min", text="Use Minimum") col.prop(field, "use_radial_max", text="Use Maximum") - if wide_ui: - col = split.column() + col = split.column() col.prop(field, "radial_falloff", text="Power") sub = col.column() sub.active = field.use_radial_min - sub.prop(field, "radial_minimum", text="Angle") + sub.prop(field, "radial_min", text="Angle") sub = col.column() sub.active = field.use_radial_max - sub.prop(field, "radial_maximum", text="Angle") + sub.prop(field, "radial_max", text="Angle") elif field.falloff_type == 'TUBE': layout.separator() @@ -156,24 +144,24 @@ class PHYSICS_PT_field(PhysicButtonsPanel): col.prop(field, "use_radial_min", text="Use Minimum") col.prop(field, "use_radial_max", text="Use Maximum") - if wide_ui: - col = split.column() + col = split.column() col.prop(field, "radial_falloff", text="Power") sub = col.column() sub.active = field.use_radial_min - sub.prop(field, "radial_minimum", text="Distance") + sub.prop(field, "radial_min", text="Distance") sub = col.column() sub.active = field.use_radial_max - sub.prop(field, "radial_maximum", text="Distance") + sub.prop(field, "radial_max", text="Distance") -class PHYSICS_PT_collision(PhysicButtonsPanel): +class PHYSICS_PT_collision(PhysicButtonsPanel, bpy.types.Panel): bl_label = "Collision" #bl_default_closed = True - def poll(self, context): + @classmethod + def poll(cls, context): ob = context.object rd = context.scene.render return (ob and ob.type == 'MESH') and (not rd.use_game_engine) @@ -182,7 +170,6 @@ class PHYSICS_PT_collision(PhysicButtonsPanel): layout = self.layout md = context.collision - wide_ui = context.region.width > narrowui split = layout.split() @@ -190,27 +177,25 @@ class PHYSICS_PT_collision(PhysicButtonsPanel): # remove modifier + settings split.set_context_pointer("modifier", md) split.operator("object.modifier_remove", text="Remove") - if wide_ui: - col = split.column() + col = split.column() #row = split.row(align=True) - #row.prop(md, "render", text="") - #row.prop(md, "realtime", text="") + #row.prop(md, "show_render", text="") + #row.prop(md, "show_viewport", text="") coll = md.settings else: # add modifier split.operator("object.modifier_add", text="Add").type = 'COLLISION' - if wide_ui: - split.label() + split.label() coll = None if coll: settings = context.object.collision - layout.active = settings.enabled + layout.active = settings.use split = layout.split() @@ -218,23 +203,22 @@ class PHYSICS_PT_collision(PhysicButtonsPanel): col.label(text="Particle:") col.prop(settings, "permeability", slider=True) col.prop(settings, "stickness") - col.prop(settings, "kill_particles") + col.prop(settings, "use_particle_kill") col.label(text="Particle Damping:") sub = col.column(align=True) sub.prop(settings, "damping_factor", text="Factor", slider=True) - sub.prop(settings, "random_damping", text="Random", slider=True) + sub.prop(settings, "damping_random", text="Random", slider=True) col.label(text="Particle Friction:") sub = col.column(align=True) sub.prop(settings, "friction_factor", text="Factor", slider=True) - sub.prop(settings, "random_friction", text="Random", slider=True) + sub.prop(settings, "friction_random", text="Random", slider=True) - if wide_ui: - col = split.column() + col = split.column() col.label(text="Soft Body and Cloth:") sub = col.column(align=True) - sub.prop(settings, "outer_thickness", text="Outer", slider=True) - sub.prop(settings, "inner_thickness", text="Inner", slider=True) + sub.prop(settings, "thickness_outer", text="Outer", slider=True) + sub.prop(settings, "thickness_inner", text="Inner", slider=True) col.label(text="Soft Body Damping:") col.prop(settings, "damping", text="Factor", slider=True) @@ -243,21 +227,12 @@ class PHYSICS_PT_collision(PhysicButtonsPanel): col.prop(settings, "absorption", text="Absorption") -classes = [ - PHYSICS_PT_field, - PHYSICS_PT_collision] - - def register(): - register = bpy.types.register - for cls in classes: - register(cls) + pass def unregister(): - unregister = bpy.types.unregister - for cls in classes: - unregister(cls) + pass if __name__ == "__main__": register() |