[Bf-blender-cvs] [b95df9957d9] blender2.8: UI: move manipulator to tool-system

Campbell Barton noreply at git.blender.org
Fri Apr 20 16:01:05 CEST 2018


Commit: b95df9957d9217a7b850b6311ff6d569dbb9111b
Author: Campbell Barton
Date:   Fri Apr 20 15:59:42 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBb95df9957d9217a7b850b6311ff6d569dbb9111b

UI: move manipulator to tool-system

Current manipulator now follows active tool.

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

M	release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
M	source/blender/blenloader/intern/readfile.c
M	source/blender/blenloader/intern/versioning_legacy.c
M	source/blender/editors/mesh/editmesh_bevel.c
M	source/blender/editors/mesh/editmesh_bisect.c
M	source/blender/editors/mesh/editmesh_extrude.c
M	source/blender/editors/mesh/editmesh_inset.c
M	source/blender/editors/space_view3d/space_view3d.c
M	source/blender/editors/space_view3d/view3d_edit.c
M	source/blender/editors/space_view3d/view3d_header.c
M	source/blender/editors/space_view3d/view3d_intern.h
M	source/blender/editors/space_view3d/view3d_ops.c
M	source/blender/editors/transform/transform.h
M	source/blender/editors/transform/transform_generics.c
M	source/blender/editors/transform/transform_manipulator.c
M	source/blender/makesdna/DNA_view3d_types.h
M	source/blender/makesrna/intern/rna_space.c

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

diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index 88816a3ea9f..d08c7cd8815 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -53,11 +53,11 @@ class VIEW3D_PT_tools_active(ToolSelectPanelHelper, Panel):
 
     # for reuse
     _tools_transform = (
-        ("Translate", None,
+        ("Translate", "TRANSFORM_WGT_manipulator",
          (("transform.translate", dict(release_confirm=True), dict(type='EVT_TWEAK_A', value='ANY')),)),
-        ("Rotate", None,
+        ("Rotate", "TRANSFORM_WGT_manipulator",
          (("transform.rotate", dict(release_confirm=True), dict(type='EVT_TWEAK_A', value='ANY')),)),
-        ("Scale", None,
+        ("Scale", "TRANSFORM_WGT_manipulator",
          (("transform.resize", dict(release_confirm=True), dict(type='EVT_TWEAK_A', value='ANY')),)),
         ("Scale Cage", "VIEW3D_WGT_xform_cage", None),
         None,
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 112b97b5901..5dc98964fbd 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -7347,8 +7347,6 @@ void blo_do_versions_view3d_split_250(View3D *v3d, ListBase *regions)
 	}
 	
 	/* this was not initialized correct always */
-	if (v3d->twtype == 0)
-		v3d->twtype = V3D_MANIP_TRANSLATE;
 	if (v3d->gridsubdiv == 0)
 		v3d->gridsubdiv = 10;
 }
diff --git a/source/blender/blenloader/intern/versioning_legacy.c b/source/blender/blenloader/intern/versioning_legacy.c
index b31aa7047b0..57530c6a004 100644
--- a/source/blender/blenloader/intern/versioning_legacy.c
+++ b/source/blender/blenloader/intern/versioning_legacy.c
@@ -1300,7 +1300,6 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main)
 	if (main->versionfile <= 236) {
 		Object *ob;
 		Camera *cam = main->camera.first;
-		bScreen *sc;
 
 		while (cam) {
 			if (cam->ortho_scale == 0.0f) {
@@ -1310,22 +1309,8 @@ void blo_do_versions_pre250(FileData *fd, Library *lib, Main *main)
 			}
 			cam = cam->id.next;
 		}
-		/* set manipulator type */
 		/* force oops draw if depgraph was set*/
 		/* set time line var */
-		for (sc = main->screen.first; sc; sc = sc->id.next) {
-			ScrArea *sa;
-			for (sa = sc->areabase.first; sa; sa = sa->next) {
-				SpaceLink *sl;
-				for (sl = sa->spacedata.first; sl; sl = sl->next) {
-					if (sl->spacetype == SPACE_VIEW3D) {
-						View3D *v3d = (View3D *) sl;
-						if (v3d->twtype == 0)
-							v3d->twtype = V3D_MANIP_TRANSLATE;
-					}
-				}
-			}
-		}
 
 		/* softbody init new vars */
 		for (ob = main->object.first; ob; ob = ob->id.next) {
diff --git a/source/blender/editors/mesh/editmesh_bevel.c b/source/blender/editors/mesh/editmesh_bevel.c
index c8d33a9cc60..ca5af7a535d 100644
--- a/source/blender/editors/mesh/editmesh_bevel.c
+++ b/source/blender/editors/mesh/editmesh_bevel.c
@@ -87,7 +87,7 @@ typedef struct {
 	float mcenter[2];
 	BMBackup mesh_backup;
 	void *draw_handle_pixel;
-	short twtype;
+	short twflag;
 	short value_mode;  /* Which value does mouse movement and numeric input affect? */
 	float segments;     /* Segments as float so smooth mouse pan works in small increments */
 } BevelData;
@@ -180,8 +180,8 @@ static bool edbm_bevel_init(bContext *C, wmOperator *op, const bool is_modal)
 		G.moving = G_TRANSFORM_EDIT;
 
 		if (v3d) {
-			opdata->twtype = v3d->twtype;
-			v3d->twtype = 0;
+			opdata->twflag = v3d->twflag;
+			v3d->twflag = 0;
 		}
 	}
 
@@ -254,7 +254,7 @@ static void edbm_bevel_exit(bContext *C, wmOperator *op)
 		EDBM_redo_state_free(&opdata->mesh_backup, NULL, false);
 		ED_region_draw_cb_exit(ar->type, opdata->draw_handle_pixel);
 		if (v3d) {
-			v3d->twtype = opdata->twtype;
+			v3d->twflag = opdata->twflag;
 		}
 		G.moving = 0;
 	}
diff --git a/source/blender/editors/mesh/editmesh_bisect.c b/source/blender/editors/mesh/editmesh_bisect.c
index 741d16206cd..ac8c1f16477 100644
--- a/source/blender/editors/mesh/editmesh_bisect.c
+++ b/source/blender/editors/mesh/editmesh_bisect.c
@@ -70,7 +70,7 @@ typedef struct {
 	/* modal only */
 	BMBackup mesh_backup;
 	bool is_first;
-	short twtype;
+	short twflag;
 } BisectData;
 
 static bool mesh_bisect_interactive_calc(
@@ -156,8 +156,8 @@ static int mesh_bisect_invoke(bContext *C, wmOperator *op, const wmEvent *event)
 
 		/* misc other vars */
 		G.moving = G_TRANSFORM_EDIT;
-		opdata->twtype = v3d->twtype;
-		v3d->twtype = 0;
+		opdata->twflag = v3d->twflag;
+		v3d->twflag = 0;
 
 		/* initialize modal callout */
 		ED_area_headerprint(CTX_wm_area(C), IFACE_("LMB: Click and drag to draw cut line"));
@@ -169,7 +169,7 @@ static void edbm_bisect_exit(bContext *C, BisectData *opdata)
 {
 	View3D *v3d = CTX_wm_view3d(C);
 	EDBM_redo_state_free(&opdata->mesh_backup, NULL, false);
-	v3d->twtype = opdata->twtype;
+	v3d->twflag = opdata->twflag;
 	G.moving = 0;
 }
 
@@ -199,7 +199,7 @@ static int mesh_bisect_modal(bContext *C, wmOperator *op, const wmEvent *event)
 		/* Setup manipulators */
 		{
 			View3D *v3d = CTX_wm_view3d(C);
-			if (v3d && (v3d->twtype & V3D_MANIPULATOR_DRAW)) {
+			if (v3d && (v3d->twflag & V3D_MANIPULATOR_DRAW)) {
 				WM_manipulator_group_type_ensure("MESH_WGT_bisect");
 			}
 		}
diff --git a/source/blender/editors/mesh/editmesh_extrude.c b/source/blender/editors/mesh/editmesh_extrude.c
index 3031d2e09b3..2c60df9abe1 100644
--- a/source/blender/editors/mesh/editmesh_extrude.c
+++ b/source/blender/editors/mesh/editmesh_extrude.c
@@ -839,7 +839,7 @@ static int edbm_spin_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(e
 #ifdef USE_MANIPULATOR
 	if (ret & OPERATOR_FINISHED) {
 		/* Setup manipulators */
-		if (v3d && (v3d->twtype & V3D_MANIPULATOR_DRAW)) {
+		if (v3d && (v3d->twflag & V3D_MANIPULATOR_DRAW)) {
 			WM_manipulator_group_type_ensure("MESH_WGT_spin");
 		}
 	}
diff --git a/source/blender/editors/mesh/editmesh_inset.c b/source/blender/editors/mesh/editmesh_inset.c
index 3833b84b5d2..53ba5e4316f 100644
--- a/source/blender/editors/mesh/editmesh_inset.c
+++ b/source/blender/editors/mesh/editmesh_inset.c
@@ -72,7 +72,7 @@ typedef struct {
 	float mcenter[2];
 	BMBackup mesh_backup;
 	void *draw_handle_pixel;
-	short twtype;
+	short twflag;
 } InsetData;
 
 
@@ -152,8 +152,8 @@ static bool edbm_inset_init(bContext *C, wmOperator *op, const bool is_modal)
 		        ar->type, ED_region_draw_mouse_line_cb, opdata->mcenter, REGION_DRAW_POST_PIXEL);
 		G.moving = G_TRANSFORM_EDIT;
 		if (v3d) {
-			opdata->twtype = v3d->twtype;
-			v3d->twtype = 0;
+			opdata->twflag = v3d->twflag;
+			v3d->twflag = 0;
 		}
 	}
 
@@ -173,7 +173,7 @@ static void edbm_inset_exit(bContext *C, wmOperator *op)
 		EDBM_redo_state_free(&opdata->mesh_backup, NULL, false);
 		ED_region_draw_cb_exit(ar->type, opdata->draw_handle_pixel);
 		if (v3d) {
-			v3d->twtype = opdata->twtype;
+			v3d->twflag = opdata->twflag;
 		}
 		G.moving = 0;
 	}
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index bb521a1a3d9..a87154ea049 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -343,7 +343,6 @@ static SpaceLink *view3d_new(const bContext *C)
 	v3d->far = 1000.0f;
 
 	v3d->twflag |= U.manipulator_flag & V3D_MANIPULATOR_DRAW;
-	v3d->twtype = V3D_MANIP_TRANSLATE;
 	v3d->around = V3D_AROUND_CENTER_MEAN;
 	scene->orientation_index_custom = -1;
 	
@@ -707,7 +706,6 @@ static void view3d_widgets(void)
 	wmManipulatorMapType *mmap_type = WM_manipulatormaptype_ensure(
 	        &(const struct wmManipulatorMapType_Params){SPACE_VIEW3D, RGN_TYPE_WINDOW});
 
-	WM_manipulatorgrouptype_append_and_link(mmap_type, TRANSFORM_WGT_manipulator);
 	WM_manipulatorgrouptype_append_and_link(mmap_type, VIEW3D_WGT_lamp_spot);
 	WM_manipulatorgrouptype_append_and_link(mmap_type, VIEW3D_WGT_lamp_area);
 	WM_manipulatorgrouptype_append_and_link(mmap_type, VIEW3D_WGT_lamp_target);
@@ -717,6 +715,7 @@ static void view3d_widgets(void)
 	WM_manipulatorgrouptype_append_and_link(mmap_type, VIEW3D_WGT_empty_image);
 	WM_manipulatorgrouptype_append_and_link(mmap_type, VIEW3D_WGT_armature_spline);
 
+	WM_manipulatorgrouptype_append(TRANSFORM_WGT_manipulator);
 	WM_manipulatorgrouptype_append(VIEW3D_WGT_xform_cage);
 
 	WM_manipulatorgrouptype_append(VIEW3D_WGT_ruler);
diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c
index 858a4a1dfb6..f80d4a3b4b4 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -4632,52 +4632,6 @@ void VIEW3D_OT_cursor3d(wmOperatorType *ot)
 
 /** \} */
 
-/* -------------------------------------------------------------------- */
-/** \name Enable Transform Manipulator Operator
- * \{ */
-
-static int enable_manipulator_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
-{
-	View3D *v3d = CTX_wm_view3d(C);
-
-	v3d->twtype = 0;
-
-	if (RNA_boolean_get(op->ptr, "translate"))
-		v3d->twtype |= V3D_MANIP_TRANSLATE;
-	if (RNA_boolean_get(op->ptr, "rotate"))
-		v3d->twtype |= V3D_MANIP_ROTATE;
-	if (RNA_boolean_get(op->ptr, "scale"))
-		v3d->twtype |= V3D_MANIP_SCALE;
-
-	WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, v3d);
-
-	return OPERATOR_FINISHED;
-}
-
-void VIEW3D_OT_enable_manipulator(wmOperatorType *ot)
-{
-	PropertyRNA *prop;
-
-	/* identifiers */
-	ot->name = "Enable 3D Manipulator";
-	ot->description = "Enable the transform manipulator for use";
-	ot->idname = "VIEW3D_OT_enable_manipulator";
-
-	/* api callbacks */
-	ot->invoke = enable_manipulator_invoke;
-	ot->poll = ED_operator_view3d_active;
-
-	/* properties */
-	prop = RNA_def_boolean(ot->srna, "translate", 0, "Translate", "Enable the translate manipulator");
-	RNA_def_property_flag(prop, PROP_SKIP_SAVE);
-	prop = RNA_def_boolean(ot->srna, "rotate", 0, "Rotate", "Enable the rotate manipulator");
-	RNA_def_property_flag(prop, PROP_SKIP_SAVE);
-	prop = RNA_def_boolean(ot->srna, "scale", 0, "Scale", "Enable the scale manipulator");
-	RNA_def_property_flag(prop, PR

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list