[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24612] trunk/blender/source/blender: new function WM_keymap_add_menu(), similar to WM_keymap_add_item() except it takes a registered menu.
Campbell Barton
ideasman42 at gmail.com
Tue Nov 17 16:29:55 CET 2009
Revision: 24612
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24612
Author: campbellbarton
Date: 2009-11-17 16:29:55 +0100 (Tue, 17 Nov 2009)
Log Message:
-----------
new function WM_keymap_add_menu(), similar to WM_keymap_add_item() except it takes a registered menu. the key will then trigger this menu.
Modified Paths:
--------------
trunk/blender/source/blender/editors/armature/armature_ops.c
trunk/blender/source/blender/editors/curve/curve_ops.c
trunk/blender/source/blender/editors/mesh/mesh_ops.c
trunk/blender/source/blender/editors/object/object_ops.c
trunk/blender/source/blender/editors/space_node/node_ops.c
trunk/blender/source/blender/editors/space_sequencer/sequencer_ops.c
trunk/blender/source/blender/windowmanager/WM_api.h
trunk/blender/source/blender/windowmanager/intern/wm_keymap.c
Modified: trunk/blender/source/blender/editors/armature/armature_ops.c
===================================================================
--- trunk/blender/source/blender/editors/armature/armature_ops.c 2009-11-17 15:10:19 UTC (rev 24611)
+++ trunk/blender/source/blender/editors/armature/armature_ops.c 2009-11-17 15:29:55 UTC (rev 24612)
@@ -311,8 +311,7 @@
WM_keymap_add_item(keymap, "POSE_OT_ik_add", IKEY, KM_PRESS, /*KM_CTRL|*/KM_SHIFT, 0);
WM_keymap_add_item(keymap, "POSE_OT_ik_clear", IKEY, KM_PRESS, KM_CTRL|KM_ALT, 0);
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", GKEY, KM_PRESS, KM_CTRL, 0);
- RNA_string_set(kmi->ptr, "name", "VIEW3D_MT_pose_group");
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_pose_group", GKEY, KM_PRESS, KM_CTRL, 0);
/* set flags */
kmi= WM_keymap_add_item(keymap, "POSE_OT_flags_set", WKEY, KM_PRESS, KM_SHIFT, 0);
Modified: trunk/blender/source/blender/editors/curve/curve_ops.c
===================================================================
--- trunk/blender/source/blender/editors/curve/curve_ops.c 2009-11-17 15:10:19 UTC (rev 24611)
+++ trunk/blender/source/blender/editors/curve/curve_ops.c 2009-11-17 15:29:55 UTC (rev 24612)
@@ -251,8 +251,7 @@
WM_keymap_add_item(keymap, "CURVE_OT_specials_menu", WKEY, KM_PRESS, 0, 0);
/* menus */
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", HKEY, KM_PRESS, KM_CTRL, 0);
- RNA_string_set(kmi->ptr, "name", "VIEW3D_MT_hook");
+ WM_keymap_add_item(keymap, "VIEW3D_MT_hook", HKEY, KM_PRESS, KM_CTRL, 0);
ED_object_generic_keymap(keyconf, keymap, TRUE);
}
Modified: trunk/blender/source/blender/editors/mesh/mesh_ops.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/mesh_ops.c 2009-11-17 15:10:19 UTC (rev 24611)
+++ trunk/blender/source/blender/editors/mesh/mesh_ops.c 2009-11-17 15:29:55 UTC (rev 24612)
@@ -266,8 +266,7 @@
WM_keymap_add_item(keymap, "MESH_OT_skin", FKEY, KM_PRESS, KM_CTRL|KM_ALT, 0); /* python */
WM_keymap_add_item(keymap, "MESH_OT_duplicate_move", DKEY, KM_PRESS, KM_SHIFT, 0);
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", AKEY, KM_PRESS, KM_SHIFT, 0);
- RNA_string_set(kmi->ptr, "name", "INFO_MT_mesh_add");
+ WM_keymap_add_menu(keymap, "INFO_MT_mesh_add", AKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "MESH_OT_separate", PKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "MESH_OT_split", YKEY, KM_PRESS, 0, 0);
@@ -285,24 +284,13 @@
WM_keymap_add_item(keymap, "MESH_OT_knife_cut", LEFTMOUSE, KM_PRESS, 0, KKEY);
/* menus */
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", WKEY, KM_PRESS, 0, 0);
- RNA_string_set(kmi->ptr, "name", "VIEW3D_MT_edit_mesh_specials");
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_edit_mesh_specials", WKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_edit_mesh_faces", FKEY, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_edit_mesh_edges", EKEY, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_edit_mesh_vertices", VKEY, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_hook", HKEY, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_uv_map", UKEY, KM_PRESS, 0, 0);
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", FKEY, KM_PRESS, KM_CTRL, 0);
- RNA_string_set(kmi->ptr, "name", "VIEW3D_MT_edit_mesh_faces");
-
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", EKEY, KM_PRESS, KM_CTRL, 0);
- RNA_string_set(kmi->ptr, "name", "VIEW3D_MT_edit_mesh_edges");
-
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", VKEY, KM_PRESS, KM_CTRL, 0);
- RNA_string_set(kmi->ptr, "name", "VIEW3D_MT_edit_mesh_vertices");
-
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", HKEY, KM_PRESS, KM_CTRL, 0);
- RNA_string_set(kmi->ptr, "name", "VIEW3D_MT_hook");
-
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", UKEY, KM_PRESS, 0, 0);
- RNA_string_set(kmi->ptr, "name", "VIEW3D_MT_uv_map");
-
ED_object_generic_keymap(keyconf, keymap, TRUE);
}
Modified: trunk/blender/source/blender/editors/object/object_ops.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_ops.c 2009-11-17 15:10:19 UTC (rev 24611)
+++ trunk/blender/source/blender/editors/object/object_ops.c 2009-11-17 15:29:55 UTC (rev 24612)
@@ -284,20 +284,14 @@
WM_keymap_add_item(keymap, "OBJECT_OT_delete", XKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "OBJECT_OT_delete", DELKEY, KM_PRESS, 0, 0);
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", AKEY, KM_PRESS, KM_SHIFT, 0);
- RNA_string_set(kmi->ptr, "name", "INFO_MT_add");
+ WM_keymap_add_menu(keymap, "INFO_MT_add", AKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "OBJECT_OT_duplicates_make_real", AKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", AKEY, KM_PRESS, KM_CTRL, 0);
- RNA_string_set(kmi->ptr, "name", "VIEW3D_MT_object_apply");
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_object_apply", AKEY, KM_PRESS, KM_CTRL, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_make_single_user", UKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_make_links", LKEY, KM_PRESS, KM_CTRL, 0);
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", UKEY, KM_PRESS, 0, 0);
- RNA_string_set(kmi->ptr, "name", "VIEW3D_MT_make_single_user");
-
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", LKEY, KM_PRESS, KM_CTRL, 0);
- RNA_string_set(kmi->ptr, "name", "VIEW3D_MT_make_links");
-
WM_keymap_add_item(keymap, "OBJECT_OT_duplicate_move", DKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "OBJECT_OT_duplicate_move_linked", DKEY, KM_PRESS, KM_ALT, 0);
Modified: trunk/blender/source/blender/editors/space_node/node_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_ops.c 2009-11-17 15:10:19 UTC (rev 24611)
+++ trunk/blender/source/blender/editors/space_node/node_ops.c 2009-11-17 15:29:55 UTC (rev 24612)
@@ -108,8 +108,7 @@
WM_keymap_add_item(keymap, "NODE_OT_group_ungroup", GKEY, KM_PRESS, KM_ALT, 0);
WM_keymap_add_item(keymap, "NODE_OT_group_edit", TABKEY, KM_PRESS, 0, 0);
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", AKEY, KM_PRESS, KM_SHIFT, 0);
- RNA_string_set(kmi->ptr, "name", "NODE_MT_add");
+ WM_keymap_add_menu(keymap, "NODE_MT_add", AKEY, KM_PRESS, KM_SHIFT, 0);
transform_keymap_for_space(keyconf, keymap, SPACE_NODE);
}
Modified: trunk/blender/source/blender/editors/space_sequencer/sequencer_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_sequencer/sequencer_ops.c 2009-11-17 15:10:19 UTC (rev 24611)
+++ trunk/blender/source/blender/editors/space_sequencer/sequencer_ops.c 2009-11-17 15:29:55 UTC (rev 24612)
@@ -211,8 +211,7 @@
WM_keymap_add_item(keymap, "SEQUENCER_OT_select_border", BKEY, KM_PRESS, 0, 0);
- kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", AKEY, KM_PRESS, KM_SHIFT, 0);
- RNA_string_set(kmi->ptr, "name", "SEQUENCER_MT_add");
+ WM_keymap_add_menu(keymap, "SEQUENCER_MT_add", AKEY, KM_PRESS, KM_SHIFT, 0);
transform_keymap_for_space(keyconf, keymap, SPACE_SEQ);
}
Modified: trunk/blender/source/blender/windowmanager/WM_api.h
===================================================================
--- trunk/blender/source/blender/windowmanager/WM_api.h 2009-11-17 15:10:19 UTC (rev 24611)
+++ trunk/blender/source/blender/windowmanager/WM_api.h 2009-11-17 15:29:55 UTC (rev 24612)
@@ -100,6 +100,8 @@
int val, int modifier, int keymodifier);
wmKeyMapItem *WM_keymap_add_item(struct wmKeyMap *keymap, char *idname, int type,
int val, int modifier, int keymodifier);
+wmKeyMapItem *WM_keymap_add_menu(struct wmKeyMap *keymap, char *idname, int type,
+ int val, int modifier, int keymodifier);
void WM_keymap_remove_item(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi);
char *WM_keymap_item_to_string(wmKeyMapItem *kmi, char *str, int len);
Modified: trunk/blender/source/blender/windowmanager/intern/wm_keymap.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_keymap.c 2009-11-17 15:10:19 UTC (rev 24611)
+++ trunk/blender/source/blender/windowmanager/intern/wm_keymap.c 2009-11-17 15:29:55 UTC (rev 24612)
@@ -193,6 +193,14 @@
return kmi;
}
+/* menu wrapper for WM_keymap_add_item */
+wmKeyMapItem *WM_keymap_add_menu(wmKeyMap *keymap, char *idname, int type, int val, int modifier, int keymodifier)
+{
+ wmKeyMapItem *kmi= WM_keymap_add_item(keymap, "WM_OT_call_menu", type, val, modifier, keymodifier);
+ RNA_string_set(kmi->ptr, "name", idname);
+ return kmi;
+}
+
void WM_keymap_remove_item(wmKeyMap *keymap, wmKeyMapItem *kmi)
{
if(BLI_findindex(&keymap->items, kmi) != -1) {
More information about the Bf-blender-cvs
mailing list