summaryrefslogtreecommitdiff
path: root/doc/classes/EditorResourcePicker.xml
blob: b26b6f9527687824e295169e5b0cbf62df2952e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?xml version="1.0" encoding="UTF-8" ?>
<class name="EditorResourcePicker" inherits="HBoxContainer" version="4.0">
	<brief_description>
		Godot editor's control for selecting [Resource] type properties.
	</brief_description>
	<description>
		This [Control] node is used in the editor's Inspector dock to allow editing of [Resource] type properties. It provides options for creating, loading, saving and converting resources. Can be used with [EditorInspectorPlugin] to recreate the same behavior.
		[b]Note:[/b] This [Control] does not include any editor for the resource, as editing is controlled by the Inspector dock itself or sub-Inspectors.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="_handle_menu_selected" qualifiers="virtual">
			<return type="void" />
			<argument index="0" name="id" type="int" />
			<description>
				This virtual method can be implemented to handle context menu items not handled by default. See [method _set_create_options].
			</description>
		</method>
		<method name="_set_create_options" qualifiers="virtual">
			<return type="void" />
			<argument index="0" name="menu_node" type="Object" />
			<description>
				This virtual method is called when updating the context menu of [EditorResourcePicker]. Implement this method to override the "New ..." items with your own options. [code]menu_node[/code] is a reference to the [PopupMenu] node.
				[b]Note:[/b] Implement [method _handle_menu_selected] to handle these custom items.
			</description>
		</method>
		<method name="get_allowed_types" qualifiers="const">
			<return type="PackedStringArray" />
			<description>
				Returns a list of all allowed types and subtypes corresponding to the [member base_type]. If the [member base_type] is empty, an empty list is returned.
			</description>
		</method>
		<method name="set_toggle_pressed">
			<return type="void" />
			<argument index="0" name="pressed" type="bool" />
			<description>
				Sets the toggle mode state for the main button. Works only if [member toggle_mode] is set to [code]true[/code].
			</description>
		</method>
	</methods>
	<members>
		<member name="base_type" type="String" setter="set_base_type" getter="get_base_type" default="&quot;&quot;">
			The base type of allowed resource types. Can be a comma-separated list of several options.
		</member>
		<member name="editable" type="bool" setter="set_editable" getter="is_editable" default="true">
			If [code]true[/code], the value can be selected and edited.
		</member>
		<member name="edited_resource" type="Resource" setter="set_edited_resource" getter="get_edited_resource">
			The edited resource value.
		</member>
		<member name="toggle_mode" type="bool" setter="set_toggle_mode" getter="is_toggle_mode" default="false">
			If [code]true[/code], the main button with the resource preview works in the toggle mode. Use [method set_toggle_pressed] to manually set the state.
		</member>
	</members>
	<signals>
		<signal name="resource_changed">
			<argument index="0" name="resource" type="Resource" />
			<description>
				Emitted when the value of the edited resource was changed.
			</description>
		</signal>
		<signal name="resource_selected">
			<argument index="0" name="resource" type="Resource" />
			<argument index="1" name="edit" type="bool" />
			<description>
				Emitted when the resource value was set and user clicked to edit it. When [code]edit[/code] is [code]true[/code], the signal was caused by the context menu "Edit" option.
			</description>
		</signal>
	</signals>
</class>