[Bf-blender-cvs] [eb22dce] GPencil_Editing_Stage3: Code Cleanup: Move the editmode toggle operator to another file

Joshua Leung noreply at git.blender.org
Sat Sep 19 14:10:49 CEST 2015


Commit: eb22dcea61215806c4bd668ebfeb1e7c7c6a4d8b
Author: Joshua Leung
Date:   Sat Sep 19 19:38:48 2015 +1200
Branches: GPencil_Editing_Stage3
https://developer.blender.org/rBeb22dcea61215806c4bd668ebfeb1e7c7c6a4d8b

Code Cleanup: Move the editmode toggle operator to another file

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

M	source/blender/editors/gpencil/gpencil_edit.c
M	source/blender/editors/gpencil/gpencil_intern.h
M	source/blender/editors/gpencil/gpencil_ops.c

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

diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c
index 5c37a0a..32f5c9c4 100644
--- a/source/blender/editors/gpencil/gpencil_edit.c
+++ b/source/blender/editors/gpencil/gpencil_edit.c
@@ -44,6 +44,7 @@
 
 #include "BLT_translation.h"
 
+#include "DNA_object_types.h"
 #include "DNA_scene_types.h"
 #include "DNA_screen_types.h"
 #include "DNA_space_types.h"
@@ -73,6 +74,61 @@
 #include "gpencil_intern.h"
 
 /* ************************************************ */
+/* Stroke Edit Mode Management */
+
+static int gpencil_editmode_toggle_poll(bContext *C)
+{
+	return ED_gpencil_data_get_active(C) != NULL;
+}
+
+static int gpencil_editmode_toggle_exec(bContext *C, wmOperator *UNUSED(op))
+{
+	Object *ob = CTX_data_active_object(C);
+	bGPdata *gpd = ED_gpencil_data_get_active(C);
+	
+	/* Toggle editmode flag... */
+	if (gpd == NULL)
+		return OPERATOR_CANCELLED;
+	
+	gpd->flag ^= GP_DATA_STROKE_EDITMODE;
+	WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | ND_GPENCIL_EDITMODE, NULL);
+	
+	
+	/* Update active object's mode setting,
+	 * as it now needs to reflect GPencil status...
+	 */
+	if (ob) {
+		ob->restore_mode = ob->mode;
+		
+		if (gpd->flag & GP_DATA_STROKE_EDITMODE) {
+			ob->mode |= OB_MODE_GPENCIL;
+		}
+		else {
+			ob->mode &= ~OB_MODE_GPENCIL;
+		}
+		
+		WM_event_add_notifier(C, NC_SCENE | ND_MODE, NULL);
+	}
+	
+	return OPERATOR_FINISHED;
+}
+
+void GPENCIL_OT_editmode_toggle(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name = "Strokes Edit Mode Toggle";
+	ot->idname = "GPENCIL_OT_editmode_toggle";
+	ot->description = "Enter/Exit edit mode for Grease Pencil strokes";
+	
+	/* callbacks */
+	ot->exec = gpencil_editmode_toggle_exec;
+	ot->poll = gpencil_editmode_toggle_poll;
+	
+	/* flags */
+	ot->flag = OPTYPE_UNDO | OPTYPE_REGISTER;
+}
+
+/* ************************************************ */
 /* Stroke Editing Operators */
 
 /* poll callback for all stroke editing operators */
diff --git a/source/blender/editors/gpencil/gpencil_intern.h b/source/blender/editors/gpencil/gpencil_intern.h
index b16b4e2..df182db 100644
--- a/source/blender/editors/gpencil/gpencil_intern.h
+++ b/source/blender/editors/gpencil/gpencil_intern.h
@@ -130,6 +130,8 @@ typedef enum eGPencil_PaintModes {
 
 /* stroke editing ----- */
 
+void GPENCIL_OT_editmode_toggle(struct wmOperatorType *ot);
+
 void GPENCIL_OT_select(struct wmOperatorType *ot);
 void GPENCIL_OT_select_all(struct wmOperatorType *ot);
 void GPENCIL_OT_select_circle(struct wmOperatorType *ot);
diff --git a/source/blender/editors/gpencil/gpencil_ops.c b/source/blender/editors/gpencil/gpencil_ops.c
index 9bf175c..14288a0 100644
--- a/source/blender/editors/gpencil/gpencil_ops.c
+++ b/source/blender/editors/gpencil/gpencil_ops.c
@@ -37,7 +37,6 @@
 #include "BKE_context.h"
 
 #include "DNA_gpencil_types.h"
-#include "DNA_object_types.h"
 
 #include "WM_api.h"
 #include "WM_types.h"
@@ -51,61 +50,6 @@
 #include "gpencil_intern.h"
 
 /* ****************************************** */
-// XXX: move this
-
-static int gpencil_editmode_toggle_poll(bContext *C)
-{
-	return ED_gpencil_data_get_active(C) != NULL;
-}
-
-static int gpencil_editmode_toggle_exec(bContext *C, wmOperator *UNUSED(op))
-{
-	Object *ob = CTX_data_active_object(C);
-	bGPdata *gpd = ED_gpencil_data_get_active(C);
-	
-	/* Toggle editmode flag... */
-	if (gpd == NULL)
-		return OPERATOR_CANCELLED;
-	
-	gpd->flag ^= GP_DATA_STROKE_EDITMODE;
-	WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | ND_GPENCIL_EDITMODE, NULL);
-	
-	
-	/* Update active object's mode setting,
-	 * as it now needs to reflect GPencil status... 
-	 */
-	if (ob) {
-		ob->restore_mode = ob->mode;
-		
-		if (gpd->flag & GP_DATA_STROKE_EDITMODE) {
-			ob->mode |= OB_MODE_GPENCIL;
-		}
-		else {
-			ob->mode &= ~OB_MODE_GPENCIL;
-		}
-		
-		WM_event_add_notifier(C, NC_SCENE | ND_MODE, NULL);
-	}
-	
-	return OPERATOR_FINISHED;
-}
-
-void GPENCIL_OT_editmode_toggle(wmOperatorType *ot)
-{
-	/* identifiers */
-	ot->name = "Strokes Edit Mode Toggle";
-	ot->idname = "GPENCIL_OT_editmode_toggle";
-	ot->description = "Enter/Exit edit mode for Grease Pencil strokes";
-	
-	/* callbacks */
-	ot->exec = gpencil_editmode_toggle_exec;
-	ot->poll = gpencil_editmode_toggle_poll;
-	
-	/* flags */
-	ot->flag = OPTYPE_UNDO | OPTYPE_REGISTER;
-}
-
-/* ****************************************** */
 /* Grease Pencil Keymaps */
 
 /* Generic Drawing Keymap */




More information about the Bf-blender-cvs mailing list