Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/object/object_modes.c
| Show First 20 Lines • Show All 171 Lines • ▼ Show 20 Lines | |||||
| * This could be done for entering modes too if it's needed. | * This could be done for entering modes too if it's needed. | ||||
| * | * | ||||
| * \{ */ | * \{ */ | ||||
| bool ED_object_mode_generic_enter( | bool ED_object_mode_generic_enter( | ||||
| struct bContext *C, eObjectMode object_mode) | struct bContext *C, eObjectMode object_mode) | ||||
| { | { | ||||
| Object *ob = CTX_data_active_object(C); | Object *ob = CTX_data_active_object(C); | ||||
| if (ob == NULL) { | |||||
| return (object_mode == OB_MODE_OBJECT); | |||||
| } | |||||
| if (ob->mode == object_mode) { | if (ob->mode == object_mode) { | ||||
| return true; | return true; | ||||
| } | } | ||||
| wmOperatorType *ot = WM_operatortype_find("OBJECT_OT_mode_set", false); | wmOperatorType *ot = WM_operatortype_find("OBJECT_OT_mode_set", false); | ||||
| PointerRNA ptr; | PointerRNA ptr; | ||||
| WM_operator_properties_create_ptr(&ptr, ot); | WM_operator_properties_create_ptr(&ptr, ot); | ||||
| RNA_enum_set(&ptr, "mode", object_mode); | RNA_enum_set(&ptr, "mode", object_mode); | ||||
| WM_operator_name_call_ptr(C, ot, WM_OP_INVOKE_DEFAULT, &ptr); | WM_operator_name_call_ptr(C, ot, WM_OP_INVOKE_DEFAULT, &ptr); | ||||
| ▲ Show 20 Lines • Show All 70 Lines • Show Last 20 Lines | |||||