[Bf-blender-cvs] [90e0350] soc-2013-paint: xrg feedback request series:

Antony Riakiotakis noreply at git.blender.org
Sat May 24 14:27:31 CEST 2014


Commit: 90e03505dde5e10efeea63d054e1805381134b15
Author: Antony Riakiotakis
Date:   Sat May 24 15:17:44 2014 +0300
https://developer.blender.org/rB90e03505dde5e10efeea63d054e1805381134b15

xrg feedback request series:

Unified color option. This only unifies background and foreground
colors. I think gradients are too specific tools to be unified across
brushes.

===================================================================

M	release/scripts/startup/bl_ui/properties_paint_common.py
M	release/scripts/startup/bl_ui/space_image.py
M	release/scripts/startup/bl_ui/space_view3d_toolbar.py
M	source/blender/blenkernel/BKE_brush.h
M	source/blender/blenkernel/intern/brush.c
M	source/blender/editors/interface/interface_handlers.c
M	source/blender/editors/sculpt_paint/paint_image.c
M	source/blender/editors/sculpt_paint/paint_image_2d.c
M	source/blender/editors/sculpt_paint/paint_image_proj.c
M	source/blender/editors/sculpt_paint/paint_intern.h
M	source/blender/editors/sculpt_paint/paint_ops.c
M	source/blender/editors/sculpt_paint/paint_utils.c
M	source/blender/editors/sculpt_paint/paint_vertex.c
M	source/blender/makesdna/DNA_scene_types.h
M	source/blender/makesrna/intern/rna_scene.c

===================================================================

diff --git a/release/scripts/startup/bl_ui/properties_paint_common.py b/release/scripts/startup/bl_ui/properties_paint_common.py
index 89ff308..a17efc7 100644
--- a/release/scripts/startup/bl_ui/properties_paint_common.py
+++ b/release/scripts/startup/bl_ui/properties_paint_common.py
@@ -50,6 +50,10 @@ class UnifiedPaintPanel():
         row.prop(ups, "use_unified_strength", text="Strength")
         if context.weight_paint_object:
             parent.prop(ups, "use_unified_weight", text="Weight")
+        elif context.vertex_paint_object or context.image_paint_object:
+            parent.prop(ups, "use_unified_color", text="Color")
+        else:
+            parent.prop(ups, "use_unified_color", text="Color")
 
     @staticmethod
     def prop_unified_size(parent, context, brush, prop_name, icon='NONE', text="", slider=False):
@@ -69,6 +73,17 @@ class UnifiedPaintPanel():
         ptr = ups if ups.use_unified_weight else brush
         parent.prop(ptr, prop_name, icon=icon, text=text, slider=slider)
 
+    @staticmethod
+    def prop_unified_color(parent, context, brush, prop_name, text=""):
+        ups = context.tool_settings.unified_paint_settings
+        ptr = ups if ups.use_unified_color else brush
+        parent.prop(ptr, prop_name, text=text)
+
+    @staticmethod
+    def prop_unified_color_picker(parent, context, brush, prop_name, value_slider=True):
+        ups = context.tool_settings.unified_paint_settings
+        ptr = ups if ups.use_unified_color else brush
+        parent.template_color_picker(ptr, prop_name, value_slider=value_slider)
 
 # Used in both the View3D toolbar and texture properties
 def brush_texture_settings(layout, brush, sculpt):
diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py
index b14d0ce..0ed8a69 100644
--- a/release/scripts/startup/bl_ui/space_image.py
+++ b/release/scripts/startup/bl_ui/space_image.py
@@ -31,14 +31,12 @@ from bpy.app.translations import pgettext_iface as iface_
 class ImagePaintPanel(UnifiedPaintPanel):
     bl_space_type = 'IMAGE_EDITOR'
     bl_region_type = 'TOOLS'
-    bl_category = "Tools"
 
 
-class BrushButtonsPanel:
+class BrushButtonsPanel(UnifiedPaintPanel):
     bl_space_type = 'IMAGE_EDITOR'
     bl_region_type = 'TOOLS'
-    bl_category = "Tools"
-
+ 
     @classmethod
     def poll(cls, context):
         sima = context.space_data
@@ -679,13 +677,9 @@ class IMAGE_PT_tools_transform_uvs(Panel, UVToolsPanel):
         col.operator("transform.shear")
 
 
-class IMAGE_PT_paint(Panel, ImagePaintPanel):
+class IMAGE_PT_paint(Panel, BrushButtonsPanel):
     bl_label = "Paint"
-
-    @classmethod
-    def poll(cls, context):
-        sima = context.space_data
-        return sima.show_paint
+    bl_category = "Tools"
 
     def draw(self, context):
         layout = self.layout
@@ -704,7 +698,7 @@ class IMAGE_PT_paint(Panel, ImagePaintPanel):
             if brush.image_tool in {'DRAW', 'FILL'}:
                 if brush.blend not in {'ERASE_ALPHA', 'ADD_ALPHA'}:
                     if not brush.use_gradient:
-                        col.template_color_picker(brush, "color", value_slider=True)
+                        self.prop_unified_color_picker(col, context, brush, "color", value_slider=True)
 
                     if settings.palette:
                         col.template_palette(settings, "palette", color=True)
@@ -716,7 +710,7 @@ class IMAGE_PT_paint(Panel, ImagePaintPanel):
                         if brush.image_tool != 'FILL':
                             col.label("Background Color")
                             row = col.row(align=True)
-                            row.prop(brush, "secondary_color", text="")
+                            self.prop_unified_color(row, context, brush, "secondary_color", text="")
 
                         if brush.image_tool == 'DRAW':
                             col.prop(brush, "gradient_stroke_mode", text="Mode")
@@ -726,11 +720,11 @@ class IMAGE_PT_paint(Panel, ImagePaintPanel):
                             col.prop(brush, "gradient_fill_mode")
                     else:
                         row = col.row(align=True)
-                        row.prop(brush, "color", text="")
+                        self.prop_unified_color(row, context, brush, "color", text="")
                         if brush.image_tool == 'FILL':
                             col.prop(brush, "fill_threshold")
                         else:
-                            row.prop(brush, "secondary_color", text="")
+                            self.prop_unified_color(row, context, brush, "secondary_color", text="")
                             row.separator()
                             row.operator("paint.brush_colors_flip", icon='FILE_REFRESH', text="")
 
@@ -787,6 +781,7 @@ class IMAGE_PT_paint(Panel, ImagePaintPanel):
 class IMAGE_PT_tools_brush_overlay(BrushButtonsPanel, Panel):
     bl_label = "Overlay"
     bl_options = {'DEFAULT_CLOSED'}
+    bl_category = "Options"
 
     def draw(self, context):
         layout = self.layout
@@ -840,6 +835,7 @@ class IMAGE_PT_tools_brush_overlay(BrushButtonsPanel, Panel):
 class IMAGE_PT_tools_brush_texture(BrushButtonsPanel, Panel):
     bl_label = "Texture"
     bl_options = {'DEFAULT_CLOSED'}
+    bl_category = "Tools"
 
     def draw(self, context):
         layout = self.layout
@@ -856,6 +852,7 @@ class IMAGE_PT_tools_brush_texture(BrushButtonsPanel, Panel):
 class IMAGE_PT_tools_mask_texture(BrushButtonsPanel, Panel):
     bl_label = "Texture Mask"
     bl_options = {'DEFAULT_CLOSED'}
+    bl_category = "Tools"
 
     def draw(self, context):
         layout = self.layout
@@ -872,6 +869,7 @@ class IMAGE_PT_tools_mask_texture(BrushButtonsPanel, Panel):
 class IMAGE_PT_tools_brush_tool(BrushButtonsPanel, Panel):
     bl_label = "Tool"
     bl_options = {'DEFAULT_CLOSED'}
+    bl_category = "Options"
 
     def draw(self, context):
         layout = self.layout
@@ -890,6 +888,7 @@ class IMAGE_PT_tools_brush_tool(BrushButtonsPanel, Panel):
 class IMAGE_PT_paint_stroke(BrushButtonsPanel, Panel):
     bl_label = "Paint Stroke"
     bl_options = {'DEFAULT_CLOSED'}
+    bl_category = "Tools"
 
     def draw(self, context):
         layout = self.layout
@@ -961,6 +960,7 @@ class IMAGE_PT_paint_stroke(BrushButtonsPanel, Panel):
 class IMAGE_PT_paint_curve(BrushButtonsPanel, Panel):
     bl_label = "Paint Curve"
     bl_options = {'DEFAULT_CLOSED'}
+    bl_category = "Tools"
 
     def draw(self, context):
         layout = self.layout
@@ -983,6 +983,7 @@ class IMAGE_PT_paint_curve(BrushButtonsPanel, Panel):
 class IMAGE_PT_tools_brush_appearance(BrushButtonsPanel, Panel):
     bl_label = "Appearance"
     bl_options = {'DEFAULT_CLOSED'}
+    bl_category = "Options"
 
     def draw(self, context):
         layout = self.layout
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index bec36bc..fe91080 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -962,7 +962,7 @@ class VIEW3D_PT_tools_brush(Panel, View3DPaintPanel):
             if brush.image_tool in {'DRAW', 'FILL'}:
                 if brush.blend not in {'ERASE_ALPHA', 'ADD_ALPHA'}:
                     if not brush.use_gradient:
-                        col.template_color_picker(brush, "color", value_slider=True)
+                        self.prop_unified_color_picker(col, context, brush, "color", value_slider=True)
 
                     if settings.palette:
                         col.template_palette(settings, "palette", color=True)
@@ -974,7 +974,7 @@ class VIEW3D_PT_tools_brush(Panel, View3DPaintPanel):
                         if brush.image_tool != 'FILL':
                             col.label("Background Color")
                             row = col.row(align=True)
-                            row.prop(brush, "secondary_color", text="")
+                            self.prop_unified_color(row, context, brush, "secondary_color", text="")
 
                         if brush.image_tool == 'DRAW':
                             col.prop(brush, "gradient_stroke_mode", text="Mode")
@@ -984,9 +984,9 @@ class VIEW3D_PT_tools_brush(Panel, View3DPaintPanel):
                             col.prop(brush, "gradient_fill_mode")
                     else:
                         row = col.row(align=True)
-                        row.prop(brush, "color", text="")
+                        self.prop_unified_color(row, context, brush, "color", text="")
                         if brush.image_tool != 'FILL':
-                            row.prop(brush, "secondary_color", text="")
+                            self.prop_unified_color(row, context, brush, "secondary_color", text="")
                             row.separator()
                             row.operator("paint.brush_colors_flip", icon='FILE_REFRESH', text="")
 
@@ -1059,10 +1059,10 @@ class VIEW3D_PT_tools_brush(Panel, View3DPaintPanel):
         # Vertex Paint Mode #
         elif context.vertex_paint_object and brush:
             col = layout.column()
-            col.template_color_picker(brush, "color", value_slider=True)
+            self.prop_unified_color_picker(col, context, brush, "color", value_slider=True)
             if settings.palette:
                 col.template_palette(settings, "palette", color=True)
-            col.prop(brush, "color", text="")
+            self.prop_unified_color(col, context, brush, "color", text="")
 
             col.separator()			
             row = col.row(align=True)
@@ -1625,7 +1625,7 @@ class VIEW3D_PT_tools_vertexpaint(Panel, View3DPaintPanel):
 # ********** default tools for texture-paint ****************
 
 
-class VIEW3D_PT_tools_projectpaint(View3DPanel, Panel):
+class VIEW3D_PT_tools_projectpaint(View3DPaintPanel, Panel):
     bl_category = "Options"
     bl_context = "imagepaint"
     bl_label = "Project Paint"
@@ -1683,7 +1683,7 @@ class VIEW3D_PT_tools_projectpaint(View3DPanel, Panel):
         #col.menu("VIEW3D_MT_tools_projectpaint_clone", text=clone_text, translate=False)
 
         layout.prop(ipaint, "seam_bleed")
-
+        
         col = layout.colum

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list