Blender V4.5
ED_fileselect.hh File Reference
#include <string>
#include "BLI_vector.hh"
#include "DNA_uuid_types.h"

Go to the source code of this file.

Classes

struct  FileAttributeColumn
struct  FileLayout
struct  FileSelection
struct  FSMenuEntry

Namespaces

namespace  blender
namespace  blender::asset_system

Macros

#define FILE_LAYOUT_HOR   1
#define FILE_LAYOUT_VER   2

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

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

Macro Definition Documentation

◆ FILE_LAYOUT_HOR

◆ FILE_LAYOUT_VER

Enumeration Type Documentation

◆ FileAttributeColumnType

Enumerator
COLUMN_NONE 
COLUMN_NAME 
COLUMN_DATETIME 
COLUMN_SIZE 
ATTRIBUTE_COLUMN_MAX 

Definition at line 41 of file ED_fileselect.hh.

◆ FSMenuCategory

Enumerator
FS_CATEGORY_SYSTEM 
FS_CATEGORY_SYSTEM_BOOKMARKS 
FS_CATEGORY_BOOKMARKS 
FS_CATEGORY_RECENT 
FS_CATEGORY_OTHER 

For internal use, a list of known paths that are used to match paths to icons and names.

Definition at line 245 of file ED_fileselect.hh.

◆ 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 254 of file ED_fileselect.hh.

Function Documentation

◆ ED_file_change_dir()

◆ ED_file_change_dir_ex()

◆ ED_file_extension_icon()

◆ ED_file_icon()

int ED_file_icon ( const FileDirEntry * file)

◆ ED_file_path_button()

◆ ED_file_read_bookmarks()

◆ ED_fileselect_activate_asset_catalog()

◆ ED_fileselect_activate_by_id()

◆ ED_fileselect_activate_by_relpath()

◆ ED_fileselect_active_asset_get()

◆ ED_fileselect_active_asset_library_get()

◆ ED_fileselect_asset_import_method_get()

int ED_fileselect_asset_import_method_get ( const SpaceFile * sfile,
const FileDirEntry * file )

Resolve this space's eFileAssetImportMethod to the eAssetImportMethod (note the different type) to be used for the actual import of a specific asset.

  • If the asset system dictates a certain import method, this will be returned.
  • If the Asset Browser is set to follow the Preferences (FILE_ASSET_IMPORT_FOLLOW_PREFS), the asset system determines the import method (which is the default from the Preferences). -1 is returned if the asset system doesn't specify a method (e.g. because the asset library doesn't come from the Preferences).
  • Otherwise, the Asset Browser determines (possibly overrides) the import method.
Returns
-1 on error, for example when FILE_ASSET_IMPORT_FOLLOW_PREFS was requested but the active asset library reference couldn't be found in the preferences.

Definition at line 515 of file filesel.cc.

References FileDirEntry::asset, ASSET_IMPORT_APPEND, ASSET_IMPORT_APPEND_REUSE, ASSET_IMPORT_LINK, BLI_assert, BLI_assert_unreachable, ED_fileselect_asset_import_method_get(), ED_fileselect_get_asset_params(), ED_fileselect_is_asset_browser(), FILE_ASSET_IMPORT_APPEND, FILE_ASSET_IMPORT_APPEND_REUSE, FILE_ASSET_IMPORT_FOLLOW_PREFS, FILE_ASSET_IMPORT_LINK, and FileAssetSelectParams::import_method.

Referenced by ED_fileselect_asset_import_method_get(), and file_but_enable_drag().

◆ ED_fileselect_clear()

◆ ED_fileselect_clear_main_assets()

◆ ED_fileselect_deselect_all()

void ED_fileselect_deselect_all ( SpaceFile * sfile)

◆ ED_fileselect_ensure_active_params()

◆ ED_fileselect_ensure_default_filepath()

void ED_fileselect_ensure_default_filepath ( bContext * C,
wmOperator * op,
const char * extension )

If filepath property is not set on the operator, sets it to the blend file path (or untitled if file is not saved yet) with the given extension.

Definition at line 1490 of file filesel.cc.

References BKE_main_blendfile_path(), BLI_path_extension_replace(), C, CTX_data_main(), DATA_, ED_fileselect_ensure_default_filepath(), FILE_MAX, wmOperator::ptr, RNA_string_set(), RNA_struct_property_is_set_ex(), and STRNCPY().

Referenced by ED_fileselect_ensure_default_filepath(), and blender::ed::vse::sequencer_export_subtitles_invoke().

◆ ED_fileselect_exit()

◆ ED_fileselect_get_active_params()

FileSelectParams * ED_fileselect_get_active_params ( const SpaceFile * sfile)

Get the file select parameters for the active browse mode.

Definition at line 382 of file filesel.cc.

References SpaceFile::asset_params, BLI_assert_msg, SpaceFile::browse_mode, ED_fileselect_get_active_params(), FILE_BROWSE_MODE_ASSETS, FILE_BROWSE_MODE_FILES, and SpaceFile::params.

Referenced by bookmark_add_exec(), bookmark_select_exec(), ED_file_change_dir_ex(), ED_fileselect_activate_by_id(), ED_fileselect_activate_by_relpath(), ED_fileselect_active_asset_get(), ED_fileselect_clear(), ED_fileselect_clear_main_assets(), ED_fileselect_get_active_params(), ED_fileselect_init_layout(), ED_fileselect_params_to_userdef(), file_box_select_modal(), file_column_sort_ui_context_invoke(), file_context(), file_delete_poll(), file_directory_enter_handle(), file_directory_new_exec(), file_draw_check_exists(), file_draw_list(), file_draw_tooltip_custom_func(), file_duplicate(), file_edit_directory_path_exec(), file_execute(), file_filename_enter_handle(), file_filenum_exec(), file_filenum_poll(), file_hidedot_exec(), file_highlight_set(), file_listener(), file_next_exec(), file_operator_to_sfile(), file_os_operations_menu_draw(), file_os_operations_menu_poll(), file_panel_execution_buttons_draw(), file_params_invoke_rename_postscroll(), file_params_rename_end(), file_parent_exec(), file_previous_exec(), file_rename_exec(), file_rename_state_activate(), file_select(), file_select_all_exec(), file_select_do(), file_select_exec(), file_sfile_filepath_set(), file_sfile_to_operator_ex(), file_smoothscroll_invoke(), file_start_filter_exec(), file_view_selected_exec(), file_walk_select_invoke(), file_walk_select_selection_set(), fileselect_file_set(), folderlist_clear_next(), renamebutton_cb(), and wm_context_member_from_ptr().

◆ ED_fileselect_get_asset_params()

◆ ED_fileselect_get_file_params()

FileSelectParams * ED_fileselect_get_file_params ( const SpaceFile * sfile)

◆ ED_fileselect_get_layout()

◆ ED_fileselect_handler_area_find()

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

Return the File Browser area in which file_operator is active.

Definition at line 1455 of file filesel.cc.

References ED_fileselect_handler_area_find(), ED_screen_areas_iter, SpaceFile::op, SPACE_FILE, and WM_window_get_active_screen().

Referenced by ED_fileselect_handler_area_find(), WM_event_add_fileselect(), and WM_event_remove_handlers().

◆ ED_fileselect_handler_area_find_any_with_op()

ScrArea * ED_fileselect_handler_area_find_any_with_op ( const wmWindow * win)

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

Definition at line 1472 of file filesel.cc.

References ED_fileselect_handler_area_find_any_with_op(), ED_screen_areas_iter, SpaceFile::op, SPACE_FILE, and WM_window_get_active_screen().

Referenced by ED_fileselect_handler_area_find_any_with_op(), and wm_event_find_fileselect_root_window_from_context().

◆ ED_fileselect_init_layout()

◆ ED_fileselect_is_asset_browser()

◆ ED_fileselect_is_file_browser()

◆ ED_fileselect_is_local_asset_library()

◆ ED_fileselect_layout_is_inside_pt()

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

◆ ED_fileselect_layout_isect_rect()

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

◆ ED_fileselect_layout_maskrect()

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

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

Definition at line 858 of file filesel.cc.

References ED_fileselect_layout_maskrect(), View2D::mask, FileLayout::offset_top, and rcti::ymax.

Referenced by ED_fileselect_layout_is_inside_pt(), ED_fileselect_layout_isect_rect(), ED_fileselect_layout_maskrect(), and file_main_region_draw().

◆ ED_fileselect_layout_numfiles()

◆ ED_fileselect_layout_offset()

◆ ED_fileselect_layout_offset_rect()

◆ ED_fileselect_layout_tilepos()

◆ ED_fileselect_params_to_userdef()

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

◆ ED_fileselect_selected_files_full_paths()

◆ ED_fileselect_set_params_from_userdef()

◆ ED_fileselect_window_params_get()

void ED_fileselect_window_params_get ( const wmWindow * win,
int r_win_size[2],
bool * r_is_maximized )

◆ ED_fsmenu_entry_get_icon()

int ED_fsmenu_entry_get_icon ( FSMenuEntry * fsentry)

Definition at line 148 of file fsmenu.cc.

References ED_fsmenu_entry_get_icon(), and FSMenuEntry::icon.

Referenced by ED_fsmenu_entry_get_icon().

◆ ED_fsmenu_entry_get_name()

char * ED_fsmenu_entry_get_name ( FSMenuEntry * fsentry)

◆ ED_fsmenu_entry_get_path()

char * ED_fsmenu_entry_get_path ( FSMenuEntry * fsentry)

Definition at line 124 of file fsmenu.cc.

References ED_fsmenu_entry_get_path(), and FSMenuEntry::path.

Referenced by ED_fsmenu_entry_get_path().

◆ ED_fsmenu_entry_set_icon()

void ED_fsmenu_entry_set_icon ( FSMenuEntry * fsentry,
int icon )

Definition at line 153 of file fsmenu.cc.

References ED_fsmenu_entry_set_icon(), and FSMenuEntry::icon.

Referenced by ED_fsmenu_entry_set_icon(), and fsmenu_insert_entry().

◆ ED_fsmenu_entry_set_name()

◆ ED_fsmenu_entry_set_path()

◆ ED_fsmenu_get()

◆ ED_fsmenu_get_category()

◆ ED_fsmenu_get_entry()

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

◆ ED_fsmenu_get_nentries()

int ED_fsmenu_get_nentries ( FSMenu * fsmenu,
FSMenuCategory category )

◆ ED_fsmenu_set_category()

◆ ED_operatormacros_file()

void ED_operatormacros_file ( )

Definition at line 3372 of file file_ops.cc.

References ED_operatormacros_file().

Referenced by ED_operatormacros_file(), and ED_spacemacros_init().

◆ ED_path_extension_type()