|
|
@@ -9,7 +9,7 @@
|
|
|
[b]User Interface nodes and input[/b]
|
|
|
Godot sends input events to the scene's root node first, by calling [method Node._input]. [method Node._input] forwards the event down the node tree to the nodes under the mouse cursor, or on keyboard focus. To do so, it calls [code]MainLoop._input_event[/code].
|
|
|
[b]FIXME:[/b] No longer valid after DisplayServer split and Input refactoring.
|
|
|
- Call [method accept_event] so no other node receives the event. Once you accepted an input, it becomes handled so [method Node._unhandled_input] will not process it.
|
|
|
+ Call [method accept_event] so no other node receives the event. Once you accept an input, it becomes handled so [method Node._unhandled_input] will not process it.
|
|
|
Only one [Control] node can be in keyboard focus. Only the node in focus will receive keyboard events. To get the focus, call [method grab_focus]. [Control] nodes lose focus when another node grabs it, or if you hide the node in focus.
|
|
|
Sets [member mouse_filter] to [constant MOUSE_FILTER_IGNORE] to tell a [Control] node to ignore mouse or touch events. You'll need it if you place an icon on top of a button.
|
|
|
[Theme] resources change the Control's appearance. If you change the [Theme] on a [Control] node, it affects all of its children. To override some of the theme's parameters, call one of the [code]add_theme_*_override[/code] methods, like [method add_theme_font_override]. You can override the theme with the inspector.
|
|
|
@@ -147,7 +147,7 @@
|
|
|
* control has [member mouse_filter] set to [constant MOUSE_FILTER_IGNORE];
|
|
|
* control is obstructed by another [Control] on top of it, which doesn't have [member mouse_filter] set to [constant MOUSE_FILTER_IGNORE];
|
|
|
* control's parent has [member mouse_filter] set to [constant MOUSE_FILTER_STOP] or has accepted the event;
|
|
|
- * it happens outside parent's rectangle and the parent has either [member rect_clip_content] enabled.
|
|
|
+ * it happens outside the parent's rectangle and the parent has either [member rect_clip_content] enabled.
|
|
|
</description>
|
|
|
</method>
|
|
|
<method name="_has_point" qualifiers="virtual const">
|
|
|
@@ -168,10 +168,10 @@
|
|
|
</argument>
|
|
|
<description>
|
|
|
Virtual method to be implemented by the user. Returns a [Control] node that should be used as a tooltip instead of the default one. The [code]for_text[/code] includes the contents of the [member hint_tooltip] property.
|
|
|
- The returned node must be of type [Control] or Control-derived. It can have child nodes of any type. It is freed when the tooltip disappears, so make sure you always provide a new instance (if you want to use a pre-existing node from your scene tree, you can duplicate it and pass the duplicated instance).When [code]null[/code] or a non-Control node is returned, the default tooltip will be used instead.
|
|
|
+ The returned node must be of type [Control] or Control-derived. It can have child nodes of any type. It is freed when the tooltip disappears, so make sure you always provide a new instance (if you want to use a pre-existing node from your scene tree, you can duplicate it and pass the duplicated instance). When [code]null[/code] or a non-Control node is returned, the default tooltip will be used instead.
|
|
|
The returned node will be added as child to a [PopupPanel], so you should only provide the contents of that panel. That [PopupPanel] can be themed using [method Theme.set_stylebox] for the type [code]"TooltipPanel"[/code] (see [member hint_tooltip] for an example).
|
|
|
[b]Note:[/b] The tooltip is shrunk to minimal size. If you want to ensure it's fully visible, you might want to set its [member rect_min_size] to some non-zero value.
|
|
|
- [b]Note:[/b] The node (and any relevant children) should be [member CanvasItem.visible] when returned, otherwise the viewport that instantiates it will not be able to calculate its minimum size reliably.
|
|
|
+ [b]Note:[/b] The node (and any relevant children) should be [member CanvasItem.visible] when returned, otherwise, the viewport that instantiates it will not be able to calculate its minimum size reliably.
|
|
|
Example of usage with a custom-constructed node:
|
|
|
[codeblocks]
|
|
|
[gdscript]
|
|
|
@@ -860,7 +860,7 @@
|
|
|
<argument index="1" name="keep_offsets" type="bool" default="false">
|
|
|
</argument>
|
|
|
<description>
|
|
|
- Sets the anchors to a [code]preset[/code] from [enum Control.LayoutPreset] enum. This is code equivalent of using the Layout menu in 2D editor.
|
|
|
+ Sets the anchors to a [code]preset[/code] from [enum Control.LayoutPreset] enum. This is the code equivalent to using the Layout menu in the 2D editor.
|
|
|
If [code]keep_offsets[/code] is [code]true[/code], control's position will also be updated.
|
|
|
</description>
|
|
|
</method>
|
|
|
@@ -1029,7 +1029,7 @@
|
|
|
<argument index="2" name="margin" type="int" default="0">
|
|
|
</argument>
|
|
|
<description>
|
|
|
- Sets the offsets to a [code]preset[/code] from [enum Control.LayoutPreset] enum. This is code equivalent of using the Layout menu in 2D editor.
|
|
|
+ Sets the offsets to a [code]preset[/code] from [enum Control.LayoutPreset] enum. This is the code equivalent to using the Layout menu in the 2D editor.
|
|
|
Use parameter [code]resize_mode[/code] with constants from [enum Control.LayoutPresetMode] to better determine the resulting size of the [Control]. Constant size will be ignored if used with presets that change size, e.g. [code]PRESET_LEFT_WIDE[/code].
|
|
|
Use parameter [code]margin[/code] to determine the gap between the [Control] and the edges.
|
|
|
</description>
|