Blender  V3.3
file_intern.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2008 Blender Foundation. All rights reserved. */
3 
8 #pragma once
9 
10 #include "DNA_space_types.h"
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 /* internal exports only */
18 
19 struct ARegion;
20 struct ARegionType;
21 struct AssetLibrary;
23 struct FileSelectParams;
24 struct SpaceFile;
25 struct View2D;
26 struct uiLayout;
27 
28 /* file_draw.c */
29 
30 #define ATTRIBUTE_COLUMN_PADDING (0.5f * UI_UNIT_X)
31 
33 #define SMALL_SIZE_CHECK(_size) ((_size) < 64)
34 
35 void file_calc_previews(const bContext *C, ARegion *region);
36 void file_draw_list(const bContext *C, ARegion *region);
41 bool file_draw_hint_if_invalid(const bContext *C, const SpaceFile *sfile, ARegion *region);
42 
43 void file_draw_check_ex(bContext *C, struct ScrArea *area);
48 void file_draw_check_cb(bContext *C, void *arg1, void *arg2);
50 
51 /* file_ops.h */
52 
53 struct wmOperator;
54 struct wmOperatorType;
55 
56 void FILE_OT_highlight(struct wmOperatorType *ot);
58 void FILE_OT_select(struct wmOperatorType *ot);
68 void FILE_OT_hidedot(struct wmOperatorType *ot);
69 void FILE_OT_execute(struct wmOperatorType *ot);
75 void FILE_OT_cancel(struct wmOperatorType *ot);
76 void FILE_OT_parent(struct wmOperatorType *ot);
78 void FILE_OT_previous(struct wmOperatorType *ot);
79 void FILE_OT_next(struct wmOperatorType *ot);
80 void FILE_OT_refresh(struct wmOperatorType *ot);
81 void FILE_OT_filenum(struct wmOperatorType *ot);
82 void FILE_OT_delete(struct wmOperatorType *ot);
83 void FILE_OT_rename(struct wmOperatorType *ot);
89 
90 void file_directory_enter_handle(bContext *C, void *arg_unused, void *arg_but);
91 void file_filename_enter_handle(bContext *C, void *arg_unused, void *arg_but);
92 
93 int file_highlight_set(struct SpaceFile *sfile, struct ARegion *region, int mx, int my);
94 
98 void file_sfile_filepath_set(struct SpaceFile *sfile, const char *filepath);
99 void file_sfile_to_operator_ex(struct Main *bmain,
100  struct wmOperator *op,
101  struct SpaceFile *sfile,
102  char *filepath);
103 void file_sfile_to_operator(struct Main *bmain, struct wmOperator *op, struct SpaceFile *sfile);
104 
105 void file_operator_to_sfile(struct Main *bmain, struct SpaceFile *sfile, struct wmOperator *op);
106 
107 /* space_file.c */
108 
109 extern const char *file_context_dir[]; /* doc access */
110 
111 /* filesel.c */
112 
113 void fileselect_refresh_params(struct SpaceFile *sfile);
117 void fileselect_file_set(SpaceFile *sfile, int index);
119  FileAttributeColumnType column);
124  const FileLayout *layout,
125  int x,
126  int y);
131  const FileSelectParams *params,
132  FileLayout *layout,
133  int x);
134 float file_string_width(const char *str);
135 
136 float file_font_pointsize(void);
138 int file_select_match(struct SpaceFile *sfile, const char *pattern, char *matched_file);
139 int autocomplete_directory(struct bContext *C, char *str, void *arg_v);
140 int autocomplete_file(struct bContext *C, char *str, void *arg_v);
141 
143  struct wmWindow *win,
144  SpaceFile *sfile);
153  struct wmWindow *win,
154  SpaceFile *sfile);
159  struct wmWindow *win,
160  SpaceFile *sfile,
161  struct FileDirEntry *rename_file);
167 
168 typedef void *onReloadFnData;
169 typedef void (*onReloadFn)(struct SpaceFile *space_data, onReloadFnData custom_data);
170 typedef struct SpaceFile_Runtime {
171  /* Called once after the file browser has reloaded. Reset to NULL after calling.
172  * Use file_on_reload_callback_register() to register a callback. */
175 
176  /* Indicates, if the current filepath is a blendfile library one, if its status has been checked,
177  * and if it is readable. */
182 
189  onReloadFnData custom_data);
190 
191 /* file_panels.c */
192 
196 
197 /* file_utils.c */
198 
199 void file_tile_boundbox(const ARegion *region, FileLayout *layout, int file, rcti *r_bounds);
200 
204 void file_path_to_ui_path(const char *path, char *r_pathi, int max_size);
205 
206 /* asset_catalog_tree_view.cc */
207 
208 /* C-handle for #ed::asset_browser::AssetCatalogFilterSettings. */
210 
213  FileAssetCatalogFilterSettingsHandle **filter_settings_handle);
219  FileAssetCatalogFilterSettingsHandle *filter_settings_handle,
220  eFileSel_Params_AssetCatalogVisibility catalog_visibility,
221  bUUID catalog_id);
223  FileAssetCatalogFilterSettingsHandle *filter_settings_handle,
224  const struct AssetLibrary *asset_library);
226  const FileAssetCatalogFilterSettingsHandle *filter_settings_handle,
227  const AssetMetaData *asset_data);
228 
230  struct uiLayout *layout,
231  struct SpaceFile *space_file,
232  struct FileAssetSelectParams *params);
233 
234 #ifdef __cplusplus
235 }
236 #endif
struct AssetLibrary AssetLibrary
unsigned int uint
Definition: BLI_sys_types.h:67
eFileSel_Params_AssetCatalogVisibility
FileAttributeColumnType
Definition: ED_fileselect.h:33
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
#define C
Definition: RandGen.cpp:25
FILE * file
DEGForeachIDComponentCallback callback
SyclQueue void void size_t num_bytes void
#define str(s)
void FILE_OT_bookmark_move(struct wmOperatorType *ot)
Definition: file_ops.c:1331
void FILE_OT_filenum(struct wmOperatorType *ot)
Definition: file_ops.c:2754
void file_operator_to_sfile(struct Main *bmain, struct SpaceFile *sfile, struct wmOperator *op)
Definition: file_ops.c:1664
void(* onReloadFn)(struct SpaceFile *space_data, onReloadFnData custom_data)
Definition: file_intern.h:169
void file_draw_check(bContext *C)
Definition: file_ops.c:1735
int autocomplete_directory(struct bContext *C, char *str, void *arg_v)
void FILE_OT_rename(struct wmOperatorType *ot)
Definition: file_ops.c:2810
void file_create_asset_catalog_tree_view_in_layout(struct AssetLibrary *asset_library, struct uiLayout *layout, struct SpaceFile *space_file, struct FileAssetSelectParams *params)
void file_params_renamefile_clear(struct FileSelectParams *params)
Definition: filesel.c:1297
int file_select_match(struct SpaceFile *sfile, const char *pattern, char *matched_file)
Definition: filesel.c:1120
void file_on_reload_callback_register(struct SpaceFile *sfile, onReloadFn callback, onReloadFnData custom_data)
Definition: space_file.c:407
const char * file_context_dir[]
Definition: space_file.c:889
void FILE_OT_edit_directory_path(struct wmOperatorType *ot)
Definition: file_ops.c:2989
void FILE_OT_bookmark_delete(struct wmOperatorType *ot)
Definition: file_ops.c:1175
void file_calc_previews(const bContext *C, ARegion *region)
Definition: file_draw.c:288
void FILE_OT_sort_column_ui_context(struct wmOperatorType *ot)
Definition: file_ops.c:1518
void FILE_OT_cancel(struct wmOperatorType *ot)
Definition: file_ops.c:1564
int autocomplete_file(struct bContext *C, char *str, void *arg_v)
void FILE_OT_highlight(struct wmOperatorType *ot)
Definition: file_ops.c:1466
void FILE_OT_select(struct wmOperatorType *ot)
Definition: file_ops.c:612
float file_string_width(const char *str)
Definition: filesel.c:890
void file_params_invoke_rename_postscroll(struct wmWindowManager *wm, struct wmWindow *win, SpaceFile *sfile)
Definition: filesel.c:1267
void FILE_OT_directory_new(struct wmOperatorType *ot)
Definition: file_ops.c:2422
void fileselect_file_set(SpaceFile *sfile, int index)
Definition: filesel.c:668
void FILE_OT_view_selected(struct wmOperatorType *ot)
Definition: file_ops.c:1031
void file_params_renamefile_activate(struct SpaceFile *sfile, struct FileSelectParams *params)
Definition: filesel.c:1311
bool file_set_asset_catalog_filter_settings(FileAssetCatalogFilterSettingsHandle *filter_settings_handle, eFileSel_Params_AssetCatalogVisibility catalog_visibility, bUUID catalog_id)
void FILE_OT_parent(struct wmOperatorType *ot)
Definition: file_ops.c:1981
void FILE_OT_bookmark_add(struct wmOperatorType *ot)
Definition: file_ops.c:1122
bool file_attribute_column_header_is_inside(const struct View2D *v2d, const FileLayout *layout, int x, int y)
void file_sfile_to_operator(struct Main *bmain, struct wmOperator *op, struct SpaceFile *sfile)
Definition: file_ops.c:1657
bool file_is_asset_visible_in_catalog_filter_settings(const FileAssetCatalogFilterSettingsHandle *filter_settings_handle, const AssetMetaData *asset_data)
void file_ensure_updated_catalog_filter_data(FileAssetCatalogFilterSettingsHandle *filter_settings_handle, const struct AssetLibrary *asset_library)
void file_tile_boundbox(const ARegion *region, FileLayout *layout, int file, rcti *r_bounds)
Definition: file_utils.c:22
bool file_draw_hint_if_invalid(const bContext *C, const SpaceFile *sfile, ARegion *region)
Definition: file_draw.c:1199
void file_directory_enter_handle(bContext *C, void *arg_unused, void *arg_but)
FileAttributeColumnType file_attribute_column_type_find_isect(const View2D *v2d, const FileSelectParams *params, FileLayout *layout, int x)
Definition: filesel.c:853
void FILE_OT_hidedot(struct wmOperatorType *ot)
Definition: file_ops.c:2673
void FILE_OT_mouse_execute(struct wmOperatorType *ot)
Definition: file_ops.c:1901
void FILE_OT_refresh(struct wmOperatorType *ot)
Definition: file_ops.c:1941
void file_params_smoothscroll_timer_clear(struct wmWindowManager *wm, struct wmWindow *win, SpaceFile *sfile)
Definition: filesel.c:1261
void file_path_to_ui_path(const char *path, char *r_pathi, int max_size)
Definition: file_utils.c:35
void FILE_OT_reset_recent(wmOperatorType *ot)
Definition: file_ops.c:1385
void FILE_OT_select_all(struct wmOperatorType *ot)
Definition: file_ops.c:978
void file_sfile_filepath_set(struct SpaceFile *sfile, const char *filepath)
Definition: file_ops.c:1692
void fileselect_refresh_params(struct SpaceFile *sfile)
Definition: filesel.c:438
void file_tool_props_region_panels_register(struct ARegionType *art)
Definition: file_panels.c:91
void FILE_OT_delete(struct wmOperatorType *ot)
Definition: file_ops.c:2907
void FILE_OT_execute(struct wmOperatorType *ot)
Definition: file_ops.c:1847
void * onReloadFnData
Definition: file_intern.h:168
void file_tools_region_panels_register(struct ARegionType *art)
Definition: file_panels.c:257
bool file_attribute_column_type_enabled(const FileSelectParams *params, FileAttributeColumnType column)
Definition: filesel.c:837
void FILE_OT_select_bookmark(struct wmOperatorType *ot)
Definition: file_ops.c:1073
float file_font_pointsize(void)
Definition: filesel.c:897
void file_delete_asset_catalog_filter_settings(FileAssetCatalogFilterSettingsHandle **filter_settings_handle)
void FILE_OT_start_filter(struct wmOperatorType *ot)
Definition: file_ops.c:2948
struct FileAssetCatalogFilterSettingsHandle FileAssetCatalogFilterSettingsHandle
Definition: file_intern.h:209
int file_highlight_set(struct SpaceFile *sfile, struct ARegion *region, int mx, int my)
Definition: file_ops.c:1404
void file_params_rename_end(struct wmWindowManager *wm, struct wmWindow *win, SpaceFile *sfile, struct FileDirEntry *rename_file)
Definition: filesel.c:1280
void FILE_OT_select_box(struct wmOperatorType *ot)
Definition: file_ops.c:494
void FILE_OT_select_walk(struct wmOperatorType *ot)
Definition: file_ops.c:888
void file_select_deselect_all(SpaceFile *sfile, uint flag)
Definition: filesel.c:1111
void file_filename_enter_handle(bContext *C, void *arg_unused, void *arg_but)
bool file_draw_check_exists(SpaceFile *sfile)
Definition: file_ops.c:1746
void file_execute_region_panels_register(struct ARegionType *art)
Definition: file_panels.c:205
void file_draw_check_cb(bContext *C, void *arg1, void *arg2)
struct SpaceFile_Runtime SpaceFile_Runtime
void FILE_OT_next(struct wmOperatorType *ot)
Definition: file_ops.c:2054
FileAssetCatalogFilterSettingsHandle * file_create_asset_catalog_filter_settings(void)
void file_sfile_to_operator_ex(struct Main *bmain, struct wmOperator *op, struct SpaceFile *sfile, char *filepath)
Definition: file_ops.c:1582
void FILE_OT_filepath_drop(struct wmOperatorType *ot)
Definition: file_ops.c:2293
void file_draw_check_ex(bContext *C, struct ScrArea *area)
Definition: file_ops.c:1711
void FILE_OT_smoothscroll(struct wmOperatorType *ot)
Definition: file_ops.c:2246
void FILE_OT_bookmark_cleanup(struct wmOperatorType *ot)
Definition: file_ops.c:1236
void file_draw_list(const bContext *C, ARegion *region)
Definition: file_draw.c:856
void FILE_OT_previous(struct wmOperatorType *ot)
Definition: file_ops.c:2017
uiWidgetBaseParameters params[MAX_WIDGET_BASE_BATCH]
static void area(int d1, int d2, int e1, int e2, float weights[2])
The meta-data of an asset. By creating and giving this for a data-block (ID.asset_data),...
Definition: BKE_main.h:121
ReportList is_blendfile_readable_reports
Definition: file_intern.h:180
onReloadFnData on_reload_custom_data
Definition: file_intern.h:174
bool is_blendfile_readable
Definition: file_intern.h:179
onReloadFn on_reload
Definition: file_intern.h:173
bool is_blendfile_status_set
Definition: file_intern.h:178
Universally Unique Identifier according to RFC4122.
wmOperatorType * ot
Definition: wm_files.c:3479