[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23336] trunk/blender/source/blender: Handlers/keymaps, some tweaks for previous commits:

Brecht Van Lommel brecht at blender.org
Fri Sep 18 17:48:49 CEST 2009


Revision: 23336
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23336
Author:   blendix
Date:     2009-09-18 17:48:49 +0200 (Fri, 18 Sep 2009)

Log Message:
-----------
Handlers/keymaps, some tweaks for previous commits:

* Screen keymap is now split up in two, some of the area/region
  manipulation operators here need to be handled before others.
* Moved paint/sculpt/sketch out of the 3d view keymap, these were
  there as a workaround, now with keymap poll no longer needed.
* Also fixes #19297, 3d cursor moves when combing in particle mode.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/armature/armature_ops.c
    trunk/blender/source/blender/editors/include/ED_sculpt.h
    trunk/blender/source/blender/editors/screen/screen_ops.c
    trunk/blender/source/blender/editors/sculpt_paint/paint_image.c
    trunk/blender/source/blender/editors/sculpt_paint/paint_intern.h
    trunk/blender/source/blender/editors/sculpt_paint/paint_ops.c
    trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c
    trunk/blender/source/blender/editors/sculpt_paint/sculpt.c
    trunk/blender/source/blender/editors/sculpt_paint/sculpt_intern.h
    trunk/blender/source/blender/editors/space_api/spacetypes.c
    trunk/blender/source/blender/editors/space_image/space_image.c
    trunk/blender/source/blender/editors/space_view3d/space_view3d.c
    trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
    trunk/blender/source/blender/editors/space_view3d/view3d_ops.c
    trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h
    trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
    trunk/blender/source/blender/windowmanager/intern/wm_window.c

Modified: trunk/blender/source/blender/editors/armature/armature_ops.c
===================================================================
--- trunk/blender/source/blender/editors/armature/armature_ops.c	2009-09-18 15:47:00 UTC (rev 23335)
+++ trunk/blender/source/blender/editors/armature/armature_ops.c	2009-09-18 15:48:49 UTC (rev 23336)
@@ -279,6 +279,15 @@
 	WM_keymap_add_item(keymap, "SKETCH_OT_cancel_stroke", ESCKEY, KM_PRESS, 0, 0);
 	WM_keymap_add_item(keymap, "SKETCH_OT_select", SELECTMOUSE, KM_PRESS, 0, 0);
 
+	/* sketch poll checks mode */	
+	WM_keymap_add_item(keymap, "SKETCH_OT_gesture", ACTIONMOUSE, KM_PRESS, KM_SHIFT, 0);
+	WM_keymap_add_item(keymap, "SKETCH_OT_draw_stroke", ACTIONMOUSE, KM_PRESS, 0, 0);
+	kmi = WM_keymap_add_item(keymap, "SKETCH_OT_draw_stroke", ACTIONMOUSE, KM_PRESS, KM_CTRL, 0);
+	RNA_boolean_set(kmi->ptr, "snap", 1);
+	WM_keymap_add_item(keymap, "SKETCH_OT_draw_preview", MOUSEMOVE, KM_ANY, 0, 0);
+	kmi = WM_keymap_add_item(keymap, "SKETCH_OT_draw_preview", MOUSEMOVE, KM_ANY, KM_CTRL, 0);
+	RNA_boolean_set(kmi->ptr, "snap", 1);
+
 	/* Pose ------------------------ */
 	/* only set in posemode, by space_view3d listener */
 	keymap= WM_keymap_find(wm, "Pose", 0, 0);

Modified: trunk/blender/source/blender/editors/include/ED_sculpt.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_sculpt.h	2009-09-18 15:47:00 UTC (rev 23335)
+++ trunk/blender/source/blender/editors/include/ED_sculpt.h	2009-09-18 15:48:49 UTC (rev 23336)
@@ -33,10 +33,10 @@
 
 /* sculpt.c */
 void ED_operatortypes_sculpt(void);
-void ED_keymap_sculpt(struct wmWindowManager *wm);
 
 /* paint_ops.c */
 void ED_operatortypes_paint(void);
+void ED_keymap_paint(struct wmWindowManager *wm);
 
 /* paint_image.c */
 void undo_imagepaint_step(int step);

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c	2009-09-18 15:47:00 UTC (rev 23335)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c	2009-09-18 15:48:49 UTC (rev 23336)
@@ -3293,17 +3293,13 @@
 {
 	wmKeyMap *keymap;
 	
-	/* Screen General ------------------------------------------------ */
-	keymap= WM_keymap_find(wm, "Screen", 0, 0);
+	/* Screen Editing ------------------------------------------------ */
+	keymap= WM_keymap_find(wm, "Screen Editing", 0, 0);
 	
-	
-	/* standard timers */
-	WM_keymap_add_item(keymap, "SCREEN_OT_animation_step", TIMER0, KM_ANY, KM_ANY, 0);
-	
 	RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_actionzone", LEFTMOUSE, KM_PRESS, 0, 0)->ptr, "modifier", 0);
 	RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_actionzone", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "modifier", 1);
 	RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_actionzone", LEFTMOUSE, KM_PRESS, KM_ALT, 0)->ptr, "modifier", 2);
-	
+
 	/* screen tools */
 	WM_keymap_verify_item(keymap, "SCREEN_OT_area_split", EVT_ACTIONZONE_AREA, 0, 0, 0);
 	WM_keymap_verify_item(keymap, "SCREEN_OT_area_join", EVT_ACTIONZONE_AREA, 0, 0, 0);
@@ -3312,7 +3308,15 @@
 	WM_keymap_verify_item(keymap, "SCREEN_OT_region_scale", EVT_ACTIONZONE_REGION, 0, 0, 0);
 			/* area move after action zones */
 	WM_keymap_verify_item(keymap, "SCREEN_OT_area_move", LEFTMOUSE, KM_PRESS, 0, 0);
+
+
+	/* Screen General ------------------------------------------------ */
+	keymap= WM_keymap_find(wm, "Screen", 0, 0);
 	
+	/* standard timers */
+	WM_keymap_add_item(keymap, "SCREEN_OT_animation_step", TIMER0, KM_ANY, KM_ANY, 0);
+	
+	
 	RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_screen_set", RIGHTARROWKEY, KM_PRESS, KM_CTRL, 0)->ptr, "delta", 1);
 	RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_screen_set", LEFTARROWKEY, KM_PRESS, KM_CTRL, 0)->ptr, "delta", -1);
 	WM_keymap_add_item(keymap, "SCREEN_OT_screen_full_area", UPARROWKEY, KM_PRESS, KM_CTRL, 0);

Modified: trunk/blender/source/blender/editors/sculpt_paint/paint_image.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/paint_image.c	2009-09-18 15:47:00 UTC (rev 23335)
+++ trunk/blender/source/blender/editors/sculpt_paint/paint_image.c	2009-09-18 15:48:49 UTC (rev 23336)
@@ -5240,6 +5240,11 @@
 	return 0;
 }
 
+int image_texture_paint_poll(bContext *C)
+{
+	return (texture_paint_poll(C) || image_paint_poll(C));
+}
+
 void PAINT_OT_texture_paint_radial_control(wmOperatorType *ot)
 {
 	WM_OT_radial_control_partial(ot);

Modified: trunk/blender/source/blender/editors/sculpt_paint/paint_intern.h
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/paint_intern.h	2009-09-18 15:47:00 UTC (rev 23335)
+++ trunk/blender/source/blender/editors/sculpt_paint/paint_intern.h	2009-09-18 15:48:49 UTC (rev 23336)
@@ -57,7 +57,10 @@
 void paint_cursor_start(struct bContext *C, int (*poll)(struct bContext *C));
 
 /* paint_vertex.c */
-int vertex_paint_mode_poll(bContext *C);
+int weight_paint_poll(struct bContext *C);
+int vertex_paint_poll(struct bContext *C);
+int vertex_paint_mode_poll(struct bContext *C);
+
 void clear_vpaint(Scene *scene, int selected);
 
 void PAINT_OT_weight_paint_toggle(struct wmOperatorType *ot);
@@ -69,6 +72,8 @@
 void PAINT_OT_vertex_paint(struct wmOperatorType *ot);
 
 /* paint_image.c */
+int image_texture_paint_poll(struct bContext *C);
+
 void PAINT_OT_image_paint(struct wmOperatorType *ot);
 void PAINT_OT_image_paint_radial_control(struct wmOperatorType *ot);
 void PAINT_OT_grab_clone(struct wmOperatorType *ot);

Modified: trunk/blender/source/blender/editors/sculpt_paint/paint_ops.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/paint_ops.c	2009-09-18 15:47:00 UTC (rev 23335)
+++ trunk/blender/source/blender/editors/sculpt_paint/paint_ops.c	2009-09-18 15:48:49 UTC (rev 23336)
@@ -38,6 +38,7 @@
 #include "RNA_enum_types.h"
 
 #include "paint_intern.h"
+#include "sculpt_intern.h"
 
 #include <string.h>
 
@@ -133,3 +134,48 @@
 	WM_operatortype_append(PAINT_OT_vertex_color_set);
 }
 
+void ED_keymap_paint(wmWindowManager *wm)
+{
+	wmKeyMap *keymap;
+	
+	/* Sculpt mode */
+	keymap= WM_keymap_find(wm, "Sculpt", 0, 0);
+	keymap->poll= sculpt_poll;
+
+	RNA_enum_set(WM_keymap_add_item(keymap, "SCULPT_OT_radial_control", FKEY, KM_PRESS, 0, 0)->ptr, "mode", WM_RADIALCONTROL_SIZE);
+	RNA_enum_set(WM_keymap_add_item(keymap, "SCULPT_OT_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", WM_RADIALCONTROL_STRENGTH);
+	RNA_enum_set(WM_keymap_add_item(keymap, "SCULPT_OT_radial_control", FKEY, KM_PRESS, KM_CTRL, 0)->ptr, "mode", WM_RADIALCONTROL_ANGLE);
+
+	WM_keymap_add_item(keymap, "SCULPT_OT_brush_stroke", LEFTMOUSE, KM_PRESS, 0, 0);
+	WM_keymap_add_item(keymap, "SCULPT_OT_brush_stroke", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0);
+
+	/* Vertex Paint mode */
+	keymap= WM_keymap_find(wm, "Vertex Paint", 0, 0);
+	keymap->poll= vertex_paint_poll;
+
+	RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_vertex_paint_radial_control", FKEY, KM_PRESS, 0, 0)->ptr, "mode", WM_RADIALCONTROL_SIZE);
+	RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_vertex_paint_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", WM_RADIALCONTROL_STRENGTH);
+	WM_keymap_verify_item(keymap, "PAINT_OT_vertex_paint", LEFTMOUSE, KM_PRESS, 0, 0);
+	WM_keymap_add_item(keymap, "PAINT_OT_sample_color", RIGHTMOUSE, KM_PRESS, 0, 0);
+
+	/* Weight Paint mode */
+	keymap= WM_keymap_find(wm, "Weight Paint", 0, 0);
+	keymap->poll= weight_paint_poll;
+
+	RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_weight_paint_radial_control", FKEY, KM_PRESS, 0, 0)->ptr, "mode", WM_RADIALCONTROL_SIZE);
+	RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_weight_paint_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", WM_RADIALCONTROL_STRENGTH);
+
+	WM_keymap_verify_item(keymap, "PAINT_OT_weight_paint", LEFTMOUSE, KM_PRESS, 0, 0);
+
+	/* Image/Texture Paint mode */
+	keymap= WM_keymap_find(wm, "Image Paint", 0, 0);
+	keymap->poll= image_texture_paint_poll;
+
+	RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_texture_paint_radial_control", FKEY, KM_PRESS, 0, 0)->ptr, "mode", WM_RADIALCONTROL_SIZE);
+	RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_texture_paint_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", WM_RADIALCONTROL_STRENGTH);
+
+	WM_keymap_add_item(keymap, "PAINT_OT_image_paint", LEFTMOUSE, KM_PRESS, 0, 0);
+	WM_keymap_add_item(keymap, "PAINT_OT_sample_color", RIGHTMOUSE, KM_PRESS, 0, 0);
+	WM_keymap_add_item(keymap, "PAINT_OT_clone_cursor_set", LEFTMOUSE, KM_PRESS, KM_CTRL, 0);
+}
+

Modified: trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c	2009-09-18 15:47:00 UTC (rev 23335)
+++ trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c	2009-09-18 15:48:49 UTC (rev 23336)
@@ -119,7 +119,7 @@
 	return ob && ob->mode == OB_MODE_VERTEX_PAINT;
 }
 
-static int vp_poll(bContext *C)
+int vertex_paint_poll(bContext *C)
 {
 	if(vertex_paint_mode_poll(C) && 
 	   paint_brush(&CTX_data_tool_settings(C)->vpaint->paint)) {
@@ -133,7 +133,7 @@
 	return 0;
 }
 
-static int wp_poll(bContext *C)
+int weight_paint_poll(bContext *C)
 {
 	Object *ob = CTX_data_active_object(C);
 
@@ -1060,7 +1060,7 @@
 			wp= scene->toolsettings->wpaint= new_vpaint(1);
 
 		paint_init(&wp->paint, PAINT_CURSOR_WEIGHT_PAINT);
-		paint_cursor_start(C, wp_poll);
+		paint_cursor_start(C, weight_paint_poll);
 		
 		mesh_octree_table(ob, NULL, NULL, 's');
 		
@@ -1129,7 +1129,7 @@
 {
 	int ret = WM_radial_control_modal(C, op, event);
 	if(ret != OPERATOR_RUNNING_MODAL)
-		paint_cursor_start(C, vp_poll);
+		paint_cursor_start(C, vertex_paint_poll);
 	return ret;
 }
 
@@ -1158,7 +1158,7 @@
 {
 	int ret = WM_radial_control_modal(C, op, event);
 	if(ret != OPERATOR_RUNNING_MODAL)
-		paint_cursor_start(C, wp_poll);
+		paint_cursor_start(C, weight_paint_poll);
 	return ret;
 }
 
@@ -1182,7 +1182,7 @@
 	ot->invoke= wpaint_radial_control_invoke;
 	ot->modal= wpaint_radial_control_modal;
 	ot->exec= wpaint_radial_control_exec;
-	ot->poll= wp_poll;
+	ot->poll= weight_paint_poll;
 	
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
@@ -1198,7 +1198,7 @@

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list