Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'release/scripts/startup/bl_ui/properties_physics_common.py')
-rw-r--r--release/scripts/startup/bl_ui/properties_physics_common.py89
1 files changed, 50 insertions, 39 deletions
diff --git a/release/scripts/startup/bl_ui/properties_physics_common.py b/release/scripts/startup/bl_ui/properties_physics_common.py
index e071de0108b..2da84ad84da 100644
--- a/release/scripts/startup/bl_ui/properties_physics_common.py
+++ b/release/scripts/startup/bl_ui/properties_physics_common.py
@@ -56,7 +56,7 @@ def physics_add_special(self, layout, data, name, addop, removeop, typeicon):
class PHYSICS_PT_add(PhysicButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
def draw(self, context):
obj = context.object
@@ -97,7 +97,7 @@ class PHYSICS_PT_add(PhysicButtonsPanel, Panel):
'CONSTRAINT') # RB_TODO needs better icon
-# cache-type can be 'PSYS' 'HAIR' 'SMOKE' etc
+# cache-type can be 'PSYS' 'HAIR' 'SMOKE' etc.
def point_cache_ui(self, context, cache, enabled, cachetype):
layout = self.layout
@@ -112,8 +112,8 @@ def point_cache_ui(self, context, cache, enabled, cachetype):
col.operator("ptcache.add", icon='ZOOMIN', text="")
col.operator("ptcache.remove", icon='ZOOMOUT', text="")
- row = layout.row()
if cachetype in {'PSYS', 'HAIR', 'SMOKE'}:
+ row = layout.row()
row.prop(cache, "use_external")
if cachetype == 'SMOKE':
@@ -131,7 +131,9 @@ def point_cache_ui(self, context, cache, enabled, cachetype):
cache_info = cache.info
if cache_info:
- layout.label(text=cache_info)
+ col = layout.column()
+ col.alignment = 'RIGHT'
+ col.label(text=cache_info)
else:
if cachetype in {'SMOKE', 'DYNAMIC_PAINT'}:
if not bpy.data.is_saved:
@@ -147,45 +149,54 @@ def point_cache_ui(self, context, cache, enabled, cachetype):
col.enabled = enabled
col.prop(cache, "frame_start", text="Simulation Start")
col.prop(cache, "frame_end")
+
if cachetype not in {'SMOKE', 'CLOTH', 'DYNAMIC_PAINT', 'RIGID_BODY'}:
col.prop(cache, "frame_step")
- if cachetype != 'SMOKE':
- layout.label(text=cache.info)
+ cache_info = cache.info
+ if cachetype != 'SMOKE' and cache_info: # avoid empty space.
+ col = layout.column(align=True)
+ col.alignment = 'RIGHT'
+ col.label(text=cache_info)
can_bake = True
if cachetype not in {'SMOKE', 'DYNAMIC_PAINT', 'RIGID_BODY'}:
- split = layout.split()
- split.enabled = enabled and bpy.data.is_saved
+ flow = layout.grid_flow(row_major=True, columns=0, even_columns=True, even_rows=False, align=True)
+ flow.enabled = enabled and bpy.data.is_saved
- col = split.column()
- col.prop(cache, "use_disk_cache")
+ flow.use_property_split = True
- col = split.column()
- col.active = cache.use_disk_cache
- col.prop(cache, "use_library_path", "Use Lib Path")
+ # NOTE: TODO temporarly used until the animate properties are properly skipped.
+ flow.use_property_decorate = False # No animation (remove this later on)
- row = layout.row()
- row.enabled = enabled and bpy.data.is_saved
- row.active = cache.use_disk_cache
- row.label(text="Compression:")
- row.prop(cache, "compression", expand=True)
+ col = flow.column()
+ col.prop(cache, "use_disk_cache")
- layout.separator()
+ subcol = col.column()
+ subcol.active = cache.use_disk_cache
+ subcol.prop(cache, "use_library_path", "Use Lib Path")
+
+ col = flow.column()
+ col.enabled = enabled and bpy.data.is_saved
+ col.active = cache.use_disk_cache
+ col.prop(cache, "compression", text="Compression", expand=True)
if cache.id_data.library and not cache.use_disk_cache:
can_bake = False
col = layout.column(align=True)
- col.label(text="Linked object baking requires Disk Cache to be enabled", icon='INFO')
+ col.alignment = 'RIGHT'
+
+ col.separator()
+
+ col.label(text="Linked object baking requires Disk Cache to be enabled")
else:
layout.separator()
- split = layout.split()
- split.active = can_bake
-
- col = split.column()
+ flow = layout.grid_flow(row_major=True, columns=0, even_columns=True, even_rows=False, align=False)
+ col = flow.column()
+ col.active = can_bake
if cache.is_baked is True:
col.operator("ptcache.free_bake", text="Free Bake")
@@ -200,7 +211,7 @@ def point_cache_ui(self, context, cache, enabled, cachetype):
sub.enabled = enabled
sub.operator("ptcache.bake_from_cache", text="Current Cache to Bake")
- col = split.column()
+ col = flow.column()
col.operator("ptcache.bake_all", text="Bake All Dynamics").bake = True
col.operator("ptcache.free_bake_all", text="Free All Bakes")
col.operator("ptcache.bake_all", text="Update All To Frame").bake = False
@@ -212,31 +223,31 @@ def effector_weights_ui(self, context, weights, weight_type):
layout.prop(weights, "group")
- layout.use_property_split = False
-
- split = layout.split()
-
- split.prop(weights, "gravity", slider=True)
- split.prop(weights, "all", slider=True)
+ # NOTE: TODO temporarly used until the animate properties are properly skipped
+ layout.use_property_decorate = False # No animation (remove this later on)
- layout.separator()
+ flow = layout.grid_flow(row_major=True, columns=0, even_columns=True, even_rows=False, align=True)
- split = layout.split()
-
- col = split.column()
+ col = flow.column()
+ col.prop(weights, "gravity", slider=True)
+ col.prop(weights, "all", slider=True)
col.prop(weights, "force", slider=True)
col.prop(weights, "vortex", slider=True)
+
+ col = flow.column()
col.prop(weights, "magnetic", slider=True)
+ col.prop(weights, "harmonic", slider=True)
+ col.prop(weights, "charge", slider=True)
+ col.prop(weights, "lennardjones", slider=True)
+
+ col = flow.column()
col.prop(weights, "wind", slider=True)
col.prop(weights, "curve_guide", slider=True)
col.prop(weights, "texture", slider=True)
if weight_type != 'SMOKE':
col.prop(weights, "smokeflow", slider=True)
- col = split.column()
- col.prop(weights, "harmonic", slider=True)
- col.prop(weights, "charge", slider=True)
- col.prop(weights, "lennardjones", slider=True)
+ col = flow.column()
col.prop(weights, "turbulence", slider=True)
col.prop(weights, "drag", slider=True)
col.prop(weights, "boid", slider=True)