[Bf-blender-cvs] [053c3bd48a8] master: Tool System: add a mode option to 3D view circle select

Campbell Barton noreply at git.blender.org
Fri Mar 1 13:22:50 CET 2019


Commit: 053c3bd48a80bc5f4b844f0739c436e82b2c7c8f
Author: Campbell Barton
Date:   Fri Mar 1 23:18:34 2019 +1100
Branches: master
https://developer.blender.org/rB053c3bd48a80bc5f4b844f0739c436e82b2c7c8f

Tool System: add a mode option to 3D view circle select

Support only basic operations: new/add/subtract.

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

M	release/scripts/presets/keyconfig/keymap_data/blender_default.py
M	release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
M	source/blender/editors/space_view3d/view3d_select.c

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

diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index c88aff33fd3..05a6a5fa7c7 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -5223,8 +5223,10 @@ def km_3d_view_tool_select_circle(params):
         {"items": [
             ("view3d.select_circle", {"type": params.tool_mouse, "value": 'PRESS'},
              {"properties": [("wait_for_input", False)]}),
+            ("view3d.select_circle", {"type": params.tool_mouse, "value": 'PRESS', "shift": True},
+             {"properties": [("wait_for_input", False), ("mode", 'ADD')]}),
             ("view3d.select_circle", {"type": params.tool_mouse, "value": 'PRESS', "ctrl": True},
-             {"properties": [("wait_for_input", False), ("deselect", True)]}),
+             {"properties": [("wait_for_input", False), ("mode", 'SUB')]}),
         ]},
     )
 
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index 35d6ee5a8bc..4dfaa598c2e 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -342,6 +342,7 @@ class _defs_view3d_select:
     def circle():
         def draw_settings(context, layout, tool):
             props = tool.operator_properties("view3d.select_circle")
+            layout.prop(props, "mode", expand=True)
             layout.prop(props, "radius")
 
         def draw_cursor(context, tool, xy):
diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c
index 70ff6065007..bf30f903929 100644
--- a/source/blender/editors/space_view3d/view3d_select.c
+++ b/source/blender/editors/space_view3d/view3d_select.c
@@ -3353,8 +3353,7 @@ static int view3d_circle_select_exec(bContext *C, wmOperator *op)
 	ViewContext vc;
 	const bool is_first = (op->customdata && (((wmGesture *)op->customdata)->is_active_prev == false));
 	const int radius = RNA_int_get(op->ptr, "radius");
-	const bool select = !RNA_boolean_get(op->ptr, "deselect");
-	eSelectOp sel_op = select ? SEL_OP_ADD : SEL_OP_SUB;
+	eSelectOp sel_op = RNA_enum_get(op->ptr, "mode");
 	const int mval[2] = {RNA_int_get(op->ptr, "x"),
 	                     RNA_int_get(op->ptr, "y")};
 
@@ -3436,7 +3435,8 @@ void VIEW3D_OT_select_circle(wmOperatorType *ot)
 	ot->flag = OPTYPE_UNDO;
 
 	/* properties */
-	WM_operator_properties_gesture_circle_select(ot);
+	WM_operator_properties_gesture_circle(ot);
+	WM_operator_properties_select_operation_simple(ot);
 }
 
 /** \} */



More information about the Bf-blender-cvs mailing list