Revision: 30242
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30242
Author:   jwilkins
Date:     2010-07-12 22:34:45 +0200 (Mon, 12 Jul 2010)

Log Message:
-----------
* added a 'copy brush' button that makes a new brush as a copy of the current 
brush
* removed OTTYPE_REGISTER from some sculpt/paint operators so they don't pop up 
in the operator panel

Modified Paths:
--------------
    branches/soc-2010-jwilkins/release/scripts/ui/space_view3d_toolbar.py
    branches/soc-2010-jwilkins/source/blender/editors/sculpt_paint/paint_ops.c
    branches/soc-2010-jwilkins/source/blender/editors/sculpt_paint/sculpt.c

Modified: branches/soc-2010-jwilkins/release/scripts/ui/space_view3d_toolbar.py
===================================================================
--- branches/soc-2010-jwilkins/release/scripts/ui/space_view3d_toolbar.py       
2010-07-12 20:17:23 UTC (rev 30241)
+++ branches/soc-2010-jwilkins/release/scripts/ui/space_view3d_toolbar.py       
2010-07-12 20:34:45 UTC (rev 30242)
@@ -525,6 +525,8 @@
 
                 row.template_list(settings, "brushes", settings, 
"active_brush_index", rows=2, maxrows=defaultbrushes)
 
+            col.operator("brush.copy")
+
         # Particle Mode #
 
         # XXX This needs a check if psys is editable.

Modified: 
branches/soc-2010-jwilkins/source/blender/editors/sculpt_paint/paint_ops.c
===================================================================
--- branches/soc-2010-jwilkins/source/blender/editors/sculpt_paint/paint_ops.c  
2010-07-12 20:17:23 UTC (rev 30241)
+++ branches/soc-2010-jwilkins/source/blender/editors/sculpt_paint/paint_ops.c  
2010-07-12 20:34:45 UTC (rev 30242)
@@ -73,11 +73,40 @@
        ot->exec= brush_add_exec;
        
        /* flags */
-       ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+       ot->flag= OPTYPE_UNDO;
 
        RNA_def_enum(ot->srna, "type", brush_type_items, OB_MODE_VERTEX_PAINT, 
"Type", "Which paint mode to create the brush for.");
 }
 
+/* Brush operators */
+static int brush_copy_exec(bContext *C, wmOperator *op)
+{
+       Paint *paint = paint_get_active(CTX_data_scene(C));
+       Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
+       Brush *br = paint_brush(paint);
+
+       br = copy_brush(br);
+
+       if (br)
+               paint_brush_set(paint_get_active(CTX_data_scene(C)), br);
+
+       return OPERATOR_FINISHED;
+}
+
+void BRUSH_OT_copy(wmOperatorType *ot)
+{
+       /* identifiers */
+       ot->name= "Copy Brush";
+       ot->description= "Copy the current brush and create a new one";
+       ot->idname= "BRUSH_OT_copy";
+
+       /* api callbacks */
+       ot->exec= brush_copy_exec;
+       
+       /* flags */
+       ot->flag= OPTYPE_UNDO;
+}
+
 static int vertex_color_set_exec(bContext *C, wmOperator *op)
 {
        Scene *scene = CTX_data_scene(C);
@@ -109,6 +138,7 @@
 {
        /* brush */
        WM_operatortype_append(BRUSH_OT_add);
+       WM_operatortype_append(BRUSH_OT_copy);
        WM_operatortype_append(BRUSH_OT_curve_preset);
 
 

Modified: 
branches/soc-2010-jwilkins/source/blender/editors/sculpt_paint/sculpt.c
===================================================================
--- branches/soc-2010-jwilkins/source/blender/editors/sculpt_paint/sculpt.c     
2010-07-12 20:17:23 UTC (rev 30241)
+++ branches/soc-2010-jwilkins/source/blender/editors/sculpt_paint/sculpt.c     
2010-07-12 20:34:45 UTC (rev 30242)
@@ -3671,8 +3671,6 @@
                { 0 }
        };
 
-       ot->flag |= OPTYPE_REGISTER;
-
        /* identifiers */
        ot->name= "Sculpt Mode";
        ot->idname= "SCULPT_OT_brush_stroke";
@@ -3684,7 +3682,7 @@
        ot->poll= sculpt_poll;
 
        /* flags (sculpt does own undo? (ton) */
-       ot->flag= OPTYPE_REGISTER|OPTYPE_BLOCKING;
+       ot->flag= OPTYPE_BLOCKING;
 
        /* properties */
 
@@ -3727,7 +3725,7 @@
        ot->exec= sculpt_set_persistent_base;
        ot->poll= sculpt_mode_poll;
        
-       ot->flag= OPTYPE_REGISTER;
+       ot->flag= 0;//OPTYPE_REGISTER;
 }
 
 /**** Toggle operator for turning sculpt mode on or off ****/
@@ -3804,7 +3802,7 @@
        ot->exec= sculpt_toggle_mode;
        ot->poll= ED_operator_object_active;
        
-       ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+       ot->flag= 0;
 }
 
 void ED_operatortypes_sculpt()


_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to