split up proportional editing keymap functions (adding this in tomato branch was messy)

This commit is contained in:
Campbell Barton 2012-05-30 08:02:49 +00:00
parent 22982e9351
commit 47584648dc
7 changed files with 48 additions and 45 deletions

View File

@ -264,6 +264,7 @@ void ED_keymap_curve(wmKeyConfig *keyconf)
/* menus */
WM_keymap_add_menu(keymap, "VIEW3D_MT_hook", HKEY, KM_PRESS, KM_CTRL, 0);
ED_object_generic_keymap(keyconf, keymap, 3);
ED_keymap_proportional_cycle(keyconf, keymap);
ED_keymap_proportional_editmode(keyconf, keymap, TRUE);
}

View File

@ -88,14 +88,10 @@ int ED_object_parent_set(struct ReportList *reports, struct Main *bmain, struct
void ED_object_parent_clear(struct Object *ob, int type);
struct Base *ED_object_scene_link(struct Scene *scene, struct Object *ob);
/* generic editmode keys like pet
* do_pet
* 0: No
* 1: Object
* 2: Edit
* 3: Edit with connected
* */
void ED_object_generic_keymap(struct wmKeyConfig *keyconf, struct wmKeyMap *keymap, int do_pet);
void ED_keymap_proportional_cycle(struct wmKeyConfig *keyconf, struct wmKeyMap *keymap);
void ED_keymap_proportional_obmode(struct wmKeyConfig *keyconf, struct wmKeyMap *keymap);
void ED_keymap_proportional_editmode(struct wmKeyConfig *keyconf, struct wmKeyMap *keymap,
const short do_connected);
/* send your own notifier for select! */
void ED_base_object_select(struct Base *base, short mode);

View File

@ -376,7 +376,9 @@ void ED_keymap_mesh(wmKeyConfig *keyconf)
RNA_int_set(kmi->ptr, "level", i);
}
ED_object_generic_keymap(keyconf, keymap, 3);
ED_keymap_proportional_cycle(keyconf, keymap);
ED_keymap_proportional_editmode(keyconf, keymap, TRUE);
knifetool_modal_keymap(keyconf);
}

View File

@ -79,6 +79,7 @@ void ED_keymap_metaball(wmKeyConfig *keyconf)
kmi = WM_keymap_add_item(keymap, "MBALL_OT_select_all", IKEY, KM_PRESS, KM_CTRL, 0);
RNA_enum_set(kmi->ptr, "action", SEL_INVERT);
ED_object_generic_keymap(keyconf, keymap, 3);
ED_keymap_proportional_cycle(keyconf, keymap);
ED_keymap_proportional_editmode(keyconf, keymap, TRUE);
}

View File

@ -297,7 +297,8 @@ void ED_keymap_object(wmKeyConfig *keyconf)
keymap->poll = object_mode_poll;
/* object mode supports PET now */
ED_object_generic_keymap(keyconf, keymap, 1);
ED_keymap_proportional_cycle(keyconf, keymap);
ED_keymap_proportional_obmode(keyconf, keymap);
WM_keymap_add_item(keymap, "VIEW3D_OT_game_start", PKEY, KM_PRESS, 0, 0);
@ -420,41 +421,41 @@ void ED_keymap_object(wmKeyConfig *keyconf)
/* menus */
WM_keymap_add_menu(keymap, "VIEW3D_MT_hook", HKEY, KM_PRESS, KM_CTRL, 0);
ED_object_generic_keymap(keyconf, keymap, 2);
ED_keymap_proportional_cycle(keyconf, keymap);
ED_keymap_proportional_editmode(keyconf, keymap, FALSE);
}
void ED_object_generic_keymap(struct wmKeyConfig *UNUSED(keyconf), struct wmKeyMap *keymap, int do_pet)
void ED_keymap_proportional_cycle(struct wmKeyConfig *UNUSED(keyconf), struct wmKeyMap *keymap)
{
wmKeyMapItem *kmi;
/* used by mesh, curve & lattice only */
if (do_pet) {
/* context ops */
kmi = WM_keymap_add_item(keymap, "WM_OT_context_cycle_enum", OKEY, KM_PRESS, KM_SHIFT, 0);
RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_edit_falloff");
// Object mode
if (do_pet == TRUE) {
kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", OKEY, KM_PRESS, 0, 0);
RNA_string_set(kmi->ptr, "data_path", "tool_settings.use_proportional_edit_objects");
}
else { // Edit mode
kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, 0, 0);
RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_edit");
RNA_string_set(kmi->ptr, "value_1", "DISABLED");
RNA_string_set(kmi->ptr, "value_2", "ENABLED");
/* for modes/object types that allow 'connected' mode, add the Alt O key */
if (do_pet == 3) {
kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, KM_ALT, 0);
RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_edit");
RNA_string_set(kmi->ptr, "value_1", "DISABLED");
RNA_string_set(kmi->ptr, "value_2", "CONNECTED");
}
}
}
kmi = WM_keymap_add_item(keymap, "WM_OT_context_cycle_enum", OKEY, KM_PRESS, KM_SHIFT, 0);
RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_edit_falloff");
}
void ED_keymap_proportional_obmode(struct wmKeyConfig *UNUSED(keyconf), struct wmKeyMap *keymap)
{
wmKeyMapItem *kmi;
kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", OKEY, KM_PRESS, 0, 0);
RNA_string_set(kmi->ptr, "data_path", "tool_settings.use_proportional_edit_objects");
}
void ED_keymap_proportional_editmode(struct wmKeyConfig *UNUSED(keyconf), struct wmKeyMap *keymap,
const short do_connected)
{
wmKeyMapItem *kmi;
kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, 0, 0);
RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_edit");
RNA_string_set(kmi->ptr, "value_1", "DISABLED");
RNA_string_set(kmi->ptr, "value_2", "ENABLED");
/* for modes/object types that allow 'connected' mode, add the Alt O key */
if (do_connected) {
kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, KM_ALT, 0);
RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_edit");
RNA_string_set(kmi->ptr, "value_1", "DISABLED");
RNA_string_set(kmi->ptr, "value_2", "CONNECTED");
}
}

View File

@ -136,7 +136,8 @@ static void keymap_particle(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "PARTICLE_OT_weight_set", KKEY, KM_PRESS, KM_SHIFT, 0);
ED_object_generic_keymap(keyconf, keymap, 2);
ED_keymap_proportional_cycle(keyconf, keymap);
ED_keymap_proportional_editmode(keyconf, keymap, FALSE);
}
/******************************* boids *************************************/

View File

@ -3784,7 +3784,8 @@ void ED_keymap_uvedit(wmKeyConfig *keyconf)
RNA_string_set(kmi->ptr, "data_path", "space_data.uv_editor.pivot_point");
RNA_string_set(kmi->ptr, "value", "CURSOR");
ED_object_generic_keymap(keyconf, keymap, 2);
ED_keymap_proportional_cycle(keyconf, keymap);
ED_keymap_proportional_editmode(keyconf, keymap, FALSE);
transform_keymap_for_space(keyconf, keymap, SPACE_IMAGE);
}