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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2010-03-26 00:40:08 +0300
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2010-03-26 00:40:08 +0300
commit048f357f416d8044a3acfb16f7cd27db194cd3e8 (patch)
tree65c5da02a9e39518550d89e72a4b5c69fa9089e8 /release
parent29adfa7d649df33a3d756b02058b4c1b09740058 (diff)
parentaa3428e6abbf3ef453757b4909ad10bb52b9a418 (diff)
Merged changes in the trunk up to revision 27752.
Diffstat (limited to 'release')
-rw-r--r--release/scripts/keyingsets/keyingsets_builtins.py33
-rw-r--r--release/scripts/keyingsets/keyingsets_utils.py23
-rw-r--r--release/scripts/ui/properties_data_modifier.py22
-rw-r--r--release/scripts/ui/properties_material.py56
-rw-r--r--release/scripts/ui/properties_physics_common.py4
-rw-r--r--release/scripts/ui/properties_physics_fluid.py39
-rw-r--r--release/scripts/ui/properties_scene.py1
-rw-r--r--release/scripts/ui/space_dopesheet.py12
-rw-r--r--release/scripts/ui/space_graph.py11
-rw-r--r--release/scripts/ui/space_image.py19
-rw-r--r--release/scripts/ui/space_info.py6
-rw-r--r--release/scripts/ui/space_nla.py2
-rw-r--r--release/scripts/ui/space_time.py2
-rw-r--r--release/scripts/ui/space_view3d.py8
-rw-r--r--release/scripts/ui/space_view3d_toolbar.py32
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 = [