Blender  V3.3
Classes | Macros | Typedefs | Enumerations | Functions
ED_fileselect.h File Reference
#include "DNA_uuid_types.h"

Go to the source code of this file.

Classes

struct  FileAttributeColumn
 
struct  FileLayout
 
struct  FileSelection
 
struct  FSMenuEntry
 

Macros

#define FILE_LAYOUT_HOR   1
 
#define FILE_LAYOUT_VER   2
 

Typedefs

typedef enum FileAttributeColumnType FileAttributeColumnType
 
typedef struct FileAttributeColumn FileAttributeColumn
 
typedef struct FileLayout FileLayout
 
typedef struct FileSelection FileSelection
 
typedef struct FSMenuEntry FSMenuEntry
 
typedef enum FSMenuCategory FSMenuCategory
 
typedef enum FSMenuInsert FSMenuInsert
 

Enumerations

enum  FileAttributeColumnType {
  COLUMN_NONE = -1 , COLUMN_NAME = 0 , COLUMN_DATETIME , COLUMN_SIZE ,
  ATTRIBUTE_COLUMN_MAX
}
 
enum  FSMenuCategory {
  FS_CATEGORY_SYSTEM , FS_CATEGORY_SYSTEM_BOOKMARKS , FS_CATEGORY_BOOKMARKS , FS_CATEGORY_RECENT ,
  FS_CATEGORY_OTHER
}
 
enum  FSMenuInsert {
  FS_INSERT_SORTED = (1 << 0) , FS_INSERT_SAVE = (1 << 1) , FS_INSERT_FIRST = (1 << 2) , FS_INSERT_LAST = (1 << 3) ,
  FS_INSERT_NO_VALIDATE = (1 << 4)
}
 

Functions

struct FileSelectParamsED_fileselect_ensure_active_params (struct SpaceFile *sfile)
 
struct FileSelectParamsED_fileselect_get_active_params (const struct SpaceFile *sfile)
 
struct FileSelectParamsED_fileselect_get_file_params (const struct SpaceFile *sfile)
 
struct FileAssetSelectParamsED_fileselect_get_asset_params (const struct SpaceFile *sfile)
 
bool ED_fileselect_is_local_asset_library (const struct SpaceFile *sfile)
 
void ED_fileselect_set_params_from_userdef (struct SpaceFile *sfile)
 
void ED_fileselect_params_to_userdef (struct SpaceFile *sfile, const int temp_win_size[2], bool is_maximized)
 
void ED_fileselect_init_layout (struct SpaceFile *sfile, struct ARegion *region)
 
FileLayoutED_fileselect_get_layout (struct SpaceFile *sfile, struct ARegion *region)
 
int ED_fileselect_layout_numfiles (FileLayout *layout, struct ARegion *region)
 
int ED_fileselect_layout_offset (FileLayout *layout, int x, int y)
 
FileSelection ED_fileselect_layout_offset_rect (FileLayout *layout, const struct rcti *rect)
 
void ED_fileselect_layout_maskrect (const FileLayout *layout, const struct View2D *v2d, struct rcti *r_rect)
 
bool ED_fileselect_layout_is_inside_pt (const FileLayout *layout, const struct View2D *v2d, int x, int y)
 
bool ED_fileselect_layout_isect_rect (const FileLayout *layout, const struct View2D *v2d, const struct rcti *rect, struct rcti *r_dst)
 
void ED_fileselect_layout_tilepos (const FileLayout *layout, int tile, int *x, int *y)
 
void ED_operatormacros_file (void)
 
void ED_fileselect_clear (struct wmWindowManager *wm, struct SpaceFile *sfile)
 
void ED_fileselect_exit (struct wmWindowManager *wm, struct SpaceFile *sfile)
 
bool ED_fileselect_is_file_browser (const struct SpaceFile *sfile)
 
bool ED_fileselect_is_asset_browser (const struct SpaceFile *sfile)
 
struct AssetLibraryED_fileselect_active_asset_library_get (const struct SpaceFile *sfile)
 
struct IDED_fileselect_active_asset_get (const struct SpaceFile *sfile)
 
void ED_fileselect_activate_asset_catalog (const struct SpaceFile *sfile, bUUID catalog_id)
 
void ED_fileselect_activate_by_id (struct SpaceFile *sfile, struct ID *asset_id, bool deferred)
 
void ED_fileselect_deselect_all (struct SpaceFile *sfile)
 
void ED_fileselect_activate_by_relpath (struct SpaceFile *sfile, const char *relative_path)
 
void ED_fileselect_window_params_get (const struct wmWindow *win, int win_size[2], bool *is_maximized)
 
struct ScrAreaED_fileselect_handler_area_find (const struct wmWindow *win, const struct wmOperator *file_operator)
 
struct ScrAreaED_fileselect_handler_area_find_any_with_op (const struct wmWindow *win)
 
int ED_path_extension_type (const char *path)
 
int ED_file_extension_icon (const char *path)
 
int ED_file_icon (const struct FileDirEntry *file)
 
void ED_file_read_bookmarks (void)
 
void ED_file_change_dir_ex (struct bContext *C, struct ScrArea *area)
 
void ED_file_change_dir (struct bContext *C)
 
void ED_file_path_button (struct bScreen *screen, const struct SpaceFile *sfile, struct FileSelectParams *params, struct uiBlock *block)
 
struct FSMenuED_fsmenu_get (void)
 
struct FSMenuEntryED_fsmenu_get_category (struct FSMenu *fsmenu, FSMenuCategory category)
 
void ED_fsmenu_set_category (struct FSMenu *fsmenu, FSMenuCategory category, struct FSMenuEntry *fsm_head)
 
int ED_fsmenu_get_nentries (struct FSMenu *fsmenu, FSMenuCategory category)
 
struct FSMenuEntryED_fsmenu_get_entry (struct FSMenu *fsmenu, FSMenuCategory category, int idx)
 
char * ED_fsmenu_entry_get_path (struct FSMenuEntry *fsentry)
 
void ED_fsmenu_entry_set_path (struct FSMenuEntry *fsentry, const char *path)
 
char * ED_fsmenu_entry_get_name (struct FSMenuEntry *fsentry)
 
void ED_fsmenu_entry_set_name (struct FSMenuEntry *fsentry, const char *name)
 
int ED_fsmenu_entry_get_icon (struct FSMenuEntry *fsentry)
 
void ED_fsmenu_entry_set_icon (struct FSMenuEntry *fsentry, int icon)
 

Macro Definition Documentation

◆ FILE_LAYOUT_HOR

#define FILE_LAYOUT_HOR   1

Definition at line 30 of file ED_fileselect.h.

◆ FILE_LAYOUT_VER

#define FILE_LAYOUT_VER   2

Definition at line 31 of file ED_fileselect.h.

Typedef Documentation

◆ FileAttributeColumn

◆ FileAttributeColumnType

◆ FileLayout

typedef struct FileLayout FileLayout

◆ FileSelection

typedef struct FileSelection FileSelection

◆ FSMenuCategory

◆ FSMenuEntry

typedef struct FSMenuEntry FSMenuEntry

◆ FSMenuInsert

typedef enum FSMenuInsert FSMenuInsert

Enumeration Type Documentation

◆ FileAttributeColumnType

Enumerator
COLUMN_NONE 
COLUMN_NAME 
COLUMN_DATETIME 
COLUMN_SIZE 
ATTRIBUTE_COLUMN_MAX 

Definition at line 33 of file ED_fileselect.h.

◆ FSMenuCategory

Enumerator
FS_CATEGORY_SYSTEM 
FS_CATEGORY_SYSTEM_BOOKMARKS 
FS_CATEGORY_BOOKMARKS 
FS_CATEGORY_RECENT 
FS_CATEGORY_OTHER 

Definition at line 211 of file ED_fileselect.h.

◆ FSMenuInsert

Enumerator
FS_INSERT_SORTED 
FS_INSERT_SAVE 
FS_INSERT_FIRST 

moves the item to the front of the list when its not already there

FS_INSERT_LAST 

just append to preserve delivered order

FS_INSERT_NO_VALIDATE 

Do not validate the link when inserted.

Definition at line 220 of file ED_fileselect.h.

Function Documentation

◆ ED_file_change_dir()

void ED_file_change_dir ( struct bContext C)

◆ ED_file_change_dir_ex()

void ED_file_change_dir_ex ( struct bContext C,
struct ScrArea area 
)

Support updating the directory even when this isn't the active space needed so RNA properties update function isn't context sensitive, see T70255.

Definition at line 1072 of file filesel.c.

References blender::compositor::area(), BLI_strncpy(), C, CTX_wm_manager(), ED_fileselect_clear(), ED_fileselect_get_active_params(), file_draw_check_ex(), filelist_dir(), filelist_is_dir(), filelist_setdir(), SpaceFile::files, folderlist_clear_next(), folderlist_free(), folderlist_pushdir(), SpaceFile::folders_next, SpaceFile::folders_prev, params, SPACE_FILE, and UNLIKELY.

Referenced by ED_file_change_dir().

◆ ED_file_extension_icon()

int ED_file_extension_icon ( const char *  path)

◆ ED_file_icon()

int ED_file_icon ( const struct FileDirEntry file)

◆ ED_file_path_button()

void ED_file_path_button ( struct bScreen screen,
const struct SpaceFile sfile,
struct FileSelectParams params,
struct uiBlock block 
)

◆ ED_file_read_bookmarks()

void ED_file_read_bookmarks ( void  )

◆ ED_fileselect_activate_asset_catalog()

void ED_fileselect_activate_asset_catalog ( const struct SpaceFile sfile,
bUUID  catalog_id 
)

Referenced by asset_catalog_new_exec().

◆ ED_fileselect_activate_by_id()

void ED_fileselect_activate_by_id ( struct SpaceFile sfile,
struct ID asset_id,
bool  deferred 
)

◆ ED_fileselect_activate_by_relpath()

void ED_fileselect_activate_by_relpath ( struct SpaceFile sfile,
const char *  relative_path 
)

◆ ED_fileselect_active_asset_get()

struct ID* ED_fileselect_active_asset_get ( const struct SpaceFile sfile)

Referenced by file_listener().

◆ ED_fileselect_active_asset_library_get()

struct AssetLibrary* ED_fileselect_active_asset_library_get ( const struct SpaceFile sfile)

◆ ED_fileselect_clear()

void ED_fileselect_clear ( struct wmWindowManager wm,
struct SpaceFile sfile 
)

◆ ED_fileselect_deselect_all()

void ED_fileselect_deselect_all ( struct SpaceFile sfile)

◆ ED_fileselect_ensure_active_params()

struct FileSelectParams* ED_fileselect_ensure_active_params ( struct SpaceFile sfile)

◆ ED_fileselect_exit()

void ED_fileselect_exit ( struct wmWindowManager wm,
struct SpaceFile sfile 
)

◆ ED_fileselect_get_active_params()

struct FileSelectParams* ED_fileselect_get_active_params ( const struct SpaceFile sfile)

◆ ED_fileselect_get_asset_params()

struct FileAssetSelectParams* ED_fileselect_get_asset_params ( const struct SpaceFile sfile)

◆ ED_fileselect_get_file_params()

struct FileSelectParams* ED_fileselect_get_file_params ( const struct SpaceFile sfile)

◆ ED_fileselect_get_layout()

FileLayout* ED_fileselect_get_layout ( struct SpaceFile sfile,
struct ARegion region 
)

◆ ED_fileselect_handler_area_find()

struct ScrArea* ED_fileselect_handler_area_find ( const struct wmWindow win,
const struct wmOperator file_operator 
)

Return the File Browser area in which file_operator is active.

Referenced by WM_event_add_fileselect(), and WM_event_remove_handlers().

◆ ED_fileselect_handler_area_find_any_with_op()

struct ScrArea* ED_fileselect_handler_area_find_any_with_op ( const struct wmWindow win)

Check if there is any area in win that acts as a modal File Browser (SpaceFile.op is set) and return it.

Referenced by wm_event_find_fileselect_root_window_from_context().

◆ ED_fileselect_init_layout()

void ED_fileselect_init_layout ( struct SpaceFile sfile,
struct ARegion region 
)

◆ ED_fileselect_is_asset_browser()

bool ED_fileselect_is_asset_browser ( const struct SpaceFile sfile)

◆ ED_fileselect_is_file_browser()

bool ED_fileselect_is_file_browser ( const struct SpaceFile sfile)

◆ ED_fileselect_is_local_asset_library()

bool ED_fileselect_is_local_asset_library ( const struct SpaceFile sfile)

◆ ED_fileselect_layout_is_inside_pt()

bool ED_fileselect_layout_is_inside_pt ( const FileLayout layout,
const struct View2D v2d,
int  x,
int  y 
)

◆ ED_fileselect_layout_isect_rect()

bool ED_fileselect_layout_isect_rect ( const FileLayout layout,
const struct View2D v2d,
const struct rcti rect,
struct rcti r_dst 
)

◆ ED_fileselect_layout_maskrect()

void ED_fileselect_layout_maskrect ( const FileLayout layout,
const struct View2D v2d,
struct rcti r_rect 
)

Get the currently visible bounds of the layout in screen space. Matches View2D.mask minus the top column-header row.

Referenced by file_main_region_draw().

◆ ED_fileselect_layout_numfiles()

int ED_fileselect_layout_numfiles ( FileLayout layout,
struct ARegion region 
)

◆ ED_fileselect_layout_offset()

int ED_fileselect_layout_offset ( FileLayout layout,
int  x,
int  y 
)

◆ ED_fileselect_layout_offset_rect()

FileSelection ED_fileselect_layout_offset_rect ( FileLayout layout,
const struct rcti rect 
)

Referenced by find_file_mouse_rect().

◆ ED_fileselect_layout_tilepos()

void ED_fileselect_layout_tilepos ( const FileLayout layout,
int  tile,
int *  x,
int *  y 
)

◆ ED_fileselect_params_to_userdef()

void ED_fileselect_params_to_userdef ( struct SpaceFile sfile,
const int  temp_win_size[2],
bool  is_maximized 
)

Update the user-preference data for the file space. In fact, this also contains some non-FileSelectParams data, but we can safely ignore this.

Parameters
temp_win_sizeIf the browser was opened in a temporary window, pass its size here so we can store that in the preferences. Otherwise NULL.

Definition at line 631 of file filesel.c.

References UserDef_FileSpaceData::details_flags, UserDef_FileSpaceData::display_type, ED_fileselect_get_active_params(), file_select_use_default_display_type(), file_select_use_default_sort_type(), FILE_SORT_INVERT, UserDef_FileSpaceData::filter_id, UserDef_FileSpaceData::flag, params, PARAMS_FLAGS_REMEMBERED, UserDef_FileSpaceData::sort_type, UserDef_FileSpaceData::temp_win_sizex, UserDef_FileSpaceData::temp_win_sizey, and UserDef_FileSpaceData::thumbnail_size.

Referenced by ED_fileselect_exit(), and wm_handler_fileselect_do().

◆ ED_fileselect_set_params_from_userdef()

void ED_fileselect_set_params_from_userdef ( struct SpaceFile sfile)

◆ ED_fileselect_window_params_get()

void ED_fileselect_window_params_get ( const struct wmWindow win,
int  win_size[2],
bool is_maximized 
)

◆ ED_fsmenu_entry_get_icon()

int ED_fsmenu_entry_get_icon ( struct FSMenuEntry fsentry)

Definition at line 265 of file fsmenu.c.

References FSMenuEntry::icon.

◆ ED_fsmenu_entry_get_name()

char* ED_fsmenu_entry_get_name ( struct FSMenuEntry fsentry)

Definition at line 292 of file fsmenu.c.

References fsmenu_entry_generate_name(), and FSMenuEntry::name.

◆ ED_fsmenu_entry_get_path()

char* ED_fsmenu_entry_get_path ( struct FSMenuEntry fsentry)

Definition at line 243 of file fsmenu.c.

References FSMenuEntry::path.

◆ ED_fsmenu_entry_set_icon()

void ED_fsmenu_entry_set_icon ( struct FSMenuEntry fsentry,
int  icon 
)

Definition at line 270 of file fsmenu.c.

References FSMenuEntry::icon.

Referenced by fsmenu_insert_entry().

◆ ED_fsmenu_entry_set_name()

void ED_fsmenu_entry_set_name ( struct FSMenuEntry fsentry,
const char *  name 
)

◆ ED_fsmenu_entry_set_path()

void ED_fsmenu_entry_set_path ( struct FSMenuEntry fsentry,
const char *  path 
)

◆ ED_fsmenu_get()

struct FSMenu* ED_fsmenu_get ( void  )

◆ ED_fsmenu_get_category()

struct FSMenuEntry* ED_fsmenu_get_category ( struct FSMenu fsmenu,
FSMenuCategory  category 
)

◆ ED_fsmenu_get_entry()

struct FSMenuEntry* ED_fsmenu_get_entry ( struct FSMenu fsmenu,
FSMenuCategory  category,
int  idx 
)

Definition at line 231 of file fsmenu.c.

References ED_fsmenu_get_category(), and FSMenuEntry::next.

Referenced by reset_recent_exec().

◆ ED_fsmenu_get_nentries()

int ED_fsmenu_get_nentries ( struct FSMenu fsmenu,
FSMenuCategory  category 
)

Definition at line 219 of file fsmenu.c.

References count, ED_fsmenu_get_category(), and FSMenuEntry::next.

Referenced by bookmark_delete_exec(), and bookmark_move_exec().

◆ ED_fsmenu_set_category()

void ED_fsmenu_set_category ( struct FSMenu fsmenu,
FSMenuCategory  category,
struct FSMenuEntry fsm_head 
)

◆ ED_operatormacros_file()

void ED_operatormacros_file ( void  )

Definition at line 3007 of file file_ops.c.

Referenced by ED_spacemacros_init().

◆ ED_path_extension_type()

int ED_path_extension_type ( const char *  path)