[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