diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-01-18 11:04:17 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-01-18 11:04:17 +0400 |
commit | b281b5278f8f40330e0eec263b333f73c99fc08e (patch) | |
tree | e10de9bb09540b7639bccd4a5441ee28e24e6b97 /release/scripts | |
parent | 0f28c1c27aec41dd22e31aac2c02cdfae785dd1b (diff) | |
parent | 7f08c71f43f487cf278684d9170652c8193e7f48 (diff) |
svn merge ^/trunk/blender -r43472:43482
Diffstat (limited to 'release/scripts')
-rw-r--r-- | release/scripts/modules/addon_utils.py | 8 | ||||
-rw-r--r-- | release/scripts/modules/bpy/utils.py | 17 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/__init__.py | 2 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/properties_game.py | 2 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/properties_paint_common.py | 61 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/properties_texture.py | 42 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_clip.py | 8 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_image.py | 31 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_view3d_toolbar.py | 61 |
9 files changed, 134 insertions, 98 deletions
diff --git a/release/scripts/modules/addon_utils.py b/release/scripts/modules/addon_utils.py index b64b32b3126..2b1616a0022 100644 --- a/release/scripts/modules/addon_utils.py +++ b/release/scripts/modules/addon_utils.py @@ -38,17 +38,17 @@ addons_fake_modules = {} def paths(): # RELEASE SCRIPTS: official scripts distributed in Blender releases - paths = _bpy.utils.script_paths("addons") + addon_paths = _bpy.utils.script_paths("addons") # CONTRIB SCRIPTS: good for testing but not official scripts yet # if folder addons_contrib/ exists, scripts in there will be loaded too - paths += _bpy.utils.script_paths("addons_contrib") + addon_paths += _bpy.utils.script_paths("addons_contrib") # EXTERN SCRIPTS: external projects scripts # if folder addons_extern/ exists, scripts in there will be loaded too - paths += _bpy.utils.script_paths("addons_extern") + addon_paths += _bpy.utils.script_paths("addons_extern") - return paths + return addon_paths def modules(module_cache): diff --git a/release/scripts/modules/bpy/utils.py b/release/scripts/modules/bpy/utils.py index 442d257b237..d5abcb03164 100644 --- a/release/scripts/modules/bpy/utils.py +++ b/release/scripts/modules/bpy/utils.py @@ -281,10 +281,7 @@ def script_paths(subdir=None, user_pref=True, check_all=False): prefs = _bpy.context.user_preferences # add user scripts dir - if user_pref: - user_script_path = prefs.filepaths.script_directory - else: - user_script_path = None + user_script = prefs.filepaths.script_directory if user_pref else None if check_all: # all possible paths @@ -294,7 +291,7 @@ def script_paths(subdir=None, user_pref=True, check_all=False): # only paths blender uses base_paths = _bpy_script_paths() - for path in base_paths + (user_script_path, ): + for path in base_paths + (user_script, ): if path: path = _os.path.normpath(path) if path not in scripts and _os.path.isdir(path): @@ -303,13 +300,13 @@ def script_paths(subdir=None, user_pref=True, check_all=False): if subdir is None: return scripts - script_paths = [] + scripts_subdir = [] for path in scripts: path_subdir = _os.path.join(path, subdir) if _os.path.isdir(path_subdir): - script_paths.append(path_subdir) + scripts_subdir.append(path_subdir) - return script_paths + return scripts_subdir def refresh_script_paths(): @@ -464,7 +461,7 @@ def keyconfig_set(filepath): keyconfigs.active = kc_new -def user_resource(type, path="", create=False): +def user_resource(resource_type, path="", create=False): """ Return a user resource path (normally from the users home directory). @@ -479,7 +476,7 @@ def user_resource(type, path="", create=False): :rtype: string """ - target_path = _user_resource(type, path) + target_path = _user_resource(resource_type, path) if create: # should always be true. diff --git a/release/scripts/startup/bl_ui/__init__.py b/release/scripts/startup/bl_ui/__init__.py index 6aa08a7f50d..84049e9f1fe 100644 --- a/release/scripts/startup/bl_ui/__init__.py +++ b/release/scripts/startup/bl_ui/__init__.py @@ -86,7 +86,7 @@ def register(): # space_userprefs.py from bpy.props import StringProperty, EnumProperty - WindowManager = bpy.types.WindowManager + from bpy.types import WindowManager def addon_filter_items(self, context): import addon_utils diff --git a/release/scripts/startup/bl_ui/properties_game.py b/release/scripts/startup/bl_ui/properties_game.py index 9f2b3367feb..ee5702e324e 100644 --- a/release/scripts/startup/bl_ui/properties_game.py +++ b/release/scripts/startup/bl_ui/properties_game.py @@ -244,7 +244,7 @@ class RenderButtonsPanel(): return (rd.engine in cls.COMPAT_ENGINES) -class RENDER_PT_embedded(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_embedded(RenderButtonsPanel, Panel): bl_label = "Embedded Player" COMPAT_ENGINES = {'BLENDER_GAME'} diff --git a/release/scripts/startup/bl_ui/properties_paint_common.py b/release/scripts/startup/bl_ui/properties_paint_common.py new file mode 100644 index 00000000000..25ea85a9a6a --- /dev/null +++ b/release/scripts/startup/bl_ui/properties_paint_common.py @@ -0,0 +1,61 @@ +# ##### BEGIN GPL LICENSE BLOCK ##### +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# ##### END GPL LICENSE BLOCK ##### + +# <pep8 compliant> + + +class UnifiedPaintPanel(): + # subclass must set + # bl_space_type = 'IMAGE_EDITOR' + # bl_region_type = 'UI' + + @staticmethod + def paint_settings(context): + toolsettings = context.tool_settings + + if context.sculpt_object: + return toolsettings.sculpt + elif context.vertex_paint_object: + return toolsettings.vertex_paint + elif context.weight_paint_object: + return toolsettings.weight_paint + elif context.image_paint_object: + return toolsettings.image_paint + elif context.particle_edit_object: + return toolsettings.particle_edit + + return None + + @staticmethod + def unified_paint_settings(parent, context): + ups = context.tool_settings.unified_paint_settings + parent.label(text="Unified Settings:") + parent.prop(ups, "use_unified_size", text="Size") + parent.prop(ups, "use_unified_strength", text="Strength") + + @staticmethod + def prop_unified_size(parent, context, brush, prop_name, icon='NONE', text="", slider=False): + ups = context.tool_settings.unified_paint_settings + ptr = ups if ups.use_unified_size else brush + parent.prop(ptr, prop_name, icon=icon, text=text, slider=slider) + + @staticmethod + def prop_unified_strength(parent, context, brush, prop_name, icon='NONE', text="", slider=False): + ups = context.tool_settings.unified_paint_settings + ptr = ups if ups.use_unified_strength else brush + parent.prop(ptr, prop_name, icon=icon, text=text, slider=slider) diff --git a/release/scripts/startup/bl_ui/properties_texture.py b/release/scripts/startup/bl_ui/properties_texture.py index c7f94bb4a3d..6e54bdde024 100644 --- a/release/scripts/startup/bl_ui/properties_texture.py +++ b/release/scripts/startup/bl_ui/properties_texture.py @@ -19,6 +19,14 @@ # <pep8 compliant> import bpy from bpy.types import Menu, Panel + +from bpy.types import (Brush, + Lamp, + Material, + ParticleSettings, + Texture, + World) + from rna_prop_ui import PropertyPanel @@ -91,7 +99,7 @@ class TEXTURE_PT_context_texture(TextureButtonsPanel, Panel): engine = context.scene.render.engine if not (hasattr(context, "texture_slot") or hasattr(context, "texture_node")): return False - return ((context.material or context.world or context.lamp or context.brush or context.texture or context.particle_system or isinstance(context.space_data.pin_id, bpy.types.ParticleSettings)) + return ((context.material or context.world or context.lamp or context.brush or context.texture or context.particle_system or isinstance(context.space_data.pin_id, ParticleSettings)) and (engine in cls.COMPAT_ENGINES)) def draw(self, context): @@ -103,14 +111,14 @@ class TEXTURE_PT_context_texture(TextureButtonsPanel, Panel): idblock = context_tex_datablock(context) pin_id = space.pin_id - if space.use_pin_id and not isinstance(pin_id, bpy.types.Texture): + if space.use_pin_id and not isinstance(pin_id, Texture): idblock = pin_id pin_id = None if not space.use_pin_id: layout.prop(space, "texture_context", expand=True) - tex_collection = (pin_id is None) and (node is None) and (not isinstance(idblock, bpy.types.Brush)) + tex_collection = (pin_id is None) and (node is None) and (not isinstance(idblock, Brush)) if tex_collection: row = layout.row() @@ -413,7 +421,7 @@ class TEXTURE_PT_image_sampling(TextureTypePanel, Panel): col = split.column() #Only for Material based textures, not for Lamp/World... - if slot and isinstance(idblock, bpy.types.Material): + if slot and isinstance(idblock, Material): col.prop(tex, "use_normal_map") row = col.row() row.active = tex.use_normal_map @@ -801,7 +809,7 @@ class TEXTURE_PT_mapping(TextureSlotPanel, Panel): @classmethod def poll(cls, context): idblock = context_tex_datablock(context) - if isinstance(idblock, bpy.types.Brush) and not context.sculpt_object: + if isinstance(idblock, Brush) and not context.sculpt_object: return False if not getattr(context, "texture_slot", None): @@ -818,7 +826,7 @@ class TEXTURE_PT_mapping(TextureSlotPanel, Panel): tex = context.texture_slot # textype = context.texture - if not isinstance(idblock, bpy.types.Brush): + if not isinstance(idblock, Brush): split = layout.split(percentage=0.3) col = split.column() col.label(text="Coordinates:") @@ -847,7 +855,7 @@ class TEXTURE_PT_mapping(TextureSlotPanel, Panel): split.label(text="Object:") split.prop(tex, "object", text="") - if isinstance(idblock, bpy.types.Brush): + if isinstance(idblock, Brush): if context.sculpt_object: layout.label(text="Brush Mapping:") layout.prop(tex, "map_mode", expand=True) @@ -856,7 +864,7 @@ class TEXTURE_PT_mapping(TextureSlotPanel, Panel): row.active = tex.map_mode in {'FIXED', 'TILED'} row.prop(tex, "angle") else: - if isinstance(idblock, bpy.types.Material): + if isinstance(idblock, Material): split = layout.split(percentage=0.3) split.label(text="Projection:") split.prop(tex, "mapping", text="") @@ -889,7 +897,7 @@ class TEXTURE_PT_influence(TextureSlotPanel, Panel): @classmethod def poll(cls, context): idblock = context_tex_datablock(context) - if isinstance(idblock, bpy.types.Brush): + if isinstance(idblock, Brush): return False if not getattr(context, "texture_slot", None): @@ -915,7 +923,7 @@ class TEXTURE_PT_influence(TextureSlotPanel, Panel): sub.prop(tex, factor, text=name, slider=True) return sub # XXX, temp. use_map_normal needs to override. - if isinstance(idblock, bpy.types.Material): + if isinstance(idblock, Material): if idblock.type in {'SURFACE', 'WIRE'}: split = layout.split() @@ -978,7 +986,7 @@ class TEXTURE_PT_influence(TextureSlotPanel, Panel): factor_but(col, "use_map_color_transmission", "transmission_color_factor", "Transmission Color") factor_but(col, "use_map_color_reflection", "reflection_color_factor", "Reflection Color") - elif isinstance(idblock, bpy.types.Lamp): + elif isinstance(idblock, Lamp): split = layout.split() col = split.column() @@ -987,7 +995,7 @@ class TEXTURE_PT_influence(TextureSlotPanel, Panel): col = split.column() factor_but(col, "use_map_shadow", "shadow_factor", "Shadow") - elif isinstance(idblock, bpy.types.World): + elif isinstance(idblock, World): split = layout.split() col = split.column() @@ -997,7 +1005,7 @@ class TEXTURE_PT_influence(TextureSlotPanel, Panel): col = split.column() factor_but(col, "use_map_zenith_up", "zenith_up_factor", "Zenith Up") factor_but(col, "use_map_zenith_down", "zenith_down_factor", "Zenith Down") - elif isinstance(idblock, bpy.types.ParticleSettings): + elif isinstance(idblock, ParticleSettings): split = layout.split() col = split.column() @@ -1028,7 +1036,7 @@ class TEXTURE_PT_influence(TextureSlotPanel, Panel): layout.separator() - if not isinstance(idblock, bpy.types.ParticleSettings): + if not isinstance(idblock, ParticleSettings): split = layout.split() col = split.column() @@ -1041,10 +1049,10 @@ class TEXTURE_PT_influence(TextureSlotPanel, Panel): col.prop(tex, "invert", text="Negative") col.prop(tex, "use_stencil") - if isinstance(idblock, bpy.types.Material) or isinstance(idblock, bpy.types.World): + if isinstance(idblock, Material) or isinstance(idblock, World): col.prop(tex, "default_value", text="DVar", slider=True) - if isinstance(idblock, bpy.types.Material): + if isinstance(idblock, Material): layout.label(text="Bump Mapping:") # only show bump settings if activated but not for normal-map images @@ -1063,7 +1071,7 @@ class TEXTURE_PT_influence(TextureSlotPanel, Panel): class TEXTURE_PT_custom_props(TextureButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "texture" - _property_type = bpy.types.Texture + _property_type = Texture if __name__ == "__main__": # only for live edit. bpy.utils.register_module(__name__) diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py index b5e23f146b1..55c10a56015 100644 --- a/release/scripts/startup/bl_ui/space_clip.py +++ b/release/scripts/startup/bl_ui/space_clip.py @@ -117,7 +117,7 @@ class CLIP_PT_tools_marker(Panel): if settings.show_default_expanded: col = box.column() row = col.row(align=True) - label = bpy.types.CLIP_MT_tracking_settings_presets.bl_label + label = CLIP_MT_tracking_settings_presets.bl_label row.menu('CLIP_MT_tracking_settings_presets', text=label) row.operator("clip.tracking_settings_preset_add", text="", icon='ZOOMIN') @@ -999,7 +999,7 @@ class CLIP_MT_camera_presets(Menu): bl_label = "Camera Presets" preset_subdir = "tracking_camera" preset_operator = "script.execute_preset" - draw = bpy.types.Menu.draw_preset + draw = Menu.draw_preset class CLIP_MT_track_color_presets(Menu): @@ -1007,7 +1007,7 @@ class CLIP_MT_track_color_presets(Menu): bl_label = "Color Presets" preset_subdir = "tracking_track_color" preset_operator = "script.execute_preset" - draw = bpy.types.Menu.draw_preset + draw = Menu.draw_preset class CLIP_MT_tracking_settings_presets(Menu): @@ -1015,7 +1015,7 @@ class CLIP_MT_tracking_settings_presets(Menu): bl_label = "Tracking Presets" preset_subdir = "tracking_settings" preset_operator = "script.execute_preset" - draw = bpy.types.Menu.draw_preset + draw = Menu.draw_preset class CLIP_MT_track_color_specials(Menu): diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py index 625c3b1ab2f..409494b5cbb 100644 --- a/release/scripts/startup/bl_ui/space_image.py +++ b/release/scripts/startup/bl_ui/space_image.py @@ -19,6 +19,11 @@ # <pep8 compliant> import bpy from bpy.types import Header, Menu, Panel +from .properties_paint_common import UnifiedPaintPanel + +class ImagePaintPanel(UnifiedPaintPanel): + bl_space_type = 'IMAGE_EDITOR' + bl_region_type = 'UI' class BrushButtonsPanel(): @@ -641,7 +646,7 @@ class IMAGE_PT_view_properties(Panel): sub.row().prop(uvedit, "draw_stretch_type", expand=True) -class IMAGE_PT_paint(Panel): +class IMAGE_PT_paint(Panel, ImagePaintPanel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'UI' bl_label = "Paint" @@ -666,13 +671,13 @@ class IMAGE_PT_paint(Panel): col.prop(brush, "color", text="") row = col.row(align=True) - row.prop(brush, "size", slider=True) - row.prop(brush, "use_pressure_size", toggle=True, text="") + self.prop_unified_size(row, context, brush, "size", slider=True) + self.prop_unified_size(row, context, brush, "use_pressure_size") row = col.row(align=True) - row.prop(brush, "strength", slider=True) - row.prop(brush, "use_pressure_strength", toggle=True, text="") - + self.prop_unified_strength(row, context, brush, "strength", slider=True) + self.prop_unified_strength(row, context, brush, "use_pressure_strength") + row = col.row(align=True) row.prop(brush, "jitter", slider=True) row.prop(brush, "use_pressure_jitter", toggle=True, text="") @@ -763,7 +768,7 @@ class IMAGE_PT_paint_curve(BrushButtonsPanel, Panel): row.operator("brush.curve_preset", icon='NOCURVE', text="").shape = 'MAX' -class IMAGE_UV_sculpt_curve(bpy.types.Panel): +class IMAGE_UV_sculpt_curve(Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'UI' bl_label = "UV Sculpt Curve" @@ -793,7 +798,7 @@ class IMAGE_UV_sculpt_curve(bpy.types.Panel): row.operator("brush.curve_preset", icon="NOCURVE", text="").shape = 'MAX' -class IMAGE_UV_sculpt(bpy.types.Panel): +class IMAGE_UV_sculpt(Panel, ImagePaintPanel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'UI' bl_label = "UV Sculpt" @@ -815,13 +820,13 @@ class IMAGE_UV_sculpt(bpy.types.Panel): col = layout.column() row = col.row(align=True) - row.prop(brush, "size", slider=True) - row.prop(brush, "use_pressure_size", toggle=True, text="") + self.prop_unified_size(row, context, brush, "size", slider=True) + self.prop_unified_size(row, context, brush, "use_pressure_size") row = col.row(align=True) - row.prop(brush, "strength", slider=True) - row.prop(brush, "use_pressure_strength", toggle=True, text="") - + self.prop_unified_strength(row, context, brush, "strength", slider=True) + self.prop_unified_strength(row, context, brush, "use_pressure_strength") + split = layout.split() col = split.column() diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py index 95af67b9d3a..bbc04dad816 100644 --- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py +++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py @@ -19,6 +19,7 @@ # <pep8 compliant> import bpy from bpy.types import Menu, Panel +from .properties_paint_common import UnifiedPaintPanel class View3DPanel(): @@ -447,48 +448,12 @@ class VIEW3D_PT_tools_posemode_options(View3DPanel, Panel): # ********** default tools for paint modes **************** -class PaintPanel(): +class View3DPaintPanel(UnifiedPaintPanel): bl_space_type = 'VIEW_3D' bl_region_type = 'TOOLS' - @staticmethod - def paint_settings(context): - toolsettings = context.tool_settings - - if context.sculpt_object: - return toolsettings.sculpt - elif context.vertex_paint_object: - return toolsettings.vertex_paint - elif context.weight_paint_object: - return toolsettings.weight_paint - elif context.image_paint_object: - return toolsettings.image_paint - elif context.particle_edit_object: - return toolsettings.particle_edit - - return None - - @staticmethod - def unified_paint_settings(parent, context): - ups = context.tool_settings.unified_paint_settings - parent.label(text="Unified Settings:") - parent.prop(ups, "use_unified_size", text="Size") - parent.prop(ups, "use_unified_strength", text="Strength") - - @staticmethod - def prop_unified_size(parent, context, brush, prop_name, icon='NONE', text="", slider=False): - ups = context.tool_settings.unified_paint_settings - ptr = ups if ups.use_unified_size else brush - parent.prop(ptr, prop_name, icon=icon, text=text, slider=slider) - - @staticmethod - def prop_unified_strength(parent, context, brush, prop_name, icon='NONE', text="", slider=False): - ups = context.tool_settings.unified_paint_settings - ptr = ups if ups.use_unified_strength else brush - parent.prop(ptr, prop_name, icon=icon, text=text, slider=slider) - -class VIEW3D_PT_tools_brush(PaintPanel, Panel): +class VIEW3D_PT_tools_brush(Panel, View3DPaintPanel): bl_label = "Brush" @classmethod @@ -715,7 +680,7 @@ class VIEW3D_PT_tools_brush(PaintPanel, Panel): #row.prop(brush, "use_pressure_jitter", toggle=True, text="") -class VIEW3D_PT_tools_brush_texture(PaintPanel, Panel): +class VIEW3D_PT_tools_brush_texture(Panel, View3DPaintPanel): bl_label = "Texture" bl_options = {'DEFAULT_CLOSED'} @@ -794,7 +759,7 @@ class VIEW3D_PT_tools_brush_texture(PaintPanel, Panel): sub.prop(brush, "texture_overlay_alpha", text="Alpha") -class VIEW3D_PT_tools_brush_tool(PaintPanel, Panel): +class VIEW3D_PT_tools_brush_tool(Panel, View3DPaintPanel): bl_label = "Tool" bl_options = {'DEFAULT_CLOSED'} @@ -828,7 +793,7 @@ class VIEW3D_PT_tools_brush_tool(PaintPanel, Panel): row.prop(brush, "use_paint_image", text="", icon='TPAINT_HLT') -class VIEW3D_PT_tools_brush_stroke(PaintPanel, Panel): +class VIEW3D_PT_tools_brush_stroke(Panel, View3DPaintPanel): bl_label = "Stroke" bl_options = {'DEFAULT_CLOSED'} @@ -920,7 +885,7 @@ class VIEW3D_PT_tools_brush_stroke(PaintPanel, Panel): # row.prop(brush, "use_pressure_spacing", toggle=True, text="") -class VIEW3D_PT_tools_brush_curve(PaintPanel, Panel): +class VIEW3D_PT_tools_brush_curve(Panel, View3DPaintPanel): bl_label = "Curve" bl_options = {'DEFAULT_CLOSED'} @@ -947,7 +912,7 @@ class VIEW3D_PT_tools_brush_curve(PaintPanel, Panel): row.operator("brush.curve_preset", icon='NOCURVE', text="").shape = 'MAX' -class VIEW3D_PT_sculpt_options(PaintPanel, Panel): +class VIEW3D_PT_sculpt_options(Panel, View3DPaintPanel): bl_label = "Options" bl_options = {'DEFAULT_CLOSED'} @@ -975,7 +940,7 @@ class VIEW3D_PT_sculpt_options(PaintPanel, Panel): self.unified_paint_settings(layout, context) -class VIEW3D_PT_sculpt_symmetry(PaintPanel, Panel): +class VIEW3D_PT_sculpt_symmetry(Panel, View3DPaintPanel): bl_label = "Symmetry" bl_options = {'DEFAULT_CLOSED'} @@ -999,7 +964,7 @@ class VIEW3D_PT_sculpt_symmetry(PaintPanel, Panel): layout.prop(sculpt, "use_symmetry_feather", text="Feather") -class VIEW3D_PT_tools_brush_appearance(PaintPanel, Panel): +class VIEW3D_PT_tools_brush_appearance(Panel, View3DPaintPanel): bl_label = "Appearance" bl_options = {'DEFAULT_CLOSED'} @@ -1061,7 +1026,7 @@ class VIEW3D_PT_tools_weightpaint(View3DPanel, Panel): col.operator("object.vertex_group_fix", text="Fix Deforms") -class VIEW3D_PT_tools_weightpaint_options(PaintPanel, Panel): +class VIEW3D_PT_tools_weightpaint_options(Panel, View3DPaintPanel): bl_context = "weightpaint" bl_label = "Options" @@ -1097,7 +1062,7 @@ class VIEW3D_PT_tools_weightpaint_options(PaintPanel, Panel): # ********** default tools for vertex-paint **************** -class VIEW3D_PT_tools_vertexpaint(PaintPanel, Panel): +class VIEW3D_PT_tools_vertexpaint(Panel, View3DPaintPanel): bl_context = "vertexpaint" bl_label = "Options" @@ -1191,7 +1156,7 @@ class VIEW3D_PT_tools_projectpaint(View3DPanel, Panel): col.operator("image.save_dirty", text="Save All Edited") -class VIEW3D_PT_imagepaint_options(PaintPanel): +class VIEW3D_PT_imagepaint_options(View3DPaintPanel): bl_label = "Options" bl_options = {'DEFAULT_CLOSED'} |