Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/uvedit/uvedit_ops.c
| Show First 20 Lines • Show All 73 Lines • ▼ Show 20 Lines | |||||
| #include "ED_image.h" | #include "ED_image.h" | ||||
| #include "ED_mesh.h" | #include "ED_mesh.h" | ||||
| #include "ED_node.h" | #include "ED_node.h" | ||||
| #include "ED_uvedit.h" | #include "ED_uvedit.h" | ||||
| #include "ED_object.h" | #include "ED_object.h" | ||||
| #include "ED_screen.h" | #include "ED_screen.h" | ||||
| #include "ED_select_utils.h" | #include "ED_select_utils.h" | ||||
| #include "ED_keymap_templates.h" | |||||
| #include "ED_transform.h" | #include "ED_transform.h" | ||||
| #include "RNA_access.h" | #include "RNA_access.h" | ||||
| #include "RNA_define.h" | #include "RNA_define.h" | ||||
| #include "RNA_enum_types.h" | #include "RNA_enum_types.h" | ||||
| #include "WM_api.h" | #include "WM_api.h" | ||||
| #include "WM_types.h" | #include "WM_types.h" | ||||
| ▲ Show 20 Lines • Show All 4,601 Lines • ▼ Show 20 Lines | void ED_operatortypes_uvedit(void) | ||||
| WM_operatortype_append(UV_OT_hide); | WM_operatortype_append(UV_OT_hide); | ||||
| WM_operatortype_append(UV_OT_cursor_set); | WM_operatortype_append(UV_OT_cursor_set); | ||||
| } | } | ||||
| void ED_keymap_uvedit(wmKeyConfig *keyconf) | void ED_keymap_uvedit(wmKeyConfig *keyconf) | ||||
| { | { | ||||
| wmKeyMap *keymap; | wmKeyMap *keymap; | ||||
| wmKeyMapItem *kmi; | |||||
| keymap = WM_keymap_ensure(keyconf, "UV Editor", 0, 0); | keymap = WM_keymap_ensure(keyconf, "UV Editor", 0, 0); | ||||
| keymap->poll = ED_operator_uvedit_can_uv_sculpt; | keymap->poll = ED_operator_uvedit_can_uv_sculpt; | ||||
| /* cursor */ | |||||
| WM_keymap_add_item(keymap, "UV_OT_cursor_set", ACTIONMOUSE, KM_CLICK, 0, 0); | |||||
| #ifdef USE_WM_KEYMAP_27X | |||||
| /* Uv sculpt toggle */ | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", QKEY, KM_PRESS, 0, 0); | |||||
| RNA_string_set(kmi->ptr, "data_path", "tool_settings.use_uv_sculpt"); | |||||
| #endif | |||||
| /* Select Element (Sync Select: on) */ | |||||
| ED_keymap_editmesh_elem_mode(keyconf, keymap); | |||||
| /* Hack to prevent fall-through, when the button isn't visible. */ | |||||
| WM_keymap_add_item(keymap, "MESH_OT_select_mode", FOURKEY, KM_PRESS, 0, 0); | |||||
| /* Select Element (Sync Select: off) */ | |||||
| WM_keymap_add_context_enum_set_items( | |||||
| keymap, rna_enum_mesh_select_mode_uv_items, "tool_settings.uv_select_mode", | |||||
| ONEKEY, KM_PRESS, 0, 0); | |||||
| /* Mark edge seam */ | |||||
| WM_keymap_add_item(keymap, "UV_OT_mark_seam", EKEY, KM_PRESS, KM_CTRL, 0); | |||||
| /* pick selection */ | |||||
| RNA_boolean_set(WM_keymap_add_item(keymap, "UV_OT_select", SELECTMOUSE, KM_PRESS, 0, 0)->ptr, "extend", false); | |||||
| RNA_boolean_set(WM_keymap_add_item(keymap, "UV_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "extend", true); | |||||
| RNA_boolean_set(WM_keymap_add_item(keymap, "UV_OT_select_loop", SELECTMOUSE, KM_PRESS, KM_ALT, 0)->ptr, "extend", false); | |||||
| RNA_boolean_set(WM_keymap_add_item(keymap, "UV_OT_select_loop", SELECTMOUSE, KM_PRESS, KM_SHIFT | KM_ALT, 0)->ptr, "extend", true); | |||||
| WM_keymap_add_item(keymap, "UV_OT_select_split", YKEY, KM_PRESS, 0, 0); | |||||
| /* box/circle selection */ | |||||
| kmi = WM_keymap_add_item(keymap, "UV_OT_select_box", BKEY, KM_PRESS, 0, 0); | |||||
| RNA_boolean_set(kmi->ptr, "pinned", false); | |||||
| kmi = WM_keymap_add_item(keymap, "UV_OT_select_box", BKEY, KM_PRESS, KM_CTRL, 0); | |||||
| RNA_boolean_set(kmi->ptr, "pinned", true); | |||||
| WM_keymap_add_item(keymap, "UV_OT_select_circle", CKEY, KM_PRESS, 0, 0); | |||||
| kmi = WM_keymap_add_item(keymap, "UV_OT_select_lasso", EVT_TWEAK_A, KM_ANY, KM_CTRL, 0); | |||||
| RNA_boolean_set(kmi->ptr, "deselect", false); | |||||
| kmi = WM_keymap_add_item(keymap, "UV_OT_select_lasso", EVT_TWEAK_A, KM_ANY, KM_CTRL | KM_SHIFT, 0); | |||||
| RNA_boolean_set(kmi->ptr, "deselect", true); | |||||
| /* selection manipulation */ | |||||
| kmi = WM_keymap_add_item(keymap, "UV_OT_select_linked", LKEY, KM_PRESS, KM_CTRL, 0); | |||||
| RNA_boolean_set(kmi->ptr, "extend", true); | |||||
| RNA_boolean_set(kmi->ptr, "deselect", false); | |||||
| kmi = WM_keymap_add_item(keymap, "UV_OT_select_linked_pick", LKEY, KM_PRESS, 0, 0); | |||||
| RNA_boolean_set(kmi->ptr, "extend", true); | |||||
| RNA_boolean_set(kmi->ptr, "deselect", false); | |||||
| kmi = WM_keymap_add_item(keymap, "UV_OT_select_linked", LKEY, KM_PRESS, KM_CTRL | KM_SHIFT, 0); | |||||
| RNA_boolean_set(kmi->ptr, "extend", false); | |||||
| RNA_boolean_set(kmi->ptr, "deselect", true); | |||||
| kmi = WM_keymap_add_item(keymap, "UV_OT_select_linked_pick", LKEY, KM_PRESS, KM_SHIFT, 0); | |||||
| RNA_boolean_set(kmi->ptr, "extend", false); | |||||
| RNA_boolean_set(kmi->ptr, "deselect", true); | |||||
| /* select more/less */ | |||||
| WM_keymap_add_item(keymap, "UV_OT_select_more", PADPLUSKEY, KM_PRESS, KM_CTRL, 0); | |||||
| WM_keymap_add_item(keymap, "UV_OT_select_less", PADMINUS, KM_PRESS, KM_CTRL, 0); | |||||
| ED_keymap_template_select_all(keymap, "UV_OT_select_all"); | |||||
| WM_keymap_add_item(keymap, "UV_OT_select_pinned", PKEY, KM_PRESS, KM_SHIFT, 0); | |||||
| WM_keymap_add_menu(keymap, "IMAGE_MT_uvs_weldalign", WKEY, KM_PRESS, KM_SHIFT, 0); | |||||
| /* uv operations */ | |||||
| WM_keymap_add_item(keymap, "UV_OT_stitch", VKEY, KM_PRESS, 0, 0); | |||||
| kmi = WM_keymap_add_item(keymap, "UV_OT_pin", PKEY, KM_PRESS, 0, 0); | |||||
| RNA_boolean_set(kmi->ptr, "clear", false); | |||||
| kmi = WM_keymap_add_item(keymap, "UV_OT_pin", PKEY, KM_PRESS, KM_ALT, 0); | |||||
| RNA_boolean_set(kmi->ptr, "clear", true); | |||||
| /* unwrap */ | |||||
| WM_keymap_add_item(keymap, "UV_OT_unwrap", UKEY, KM_PRESS, 0, 0); | |||||
| #ifdef USE_WM_KEYMAP_27X | |||||
| WM_keymap_add_item(keymap, "UV_OT_minimize_stretch", VKEY, KM_PRESS, KM_CTRL, 0); | |||||
| WM_keymap_add_item(keymap, "UV_OT_pack_islands", PKEY, KM_PRESS, KM_CTRL, 0); | |||||
| WM_keymap_add_item(keymap, "UV_OT_average_islands_scale", AKEY, KM_PRESS, KM_CTRL, 0); | |||||
| #endif | |||||
| /* hide */ | |||||
| kmi = WM_keymap_add_item(keymap, "UV_OT_hide", HKEY, KM_PRESS, 0, 0); | |||||
| RNA_boolean_set(kmi->ptr, "unselected", false); | |||||
| kmi = WM_keymap_add_item(keymap, "UV_OT_hide", HKEY, KM_PRESS, KM_SHIFT, 0); | |||||
| RNA_boolean_set(kmi->ptr, "unselected", true); | |||||
| WM_keymap_add_item(keymap, "UV_OT_reveal", HKEY, KM_PRESS, KM_ALT, 0); | |||||
| /* menus */ | |||||
| WM_keymap_add_menu_pie(keymap, "IMAGE_MT_uvs_snap_pie", SKEY, KM_PRESS, KM_SHIFT, 0); | |||||
| WM_keymap_add_menu(keymap, "IMAGE_MT_uvs_select_mode", TABKEY, KM_PRESS, KM_CTRL, 0); | |||||
| ED_keymap_proportional_cycle(keyconf, keymap); | |||||
| ED_keymap_proportional_editmode(keyconf, keymap, false); | |||||
| transform_keymap_for_space(keyconf, keymap, SPACE_IMAGE); | |||||
| } | } | ||||
| /** \} */ | /** \} */ | ||||