diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2010-03-26 00:40:08 +0300 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2010-03-26 00:40:08 +0300 |
commit | 048f357f416d8044a3acfb16f7cd27db194cd3e8 (patch) | |
tree | 65c5da02a9e39518550d89e72a4b5c69fa9089e8 /release | |
parent | 29adfa7d649df33a3d756b02058b4c1b09740058 (diff) | |
parent | aa3428e6abbf3ef453757b4909ad10bb52b9a418 (diff) |
Merged changes in the trunk up to revision 27752.
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/keyingsets/keyingsets_builtins.py | 33 | ||||
-rw-r--r-- | release/scripts/keyingsets/keyingsets_utils.py | 23 | ||||
-rw-r--r-- | release/scripts/ui/properties_data_modifier.py | 22 | ||||
-rw-r--r-- | release/scripts/ui/properties_material.py | 56 | ||||
-rw-r--r-- | release/scripts/ui/properties_physics_common.py | 4 | ||||
-rw-r--r-- | release/scripts/ui/properties_physics_fluid.py | 39 | ||||
-rw-r--r-- | release/scripts/ui/properties_scene.py | 1 | ||||
-rw-r--r-- | release/scripts/ui/space_dopesheet.py | 12 | ||||
-rw-r--r-- | release/scripts/ui/space_graph.py | 11 | ||||
-rw-r--r-- | release/scripts/ui/space_image.py | 19 | ||||
-rw-r--r-- | release/scripts/ui/space_info.py | 6 | ||||
-rw-r--r-- | release/scripts/ui/space_nla.py | 2 | ||||
-rw-r--r-- | release/scripts/ui/space_time.py | 2 | ||||
-rw-r--r-- | release/scripts/ui/space_view3d.py | 8 | ||||
-rw-r--r-- | release/scripts/ui/space_view3d_toolbar.py | 32 |
15 files changed, 170 insertions, 100 deletions
diff --git a/release/scripts/keyingsets/keyingsets_builtins.py b/release/scripts/keyingsets/keyingsets_builtins.py index c5417ba3d66..bf5c66ad01d 100644 --- a/release/scripts/keyingsets/keyingsets_builtins.py +++ b/release/scripts/keyingsets/keyingsets_builtins.py @@ -11,8 +11,7 @@ from keyingsets_utils import * # Location class BUILTIN_KSI_Location(bpy.types.KeyingSetInfo): - bl_idname = "Location" - bl_builtin = True + bl_label = "Location" # poll - use predefined callback for selected bones/objects poll = RKS_POLL_selected_items @@ -25,8 +24,7 @@ class BUILTIN_KSI_Location(bpy.types.KeyingSetInfo): # Rotation class BUILTIN_KSI_Rotation(bpy.types.KeyingSetInfo): - bl_idname = "Rotation" - bl_builtin = True + bl_label = "Rotation" # poll - use predefined callback for selected bones/objects poll = RKS_POLL_selected_items @@ -39,8 +37,7 @@ class BUILTIN_KSI_Rotation(bpy.types.KeyingSetInfo): # Scale class BUILTIN_KSI_Scaling(bpy.types.KeyingSetInfo): - bl_idname = "Scaling" - bl_builtin = True + bl_label = "Scaling" # poll - use predefined callback for selected bones/objects poll = RKS_POLL_selected_items @@ -55,8 +52,7 @@ class BUILTIN_KSI_Scaling(bpy.types.KeyingSetInfo): # LocRot class BUILTIN_KSI_LocRot(bpy.types.KeyingSetInfo): - bl_idname = "LocRot" - bl_builtin = True + bl_label = "LocRot" # poll - use predefined callback for selected bones/objects poll = RKS_POLL_selected_items @@ -73,8 +69,7 @@ class BUILTIN_KSI_LocRot(bpy.types.KeyingSetInfo): # LocScale class BUILTIN_KSI_LocScale(bpy.types.KeyingSetInfo): - bl_idname = "LocScale" - bl_builtin = True + bl_label = "LocScale" # poll - use predefined callback for selected bones/objects poll = RKS_POLL_selected_items @@ -91,8 +86,7 @@ class BUILTIN_KSI_LocScale(bpy.types.KeyingSetInfo): # LocRotScale class BUILTIN_KSI_LocRotScale(bpy.types.KeyingSetInfo): - bl_idname = "LocRotScale" - bl_builtin = True + bl_label = "LocRotScale" # poll - use predefined callback for selected bones/objects poll = RKS_POLL_selected_items @@ -111,8 +105,7 @@ class BUILTIN_KSI_LocRotScale(bpy.types.KeyingSetInfo): # RotScale class BUILTIN_KSI_RotScale(bpy.types.KeyingSetInfo): - bl_idname = "RotScale" - bl_builtin = True + bl_label = "RotScale" # poll - use predefined callback for selected bones/objects poll = RKS_POLL_selected_items @@ -131,8 +124,7 @@ class BUILTIN_KSI_RotScale(bpy.types.KeyingSetInfo): # Location class BUILTIN_KSI_VisualLoc(bpy.types.KeyingSetInfo): - bl_idname = "Visual Location" - bl_builtin = True + bl_label = "Visual Location" insertkey_visual = True @@ -147,8 +139,7 @@ class BUILTIN_KSI_VisualLoc(bpy.types.KeyingSetInfo): # Rotation class BUILTIN_KSI_VisualRot(bpy.types.KeyingSetInfo): - bl_idname = "Visual Rotation" - bl_builtin = True + bl_label = "Visual Rotation" insertkey_visual = True @@ -163,8 +154,7 @@ class BUILTIN_KSI_VisualRot(bpy.types.KeyingSetInfo): # VisualLocRot class BUILTIN_KSI_VisualLocRot(bpy.types.KeyingSetInfo): - bl_idname = "Visual LocRot" - bl_builtin = True + bl_label = "Visual LocRot" insertkey_visual = True @@ -185,8 +175,7 @@ class BUILTIN_KSI_VisualLocRot(bpy.types.KeyingSetInfo): # Available class BUILTIN_KSI_Available(bpy.types.KeyingSetInfo): - bl_idname = "Available" - bl_builtin = True + bl_label = "Available" # poll - use predefined callback for selected objects # TODO: this should really check whether the selected object (or datablock) diff --git a/release/scripts/keyingsets/keyingsets_utils.py b/release/scripts/keyingsets/keyingsets_utils.py index 78e170c88f9..3d57130b6e5 100644 --- a/release/scripts/keyingsets/keyingsets_utils.py +++ b/release/scripts/keyingsets/keyingsets_utils.py @@ -57,20 +57,16 @@ def RKS_GEN_available(ksi, context, ks, data): # try to get the animation data associated with the closest # ID-block to the data (neither of which may exist/be easy to find) id_block = data.id_data - try: - adt = id_block.animation_data - except: - # there isn't any animation data available - return; - + adt = getattr(id_block, "animation_data", None) + # there must also be an active action... - if adt.action is None: + if adt is None or adt.action is None: return; # for each F-Curve, include an path to key it # NOTE: we don't need to set the group settings here for fcu in adt.action.fcurves: - ks.add_path(id_block, fcu.rna_path, array_index=fcu.array_index, entire_array=False) + ks.add_path(id_block, fcu.data_path, index=fcu.array_index) # ------ @@ -89,13 +85,10 @@ def get_transform_generators_base_info(data): else: # get the path to the ID-block path = data.path_to_id() - - try: - # try to use the name of the data element to group the F-Curve - grouping = data.name - except: - # fallback on the KeyingSet name - grouping = None; + + # try to use the name of the data element to group the F-Curve + # else fallback on the KeyingSet name + grouping = getattr(data, "name", None) # return the ID-block and the path return id_block, path, grouping diff --git a/release/scripts/ui/properties_data_modifier.py b/release/scripts/ui/properties_data_modifier.py index 8364d070d1a..b91c7d4372c 100644 --- a/release/scripts/ui/properties_data_modifier.py +++ b/release/scripts/ui/properties_data_modifier.py @@ -497,6 +497,28 @@ class DATA_PT_modifiers(DataButtonsPanel): def PARTICLE_SYSTEM(self, layout, ob, md, wide_ui): layout.label(text="See Particle panel.") + def SCREW(self, layout, ob, md, wide_ui): + split = layout.split() + + col = split.column() + col.prop(md, "axis") + col.prop(md, "object", text="AxisOb") + col.prop(md, "angle") + col.prop(md, "steps") + col.prop(md, "render_steps") + + col = split.column() + row = col.row() + row.active = (md.object is None or md.use_object_screw_offset == False) + row.prop(md, "screw_offset") + row = col.row() + row.active = (md.object is not None) + row.prop(md, "use_object_screw_offset") + col.prop(md, "use_normal_calculate") + col.prop(md, "use_normal_flip") + col.prop(md, "iterations") + + def SHRINKWRAP(self, layout, ob, md, wide_ui): split = layout.split() col = split.column() diff --git a/release/scripts/ui/properties_material.py b/release/scripts/ui/properties_material.py index d178df7d79e..13bfd7a7f5d 100644 --- a/release/scripts/ui/properties_material.py +++ b/release/scripts/ui/properties_material.py @@ -23,6 +23,18 @@ from rna_prop_ui import PropertyPanel narrowui = 180 +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 + if mat: + mat_node = mat.active_node_material + if mat_node: + return mat_node + else: + return mat + + return None + class MATERIAL_MT_sss_presets(bpy.types.Menu): bl_label = "SSS Presets" @@ -136,14 +148,14 @@ class MATERIAL_PT_shading(MaterialButtonsPanel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} def poll(self, context): - mat = context.material + mat = active_node_mat(context.material) engine = context.scene.render.engine return mat and (mat.type in ('SURFACE', 'WIRE', 'HALO')) and (engine in self.COMPAT_ENGINES) def draw(self, context): layout = self.layout - mat = context.material + mat = active_node_mat(context.material) wide_ui = context.region.width > narrowui if mat.type in ('SURFACE', 'WIRE'): @@ -247,14 +259,14 @@ class MATERIAL_PT_options(MaterialButtonsPanel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} def poll(self, context): - mat = context.material + mat = active_node_mat(context.material) engine = context.scene.render.engine return mat and (mat.type in ('SURFACE', 'WIRE', 'HALO')) and (engine in self.COMPAT_ENGINES) def draw(self, context): layout = self.layout - mat = context.material + mat = active_node_mat(context.material) wide_ui = context.region.width > narrowui split = layout.split() @@ -293,14 +305,14 @@ class MATERIAL_PT_shadow(MaterialButtonsPanel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} def poll(self, context): - mat = context.material + mat = active_node_mat(context.material) engine = context.scene.render.engine return mat and (mat.type in ('SURFACE', 'WIRE')) and (engine in self.COMPAT_ENGINES) def draw(self, context): layout = self.layout - mat = context.material + mat = active_node_mat(context.material) wide_ui = context.region.width > narrowui split = layout.split() @@ -330,14 +342,14 @@ class MATERIAL_PT_diffuse(MaterialButtonsPanel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} def poll(self, context): - mat = context.material + mat = active_node_mat(context.material) engine = context.scene.render.engine return mat and (mat.type in ('SURFACE', 'WIRE')) and (engine in self.COMPAT_ENGINES) def draw(self, context): layout = self.layout - mat = context.material + mat = active_node_mat(context.material) wide_ui = context.region.width > narrowui split = layout.split() @@ -401,14 +413,14 @@ class MATERIAL_PT_specular(MaterialButtonsPanel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} def poll(self, context): - mat = context.material + mat = active_node_mat(context.material) engine = context.scene.render.engine return mat and (mat.type in ('SURFACE', 'WIRE')) and (engine in self.COMPAT_ENGINES) def draw(self, context): layout = self.layout - mat = context.material + mat = active_node_mat(context.material) wide_ui = context.region.width > narrowui layout.active = (not mat.shadeless) @@ -471,12 +483,12 @@ class MATERIAL_PT_sss(MaterialButtonsPanel): COMPAT_ENGINES = {'BLENDER_RENDER'} def poll(self, context): - mat = context.material + mat = active_node_mat(context.material) engine = context.scene.render.engine return mat and (mat.type in ('SURFACE', 'WIRE')) and (engine in self.COMPAT_ENGINES) def draw_header(self, context): - mat = context.material + mat = active_node_mat(context.material) sss = mat.subsurface_scattering self.layout.active = (not mat.shadeless) @@ -485,7 +497,7 @@ class MATERIAL_PT_sss(MaterialButtonsPanel): def draw(self, context): layout = self.layout - mat = context.material + mat = active_node_mat(context.material) sss = mat.subsurface_scattering wide_ui = context.region.width > narrowui @@ -523,19 +535,19 @@ class MATERIAL_PT_mirror(MaterialButtonsPanel): COMPAT_ENGINES = {'BLENDER_RENDER'} def poll(self, context): - mat = context.material + mat = active_node_mat(context.material) engine = context.scene.render.engine return mat and (mat.type in ('SURFACE', 'WIRE')) and (engine in self.COMPAT_ENGINES) def draw_header(self, context): - raym = context.material.raytrace_mirror + raym = active_node_mat(context.material).raytrace_mirror self.layout.prop(raym, "enabled", text="") def draw(self, context): layout = self.layout - mat = context.material + mat = active_node_mat(context.material) raym = mat.raytrace_mirror wide_ui = context.region.width > narrowui @@ -582,19 +594,19 @@ class MATERIAL_PT_transp(MaterialButtonsPanel): COMPAT_ENGINES = {'BLENDER_RENDER'} def poll(self, context): - mat = context.material + mat = active_node_mat(context.material) engine = context.scene.render.engine return mat and (mat.type in ('SURFACE', 'WIRE')) and (engine in self.COMPAT_ENGINES) def draw_header(self, context): - mat = context.material + mat = active_node_mat(context.material) self.layout.prop(mat, "transparency", text="") def draw(self, context): layout = self.layout - mat = context.material + mat = active_node_mat(context.material) rayt = mat.raytrace_transparency wide_ui = context.region.width > narrowui @@ -649,19 +661,19 @@ class MATERIAL_PT_transp_game(MaterialButtonsPanel): COMPAT_ENGINES = {'BLENDER_GAME'} def poll(self, context): - mat = context.material + mat = active_node_mat(context.material) engine = context.scene.render.engine return mat and (engine in self.COMPAT_ENGINES) def draw_header(self, context): - mat = context.material + mat = active_node_mat(context.material) self.layout.prop(mat, "transparency", text="") def draw(self, context): layout = self.layout - mat = context.material + mat = active_node_mat(context.material) rayt = mat.raytrace_transparency wide_ui = context.region.width > narrowui diff --git a/release/scripts/ui/properties_physics_common.py b/release/scripts/ui/properties_physics_common.py index b81fa25b1a1..9b24115d492 100644 --- a/release/scripts/ui/properties_physics_common.py +++ b/release/scripts/ui/properties_physics_common.py @@ -65,7 +65,7 @@ def point_cache_ui(self, context, cache, enabled, particles, smoke): sub = row.row() sub.enabled = (cache.frames_skipped or cache.outdated) and enabled - sub.operator("ptcache.bake", "bake", False, text="Calculate to Current Frame") + sub.operator("ptcache.bake", text="Calculate to Current Frame").bake = False row = layout.row() row.enabled = enabled @@ -87,7 +87,7 @@ def point_cache_ui(self, context, cache, enabled, particles, smoke): row = layout.row() row.operator("ptcache.bake_all", text="Bake All Dynamics").bake = True row.operator("ptcache.free_bake_all", text="Free All Bakes") - layout.operator("ptcache.bake_all", "bake", False, text="Update All Dynamics to current frame") + layout.operator("ptcache.bake_all", text="Update All Dynamics to current frame").bake = False def effector_weights_ui(self, context, weights): diff --git a/release/scripts/ui/properties_physics_fluid.py b/release/scripts/ui/properties_physics_fluid.py index 9b36b98bc24..c6fd7e930d9 100644 --- a/release/scripts/ui/properties_physics_fluid.py +++ b/release/scripts/ui/properties_physics_fluid.py @@ -42,7 +42,7 @@ class PHYSICS_PT_fluid(PhysicButtonsPanel): md = context.fluid wide_ui = context.region.width > narrowui - split = layout.split() + split = layout.split(percentage=0.5) split.operator_context = 'EXEC_DEFAULT' if md: @@ -53,7 +53,7 @@ class PHYSICS_PT_fluid(PhysicButtonsPanel): row = split.row(align=True) row.prop(md, "render", text="") row.prop(md, "realtime", text="") - + fluid = md.settings else: @@ -67,10 +67,19 @@ class PHYSICS_PT_fluid(PhysicButtonsPanel): if fluid: if wide_ui: - layout.prop(fluid, "type") + row = layout.row() + row.prop(fluid, "type") + if fluid.type not in ('NONE', 'DOMAIN', 'PARTICLE'): + row.prop(fluid, "active", text="") else: layout.prop(fluid, "type", text="") - + if fluid.type not in ('NONE', 'DOMAIN', 'PARTICLE'): + layout.prop(fluid, "active", text="") + + layout = layout.column() + if fluid.type not in ('NONE', 'DOMAIN', 'PARTICLE'): + layout.active = fluid.active + if fluid.type == 'DOMAIN': layout.operator("fluid.bake", text="Bake Fluid Simulation", icon='MOD_FLUIDSIM') split = layout.split() @@ -220,15 +229,29 @@ class PHYSICS_PT_domain_gravity(PhysicButtonsPanel): layout = self.layout fluid = context.fluid.settings + scene = context.scene wide_ui = context.region.width > narrowui split = layout.split() col = split.column() - col.label(text="Gravity:") - col.prop(fluid, "gravity", text="") - col.label(text="Real World Size:") - col.prop(fluid, "real_world_size", text="Metres") + if scene.use_gravity: + col.label(text="Using Scene Gravity", icon="SCENE_DATA") + sub = col.column() + sub.enabled = False + sub.prop(fluid, "gravity", text="") + else: + col.label(text="Gravity:") + col.prop(fluid, "gravity", text="") + + if scene.unit_settings.system != 'NONE': + col.label(text="Using Scene Size Units", icon="SCENE_DATA") + sub = col.column() + sub.enabled = False + sub.prop(fluid, "real_world_size", text="Metres") + else: + col.label(text="Real World Size:") + col.prop(fluid, "real_world_size", text="Metres") if wide_ui: col = split.column() diff --git a/release/scripts/ui/properties_scene.py b/release/scripts/ui/properties_scene.py index 7cdb42b832b..714f22f5ca6 100644 --- a/release/scripts/ui/properties_scene.py +++ b/release/scripts/ui/properties_scene.py @@ -101,7 +101,6 @@ class SCENE_PT_keying_sets(SceneButtonsPanel): col = row.column() col.prop(ks, "name") - col.prop(ks, "absolute") subcol = col.column() subcol.operator_context = 'INVOKE_DEFAULT' diff --git a/release/scripts/ui/space_dopesheet.py b/release/scripts/ui/space_dopesheet.py index a98f142cc3a..e8e2466f049 100644 --- a/release/scripts/ui/space_dopesheet.py +++ b/release/scripts/ui/space_dopesheet.py @@ -155,8 +155,8 @@ class DOPESHEET_MT_key(bpy.types.Menu): layout.column() layout.menu("DOPESHEET_MT_key_transform", text="Transform") - layout.operator_menu_enum("action.snap", property="type", text="Snap") - layout.operator_menu_enum("action.mirror", property="type", text="Mirror") + layout.operator_menu_enum("action.snap", "type", text="Snap") + layout.operator_menu_enum("action.mirror", "type", text="Mirror") layout.separator() layout.operator("action.keyframe_insert") @@ -166,10 +166,10 @@ class DOPESHEET_MT_key(bpy.types.Menu): layout.operator("action.delete") layout.separator() - layout.operator_menu_enum("action.keyframe_type", property="type", text="Keyframe Type") - layout.operator_menu_enum("action.handle_type", property="type", text="Handle Type") - layout.operator_menu_enum("action.interpolation_type", property="type", text="Interpolation Mode") - layout.operator_menu_enum("action.extrapolation_type", property="type", text="Extrapolation Mode") + layout.operator_menu_enum("action.keyframe_type", "type", text="Keyframe Type") + layout.operator_menu_enum("action.handle_type", "type", text="Handle Type") + layout.operator_menu_enum("action.interpolation_type", "type", text="Interpolation Mode") + layout.operator_menu_enum("action.extrapolation_type", "type", text="Extrapolation Mode") layout.separator() layout.operator("action.clean") diff --git a/release/scripts/ui/space_graph.py b/release/scripts/ui/space_graph.py index 64f6337177e..cdf7f653eb6 100644 --- a/release/scripts/ui/space_graph.py +++ b/release/scripts/ui/space_graph.py @@ -142,6 +142,7 @@ class GRAPH_MT_channel(bpy.types.Menu): layout.separator() layout.operator("anim.channels_editable_toggle") + layout.operator("anim.channels_visibility_set") layout.separator() layout.operator("anim.channels_expand") @@ -160,8 +161,8 @@ class GRAPH_MT_key(bpy.types.Menu): layout.column() layout.menu("GRAPH_MT_key_transform", text="Transform") - layout.operator_menu_enum("graph.snap", property="type", text="Snap") - layout.operator_menu_enum("graph.mirror", property="type", text="Mirror") + layout.operator_menu_enum("graph.snap", "type", text="Snap") + layout.operator_menu_enum("graph.mirror", "type", text="Mirror") layout.separator() layout.operator("graph.keyframe_insert") @@ -172,9 +173,9 @@ class GRAPH_MT_key(bpy.types.Menu): layout.operator("graph.delete") layout.separator() - layout.operator_menu_enum("graph.handle_type", property="type", text="Handle Type") - layout.operator_menu_enum("graph.interpolation_type", property="type", text="Interpolation Mode") - layout.operator_menu_enum("graph.extrapolation_type", property="type", text="Extrapolation Mode") + layout.operator_menu_enum("graph.handle_type", "type", text="Handle Type") + layout.operator_menu_enum("graph.interpolation_type", "type", text="Interpolation Mode") + layout.operator_menu_enum("graph.extrapolation_type", "type", text="Extrapolation Mode") layout.separator() layout.operator("graph.clean") diff --git a/release/scripts/ui/space_image.py b/release/scripts/ui/space_image.py index 1e37cb16f81..4b4ff15014d 100644 --- a/release/scripts/ui/space_image.py +++ b/release/scripts/ui/space_image.py @@ -406,6 +406,20 @@ class IMAGE_PT_view_histogram(bpy.types.Panel): layout.template_histogram(sima, "histogram") +class IMAGE_PT_sample_line(bpy.types.Panel): + bl_space_type = 'IMAGE_EDITOR' + bl_region_type = 'PREVIEW' + bl_label = "Sample Line" + + def poll(self, context): + sima = context.space_data + return (sima and sima.image) + + def draw(self, context): + layout = self.layout + layout.operator("image.sample_line") + sima = context.space_data + layout.template_histogram(sima, "sample_histogram") class IMAGE_PT_view_properties(bpy.types.Panel): bl_space_type = 'IMAGE_EDITOR' @@ -572,7 +586,7 @@ class IMAGE_PT_paint_curve(bpy.types.Panel): brush = toolsettings.brush layout.template_curve_mapping(brush, "curve") - layout.operator_menu_enum("brush.curve_preset", property="shape") + layout.operator_menu_enum("brush.curve_preset", "shape") classes = [ @@ -592,7 +606,8 @@ classes = [ IMAGE_PT_paint_curve, IMAGE_PT_game_properties, IMAGE_PT_view_properties, - IMAGE_PT_view_histogram] + IMAGE_PT_view_histogram, + IMAGE_PT_sample_line] def register(): diff --git a/release/scripts/ui/space_info.py b/release/scripts/ui/space_info.py index d8b18b57cf9..f8f8f5cefe3 100644 --- a/release/scripts/ui/space_info.py +++ b/release/scripts/ui/space_info.py @@ -221,7 +221,7 @@ class INFO_MT_add(bpy.types.Menu): layout.operator_menu_enum("object.curve_add", "type", text="Curve", icon='OUTLINER_OB_CURVE') layout.operator_menu_enum("object.surface_add", "type", text="Surface", icon='OUTLINER_OB_SURFACE') - layout.operator_menu_enum("object.metaball_add", "type", 'META', text="Metaball", icon='OUTLINER_OB_META') + layout.operator_menu_enum("object.metaball_add", "type", text="Metaball", icon='OUTLINER_OB_META') layout.operator("object.text_add", text="Text", icon='OUTLINER_OB_FONT') layout.separator() @@ -233,10 +233,10 @@ class INFO_MT_add(bpy.types.Menu): layout.operator("object.camera_add", text="Camera", icon='OUTLINER_OB_CAMERA') layout.operator_context = 'EXEC_SCREEN' - layout.operator_menu_enum("object.lamp_add", "type", 'LAMP', text="Lamp", icon='OUTLINER_OB_LAMP') + layout.operator_menu_enum("object.lamp_add", "type", text="Lamp", icon='OUTLINER_OB_LAMP') layout.separator() - layout.operator_menu_enum("object.effector_add", "type", 'EMPTY', text="Force Field", icon='OUTLINER_OB_EMPTY') + layout.operator_menu_enum("object.effector_add", "type", text="Force Field", icon='OUTLINER_OB_EMPTY') layout.separator() if(len(bpy.data.groups) > 10): diff --git a/release/scripts/ui/space_nla.py b/release/scripts/ui/space_nla.py index 12ed8aa7740..0eb342d4b15 100644 --- a/release/scripts/ui/space_nla.py +++ b/release/scripts/ui/space_nla.py @@ -102,7 +102,7 @@ class NLA_MT_edit(bpy.types.Menu): layout.column() layout.menu("NLA_MT_edit_transform", text="Transform") - layout.operator_menu_enum("nla.snap", property="type", text="Snap") + layout.operator_menu_enum("nla.snap", "type", text="Snap") layout.separator() layout.operator("nla.duplicate") diff --git a/release/scripts/ui/space_time.py b/release/scripts/ui/space_time.py index 2f2fad59e9f..cfd5fdfce0b 100644 --- a/release/scripts/ui/space_time.py +++ b/release/scripts/ui/space_time.py @@ -77,7 +77,7 @@ class TIME_HT_header(bpy.types.Header): layout.separator() row = layout.row(align=True) - row.prop_object(scene, "active_keying_set", scene, "keying_sets", text="") + row.prop_object(scene, "active_keying_set", scene, "all_keying_sets", text="") row.operator("anim.keyframe_insert", text="", icon='KEY_HLT') row.operator("anim.keyframe_delete", text="", icon='KEY_DEHLT') diff --git a/release/scripts/ui/space_view3d.py b/release/scripts/ui/space_view3d.py index 2e10470c5f7..3cc588ecbaa 100644 --- a/release/scripts/ui/space_view3d.py +++ b/release/scripts/ui/space_view3d.py @@ -384,7 +384,7 @@ class VIEW3D_MT_select_object(bpy.types.Menu): layout.operator("object.select_random", text="Random") layout.operator("object.select_mirror", text="Mirror") layout.operator("object.select_by_layer", text="Select All by Layer") - layout.operator_menu_enum("object.select_by_type", "type", "", text="Select All by Type...") + layout.operator_menu_enum("object.select_by_type", "type", text="Select All by Type...") layout.operator("object.select_camera", text="Select Camera") layout.separator() @@ -654,6 +654,7 @@ class VIEW3D_MT_object(bpy.types.Menu): layout.operator("anim.keyframe_insert_menu", text="Insert Keyframe...") layout.operator("anim.keyframe_delete_v3d", text="Delete Keyframe...") + layout.operator("anim.keying_set_active_set", text="Change Keying Set...") layout.separator() @@ -834,7 +835,7 @@ class VIEW3D_MT_make_links(bpy.types.Menu): layout.operator_menu_enum("object.make_links_scene", "type", text="Objects to Scene...") layout.operator_menu_enum("marker.make_links_scene", "type", text="Markers to Scene...") - layout.operator_enums("object.make_links_data", property="type") # inline + layout.operator_enums("object.make_links_data", "type") # inline # ********** Vertex paint menu ********** @@ -930,7 +931,7 @@ class VIEW3D_MT_sculpt(bpy.types.Menu): layout.prop(sculpt, "lock_y") layout.prop(sculpt, "lock_z") layout.separator() - layout.operator_menu_enum("brush.curve_preset", property="shape") + layout.operator_menu_enum("brush.curve_preset", "shape") layout.separator() sculpt_tool = brush.sculpt_tool @@ -1020,6 +1021,7 @@ class VIEW3D_MT_pose(bpy.types.Menu): layout.operator("anim.keyframe_insert_menu", text="Insert Keyframe...") layout.operator("anim.keyframe_delete_v3d", text="Delete Keyframe...") + layout.operator("anim.keying_set_active_set", text="Change Keying Set...") layout.separator() diff --git a/release/scripts/ui/space_view3d_toolbar.py b/release/scripts/ui/space_view3d_toolbar.py index 10718883c3c..603ed93efed 100644 --- a/release/scripts/ui/space_view3d_toolbar.py +++ b/release/scripts/ui/space_view3d_toolbar.py @@ -523,9 +523,11 @@ class VIEW3D_PT_tools_brush(PaintPanel): if settings.tool != 'NONE': col = layout.column() col.prop(brush, "size", slider=True) - col.prop(brush, "strength", slider=True) + if settings.tool != 'ADD': + col.prop(brush, "strength", slider=True) if settings.tool == 'ADD': + col.prop(brush, "count") col = layout.column() col.prop(settings, "add_interpolate") sub = col.column(align=True) @@ -568,8 +570,17 @@ class VIEW3D_PT_tools_brush(PaintPanel): col.prop(brush, "use_accumulate") if brush.sculpt_tool == 'LAYER': - col.prop(brush, "use_persistent") - col.operator("sculpt.set_persistent_base") + ob = context.sculpt_object + do_persistent = True + + # not supported yet for this case + for md in ob.modifiers: + if md.type == 'MULTIRES': + do_persistent = False + + if do_persistent: + col.prop(brush, "use_persistent") + col.operator("sculpt.set_persistent_base") # Texture Paint Mode # @@ -1007,12 +1018,15 @@ class VIEW3D_PT_tools_particlemode(View3DPanel): col.active = pe.editable col.label(text="Draw:") col.prop(pe, "draw_step", text="Path Steps") - if pe.type == 'PARTICLES': - col.prop(pe, "draw_particles", text="Particles") - col.prop(pe, "fade_time") - sub = col.row() - sub.active = pe.fade_time - sub.prop(pe, "fade_frames", slider=True) + if pe.hair: + col.prop(pe, "draw_particles", text="Children") + else: + if pe.type == 'PARTICLES': + col.prop(pe, "draw_particles", text="Particles") + col.prop(pe, "fade_time") + sub = col.row() + sub.active = pe.fade_time + sub.prop(pe, "fade_frames", slider=True) classes = [ |