Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/interface/interface_templates.c
| Show First 20 Lines • Show All 6,051 Lines • ▼ Show 20 Lines | case B_STOPCAST: | ||||
| break; | break; | ||||
| case B_STOPANIM: | case B_STOPANIM: | ||||
| WM_operator_name_call(C, "SCREEN_OT_animation_play", WM_OP_INVOKE_SCREEN, NULL); | WM_operator_name_call(C, "SCREEN_OT_animation_play", WM_OP_INVOKE_SCREEN, NULL); | ||||
| break; | break; | ||||
| case B_STOPCOMPO: | case B_STOPCOMPO: | ||||
| WM_jobs_stop(CTX_wm_manager(C), CTX_data_scene(C), NULL); | WM_jobs_stop(CTX_wm_manager(C), CTX_data_scene(C), NULL); | ||||
| break; | break; | ||||
| case B_STOPSEQ: | case B_STOPSEQ: | ||||
| WM_jobs_stop(CTX_wm_manager(C), CTX_wm_area(C), NULL); | WM_jobs_stop(CTX_wm_manager(C), CTX_data_scene(C), NULL); | ||||
| break; | break; | ||||
| case B_STOPCLIP: | case B_STOPCLIP: | ||||
| WM_jobs_stop(CTX_wm_manager(C), CTX_wm_area(C), NULL); | WM_jobs_stop(CTX_wm_manager(C), CTX_data_scene(C), NULL); | ||||
| break; | break; | ||||
| case B_STOPFILE: | case B_STOPFILE: | ||||
| WM_jobs_stop(CTX_wm_manager(C), CTX_wm_area(C), NULL); | WM_jobs_stop(CTX_wm_manager(C), CTX_data_scene(C), NULL); | ||||
| break; | break; | ||||
| case B_STOPOTHER: | case B_STOPOTHER: | ||||
| G.is_break = true; | G.is_break = true; | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| struct ProgressTooltip_Store { | struct ProgressTooltip_Store { | ||||
| Show All 36 Lines | void uiTemplateRunningJobs(uiLayout *layout, bContext *C) | ||||
| void *owner = NULL; | void *owner = NULL; | ||||
| int handle_event, icon = 0; | int handle_event, icon = 0; | ||||
| block = uiLayoutGetBlock(layout); | block = uiLayoutGetBlock(layout); | ||||
| UI_block_layout_set_current(block, layout); | UI_block_layout_set_current(block, layout); | ||||
| UI_block_func_handle_set(block, do_running_jobs, NULL); | UI_block_func_handle_set(block, do_running_jobs, NULL); | ||||
| if (sa->spacetype == SPACE_SEQ) { | Scene *scene; | ||||
| if (WM_jobs_test(wm, sa, WM_JOB_TYPE_ANY)) { | /* another scene can be rendering too, for example via compositor */ | ||||
| owner = sa; | for (scene = CTX_data_main(C)->scenes.first; scene; scene = scene->id.next) { | ||||
| if (WM_jobs_test(wm, scene, WM_JOB_TYPE_ANY)) { | |||||
| handle_event = B_STOPOTHER; | |||||
| icon = ICON_NONE; | |||||
| owner = scene; | |||||
| } | } | ||||
| else { | |||||
| continue; | |||||
| } | |||||
| if (WM_jobs_test(wm, scene, WM_JOB_TYPE_SEQ_BUILD_PROXY)) { | |||||
| handle_event = B_STOPSEQ; | handle_event = B_STOPSEQ; | ||||
| icon = ICON_SEQUENCE; | icon = ICON_SEQUENCE; | ||||
| owner = scene; | |||||
| break; | |||||
| } | } | ||||
| else if (sa->spacetype == SPACE_CLIP) { | else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_SEQ_BUILD_PREVIEW)) { | ||||
| if (WM_jobs_test(wm, sa, WM_JOB_TYPE_ANY)) { | handle_event = B_STOPSEQ; | ||||
| owner = sa; | icon = ICON_SEQUENCE; | ||||
| break; | |||||
| } | } | ||||
| else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_CLIP_BUILD_PROXY)) { | |||||
| handle_event = B_STOPCLIP; | handle_event = B_STOPCLIP; | ||||
| icon = ICON_TRACKER; | icon = ICON_TRACKER; | ||||
| break; | |||||
| } | } | ||||
| else if (sa->spacetype == SPACE_FILE) { | else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_CLIP_PREFETCH)) { | ||||
| if (WM_jobs_test(wm, sa, WM_JOB_TYPE_FILESEL_READDIR)) { | handle_event = B_STOPCLIP; | ||||
| owner = sa; | icon = ICON_TRACKER; | ||||
| break; | |||||
| } | |||||
| else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_CLIP_TRACK_MARKERS)) { | |||||
| handle_event = B_STOPCLIP; | |||||
| icon = ICON_TRACKER; | |||||
| break; | |||||
| } | } | ||||
| else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_CLIP_SOLVE_CAMERA)) { | |||||
| handle_event = B_STOPCLIP; | |||||
| icon = ICON_TRACKER; | |||||
| break; | |||||
| } | |||||
| else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_FILESEL_READDIR)) { | |||||
| handle_event = B_STOPFILE; | handle_event = B_STOPFILE; | ||||
| icon = ICON_FILEBROWSER; | icon = ICON_FILEBROWSER; | ||||
| break; | |||||
| } | } | ||||
| else { | else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_RENDER)) { | ||||
| Scene *scene; | |||||
| /* another scene can be rendering too, for example via compositor */ | |||||
| for (scene = CTX_data_main(C)->scenes.first; scene; scene = scene->id.next) { | |||||
| if (WM_jobs_test(wm, scene, WM_JOB_TYPE_RENDER)) { | |||||
| handle_event = B_STOPRENDER; | handle_event = B_STOPRENDER; | ||||
| icon = ICON_SCENE; | icon = ICON_SCENE; | ||||
| break; | break; | ||||
| } | } | ||||
| else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_COMPOSITE)) { | else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_COMPOSITE)) { | ||||
| handle_event = B_STOPCOMPO; | handle_event = B_STOPCOMPO; | ||||
| icon = ICON_RENDERLAYERS; | icon = ICON_RENDERLAYERS; | ||||
| break; | break; | ||||
| } | } | ||||
| else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_OBJECT_BAKE_TEXTURE) || | else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_OBJECT_BAKE_TEXTURE) || | ||||
| WM_jobs_test(wm, scene, WM_JOB_TYPE_OBJECT_BAKE)) { | WM_jobs_test(wm, scene, WM_JOB_TYPE_OBJECT_BAKE)) { | ||||
| /* Skip bake jobs in compositor to avoid compo header displaying | /* Skip bake jobs in compositor to avoid compo header displaying | ||||
| * progress bar which is not being updated (bake jobs only need | * progress bar which is not being updated (bake jobs only need | ||||
| * to update NC_IMAGE context. | * to update NC_IMAGE context. | ||||
| */ | */ | ||||
| if (sa->spacetype != SPACE_NODE) { | if (sa->spacetype != SPACE_NODE) { | ||||
| handle_event = B_STOPOTHER; | handle_event = B_STOPOTHER; | ||||
| icon = ICON_IMAGE; | icon = ICON_IMAGE; | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_DPAINT_BAKE)) { | else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_DPAINT_BAKE)) { | ||||
| handle_event = B_STOPOTHER; | handle_event = B_STOPOTHER; | ||||
| icon = ICON_MOD_DYNAMICPAINT; | icon = ICON_MOD_DYNAMICPAINT; | ||||
| break; | break; | ||||
| } | } | ||||
| else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_POINTCACHE)) { | else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_POINTCACHE)) { | ||||
| handle_event = B_STOPOTHER; | handle_event = B_STOPOTHER; | ||||
| icon = ICON_PHYSICS; | icon = ICON_PHYSICS; | ||||
| break; | break; | ||||
| } | } | ||||
| else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_OBJECT_SIM_FLUID)) { | else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_OBJECT_SIM_FLUID)) { | ||||
| handle_event = B_STOPOTHER; | handle_event = B_STOPOTHER; | ||||
| icon = ICON_MOD_FLUIDSIM; | icon = ICON_MOD_FLUIDSIM; | ||||
| break; | break; | ||||
| } | } | ||||
| else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_OBJECT_SIM_OCEAN)) { | else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_OBJECT_SIM_OCEAN)) { | ||||
| handle_event = B_STOPOTHER; | handle_event = B_STOPOTHER; | ||||
| icon = ICON_MOD_OCEAN; | icon = ICON_MOD_OCEAN; | ||||
| break; | break; | ||||
| } | } | ||||
| else if (WM_jobs_test(wm, scene, WM_JOB_TYPE_ANY)) { | |||||
| handle_event = B_STOPOTHER; | |||||
| icon = ICON_NONE; | |||||
| break; | |||||
| } | |||||
| } | |||||
| owner = scene; | |||||
| } | } | ||||
| if (owner) { | if (owner) { | ||||
| const uiFontStyle *fstyle = UI_FSTYLE_WIDGET; | const uiFontStyle *fstyle = UI_FSTYLE_WIDGET; | ||||
| bool active = !(G.is_break || WM_jobs_is_stopped(wm, owner)); | bool active = !(G.is_break || WM_jobs_is_stopped(wm, owner)); | ||||
| uiLayout *row = uiLayoutRow(layout, false); | uiLayout *row = uiLayoutRow(layout, false); | ||||
| block = uiLayoutGetBlock(row); | block = uiLayoutGetBlock(row); | ||||
| ▲ Show 20 Lines • Show All 564 Lines • Show Last 20 Lines | |||||