diff options
author | Sybren A. Stüvel <sybren@blender.org> | 2020-10-02 19:56:25 +0300 |
---|---|---|
committer | Sybren A. Stüvel <sybren@blender.org> | 2020-10-02 19:56:25 +0300 |
commit | 90a27d5aa91a1b6a25ea14e11c889d47f77f4cf7 (patch) | |
tree | 3916b5139f9e48ca543a1f017f82b62101dd717a /source/blender/editors | |
parent | 0db98b214d468864630fc9bba72be4ff9b2548e5 (diff) |
Cleanup: Use enum for return values in context callbacks
Define enum `eContextResult` and use its values for returns, instead of
just returning 1, 0, or -1 (and always having some comment that explains
what -1 means).
This also cleans up the mixup between returning `0` and `false`, and `1`
and `true`. An inconsistency was discovered during this cleanup, and
marked with `TODO(sybren)`. It's not fixed here, as it would consititute
a functional change.
The enum isn't used everywhere, as enums in C and C++ can have different
storage sizes. To prevent issues, callback functions are still declared
as returning`int`. To at least make things easier to understand for
humans, I marked those with `int /*eContextResult*/`.
This is a followup of D9090, and is intended to unify how context
callbacks return values. This will make it easier to extend the approach
in D9090 to those functions.
No functional changes.
Differential Revision: https://developer.blender.org/D9095
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/screen/screen_context.c | 272 | ||||
-rw-r--r-- | source/blender/editors/space_buttons/buttons_context.c | 98 | ||||
-rw-r--r-- | source/blender/editors/space_clip/space_clip.c | 12 | ||||
-rw-r--r-- | source/blender/editors/space_image/space_image.c | 11 | ||||
-rw-r--r-- | source/blender/editors/space_node/space_node.c | 21 | ||||
-rw-r--r-- | source/blender/editors/space_sequencer/space_sequencer.c | 10 | ||||
-rw-r--r-- | source/blender/editors/space_text/space_text.c | 10 |
7 files changed, 227 insertions, 207 deletions
diff --git a/source/blender/editors/screen/screen_context.c b/source/blender/editors/screen/screen_context.c index e32d374d094..07a571ae464 100644 --- a/source/blender/editors/screen/screen_context.c +++ b/source/blender/editors/screen/screen_context.c @@ -114,23 +114,16 @@ const char *screen_context_dir[] = { /* Each function `screen_ctx_XXX()` will be called when the screen context "XXX" is requested. * ensure_ed_screen_context_functions() is responsible for creating the hash map from context - * member name to function. - * - * Each function returns: - * 1 for "the member name was found and returned data is valid" - * 0 for "the member name was not found" - * -1 for "the member name was found but data is not available" - * - * */ + * member name to function. */ -static int screen_ctx_scene(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_scene(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); Scene *scene = WM_window_get_active_scene(win); CTX_data_id_pointer_set(result, &scene->id); - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_visible_objects(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_visible_objects(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); View3D *v3d = CTX_wm_view3d(C); /* This may be NULL in a lot of cases. */ @@ -142,9 +135,9 @@ static int screen_ctx_visible_objects(const bContext *C, bContextDataResult *res } } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_selectable_objects(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_selectable_objects(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); View3D *v3d = CTX_wm_view3d(C); /* This may be NULL in a lot of cases. */ @@ -156,9 +149,9 @@ static int screen_ctx_selectable_objects(const bContext *C, bContextDataResult * } } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_selected_objects(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_selected_objects(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); View3D *v3d = CTX_wm_view3d(C); /* This may be NULL in a lot of cases. */ @@ -170,9 +163,10 @@ static int screen_ctx_selected_objects(const bContext *C, bContextDataResult *re } } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_selected_editable_objects(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_selected_editable_objects(const bContext *C, + bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); View3D *v3d = CTX_wm_view3d(C); /* This may be NULL in a lot of cases. */ @@ -184,9 +178,9 @@ static int screen_ctx_selected_editable_objects(const bContext *C, bContextDataR } } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_editable_objects(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_editable_objects(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); View3D *v3d = CTX_wm_view3d(C); /* This may be NULL in a lot of cases. */ @@ -199,9 +193,9 @@ static int screen_ctx_editable_objects(const bContext *C, bContextDataResult *re } } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_objects_in_mode(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_objects_in_mode(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); View3D *v3d = CTX_wm_view3d(C); /* This may be NULL in a lot of cases. */ @@ -215,9 +209,10 @@ static int screen_ctx_objects_in_mode(const bContext *C, bContextDataResult *res FOREACH_OBJECT_IN_MODE_END; } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_objects_in_mode_unique_data(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_objects_in_mode_unique_data(const bContext *C, + bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); View3D *v3d = CTX_wm_view3d(C); /* This may be NULL in a lot of cases. */ @@ -238,11 +233,11 @@ static int screen_ctx_objects_in_mode_unique_data(const bContext *C, bContextDat FOREACH_OBJECT_IN_MODE_END; } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_visible_or_editable_bones_(const bContext *C, - bContextDataResult *result, - const bool editable_bones) +static eContextResult screen_ctx_visible_or_editable_bones_(const bContext *C, + bContextDataResult *result, + const bool editable_bones) { wmWindow *win = CTX_wm_window(C); ViewLayer *view_layer = WM_window_get_active_view_layer(win); @@ -299,21 +294,21 @@ static int screen_ctx_visible_or_editable_bones_(const bContext *C, MEM_freeN(objects); CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_visible_bones(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_visible_bones(const bContext *C, bContextDataResult *result) { return screen_ctx_visible_or_editable_bones_(C, result, false); } -static int screen_ctx_editable_bones(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_editable_bones(const bContext *C, bContextDataResult *result) { return screen_ctx_visible_or_editable_bones_(C, result, true); } -static int screen_ctx_selected_bones_(const bContext *C, - bContextDataResult *result, - const bool selected_editable_bones) +static eContextResult screen_ctx_selected_bones_(const bContext *C, + bContextDataResult *result, + const bool selected_editable_bones) { wmWindow *win = CTX_wm_window(C); ViewLayer *view_layer = WM_window_get_active_view_layer(win); @@ -369,19 +364,20 @@ static int screen_ctx_selected_bones_(const bContext *C, MEM_freeN(objects); CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_selected_bones(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_selected_bones(const bContext *C, bContextDataResult *result) { return screen_ctx_selected_bones_(C, result, false); } -static int screen_ctx_selected_editable_bones(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_selected_editable_bones(const bContext *C, + bContextDataResult *result) { return screen_ctx_selected_bones_(C, result, true); } -static int screen_ctx_visible_pose_bones(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_visible_pose_bones(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); View3D *v3d = CTX_wm_view3d(C); /* This may be NULL in a lot of cases. */ @@ -405,11 +401,11 @@ static int screen_ctx_visible_pose_bones(const bContext *C, bContextDataResult * FOREACH_OBJECT_IN_MODE_END; } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_selected_pose_bones(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_selected_pose_bones(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); View3D *v3d = CTX_wm_view3d(C); /* This may be NULL in a lot of cases. */ @@ -433,12 +429,12 @@ static int screen_ctx_selected_pose_bones(const bContext *C, bContextDataResult FOREACH_OBJECT_IN_MODE_END; } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_selected_pose_bones_from_active_object(const bContext *C, - bContextDataResult *result) +static eContextResult screen_ctx_selected_pose_bones_from_active_object(const bContext *C, + bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ViewLayer *view_layer = WM_window_get_active_view_layer(win); @@ -458,11 +454,11 @@ static int screen_ctx_selected_pose_bones_from_active_object(const bContext *C, FOREACH_PCHAN_SELECTED_IN_OBJECT_END; } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_active_bone(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_active_bone(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ViewLayer *view_layer = WM_window_get_active_view_layer(win); @@ -472,19 +468,19 @@ static int screen_ctx_active_bone(const bContext *C, bContextDataResult *result) if (arm->edbo) { if (arm->act_edbone) { CTX_data_pointer_set(result, &arm->id, &RNA_EditBone, arm->act_edbone); - return 1; + return CTX_RESULT_OK; } } else { if (arm->act_bone) { CTX_data_pointer_set(result, &arm->id, &RNA_Bone, arm->act_bone); - return 1; + return CTX_RESULT_OK; } } } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_active_pose_bone(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_active_pose_bone(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ViewLayer *view_layer = WM_window_get_active_view_layer(win); @@ -495,11 +491,11 @@ static int screen_ctx_active_pose_bone(const bContext *C, bContextDataResult *re pchan = BKE_pose_channel_active(obpose); if (pchan) { CTX_data_pointer_set(result, &obpose->id, &RNA_PoseBone, pchan); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_active_object(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_active_object(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ViewLayer *view_layer = WM_window_get_active_view_layer(win); @@ -509,9 +505,9 @@ static int screen_ctx_active_object(const bContext *C, bContextDataResult *resul CTX_data_id_pointer_set(result, &obact->id); } - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_object(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_object(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ViewLayer *view_layer = WM_window_get_active_view_layer(win); @@ -521,9 +517,9 @@ static int screen_ctx_object(const bContext *C, bContextDataResult *result) CTX_data_id_pointer_set(result, &obact->id); } - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_edit_object(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_edit_object(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ViewLayer *view_layer = WM_window_get_active_view_layer(win); @@ -533,9 +529,9 @@ static int screen_ctx_edit_object(const bContext *C, bContextDataResult *result) CTX_data_id_pointer_set(result, &obedit->id); } - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_sculpt_object(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_sculpt_object(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ViewLayer *view_layer = WM_window_get_active_view_layer(win); @@ -545,9 +541,9 @@ static int screen_ctx_sculpt_object(const bContext *C, bContextDataResult *resul CTX_data_id_pointer_set(result, &obact->id); } - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_vertex_paint_object(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_vertex_paint_object(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ViewLayer *view_layer = WM_window_get_active_view_layer(win); @@ -556,9 +552,9 @@ static int screen_ctx_vertex_paint_object(const bContext *C, bContextDataResult CTX_data_id_pointer_set(result, &obact->id); } - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_weight_paint_object(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_weight_paint_object(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ViewLayer *view_layer = WM_window_get_active_view_layer(win); @@ -567,9 +563,9 @@ static int screen_ctx_weight_paint_object(const bContext *C, bContextDataResult CTX_data_id_pointer_set(result, &obact->id); } - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_image_paint_object(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_image_paint_object(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ViewLayer *view_layer = WM_window_get_active_view_layer(win); @@ -578,9 +574,10 @@ static int screen_ctx_image_paint_object(const bContext *C, bContextDataResult * CTX_data_id_pointer_set(result, &obact->id); } - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_particle_edit_object(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_particle_edit_object(const bContext *C, + bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ViewLayer *view_layer = WM_window_get_active_view_layer(win); @@ -589,9 +586,9 @@ static int screen_ctx_particle_edit_object(const bContext *C, bContextDataResult CTX_data_id_pointer_set(result, &obact->id); } - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_pose_object(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_pose_object(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ViewLayer *view_layer = WM_window_get_active_view_layer(win); @@ -600,9 +597,9 @@ static int screen_ctx_pose_object(const bContext *C, bContextDataResult *result) if (obpose) { CTX_data_id_pointer_set(result, &obpose->id); } - return 1; + return CTX_RESULT_OK; } -static int screen_ctx_sequences(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_sequences(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); Scene *scene = WM_window_get_active_scene(win); @@ -612,11 +609,11 @@ static int screen_ctx_sequences(const bContext *C, bContextDataResult *result) CTX_data_list_add(result, &scene->id, &RNA_Sequence, seq); } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_selected_sequences(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_selected_sequences(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); Scene *scene = WM_window_get_active_scene(win); @@ -628,11 +625,12 @@ static int screen_ctx_selected_sequences(const bContext *C, bContextDataResult * } } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_selected_editable_sequences(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_selected_editable_sequences(const bContext *C, + bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); Scene *scene = WM_window_get_active_scene(win); @@ -644,11 +642,11 @@ static int screen_ctx_selected_editable_sequences(const bContext *C, bContextDat } } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_selected_nla_strips(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_selected_nla_strips(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); Scene *scene = WM_window_get_active_scene(win); @@ -671,11 +669,11 @@ static int screen_ctx_selected_nla_strips(const bContext *C, bContextDataResult ANIM_animdata_freelist(&anim_data); CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_gpencil_data(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_gpencil_data(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ScrArea *area = CTX_wm_area(C); @@ -690,11 +688,11 @@ static int screen_ctx_gpencil_data(const bContext *C, bContextDataResult *result if (gpd) { CTX_data_id_pointer_set(result, &gpd->id); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_gpencil_data_owner(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_gpencil_data_owner(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ScrArea *area = CTX_wm_area(C); @@ -710,11 +708,11 @@ static int screen_ctx_gpencil_data_owner(const bContext *C, bContextDataResult * if (gpd_ptr) { CTX_data_pointer_set(result, ptr.owner_id, ptr.type, ptr.data); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_annotation_data(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_annotation_data(const bContext *C, bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); bScreen *screen = CTX_wm_screen(C); @@ -724,11 +722,12 @@ static int screen_ctx_annotation_data(const bContext *C, bContextDataResult *res if (gpd) { CTX_data_id_pointer_set(result, &gpd->id); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_annotation_data_owner(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_annotation_data_owner(const bContext *C, + bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); bScreen *screen = CTX_wm_screen(C); @@ -743,11 +742,12 @@ static int screen_ctx_annotation_data_owner(const bContext *C, bContextDataResul if (gpd_ptr) { CTX_data_pointer_set(result, ptr.owner_id, ptr.type, ptr.data); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_active_gpencil_layer(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_active_gpencil_layer(const bContext *C, + bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ScrArea *area = CTX_wm_area(C); @@ -760,12 +760,13 @@ static int screen_ctx_active_gpencil_layer(const bContext *C, bContextDataResult if (gpl) { CTX_data_pointer_set(result, &gpd->id, &RNA_GPencilLayer, gpl); - return 1; + return CTX_RESULT_OK; } } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_active_annotation_layer(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_active_annotation_layer(const bContext *C, + bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); bScreen *screen = CTX_wm_screen(C); @@ -778,12 +779,13 @@ static int screen_ctx_active_annotation_layer(const bContext *C, bContextDataRes if (gpl) { CTX_data_pointer_set(result, &gpd->id, &RNA_GPencilLayer, gpl); - return 1; + return CTX_RESULT_OK; } } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_active_gpencil_frame(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_active_gpencil_frame(const bContext *C, + bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ScrArea *area = CTX_wm_area(C); @@ -796,12 +798,13 @@ static int screen_ctx_active_gpencil_frame(const bContext *C, bContextDataResult if (gpl) { CTX_data_pointer_set(result, &gpd->id, &RNA_GPencilLayer, gpl->actframe); - return 1; + return CTX_RESULT_OK; } } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_visible_gpencil_layers(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_visible_gpencil_layers(const bContext *C, + bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ScrArea *area = CTX_wm_area(C); @@ -816,11 +819,12 @@ static int screen_ctx_visible_gpencil_layers(const bContext *C, bContextDataResu } } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_editable_gpencil_layers(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_editable_gpencil_layers(const bContext *C, + bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ScrArea *area = CTX_wm_area(C); @@ -835,11 +839,12 @@ static int screen_ctx_editable_gpencil_layers(const bContext *C, bContextDataRes } } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_editable_gpencil_strokes(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_editable_gpencil_strokes(const bContext *C, + bContextDataResult *result) { wmWindow *win = CTX_wm_window(C); ScrArea *area = CTX_wm_area(C); @@ -879,11 +884,11 @@ static int screen_ctx_editable_gpencil_strokes(const bContext *C, bContextDataRe } } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_active_operator(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_active_operator(const bContext *C, bContextDataResult *result) { wmOperator *op = NULL; @@ -903,13 +908,13 @@ static int screen_ctx_active_operator(const bContext *C, bContextDataResult *res if (op && op->ptr) { CTX_data_pointer_set(result, NULL, &RNA_Operator, op); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_sel_edit_fcurves_(const bContext *C, - bContextDataResult *result, - const int extra_filter) +static eContextResult screen_ctx_sel_edit_fcurves_(const bContext *C, + bContextDataResult *result, + const int extra_filter) { bAnimContext ac; @@ -932,27 +937,30 @@ static int screen_ctx_sel_edit_fcurves_(const bContext *C, ANIM_animdata_freelist(&anim_data); CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } -static int screen_ctx_editable_fcurves(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_editable_fcurves(const bContext *C, bContextDataResult *result) { return screen_ctx_sel_edit_fcurves_(C, result, ANIMFILTER_FOREDIT); } -static int screen_ctx_visible_fcurves(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_visible_fcurves(const bContext *C, bContextDataResult *result) { return screen_ctx_sel_edit_fcurves_(C, result, 0); } -static int screen_ctx_selected_editable_fcurves(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_selected_editable_fcurves(const bContext *C, + bContextDataResult *result) { return screen_ctx_sel_edit_fcurves_(C, result, ANIMFILTER_SEL | ANIMFILTER_FOREDIT); } -static int screen_ctx_selected_visible_fcurves(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_selected_visible_fcurves(const bContext *C, + bContextDataResult *result) { return screen_ctx_sel_edit_fcurves_(C, result, ANIMFILTER_SEL); } -static int screen_ctx_active_editable_fcurve(const bContext *C, bContextDataResult *result) +static eContextResult screen_ctx_active_editable_fcurve(const bContext *C, + bContextDataResult *result) { bAnimContext ac; @@ -972,9 +980,9 @@ static int screen_ctx_active_editable_fcurve(const bContext *C, bContextDataResu } ANIM_animdata_freelist(&anim_data); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } /* Registry of context callback functions. */ @@ -1057,13 +1065,13 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult { if (CTX_data_dir(member)) { CTX_data_dir_set(result, screen_context_dir); - return 1; + return CTX_RESULT_OK; } ensure_ed_screen_context_functions(); context_callback callback = BLI_ghash_lookup(ed_screen_context_functions, member); if (callback == NULL) { - return 0; /* not found */ + return CTX_RESULT_MEMBER_NOT_FOUND; } return callback(C, result); diff --git a/source/blender/editors/space_buttons/buttons_context.c b/source/blender/editors/space_buttons/buttons_context.c index a233e3a9edd..fabccecd533 100644 --- a/source/blender/editors/space_buttons/buttons_context.c +++ b/source/blender/editors/space_buttons/buttons_context.c @@ -780,17 +780,19 @@ const char *buttons_context_dir[] = { NULL, }; -int buttons_context(const bContext *C, const char *member, bContextDataResult *result) +int /*eContextResult*/ buttons_context(const bContext *C, + const char *member, + bContextDataResult *result) { SpaceProperties *sbuts = CTX_wm_space_properties(C); ButsContextPath *path = sbuts ? sbuts->path : NULL; if (!path) { - return 0; + return CTX_RESULT_MEMBER_NOT_FOUND; } if (sbuts->mainb == BCONTEXT_TOOL) { - return 0; + return CTX_RESULT_MEMBER_NOT_FOUND; } /* here we handle context, getting data from precomputed path */ @@ -803,7 +805,7 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r else { CTX_data_dir_set(result, buttons_context_dir); } - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "scene")) { /* Do not return one here if scene not found in path, @@ -812,67 +814,67 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r } if (CTX_data_equals(member, "world")) { set_pointer_type(path, result, &RNA_World); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "object")) { set_pointer_type(path, result, &RNA_Object); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "mesh")) { set_pointer_type(path, result, &RNA_Mesh); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "armature")) { set_pointer_type(path, result, &RNA_Armature); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "lattice")) { set_pointer_type(path, result, &RNA_Lattice); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "curve")) { set_pointer_type(path, result, &RNA_Curve); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "meta_ball")) { set_pointer_type(path, result, &RNA_MetaBall); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "light")) { set_pointer_type(path, result, &RNA_Light); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "camera")) { set_pointer_type(path, result, &RNA_Camera); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "speaker")) { set_pointer_type(path, result, &RNA_Speaker); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "lightprobe")) { set_pointer_type(path, result, &RNA_LightProbe); - return 1; + return CTX_RESULT_OK; } #ifdef WITH_HAIR_NODES if (CTX_data_equals(member, "hair")) { set_pointer_type(path, result, &RNA_Hair); - return 1; + return CTX_RESULT_OK; } #endif #ifdef WITH_PARTICLE_NODES if (CTX_data_equals(member, "pointcloud")) { set_pointer_type(path, result, &RNA_PointCloud); - return 1; + return CTX_RESULT_OK; } #endif if (CTX_data_equals(member, "volume")) { set_pointer_type(path, result, &RNA_Volume); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "material")) { set_pointer_type(path, result, &RNA_Material); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "texture")) { ButsContextTexture *ct = sbuts->texuser; @@ -881,7 +883,7 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r CTX_data_pointer_set(result, &ct->texture->id, &RNA_Texture, ct->texture); } - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "material_slot")) { PointerRNA *ptr = get_pointer_type(path, &RNA_Object); @@ -899,7 +901,7 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r } } - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "texture_user")) { ButsContextTexture *ct = sbuts->texuser; @@ -913,7 +915,7 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r CTX_data_pointer_set(result, user->ptr.owner_id, user->ptr.type, user->ptr.data); } - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "texture_user_property")) { ButsContextTexture *ct = sbuts->texuser; @@ -927,7 +929,7 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r CTX_data_pointer_set(result, NULL, &RNA_Property, user->prop); } - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "texture_node")) { ButsContextTexture *ct = sbuts->texuser; @@ -938,9 +940,9 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r CTX_data_pointer_set(result, &ct->user->ntree->id, &RNA_Node, ct->user->node); } - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } if (CTX_data_equals(member, "texture_slot")) { ButsContextTexture *ct = sbuts->texuser; @@ -967,23 +969,23 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r } } - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "bone")) { set_pointer_type(path, result, &RNA_Bone); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "edit_bone")) { set_pointer_type(path, result, &RNA_EditBone); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "pose_bone")) { set_pointer_type(path, result, &RNA_PoseBone); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "particle_system")) { set_pointer_type(path, result, &RNA_ParticleSystem); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "particle_system_editable")) { if (PE_poll((bContext *)C)) { @@ -992,7 +994,7 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r else { CTX_data_pointer_set(result, NULL, &RNA_ParticleSystem, NULL); } - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "particle_settings")) { /* only available when pinned */ @@ -1000,7 +1002,7 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r if (ptr && ptr->data) { CTX_data_pointer_set(result, ptr->owner_id, &RNA_ParticleSettings, ptr->data); - return 1; + return CTX_RESULT_OK; } /* get settings from active particle system instead */ @@ -1009,11 +1011,11 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r if (ptr && ptr->data) { ParticleSettings *part = ((ParticleSystem *)ptr->data)->part; CTX_data_pointer_set(result, ptr->owner_id, &RNA_ParticleSettings, part); - return 1; + return CTX_RESULT_OK; } set_pointer_type(path, result, &RNA_ParticleSettings); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "cloth")) { PointerRNA *ptr = get_pointer_type(path, &RNA_Object); @@ -1022,9 +1024,9 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r Object *ob = ptr->data; ModifierData *md = BKE_modifiers_findby_type(ob, eModifierType_Cloth); CTX_data_pointer_set(result, &ob->id, &RNA_ClothModifier, md); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } if (CTX_data_equals(member, "soft_body")) { PointerRNA *ptr = get_pointer_type(path, &RNA_Object); @@ -1033,9 +1035,9 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r Object *ob = ptr->data; ModifierData *md = BKE_modifiers_findby_type(ob, eModifierType_Softbody); CTX_data_pointer_set(result, &ob->id, &RNA_SoftBodyModifier, md); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } if (CTX_data_equals(member, "fluid")) { @@ -1045,9 +1047,9 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r Object *ob = ptr->data; ModifierData *md = BKE_modifiers_findby_type(ob, eModifierType_Fluid); CTX_data_pointer_set(result, &ob->id, &RNA_FluidModifier, md); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } if (CTX_data_equals(member, "collision")) { PointerRNA *ptr = get_pointer_type(path, &RNA_Object); @@ -1056,13 +1058,13 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r Object *ob = ptr->data; ModifierData *md = BKE_modifiers_findby_type(ob, eModifierType_Collision); CTX_data_pointer_set(result, &ob->id, &RNA_CollisionModifier, md); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } if (CTX_data_equals(member, "brush")) { set_pointer_type(path, result, &RNA_Brush); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "dynamic_paint")) { PointerRNA *ptr = get_pointer_type(path, &RNA_Object); @@ -1071,19 +1073,19 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r Object *ob = ptr->data; ModifierData *md = BKE_modifiers_findby_type(ob, eModifierType_DynamicPaint); CTX_data_pointer_set(result, &ob->id, &RNA_DynamicPaintModifier, md); - return 1; + return CTX_RESULT_OK; } - return -1; /* found but not available */ + return CTX_RESULT_NO_DATA; } if (CTX_data_equals(member, "line_style")) { set_pointer_type(path, result, &RNA_FreestyleLineStyle); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "gpencil")) { set_pointer_type(path, result, &RNA_GreasePencil); - return 1; + return CTX_RESULT_OK; } - return 0; /* not found */ + return CTX_RESULT_MEMBER_NOT_FOUND; } /************************* Drawing the Path ************************/ diff --git a/source/blender/editors/space_clip/space_clip.c b/source/blender/editors/space_clip/space_clip.c index 18df8774e09..b17a0ba03d5 100644 --- a/source/blender/editors/space_clip/space_clip.c +++ b/source/blender/editors/space_clip/space_clip.c @@ -575,29 +575,31 @@ static void clip_keymap(struct wmKeyConfig *keyconf) extern const char *clip_context_dir[]; /* quiet warning. */ const char *clip_context_dir[] = {"edit_movieclip", "edit_mask", NULL}; -static int clip_context(const bContext *C, const char *member, bContextDataResult *result) +static int /*eContextResult*/ clip_context(const bContext *C, + const char *member, + bContextDataResult *result) { SpaceClip *sc = CTX_wm_space_clip(C); if (CTX_data_dir(member)) { CTX_data_dir_set(result, clip_context_dir); - return true; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "edit_movieclip")) { if (sc->clip) { CTX_data_id_pointer_set(result, &sc->clip->id); } - return true; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "edit_mask")) { if (sc->mask_info.mask) { CTX_data_id_pointer_set(result, &sc->mask_info.mask->id); } - return true; + return CTX_RESULT_OK; } - return false; + return CTX_RESULT_MEMBER_NOT_FOUND; } /* dropboxes */ diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c index 1d23a409748..510c638d227 100644 --- a/source/blender/editors/space_image/space_image.c +++ b/source/blender/editors/space_image/space_image.c @@ -442,25 +442,28 @@ static void image_listener(wmWindow *win, ScrArea *area, wmNotifier *wmn, Scene const char *image_context_dir[] = {"edit_image", "edit_mask", NULL}; -static int image_context(const bContext *C, const char *member, bContextDataResult *result) +static int /*eContextResult*/ image_context(const bContext *C, + const char *member, + bContextDataResult *result) { SpaceImage *sima = CTX_wm_space_image(C); if (CTX_data_dir(member)) { CTX_data_dir_set(result, image_context_dir); + /* TODO(sybren): return CTX_RESULT_OK; */ } else if (CTX_data_equals(member, "edit_image")) { CTX_data_id_pointer_set(result, (ID *)ED_space_image(sima)); - return 1; + return CTX_RESULT_OK; } else if (CTX_data_equals(member, "edit_mask")) { Mask *mask = ED_space_image_get_mask(sima); if (mask) { CTX_data_id_pointer_set(result, &mask->id); } - return true; + return CTX_RESULT_OK; } - return 0; + return CTX_RESULT_MEMBER_NOT_FOUND; } static void IMAGE_GGT_gizmo2d(wmGizmoGroupType *gzgt) diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c index bc4bed502e0..299d3d938d6 100644 --- a/source/blender/editors/space_node/space_node.c +++ b/source/blender/editors/space_node/space_node.c @@ -776,14 +776,15 @@ static void node_region_listener(wmWindow *UNUSED(win), const char *node_context_dir[] = { "selected_nodes", "active_node", "light", "material", "world", NULL}; - -static int node_context(const bContext *C, const char *member, bContextDataResult *result) +static int /*eContextResult*/ node_context(const bContext *C, + const char *member, + bContextDataResult *result) { SpaceNode *snode = CTX_wm_space_node(C); if (CTX_data_dir(member)) { CTX_data_dir_set(result, node_context_dir); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "selected_nodes")) { bNode *node; @@ -796,7 +797,7 @@ static int node_context(const bContext *C, const char *member, bContextDataResul } } CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "active_node")) { if (snode->edittree) { @@ -805,7 +806,7 @@ static int node_context(const bContext *C, const char *member, bContextDataResul } CTX_data_type_set(result, CTX_DATA_TYPE_POINTER); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "node_previews")) { if (snode->nodetree) { @@ -814,28 +815,28 @@ static int node_context(const bContext *C, const char *member, bContextDataResul } CTX_data_type_set(result, CTX_DATA_TYPE_POINTER); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "material")) { if (snode->id && GS(snode->id->name) == ID_MA) { CTX_data_id_pointer_set(result, snode->id); } - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "light")) { if (snode->id && GS(snode->id->name) == ID_LA) { CTX_data_id_pointer_set(result, snode->id); } - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "world")) { if (snode->id && GS(snode->id->name) == ID_WO) { CTX_data_id_pointer_set(result, snode->id); } - return 1; + return CTX_RESULT_OK; } - return 0; + return CTX_RESULT_MEMBER_NOT_FOUND; } static void node_widgets(void) diff --git a/source/blender/editors/space_sequencer/space_sequencer.c b/source/blender/editors/space_sequencer/space_sequencer.c index cce99cd9f08..289477c8353 100644 --- a/source/blender/editors/space_sequencer/space_sequencer.c +++ b/source/blender/editors/space_sequencer/space_sequencer.c @@ -457,24 +457,26 @@ static void sequencer_dropboxes(void) extern const char *sequencer_context_dir[]; /* Quiet warning. */ const char *sequencer_context_dir[] = {"edit_mask", NULL}; -static int sequencer_context(const bContext *C, const char *member, bContextDataResult *result) +static int /*eContextResult*/ sequencer_context(const bContext *C, + const char *member, + bContextDataResult *result) { Scene *scene = CTX_data_scene(C); if (CTX_data_dir(member)) { CTX_data_dir_set(result, sequencer_context_dir); - return true; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "edit_mask")) { Mask *mask = BKE_sequencer_mask_get(scene); if (mask) { CTX_data_id_pointer_set(result, &mask->id); } - return true; + return CTX_RESULT_OK; } - return false; + return CTX_RESULT_MEMBER_NOT_FOUND; } static void SEQUENCER_GGT_navigate(wmGizmoGroupType *gzgt) diff --git a/source/blender/editors/space_text/space_text.c b/source/blender/editors/space_text/space_text.c index 300f63761c0..4e5949817f3 100644 --- a/source/blender/editors/space_text/space_text.c +++ b/source/blender/editors/space_text/space_text.c @@ -248,22 +248,24 @@ static void text_keymap(struct wmKeyConfig *keyconf) const char *text_context_dir[] = {"edit_text", NULL}; -static int text_context(const bContext *C, const char *member, bContextDataResult *result) +static int /*eContextResult*/ text_context(const bContext *C, + const char *member, + bContextDataResult *result) { SpaceText *st = CTX_wm_space_text(C); if (CTX_data_dir(member)) { CTX_data_dir_set(result, text_context_dir); - return 1; + return CTX_RESULT_OK; } if (CTX_data_equals(member, "edit_text")) { if (st->text != NULL) { CTX_data_id_pointer_set(result, &st->text->id); } - return 1; + return CTX_RESULT_OK; } - return 0; + return CTX_RESULT_MEMBER_NOT_FOUND; } /********************* main region ********************/ |