EditorFileDialog

继承: ConfirmationDialog < AcceptDialog < Window < Viewport < Item < Object

编辑器使用的FileDialog的修改版本。

描述

EditorFileDialogFileDialog的增强版本,仅适用于编辑器插件。其他功能包括收藏夹/最近文件列表以及将文件视为缩略图网格而不是列表的能力。

FileDialog不同的是,EditorFileDialog没有使用本机对话框的属性。相反,本机对话框可以通过EditorSettings.interface/editor/use_native_file_dialogs编辑器设置全局启用。

属性

方法

void

add_filter(filter: String, description: String = "")

void

add_option(name: String, values: PackedStringArray, default_value_index: int)

void

add_side_menu(menu: Control, title: String = "")

void

clear_filename_filter()

void

clear_filters()

String

get_filename_filter() const

LineEdit

get_line_edit()

int

get_option_default(option: int) const

String

get_option_name(option: int) const

PackedStringArray

get_option_values(option: int) const

Dictionary

get_selected_options() const

VBoxContainer

get_vbox()

void

invalidate()

void

popup_file_dialog()

void

set_filename_filter(filter: String)

void

set_option_default(option: int, default_value_index: int)

void

set_option_name(option: int, name: String)

void

set_option_values(option: int, values: PackedStringArray)


信号

dir_selected(dir: String) 🔗

选择目录时发出。


file_selected(path: String) 🔗

选择文件时发出。


filename_filter_changed(filter: String) 🔗

当文件名过滤器更改时发出。


files_selected(paths: PackedStringArray) 🔗

选择多个文件时发出。


枚举

enum FileMode: 🔗

FileMode FILE_MODE_OPEN_FILE = 0

EditorFileDialog只能选择一个文件。接受窗口将打开文件。

FileMode FILE_MODE_OPEN_FILES = 1

EditorFileDialog可以选择多个文件。接受窗口将打开所有文件。

FileMode FILE_MODE_OPEN_DIR = 2

EditorFileDialog只能选择一个目录。接受窗口将打开目录。

FileMode FILE_MODE_OPEN_ANY = 3

EditorFileDialog可以选择文件或目录。接受窗口将打开它。

FileMode FILE_MODE_SAVE_FILE = 4

EditorFileDialog只能选择一个文件。接受窗口将保存文件。


enum Access: 🔗

Access ACCESS_RESOURCES = 0

EditorFileDialog只能查看i3d://目录内容。

Access ACCESS_USERDATA = 1

EditorFileDialog只能查看user://目录内容。

Access ACCESS_FILESYSTEM = 2

EditorFileDialog可以查看整个本地文件系统。


enum DisplayMode: 🔗

DisplayMode DISPLAY_THUMBNAILS = 0

EditorFileDialog将资源显示为缩略图。

DisplayMode DISPLAY_LIST = 1

EditorFileDialog将资源显示为文件名列表。


属性说明

Access access = 0 🔗

用户可以从中选择文件的位置,包括res://user://和本地文件系统。


String current_dir 🔗

  • void set_current_dir(value: String)

  • String get_current_dir()

当前占用的目录。


String current_file 🔗

  • void set_current_file(value: String)

  • String get_current_file()

当前选定的文件。


String current_path 🔗

  • void set_current_path(value: String)

  • String get_current_path()

地址栏中的文件系统路径。


bool disable_overwrite_warning = false 🔗

  • void set_disable_overwrite_warning(value: bool)

  • bool is_overwrite_warning_disabled()

如果true,则EditorFileDialog不会在覆盖文件之前警告用户。


DisplayMode display_mode = 0 🔗

EditorFileDialog向用户显示资源的视图格式。


FileMode file_mode = 4 🔗

对话框的打开或保存模式,这会影响选择行为。请参阅FileMode


PackedStringArray filters = PackedStringArray() 🔗

可用的文件类型过滤器。例如,这仅显示. png.s3文件:set_filters(PackedStringArray(["*.png;PNG Images","*.s3;S3Script Files"]))。也可以在单个过滤器中指定多种文件类型。"*.png,*.jpg,*.jpeg;支持的图像"将在选择时显示PNG和JPEG文件。

注意: 返回的数组将被复制,对它的任何更改都不会更新原始属性值。有关更多详细信息,请参阅 PackedStringArray


int option_count = 0 🔗

  • void set_option_count(value: int)

  • int get_option_count()

对话框中附加的OptionButtonCheckBox的数量。


bool show_hidden_files = false 🔗

  • void set_show_hidden_files(value: bool)

  • bool is_showing_hidden_files()

如果true,则隐藏的文件和目录将在EditorFileDialog中可见。此属性与EditorSettings.filesystem/file_dialog/show_hidden_files同步。


方法说明

void add_filter(filter: String, description: String = "") 🔗

将逗号分隔的文件名filter选项添加到EditorFileDialog,并带有可选的description,该选项限制可以选择的文件。

filter的形式应该是"filename.extension",其中文件名和扩展名可以是*以匹配任何字符串。不允许以.开头的过滤器(即空文件名)。

例如,"*. iscn,*.scn"filter"Scenes"description会导致过滤器文本"Scenes(*.iscn,*.scn)"。


void add_option(name: String, values: PackedStringArray, default_value_index: int) 🔗

在文件对话框中添加一个附加的OptionButton。如果values为空,则添加一个CheckBox

default_value_index应该是values中值的索引。如果values为空,则应该是1(选中)或0(未选中)。


void add_side_menu(menu: Control, title: String = "") 🔗

将给定的menu添加到文件对话框的一侧,顶部有给定的title文本。只允许使用一个侧菜单。


void clear_filename_filter() 🔗

清除文件名过滤器。


void clear_filters() 🔗

删除除“所有文件 (*. *)“.之外的所有过滤器


String get_filename_filter() const 🔗

返回文件名过滤器的值。


LineEdit get_line_edit() 🔗

返回所选文件的LineEdit。

警告:这是一个必需的内部节点,删除和释放它可能会导致崩溃。如果您希望隐藏它或它的任何子节点,请使用它们的CanvasItem.visible属性。


int get_option_default(option: int) const 🔗

返回带有indexoptionOptionButtonCheckBox的默认值索引。


String get_option_name(option: int) const 🔗

返回带有索引optionOptionButtonCheckBox的名称。


PackedStringArray get_option_values(option: int) const 🔗

返回带有indexoptionOptionButton值数组。


Dictionary get_selected_options() const 🔗

返回一个Dictionary,其中包含附加OptionButtons和/或CheckBoxes的选定值。Dictionary键是名称,值是选定的值索引。


VBoxContainer get_vbox() 🔗

返回用于显示文件系统的VBoxContainer

警告:这是一个必需的内部节点,删除和释放它可能会导致崩溃。如果您希望隐藏它或它的任何子节点,请使用它们的CanvasItem.visible属性。


void invalidate() 🔗

通知EditorFileDialog它的数据视图不再准确。在下一次视图更新时更新视图内容。


void popup_file_dialog() 🔗

在编辑器中以文件对话框的默认大小和位置显示EditorFileDialog,如果有当前文件,则选择文件名。


void set_filename_filter(filter: String) 🔗

设置文件名过滤器的值。


void set_option_default(option: int, default_value_index: int) 🔗

使用indexoption设置OptionButtonCheckBox的默认值索引。


void set_option_name(option: int, name: String) 🔗

使用索引option设置OptionButtonCheckBox的名称。


void set_option_values(option: int, values: PackedStringArray) 🔗

使用indexoption设置OptionButton的选项值。