[Bf-blender-cvs] [ffa21e74178] greasepencil-object: WIP: Changes to make Sculpt and Weight paint tools work

Antonio Vazquez noreply at git.blender.org
Tue Jul 10 16:03:02 CEST 2018


Commit: ffa21e741780b413c055be46595236599e529363
Author: Antonio Vazquez
Date:   Tue Jul 10 16:02:44 2018 +0200
Branches: greasepencil-object
https://developer.blender.org/rBffa21e741780b413c055be46595236599e529363

WIP: Changes to make Sculpt and Weight paint tools work

This is a temp solution while we get the new toolsystem in place

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

M	release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
M	source/blender/editors/gpencil/gpencil_brush.c
M	source/blender/editors/gpencil/gpencil_ops.c

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

diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index 85aed73f312..c4988b91a09 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -1010,6 +1010,7 @@ class _defs_gpencil_sculpt:
         return dict(
             text="Smooth",
             icon="ops.gpencil.sculpt_smooth",
+            widget=None,
             keymap=(
                 ("gpencil.brush_paint",
                  dict(mode='SMOOTH', wait_for_input=False),
@@ -1026,6 +1027,7 @@ class _defs_gpencil_sculpt:
         return dict(
             text="Thickness",
             icon="ops.gpencil.sculpt_thickness",
+            widget=None,
             keymap=(
                 ("gpencil.brush_paint",
                  dict(mode='THICKNESS', wait_for_input=False),
@@ -1042,6 +1044,7 @@ class _defs_gpencil_sculpt:
         return dict(
             text="Strength",
             icon="ops.gpencil.sculpt_strength",
+            widget=None,
             keymap=(
                 ("gpencil.brush_paint",
                  dict(mode='STRENGTH', wait_for_input=False),
@@ -1058,6 +1061,7 @@ class _defs_gpencil_sculpt:
         return dict(
             text="Grab",
             icon="ops.gpencil.sculpt_grab",
+            widget=None,
             keymap=(
                 ("gpencil.brush_paint",
                  dict(mode='GRAB', wait_for_input=False),
@@ -1074,6 +1078,7 @@ class _defs_gpencil_sculpt:
         return dict(
             text="Push",
             icon="ops.gpencil.sculpt_push",
+            widget=None,
             keymap=(
                 ("gpencil.brush_paint",
                  dict(mode='PUSH', wait_for_input=False),
@@ -1090,6 +1095,7 @@ class _defs_gpencil_sculpt:
         return dict(
             text="Twist",
             icon="ops.gpencil.sculpt_twist",
+            widget=None,
             keymap=(
                 ("gpencil.brush_paint",
                  dict(mode='TWIST', wait_for_input=False),
@@ -1106,6 +1112,7 @@ class _defs_gpencil_sculpt:
         return dict(
             text="Pinch",
             icon="ops.gpencil.sculpt_pinch",
+            widget=None,
             keymap=(
                 ("gpencil.brush_paint",
                  dict(mode='PINCH', wait_for_input=False),
@@ -1122,6 +1129,7 @@ class _defs_gpencil_sculpt:
         return dict(
             text="Randomize",
             icon="ops.gpencil.sculpt_randomize",
+            widget=None,
             keymap=(
                 ("gpencil.brush_paint",
                  dict(mode='RANDOMIZE', wait_for_input=False),
@@ -1138,6 +1146,7 @@ class _defs_gpencil_sculpt:
         return dict(
             text="Clone",
             icon="ops.gpencil.sculpt_clone",
+            widget=None,
             keymap=(
                 ("gpencil.brush_paint",
                  dict(mode='CLONE', wait_for_input=False),
@@ -1169,6 +1178,7 @@ class _defs_gpencil_weight:
         return dict(
             text="Draw",
             icon="ops.gpencil.sculpt_weight",
+            widget=None,
             keymap=(
                 ("gpencil.brush_paint",
                  dict(mode='WEIGHT', wait_for_input=False),
diff --git a/source/blender/editors/gpencil/gpencil_brush.c b/source/blender/editors/gpencil/gpencil_brush.c
index d685e2d5743..549ea2aef25 100644
--- a/source/blender/editors/gpencil/gpencil_brush.c
+++ b/source/blender/editors/gpencil/gpencil_brush.c
@@ -1176,13 +1176,16 @@ static bool gpsculpt_brush_init(bContext *C, wmOperator *op)
 	/* set the brush using the tool */
 	GP_BrushEdit_Settings *gset = &ts->gp_sculpt;
 	eGP_EditBrush_Types mode = RNA_enum_get(op->ptr, "mode");
-	if (is_weight_mode) {
-		gset->weighttype = mode;
-	}
-	else {
-		gset->brushtype = mode;
-	}
+	const bool keep_brush = RNA_boolean_get(op->ptr, "keep_brush");
 
+	if (!keep_brush) {
+		if (is_weight_mode) {
+			gset->weighttype = mode;
+		}
+		else {
+			gset->brushtype = mode;
+		}
+	}
 	tGP_BrushEditData *gso;
 
 	/* setup operator data */
@@ -2099,6 +2102,7 @@ void GPENCIL_OT_brush_paint(wmOperatorType *ot)
 
 	/* properties */
 	ot->prop = RNA_def_enum(ot->srna, "mode", prop_gpencil_sculpt_brush_items, 0, "Mode", "Brush mode");
+	RNA_def_property_flag(ot->prop, PROP_HIDDEN | PROP_SKIP_SAVE);
 
 	PropertyRNA *prop;
 	prop = RNA_def_collection_runtime(ot->srna, "stroke", &RNA_OperatorStrokeElement, "Stroke", "");
@@ -2107,6 +2111,10 @@ void GPENCIL_OT_brush_paint(wmOperatorType *ot)
 	prop = RNA_def_boolean(ot->srna, "wait_for_input", true, "Wait for Input",
 	                       "Enter a mini 'sculpt-mode' if enabled, otherwise, exit after drawing a single stroke");
 	RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+
+	prop = RNA_def_boolean(ot->srna, "keep_brush", false, "Keep Brush",
+		"Keep current brush activated");
+	RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
 }
 
 /* ************************************************ */
diff --git a/source/blender/editors/gpencil/gpencil_ops.c b/source/blender/editors/gpencil/gpencil_ops.c
index b61a9d3f0b8..ea9f5de771c 100644
--- a/source/blender/editors/gpencil/gpencil_ops.c
+++ b/source/blender/editors/gpencil/gpencil_ops.c
@@ -266,15 +266,18 @@ static void ed_keymap_gpencil_sculpt(wmKeyMap *keymap)
 	*
 	* For the modal version, use D+E -> Sculpt
 	*/
-	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_paint", LEFTMOUSE, KM_PRESS, 0, 0);
-	RNA_boolean_set(kmi->ptr, "wait_for_input", false);
+	/* GPXX: disabled to make toolsystem works */
+	//kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_paint", LEFTMOUSE, KM_PRESS, 0, 0);
+	//RNA_boolean_set(kmi->ptr, "wait_for_input", false);
 
 	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_paint", LEFTMOUSE, KM_PRESS, KM_CTRL, 0);
 	RNA_boolean_set(kmi->ptr, "wait_for_input", false);
+	RNA_boolean_set(kmi->ptr, "keep_brush", true);
 	/*RNA_boolean_set(kmi->ptr, "use_invert", true);*/
 
 	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_paint", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0);
 	RNA_boolean_set(kmi->ptr, "wait_for_input", false);
+	RNA_boolean_set(kmi->ptr, "keep_brush", true);
 	/*RNA_boolean_set(kmi->ptr, "use_smooth", true);*/
 
 	/* Shift-FKEY = Sculpt Strength */
@@ -300,15 +303,18 @@ static void ed_keymap_gpencil_weight(wmKeyMap *keymap)
 	*
 	* For the modal version, use D+E -> Sculpt
 	*/
-	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_paint", LEFTMOUSE, KM_PRESS, 0, 0);
-	RNA_boolean_set(kmi->ptr, "wait_for_input", false);
+	/* GPXX: disabled to make toolsystem works */
+	//kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_paint", LEFTMOUSE, KM_PRESS, 0, 0);
+	//RNA_boolean_set(kmi->ptr, "wait_for_input", false);
 
 	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_paint", LEFTMOUSE, KM_PRESS, KM_CTRL, 0);
 	RNA_boolean_set(kmi->ptr, "wait_for_input", false);
+	RNA_boolean_set(kmi->ptr, "keep_brush", true);
 	/*RNA_boolean_set(kmi->ptr, "use_invert", true);*/
 
 	kmi = WM_keymap_add_item(keymap, "GPENCIL_OT_brush_paint", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0);
 	RNA_boolean_set(kmi->ptr, "wait_for_input", false);
+	RNA_boolean_set(kmi->ptr, "keep_brush", true);
 	/*RNA_boolean_set(kmi->ptr, "use_smooth", true);*/
 }



More information about the Bf-blender-cvs mailing list