summaryrefslogtreecommitdiff
path: root/doc/classes/Container.xml
blob: 076a800e29a4f293d56494730d4bff0835703496 (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
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Container" inherits="Control" version="4.0">
	<brief_description>
		Base node for containers.
	</brief_description>
	<description>
		Base node for containers. A [Container] contains other controls and automatically arranges them in a certain way.
		A Control can inherit this to create custom container classes.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="_get_allowed_size_flags_horizontal" qualifiers="virtual const">
			<return type="PackedInt32Array" />
			<description>
				Implement to return a list of allowed horizontal [enum Control.SizeFlags] for child nodes. This doesn't technically prevent the usages of any other size flags, if your implementation requires that. This only limits the options available to the user in the inspector dock.
				[b]Note:[/b] Having no size flags is equal to having [constant Control.SIZE_SHRINK_BEGIN]. As such, this value is always implicitly allowed.
			</description>
		</method>
		<method name="_get_allowed_size_flags_vertical" qualifiers="virtual const">
			<return type="PackedInt32Array" />
			<description>
				Implement to return a list of allowed vertical [enum Control.SizeFlags] for child nodes. This doesn't technically prevent the usages of any other size flags, if your implementation requires that. This only limits the options available to the user in the inspector dock.
				[b]Note:[/b] Having no size flags is equal to having [constant Control.SIZE_SHRINK_BEGIN]. As such, this value is always implicitly allowed.
			</description>
		</method>
		<method name="fit_child_in_rect">
			<return type="void" />
			<argument index="0" name="child" type="Control" />
			<argument index="1" name="rect" type="Rect2" />
			<description>
				Fit a child control in a given rect. This is mainly a helper for creating custom container classes.
			</description>
		</method>
		<method name="queue_sort">
			<return type="void" />
			<description>
				Queue resort of the contained children. This is called automatically anyway, but can be called upon request.
			</description>
		</method>
	</methods>
	<members>
		<member name="mouse_filter" type="int" setter="set_mouse_filter" getter="get_mouse_filter" overrides="Control" enum="Control.MouseFilter" default="1" />
	</members>
	<signals>
		<signal name="pre_sort_children">
			<description>
				Emitted when children are going to be sorted.
			</description>
		</signal>
		<signal name="sort_children">
			<description>
				Emitted when sorting the children is needed.
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="NOTIFICATION_PRE_SORT_CHILDREN" value="50">
			Notification just before children are going to be sorted, in case there's something to process beforehand.
		</constant>
		<constant name="NOTIFICATION_SORT_CHILDREN" value="51">
			Notification for when sorting the children, it must be obeyed immediately.
		</constant>
	</constants>
</class>