Blender V4.3
file_intern.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2008 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "DNA_space_types.h"
13
14/* internal exports only */
15
16struct ARegion;
17struct ARegionType;
20struct FileSelectParams;
21struct Main;
22struct SpaceFile;
23struct View2D;
24struct uiLayout;
25namespace blender::asset_system {
26class AssetLibrary;
27}
28
30
31/* `file_context.cc` */
32
33int /*eContextResult*/ file_context(const bContext *C,
34 const char *member,
35 bContextDataResult *result);
36
37/* `file_draw.cc` */
38
39#define ATTRIBUTE_COLUMN_PADDING (0.5f * UI_UNIT_X)
40
41#define FILE_LAYOUT_COMPACT(_layout) \
42 (_layout->flag & FILE_LAYOUT_VER && (_layout->width / UI_SCALE_FAC) < 500)
43#define FILE_LAYOUT_HIDE_DATE(_layout) \
44 (_layout->flag & FILE_LAYOUT_VER && (_layout->width / UI_SCALE_FAC) < 250)
45#define FILE_LAYOUT_HIDE_SIZE(_layout) \
46 (_layout->flag & FILE_LAYOUT_VER && (_layout->width / UI_SCALE_FAC) < 350)
47
48void file_calc_previews(const bContext *C, ARegion *region);
49void file_draw_list(const bContext *C, ARegion *region);
54bool file_draw_hint_if_invalid(const bContext *C, const SpaceFile *sfile, ARegion *region);
55
56void file_draw_check_ex(bContext *C, ScrArea *area);
61void file_draw_check_cb(bContext *C, void *arg1, void *arg2);
63
64/* file_ops.h */
65
66struct wmOperator;
67struct wmOperatorType;
68
83
86
106
107void file_directory_enter_handle(bContext *C, void *arg_unused, void *arg_but);
108void file_filename_enter_handle(bContext *C, void *arg_unused, void *arg_but);
109
110int file_highlight_set(SpaceFile *sfile, ARegion *region, int mx, int my);
111
115void file_sfile_filepath_set(SpaceFile *sfile, const char *filepath);
117 bContext *C, Main *bmain, wmOperator *op, SpaceFile *sfile, char *filepath);
118void file_sfile_to_operator(bContext *C, Main *bmain, wmOperator *op, SpaceFile *sfile);
119
120void file_operator_to_sfile(Main *bmain, SpaceFile *sfile, wmOperator *op);
121
122/* `space_file.cc` */
123
124extern "C" const char *file_context_dir[]; /* doc access */
125
126/* `filesel.cc` */
127
132void fileselect_file_set(bContext *C, SpaceFile *sfile, int index);
135 const FileLayout *layout);
140 const FileLayout *layout,
141 int x,
142 int y);
148 FileLayout *layout,
149 int x);
150float file_string_width(const char *str);
151
152float file_font_pointsize();
154int file_select_match(SpaceFile *sfile, const char *pattern, char *matched_file);
155int autocomplete_directory(bContext *C, char *str, void *arg_v);
156int autocomplete_file(bContext *C, char *str, void *arg_v);
157
171 wmWindow *win,
172 SpaceFile *sfile,
173 const FileDirEntry *rename_file);
179
180typedef void *onReloadFnData;
181typedef void (*onReloadFn)(SpaceFile *space_data, onReloadFnData custom_data);
183 /* Called once after the file browser has reloaded. Reset to NULL after calling.
184 * Use file_on_reload_callback_register() to register a callback. */
187
188 /* Indicates, if the current filepath is a blendfile library one, if its status has been checked,
189 * and if it is readable. */
193};
194
201 onReloadFnData custom_data);
202
203/* folder_history.cc */
204
205/* not listbase itself */
206void folderlist_free(ListBase *folderlist);
207void folderlist_popdir(ListBase *folderlist, char *dir);
208void folderlist_pushdir(ListBase *folderlist, const char *dir);
209const char *folderlist_peeklastdir(ListBase *folderlist);
211
215
216/* `file_panels.cc` */
217
221
222/* `file_utils.cc` */
223
224void file_tile_boundbox(const ARegion *region, FileLayout *layout, int file, rcti *r_bounds);
225
229void file_path_to_ui_path(const char *path, char *r_path, int r_path_maxncpy);
230
231/* asset_catalog_tree_view.cc */
232
234
235void file_create_asset_catalog_tree_view_in_layout(asset_system::AssetLibrary *asset_library,
236 uiLayout *layout,
237 SpaceFile *space_file,
239
240class AssetCatalogFilterSettings;
241
242AssetCatalogFilterSettings *file_create_asset_catalog_filter_settings();
243void file_delete_asset_catalog_filter_settings(AssetCatalogFilterSettings **filter_settings);
249 AssetCatalogFilterSettings *filter_settings,
251 const ::bUUID &catalog_id);
252void file_ensure_updated_catalog_filter_data(AssetCatalogFilterSettings *filter_settings,
253 const asset_system::AssetLibrary *asset_library);
255 const AssetCatalogFilterSettings *filter_settings, const AssetMetaData *asset_data);
256
257} // namespace blender::ed::asset_browser
eFileSel_Params_AssetCatalogVisibility
eDirEntry_SelectFlag
FileAttributeColumnType
DEGForeachIDComponentCallback callback
#define str(s)
void FILE_OT_parent(wmOperatorType *ot)
Definition file_ops.cc:2262
void(* onReloadFn)(SpaceFile *space_data, onReloadFnData custom_data)
void FILE_OT_select_box(wmOperatorType *ot)
Definition file_ops.cc:530
void FILE_OT_directory_new(wmOperatorType *ot)
Definition file_ops.cc:2720
void file_draw_check(bContext *C)
Definition file_ops.cc:1754
void FILE_OT_edit_directory_path(wmOperatorType *ot)
Definition file_ops.cc:3291
bool folderlist_clear_next(SpaceFile *sfile)
const char * folderlist_peeklastdir(ListBase *folderlist)
void file_path_to_ui_path(const char *path, char *r_path, int r_path_maxncpy)
Definition file_utils.cc:32
void FILE_OT_bookmark_add(wmOperatorType *ot)
Definition file_ops.cc:1156
void file_params_smoothscroll_timer_clear(wmWindowManager *wm, wmWindow *win, SpaceFile *sfile)
Definition filesel.cc:1337
void FILE_OT_select_bookmark(wmOperatorType *ot)
Definition file_ops.cc:1115
void folder_history_list_ensure_for_active_browse_mode(SpaceFile *sfile)
const char * file_context_dir[]
bool file_attribute_column_type_enabled(const FileSelectParams *params, FileAttributeColumnType column, const FileLayout *layout)
Definition filesel.cc:900
void FILE_OT_refresh(wmOperatorType *ot)
Definition file_ops.cc:2221
void FILE_OT_mouse_execute(wmOperatorType *ot)
Definition file_ops.cc:2181
void file_calc_previews(const bContext *C, ARegion *region)
Definition file_draw.cc:503
void file_params_rename_end(wmWindowManager *wm, wmWindow *win, SpaceFile *sfile, const FileDirEntry *rename_file)
Definition filesel.cc:1356
void file_params_invoke_rename_postscroll(wmWindowManager *wm, wmWindow *win, SpaceFile *sfile)
Definition filesel.cc:1343
void FILE_OT_sort_column_ui_context(wmOperatorType *ot)
Definition file_ops.cc:1517
void file_operator_to_sfile(Main *bmain, SpaceFile *sfile, wmOperator *op)
Definition file_ops.cc:1683
float file_string_width(const char *str)
Definition filesel.cc:958
void FILE_OT_filepath_drop(wmOperatorType *ot)
Definition file_ops.cc:2576
void FILE_OT_previous(wmOperatorType *ot)
Definition file_ops.cc:2298
bool file_attribute_column_header_is_inside(const View2D *v2d, const FileLayout *layout, int x, int y)
Definition filesel.cc:890
int autocomplete_directory(bContext *C, char *str, void *arg_v)
Definition filesel.cc:1221
int autocomplete_file(bContext *C, char *str, void *arg_v)
Definition filesel.cc:1269
void file_params_renamefile_clear(FileSelectParams *params)
Definition filesel.cc:1373
int file_select_match(SpaceFile *sfile, const char *pattern, char *matched_file)
Definition filesel.cc:1196
void file_execute_region_panels_register(ARegionType *art)
void FILE_OT_bookmark_delete(wmOperatorType *ot)
Definition file_ops.cc:1193
void fileselect_file_set(bContext *C, SpaceFile *sfile, int index)
Definition filesel.cc:725
void FILE_OT_external_operation(wmOperatorType *ot)
Definition file_ops.cc:1861
void file_on_reload_callback_register(SpaceFile *sfile, onReloadFn callback, onReloadFnData custom_data)
void FILE_OT_select_walk(wmOperatorType *ot)
Definition file_ops.cc:931
void FILE_OT_filenum(wmOperatorType *ot)
Definition file_ops.cc:3061
void folder_history_list_free(SpaceFile *sfile)
void FILE_OT_delete(wmOperatorType *ot)
Definition file_ops.cc:3219
void folderlist_pushdir(ListBase *folderlist, const char *dir)
void file_tile_boundbox(const ARegion *region, FileLayout *layout, int file, rcti *r_bounds)
Definition file_utils.cc:19
ListBase folder_history_list_duplicate(ListBase *listbase)
bool file_draw_hint_if_invalid(const bContext *C, const SpaceFile *sfile, ARegion *region)
void fileselect_refresh_params(SpaceFile *sfile)
Definition filesel.cc:454
void file_sfile_to_operator_ex(bContext *C, Main *bmain, wmOperator *op, SpaceFile *sfile, char *filepath)
Definition file_ops.cc:1581
void FILE_OT_bookmark_cleanup(wmOperatorType *ot)
Definition file_ops.cc:1246
void file_directory_enter_handle(bContext *C, void *arg_unused, void *arg_but)
Definition file_ops.cc:2819
FileAttributeColumnType file_attribute_column_type_find_isect(const View2D *v2d, const FileSelectParams *params, FileLayout *layout, int x)
Definition filesel.cc:918
void file_draw_check_ex(bContext *C, ScrArea *area)
Definition file_ops.cc:1730
void file_sfile_to_operator(bContext *C, Main *bmain, wmOperator *op, SpaceFile *sfile)
Definition file_ops.cc:1676
void FILE_OT_smoothscroll(wmOperatorType *ot)
Definition file_ops.cc:2529
void FILE_OT_bookmark_move(wmOperatorType *ot)
Definition file_ops.cc:1334
void FILE_OT_select_all(wmOperatorType *ot)
Definition file_ops.cc:1021
void FILE_OT_reset_recent(wmOperatorType *ot)
Definition file_ops.cc:1383
int file_highlight_set(SpaceFile *sfile, ARegion *region, int mx, int my)
Definition file_ops.cc:1402
void folderlist_free(ListBase *folderlist)
void FILE_OT_select(wmOperatorType *ot)
Definition file_ops.cc:648
void file_sfile_filepath_set(SpaceFile *sfile, const char *filepath)
Definition file_ops.cc:1711
void * onReloadFnData
void file_select_deselect_all(SpaceFile *sfile, eDirEntry_SelectFlag flag)
Definition filesel.cc:1187
void FILE_OT_start_filter(wmOperatorType *ot)
Definition file_ops.cc:3255
void folderlist_popdir(ListBase *folderlist, char *dir)
bool file_main_region_needs_refresh_before_draw(SpaceFile *sfile)
void file_tool_props_region_panels_register(ARegionType *art)
void FILE_OT_execute(wmOperatorType *ot)
Definition file_ops.cc:2126
float file_font_pointsize()
Definition filesel.cc:965
void file_external_operations_menu_register()
Definition file_ops.cc:2028
void FILE_OT_rename(wmOperatorType *ot)
Definition file_ops.cc:3118
void file_tools_region_panels_register(ARegionType *art)
void file_filename_enter_handle(bContext *C, void *arg_unused, void *arg_but)
Definition file_ops.cc:2910
void FILE_OT_cancel(wmOperatorType *ot)
Definition file_ops.cc:1563
bool file_draw_check_exists(SpaceFile *sfile)
Definition file_ops.cc:1765
void file_params_renamefile_activate(SpaceFile *sfile, FileSelectParams *params)
Definition filesel.cc:1387
void FILE_OT_next(wmOperatorType *ot)
Definition file_ops.cc:2335
void file_draw_check_cb(bContext *C, void *arg1, void *arg2)
Definition file_ops.cc:1760
void FILE_OT_view_selected(wmOperatorType *ot)
Definition file_ops.cc:1074
int file_context(const bContext *C, const char *member, bContextDataResult *result)
void FILE_OT_highlight(wmOperatorType *ot)
Definition file_ops.cc:1464
void FILE_OT_hidedot(wmOperatorType *ot)
Definition file_ops.cc:2981
void file_draw_list(const bContext *C, ARegion *region)
uiWidgetBaseParameters params[MAX_WIDGET_BASE_BATCH]
void file_ensure_updated_catalog_filter_data(AssetCatalogFilterSettings *filter_settings, const asset_system::AssetLibrary *asset_library)
AssetCatalogFilterSettings * file_create_asset_catalog_filter_settings()
bool file_is_asset_visible_in_catalog_filter_settings(const AssetCatalogFilterSettings *filter_settings, const AssetMetaData *asset_data)
void file_delete_asset_catalog_filter_settings(AssetCatalogFilterSettings **filter_settings)
void file_create_asset_catalog_tree_view_in_layout(asset_system::AssetLibrary *asset_library, uiLayout *layout, SpaceFile *space_file, FileAssetSelectParams *params)
bool file_set_asset_catalog_filter_settings(AssetCatalogFilterSettings *filter_settings, eFileSel_Params_AssetCatalogVisibility catalog_visibility, const ::bUUID &catalog_id)
The meta-data of an asset. By creating and giving this for a data-block (ID.asset_data),...
ReportList is_blendfile_readable_reports
onReloadFnData on_reload_custom_data
onReloadFn on_reload
wmOperatorType * ot
Definition wm_files.cc:4125
uint8_t flag
Definition wm_window.cc:138