[Bf-blender-cvs] [034207497e4] greasepencil-object: Set cursor when change object mode

Antonio Vazquez noreply at git.blender.org
Fri Apr 6 15:57:36 CEST 2018


Commit: 034207497e45244d5f022ccecade99d7f7ecbfbd
Author: Antonio Vazquez
Date:   Fri Apr 6 15:52:59 2018 +0200
Branches: greasepencil-object
https://developer.blender.org/rB034207497e45244d5f022ccecade99d7f7ecbfbd

Set cursor when change object mode

Cleanup workspace code and replace by change cursor function.

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

M	source/blender/editors/object/object_edit.c

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

diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 7703c5641dd..e8748c1d463 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -1501,78 +1501,6 @@ static int object_mode_set_exec(bContext *C, wmOperator *op)
 	
 	if (!ob || !ED_object_mode_compat_test(ob, mode))
 		return OPERATOR_PASS_THROUGH;
-#if 0
-	/* if type is OB_GPENCIL, select mode for grease pencil strokes */
-	if ((ob) && (ob->type == OB_GPENCIL)) {
-		if (ob->data) {
-			bGPdata *gpd = (bGPdata *)ob->data;
-			/* restore status */
-			if ((workspace->object_mode == OB_MODE_OBJECT) &&
-				((workspace->object_mode != mode) || (mode == OB_MODE_OBJECT)) &&
-				(mode != OB_MODE_EDIT))
-			{
-				if (gpd->flag & GP_DATA_STROKE_EDITMODE) {
-					workspace->object_mode = OB_MODE_GPENCIL_EDIT;
-					ED_gpencil_setup_modes(C, gpd, workspace->object_mode);
-					return OPERATOR_FINISHED;
-				}
-				else if (gpd->flag & GP_DATA_STROKE_PAINTMODE) {
-					workspace->object_mode = OB_MODE_GPENCIL_PAINT;
-					ED_gpencil_setup_modes(C, gpd, workspace->object_mode);
-					return OPERATOR_FINISHED;
-				}
-				else if (gpd->flag & GP_DATA_STROKE_SCULPTMODE) {
-					workspace->object_mode = OB_MODE_GPENCIL_SCULPT;
-					ED_gpencil_setup_modes(C, gpd, workspace->object_mode);
-					return OPERATOR_FINISHED;
-				}
-				else if (gpd->flag & GP_DATA_STROKE_WEIGHTMODE) {
-					workspace->object_mode = OB_MODE_GPENCIL_WEIGHT;
-					ED_gpencil_setup_modes(C, gpd, workspace->object_mode);
-					return OPERATOR_FINISHED;
-				}
-			}
-
-			/* set status */
-			if (ELEM(mode, OB_MODE_OBJECT, OB_MODE_EDIT, OB_MODE_POSE)) {
-				workspace->object_mode_restore = OB_MODE_OBJECT;
-				if (ELEM(workspace->object_mode, OB_MODE_EDIT, OB_MODE_GPENCIL_EDIT) || (mode == OB_MODE_EDIT)) {
-					WM_operator_name_call(C, "GPENCIL_OT_editmode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-				}
-				if (workspace->object_mode == OB_MODE_GPENCIL_PAINT) {
-					WM_operator_name_call(C, "GPENCIL_OT_paintmode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-				}
-				if (workspace->object_mode == OB_MODE_GPENCIL_SCULPT) {
-					WM_operator_name_call(C, "GPENCIL_OT_sculptmode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-				}
-				if (workspace->object_mode == OB_MODE_GPENCIL_WEIGHT) {
-					WM_operator_name_call(C, "GPENCIL_OT_weightmode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-				}
-				return OPERATOR_FINISHED;
-			}
-			else if (mode == OB_MODE_GPENCIL_EDIT) {
-				workspace->object_mode_restore = workspace->object_mode;
-				WM_operator_name_call(C, "GPENCIL_OT_editmode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-				return OPERATOR_FINISHED;
-			}
-			else if (mode == OB_MODE_GPENCIL_PAINT) {
-				workspace->object_mode_restore = workspace->object_mode;
-				WM_operator_name_call(C, "GPENCIL_OT_paintmode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-				return OPERATOR_FINISHED;
-			}
-			else if (mode == OB_MODE_GPENCIL_SCULPT) {
-				workspace->object_mode_restore = workspace->object_mode;
-				WM_operator_name_call(C, "GPENCIL_OT_sculptmode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-				return OPERATOR_FINISHED;
-			}
-			else if (mode == OB_MODE_GPENCIL_WEIGHT) {
-				workspace->object_mode_restore = workspace->object_mode;
-				WM_operator_name_call(C, "GPENCIL_OT_weightmode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-				return OPERATOR_FINISHED;
-			}
-		}
-	}
-#endif
 
 	if (ob->mode != mode) {
 		/* we should be able to remove this call, each operator calls  */
@@ -1599,6 +1527,14 @@ static int object_mode_set_exec(bContext *C, wmOperator *op)
 		}
 	}
 
+	/* if type is OB_GPENCIL, set cursor mode */
+	if ((ob) && (ob->type == OB_GPENCIL)) {
+		if (ob->data) {
+			bGPdata *gpd = (bGPdata *)ob->data;
+			ED_gpencil_setup_modes(C, gpd, ob->mode);
+		}
+	}
+
 	return OPERATOR_FINISHED;
 }



More information about the Bf-blender-cvs mailing list