From d96480884666247beba7085cf709c615a80ddc67 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 31 Oct 2009 23:35:56 +0000 Subject: [PATCH] made scripts pass the pep8 test (though not fully pep8 yet) added comment in header to know if a script has been converted or not. --- release/scripts/modules/bpy_ops.py | 2 + .../scripts/ui/properties_data_armature.py | 15 +- release/scripts/ui/properties_data_bone.py | 9 +- release/scripts/ui/properties_data_camera.py | 6 +- release/scripts/ui/properties_data_curve.py | 26 ++-- release/scripts/ui/properties_data_empty.py | 4 +- release/scripts/ui/properties_data_lamp.py | 17 ++- release/scripts/ui/properties_data_lattice.py | 5 +- release/scripts/ui/properties_data_mesh.py | 17 ++- .../scripts/ui/properties_data_metaball.py | 5 + .../scripts/ui/properties_data_modifier.py | 8 +- release/scripts/ui/properties_data_text.py | 9 +- release/scripts/ui/properties_game.py | 28 +++- release/scripts/ui/properties_material.py | 39 ++++- release/scripts/ui/properties_object.py | 11 +- .../ui/properties_object_constraint.py | 17 ++- release/scripts/ui/properties_particle.py | 143 +++++++++++------- .../scripts/ui/properties_physics_cloth.py | 13 +- .../scripts/ui/properties_physics_common.py | 8 +- .../scripts/ui/properties_physics_field.py | 10 +- .../scripts/ui/properties_physics_fluid.py | 7 +- .../scripts/ui/properties_physics_smoke.py | 14 +- .../scripts/ui/properties_physics_softbody.py | 14 +- release/scripts/ui/properties_render.py | 17 ++- release/scripts/ui/properties_scene.py | 8 +- release/scripts/ui/properties_texture.py | 64 ++++++-- release/scripts/ui/properties_world.py | 9 +- release/scripts/ui/space_buttons.py | 6 +- release/scripts/ui/space_console.py | 1 + release/scripts/ui/space_filebrowser.py | 19 +-- release/scripts/ui/space_image.py | 30 ++-- release/scripts/ui/space_info.py | 24 ++- release/scripts/ui/space_logic.py | 2 + release/scripts/ui/space_node.py | 6 +- release/scripts/ui/space_outliner.py | 5 +- release/scripts/ui/space_sequencer.py | 37 +++-- release/scripts/ui/space_text.py | 19 ++- release/scripts/ui/space_time.py | 7 +- release/scripts/ui/space_userpref.py | 17 ++- release/scripts/ui/space_view3d.py | 92 ++++++++--- release/scripts/ui/space_view3d_toolbar.py | 35 ++++- 41 files changed, 612 insertions(+), 213 deletions(-) diff --git a/release/scripts/modules/bpy_ops.py b/release/scripts/modules/bpy_ops.py index a9fa16f313f..579fe0192ee 100644 --- a/release/scripts/modules/bpy_ops.py +++ b/release/scripts/modules/bpy_ops.py @@ -3,6 +3,8 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. +# + # for slightly faster access from bpy.__ops__ import add as op_add from bpy.__ops__ import remove as op_remove diff --git a/release/scripts/ui/properties_data_armature.py b/release/scripts/ui/properties_data_armature.py index 45ad29c0a6b..f35da79cd1e 100644 --- a/release/scripts/ui/properties_data_armature.py +++ b/release/scripts/ui/properties_data_armature.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class DataButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -14,6 +15,7 @@ class DataButtonsPanel(bpy.types.Panel): def poll(self, context): return context.armature + class DATA_PT_context_arm(DataButtonsPanel): bl_label = "" bl_show_header = False @@ -34,6 +36,7 @@ class DATA_PT_context_arm(DataButtonsPanel): split.template_ID(space, "pin_id") split.itemS() + class DATA_PT_skeleton(DataButtonsPanel): bl_label = "Skeleton" @@ -61,6 +64,7 @@ class DATA_PT_skeleton(DataButtonsPanel): col.itemR(arm, "deform_quaternion", text="Quaternion") col.itemR(arm, "deform_bbone_rest", text="B-Bones Rest") + class DATA_PT_display(DataButtonsPanel): bl_label = "Display" @@ -78,11 +82,12 @@ class DATA_PT_display(DataButtonsPanel): flow.itemR(arm, "draw_group_colors", text="Colors") flow.itemR(arm, "delay_deform", text="Delay Refresh") + class DATA_PT_bone_groups(DataButtonsPanel): bl_label = "Bone Groups" def poll(self, context): - return (context.object and context.object.type=='ARMATURE' and context.object.pose) + return (context.object and context.object.type == 'ARMATURE' and context.object.pose) def draw(self, context): layout = self.layout @@ -101,11 +106,11 @@ class DATA_PT_bone_groups(DataButtonsPanel): group = pose.active_bone_group if group: col = layout.column() - col.active= (ob.proxy == None) + col.active = (ob.proxy == None) col.itemR(group, "name") split = layout.split(0.5) - split.active= (ob.proxy == None) + split.active = (ob.proxy == None) split.itemR(group, "color_set") if group.color_set: split.template_triColorSet(group, "colors") @@ -118,6 +123,7 @@ class DATA_PT_bone_groups(DataButtonsPanel): #row.itemO("object.bone_group_select", text="Select") #row.itemO("object.bone_group_deselect", text="Deselect") + class DATA_PT_paths(DataButtonsPanel): bl_label = "Paths" @@ -154,6 +160,7 @@ class DATA_PT_paths(DataButtonsPanel): row.itemO("pose.paths_calculate", text="Calculate Paths") row.itemO("pose.paths_clear", text="Clear Paths") + class DATA_PT_ghost(DataButtonsPanel): bl_label = "Ghost" diff --git a/release/scripts/ui/properties_data_bone.py b/release/scripts/ui/properties_data_bone.py index 641fdfa4aaa..afb73510196 100644 --- a/release/scripts/ui/properties_data_bone.py +++ b/release/scripts/ui/properties_data_bone.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class BoneButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -14,6 +15,7 @@ class BoneButtonsPanel(bpy.types.Panel): def poll(self, context): return (context.bone or context.edit_bone) + class BONE_PT_context_bone(BoneButtonsPanel): bl_label = "" bl_show_header = False @@ -29,6 +31,7 @@ class BONE_PT_context_bone(BoneButtonsPanel): row.itemL(text="", icon='ICON_BONE_DATA') row.itemR(bone, "name", text="") + class BONE_PT_transform(BoneButtonsPanel): bl_label = "Transform" @@ -74,6 +77,7 @@ class BONE_PT_transform(BoneButtonsPanel): layout.itemR(pchan, "rotation_mode") + class BONE_PT_transform_locks(BoneButtonsPanel): bl_label = "Transform Locks" bl_default_closed = True @@ -104,6 +108,7 @@ class BONE_PT_transform_locks(BoneButtonsPanel): row.column().itemR(pchan, "lock_scale") + class BONE_PT_relations(BoneButtonsPanel): bl_label = "Relations" @@ -145,6 +150,7 @@ class BONE_PT_relations(BoneButtonsPanel): sub.itemR(bone, "hinge", text="Inherit Rotation") sub.itemR(bone, "inherit_scale", text="Inherit Scale") + class BONE_PT_display(BoneButtonsPanel): bl_label = "Display" @@ -178,6 +184,7 @@ class BONE_PT_display(BoneButtonsPanel): col.itemL(text="Custom Shape:") col.itemR(pchan, "custom_shape", text="") + class BONE_PT_deform(BoneButtonsPanel): bl_label = "Deform" bl_default_closed = True diff --git a/release/scripts/ui/properties_data_camera.py b/release/scripts/ui/properties_data_camera.py index d28097712d7..3017d659ca1 100644 --- a/release/scripts/ui/properties_data_camera.py +++ b/release/scripts/ui/properties_data_camera.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class DataButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -14,6 +15,7 @@ class DataButtonsPanel(bpy.types.Panel): def poll(self, context): return context.camera + class DATA_PT_context_camera(DataButtonsPanel): bl_label = "" bl_show_header = False @@ -34,6 +36,7 @@ class DATA_PT_context_camera(DataButtonsPanel): split.template_ID(space, "pin_id") split.itemS() + class DATA_PT_camera(DataButtonsPanel): bl_label = "Lens" @@ -75,6 +78,7 @@ class DATA_PT_camera(DataButtonsPanel): row.itemR(cam, "dof_object", text="") row.itemR(cam, "dof_distance", text="Distance") + class DATA_PT_camera_display(DataButtonsPanel): bl_label = "Display" diff --git a/release/scripts/ui/properties_data_curve.py b/release/scripts/ui/properties_data_curve.py index 7863e064522..c5156b1461b 100644 --- a/release/scripts/ui/properties_data_curve.py +++ b/release/scripts/ui/properties_data_curve.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class DataButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -14,21 +15,22 @@ class DataButtonsPanel(bpy.types.Panel): def poll(self, context): return (context.object and context.object.type in ('CURVE', 'SURFACE') and context.curve) + class DataButtonsPanelCurve(DataButtonsPanel): - ''' - Same as above but for curves only - ''' + '''Same as above but for curves only''' + def poll(self, context): return (context.object and context.object.type == 'CURVE' and context.curve) + class DataButtonsPanelActive(DataButtonsPanel): - ''' - Same as above but for curves only - ''' + '''Same as above but for curves only''' + def poll(self, context): curve = context.curve return (curve and curve.active_spline) + class DATA_PT_context_curve(DataButtonsPanel): bl_label = "" bl_show_header = False @@ -49,6 +51,7 @@ class DATA_PT_context_curve(DataButtonsPanel): split.template_ID(space, "pin_id") split.itemS() + class DATA_PT_shape_curve(DataButtonsPanel): bl_label = "Shape" @@ -70,7 +73,7 @@ class DATA_PT_shape_curve(DataButtonsPanel): if not is_surf: sub = col.column() - sub.active = (curve.dimensions=='2D') + sub.active = (curve.dimensions == '2D') sub.itemL(text="Caps:") row = sub.row() row.itemR(curve, "front") @@ -92,7 +95,7 @@ class DATA_PT_shape_curve(DataButtonsPanel): sub.itemR(curve, "render_resolution_v", text="Render V") # XXX - put somewhere nicer. - row= layout.row() + row = layout.row() row.itemR(curve, "twist_mode") row.itemR(curve, "twist_smooth") # XXX - may not be kept @@ -101,6 +104,7 @@ class DATA_PT_shape_curve(DataButtonsPanel): # col.itemL(text="NORMALS") # col.itemR(curve, "vertex_normal_flip") + class DATA_PT_geometry_curve(DataButtonsPanel): bl_label = "Geometry" @@ -125,6 +129,7 @@ class DATA_PT_geometry_curve(DataButtonsPanel): col.itemL(text="Bevel Object:") col.itemR(curve, "bevel_object", text="") + class DATA_PT_pathanim(DataButtonsPanelCurve): bl_label = "Path Animation" @@ -151,6 +156,7 @@ class DATA_PT_pathanim(DataButtonsPanelCurve): col.itemR(curve, "use_radius") col.itemR(curve, "use_time_offset", text="Offset Children") + class DATA_PT_active_spline(DataButtonsPanelActive): bl_label = "Active Spline" @@ -214,7 +220,7 @@ class DATA_PT_active_spline(DataButtonsPanelActive): if not is_surf: split = layout.split() col = split.column() - col.active = (curve.dimensions=='3D') + col.active = (curve.dimensions == '3D') col.itemL(text="Interpolation:") col.itemR(act_spline, "tilt_interpolation", text="Tilt") diff --git a/release/scripts/ui/properties_data_empty.py b/release/scripts/ui/properties_data_empty.py index 6fecf80d204..b6273afe508 100644 --- a/release/scripts/ui/properties_data_empty.py +++ b/release/scripts/ui/properties_data_empty.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class DataButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -14,6 +15,7 @@ class DataButtonsPanel(bpy.types.Panel): def poll(self, context): return (context.object and context.object.type == 'EMPTY') + class DATA_PT_empty(DataButtonsPanel): bl_label = "Empty" diff --git a/release/scripts/ui/properties_data_lamp.py b/release/scripts/ui/properties_data_lamp.py index 391ffa758ba..50299ae2c4e 100644 --- a/release/scripts/ui/properties_data_lamp.py +++ b/release/scripts/ui/properties_data_lamp.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class DataButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -14,12 +15,14 @@ class DataButtonsPanel(bpy.types.Panel): def poll(self, context): return context.lamp + class DATA_PT_preview(DataButtonsPanel): bl_label = "Preview" def draw(self, context): self.layout.template_preview(context.lamp) + class DATA_PT_context_lamp(DataButtonsPanel): bl_label = "" bl_show_header = False @@ -40,6 +43,7 @@ class DATA_PT_context_lamp(DataButtonsPanel): split.template_ID(space, "pin_id") split.itemS() + class DATA_PT_lamp(DataButtonsPanel): bl_label = "Lamp" @@ -80,6 +84,7 @@ class DATA_PT_lamp(DataButtonsPanel): col.itemR(lamp, "specular") col.itemR(lamp, "diffuse") + class DATA_PT_sunsky(DataButtonsPanel): bl_label = "Sky & Atmosphere" @@ -123,7 +128,7 @@ class DATA_PT_sunsky(DataButtonsPanel): sub = col.column() sub.itemR(lamp, "sun_brightness", text="Brightness") sub.itemR(lamp, "sun_size", text="Size") - sub.itemR(lamp, "backscattered_light", slider=True,text="Back Light") + sub.itemR(lamp, "backscattered_light", slider=True, text="Back Light") layout.itemS() @@ -142,14 +147,15 @@ class DATA_PT_sunsky(DataButtonsPanel): col.itemL(text="Scattering:") sub = col.column(align=True) sub.itemR(lamp, "atmosphere_inscattering", slider=True, text="Inscattering") - sub.itemR(lamp, "atmosphere_extinction", slider=True ,text="Extinction") + sub.itemR(lamp, "atmosphere_extinction", slider=True, text="Extinction") + class DATA_PT_shadow(DataButtonsPanel): bl_label = "Shadow" def poll(self, context): lamp = context.lamp - return (lamp and lamp.type in ('POINT','SUN', 'SPOT', 'AREA')) + return (lamp and lamp.type in ('POINT', 'SUN', 'SPOT', 'AREA')) def draw(self, context): layout = self.layout @@ -242,6 +248,7 @@ class DATA_PT_shadow(DataButtonsPanel): sub.active = not lamp.auto_clip_end sub.itemR(lamp, "shadow_buffer_clip_end", text=" Clip End") + class DATA_PT_area(DataButtonsPanel): bl_label = "Area Shape" @@ -266,6 +273,7 @@ class DATA_PT_area(DataButtonsPanel): sub.itemR(lamp, "size", text="Size X") sub.itemR(lamp, "size_y", text="Size Y") + class DATA_PT_spot(DataButtonsPanel): bl_label = "Spot Shape" @@ -294,6 +302,7 @@ class DATA_PT_spot(DataButtonsPanel): if lamp.shadow_method == 'BUFFER_SHADOW': sub.itemR(lamp, "halo_step", text="Step") + class DATA_PT_falloff_curve(DataButtonsPanel): bl_label = "Falloff Curve" bl_default_closed = True diff --git a/release/scripts/ui/properties_data_lattice.py b/release/scripts/ui/properties_data_lattice.py index 7d3bbdde38e..d8aff96a693 100644 --- a/release/scripts/ui/properties_data_lattice.py +++ b/release/scripts/ui/properties_data_lattice.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class DataButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -14,6 +15,7 @@ class DataButtonsPanel(bpy.types.Panel): def poll(self, context): return context.lattice + class DATA_PT_context_lattice(DataButtonsPanel): bl_label = "" bl_show_header = False @@ -34,6 +36,7 @@ class DATA_PT_context_lattice(DataButtonsPanel): split.template_ID(space, "pin_id") split.itemS() + class DATA_PT_lattice(DataButtonsPanel): bl_label = "Lattice" diff --git a/release/scripts/ui/properties_data_mesh.py b/release/scripts/ui/properties_data_mesh.py index f17cba3b3a3..f68fcbdd538 100644 --- a/release/scripts/ui/properties_data_mesh.py +++ b/release/scripts/ui/properties_data_mesh.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class DataButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -14,6 +15,7 @@ class DataButtonsPanel(bpy.types.Panel): def poll(self, context): return context.mesh + class DATA_PT_context_mesh(DataButtonsPanel): bl_label = "" bl_show_header = False @@ -34,6 +36,7 @@ class DATA_PT_context_mesh(DataButtonsPanel): split.template_ID(space, "pin_id") split.itemS() + class DATA_PT_normals(DataButtonsPanel): bl_label = "Normals" @@ -54,6 +57,7 @@ class DATA_PT_normals(DataButtonsPanel): col.itemR(mesh, "vertex_normal_flip") col.itemR(mesh, "double_sided") + class DATA_PT_settings(DataButtonsPanel): bl_label = "Settings" @@ -67,6 +71,7 @@ class DATA_PT_settings(DataButtonsPanel): col = split.column() col.itemR(mesh, "texture_mesh") + class DATA_PT_vertex_groups(DataButtonsPanel): bl_label = "Vertex Groups" @@ -81,7 +86,7 @@ class DATA_PT_vertex_groups(DataButtonsPanel): rows = 2 if group: - rows= 5 + rows = 5 row = layout.row() row.template_list(ob, "vertex_groups", ob, "active_vertex_group_index", rows=rows) @@ -111,6 +116,7 @@ class DATA_PT_vertex_groups(DataButtonsPanel): layout.itemR(context.tool_settings, "vertex_group_weight", text="Weight") + class DATA_PT_shape_keys(DataButtonsPanel): bl_label = "Shape Keys" @@ -135,7 +141,7 @@ class DATA_PT_shape_keys(DataButtonsPanel): rows = 2 if kb: - rows= 5 + rows = 5 row.template_list(key, "keys", ob, "active_shape_key_index", rows=rows) col = row.column() @@ -160,7 +166,7 @@ class DATA_PT_shape_keys(DataButtonsPanel): sub.alignment = 'RIGHT' subrow = sub.row(align=True) - subrow.active= enable_edit_value + subrow.active = enable_edit_value subrow.itemR(ob, "shape_key_lock", icon='ICON_UNPINNED', text="") subrow.itemR(kb, "mute", icon='ICON_MUTE_IPO_OFF', text="") subrow.itemO("object.shape_key_clear", icon='ICON_X', text="") @@ -196,6 +202,7 @@ class DATA_PT_shape_keys(DataButtonsPanel): row.active = enable_edit_value row.itemR(key, "slurph") + class DATA_PT_uv_texture(DataButtonsPanel): bl_label = "UV Texture" @@ -217,6 +224,7 @@ class DATA_PT_uv_texture(DataButtonsPanel): if lay: layout.itemR(lay, "name") + class DATA_PT_vertex_colors(DataButtonsPanel): bl_label = "Vertex Colors" @@ -245,4 +253,3 @@ bpy.types.register(DATA_PT_vertex_groups) bpy.types.register(DATA_PT_shape_keys) bpy.types.register(DATA_PT_uv_texture) bpy.types.register(DATA_PT_vertex_colors) - diff --git a/release/scripts/ui/properties_data_metaball.py b/release/scripts/ui/properties_data_metaball.py index d0310617afa..60d6e08c4d3 100644 --- a/release/scripts/ui/properties_data_metaball.py +++ b/release/scripts/ui/properties_data_metaball.py @@ -3,8 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. +# import bpy + class DataButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -13,6 +15,7 @@ class DataButtonsPanel(bpy.types.Panel): def poll(self, context): return context.meta_ball + class DATA_PT_context_metaball(DataButtonsPanel): bl_label = "" bl_show_header = False @@ -33,6 +36,7 @@ class DATA_PT_context_metaball(DataButtonsPanel): split.template_ID(space, "pin_id") split.itemS() + class DATA_PT_metaball(DataButtonsPanel): bl_label = "Metaball" @@ -56,6 +60,7 @@ class DATA_PT_metaball(DataButtonsPanel): layout.itemL(text="Update:") layout.itemR(mball, "flag", expand=True) + class DATA_PT_metaball_element(DataButtonsPanel): bl_label = "Active Element" diff --git a/release/scripts/ui/properties_data_modifier.py b/release/scripts/ui/properties_data_modifier.py index a5f8b20d8a2..35eab9621e8 100644 --- a/release/scripts/ui/properties_data_modifier.py +++ b/release/scripts/ui/properties_data_modifier.py @@ -3,14 +3,16 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class DataButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' bl_context = "modifier" + class DATA_PT_modifiers(DataButtonsPanel): bl_label = "Modifiers" @@ -200,7 +202,7 @@ class DATA_PT_modifiers(DataButtonsPanel): flow.itemR(md, "alive") flow.itemR(md, "dead") - layout.itemO("object.explode_refresh", text="Refresh"); + layout.itemO("object.explode_refresh", text="Refresh") def FLUID_SIMULATION(self, layout, ob, md): layout.itemL(text="See Fluid panel.") @@ -305,7 +307,7 @@ class DATA_PT_modifiers(DataButtonsPanel): if md.path: row = layout.row() row.itemR(md, "position", slider=True) - row.itemR(md, "random_position", text = "Random", slider=True) + row.itemR(md, "random_position", text="Random", slider=True) def PARTICLE_SYSTEM(self, layout, ob, md): layout.itemL(text="See Particle panel.") diff --git a/release/scripts/ui/properties_data_text.py b/release/scripts/ui/properties_data_text.py index 94e61c44e0a..baaf94553c2 100644 --- a/release/scripts/ui/properties_data_text.py +++ b/release/scripts/ui/properties_data_text.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class DataButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -14,6 +15,7 @@ class DataButtonsPanel(bpy.types.Panel): def poll(self, context): return (context.object and context.object.type == 'TEXT' and context.curve) + class DATA_PT_context_text(DataButtonsPanel): bl_label = "" bl_show_header = False @@ -34,6 +36,7 @@ class DATA_PT_context_text(DataButtonsPanel): split.template_ID(space, "pin_id") split.itemS() + class DATA_PT_shape_text(DataButtonsPanel): bl_label = "Shape Text" @@ -68,6 +71,7 @@ class DATA_PT_shape_text(DataButtonsPanel): col.itemL(text="Display:") col.itemR(curve, "fast", text="Fast Editing") + class DATA_PT_geometry_text(DataButtonsPanel): bl_label = "Geometry" @@ -92,6 +96,7 @@ class DATA_PT_geometry_text(DataButtonsPanel): col.itemL(text="Bevel Object:") col.itemR(curve, "bevel_object", text="") + class DATA_PT_font(DataButtonsPanel): bl_label = "Font" @@ -132,6 +137,7 @@ class DATA_PT_font(DataButtonsPanel): col.itemR(text, "ul_position", text="Position") col.itemR(text, "ul_height", text="Thickness") + class DATA_PT_paragraph(DataButtonsPanel): bl_label = "Paragraph" @@ -156,6 +162,7 @@ class DATA_PT_paragraph(DataButtonsPanel): col.itemR(text, "offset_x", text="X") col.itemR(text, "offset_y", text="Y") + class DATA_PT_textboxes(DataButtonsPanel): bl_label = "Text Boxes" diff --git a/release/scripts/ui/properties_game.py b/release/scripts/ui/properties_game.py index 357d096f28d..11565210a8f 100644 --- a/release/scripts/ui/properties_game.py +++ b/release/scripts/ui/properties_game.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class PhysicsButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -16,6 +17,7 @@ class PhysicsButtonsPanel(bpy.types.Panel): rd = context.scene.render_data return ob and ob.game and (rd.engine == 'BLENDER_GAME') + class PHYSICS_PT_game_physics(PhysicsButtonsPanel): bl_label = "Physics" @@ -122,7 +124,7 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel): col.itemL(text="Cluster Collision:") col.itemR(soft, "cluster_rigid_to_softbody") col.itemR(soft, "cluster_soft_to_softbody") - sub = col.column() + sub = col.column() sub.active = (soft.cluster_rigid_to_softbody or soft.cluster_soft_to_softbody) sub.itemR(soft, "cluster_iterations", text="Iterations") @@ -135,6 +137,7 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel): elif game.physics_type in ('SENSOR', 'INVISIBLE', 'NO_COLLISION', 'OCCLUDE'): layout.itemR(ob, "restrict_render", text="Invisible") + class PHYSICS_PT_game_collision_bounds(PhysicsButtonsPanel): bl_label = "Collision Bounds" @@ -163,6 +166,7 @@ class PHYSICS_PT_game_collision_bounds(PhysicsButtonsPanel): bpy.types.register(PHYSICS_PT_game_physics) bpy.types.register(PHYSICS_PT_game_collision_bounds) + class RenderButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -172,6 +176,7 @@ class RenderButtonsPanel(bpy.types.Panel): rd = context.scene.render_data return (rd.engine == 'BLENDER_GAME') + class RENDER_PT_game(RenderButtonsPanel): bl_label = "Game" @@ -182,6 +187,7 @@ class RENDER_PT_game(RenderButtonsPanel): row.itemO("view3d.game_start", text="Start") row.itemL() + class RENDER_PT_game_player(RenderButtonsPanel): bl_label = "Standalone Player" @@ -213,6 +219,7 @@ class RENDER_PT_game_player(RenderButtonsPanel): if gs.framing_type == 'LETTERBOX': col.itemR(gs, "framing_color", text="") + class RENDER_PT_game_stereo(RenderButtonsPanel): bl_label = "Stereo" @@ -237,31 +244,32 @@ class RENDER_PT_game_stereo(RenderButtonsPanel): dome_type = gs.dome_mode - split=layout.split() + split = layout.split() if dome_type == 'FISHEYE' or \ dome_type == 'TRUNCATED_REAR' or \ dome_type == 'TRUNCATED_FRONT': - col=split.column() + col = split.column() col.itemR(gs, "dome_angle", slider=True) col.itemR(gs, "dome_tilt") - col=split.column() + col = split.column() col.itemR(gs, "dome_tesselation", text="Tesselation") col.itemR(gs, "dome_buffer_resolution", text="Resolution", slider=True) elif dome_type == 'PANORAM_SPH': - col=split.column() + col = split.column() col.itemR(gs, "dome_tesselation", text="Tesselation") col.itemR(gs, "dome_buffer_resolution", text="Resolution", slider=True) else: # cube map - col=split.column() + col = split.column() col.itemR(gs, "dome_buffer_resolution", text="Resolution", slider=True) layout.itemR(gs, "dome_text") + class RENDER_PT_game_shading(RenderButtonsPanel): bl_label = "Shading" @@ -284,6 +292,7 @@ class RENDER_PT_game_shading(RenderButtonsPanel): col.itemR(gs, "glsl_nodes", text="Nodes") col.itemR(gs, "glsl_extra_textures", text="Extra Textures") + class RENDER_PT_game_performance(RenderButtonsPanel): bl_label = "Performance" @@ -306,6 +315,7 @@ class RENDER_PT_game_performance(RenderButtonsPanel): col.itemR(gs, "all_frames") col.itemR(gs, "display_lists") + class RENDER_PT_game_sound(RenderButtonsPanel): bl_label = "Sound" @@ -325,6 +335,7 @@ bpy.types.register(RENDER_PT_game_shading) bpy.types.register(RENDER_PT_game_performance) bpy.types.register(RENDER_PT_game_sound) + class WorldButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -334,6 +345,7 @@ class WorldButtonsPanel(bpy.types.Panel): rd = context.scene.render_data return (rd.engine == 'BLENDER_GAME') + class WORLD_PT_game_context_world(WorldButtonsPanel): bl_label = "" bl_show_header = False @@ -356,6 +368,7 @@ class WORLD_PT_game_context_world(WorldButtonsPanel): elif world: split.template_ID(space, "pin_id") + class WORLD_PT_game_world(WorldButtonsPanel): bl_label = "World" @@ -375,6 +388,7 @@ class WORLD_PT_game_world(WorldButtonsPanel): row.itemR(world.mist, "start") row.itemR(world.mist, "depth") + class WORLD_PT_game_physics(WorldButtonsPanel): bl_label = "Physics" diff --git a/release/scripts/ui/properties_material.py b/release/scripts/ui/properties_material.py index ac4d26ecb4f..e0ff3959117 100644 --- a/release/scripts/ui/properties_material.py +++ b/release/scripts/ui/properties_material.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + def active_node_mat(mat): # TODO, 2.4x has a pipeline section, for 2.5 we need to communicate # which settings from node-materials are used @@ -18,6 +19,7 @@ def active_node_mat(mat): return None + class MaterialButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -29,6 +31,7 @@ class MaterialButtonsPanel(bpy.types.Panel): engine = context.scene.render_data.engine return mat and (engine in self.COMPAT_ENGINES) + class MATERIAL_PT_preview(MaterialButtonsPanel): bl_label = "Preview" COMPAT_ENGINES = set(['BLENDER_RENDER', 'BLENDER_GAME']) @@ -36,6 +39,7 @@ class MATERIAL_PT_preview(MaterialButtonsPanel): def draw(self, context): self.layout.template_preview(context.material) + class MATERIAL_PT_context_material(MaterialButtonsPanel): bl_label = "" bl_show_header = False @@ -88,6 +92,7 @@ class MATERIAL_PT_context_material(MaterialButtonsPanel): if mat: layout.itemR(mat, "type", expand=True) + class MATERIAL_PT_shading(MaterialButtonsPanel): bl_label = "Shading" COMPAT_ENGINES = set(['BLENDER_RENDER', 'BLENDER_GAME']) @@ -123,6 +128,7 @@ class MATERIAL_PT_shading(MaterialButtonsPanel): elif mat.type == 'HALO': layout.itemR(mat, "alpha") + class MATERIAL_PT_strand(MaterialButtonsPanel): bl_label = "Strand" bl_default_closed = True @@ -156,8 +162,10 @@ class MATERIAL_PT_strand(MaterialButtonsPanel): col.itemL(text="Shading:") col.itemR(tan, "width_fade") ob = context.object - if ob and ob.type == 'MESH': col.item_pointerR(tan, "uv_layer", ob.data, "uv_textures", text="") - else: col.itemR(tan, "uv_layer", text="") + if ob and ob.type == 'MESH': + col.item_pointerR(tan, "uv_layer", ob.data, "uv_textures", text="") + else: + col.itemR(tan, "uv_layer", text="") col.itemS() sub = col.column() sub.active = (not mat.shadeless) @@ -166,6 +174,7 @@ class MATERIAL_PT_strand(MaterialButtonsPanel): sub.active = tan.surface_diffuse sub.itemR(tan, "blend_distance", text="Distance") + class MATERIAL_PT_physics(MaterialButtonsPanel): bl_label = "Physics" COMPAT_ENGINES = set(['BLENDER_GAME']) @@ -187,6 +196,7 @@ class MATERIAL_PT_physics(MaterialButtonsPanel): col.itemR(phys, "elasticity", slider=True) col.itemR(phys, "damp", slider=True) + class MATERIAL_PT_options(MaterialButtonsPanel): bl_label = "Options" COMPAT_ENGINES = set(['BLENDER_RENDER', 'BLENDER_GAME']) @@ -229,6 +239,7 @@ class MATERIAL_PT_options(MaterialButtonsPanel): col.itemR(mat, "vertex_color_light") col.itemR(mat, "object_color") + class MATERIAL_PT_shadow(MaterialButtonsPanel): bl_label = "Shadow" bl_default_closed = True @@ -263,6 +274,7 @@ class MATERIAL_PT_shadow(MaterialButtonsPanel): sub.active = (not mat.ray_shadow_bias) sub.itemR(mat, "shadow_ray_bias", text="Ray Bias") + class MATERIAL_PT_diffuse(MaterialButtonsPanel): bl_label = "Diffuse" COMPAT_ENGINES = set(['BLENDER_RENDER', 'BLENDER_GAME']) @@ -319,6 +331,7 @@ class MATERIAL_PT_diffuse(MaterialButtonsPanel): row = layout.row() row.itemR(mat, "diffuse_ramp_factor", text="Factor") + class MATERIAL_PT_specular(MaterialButtonsPanel): bl_label = "Specular" COMPAT_ENGINES = set(['BLENDER_RENDER', 'BLENDER_GAME']) @@ -373,6 +386,7 @@ class MATERIAL_PT_specular(MaterialButtonsPanel): row = layout.row() row.itemR(mat, "specular_ramp_factor", text="Factor") + class MATERIAL_PT_sss(MaterialButtonsPanel): bl_label = "Subsurface Scattering" bl_default_closed = True @@ -418,6 +432,7 @@ class MATERIAL_PT_sss(MaterialButtonsPanel): col.itemS() col.itemR(sss, "error_tolerance", text="Error") + class MATERIAL_PT_mirror(MaterialButtonsPanel): bl_label = "Mirror" bl_default_closed = True @@ -473,8 +488,9 @@ class MATERIAL_PT_mirror(MaterialButtonsPanel): sub.itemR(raym, "gloss_samples", text="Samples") sub.itemR(raym, "gloss_anisotropic", text="Anisotropic") + class MATERIAL_PT_transp(MaterialButtonsPanel): - bl_label= "Transparency" + bl_label = "Transparency" bl_default_closed = True COMPAT_ENGINES = set(['BLENDER_RENDER']) @@ -533,8 +549,9 @@ class MATERIAL_PT_transp(MaterialButtonsPanel): sub.itemR(rayt, "gloss_threshold", text="Threshold") sub.itemR(rayt, "gloss_samples", text="Samples") + class MATERIAL_PT_halo(MaterialButtonsPanel): - bl_label= "Halo" + bl_label = "Halo" COMPAT_ENGINES = set(['BLENDER_RENDER']) def poll(self, context): @@ -580,8 +597,9 @@ class MATERIAL_PT_halo(MaterialButtonsPanel): sub.active = halo.star sub.itemR(halo, "star_tips") + class MATERIAL_PT_flare(MaterialButtonsPanel): - bl_label= "Flare" + bl_label = "Flare" COMPAT_ENGINES = set(['BLENDER_RENDER']) def poll(self, context): @@ -627,7 +645,7 @@ bpy.types.register(MATERIAL_PT_strand) bpy.types.register(MATERIAL_PT_options) bpy.types.register(MATERIAL_PT_shadow) -# Volumetrics + class VolumeButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -638,6 +656,7 @@ class VolumeButtonsPanel(bpy.types.Panel): engine = context.scene.render_data.engine return mat and (mat.type == 'VOLUME') and (engine in self.COMPAT_ENGINES) + class MATERIAL_PT_volume_density(VolumeButtonsPanel): bl_label = "Density" bl_default_closed = False @@ -653,6 +672,7 @@ class MATERIAL_PT_volume_density(VolumeButtonsPanel): row.itemR(vol, "density") row.itemR(vol, "density_scale") + class MATERIAL_PT_volume_shading(VolumeButtonsPanel): bl_label = "Shading" bl_default_closed = False @@ -678,6 +698,7 @@ class MATERIAL_PT_volume_shading(VolumeButtonsPanel): sub.itemR(vol, "reflection") sub.itemR(vol, "reflection_color", text="") + class MATERIAL_PT_volume_lighting(VolumeButtonsPanel): bl_label = "Lighting" bl_default_closed = False @@ -713,8 +734,9 @@ class MATERIAL_PT_volume_lighting(VolumeButtonsPanel): sub.itemR(vol, "ms_spread") sub.itemR(vol, "ms_intensity") + class MATERIAL_PT_volume_transp(VolumeButtonsPanel): - bl_label= "Transparency" + bl_label = "Transparency" COMPAT_ENGINES = set(['BLENDER_RENDER']) def draw(self, context): @@ -724,6 +746,7 @@ class MATERIAL_PT_volume_transp(VolumeButtonsPanel): layout.itemR(mat, "transparency_method", expand=True) + class MATERIAL_PT_volume_integration(VolumeButtonsPanel): bl_label = "Integration" bl_default_closed = False diff --git a/release/scripts/ui/properties_object.py b/release/scripts/ui/properties_object.py index e197586cf42..bd547bcc1aa 100644 --- a/release/scripts/ui/properties_object.py +++ b/release/scripts/ui/properties_object.py @@ -3,14 +3,16 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class ObjectButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' bl_context = "object" + class OBJECT_PT_context_object(ObjectButtonsPanel): bl_label = "" bl_show_header = False @@ -24,6 +26,7 @@ class OBJECT_PT_context_object(ObjectButtonsPanel): row.itemL(text="", icon='ICON_OBJECT_DATA') row.itemR(ob, "name", text="") + class OBJECT_PT_transform(ObjectButtonsPanel): bl_label = "Transform" @@ -49,6 +52,7 @@ class OBJECT_PT_transform(ObjectButtonsPanel): layout.itemR(ob, "rotation_mode") + class OBJECT_PT_transform_locks(ObjectButtonsPanel): bl_label = "Transform Locks" bl_default_closed = True @@ -74,6 +78,7 @@ class OBJECT_PT_transform_locks(ObjectButtonsPanel): row.column().itemR(ob, "lock_scale") + class OBJECT_PT_relations(ObjectButtonsPanel): bl_label = "Relations" @@ -102,6 +107,7 @@ class OBJECT_PT_relations(ObjectButtonsPanel): sub.item_pointerR(ob, "parent_bone", parent.data, "bones", text="") sub.active = parent != None + class OBJECT_PT_groups(ObjectButtonsPanel): bl_label = "Groups" @@ -128,6 +134,7 @@ class OBJECT_PT_groups(ObjectButtonsPanel): split.column().itemR(group, "layer", text="Dupli") split.column().itemR(group, "dupli_offset", text="") + class OBJECT_PT_display(ObjectButtonsPanel): bl_label = "Display" @@ -154,6 +161,7 @@ class OBJECT_PT_display(ObjectButtonsPanel): flow.itemR(ob, "x_ray", text="X-Ray") flow.itemR(ob, "draw_transparent", text="Transparency") + class OBJECT_PT_duplication(ObjectButtonsPanel): bl_label = "Duplication" @@ -188,6 +196,7 @@ class OBJECT_PT_duplication(ObjectButtonsPanel): elif ob.dupli_type == 'GROUP': layout.itemR(ob, "dupli_group", text="Group") + class OBJECT_PT_animation(ObjectButtonsPanel): bl_label = "Animation" diff --git a/release/scripts/ui/properties_object_constraint.py b/release/scripts/ui/properties_object_constraint.py index a8c7201c45f..29df85abf6a 100644 --- a/release/scripts/ui/properties_object_constraint.py +++ b/release/scripts/ui/properties_object_constraint.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class ConstraintButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -119,7 +120,7 @@ class ConstraintButtonsPanel(bpy.types.Panel): def IK(self, context, layout, con): if context.object.pose.ik_solver == "ITASC": layout.itemR(con, "ik_type") - getattr(self, "IK_"+con.ik_type)(context, layout, con) + getattr(self, "IK_" + con.ik_type)(context, layout, con) else: # Legacy IK constraint self.target_template(layout, con) @@ -440,7 +441,7 @@ class ConstraintButtonsPanel(bpy.types.Panel): def LIMIT_DISTANCE(self, context, layout, con): self.target_template(layout, con) - col = layout.column(align=True); + col = layout.column(align=True) col.itemR(con, "distance") col.itemO("constraint.limitdistance_reset") @@ -562,7 +563,7 @@ class ConstraintButtonsPanel(bpy.types.Panel): self.space_template(layout, con) - def SHRINKWRAP (self, context, layout, con): + def SHRINKWRAP(self, context, layout, con): self.target_template(layout, con) layout.itemR(con, "distance") @@ -581,6 +582,7 @@ class ConstraintButtonsPanel(bpy.types.Panel): row.itemL(text="To:") row.itemR(con, "track", expand=True) + class OBJECT_PT_constraints(ConstraintButtonsPanel): bl_label = "Constraints" bl_context = "constraint" @@ -594,11 +596,12 @@ class OBJECT_PT_constraints(ConstraintButtonsPanel): row = layout.row() row.item_menu_enumO("object.constraint_add", "type") - row.itemL(); + row.itemL() for con in ob.constraints: self.draw_constraint(context, con) + class BONE_PT_inverse_kinematics(ConstraintButtonsPanel): bl_label = "Inverse Kinematics" bl_default_closed = True @@ -681,6 +684,7 @@ class BONE_PT_inverse_kinematics(ConstraintButtonsPanel): #row.itemR(pchan, "ik_lin_control", text="Joint Size") #row.itemR(pchan, "ik_lin_weight", text="Weight", slider=True) + class BONE_PT_iksolver_itasc(ConstraintButtonsPanel): bl_label = "iTaSC parameters" bl_default_closed = True @@ -731,6 +735,7 @@ class BONE_PT_iksolver_itasc(ConstraintButtonsPanel): row.itemR(itasc, "dampmax", text="Damp", slider=True) row.itemR(itasc, "dampeps", text="Eps", slider=True) + class BONE_PT_constraints(ConstraintButtonsPanel): bl_label = "Constraints" bl_context = "bone_constraint" @@ -747,7 +752,7 @@ class BONE_PT_constraints(ConstraintButtonsPanel): row = layout.row() row.item_menu_enumO("pose.constraint_add", "type") - row.itemL(); + row.itemL() for con in pchan.constraints: self.draw_constraint(context, con) diff --git a/release/scripts/ui/properties_particle.py b/release/scripts/ui/properties_particle.py index 256c580f48d..4527cbf7c92 100644 --- a/release/scripts/ui/properties_particle.py +++ b/release/scripts/ui/properties_particle.py @@ -3,7 +3,7 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy from properties_physics_common import point_cache_ui @@ -11,15 +11,20 @@ from properties_physics_common import effector_weights_ui from properties_physics_common import basic_force_field_settings_ui from properties_physics_common import basic_force_field_falloff_ui + def particle_panel_enabled(context, psys): - return psys.point_cache.baked==False and psys.edited==False and (not context.particle_system_editable) + return psys.point_cache.baked == False and psys.edited == False and (not context.particle_system_editable) + def particle_panel_poll(context): psys = context.particle_system - if psys==None: return False - if psys.settings==None: return False + if psys == None: + return False + if psys.settings == None: + return False return psys.settings.type in ('EMITTER', 'REACTOR', 'HAIR') + class ParticleButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -28,6 +33,7 @@ class ParticleButtonsPanel(bpy.types.Panel): def poll(self, context): return particle_panel_poll(context) + class PARTICLE_PT_particles(ParticleButtonsPanel): bl_label = "" bl_show_header = False @@ -84,32 +90,33 @@ class PARTICLE_PT_particles(ParticleButtonsPanel): layout.itemL(text="No settings for fluid particles") return - row=col.row() + row = col.row() row.enabled = particle_panel_enabled(context, psys) row.itemR(part, "type", text="") row.itemR(psys, "seed") split = layout.split(percentage=0.65) - if part.type=='HAIR': - if psys.edited==True: + if part.type == 'HAIR': + if psys.edited == True: split.itemO("particle.edited_clear", text="Free Edit") else: split.itemL(text="") row = split.row() row.enabled = particle_panel_enabled(context, psys) row.itemR(part, "hair_step") - if psys.edited==True: + if psys.edited == True: if psys.global_hair: layout.itemO("particle.connect_hair") layout.itemL(text="Hair is disconnected.") else: layout.itemO("particle.disconnect_hair") layout.itemL(text="") - elif part.type=='REACTOR': + elif part.type == 'REACTOR': split.enabled = particle_panel_enabled(context, psys) split.itemR(psys, "reactor_target_object") split.itemR(psys, "reactor_target_particle_system", text="Particle System") + class PARTICLE_PT_emission(ParticleButtonsPanel): bl_label = "Emission" @@ -148,29 +155,32 @@ class PARTICLE_PT_emission(ParticleButtonsPanel): row.itemR(part, "emit_from", expand=True) row = layout.row() row.itemR(part, "trand") - if part.distribution!='GRID': + if part.distribution != 'GRID': row.itemR(part, "even_distribution") - if part.emit_from=='FACE' or part.emit_from=='VOLUME': + 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': + 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': + elif part.distribution == 'GRID': row.itemR(part, "grid_resolution") + class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel): bl_label = "Hair dynamics" bl_default_closed = True def poll(self, context): psys = context.particle_system - if psys==None: return False - if psys.settings==None: return False + if psys == None: + return False + if psys.settings == None: + return False return psys.settings.type == 'HAIR' def draw_header(self, context): @@ -208,7 +218,8 @@ class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel): sub.itemR(cloth, "air_damping", text="Air") col.itemL(text="Quality:") - col.itemR(cloth, "quality", text="Steps",slider=True) + col.itemR(cloth, "quality", text="Steps", slider=True) + class PARTICLE_PT_cache(ParticleButtonsPanel): bl_label = "Cache" @@ -216,8 +227,10 @@ class PARTICLE_PT_cache(ParticleButtonsPanel): def poll(self, context): psys = context.particle_system - if psys==None: return False - if psys.settings==None: return False + if psys == None: + return False + if psys.settings == None: + return False phystype = psys.settings.physics_type if phystype == 'NO' or phystype == 'KEYED': return False @@ -230,6 +243,7 @@ class PARTICLE_PT_cache(ParticleButtonsPanel): point_cache_ui(self, psys.point_cache, particle_panel_enabled(context, psys), not psys.hair_dynamics, 0) + class PARTICLE_PT_velocity(ParticleButtonsPanel): bl_label = "Velocity" @@ -264,7 +278,7 @@ class PARTICLE_PT_velocity(ParticleButtonsPanel): layout.row().itemL(text="Other:") split = layout.split() sub = split.column() - if part.emit_from=='PARTICLE': + if part.emit_from == 'PARTICLE': sub.itemR(part, "particle_factor") else: sub.itemR(part, "object_factor", slider=True) @@ -275,6 +289,7 @@ class PARTICLE_PT_velocity(ParticleButtonsPanel): # sub.itemR(part, "reactor_factor") # sub.itemR(part, "reaction_shape", slider=True) + class PARTICLE_PT_rotation(ParticleButtonsPanel): bl_label = "Rotation" @@ -314,6 +329,7 @@ class PARTICLE_PT_rotation(ParticleButtonsPanel): sub.itemR(part, "angular_velocity_factor", text="") + class PARTICLE_PT_physics(ParticleButtonsPanel): bl_label = "Physics" @@ -367,7 +383,7 @@ class PARTICLE_PT_physics(ParticleButtonsPanel): row.itemR(psys, "keyed_timing", text="Use Timing") layout.itemL(text="Keys:") - elif part.physics_type=='BOIDS': + elif part.physics_type == 'BOIDS': boids = part.boids @@ -415,8 +431,8 @@ class PARTICLE_PT_physics(ParticleButtonsPanel): col.itemR(boids, "banking", slider=True) col.itemR(boids, "height", slider=True) - if part.physics_type=='KEYED' or part.physics_type=='BOIDS': - if part.physics_type=='BOIDS': + if part.physics_type == 'KEYED' or part.physics_type == 'BOIDS': + if part.physics_type == 'BOIDS': layout.itemL(text="Relations:") row = layout.row() @@ -435,13 +451,13 @@ class PARTICLE_PT_physics(ParticleButtonsPanel): key = psys.active_particle_target if key: row = layout.row() - if part.physics_type=='KEYED': + if part.physics_type == 'KEYED': col = row.column() #doesn't work yet #col.red_alert = key.valid col.itemR(key, "object", text="") col.itemR(key, "system", text="System") - col = row.column(); + col = row.column() col.active = psys.keyed_timing col.itemR(key, "time") col.itemR(key, "duration") @@ -454,15 +470,19 @@ class PARTICLE_PT_physics(ParticleButtonsPanel): layout.itemR(key, "mode", expand=True) + class PARTICLE_PT_boidbrain(ParticleButtonsPanel): bl_label = "Boid Brain" def poll(self, context): psys = context.particle_system - if psys==None: return False - if psys.settings==None: return False - if psys.point_cache.external: return False - return psys.settings.physics_type=='BOIDS' + if psys == None: + return False + if psys.settings == None: + return False + if psys.point_cache.external: + return False + return psys.settings.physics_type == 'BOIDS' def draw(self, context): layout = self.layout @@ -488,7 +508,7 @@ class PARTICLE_PT_boidbrain(ParticleButtonsPanel): row = layout.row() row.itemR(state, "ruleset_type") - if state.ruleset_type=='FUZZY': + if state.ruleset_type == 'FUZZY': row.itemR(state, "rule_fuzziness", slider=True) else: row.itemL(text="") @@ -548,14 +568,17 @@ class PARTICLE_PT_boidbrain(ParticleButtonsPanel): row.itemR(rule, "distance") row.itemR(rule, "flee_distance") + class PARTICLE_PT_render(ParticleButtonsPanel): bl_label = "Render" def poll(self, context): psys = context.particle_system - if psys==None: return False - if psys.settings==None: return False - return True; + if psys == None: + return False + if psys.settings == None: + return False + return True def draw(self, context): layout = self.layout @@ -565,16 +588,16 @@ class PARTICLE_PT_render(ParticleButtonsPanel): row = layout.row() row.itemR(part, "material") - row.itemR(psys, "parent"); + row.itemR(psys, "parent") split = layout.split() sub = split.column() - sub.itemR(part, "emitter"); - sub.itemR(part, "parent"); + sub.itemR(part, "emitter") + sub.itemR(part, "parent") sub = split.column() - sub.itemR(part, "unborn"); - sub.itemR(part, "died"); + sub.itemR(part, "unborn") + sub.itemR(part, "died") row = layout.row() row.itemR(part, "ren_as", expand=True) @@ -590,7 +613,7 @@ class PARTICLE_PT_render(ParticleButtonsPanel): sub.itemR(part, "velocity_length") elif part.ren_as == 'PATH': - if (part.type!='HAIR' and part.physics_type!='KEYED' and psys.point_cache.baked==False): + if part.type != 'HAIR' and part.physics_type != 'KEYED' and psys.point_cache.baked == False: box = layout.box() box.itemL(text="Baked or keyed particles needed for correct rendering.") return @@ -611,16 +634,16 @@ class PARTICLE_PT_render(ParticleButtonsPanel): sub.itemL(text="Timing:") sub.itemR(part, "abs_path_time") - sub.itemR(part, "path_start", text="Start", slider= not part.abs_path_time) - sub.itemR(part, "path_end", text="End", slider= not part.abs_path_time) + sub.itemR(part, "path_start", text="Start", slider=not part.abs_path_time) + sub.itemR(part, "path_end", text="End", slider=not part.abs_path_time) sub.itemR(part, "random_length", text="Random", slider=True) row = layout.row() col = row.column() - if part.type=='HAIR' and part.render_strand==True and part.child_type=='FACES': + if part.type == 'HAIR' and part.render_strand == True and part.child_type == 'FACES': layout.itemR(part, "enable_simplify") - if part.enable_simplify==True: + if part.enable_simplify == True: row = layout.row() row.itemR(part, "simplify_refsize") row.itemR(part, "simplify_rate") @@ -628,7 +651,7 @@ class PARTICLE_PT_render(ParticleButtonsPanel): row = layout.row() row.itemR(part, "viewport") subrow = row.row() - subrow.active = part.viewport==True + subrow.active = part.viewport == True subrow.itemR(part, "simplify_viewport") elif part.ren_as == 'OBJECT': @@ -698,7 +721,8 @@ class PARTICLE_PT_render(ParticleButtonsPanel): row.itemR(part, "billboard_animation", expand=True) row.itemL(text="Offset:") row.itemR(part, "billboard_split_offset", expand=True) - if part.ren_as == 'HALO' or part.ren_as == 'LINE' or part.ren_as=='BILLBOARD': + + if part.ren_as == 'HALO' or part.ren_as == 'LINE' or part.ren_as == 'BILLBOARD': row = layout.row() col = row.column() col.itemR(part, "trail_count") @@ -711,15 +735,18 @@ class PARTICLE_PT_render(ParticleButtonsPanel): col = row.column() col.itemL(text="") + class PARTICLE_PT_draw(ParticleButtonsPanel): bl_label = "Display" bl_default_closed = True def poll(self, context): psys = context.particle_system - if psys==None: return False - if psys.settings==None: return False - return True; + if psys == None: + return False + if psys.settings == None: + return False + return True def draw(self, context): layout = self.layout @@ -730,19 +757,19 @@ class PARTICLE_PT_draw(ParticleButtonsPanel): row = layout.row() row.itemR(part, "draw_as", expand=True) - if part.draw_as=='NONE' or (part.ren_as=='NONE' and part.draw_as=='RENDER'): + if part.draw_as == 'NONE' or (part.ren_as == 'NONE' and part.draw_as == 'RENDER'): return - path = (part.ren_as=='PATH' and part.draw_as=='RENDER') or part.draw_as=='PATH' + path = (part.ren_as == 'PATH' and part.draw_as == 'RENDER') or part.draw_as == 'PATH' - if path and part.type!='HAIR' and part.physics_type!='KEYED' and psys.point_cache.baked==False: + if path and part.type != 'HAIR' and part.physics_type != 'KEYED' and psys.point_cache.baked == False: box = layout.box() box.itemL(text="Baked or keyed particles needed for correct drawing.") return row = layout.row() row.itemR(part, "display", slider=True) - if part.draw_as!='RENDER' or part.ren_as=='HALO': + if part.draw_as != 'RENDER' or part.ren_as == 'HALO': row.itemR(part, "draw_size") else: row.itemL(text="") @@ -762,10 +789,11 @@ class PARTICLE_PT_draw(ParticleButtonsPanel): col.itemR(part, "draw_step") else: subcol = col.column() - subcol.active = part.material_color==False + subcol.active = part.material_color == False #subcol.itemL(text="color") #subcol.itemL(text="Override material color") + class PARTICLE_PT_children(ParticleButtonsPanel): bl_label = "Children" bl_default_closed = True @@ -778,7 +806,7 @@ class PARTICLE_PT_children(ParticleButtonsPanel): layout.row().itemR(part, "child_type", expand=True) - if part.child_type=='NONE': + if part.child_type == 'NONE': return row = layout.row() @@ -789,7 +817,7 @@ class PARTICLE_PT_children(ParticleButtonsPanel): col = row.column(align=True) - if part.child_type=='FACES': + if part.child_type == 'FACES': col.itemR(part, "virtual_parents", slider=True) else: col.itemR(part, "child_radius", text="Radius") @@ -842,6 +870,7 @@ class PARTICLE_PT_children(ParticleButtonsPanel): sub = split.column() sub.itemR(part, "kink_shape", slider=True) + class PARTICLE_PT_field_weights(ParticleButtonsPanel): bl_label = "Field Weights" bl_default_closed = True @@ -853,6 +882,7 @@ class PARTICLE_PT_field_weights(ParticleButtonsPanel): if part.type == 'HAIR': self.layout.itemR(part.effector_weights, "do_growing_hair") + class PARTICLE_PT_force_fields(ParticleButtonsPanel): bl_label = "Force Field Settings" bl_default_closed = True @@ -866,7 +896,7 @@ class PARTICLE_PT_force_fields(ParticleButtonsPanel): split = layout.split(percentage=0.2) split.itemL(text="Type 1:") - split.itemR(part.force_field_1, "type",text="") + split.itemR(part.force_field_1, "type", text="") basic_force_field_settings_ui(self, part.force_field_1) basic_force_field_falloff_ui(self, part.force_field_1) @@ -875,10 +905,11 @@ class PARTICLE_PT_force_fields(ParticleButtonsPanel): split = layout.split(percentage=0.2) split.itemL(text="Type 2:") - split.itemR(part.force_field_2, "type",text="") + split.itemR(part.force_field_2, "type", text="") basic_force_field_settings_ui(self, part.force_field_2) basic_force_field_falloff_ui(self, part.force_field_2) + class PARTICLE_PT_vertexgroups(ParticleButtonsPanel): bl_label = "Vertexgroups" bl_default_closed = True diff --git a/release/scripts/ui/properties_physics_cloth.py b/release/scripts/ui/properties_physics_cloth.py index 4fcaed30ec0..104a9002df4 100644 --- a/release/scripts/ui/properties_physics_cloth.py +++ b/release/scripts/ui/properties_physics_cloth.py @@ -3,14 +3,16 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy from properties_physics_common import point_cache_ui from properties_physics_common import effector_weights_ui + def cloth_panel_enabled(md): - return md.point_cache.baked==False + return md.point_cache.baked == False + class PhysicButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' @@ -22,6 +24,7 @@ class PhysicButtonsPanel(bpy.types.Panel): rd = context.scene.render_data return (ob and ob.type == 'MESH') and (not rd.use_game_engine) + class PHYSICS_PT_cloth(PhysicButtonsPanel): bl_label = "Cloth" @@ -57,7 +60,7 @@ class PHYSICS_PT_cloth(PhysicButtonsPanel): col = split.column() col.itemL(text="Quality:") - col.itemR(cloth, "quality", text="Steps",slider=True) + col.itemR(cloth, "quality", text="Steps", slider=True) col.itemL(text="Material:") sub = col.column(align=True) @@ -92,6 +95,7 @@ class PHYSICS_PT_cloth(PhysicButtonsPanel): col.itemR(cloth, "goal_friction", text="Friction") """ + class PHYSICS_PT_cloth_cache(PhysicButtonsPanel): bl_label = "Cloth Cache" bl_default_closed = True @@ -103,6 +107,7 @@ class PHYSICS_PT_cloth_cache(PhysicButtonsPanel): md = context.cloth point_cache_ui(self, md.point_cache, cloth_panel_enabled(md), 0, 0) + class PHYSICS_PT_cloth_collision(PhysicButtonsPanel): bl_label = "Cloth Collision" bl_default_closed = True @@ -138,6 +143,7 @@ class PHYSICS_PT_cloth_collision(PhysicButtonsPanel): sub.itemR(cloth, "self_collision_quality", slider=True, text="Quality") sub.itemR(cloth, "self_min_distance", slider=True, text="Distance") + class PHYSICS_PT_cloth_stiffness(PhysicButtonsPanel): bl_label = "Cloth Stiffness Scaling" bl_default_closed = True @@ -174,6 +180,7 @@ class PHYSICS_PT_cloth_stiffness(PhysicButtonsPanel): sub.itemR(cloth, "bending_stiffness_max", text="Max") sub.item_pointerR(cloth, "bending_vertex_group", ob, "vertex_groups", text="") + class PHYSICS_PT_cloth_field_weights(PhysicButtonsPanel): bl_label = "Cloth Field Weights" bl_default_closed = True diff --git a/release/scripts/ui/properties_physics_common.py b/release/scripts/ui/properties_physics_common.py index 4839f061963..3d2643c75cc 100644 --- a/release/scripts/ui/properties_physics_common.py +++ b/release/scripts/ui/properties_physics_common.py @@ -3,14 +3,16 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. +# import bpy + def point_cache_ui(self, cache, enabled, particles, smoke): layout = self.layout layout.set_context_pointer("PointCache", cache) row = layout.row() - row.template_list(cache, "point_cache_list", cache, "active_point_cache_index", rows=2 ) + row.template_list(cache, "point_cache_list", cache, "active_point_cache_index", rows=2) col = row.column(align=True) col.itemO("ptcache.add_new", icon='ICON_ZOOMIN', text="") col.itemO("ptcache.remove", icon='ICON_ZOOMOUT', text="") @@ -53,7 +55,7 @@ def point_cache_ui(self, cache, enabled, particles, smoke): row.enabled = enabled row.itemO("ptcache.bake_from_cache", text="Current Cache to Bake") if not smoke: - row.itemR(cache, "step"); + row.itemR(cache, "step") if not smoke: row = layout.row() @@ -71,6 +73,7 @@ def point_cache_ui(self, cache, enabled, particles, smoke): row.itemO("ptcache.free_bake_all", text="Free All Bakes") layout.itemO("ptcache.bake_all", "bake", False, text="Update All Dynamics to current frame") + def effector_weights_ui(self, weights): layout = self.layout @@ -96,6 +99,7 @@ def effector_weights_ui(self, weights): flow.itemR(weights, "drag", slider=True) flow.itemR(weights, "boid", slider=True) + def basic_force_field_settings_ui(self, field): layout = self.layout split = layout.split() diff --git a/release/scripts/ui/properties_physics_field.py b/release/scripts/ui/properties_physics_field.py index c6a5d373d95..eeb1ebce9ad 100644 --- a/release/scripts/ui/properties_physics_field.py +++ b/release/scripts/ui/properties_physics_field.py @@ -3,12 +3,13 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy 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): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -18,6 +19,7 @@ class PhysicButtonsPanel(bpy.types.Panel): rd = context.scene.render_data return (context.object) and (not rd.use_game_engine) + class PHYSICS_PT_field(PhysicButtonsPanel): bl_label = "Force Fields" @@ -29,7 +31,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel): split = layout.split(percentage=0.2) split.itemL(text="Type:") - split.itemR(field, "type",text="") + split.itemR(field, "type", text="") if field.type not in ('NONE', 'GUIDE', 'TEXTURE'): split = layout.split(percentage=0.2) @@ -81,8 +83,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel): col.itemR(field, "use_coordinates") col.itemR(field, "root_coordinates") col.itemR(field, "force_2d") - - else : + else: basic_force_field_settings_ui(self, field) if field.type not in ('NONE', 'GUIDE'): @@ -134,6 +135,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel): sub.active = field.use_radial_max sub.itemR(field, "radial_maximum", text="Distance") + class PHYSICS_PT_collision(PhysicButtonsPanel): bl_label = "Collision" #bl_default_closed = True diff --git a/release/scripts/ui/properties_physics_fluid.py b/release/scripts/ui/properties_physics_fluid.py index f0801a15459..a2690ffa93c 100644 --- a/release/scripts/ui/properties_physics_fluid.py +++ b/release/scripts/ui/properties_physics_fluid.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class PhysicButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -16,6 +17,7 @@ class PhysicButtonsPanel(bpy.types.Panel): rd = context.scene.render_data return (ob and ob.type == 'MESH') and (not rd.use_game_engine) + class PHYSICS_PT_fluid(PhysicButtonsPanel): bl_label = "Fluid" @@ -173,6 +175,7 @@ class PHYSICS_PT_fluid(PhysicButtonsPanel): sub.itemR(fluid, "velocity_strength", text="Strength") sub.itemR(fluid, "velocity_radius", text="Radius") + class PHYSICS_PT_domain_gravity(PhysicButtonsPanel): bl_label = "Domain World" bl_default_closed = True @@ -211,6 +214,7 @@ class PHYSICS_PT_domain_gravity(PhysicButtonsPanel): sub.itemR(fluid, "grid_levels", slider=True) sub.itemR(fluid, "compressibility", slider=True) + class PHYSICS_PT_domain_boundary(PhysicButtonsPanel): bl_label = "Domain Boundary" bl_default_closed = True @@ -239,6 +243,7 @@ class PHYSICS_PT_domain_boundary(PhysicButtonsPanel): sub.itemR(fluid, "surface_smoothing", text="Smoothing") sub.itemR(fluid, "surface_subdivisions", text="Subdivisions") + class PHYSICS_PT_domain_particles(PhysicButtonsPanel): bl_label = "Domain Particles" bl_default_closed = True diff --git a/release/scripts/ui/properties_physics_smoke.py b/release/scripts/ui/properties_physics_smoke.py index cd5bbecc9d6..64c9561881d 100644 --- a/release/scripts/ui/properties_physics_smoke.py +++ b/release/scripts/ui/properties_physics_smoke.py @@ -3,12 +3,14 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + from properties_physics_common import point_cache_ui from properties_physics_common import effector_weights_ui + class PhysicButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -19,6 +21,7 @@ class PhysicButtonsPanel(bpy.types.Panel): rd = context.scene.render_data return (ob and ob.type == 'MESH') and (not rd.use_game_engine) + class PHYSICS_PT_smoke(PhysicButtonsPanel): bl_label = "Smoke" @@ -90,6 +93,7 @@ class PHYSICS_PT_smoke(PhysicButtonsPanel): #elif md.smoke_type == 'TYPE_COLL': # layout.itemS() + class PHYSICS_PT_smoke_groups(PhysicButtonsPanel): bl_label = "Smoke Groups" bl_default_closed = True @@ -116,6 +120,7 @@ class PHYSICS_PT_smoke_groups(PhysicButtonsPanel): col.itemL(text="Collision Group:") col.itemR(group, "coll_group", text="") + class PHYSICS_PT_smoke_cache(PhysicButtonsPanel): bl_label = "Smoke Cache" bl_default_closed = True @@ -130,7 +135,8 @@ class PHYSICS_PT_smoke_cache(PhysicButtonsPanel): md = context.smoke.domain_settings cache = md.point_cache_low - point_cache_ui(self, cache, cache.baked==False, 0, 1) + point_cache_ui(self, cache, cache.baked == False, 0, 1) + class PHYSICS_PT_smoke_highres(PhysicButtonsPanel): bl_label = "Smoke High Resolution" @@ -162,6 +168,7 @@ class PHYSICS_PT_smoke_highres(PhysicButtonsPanel): col.itemR(md, "strength") col.itemR(md, "viewhighres") + class PHYSICS_PT_smoke_cache_highres(PhysicButtonsPanel): bl_label = "Smoke High Resolution Cache" bl_default_closed = True @@ -176,7 +183,8 @@ class PHYSICS_PT_smoke_cache_highres(PhysicButtonsPanel): md = context.smoke.domain_settings cache = md.point_cache_high - point_cache_ui(self, cache, cache.baked==False, 0, 1) + point_cache_ui(self, cache, cache.baked == False, 0, 1) + class PHYSICS_PT_smoke_field_weights(PhysicButtonsPanel): bl_label = "Smoke Field Weights" diff --git a/release/scripts/ui/properties_physics_softbody.py b/release/scripts/ui/properties_physics_softbody.py index 32b0a6459b5..52ecc7b56b9 100644 --- a/release/scripts/ui/properties_physics_softbody.py +++ b/release/scripts/ui/properties_physics_softbody.py @@ -3,14 +3,17 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + from properties_physics_common import point_cache_ui from properties_physics_common import effector_weights_ui + def softbody_panel_enabled(md): - return md.point_cache.baked==False + return md.point_cache.baked == False + class PhysicButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' @@ -22,6 +25,7 @@ class PhysicButtonsPanel(bpy.types.Panel): rd = context.scene.render_data return (ob and ob.type == 'MESH') and (not rd.use_game_engine) + class PHYSICS_PT_softbody(PhysicButtonsPanel): bl_label = "Soft Body" @@ -63,6 +67,7 @@ class PHYSICS_PT_softbody(PhysicButtonsPanel): col.itemL(text="Simulation:") col.itemR(softbody, "speed") + class PHYSICS_PT_softbody_cache(PhysicButtonsPanel): bl_label = "Soft Body Cache" bl_default_closed = True @@ -74,6 +79,7 @@ class PHYSICS_PT_softbody_cache(PhysicButtonsPanel): md = context.soft_body point_cache_ui(self, md.point_cache, softbody_panel_enabled(md), 0, 0) + class PHYSICS_PT_softbody_goal(PhysicButtonsPanel): bl_label = "Soft Body Goal" bl_default_closed = True @@ -115,6 +121,7 @@ class PHYSICS_PT_softbody_goal(PhysicButtonsPanel): layout.item_pointerR(softbody, "goal_vertex_group", ob, "vertex_groups", text="Vertex Group") + class PHYSICS_PT_softbody_edge(PhysicButtonsPanel): bl_label = "Soft Body Edges" bl_default_closed = True @@ -163,6 +170,7 @@ class PHYSICS_PT_softbody_edge(PhysicButtonsPanel): col.itemR(softbody, "edge_collision", text="Edge") col.itemR(softbody, "face_collision", text="Face") + class PHYSICS_PT_softbody_collision(PhysicButtonsPanel): bl_label = "Soft Body Collision" bl_default_closed = True @@ -194,6 +202,7 @@ class PHYSICS_PT_softbody_collision(PhysicButtonsPanel): col.itemR(softbody, "ball_stiff", text="Stiffness") col.itemR(softbody, "ball_damp", text="Dampening") + class PHYSICS_PT_softbody_solver(PhysicButtonsPanel): bl_label = "Soft Body Solver" bl_default_closed = True @@ -228,6 +237,7 @@ class PHYSICS_PT_softbody_solver(PhysicButtonsPanel): layout.itemL(text="Diagnostics:") layout.itemR(softbody, "diagnose") + class PHYSICS_PT_softbody_field_weights(PhysicButtonsPanel): bl_label = "Soft Body Field Weights" bl_default_closed = True diff --git a/release/scripts/ui/properties_render.py b/release/scripts/ui/properties_render.py index 65410e7d64e..7fbf83dbc59 100644 --- a/release/scripts/ui/properties_render.py +++ b/release/scripts/ui/properties_render.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class RenderButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -14,7 +15,8 @@ class RenderButtonsPanel(bpy.types.Panel): def poll(self, context): rd = context.scene.render_data - return (context.scene and rd.use_game_engine==False) and (rd.engine in self.COMPAT_ENGINES) + return (context.scene and rd.use_game_engine == False) and (rd.engine in self.COMPAT_ENGINES) + class RENDER_PT_render(RenderButtonsPanel): bl_label = "Render" @@ -31,6 +33,7 @@ class RENDER_PT_render(RenderButtonsPanel): layout.itemR(rd, "display_mode", text="Display") + class RENDER_PT_layers(RenderButtonsPanel): bl_label = "Layers" bl_default_closed = True @@ -125,6 +128,7 @@ class RENDER_PT_layers(RenderButtonsPanel): row.itemR(rl, "pass_refraction") row.itemR(rl, "pass_refraction_exclude", text="", icon='ICON_X') + class RENDER_PT_shading(RenderButtonsPanel): bl_label = "Shading" COMPAT_ENGINES = set(['BLENDER_RENDER']) @@ -147,6 +151,7 @@ class RENDER_PT_shading(RenderButtonsPanel): col.itemR(rd, "color_management") col.itemR(rd, "alpha_mode", text="Alpha") + class RENDER_PT_performance(RenderButtonsPanel): bl_label = "Performance" bl_default_closed = True @@ -187,6 +192,7 @@ class RENDER_PT_performance(RenderButtonsPanel): sub.itemR(rd, "use_instances", text="Instances") sub.itemR(rd, "use_local_coords", text="Local Coordinates") + class RENDER_PT_post_processing(RenderButtonsPanel): bl_label = "Post Processing" bl_default_closed = True @@ -224,6 +230,7 @@ class RENDER_PT_post_processing(RenderButtonsPanel): sub.itemR(rd, "edge_threshold", text="Threshold", slider=True) sub.itemR(rd, "edge_color", text="") + class RENDER_PT_output(RenderButtonsPanel): bl_label = "Output" COMPAT_ENGINES = set(['BLENDER_RENDER']) @@ -288,6 +295,7 @@ class RENDER_PT_output(RenderButtonsPanel): split = layout.split() split.itemR(rd, "tiff_bit") + class RENDER_PT_encoding(RenderButtonsPanel): bl_label = "Encoding" bl_default_closed = True @@ -340,6 +348,7 @@ class RENDER_PT_encoding(RenderButtonsPanel): col.itemR(rd, "ffmpeg_multiplex_audio") col.itemR(rd, "ffmpeg_audio_volume") + class RENDER_PT_antialiasing(RenderButtonsPanel): bl_label = "Anti-Aliasing" COMPAT_ENGINES = set(['BLENDER_RENDER']) @@ -366,6 +375,7 @@ class RENDER_PT_antialiasing(RenderButtonsPanel): col.itemR(rd, "pixel_filter", text="") col.itemR(rd, "filter_size", text="Size", slider=True) + class RENDER_PT_dimensions(RenderButtonsPanel): bl_label = "Dimensions" COMPAT_ENGINES = set(['BLENDER_RENDER']) @@ -403,7 +413,8 @@ class RENDER_PT_dimensions(RenderButtonsPanel): col.itemL(text="Frame Rate:") col.itemR(rd, "fps") - col.itemR(rd, "fps_base",text="/") + col.itemR(rd, "fps_base", text="/") + class RENDER_PT_stamp(RenderButtonsPanel): bl_label = "Stamp" diff --git a/release/scripts/ui/properties_scene.py b/release/scripts/ui/properties_scene.py index e87807ddfab..005e0b449cd 100644 --- a/release/scripts/ui/properties_scene.py +++ b/release/scripts/ui/properties_scene.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class SceneButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -14,6 +15,7 @@ class SceneButtonsPanel(bpy.types.Panel): def poll(self, context): return context.scene + class SCENE_PT_scene(SceneButtonsPanel): bl_label = "Scene" COMPAT_ENGINES = set(['BLENDER_RENDER']) @@ -26,6 +28,7 @@ class SCENE_PT_scene(SceneButtonsPanel): layout.itemR(scene, "camera") layout.itemR(scene, "set", text="Background") + class SCENE_PT_unit(SceneButtonsPanel): bl_label = "Units" COMPAT_ENGINES = set(['BLENDER_RENDER']) @@ -43,6 +46,7 @@ class SCENE_PT_unit(SceneButtonsPanel): row.itemR(unit, "scale_length", text="Scale") row.itemR(unit, "use_separate") + class SCENE_PT_keying_sets(SceneButtonsPanel): bl_label = "Keying Sets" @@ -73,6 +77,7 @@ class SCENE_PT_keying_sets(SceneButtonsPanel): col.itemR(ks, "insertkey_needed", text="Needed") col.itemR(ks, "insertkey_visual", text="Visual") + class SCENE_PT_keying_set_paths(SceneButtonsPanel): bl_label = "Active Keying Set" @@ -119,6 +124,7 @@ class SCENE_PT_keying_set_paths(SceneButtonsPanel): if ksp.grouping == 'NAMED': col.itemR(ksp, "group") + class SCENE_PT_physics(SceneButtonsPanel): bl_label = "Gravity" COMPAT_ENGINES = set(['BLENDER_RENDER']) diff --git a/release/scripts/ui/properties_texture.py b/release/scripts/ui/properties_texture.py index d5f475bcdc8..cea10be9f59 100644 --- a/release/scripts/ui/properties_texture.py +++ b/release/scripts/ui/properties_texture.py @@ -3,8 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. +# import bpy + def active_node_mat(mat): if mat: mat_node = mat.active_node_material @@ -15,20 +17,25 @@ def active_node_mat(mat): return None + def context_tex_datablock(context): idblock = active_node_mat(context.material) - if idblock: return idblock + if idblock: + return idblock - idblock = context.lamp - if idblock: return idblock + idblock = context.lamp + if idblock: + return idblock - idblock = context.world - if idblock: return idblock + idblock = context.world + if idblock: + return idblock - idblock = context.brush + idblock = context.brush return idblock + class TextureButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -38,6 +45,7 @@ class TextureButtonsPanel(bpy.types.Panel): tex = context.texture return (tex and (tex.type != 'NONE' or tex.use_nodes)) + class TEXTURE_PT_preview(TextureButtonsPanel): bl_label = "Preview" @@ -54,6 +62,7 @@ class TEXTURE_PT_preview(TextureButtonsPanel): else: layout.template_preview(tex, slot=slot) + class TEXTURE_PT_context_texture(TextureButtonsPanel): bl_label = "" bl_show_header = False @@ -91,8 +100,8 @@ class TEXTURE_PT_context_texture(TextureButtonsPanel): context.sculpt_object or context.vertex_paint_object or context.weight_paint_object or - context.texture_paint_object - ): + context.texture_paint_object): + split.itemR(space, "brush_texture", text="Brush", toggle=True) if tex: @@ -111,6 +120,7 @@ class TEXTURE_PT_context_texture(TextureButtonsPanel): split.itemL(text="Type:") split.itemR(tex, "type", text="") + class TEXTURE_PT_colors(TextureButtonsPanel): bl_label = "Colors" bl_default_closed = True @@ -140,12 +150,13 @@ class TEXTURE_PT_colors(TextureButtonsPanel): # Texture Slot Panels # + class TextureSlotPanel(TextureButtonsPanel): + def poll(self, context): - return ( - context.texture_slot and - TextureButtonsPanel.poll(self, context) - ) + return (context.texture_slot and + TextureButtonsPanel.poll(self, context)) + class TEXTURE_PT_mapping(TextureSlotPanel): bl_label = "Mapping" @@ -177,8 +188,11 @@ class TEXTURE_PT_mapping(TextureSlotPanel): split = layout.split(percentage=0.3) split.itemL(text="Layer:") ob = context.object - if ob and ob.type == 'MESH': split.item_pointerR(tex, "uv_layer", ob.data, "uv_textures", text="") - else: split.itemR(tex, "uv_layer", text="") + if ob and ob.type == 'MESH': + split.item_pointerR(tex, "uv_layer", ob.data, "uv_textures", text="") + else: + split.itemR(tex, "uv_layer", text="") + elif tex.texture_coordinates == 'OBJECT': split = layout.split(percentage=0.3) split.itemL(text="Object:") @@ -224,10 +238,10 @@ class TEXTURE_PT_mapping(TextureSlotPanel): class TEXTURE_PT_influence(TextureSlotPanel): bl_label = "Influence" + def poll(self, context): return context.texture_slot - def draw(self, context): layout = self.layout @@ -326,11 +340,14 @@ class TEXTURE_PT_influence(TextureSlotPanel): # Texture Type Panels # + class TextureTypePanel(TextureButtonsPanel): + def poll(self, context): tex = context.texture return (tex and tex.type == self.tex_type and not tex.use_nodes) + class TEXTURE_PT_clouds(TextureTypePanel): bl_label = "Clouds" tex_type = 'CLOUDS' @@ -350,6 +367,7 @@ class TEXTURE_PT_clouds(TextureTypePanel): flow.itemR(tex, "noise_depth", text="Depth") flow.itemR(tex, "nabla", text="Nabla") + class TEXTURE_PT_wood(TextureTypePanel): bl_label = "Wood" tex_type = 'WOOD' @@ -374,6 +392,7 @@ class TEXTURE_PT_wood(TextureTypePanel): flow.itemR(tex, "turbulence") flow.itemR(tex, "nabla") + class TEXTURE_PT_marble(TextureTypePanel): bl_label = "Marble" tex_type = 'MARBLE' @@ -395,6 +414,7 @@ class TEXTURE_PT_marble(TextureTypePanel): flow.itemR(tex, "turbulence") flow.itemR(tex, "nabla") + class TEXTURE_PT_magic(TextureTypePanel): bl_label = "Magic" tex_type = 'MAGIC' @@ -408,6 +428,7 @@ class TEXTURE_PT_magic(TextureTypePanel): row.itemR(tex, "noise_depth", text="Depth") row.itemR(tex, "turbulence") + class TEXTURE_PT_blend(TextureTypePanel): bl_label = "Blend" tex_type = 'BLEND' @@ -423,6 +444,7 @@ class TEXTURE_PT_blend(TextureTypePanel): sub.active = (tex.progression in ('LINEAR', 'QUADRATIC', 'EASING', 'RADIAL')) sub.itemR(tex, "flip_axis", expand=True) + class TEXTURE_PT_stucci(TextureTypePanel): bl_label = "Stucci" tex_type = 'STUCCI' @@ -441,6 +463,7 @@ class TEXTURE_PT_stucci(TextureTypePanel): row.itemR(tex, "noise_size", text="Size") row.itemR(tex, "turbulence") + class TEXTURE_PT_image(TextureTypePanel): bl_label = "Image" tex_type = 'IMAGE' @@ -452,6 +475,7 @@ class TEXTURE_PT_image(TextureTypePanel): layout.template_image(tex, "image", tex.image_user) + class TEXTURE_PT_image_sampling(TextureTypePanel): bl_label = "Image Sampling" bl_default_closed = True @@ -495,6 +519,7 @@ class TEXTURE_PT_image_sampling(TextureTypePanel): else: col.itemR(tex, "filter_eccentricity", text="Eccentricity") + class TEXTURE_PT_image_mapping(TextureTypePanel): bl_label = "Image Mapping" bl_default_closed = True @@ -543,6 +568,7 @@ class TEXTURE_PT_image_mapping(TextureTypePanel): col.itemR(tex, "crop_max_x", text="X") col.itemR(tex, "crop_max_y", text="Y") + class TEXTURE_PT_plugin(TextureTypePanel): bl_label = "Plugin" tex_type = 'PLUGIN' @@ -554,6 +580,7 @@ class TEXTURE_PT_plugin(TextureTypePanel): layout.itemL(text="Nothing yet") + class TEXTURE_PT_envmap(TextureTypePanel): bl_label = "Environment Map" tex_type = 'ENVIRONMENT_MAP' @@ -565,6 +592,7 @@ class TEXTURE_PT_envmap(TextureTypePanel): layout.itemL(text="Nothing yet") + class TEXTURE_PT_musgrave(TextureTypePanel): bl_label = "Musgrave" tex_type = 'MUSGRAVE' @@ -598,6 +626,7 @@ class TEXTURE_PT_musgrave(TextureTypePanel): row.itemR(tex, "noise_size", text="Size") row.itemR(tex, "nabla") + class TEXTURE_PT_voronoi(TextureTypePanel): bl_label = "Voronoi" tex_type = 'VORONOI' @@ -632,6 +661,7 @@ class TEXTURE_PT_voronoi(TextureTypePanel): row.itemR(tex, "noise_size", text="Size") row.itemR(tex, "nabla") + class TEXTURE_PT_distortednoise(TextureTypePanel): bl_label = "Distorted Noise" tex_type = 'DISTORTED_NOISE' @@ -649,6 +679,7 @@ class TEXTURE_PT_distortednoise(TextureTypePanel): flow.itemR(tex, "noise_size", text="Size") flow.itemR(tex, "nabla") + class TEXTURE_PT_voxeldata(TextureButtonsPanel): bl_label = "Voxel Data" @@ -679,6 +710,7 @@ class TEXTURE_PT_voxeldata(TextureButtonsPanel): layout.itemR(vd, "extension") layout.itemR(vd, "intensity") + class TEXTURE_PT_pointdensity(TextureButtonsPanel): bl_label = "Point Density" @@ -731,6 +763,7 @@ class TEXTURE_PT_pointdensity(TextureButtonsPanel): if pd.falloff == 'SOFT': col.itemR(pd, "falloff_softness") + class TEXTURE_PT_pointdensity_turbulence(TextureButtonsPanel): bl_label = "Turbulence" @@ -791,4 +824,3 @@ bpy.types.register(TEXTURE_PT_pointdensity_turbulence) bpy.types.register(TEXTURE_PT_colors) bpy.types.register(TEXTURE_PT_mapping) bpy.types.register(TEXTURE_PT_influence) - diff --git a/release/scripts/ui/properties_world.py b/release/scripts/ui/properties_world.py index b36307d10b6..fe4d446b962 100644 --- a/release/scripts/ui/properties_world.py +++ b/release/scripts/ui/properties_world.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class WorldButtonsPanel(bpy.types.Panel): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -16,6 +17,7 @@ class WorldButtonsPanel(bpy.types.Panel): rd = context.scene.render_data return (context.world) and (not rd.use_game_engine) and (rd.engine in self.COMPAT_ENGINES) + class WORLD_PT_preview(WorldButtonsPanel): bl_label = "Preview" COMPAT_ENGINES = set(['BLENDER_RENDER']) @@ -23,6 +25,7 @@ class WORLD_PT_preview(WorldButtonsPanel): def draw(self, context): self.layout.template_preview(context.world) + class WORLD_PT_context_world(WorldButtonsPanel): bl_label = "" bl_show_header = False @@ -46,6 +49,7 @@ class WORLD_PT_context_world(WorldButtonsPanel): elif world: split.template_ID(space, "pin_id") + class WORLD_PT_world(WorldButtonsPanel): bl_label = "World" COMPAT_ENGINES = set(['BLENDER_RENDER']) @@ -67,6 +71,7 @@ class WORLD_PT_world(WorldButtonsPanel): col.active = world.blend_sky row.column().itemR(world, "ambient_color") + class WORLD_PT_mist(WorldButtonsPanel): bl_label = "Mist" COMPAT_ENGINES = set(['BLENDER_RENDER']) @@ -91,6 +96,7 @@ class WORLD_PT_mist(WorldButtonsPanel): layout.itemR(world.mist, "falloff") + class WORLD_PT_stars(WorldButtonsPanel): bl_label = "Stars" COMPAT_ENGINES = set(['BLENDER_RENDER']) @@ -113,6 +119,7 @@ class WORLD_PT_stars(WorldButtonsPanel): flow.itemR(world.stars, "min_distance", text="Min. Dist") flow.itemR(world.stars, "average_separation", text="Separation") + class WORLD_PT_ambient_occlusion(WorldButtonsPanel): bl_label = "Ambient Occlusion" COMPAT_ENGINES = set(['BLENDER_RENDER']) diff --git a/release/scripts/ui/space_buttons.py b/release/scripts/ui/space_buttons.py index a500862e93d..e77c4c58145 100644 --- a/release/scripts/ui/space_buttons.py +++ b/release/scripts/ui/space_buttons.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class Buttons_HT_header(bpy.types.Header): bl_space_type = 'PROPERTIES' @@ -15,7 +16,7 @@ class Buttons_HT_header(bpy.types.Header): so = context.space_data scene = context.scene - row= layout.row(align=True) + row = layout.row(align=True) row.template_header() if context.area.show_menus: @@ -26,6 +27,7 @@ class Buttons_HT_header(bpy.types.Header): row.itemR(so, "buttons_context", expand=True, text="") row.itemR(scene, "current_frame") + class Buttons_MT_view(bpy.types.Menu): bl_label = "View" diff --git a/release/scripts/ui/space_console.py b/release/scripts/ui/space_console.py index 6e2c06ad7c8..50cee7be380 100644 --- a/release/scripts/ui/space_console.py +++ b/release/scripts/ui/space_console.py @@ -3,6 +3,7 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. +# import sys import bpy diff --git a/release/scripts/ui/space_filebrowser.py b/release/scripts/ui/space_filebrowser.py index fddea323895..981534fafa8 100644 --- a/release/scripts/ui/space_filebrowser.py +++ b/release/scripts/ui/space_filebrowser.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class FILEBROWSER_HT_header(bpy.types.Header): bl_space_type = 'FILE_BROWSER' @@ -41,13 +42,13 @@ class FILEBROWSER_HT_header(bpy.types.Header): row = layout.row(align=True) row.active = params.do_filter - row.itemR(params, "filter_folder", text=""); - row.itemR(params, "filter_blender", text=""); - row.itemR(params, "filter_image", text=""); - row.itemR(params, "filter_movie", text=""); - row.itemR(params, "filter_script", text=""); - row.itemR(params, "filter_font", text=""); - row.itemR(params, "filter_sound", text=""); - row.itemR(params, "filter_text", text=""); + row.itemR(params, "filter_folder", text="") + row.itemR(params, "filter_blender", text="") + row.itemR(params, "filter_image", text="") + row.itemR(params, "filter_movie", text="") + row.itemR(params, "filter_script", text="") + row.itemR(params, "filter_font", text="") + row.itemR(params, "filter_sound", text="") + row.itemR(params, "filter_text", text="") bpy.types.register(FILEBROWSER_HT_header) diff --git a/release/scripts/ui/space_image.py b/release/scripts/ui/space_image.py index 3a12c35930a..4c1c31e2abb 100644 --- a/release/scripts/ui/space_image.py +++ b/release/scripts/ui/space_image.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class IMAGE_MT_view(bpy.types.Menu): bl_label = "View" @@ -33,11 +34,11 @@ class IMAGE_MT_view(bpy.types.Menu): layout.itemS() - ratios = [[1, 8], [1, 4], [1, 2], [1, 1], [2, 1], [4, 1], [8, 1]]; + ratios = [[1, 8], [1, 4], [1, 2], [1, 1], [2, 1], [4, 1], [8, 1]] for a, b in ratios: text = "Zoom %d:%d" % (a, b) - layout.item_floatO("image.view_zoom_ratio", "ratio", a/b, text=text) + layout.item_floatO("image.view_zoom_ratio", "ratio", a / b, text=text) layout.itemS() @@ -47,6 +48,7 @@ class IMAGE_MT_view(bpy.types.Menu): layout.itemO("image.view_all") layout.itemO("screen.screen_full_area") + class IMAGE_MT_select(bpy.types.Menu): bl_label = "Select" @@ -67,6 +69,7 @@ class IMAGE_MT_select(bpy.types.Menu): layout.itemO("uv.select_pinned") layout.itemO("uv.select_linked") + class IMAGE_MT_image(bpy.types.Menu): bl_label = "Image" @@ -110,6 +113,7 @@ class IMAGE_MT_image(bpy.types.Menu): layout.itemR(sima, "image_painting") + class IMAGE_MT_uvs_showhide(bpy.types.Menu): bl_label = "Show/Hide Faces" @@ -120,6 +124,7 @@ class IMAGE_MT_uvs_showhide(bpy.types.Menu): layout.itemO("uv.hide") layout.item_booleanO("uv.hide", "unselected", True) + class IMAGE_MT_uvs_transform(bpy.types.Menu): bl_label = "Transform" @@ -130,6 +135,7 @@ class IMAGE_MT_uvs_transform(bpy.types.Menu): layout.itemO("tfm.rotate") layout.itemO("tfm.resize") + class IMAGE_MT_uvs_mirror(bpy.types.Menu): bl_label = "Mirror" @@ -137,11 +143,12 @@ class IMAGE_MT_uvs_mirror(bpy.types.Menu): layout = self.layout layout.operator_context = "EXEC_REGION_WIN" - props= layout.itemO("tfm.mirror", text="X Axis", properties=True) - props.constraint_axis[0]= True + props = layout.itemO("tfm.mirror", text="X Axis", properties=True) + props.constraint_axis[0] = True + + props = layout.itemO("tfm.mirror", text="Y Axis", properties=True) + props.constraint_axis[1] = True - props= layout.itemO("tfm.mirror", text="Y Axis", properties=True) - props.constraint_axis[1]= True class IMAGE_MT_uvs_weldalign(bpy.types.Menu): bl_label = "Weld/Align" @@ -152,6 +159,7 @@ class IMAGE_MT_uvs_weldalign(bpy.types.Menu): layout.itemO("uv.weld") # W, 1 layout.items_enumO("uv.align", "axis") # W, 2/3/4 + class IMAGE_MT_uvs(bpy.types.Menu): bl_label = "UVs" @@ -194,6 +202,7 @@ class IMAGE_MT_uvs(bpy.types.Menu): layout.itemM("IMAGE_MT_uvs_showhide") + class IMAGE_HT_header(bpy.types.Header): bl_space_type = 'IMAGE_EDITOR' @@ -274,6 +283,7 @@ class IMAGE_HT_header(bpy.types.Header): if show_uvedit or sima.image_painting: layout.itemR(sima, "update_automatically", text="") + class IMAGE_PT_image_properties(bpy.types.Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'UI' @@ -292,6 +302,7 @@ class IMAGE_PT_image_properties(bpy.types.Panel): layout.template_image(sima, "image", iuser, compact=True) + class IMAGE_PT_game_properties(bpy.types.Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'UI' @@ -335,7 +346,6 @@ class IMAGE_PT_game_properties(bpy.types.Panel): col.itemR(ima, "mapping", expand=True) - class IMAGE_PT_view_properties(bpy.types.Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'UI' @@ -389,6 +399,7 @@ class IMAGE_PT_view_properties(bpy.types.Panel): #col.itemR(uvedit, "draw_edges") #col.itemR(uvedit, "draw_faces") + class IMAGE_PT_paint(bpy.types.Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'UI' @@ -434,6 +445,7 @@ class IMAGE_PT_paint(bpy.types.Panel): col.itemR(brush, "blend", text="Blend") + class IMAGE_PT_paint_stroke(bpy.types.Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'UI' @@ -462,6 +474,7 @@ class IMAGE_PT_paint_stroke(bpy.types.Panel): row.itemR(brush, "spacing", text="Distance", slider=True) row.itemR(brush, "use_spacing_pressure", toggle=True, text="") + class IMAGE_PT_paint_curve(bpy.types.Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'UI' @@ -497,4 +510,3 @@ bpy.types.register(IMAGE_PT_paint_stroke) bpy.types.register(IMAGE_PT_paint_curve) bpy.types.register(IMAGE_PT_game_properties) bpy.types.register(IMAGE_PT_view_properties) - diff --git a/release/scripts/ui/space_info.py b/release/scripts/ui/space_info.py index 435a6ad54b4..a104dda89c2 100644 --- a/release/scripts/ui/space_info.py +++ b/release/scripts/ui/space_info.py @@ -3,12 +3,13 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy import dynamic_menu # reload(dynamic_menu) + class INFO_HT_header(bpy.types.Header): bl_space_type = 'INFO' @@ -47,6 +48,7 @@ class INFO_HT_header(bpy.types.Header): layout.itemO("wm.window_fullscreen_toggle", icon='ICON_ARROW_LEFTRIGHT', text="") + class INFO_MT_file(bpy.types.Menu): bl_label = "File" @@ -100,6 +102,7 @@ class INFO_MT_file_more(INFO_MT_file): dynamic_menu.setup(INFO_MT_file_more) ''' + class INFO_MT_file_import(dynamic_menu.DynMenu): bl_idname = "INFO_MT_file_import" bl_label = "Import" @@ -107,6 +110,7 @@ class INFO_MT_file_import(dynamic_menu.DynMenu): def draw(self, context): self.layout.itemO("WM_OT_collada_import", text="COLLADA (.dae)...") + class INFO_MT_file_export(dynamic_menu.DynMenu): bl_idname = "INFO_MT_file_export" bl_label = "Export" @@ -114,6 +118,7 @@ class INFO_MT_file_export(dynamic_menu.DynMenu): def draw(self, context): self.layout.itemO("WM_OT_collada_export", text="COLLADA (.dae)...") + class INFO_MT_file_external_data(bpy.types.Menu): bl_label = "External Data" @@ -130,9 +135,11 @@ class INFO_MT_file_external_data(bpy.types.Menu): layout.itemO("file.report_missing_files") layout.itemO("file.find_missing_files") + class INFO_MT_mesh_add(dynamic_menu.DynMenu): bl_idname = "INFO_MT_mesh_add" bl_label = "Mesh" + def draw(self, context): layout = self.layout layout.operator_context = 'INVOKE_REGION_WIN' @@ -147,6 +154,7 @@ class INFO_MT_mesh_add(dynamic_menu.DynMenu): layout.itemO("mesh.primitive_grid_add", icon='ICON_MESH_GRID', text="Grid") layout.itemO("mesh.primitive_monkey_add", icon='ICON_MESH_MONKEY', text="Monkey") + class INFO_MT_add(bpy.types.Menu): bl_label = "Add" @@ -182,6 +190,7 @@ class INFO_MT_add(bpy.types.Menu): layout.item_menu_enumO("object.group_instance_add", "type", text="Group Instance", icon='ICON_OUTLINER_OB_EMPTY') + class INFO_MT_game(bpy.types.Menu): bl_label = "Game" @@ -199,6 +208,7 @@ class INFO_MT_game(bpy.types.Menu): layout.itemR(gs, "show_physics_visualization") layout.itemR(gs, "deprecation_warnings") + class INFO_MT_render(bpy.types.Menu): bl_label = "Render" @@ -219,6 +229,7 @@ class INFO_MT_render(bpy.types.Menu): layout.itemO("screen.render_view_show") + class INFO_MT_help(bpy.types.Menu): bl_label = "Help" @@ -252,57 +263,68 @@ bpy.types.register(INFO_MT_help) # Help operators + class HelpOperator(bpy.types.Operator): + def execute(self, context): import webbrowser webbrowser.open(self._url) return ('FINISHED',) + class HELP_OT_manual(HelpOperator): '''The Blender Wiki manual''' bl_idname = "help.manual" bl_label = "Manual" _url = 'http://wiki.blender.org/index.php/Manual' + class HELP_OT_release_logs(HelpOperator): '''Information about the changes in this version of Blender''' bl_idname = "help.release_logs" bl_label = "Release Logs" _url = 'http://www.blender.org/development/release-logs/' + class HELP_OT_blender_website(HelpOperator): '''The official Blender website''' bl_idname = "help.blender_website" bl_label = "Blender Website" _url = 'http://www.blender.org/' + class HELP_OT_blender_eshop(HelpOperator): '''Buy official Blender resources and merchandise online''' bl_idname = "help.blender_eshop" bl_label = "Blender e-Shop" _url = 'http://www.blender3d.org/e-shop' + class HELP_OT_developer_community(HelpOperator): '''Get involved with Blender development''' bl_idname = "help.developer_community" bl_label = "Developer Community" _url = 'http://www.blender.org/community/get-involved/' + class HELP_OT_user_community(HelpOperator): '''Get involved with other Blender users''' bl_idname = "help.user_community" bl_label = "User Community" _url = 'http://www.blender.org/community/user-community/' + class HELP_OT_report_bug(HelpOperator): '''Report a bug in the Blender bug tracker''' bl_idname = "help.report_bug" bl_label = "Report a Bug" _url = 'http://projects.blender.org/tracker/?atid=498&group_id=9&func=browse' + class HELP_OT_operator_cheat_sheet(bpy.types.Operator): bl_idname = "help.operator_cheat_sheet" bl_label = "Operator Cheat Sheet (new textblock)" + def execute(self, context): op_strings = [] tot = 0 diff --git a/release/scripts/ui/space_logic.py b/release/scripts/ui/space_logic.py index 9e9f9bd3394..9dccaacae2c 100644 --- a/release/scripts/ui/space_logic.py +++ b/release/scripts/ui/space_logic.py @@ -3,8 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. +# import bpy + class LOGIC_PT_properties(bpy.types.Panel): bl_space_type = 'LOGIC_EDITOR' bl_region_type = 'UI' diff --git a/release/scripts/ui/space_node.py b/release/scripts/ui/space_node.py index e6bac031c56..15b07063d23 100644 --- a/release/scripts/ui/space_node.py +++ b/release/scripts/ui/space_node.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class NODE_HT_header(bpy.types.Header): bl_space_type = 'NODE_EDITOR' @@ -52,6 +53,7 @@ class NODE_HT_header(bpy.types.Header): layout.itemR(id.render_data, "free_unused_nodes", text="Free Unused") layout.itemR(snode, "backdrop") + class NODE_MT_view(bpy.types.Menu): bl_label = "View" @@ -69,6 +71,7 @@ class NODE_MT_view(bpy.types.Menu): layout.itemO("node.view_all") layout.itemO("screen.screen_full_area") + class NODE_MT_select(bpy.types.Menu): bl_label = "Select" @@ -82,6 +85,7 @@ class NODE_MT_select(bpy.types.Menu): layout.itemO("node.select_linked_from") layout.itemO("node.select_linked_to") + class NODE_MT_node(bpy.types.Menu): bl_label = "Node" diff --git a/release/scripts/ui/space_outliner.py b/release/scripts/ui/space_outliner.py index e2aeb92f19d..582db6eb76b 100644 --- a/release/scripts/ui/space_outliner.py +++ b/release/scripts/ui/space_outliner.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class OUTLINER_HT_header(bpy.types.Header): bl_space_type = 'OUTLINER' @@ -45,6 +46,7 @@ class OUTLINER_HT_header(bpy.types.Header): row = layout.row(align=False) row.itemL(text="No Keying Set active") + class OUTLINER_MT_view(bpy.types.Menu): bl_label = "View" @@ -62,6 +64,7 @@ class OUTLINER_MT_view(bpy.types.Menu): col.itemO("outliner.show_one_level") col.itemO("outliner.show_hierarchy") + class OUTLINER_MT_edit_datablocks(bpy.types.Menu): bl_label = "Edit" diff --git a/release/scripts/ui/space_sequencer.py b/release/scripts/ui/space_sequencer.py index 10a3f1da3cb..237c624510e 100644 --- a/release/scripts/ui/space_sequencer.py +++ b/release/scripts/ui/space_sequencer.py @@ -3,14 +3,17 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy -def act_strip(context): - try: return context.scene.sequence_editor.active_strip - except: return None -# Header +def act_strip(context): + try: + return context.scene.sequence_editor.active_strip + except: + return None + + class SEQUENCER_HT_header(bpy.types.Header): bl_space_type = 'SEQUENCE_EDITOR' @@ -42,6 +45,7 @@ class SEQUENCER_HT_header(bpy.types.Header): else: layout.itemR(st, "display_channel", text="Channel") + class SEQUENCER_MT_view(bpy.types.Menu): bl_label = "View" @@ -109,6 +113,7 @@ class SEQUENCER_MT_view(bpy.types.Menu): """ + class SEQUENCER_MT_select(bpy.types.Menu): bl_label = "Select" @@ -129,6 +134,7 @@ class SEQUENCER_MT_select(bpy.types.Menu): layout.itemO("sequencer.select_all_toggle") layout.itemO("sequencer.select_inverse") + class SEQUENCER_MT_marker(bpy.types.Menu): bl_label = "Marker (TODO)" @@ -147,6 +153,7 @@ class SEQUENCER_MT_marker(bpy.types.Menu): #layout.itemO("sequencer.sound_strip_add", text="Transform Markers") # toggle, will be rna - (sseq->flag & SEQ_MARKER_TRANS) + class SEQUENCER_MT_add(bpy.types.Menu): bl_label = "Add" @@ -164,6 +171,7 @@ class SEQUENCER_MT_add(bpy.types.Menu): layout.itemM("SEQUENCER_MT_add_effect") + class SEQUENCER_MT_add_effect(bpy.types.Menu): bl_label = "Effect Strip..." @@ -187,6 +195,7 @@ class SEQUENCER_MT_add_effect(bpy.types.Menu): layout.item_enumO("sequencer.effect_strip_add", 'type', 'COLOR') layout.item_enumO("sequencer.effect_strip_add", 'type', 'SPEED') + class SEQUENCER_MT_strip(bpy.types.Menu): bl_label = "Strip" @@ -216,17 +225,17 @@ class SEQUENCER_MT_strip(bpy.types.Menu): if strip: stype = strip.type - if stype=='EFFECT': + if stype == 'EFFECT': layout.itemS() layout.itemO("sequencer.effect_change") layout.itemO("sequencer.effect_reassign_inputs") - elif stype=='IMAGE': + elif stype == 'IMAGE': layout.itemS() layout.itemO("sequencer.image_change") - elif stype=='SCENE': + elif stype == 'SCENE': layout.itemS() layout.itemO("sequencer.scene_change", text="Change Scene") - elif stype=='MOVIE': + elif stype == 'MOVIE': layout.itemS() layout.itemO("sequencer.movie_change") @@ -255,7 +264,7 @@ class SEQUENCER_MT_strip(bpy.types.Menu): layout.itemO("sequencer.swap_right") layout.itemO("sequencer.swap_left") -# Panels + class SequencerButtonsPanel(bpy.types.Panel): bl_space_type = 'SEQUENCE_EDITOR' bl_region_type = 'UI' @@ -263,6 +272,7 @@ class SequencerButtonsPanel(bpy.types.Panel): def poll(self, context): return context.space_data.display_mode == 'SEQUENCER' and act_strip(context) != None + class SequencerButtonsPanel_Output(bpy.types.Panel): bl_space_type = 'SEQUENCE_EDITOR' bl_region_type = 'UI' @@ -270,6 +280,7 @@ class SequencerButtonsPanel_Output(bpy.types.Panel): def poll(self, context): return context.space_data.display_mode != 'SEQUENCER' + class SEQUENCER_PT_edit(SequencerButtonsPanel): bl_label = "Edit Strip" @@ -321,6 +332,7 @@ class SEQUENCER_PT_edit(SequencerButtonsPanel): col.itemR(strip, "start_still", text="Start") col.itemR(strip, "end_still", text="End") + class SEQUENCER_PT_effect(SequencerButtonsPanel): bl_label = "Effect Strip" @@ -408,6 +420,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel): col.itemR(strip, "rotation_start", text="Start") col.itemR(strip, "rotation_end", text="End") + class SEQUENCER_PT_input(SequencerButtonsPanel): bl_label = "Strip Input" @@ -463,6 +476,7 @@ class SEQUENCER_PT_input(SequencerButtonsPanel): col.itemR(strip, "animation_start_offset", text="Start") col.itemR(strip, "animation_end_offset", text="End") + class SEQUENCER_PT_sound(SequencerButtonsPanel): bl_label = "Sound" @@ -494,6 +508,7 @@ class SEQUENCER_PT_sound(SequencerButtonsPanel): row.itemR(strip.sound, "caching") + class SEQUENCER_PT_filter(SequencerButtonsPanel): bl_label = "Filter" @@ -543,6 +558,7 @@ class SEQUENCER_PT_filter(SequencerButtonsPanel): col.itemR(strip.color_balance, "gain") col.itemR(strip.color_balance, "inverse_gain", text="Inverse") + class SEQUENCER_PT_proxy(SequencerButtonsPanel): bl_label = "Proxy" @@ -572,6 +588,7 @@ class SEQUENCER_PT_proxy(SequencerButtonsPanel): flow.itemR(strip.proxy, "directory") flow.itemR(strip.proxy, "file") + class SEQUENCER_PT_view(SequencerButtonsPanel_Output): bl_label = "View Settings" diff --git a/release/scripts/ui/space_text.py b/release/scripts/ui/space_text.py index e2d5e69cb8c..99303a0d702 100644 --- a/release/scripts/ui/space_text.py +++ b/release/scripts/ui/space_text.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class TEXT_HT_header(bpy.types.Header): bl_space_type = 'TEXT_EDITOR' @@ -43,7 +44,7 @@ class TEXT_HT_header(bpy.types.Header): if text.dirty: row.itemL(text="File: *%s (unsaved)" % text.filename) else: - row.itemL(text="File: %s" % text.filename ) + row.itemL(text="File: %s" % text.filename) else: if text.library: row.itemL(text="Text: External") @@ -53,6 +54,7 @@ class TEXT_HT_header(bpy.types.Header): row = layout.row() row.itemO("text.run_script") + class TEXT_PT_properties(bpy.types.Panel): bl_space_type = 'TEXT_EDITOR' bl_region_type = 'UI' @@ -73,6 +75,7 @@ class TEXT_PT_properties(bpy.types.Panel): flow.itemR(st, "font_size") flow.itemR(st, "tab_width") + class TEXT_PT_find(bpy.types.Panel): bl_space_type = 'TEXT_EDITOR' bl_region_type = 'UI' @@ -105,6 +108,7 @@ class TEXT_PT_find(bpy.types.Panel): row.itemR(st, "find_wrap", text="Wrap") row.itemR(st, "find_all", text="All") + class TEXT_MT_text(bpy.types.Menu): bl_label = "Text" @@ -151,7 +155,6 @@ class TEXT_MT_text(bpy.types.Menu): layout.itemM("TEXT_MT_templates") - class TEXT_MT_templates(bpy.types.Menu): ''' Creates the menu items by scanning scripts/templates @@ -178,7 +181,6 @@ class TEXT_MT_templates(bpy.types.Menu): layout.item_stringO("text.open", "path", path, text=path_to_name(f)) - class TEXT_MT_edit_view(bpy.types.Menu): bl_label = "View" @@ -188,6 +190,7 @@ class TEXT_MT_edit_view(bpy.types.Menu): layout.item_enumO("text.move", "type", 'FILE_TOP', text="Top of File") layout.item_enumO("text.move", "type", 'FILE_BOTTOM', text="Bottom of File") + class TEXT_MT_edit_select(bpy.types.Menu): bl_label = "Select" @@ -197,6 +200,7 @@ class TEXT_MT_edit_select(bpy.types.Menu): layout.itemO("text.select_all") layout.itemO("text.select_line") + class TEXT_MT_edit_markers(bpy.types.Menu): bl_label = "Markers" @@ -207,6 +211,7 @@ class TEXT_MT_edit_markers(bpy.types.Menu): layout.itemO("text.next_marker") layout.itemO("text.previous_marker") + class TEXT_MT_format(bpy.types.Menu): bl_label = "Format" @@ -225,14 +230,16 @@ class TEXT_MT_format(bpy.types.Menu): layout.item_menu_enumO("text.convert_whitespace", "type") + class TEXT_MT_edit_to3d(bpy.types.Menu): bl_label = "Text To 3D Object" def draw(self, context): layout = self.layout - layout.item_booleanO("text.to_3d_object", "split_lines", False, text="One Object"); - layout.item_booleanO("text.to_3d_object", "split_lines", True, text="One Object Per Line"); + layout.item_booleanO("text.to_3d_object", "split_lines", False, text="One Object") + layout.item_booleanO("text.to_3d_object", "split_lines", True, text="One Object Per Line") + class TEXT_MT_edit(bpy.types.Menu): bl_label = "Edit" diff --git a/release/scripts/ui/space_time.py b/release/scripts/ui/space_time.py index 7408868f10a..a448fc969c5 100644 --- a/release/scripts/ui/space_time.py +++ b/release/scripts/ui/space_time.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class TIME_HT_header(bpy.types.Header): bl_space_type = 'TIMELINE' @@ -68,6 +69,7 @@ class TIME_HT_header(bpy.types.Header): row.itemO("anim.insert_keyframe", text="", icon='ICON_KEY_HLT') row.itemO("anim.delete_keyframe", text="", icon='ICON_KEY_DEHLT') + class TIME_MT_view(bpy.types.Menu): bl_label = "View" @@ -82,6 +84,7 @@ class TIME_MT_view(bpy.types.Menu): layout.itemR(st, "only_selected") + class TIME_MT_frame(bpy.types.Menu): bl_label = "Frame" @@ -106,6 +109,7 @@ class TIME_MT_frame(bpy.types.Menu): #sub.active = tools.enable_auto_key sub.itemM("TIME_MT_autokey") + class TIME_MT_playback(bpy.types.Menu): bl_label = "Playback" @@ -133,6 +137,7 @@ class TIME_MT_playback(bpy.types.Menu): layout.itemR(scene, "mute_audio") layout.itemR(scene, "scrub_audio") + class TIME_MT_autokey(bpy.types.Menu): bl_label = "Auto-Keyframing Mode" diff --git a/release/scripts/ui/space_userpref.py b/release/scripts/ui/space_userpref.py index 4588fb42088..2378055c3d7 100644 --- a/release/scripts/ui/space_userpref.py +++ b/release/scripts/ui/space_userpref.py @@ -3,9 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class USERPREF_HT_header(bpy.types.Header): bl_space_type = 'USER_PREFERENCES' @@ -22,12 +23,14 @@ class USERPREF_HT_header(bpy.types.Header): layout.operator_context = "INVOKE_DEFAULT" layout.itemO("wm.keyconfig_export", "Export Key Configuration...") + class USERPREF_MT_view(bpy.types.Menu): bl_label = "View" def draw(self, context): layout = self.layout + class USERPREF_PT_tabs(bpy.types.Panel): bl_label = "" bl_space_type = 'USER_PREFERENCES' @@ -41,6 +44,7 @@ class USERPREF_PT_tabs(bpy.types.Panel): layout.itemR(userpref, "active_section", expand=True) + class USERPREF_PT_interface(bpy.types.Panel): bl_space_type = 'USER_PREFERENCES' bl_label = "Interface" @@ -126,6 +130,7 @@ class USERPREF_PT_interface(bpy.types.Panel): sub1.itemR(view, "open_toplevel_delay", text="Top Level") sub1.itemR(view, "open_sublevel_delay", text="Sub Level") + class USERPREF_PT_edit(bpy.types.Panel): bl_space_type = 'USER_PREFERENCES' bl_label = "Edit" @@ -230,6 +235,7 @@ class USERPREF_PT_edit(bpy.types.Panel): sub1.itemR(edit, "duplicate_action", text="Action") sub1.itemR(edit, "duplicate_particle", text="Particle") + class USERPREF_PT_system(bpy.types.Panel): bl_space_type = 'USER_PREFERENCES' bl_label = "System" @@ -322,6 +328,7 @@ class USERPREF_PT_system(bpy.types.Panel): sub1.itemR(system, "prefetch_frames") sub1.itemR(system, "memory_cache_limit") + class USERPREF_PT_file(bpy.types.Panel): bl_space_type = 'USER_PREFERENCES' bl_label = "Files" @@ -389,6 +396,7 @@ class USERPREF_PT_file(bpy.types.Panel): sub3.enabled = paths.auto_save_temporary_files sub3.itemR(paths, "auto_save_time", text="Timer (mins)") + class USERPREF_PT_input(bpy.types.Panel): bl_space_type = 'USER_PREFERENCES' bl_label = "Input" @@ -616,7 +624,7 @@ class WM_OT_keyconfig_export(bpy.types.Operator): f.write('# Configuration %s\n' % kc.name) - f.write("wm = bpy.data.windowmanagers[0]\n"); + f.write("wm = bpy.data.windowmanagers[0]\n") f.write("kc = wm.add_keyconfig(\'%s\')\n\n" % kc.name) for km in kc.keymaps: @@ -657,6 +665,7 @@ class WM_OT_keyconfig_export(bpy.types.Operator): wm.add_fileselect(self.__operator__) return ('RUNNING_MODAL',) + class WM_OT_keymap_edit(bpy.types.Operator): "Edit key map." bl_idname = "wm.keymap_edit" @@ -668,6 +677,7 @@ class WM_OT_keymap_edit(bpy.types.Operator): km.copy_to_user() return ('FINISHED',) + class WM_OT_keymap_restore(bpy.types.Operator): "Restore key map" bl_idname = "wm.keymap_restore" @@ -687,6 +697,7 @@ class WM_OT_keymap_restore(bpy.types.Operator): return ('FINISHED',) + class WM_OT_keyitem_add(bpy.types.Operator): "Add key map item." bl_idname = "wm.keyitem_add" @@ -698,6 +709,7 @@ class WM_OT_keyitem_add(bpy.types.Operator): kmi = km.add_item("", "A", "PRESS") return ('FINISHED',) + class WM_OT_keyitem_remove(bpy.types.Operator): "Remove key map item." bl_idname = "wm.keyitem_remove" @@ -715,4 +727,3 @@ bpy.ops.add(WM_OT_keymap_edit) bpy.ops.add(WM_OT_keymap_restore) bpy.ops.add(WM_OT_keyitem_add) bpy.ops.add(WM_OT_keyitem_remove) - diff --git a/release/scripts/ui/space_view3d.py b/release/scripts/ui/space_view3d.py index f5c7c6c9e24..5de33fc89c7 100644 --- a/release/scripts/ui/space_view3d.py +++ b/release/scripts/ui/space_view3d.py @@ -3,12 +3,10 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy - import dynamic_menu -# ********** Header ********** class VIEW3D_HT_header(bpy.types.Header): bl_space_type = 'VIEW_3D' @@ -50,6 +48,7 @@ class VIEW3D_HT_header(bpy.types.Header): # ********** Utilities ********** + class VIEW3D_MT_showhide(bpy.types.Menu): bl_label = "Show/Hide" _operator_name = "" @@ -61,6 +60,7 @@ class VIEW3D_MT_showhide(bpy.types.Menu): layout.itemO("%s.hide" % self._operator_name, text="Hide Selected") layout.item_booleanO("%s.hide" % self._operator_name, "unselected", True, text="Hide Unselected") + class VIEW3D_MT_snap(bpy.types.Menu): bl_label = "Snap" @@ -79,6 +79,7 @@ class VIEW3D_MT_snap(bpy.types.Menu): # ********** View menus ********** + class VIEW3D_MT_view(bpy.types.Menu): bl_label = "View" @@ -131,6 +132,8 @@ class VIEW3D_MT_view(bpy.types.Menu): layout.itemS() layout.itemO("screen.animation_play", text="Playback Animation", icon='ICON_PLAY') + + class VIEW3D_MT_view_navigation(bpy.types.Menu): bl_label = "Navigation" @@ -152,6 +155,7 @@ class VIEW3D_MT_view_navigation(bpy.types.Menu): layout.itemO("view3d.fly") + class VIEW3D_MT_view_align(bpy.types.Menu): bl_label = "Align View" @@ -162,6 +166,7 @@ class VIEW3D_MT_view_align(bpy.types.Menu): layout.itemO("view3d.camera_to_view", text="Align Active Camera to View") layout.itemO("view3d.view_center") + class VIEW3D_MT_view_cameras(bpy.types.Menu): bl_label = "Cameras" @@ -173,6 +178,7 @@ class VIEW3D_MT_view_cameras(bpy.types.Menu): # ********** Select menus, suffix from context.mode ********** + class VIEW3D_MT_select_object(bpy.types.Menu): bl_label = "Select" @@ -192,6 +198,7 @@ class VIEW3D_MT_select_object(bpy.types.Menu): layout.item_menu_enumO("object.select_grouped", "type", text="Select Grouped...") layout.itemO("object.select_pattern", text="Select Pattern...") + class VIEW3D_MT_select_pose(bpy.types.Menu): bl_label = "Select" @@ -222,6 +229,7 @@ class VIEW3D_MT_select_pose(bpy.types.Menu): props.extend = True props.direction = 'CHILD' + class VIEW3D_MT_select_particle(bpy.types.Menu): bl_label = "Select" @@ -240,6 +248,7 @@ class VIEW3D_MT_select_particle(bpy.types.Menu): layout.itemO("particle.select_more") layout.itemO("particle.select_less") + class VIEW3D_MT_select_edit_mesh(bpy.types.Menu): bl_label = "Select" @@ -285,6 +294,7 @@ class VIEW3D_MT_select_edit_mesh(bpy.types.Menu): layout.itemO("mesh.loop_to_region") layout.itemO("mesh.region_to_loop") + class VIEW3D_MT_select_edit_curve(bpy.types.Menu): bl_label = "Select" @@ -313,6 +323,7 @@ class VIEW3D_MT_select_edit_curve(bpy.types.Menu): layout.itemO("curve.select_more") layout.itemO("curve.select_less") + class VIEW3D_MT_select_edit_surface(bpy.types.Menu): bl_label = "Select" @@ -338,6 +349,7 @@ class VIEW3D_MT_select_edit_surface(bpy.types.Menu): layout.itemO("curve.select_more") layout.itemO("curve.select_less") + class VIEW3D_MT_select_edit_metaball(bpy.types.Menu): bl_label = "Select" @@ -355,6 +367,7 @@ class VIEW3D_MT_select_edit_metaball(bpy.types.Menu): layout.itemO("mball.select_random_metaelems") + class VIEW3D_MT_select_edit_lattice(bpy.types.Menu): bl_label = "Select" @@ -367,6 +380,7 @@ class VIEW3D_MT_select_edit_lattice(bpy.types.Menu): layout.itemO("lattice.select_all_toggle", text="Select/Deselect All") + class VIEW3D_MT_select_edit_armature(bpy.types.Menu): bl_label = "Select" @@ -395,6 +409,7 @@ class VIEW3D_MT_select_edit_armature(bpy.types.Menu): props.extend = True props.direction = 'CHILD' + class VIEW3D_MT_select_face(bpy.types.Menu):# XXX no matching enum bl_label = "Select" @@ -405,6 +420,7 @@ class VIEW3D_MT_select_face(bpy.types.Menu):# XXX no matching enum # ********** Object menu ********** + class VIEW3D_MT_object(bpy.types.Menu): bl_context = "objectmode" bl_label = "Object" @@ -448,6 +464,7 @@ class VIEW3D_MT_object(bpy.types.Menu): layout.item_menu_enumO("object.convert", "target") + class VIEW3D_MT_object_clear(bpy.types.Menu): bl_label = "Clear" @@ -459,6 +476,7 @@ class VIEW3D_MT_object_clear(bpy.types.Menu): layout.itemO("object.scale_clear", text="Scale") layout.itemO("object.origin_clear", text="Origin") + class VIEW3D_MT_object_apply(bpy.types.Menu): bl_label = "Apply" @@ -482,6 +500,7 @@ class VIEW3D_MT_object_parent(bpy.types.Menu): layout.itemO("object.parent_set", text="Set") layout.itemO("object.parent_clear", text="Clear") + class VIEW3D_MT_object_track(bpy.types.Menu): bl_label = "Track" @@ -491,6 +510,7 @@ class VIEW3D_MT_object_track(bpy.types.Menu): layout.itemO("object.track_set", text="Set") layout.itemO("object.track_clear", text="Clear") + class VIEW3D_MT_object_group(bpy.types.Menu): bl_label = "Group" @@ -505,6 +525,7 @@ class VIEW3D_MT_object_group(bpy.types.Menu): layout.itemO("group.objects_add_active") layout.itemO("group.objects_remove_active") + class VIEW3D_MT_object_constraints(bpy.types.Menu): bl_label = "Constraints" @@ -514,6 +535,7 @@ class VIEW3D_MT_object_constraints(bpy.types.Menu): layout.itemO("object.constraint_add_with_targets") layout.itemO("object.constraints_clear") + class VIEW3D_MT_object_showhide(bpy.types.Menu): bl_label = "Show/Hide" @@ -524,6 +546,7 @@ class VIEW3D_MT_object_showhide(bpy.types.Menu): layout.itemO("object.restrictview_set", text="Hide Selected") layout.item_booleanO("object.restrictview_set", "unselected", True, text="Hide Unselected") + class VIEW3D_MT_make_single_user(bpy.types.Menu): bl_label = "Make Single User" @@ -547,6 +570,7 @@ class VIEW3D_MT_make_single_user(bpy.types.Menu): # ********** Vertex paint menu ********** + class VIEW3D_MT_paint_vertex(bpy.types.Menu): bl_label = "Paint" @@ -561,6 +585,7 @@ class VIEW3D_MT_paint_vertex(bpy.types.Menu): # ********** Sculpt menu ********** + class VIEW3D_MT_sculpt(bpy.types.Menu): bl_label = "Sculpt" @@ -596,6 +621,7 @@ class VIEW3D_MT_sculpt(bpy.types.Menu): # ********** Particle menu ********** + class VIEW3D_MT_particle(bpy.types.Menu): bl_label = "Particle" @@ -620,11 +646,13 @@ class VIEW3D_MT_particle(bpy.types.Menu): layout.itemM("VIEW3D_MT_particle_showhide") + class VIEW3D_MT_particle_showhide(VIEW3D_MT_showhide): _operator_name = "particle" # ********** Pose Menu ********** + class VIEW3D_MT_pose(bpy.types.Menu): bl_label = "Pose" @@ -684,6 +712,7 @@ class VIEW3D_MT_pose(bpy.types.Menu): layout.itemM("VIEW3D_MT_pose_showhide") layout.item_menu_enumO("pose.flags_set", 'mode', text="Bone Settings") + class VIEW3D_MT_pose_transform(bpy.types.Menu): bl_label = "Clear Transform" @@ -698,6 +727,7 @@ class VIEW3D_MT_pose_transform(bpy.types.Menu): layout.itemL(text="Origin") + class VIEW3D_MT_pose_pose(bpy.types.Menu): bl_label = "Pose Library" @@ -712,6 +742,7 @@ class VIEW3D_MT_pose_pose(bpy.types.Menu): layout.itemO("poselib.pose_rename", text="Rename Pose...") layout.itemO("poselib.pose_remove", text="Remove Pose...") + class VIEW3D_MT_pose_motion(bpy.types.Menu): bl_label = "Motion Paths" @@ -721,6 +752,7 @@ class VIEW3D_MT_pose_motion(bpy.types.Menu): layout.itemO("pose.paths_calculate", text="Calculate") layout.itemO("pose.paths_clear", text="Clear") + class VIEW3D_MT_pose_group(bpy.types.Menu): bl_label = "Bone Groups" @@ -744,6 +776,7 @@ class VIEW3D_MT_pose_ik(bpy.types.Menu): layout.itemO("pose.ik_add") layout.itemO("pose.ik_clear") + class VIEW3D_MT_pose_constraints(bpy.types.Menu): bl_label = "Constraints" @@ -753,12 +786,13 @@ class VIEW3D_MT_pose_constraints(bpy.types.Menu): layout.itemO("pose.constraint_add_with_targets", text="Add (With Targets)...") layout.itemO("pose.constraints_clear") + class VIEW3D_MT_pose_showhide(VIEW3D_MT_showhide): _operator_name = "pose" # ********** Edit Menus, suffix from ob.type ********** -# Edit MESH + class VIEW3D_MT_edit_mesh(bpy.types.Menu): bl_label = "Mesh" @@ -801,7 +835,7 @@ class VIEW3D_MT_edit_mesh(bpy.types.Menu): layout.itemM("VIEW3D_MT_edit_mesh_showhide") -# Only used by the menu + class VIEW3D_MT_edit_mesh_specials(bpy.types.Menu): bl_label = "Specials" @@ -826,6 +860,7 @@ class VIEW3D_MT_edit_mesh_specials(bpy.types.Menu): layout.itemO("mesh.shape_propagate_to_all") layout.itemO("mesh.select_vertex_path") + class VIEW3D_MT_edit_mesh_vertices(bpy.types.Menu): bl_label = "Vertices" @@ -850,6 +885,7 @@ class VIEW3D_MT_edit_mesh_vertices(bpy.types.Menu): layout.itemO("object.vertex_group_blend") layout.itemO("mesh.shape_propagate_to_all") + class VIEW3D_MT_edit_mesh_edges(bpy.types.Menu): bl_label = "Edges" @@ -943,12 +979,14 @@ class VIEW3D_MT_edit_mesh_normals(bpy.types.Menu): layout.itemO("mesh.flip_normals") + class VIEW3D_MT_edit_mesh_showhide(VIEW3D_MT_showhide): _operator_name = "mesh" # Edit Curve - # draw_curve is used by VIEW3D_MT_edit_curve and VIEW3D_MT_edit_surface + + def draw_curve(self, context): layout = self.layout @@ -979,11 +1017,13 @@ def draw_curve(self, context): layout.itemM("VIEW3D_MT_edit_curve_showhide") + class VIEW3D_MT_edit_curve(bpy.types.Menu): bl_label = "Curve" draw = draw_curve + class VIEW3D_MT_edit_curve_ctrlpoints(bpy.types.Menu): bl_label = "Control Points" @@ -1001,6 +1041,7 @@ class VIEW3D_MT_edit_curve_ctrlpoints(bpy.types.Menu): layout.item_menu_enumO("curve.handle_type_set", "type") + class VIEW3D_MT_edit_curve_segments(bpy.types.Menu): bl_label = "Segments" @@ -1010,16 +1051,17 @@ class VIEW3D_MT_edit_curve_segments(bpy.types.Menu): layout.itemO("curve.subdivide") layout.itemO("curve.switch_direction") + class VIEW3D_MT_edit_curve_showhide(VIEW3D_MT_showhide): _operator_name = "curve" -# Edit SURFACE + class VIEW3D_MT_edit_surface(bpy.types.Menu): bl_label = "Surface" draw = draw_curve -# Edit TEXT + class VIEW3D_MT_edit_text(bpy.types.Menu): bl_label = "Text" @@ -1032,6 +1074,7 @@ class VIEW3D_MT_edit_text(bpy.types.Menu): layout.itemm("view3d_mt_edit_text_chars") + class VIEW3D_MT_edit_text_chars(bpy.types.Menu): bl_label = "Special Characters" @@ -1065,7 +1108,7 @@ class VIEW3D_MT_edit_text_chars(bpy.types.Menu): layout.item_stringO("font.text_insert", "text", b'\xC2\xBF'.decode(), text="Spanish Question Mark|Alt ?") layout.item_stringO("font.text_insert", "text", b'\xC2\xA1'.decode(), text="Spanish Exclamation Mark|Alt !") -# Edit META + class VIEW3D_MT_edit_meta(bpy.types.Menu): bl_label = "Metaball" @@ -1095,6 +1138,7 @@ class VIEW3D_MT_edit_meta(bpy.types.Menu): layout.itemM("VIEW3D_MT_edit_meta_showhide") + class VIEW3D_MT_edit_meta_showhide(bpy.types.Menu): bl_label = "Show/Hide" @@ -1105,7 +1149,7 @@ class VIEW3D_MT_edit_meta_showhide(bpy.types.Menu): layout.itemO("mball.hide_metaelems", text="Hide Selected") layout.item_booleanO("mball.hide_metaelems", "unselected", True, text="Hide Unselected") -# Edit LATTICE + class VIEW3D_MT_edit_lattice(bpy.types.Menu): bl_label = "Lattice" @@ -1125,7 +1169,7 @@ class VIEW3D_MT_edit_lattice(bpy.types.Menu): layout.itemR(settings, "proportional_editing") layout.item_menu_enumR(settings, "proportional_editing_falloff") -# Edit ARMATURE + class VIEW3D_MT_edit_armature(bpy.types.Menu): bl_label = "Armature" @@ -1183,6 +1227,7 @@ class VIEW3D_MT_edit_armature(bpy.types.Menu): layout.item_menu_enumO("armature.flags_set", "mode", text="Bone Settings") + class VIEW3D_MT_edit_armature_parent(bpy.types.Menu): bl_label = "Parent" @@ -1192,6 +1237,7 @@ class VIEW3D_MT_edit_armature_parent(bpy.types.Menu): layout.itemO("armature.parent_set", text="Make") layout.itemO("armature.parent_clear", text="Clear") + class VIEW3D_MT_edit_armature_roll(bpy.types.Menu): bl_label = "Bone Roll" @@ -1207,6 +1253,7 @@ class VIEW3D_MT_edit_armature_roll(bpy.types.Menu): # ********** Panel ********** + class VIEW3D_PT_3dview_properties(bpy.types.Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' @@ -1240,6 +1287,7 @@ class VIEW3D_PT_3dview_properties(bpy.types.Panel): layout.column().itemR(scene, "cursor_location", text="3D Cursor:") + class VIEW3D_PT_3dview_display(bpy.types.Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' @@ -1265,7 +1313,7 @@ class VIEW3D_PT_3dview_display(bpy.types.Panel): col.itemR(view, "outline_selected") col.itemR(view, "all_object_centers") col.itemR(view, "relationship_lines") - if ob and ob.type =='MESH': + if ob and ob.type == 'MESH': mesh = context.active_object.data col.itemR(mesh, "all_edges") @@ -1283,6 +1331,7 @@ class VIEW3D_PT_3dview_display(bpy.types.Panel): # col.itemR(view, "box_preview") # col.itemR(view, "box_clip") + class VIEW3D_PT_3dview_meshdisplay(bpy.types.Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' @@ -1318,6 +1367,7 @@ class VIEW3D_PT_3dview_meshdisplay(bpy.types.Panel): col.itemR(mesh, "draw_edge_angle") col.itemR(mesh, "draw_face_area") + class VIEW3D_PT_3dview_curvedisplay(bpy.types.Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' @@ -1338,6 +1388,7 @@ class VIEW3D_PT_3dview_curvedisplay(bpy.types.Panel): col.itemR(curve, "draw_normals", text="Normals") col.itemR(context.scene.tool_settings, "normal_size", text="Normal Size") + class VIEW3D_PT_background_image(bpy.types.Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' @@ -1376,6 +1427,7 @@ class VIEW3D_PT_background_image(bpy.types.Panel): col.itemR(bg, "offset_x", text="X") col.itemR(bg, "offset_y", text="Y") + class VIEW3D_PT_transform_orientations(bpy.types.Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' @@ -1402,6 +1454,7 @@ class VIEW3D_PT_transform_orientations(bpy.types.Panel): col.itemR(orientation, "name") col.itemO("tfm.delete_orientation", text="Delete") + class VIEW3D_PT_etch_a_ton(bpy.types.Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' @@ -1455,16 +1508,18 @@ class OBJECT_OT_select_pattern(bpy.types.Operator): bl_register = True bl_undo = True - pattern = StringProperty(name="Pattern", description="Name filter using '*' and '?' wildcard chars", maxlen= 32, default= "*") - case_sensitive = BoolProperty(name="Case Sensitive", description="Do a case sensitive compare", default= False) - extend = BoolProperty(name="Extend", description="Extend the existing selection", default= True) - + pattern = StringProperty(name="Pattern", description="Name filter using '*' and '?' wildcard chars", maxlen=32, default="*") + case_sensitive = BoolProperty(name="Case Sensitive", description="Do a case sensitive compare", default=False) + extend = BoolProperty(name="Extend", description="Extend the existing selection", default=True) def execute(self, context): import fnmatch - if self.case_sensitive: pattern_match = fnmatch.fnmatchcase - else: pattern_match = lambda a, b: fnmatch.fnmatchcase(a.upper(), b.upper()) + + if self.case_sensitive: + pattern_match = fnmatch.fnmatchcase + else: + pattern_match = lambda a, b: fnmatch.fnmatchcase(a.upper(), b.upper()) for ob in context.visible_objects: if pattern_match(ob.name, self.pattern): @@ -1565,4 +1620,3 @@ bpy.types.register(VIEW3D_PT_transform_orientations) bpy.types.register(VIEW3D_PT_etch_a_ton) bpy.ops.add(OBJECT_OT_select_pattern) - diff --git a/release/scripts/ui/space_view3d_toolbar.py b/release/scripts/ui/space_view3d_toolbar.py index 11e5abc061c..202d97064c9 100644 --- a/release/scripts/ui/space_view3d_toolbar.py +++ b/release/scripts/ui/space_view3d_toolbar.py @@ -3,15 +3,18 @@ # http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise # using this module constitutes acceptance of the terms of this License. - +# import bpy + class View3DPanel(bpy.types.Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'TOOLS' + # ********** default tools for objectmode **************** + class VIEW3D_PT_tools_objectmode(View3DPanel): bl_context = "objectmode" bl_label = "Object Tools" @@ -30,7 +33,7 @@ class VIEW3D_PT_tools_objectmode(View3DPanel): col.itemO("object.duplicate_move") col.itemO("object.delete") - active_object= context.active_object + active_object = context.active_object if active_object and active_object.type == 'MESH': col = layout.column(align=True) @@ -57,6 +60,7 @@ class VIEW3D_PT_tools_objectmode(View3DPanel): # ********** default tools for editmode_mesh **************** + class VIEW3D_PT_tools_meshedit(View3DPanel): bl_context = "mesh_edit" bl_label = "Mesh Tools" @@ -108,6 +112,7 @@ class VIEW3D_PT_tools_meshedit(View3DPanel): col.itemO("screen.repeat_history", text="History...") col.itemO("screen.redo_last", text="Tweak...") + class VIEW3D_PT_tools_meshedit_options(View3DPanel): bl_context = "mesh_edit" bl_label = "Mesh Options" @@ -122,6 +127,7 @@ class VIEW3D_PT_tools_meshedit_options(View3DPanel): # ********** default tools for editmode_curve **************** + class VIEW3D_PT_tools_curveedit(View3DPanel): bl_context = "curve_edit" bl_label = "Curve Tools" @@ -169,6 +175,7 @@ class VIEW3D_PT_tools_curveedit(View3DPanel): # ********** default tools for editmode_surface **************** + class VIEW3D_PT_tools_surfaceedit(View3DPanel): bl_context = "surface_edit" bl_label = "Surface Tools" @@ -208,6 +215,7 @@ class VIEW3D_PT_tools_surfaceedit(View3DPanel): # ********** default tools for editmode_text **************** + class VIEW3D_PT_tools_textedit(View3DPanel): bl_context = "text_edit" bl_label = "Text Tools" @@ -234,6 +242,7 @@ class VIEW3D_PT_tools_textedit(View3DPanel): # ********** default tools for editmode_armature **************** + class VIEW3D_PT_tools_armatureedit(View3DPanel): bl_context = "armature_edit" bl_label = "Armature Tools" @@ -269,6 +278,7 @@ class VIEW3D_PT_tools_armatureedit(View3DPanel): col.itemO("screen.repeat_history", text="History...") col.itemO("screen.redo_last", text="Tweak...") + class VIEW3D_PT_tools_armatureedit_options(View3DPanel): bl_context = "armature_edit" bl_label = "Armature Options" @@ -283,6 +293,7 @@ class VIEW3D_PT_tools_armatureedit_options(View3DPanel): # ********** default tools for editmode_mball **************** + class VIEW3D_PT_tools_mballedit(View3DPanel): bl_context = "mball_edit" bl_label = "Meta Tools" @@ -310,6 +321,7 @@ class VIEW3D_PT_tools_mballedit(View3DPanel): # ********** default tools for editmode_lattice **************** + class VIEW3D_PT_tools_latticeedit(View3DPanel): bl_context = "lattice_edit" bl_label = "Lattice Tools" @@ -337,6 +349,7 @@ class VIEW3D_PT_tools_latticeedit(View3DPanel): # ********** default tools for posemode **************** + class VIEW3D_PT_tools_posemode(View3DPanel): bl_context = "posemode" bl_label = "Pose Tools" @@ -385,6 +398,7 @@ class VIEW3D_PT_tools_posemode(View3DPanel): col.itemO("screen.repeat_history", text="History...") col.itemO("screen.redo_last", text="Tweak...") + class VIEW3D_PT_tools_posemode_options(View3DPanel): bl_context = "posemode" bl_label = "Pose Options" @@ -400,6 +414,7 @@ class VIEW3D_PT_tools_posemode_options(View3DPanel): # ********** default tools for paint modes **************** + class PaintPanel(bpy.types.Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'TOOLS' @@ -420,6 +435,7 @@ class PaintPanel(bpy.types.Panel): return False + class VIEW3D_PT_tools_brush(PaintPanel): bl_label = "Brush" @@ -559,6 +575,7 @@ class VIEW3D_PT_tools_brush(PaintPanel): row.itemR(brush, "use_jitter_pressure", toggle=True, text="") ''' + class VIEW3D_PT_tools_brush_stroke(PaintPanel): bl_label = "Stroke" bl_default_closed = True @@ -601,6 +618,7 @@ class VIEW3D_PT_tools_brush_stroke(PaintPanel): if texture_paint: row.itemR(brush, "use_spacing_pressure", toggle=True, text="") + class VIEW3D_PT_tools_brush_curve(PaintPanel): bl_label = "Curve" bl_default_closed = True @@ -618,6 +636,7 @@ class VIEW3D_PT_tools_brush_curve(PaintPanel): layout.template_curve_mapping(brush, "curve") layout.item_menu_enumO("brush.curve_preset", property="shape") + class VIEW3D_PT_sculpt_options(PaintPanel): bl_label = "Options" @@ -649,6 +668,7 @@ class VIEW3D_PT_sculpt_options(PaintPanel): # ********** default tools for weightpaint **************** + class VIEW3D_PT_tools_weightpaint(View3DPanel): bl_context = "weightpaint" bl_label = "Weight Tools" @@ -665,6 +685,7 @@ class VIEW3D_PT_tools_weightpaint(View3DPanel): col.itemO("object.vertex_group_invert", text="Invert") col.itemO("object.vertex_group_clean", text="Clean") + class VIEW3D_PT_tools_weightpaint_options(View3DPanel): bl_context = "weightpaint" bl_label = "Options" @@ -698,6 +719,7 @@ class VIEW3D_PT_tools_weightpaint_options(View3DPanel): # ********** default tools for vertexpaint **************** + class VIEW3D_PT_tools_vertexpaint(View3DPanel): bl_context = "vertexpaint" bl_label = "Options" @@ -720,9 +742,9 @@ class VIEW3D_PT_tools_vertexpaint(View3DPanel): # col.itemL(text="Multiply:") # col.itemR(vpaint, "mul", text="") - # ********** default tools for texturepaint **************** + class VIEW3D_PT_tools_projectpaint(View3DPanel): bl_context = "texturepaint" bl_label = "Project Paint" @@ -740,7 +762,7 @@ class VIEW3D_PT_tools_projectpaint(View3DPanel): ipaint = context.tool_settings.image_paint settings = context.tool_settings.image_paint - use_projection= ipaint.use_projection + use_projection = ipaint.use_projection col = layout.column() sub = col.column() @@ -776,9 +798,9 @@ class VIEW3D_PT_tools_projectpaint(View3DPanel): sub = col.column() sub.itemR(ipaint, "seam_bleed") -# ********** default tools for particle mode **************** class VIEW3D_PT_tools_particlemode(View3DPanel): + '''default tools for particle mode''' bl_context = "particlemode" bl_label = "Options" @@ -798,7 +820,7 @@ class VIEW3D_PT_tools_particlemode(View3DPanel): ptcache = ob.particle_systems[ob.active_particle_system_index].point_cache else: for md in ob.modifiers: - if md.type==pe.type: + if md.type == pe.type: ptcache = md.point_cache if ptcache and len(ptcache.point_cache_list) > 1: @@ -837,6 +859,7 @@ class VIEW3D_PT_tools_particlemode(View3DPanel): sub.active = pe.fade_time sub.itemR(pe, "fade_frames", slider=True) + bpy.types.register(VIEW3D_PT_tools_weightpaint) bpy.types.register(VIEW3D_PT_tools_objectmode) bpy.types.register(VIEW3D_PT_tools_meshedit)