From 151a4ba6a59f6e965bb56ce8fbc75b14d056fa79 Mon Sep 17 00:00:00 2001 From: VolTer Date: Sun, 30 Apr 2023 16:26:09 +0200 Subject: [PATCH] Overhaul the top sections of the class reference (GUI classes) --- doc/classes/AcceptDialog.xml | 4 ++-- doc/classes/AspectRatioContainer.xml | 6 +++--- doc/classes/BaseButton.xml | 4 ++-- doc/classes/BoxContainer.xml | 6 +++--- doc/classes/Button.xml | 7 +++---- doc/classes/ButtonGroup.xml | 6 +++--- doc/classes/CanvasItem.xml | 12 +++++------ doc/classes/CanvasLayer.xml | 7 ++++--- doc/classes/CanvasModulate.xml | 4 ++-- doc/classes/CenterContainer.xml | 6 +++--- doc/classes/CheckBox.xml | 6 +++--- doc/classes/CheckButton.xml | 4 ++-- doc/classes/CodeEdit.xml | 6 +++--- doc/classes/CodeHighlighter.xml | 4 ++-- doc/classes/ColorPicker.xml | 6 +++--- doc/classes/ColorPickerButton.xml | 4 ++-- doc/classes/ColorRect.xml | 14 +++---------- doc/classes/ConfirmationDialog.xml | 4 ++-- doc/classes/Container.xml | 7 +++---- doc/classes/Control.xml | 2 +- doc/classes/DisplayServer.xml | 4 ++-- doc/classes/EditorFileDialog.xml | 2 +- doc/classes/EditorInterface.xml | 2 +- doc/classes/EditorNode3DGizmoPlugin.xml | 2 +- doc/classes/EditorProperty.xml | 4 ++-- doc/classes/EditorResourcePreview.xml | 4 ++-- doc/classes/EditorSyntaxHighlighter.xml | 4 ++-- doc/classes/FileDialog.xml | 4 ++-- doc/classes/FileSystemDock.xml | 4 ++-- doc/classes/FlowContainer.xml | 6 +++--- doc/classes/Font.xml | 4 ++-- doc/classes/FontFile.xml | 6 +++--- doc/classes/FontVariation.xml | 4 ++-- doc/classes/GraphEdit.xml | 7 +++---- doc/classes/GraphNode.xml | 9 ++++---- doc/classes/GridContainer.xml | 9 ++++---- doc/classes/HBoxContainer.xml | 6 +++--- doc/classes/HFlowContainer.xml | 5 +++-- doc/classes/HScrollBar.xml | 4 ++-- doc/classes/HSeparator.xml | 4 ++-- doc/classes/HSlider.xml | 5 ++--- doc/classes/HSplitContainer.xml | 6 +++--- doc/classes/HTTPClient.xml | 2 +- doc/classes/ItemList.xml | 8 +++---- doc/classes/Label.xml | 5 ++--- doc/classes/Label3D.xml | 4 ++-- doc/classes/LabelSettings.xml | 4 ++-- doc/classes/LineEdit.xml | 21 +++++++++---------- doc/classes/LinkButton.xml | 4 ++-- doc/classes/MarginContainer.xml | 8 +++---- doc/classes/MenuBar.xml | 4 ++-- doc/classes/MenuButton.xml | 5 ++--- doc/classes/NinePatchRect.xml | 4 ++-- doc/classes/OptimizedTranslation.xml | 4 ++-- doc/classes/OptionButton.xml | 6 ++++-- doc/classes/Panel.xml | 6 +++--- doc/classes/PanelContainer.xml | 6 +++--- doc/classes/Popup.xml | 4 ++-- doc/classes/PopupMenu.xml | 9 ++++---- doc/classes/PopupPanel.xml | 5 ++--- doc/classes/ProgressBar.xml | 4 ++-- doc/classes/Range.xml | 16 +++++++------- doc/classes/ReferenceRect.xml | 6 +++--- doc/classes/RichTextEffect.xml | 4 ++-- doc/classes/RichTextLabel.xml | 8 +++---- doc/classes/ScriptCreateDialog.xml | 2 +- doc/classes/ScriptEditor.xml | 1 + doc/classes/ScriptEditorBase.xml | 2 +- doc/classes/ScrollBar.xml | 4 ++-- doc/classes/ScrollContainer.xml | 8 +++---- doc/classes/Separator.xml | 4 ++-- doc/classes/Slider.xml | 5 ++--- doc/classes/SpinBox.xml | 4 ++-- doc/classes/SplitContainer.xml | 6 +++--- doc/classes/StyleBox.xml | 6 +++--- doc/classes/StyleBoxEmpty.xml | 4 ++-- doc/classes/StyleBoxFlat.xml | 8 ++----- doc/classes/StyleBoxLine.xml | 4 ++-- doc/classes/StyleBoxTexture.xml | 4 ++-- doc/classes/SubViewport.xml | 5 +++-- doc/classes/SubViewportContainer.xml | 8 +++---- doc/classes/SyntaxHighlighter.xml | 7 +++---- doc/classes/SystemFont.xml | 4 ++-- doc/classes/TabBar.xml | 4 ++-- doc/classes/TabContainer.xml | 9 ++++---- doc/classes/TextEdit.xml | 4 ++-- doc/classes/TextLine.xml | 2 +- doc/classes/TextParagraph.xml | 2 +- doc/classes/TextServer.xml | 6 +++--- doc/classes/TextServerExtension.xml | 4 ++-- doc/classes/TextServerManager.xml | 12 +++++------ doc/classes/TextureRect.xml | 4 ++-- doc/classes/Theme.xml | 4 ++-- doc/classes/ThemeDB.xml | 4 ++-- doc/classes/Translation.xml | 4 ++-- doc/classes/TranslationServer.xml | 18 ++++++++-------- doc/classes/Tree.xml | 6 +++--- doc/classes/TreeItem.xml | 8 +++---- doc/classes/UndoRedo.xml | 10 ++++----- doc/classes/VBoxContainer.xml | 6 +++--- doc/classes/VFlowContainer.xml | 5 +++-- doc/classes/VScrollBar.xml | 4 ++-- doc/classes/VSeparator.xml | 4 ++-- doc/classes/VSlider.xml | 5 ++--- doc/classes/VSplitContainer.xml | 6 +++--- doc/classes/VideoStreamPlayer.xml | 4 ++-- doc/classes/Viewport.xml | 4 ++-- doc/classes/ViewportTexture.xml | 12 +++++------ doc/classes/Window.xml | 4 ++-- .../doc_classes/TextServerAdvanced.xml | 3 ++- .../doc_classes/TextServerFallback.xml | 4 +++- 111 files changed, 299 insertions(+), 320 deletions(-) diff --git a/doc/classes/AcceptDialog.xml b/doc/classes/AcceptDialog.xml index 6b291dc52c4e..633657807b4e 100644 --- a/doc/classes/AcceptDialog.xml +++ b/doc/classes/AcceptDialog.xml @@ -1,10 +1,10 @@ - Base dialog for user notification. + A base dialog used for user notification. - This dialog is useful for small notifications to the user about an event. It can only be accepted or closed, with the same result. + The default use of [AcceptDialog] is to allow it to only be accepted or closed, with the same result. However, the [signal confirmed] and [signal canceled] signals allow to make the two actions different, and the [method add_button] method allows to add custom buttons and actions. diff --git a/doc/classes/AspectRatioContainer.xml b/doc/classes/AspectRatioContainer.xml index 371a27274c72..0f4f7687b9dc 100644 --- a/doc/classes/AspectRatioContainer.xml +++ b/doc/classes/AspectRatioContainer.xml @@ -1,13 +1,13 @@ - Container that preserves its child controls' aspect ratio. + A container that preserves the proportions of its child controls. - Arranges child controls in a way to preserve their aspect ratio automatically whenever the container is resized. Solves the problem where the container size is dynamic and the contents' size needs to adjust accordingly without losing proportions. + A container type that arranges its child controls in a way that preserves their proportions automatically when the container is resized. Useful when a container has a dynamic size and the child nodes must adjust their sizes accordingly without losing their aspect ratios. - $DOCS_URL/tutorials/ui/gui_containers.html + $DOCS_URL/tutorials/ui/gui_containers.html diff --git a/doc/classes/BaseButton.xml b/doc/classes/BaseButton.xml index a934e1544a47..1290bfc0f2ca 100644 --- a/doc/classes/BaseButton.xml +++ b/doc/classes/BaseButton.xml @@ -1,10 +1,10 @@ - Base class for different kinds of buttons. + Abstract base class for GUI buttons. - BaseButton is the abstract base class for buttons, so it shouldn't be used directly (it doesn't display anything). Other types of buttons inherit from it. + [BaseButton] is an abstract base class for GUI buttons. It doesn't display anything by itself. diff --git a/doc/classes/BoxContainer.xml b/doc/classes/BoxContainer.xml index 2fccb02c05ae..1716fc83fbd6 100644 --- a/doc/classes/BoxContainer.xml +++ b/doc/classes/BoxContainer.xml @@ -1,13 +1,13 @@ - Base class for box containers. + A container that arranges its child controls horizontally or vertically. - Arranges child [Control] nodes vertically or horizontally, and rearranges them automatically when their minimum size changes. + A container that arranges its child controls horizontally or vertically, rearranging them automatically when their minimum size changes. - $DOCS_URL/tutorials/ui/gui_containers.html + $DOCS_URL/tutorials/ui/gui_containers.html diff --git a/doc/classes/Button.xml b/doc/classes/Button.xml index 1bf5c31818bf..e5d57d3f18cd 100644 --- a/doc/classes/Button.xml +++ b/doc/classes/Button.xml @@ -1,10 +1,10 @@ - Standard themed Button. + A themed button that can contain text and an icon. - Button is the standard themed button. It can contain text and an icon, and will display them according to the current [Theme]. + [Button] is the standard themed button. It can contain text and an icon, and it will display them according to the current [Theme]. [b]Example of creating a button and assigning an action when pressed by code:[/b] [codeblocks] [gdscript] @@ -32,9 +32,8 @@ } [/csharp] [/codeblocks] - Buttons (like all Control nodes) can also be created in the editor, but some situations may require creating them from code. See also [BaseButton] which contains common properties and methods associated with this node. - [b]Note:[/b] Buttons do not interpret touch input and therefore don't support multitouch, since mouse emulation can only press one button at a given time. Use [TouchScreenButton] for buttons that trigger gameplay movement or actions, as [TouchScreenButton] supports multitouch. + [b]Note:[/b] Buttons do not interpret touch input and therefore don't support multitouch, since mouse emulation can only press one button at a given time. Use [TouchScreenButton] for buttons that trigger gameplay movement or actions. https://godotengine.org/asset-library/asset/515 diff --git a/doc/classes/ButtonGroup.xml b/doc/classes/ButtonGroup.xml index ebc902bea7dd..bb32319a310a 100644 --- a/doc/classes/ButtonGroup.xml +++ b/doc/classes/ButtonGroup.xml @@ -1,11 +1,11 @@ - Group of Buttons. + A group of buttons that doesn't allow more than one button to be pressed at a time. - Group of [BaseButton]. The members of this group are treated like radio buttons in the sense that only one button can be pressed at the same time. Some types of buttons (such as [CheckBox]) may have a special appearance for this state. - Every member of the ButtonGroup should have [member BaseButton.toggle_mode] set to [code]true[/code]. + A group of [BaseButton]-derived buttons. The buttons in a [ButtonGroup] are treated like radio buttons: No more than one button can be pressed at a time. Some types of buttons (such as [CheckBox]) may have a special appearance in this state. + Every member of a [ButtonGroup] should have [member BaseButton.toggle_mode] set to [code]true[/code]. diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml index 94f310ebfa6a..cb1036718311 100644 --- a/doc/classes/CanvasItem.xml +++ b/doc/classes/CanvasItem.xml @@ -1,15 +1,13 @@ - Base class of anything 2D. + Abstract base class for everything in 2D space. - Base class of anything 2D. Canvas items are laid out in a tree; children inherit and extend their parent's transform. [CanvasItem] is extended by [Control] for anything GUI-related, and by [Node2D] for anything related to the 2D engine. - Any [CanvasItem] can draw. For this, [method queue_redraw] is called by the engine, then [constant NOTIFICATION_DRAW] will be received on idle time to request redraw. Because of this, canvas items don't need to be redrawn on every frame, improving the performance significantly. Several functions for drawing on the [CanvasItem] are provided (see [code]draw_*[/code] functions). However, they can only be used inside [method _draw], its corresponding [method Object._notification] or methods connected to the [signal draw] signal. - Canvas items are drawn in tree order. By default, children are on top of their parents so a root [CanvasItem] will be drawn behind everything. This behavior can be changed on a per-item basis. - A [CanvasItem] can also be hidden, which will also hide its children. It provides many ways to change parameters such as modulation (for itself and its children) and self modulation (only for itself), as well as its blend mode. - Ultimately, a transform notification can be requested, which will notify the node that its global position changed in case the parent tree changed. - [b]Note:[/b] Unless otherwise specified, all methods that have angle parameters must have angles specified as [i]radians[/i]. To convert degrees to radians, use [method @GlobalScope.deg_to_rad]. + Abstract base class for everything in 2D space. Canvas items are laid out in a tree; children inherit and extend their parent's transform. [CanvasItem] is extended by [Control] for GUI-related nodes, and by [Node2D] for 2D game objects. + Any [CanvasItem] can draw. For this, [method queue_redraw] is called by the engine, then [constant NOTIFICATION_DRAW] will be received on idle time to request a redraw. Because of this, canvas items don't need to be redrawn on every frame, improving the performance significantly. Several functions for drawing on the [CanvasItem] are provided (see [code]draw_*[/code] functions). However, they can only be used inside [method _draw], its corresponding [method Object._notification] or methods connected to the [signal draw] signal. + Canvas items are drawn in tree order. By default, children are on top of their parents, so a root [CanvasItem] will be drawn behind everything. This behavior can be changed on a per-item basis. + A [CanvasItem] can be hidden, which will also hide its children. By adjusting various other properties of a [CanvasItem], you can also modulate its color (via [member modulate] or [member self_modulate]), change its Z-index, blend mode, and more. $DOCS_URL/tutorials/2d/2d_transforms.html diff --git a/doc/classes/CanvasLayer.xml b/doc/classes/CanvasLayer.xml index 040877b88ed2..15e49c018d4a 100644 --- a/doc/classes/CanvasLayer.xml +++ b/doc/classes/CanvasLayer.xml @@ -1,11 +1,12 @@ - Canvas drawing layer. + A node used for independent rendering of objects within a 2D scene. - Canvas drawing layer. [CanvasItem] nodes that are direct or indirect children of a [CanvasLayer] will be drawn in that layer. The layer is a numeric index that defines the draw order. The default 2D scene renders with index 0, so a [CanvasLayer] with index -1 will be drawn below, and one with index 1 will be drawn above. This is very useful for HUDs (in layer 1+ or above), or backgrounds (in layer -1 or below). - Embedded [Window]s are placed in layer 1024. CanvasItems in layer 1025 or above appear in front of embedded windows, CanvasItems in layer 1023 or below appear behind embedded windows. + [CanvasItem]-derived nodes that are direct or indirect children of a [CanvasLayer] will be drawn in that layer. The layer is a numeric index that defines the draw order. The default 2D scene renders with index [code]0[/code], so a [CanvasLayer] with index [code]-1[/code] will be drawn below, and a [CanvasLayer] with index [code]1[/code] will be drawn above. This order will hold regardless of the [member CanvasItem.z_index] of the nodes within each layer. + [CanvasLayer]s can be hidden and they can also optionally follow the viewport. This makes them useful for HUDs like health bar overlays (on layers [code]1[/code] and higher) or backgrounds (on layers [code]-1[/code] and lower). + [b]Note:[/b] Embedded [Window]s are placed on layer [code]1024[/code]. [CanvasItem]s on layers [code]1025[/code] and higher appear in front of embedded windows. $DOCS_URL/tutorials/2d/2d_transforms.html diff --git a/doc/classes/CanvasModulate.xml b/doc/classes/CanvasModulate.xml index d0eabe00113f..ecebabb1c586 100644 --- a/doc/classes/CanvasModulate.xml +++ b/doc/classes/CanvasModulate.xml @@ -1,10 +1,10 @@ - Tint the entire canvas. + A node that applies a color tint to a canvas. - [CanvasModulate] tints the canvas elements using its assigned [member color]. + [CanvasModulate] applies a color tint to all nodes on a canvas. Only one can be used to tint a canvas, but [CanvasLayer]s can be used to render things independently. diff --git a/doc/classes/CenterContainer.xml b/doc/classes/CenterContainer.xml index b291e02b3c9f..c5481d5beb17 100644 --- a/doc/classes/CenterContainer.xml +++ b/doc/classes/CenterContainer.xml @@ -1,13 +1,13 @@ - Keeps children controls centered. + A container that keeps child controls in its center. - CenterContainer keeps children controls centered. This container keeps all children to their minimum size, in the center. + [CenterContainer] is a container that keeps all of its child controls in its center at their minimum size. - $DOCS_URL/tutorials/ui/gui_containers.html + $DOCS_URL/tutorials/ui/gui_containers.html diff --git a/doc/classes/CheckBox.xml b/doc/classes/CheckBox.xml index 699073f9d334..b5d7c8d898bf 100644 --- a/doc/classes/CheckBox.xml +++ b/doc/classes/CheckBox.xml @@ -1,12 +1,12 @@ - Binary choice user interface widget. See also [CheckButton]. + A button that represents a binary choice. - A checkbox allows the user to make a binary choice (choosing only one of two possible options). It's similar to [CheckButton] in functionality, but it has a different appearance. To follow established UX patterns, it's recommended to use CheckBox when toggling it has [b]no[/b] immediate effect on something. For example, it could be used when toggling it will only do something once a confirmation button is pressed. + [CheckBox] allows the user to choose one of only two possible options. It's similar to [CheckButton] in functionality, but it has a different appearance. To follow established UX patterns, it's recommended to use [CheckBox] when toggling it has [b]no[/b] immediate effect on something. For example, it could be used when toggling it will only do something once a confirmation button is pressed. See also [BaseButton] which contains common properties and methods associated with this node. - [b]Note:[/b] CheckBox changes its appearance when it's configured as a radio button. See various [code]radio_*[/code] theme properties. To configure CheckBox to act as a radio button, use [member BaseButton.button_group] and [ButtonGroup]. + When [member BaseButton.button_group] specifies a [ButtonGroup], [CheckBox] changes its appearance to that of a radio button and uses the various [code]radio_*[/code] theme properties. diff --git a/doc/classes/CheckButton.xml b/doc/classes/CheckButton.xml index 55bc8508eb45..3f9af48dc9d5 100644 --- a/doc/classes/CheckButton.xml +++ b/doc/classes/CheckButton.xml @@ -1,10 +1,10 @@ - Checkable button. See also [CheckBox]. + A button that represents a binary choice. - CheckButton is a toggle button displayed as a check field. It's similar to [CheckBox] in functionality, but it has a different appearance. To follow established UX patterns, it's recommended to use CheckButton when toggling it has an [b]immediate[/b] effect on something. For example, it could be used if toggling it enables/disables a setting without requiring the user to press a confirmation button. + [CheckButton] is a toggle button displayed as a check field. It's similar to [CheckBox] in functionality, but it has a different appearance. To follow established UX patterns, it's recommended to use [CheckButton] when toggling it has an [b]immediate[/b] effect on something. For example, it can be used when pressing it shows or hides advanced settings, without asking the user to confirm this action. See also [BaseButton] which contains common properties and methods associated with this node. diff --git a/doc/classes/CodeEdit.xml b/doc/classes/CodeEdit.xml index 84e1c80900c2..67645cefc301 100644 --- a/doc/classes/CodeEdit.xml +++ b/doc/classes/CodeEdit.xml @@ -1,11 +1,11 @@ - Multiline text control intended for editing code. + A multiline text editor designed for editing code. - CodeEdit is a specialized [TextEdit] designed for editing plain text code files. It contains a bunch of features commonly found in code editors such as line numbers, line folding, code completion, indent management and string / comment management. - [b]Note:[/b] By default [CodeEdit] always use left-to-right text direction to correctly display source code. + CodeEdit is a specialized [TextEdit] designed for editing plain text code files. It has many features commonly found in code editors such as line numbers, line folding, code completion, indent management, and string/comment management. + [b]Note:[/b] Regardless of locale, [CodeEdit] will by default always use left-to-right text direction to correctly display source code. diff --git a/doc/classes/CodeHighlighter.xml b/doc/classes/CodeHighlighter.xml index db496a00c4ad..11b00557e916 100644 --- a/doc/classes/CodeHighlighter.xml +++ b/doc/classes/CodeHighlighter.xml @@ -1,10 +1,10 @@ - A syntax highlighter for code. + A syntax highlighter intended for code. - A syntax highlighter for code. + By adjusting various properties of this resource, you can change the colors of strings, comments, numbers, and other text patterns inside a [TextEdit] control. diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml index 61a0606f794a..fbeae42932ca 100644 --- a/doc/classes/ColorPicker.xml +++ b/doc/classes/ColorPicker.xml @@ -1,11 +1,11 @@ - Color picker control. + A widget that provides an interface for selecting or modifying a color. - Displays a color picker widget. Useful for selecting a color from an RGB/RGBA colorspace. - [b]Note:[/b] This control is the color picker widget itself. You can use a [ColorPickerButton] instead if you need a button that brings up a [ColorPicker] in a pop-up. + A widget that provides an interface for selecting or modifying a color. It can optionally provide functionalities like a color sampler (eyedropper), color modes, and presets. + [b]Note:[/b] This control is the color picker widget itself. You can use a [ColorPickerButton] instead if you need a button that brings up a [ColorPicker] in a popup. https://godotengine.org/asset-library/asset/146 diff --git a/doc/classes/ColorPickerButton.xml b/doc/classes/ColorPickerButton.xml index 022d8cd7d0c7..a725d1a3eefd 100644 --- a/doc/classes/ColorPickerButton.xml +++ b/doc/classes/ColorPickerButton.xml @@ -1,10 +1,10 @@ - Button that pops out a [ColorPicker]. + A button that brings up a [ColorPicker] when pressed. - Encapsulates a [ColorPicker] making it accessible by pressing a button. Pressing the button will toggle the [ColorPicker] visibility. + Encapsulates a [ColorPicker], making it accessible by pressing a button. Pressing the button will toggle the [ColorPicker]'s visibility. See also [BaseButton] which contains common properties and methods associated with this node. [b]Note:[/b] By default, the button may not be wide enough for the color preview swatch to be visible. Make sure to set [member Control.custom_minimum_size] to a big enough value to give the button enough space. diff --git a/doc/classes/ColorRect.xml b/doc/classes/ColorRect.xml index 0afecfd80f4d..e179ab07bb3b 100644 --- a/doc/classes/ColorRect.xml +++ b/doc/classes/ColorRect.xml @@ -1,25 +1,17 @@ - Colored rectangle. + A control that displays a solid color rectangle. - Displays a rectangle filled with a solid [member color]. If you need to display the border alone, consider using [ReferenceRect] instead. + Displays a rectangle filled with a solid [member color]. If you need to display the border alone, consider using a [Panel] instead. https://godotengine.org/asset-library/asset/515 - The fill color. - [codeblocks] - [gdscript] - $ColorRect.color = Color(1, 0, 0, 1) # Set ColorRect's color to red. - [/gdscript] - [csharp] - GetNode<ColorRect>("ColorRect").Color = new Color(1, 0, 0, 1); // Set ColorRect's color to red. - [/csharp] - [/codeblocks] + The fill color of the rectangle. diff --git a/doc/classes/ConfirmationDialog.xml b/doc/classes/ConfirmationDialog.xml index 5f1d731891d2..631e107448b0 100644 --- a/doc/classes/ConfirmationDialog.xml +++ b/doc/classes/ConfirmationDialog.xml @@ -1,10 +1,10 @@ - Dialog for confirmation of actions. + A dialog used for confirmation of actions. - Dialog for confirmation of actions. This dialog inherits from [AcceptDialog], but has by default an OK and Cancel button (in host OS order). + A dialog used for confirmation of actions. This window is similar to [AcceptDialog], but pressing its Cancel button can have a different outcome from pressing the OK button. The order of the two buttons varies depending on the host OS. To get cancel action, you can use: [codeblocks] [gdscript] diff --git a/doc/classes/Container.xml b/doc/classes/Container.xml index 2c61dfbe951c..6d7101ea1b1f 100644 --- a/doc/classes/Container.xml +++ b/doc/classes/Container.xml @@ -1,14 +1,13 @@ - Base node for containers. + Base class for all GUI containers. - 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. + Base class for all GUI containers. A [Container] automatically arranges its child controls in a certain way. This class can be inherited to make custom container types. - $DOCS_URL/tutorials/ui/gui_containers.html + $DOCS_URL/tutorials/ui/gui_containers.html diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml index 36074639dc70..57321575b96c 100644 --- a/doc/classes/Control.xml +++ b/doc/classes/Control.xml @@ -1,7 +1,7 @@ - All user interface nodes inherit from Control. A control's anchors and offsets adapt its position and size relative to its parent. + Base class for all GUI controls. Adapts its position and size based on its parent control. Base class for all UI-related nodes. [Control] features a bounding rectangle that defines its extents, an anchor position relative to its parent control or the current viewport, and offsets relative to the anchor. The offsets update automatically when the node, any of its parents, or the screen size change. diff --git a/doc/classes/DisplayServer.xml b/doc/classes/DisplayServer.xml index 47a7d2c67d7e..dd27bba8a3e4 100644 --- a/doc/classes/DisplayServer.xml +++ b/doc/classes/DisplayServer.xml @@ -1,10 +1,10 @@ - Singleton for window management functions. + A server interface for low-level window management. - [DisplayServer] handles everything related to window management. This is separated from [OS] as a single operating system may support multiple display servers. + [DisplayServer] handles everything related to window management. It is separated from [OS] as a single operating system may support multiple display servers. [b]Headless mode:[/b] Starting the engine with the [code]--headless[/code] [url=$DOCS_URL/tutorials/editor/command_line_tutorial.html]command line argument[/url] disables all rendering and window management functions. Most functions from [DisplayServer] will return dummy values in this case. diff --git a/doc/classes/EditorFileDialog.xml b/doc/classes/EditorFileDialog.xml index 3912e9fe26a4..1585b28be0bd 100644 --- a/doc/classes/EditorFileDialog.xml +++ b/doc/classes/EditorFileDialog.xml @@ -4,7 +4,7 @@ A modified version of [FileDialog] used by the editor. - [EditorFileDialog] is an enhanced version of [FileDialog] available only to editor plugins. Additional features include list of favorited/recent files and ability to see files as thumbnails grid instead of list. + [EditorFileDialog] is an enhanced version of [FileDialog] available only to editor plugins. Additional features include list of favorited/recent files and the ability to see files as thumbnails grid instead of list. diff --git a/doc/classes/EditorInterface.xml b/doc/classes/EditorInterface.xml index 3ad28f906277..418548a95f8f 100644 --- a/doc/classes/EditorInterface.xml +++ b/doc/classes/EditorInterface.xml @@ -4,7 +4,7 @@ Godot editor's interface. - EditorInterface gives you control over Godot editor's window. It allows customizing the window, saving and (re-)loading scenes, rendering mesh previews, inspecting and editing resources and objects, and provides access to [EditorSettings], [EditorFileSystem], [EditorResourcePreview], [ScriptEditor], the editor viewport, and information about scenes. + [EditorInterface] gives you control over Godot editor's window. It allows customizing the window, saving and (re-)loading scenes, rendering mesh previews, inspecting and editing resources and objects, and provides access to [EditorSettings], [EditorFileSystem], [EditorResourcePreview], [ScriptEditor], the editor viewport, and information about scenes. [b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorPlugin.get_editor_interface]. diff --git a/doc/classes/EditorNode3DGizmoPlugin.xml b/doc/classes/EditorNode3DGizmoPlugin.xml index 2ddbdfdf8683..55d1a38c3e09 100644 --- a/doc/classes/EditorNode3DGizmoPlugin.xml +++ b/doc/classes/EditorNode3DGizmoPlugin.xml @@ -1,7 +1,7 @@ - Used by the editor to define Node3D gizmo types. + A class used by the editor to define Node3D gizmo types. [EditorNode3DGizmoPlugin] allows you to define a new type of Gizmo. There are two main ways to do so: extending [EditorNode3DGizmoPlugin] for the simpler gizmos, or creating a new [EditorNode3DGizmo] type. See the tutorial in the documentation for more info. diff --git a/doc/classes/EditorProperty.xml b/doc/classes/EditorProperty.xml index a89eb7b9c862..3e9d98f67a1a 100644 --- a/doc/classes/EditorProperty.xml +++ b/doc/classes/EditorProperty.xml @@ -1,10 +1,10 @@ - Custom control to edit properties for adding into the inspector. + Custom control for editing properties that can be added to the [EditorInspector]. - This control allows property editing for one or multiple properties into [EditorInspector]. It is added via [EditorInspectorPlugin]. + A custom control for editing properties that can be added to the [EditorInspector]. It is added via [EditorInspectorPlugin]. diff --git a/doc/classes/EditorResourcePreview.xml b/doc/classes/EditorResourcePreview.xml index e01dbfbb3bc0..b85629912ee6 100644 --- a/doc/classes/EditorResourcePreview.xml +++ b/doc/classes/EditorResourcePreview.xml @@ -1,10 +1,10 @@ - Helper to generate previews of resources or files. + A node used to generate previews of resources or files. - This object is used to generate previews for resources of files. + This node is used to generate previews for resources of files. [b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorInterface.get_resource_previewer]. diff --git a/doc/classes/EditorSyntaxHighlighter.xml b/doc/classes/EditorSyntaxHighlighter.xml index 2b05ba24fc92..3d8ba0118e9d 100644 --- a/doc/classes/EditorSyntaxHighlighter.xml +++ b/doc/classes/EditorSyntaxHighlighter.xml @@ -1,10 +1,10 @@ - Base Syntax highlighter resource for the [ScriptEditor]. + Base class for [SyntaxHighlighter] used by the [ScriptEditor]. - Base syntax highlighter resource all editor syntax highlighters extend from, it is used in the [ScriptEditor]. + Base class that all [SyntaxHighlighter]s used by the [ScriptEditor] extend from. Add a syntax highlighter to an individual script by calling [method ScriptEditorBase.add_syntax_highlighter]. To apply to all scripts on open, call [method ScriptEditor.register_syntax_highlighter] diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml index f09040cc7663..fe448d381a54 100644 --- a/doc/classes/FileDialog.xml +++ b/doc/classes/FileDialog.xml @@ -1,10 +1,10 @@ - Dialog for selecting files or directories in the filesystem. + A dialog for selecting files or directories in the filesystem. - FileDialog is a preset dialog used to choose files and directories in the filesystem. It supports filter masks. The FileDialog automatically sets its window title according to the [member file_mode]. If you want to use a custom title, disable this by setting [member mode_overrides_title] to [code]false[/code]. + [FileDialog] is a preset dialog used to choose files and directories in the filesystem. It supports filter masks. [FileDialog] automatically sets its window title according to the [member file_mode]. If you want to use a custom title, disable this by setting [member mode_overrides_title] to [code]false[/code]. diff --git a/doc/classes/FileSystemDock.xml b/doc/classes/FileSystemDock.xml index 82a216d71396..512fa431f928 100644 --- a/doc/classes/FileSystemDock.xml +++ b/doc/classes/FileSystemDock.xml @@ -1,11 +1,11 @@ - Editor dock for managing files in the project. + Godot editor's dock for managing files in the project. This class is available only in [EditorPlugin]s and can't be instantiated. You can access it using [method EditorInterface.get_file_system_dock]. - While FileSystemDock doesn't expose any methods for file manipulation, you can listen for various file-related signals. + While [FileSystemDock] doesn't expose any methods for file manipulation, it can listen for various file-related signals. diff --git a/doc/classes/FlowContainer.xml b/doc/classes/FlowContainer.xml index 0b8ce662f1c7..9636a0fbc722 100644 --- a/doc/classes/FlowContainer.xml +++ b/doc/classes/FlowContainer.xml @@ -1,13 +1,13 @@ - Base class for flow containers. + A container that arranges its child controls horizontally or vertically and wraps them around at the borders. - Arranges child [Control] nodes vertically or horizontally in a left-to-right or top-to-bottom flow. - A line is filled with [Control] nodes until no more fit on the same line, similar to text in an autowrapped label. + A container that arranges its child controls horizontally or vertically and wraps them around at the borders. This is similar to how text in a book wraps around when no more words can fit on a line. + $DOCS_URL/tutorials/ui/gui_containers.html diff --git a/doc/classes/Font.xml b/doc/classes/Font.xml index fc4c4b4b5d85..57c31bebb553 100644 --- a/doc/classes/Font.xml +++ b/doc/classes/Font.xml @@ -1,10 +1,10 @@ - Base class for fonts and font variations. + Abstract base class for fonts and font variations. - Font is the abstract base class for font, so it shouldn't be used directly. Other types of fonts inherit from it. + Abstract base class for different font types. It has methods for drawing text and font character introspection. diff --git a/doc/classes/FontFile.xml b/doc/classes/FontFile.xml index 4993d0dc42c8..1430f79614ee 100644 --- a/doc/classes/FontFile.xml +++ b/doc/classes/FontFile.xml @@ -1,7 +1,7 @@ - Font source data and prerendered glyph cache, imported from dynamic or bitmap font. + Holds font source data and prerendered glyph cache, imported from a dynamic or a bitmap font. [FontFile] contains a set of glyphs to represent Unicode characters imported from a font file, as well as a cache of rasterized glyphs, and a set of fallback [Font]s to use. @@ -12,8 +12,8 @@ - Bitmap font importer: AngelCode BMFont (.fnt, .font), text and binary (version 3) format variants. - Monospace image font importer: All supported image formats. [b]Note:[/b] A character is a symbol that represents an item (letter, digit etc.) in an abstract way. - [b]Note:[/b] A glyph is a bitmap or shape used to draw one or more characters in a context-dependent manner. Glyph indices are bound to the specific font data source. - [b]Note:[/b] If a none of the font data sources contain glyphs for a character used in a string, the character in question will be replaced with a box displaying its hexadecimal code. + [b]Note:[/b] A glyph is a bitmap or a shape used to draw one or more characters in a context-dependent manner. Glyph indices are bound to the specific font data source. + [b]Note:[/b] If none of the font data sources contain glyphs for a character used in a string, the character in question will be replaced with a box displaying its hexadecimal code. [codeblocks] [gdscript] var f = load("res://BarlowCondensed-Bold.ttf") diff --git a/doc/classes/FontVariation.xml b/doc/classes/FontVariation.xml index 9bc0e0424b74..ede341e71f57 100644 --- a/doc/classes/FontVariation.xml +++ b/doc/classes/FontVariation.xml @@ -1,10 +1,10 @@ - Variation of the [Font]. + A variation of a font with additional settings. - OpenType variations, simulated bold / slant, and additional font settings like OpenType features and extra spacing. + Provides OpenType variations, simulated bold / slant, and additional font settings like OpenType features and extra spacing. To use simulated bold font variant: [codeblocks] [gdscript] diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml index 31b352cfed92..19ee396de1c7 100644 --- a/doc/classes/GraphEdit.xml +++ b/doc/classes/GraphEdit.xml @@ -1,12 +1,11 @@ - GraphEdit is a control responsible for displaying and manipulating graph-like data using [GraphNode]s. It provides access to creation, removal, connection, and disconnection of nodes. + An editor for graph-like structures, using [GraphNode]s. - [b]Note:[/b] Please be aware that this node will undergo extensive refactoring in a future 4.x version involving compatibility-breaking API changes. - GraphEdit provides tools for creation, manipulation, and display of various graphs. Its main purpose in the engine is to power the visual programming systems, such as visual shaders, but it is also available for use in user projects. - GraphEdit by itself is only an empty container, representing an infinite grid where [GraphNode]s can be placed. Each [GraphNode] represent a node in the graph, a single unit of data in the connected scheme. GraphEdit, in turn, helps to control various interactions with nodes and between nodes. When the user attempts to connect, disconnect, or close a [GraphNode], a signal is emitted in the GraphEdit, but no action is taken by default. It is the responsibility of the programmer utilizing this control to implement the necessary logic to determine how each request should be handled. + [GraphEdit] provides tools for creation, manipulation, and display of various graphs. Its main purpose in the engine is to power the visual programming systems, such as visual shaders, but it is also available for use in user projects. + [GraphEdit] by itself is only an empty container, representing an infinite grid where [GraphNode]s can be placed. Each [GraphNode] represents a node in the graph, a single unit of data in the connected scheme. [GraphEdit], in turn, helps to control various interactions with nodes and between nodes. When the user attempts to connect, disconnect, or close a [GraphNode], a signal is emitted in the [GraphEdit], but no action is taken by default. It is the responsibility of the programmer utilizing this control to implement the necessary logic to determine how each request should be handled. [b]Performance:[/b] It is greatly advised to enable low-processor usage mode (see [member OS.low_processor_usage_mode]) when using GraphEdits. diff --git a/doc/classes/GraphNode.xml b/doc/classes/GraphNode.xml index 6e0ffe82256b..5b3e377cbb3f 100644 --- a/doc/classes/GraphNode.xml +++ b/doc/classes/GraphNode.xml @@ -1,14 +1,13 @@ - GraphNode is a [Container] control that represents a single data unit in a [GraphEdit] graph. You can customize the number, type, and color of left- and right-side connection ports. + A container with connection ports, representing a node in a [GraphEdit]. - [b]Note:[/b] Please be aware that this node will undergo extensive refactoring in a future 4.x version involving compatibility-breaking API changes. - GraphNode allows to create nodes for a [GraphEdit] graph with customizable content based on its child [Control]s. GraphNode is a [Container] and is responsible for placing its children on screen. This works similar to [VBoxContainer]. Children, in turn, provide GraphNode with so-called slots, each of which can have a connection port on either side. This is similar to how [TabContainer] uses children to create the tabs. - Each GraphNode slot is defined by its index and can provide the node with up to two ports: one on the left, and one on the right. By convention the left port is also referred to as the input port and the right port is referred to as the output port. Each port can be enabled and configured individually, using different type and color. The type is an arbitrary value that you can define using your own considerations. The parent [GraphEdit] will receive this information on each connect and disconnect request. + [GraphNode] allows to create nodes for a [GraphEdit] graph with customizable content based on its child controls. [GraphNode] is derived from [Container] and it is responsible for placing its children on screen. This works similar to [VBoxContainer]. Children, in turn, provide [GraphNode] with so-called slots, each of which can have a connection port on either side. + Each [GraphNode] slot is defined by its index and can provide the node with up to two ports: one on the left, and one on the right. By convention the left port is also referred to as the [b]input port[/b] and the right port is referred to as the [b]output port[/b]. Each port can be enabled and configured individually, using different type and color. The type is an arbitrary value that you can define using your own considerations. The parent [GraphEdit] will receive this information on each connect and disconnect request. Slots can be configured in the Inspector dock once you add at least one child [Control]. The properties are grouped by each slot's index in the "Slot" section. - [b]Note:[/b] While GraphNode is set up using slots and slot indices, connections are made between the ports which are enabled. Because of that [GraphEdit] uses port's index and not slot's index. You can use [method get_connection_input_slot] and [method get_connection_output_slot] to get the slot index from the port index. + [b]Note:[/b] While GraphNode is set up using slots and slot indices, connections are made between the ports which are enabled. Because of that, [GraphEdit] uses the port's index and not the slot's index. You can use [method get_connection_input_slot] and [method get_connection_output_slot] to get the slot index from the port index. diff --git a/doc/classes/GridContainer.xml b/doc/classes/GridContainer.xml index c73fcf31aa91..8446f5ca605f 100644 --- a/doc/classes/GridContainer.xml +++ b/doc/classes/GridContainer.xml @@ -1,15 +1,14 @@ - Grid container used to arrange Control-derived children in a grid like layout. + A container that arranges its child controls in a grid layout. - GridContainer will arrange its Control-derived children in a grid like structure, the grid columns are specified using the [member columns] property and the number of rows will be equal to the number of children in the container divided by the number of columns. For example, if the container has 5 children, and 2 columns, there will be 3 rows in the container. - Notice that grid layout will preserve the columns and rows for every size of the container, and that empty columns will be expanded automatically. - [b]Note:[/b] GridContainer only works with child nodes inheriting from Control. It won't rearrange child nodes inheriting from Node2D. + [GridContainer] arranges its child controls in a grid layout. The number of columns is specified by the [member columns] property, whereas the number of rows depends on how many are needed for the child controls. The number of rows and columns is preserved for every size of the container. + [b]Note:[/b] [GridContainer] only works with child nodes inheriting from [Control]. It won't rearrange child nodes inheriting from [Node2D]. - $DOCS_URL/tutorials/ui/gui_containers.html + $DOCS_URL/tutorials/ui/gui_containers.html https://godotengine.org/asset-library/asset/677 diff --git a/doc/classes/HBoxContainer.xml b/doc/classes/HBoxContainer.xml index 7268ef50040a..5217b0e4e272 100644 --- a/doc/classes/HBoxContainer.xml +++ b/doc/classes/HBoxContainer.xml @@ -1,13 +1,13 @@ - Horizontal box container. + A container that arranges its child controls horizontally. - Horizontal box container. See [BoxContainer]. + A variant of [BoxContainer] that can only arrange its child controls horizontally. Child controls are rearranged automatically when their minimum size changes. - $DOCS_URL/tutorials/ui/gui_containers.html + $DOCS_URL/tutorials/ui/gui_containers.html diff --git a/doc/classes/HFlowContainer.xml b/doc/classes/HFlowContainer.xml index 8ed9608437d3..c0c99cb11f87 100644 --- a/doc/classes/HFlowContainer.xml +++ b/doc/classes/HFlowContainer.xml @@ -1,12 +1,13 @@ - Horizontal flow container. + A container that arranges its child controls horizontally and wraps them around at the borders. - Horizontal version of [FlowContainer]. + A variant of [FlowContainer] that can only arrange its child controls horizontally, wrapping them around at the borders. This is similar to how text in a book wraps around when no more words can fit on a line. + $DOCS_URL/tutorials/ui/gui_containers.html diff --git a/doc/classes/HScrollBar.xml b/doc/classes/HScrollBar.xml index 34b495bd8626..320a6f608e4a 100644 --- a/doc/classes/HScrollBar.xml +++ b/doc/classes/HScrollBar.xml @@ -1,10 +1,10 @@ - Horizontal scroll bar. + A horizontal scrollbar that goes from left (min) to right (max). - Horizontal version of [ScrollBar], which goes from left (min) to right (max). + A horizontal scrollbar, typically used to navigate through content that extends beyond the visible width of a control. It is a [Range]-based control and goes from left (min) to right (max). diff --git a/doc/classes/HSeparator.xml b/doc/classes/HSeparator.xml index 9ff7c840c302..492145679c06 100644 --- a/doc/classes/HSeparator.xml +++ b/doc/classes/HSeparator.xml @@ -1,10 +1,10 @@ - Horizontal separator. + A horizontal line used for separating other controls. - Horizontal separator. See [Separator]. Even though it looks horizontal, it is used to separate objects vertically. + A horizontal separator used for separating other controls that are arranged [b]vertically[/b]. [HSeparator] is purely visual and normally drawn as a [StyleBoxLine]. diff --git a/doc/classes/HSlider.xml b/doc/classes/HSlider.xml index 2ab66a2e7593..14060721af60 100644 --- a/doc/classes/HSlider.xml +++ b/doc/classes/HSlider.xml @@ -1,11 +1,10 @@ - Horizontal slider. + A horizontal slider that goes from left (min) to right (max). - Horizontal slider. See [Slider]. This one goes from left (min) to right (max). - [b]Note:[/b] The [signal Range.changed] and [signal Range.value_changed] signals are part of the [Range] class which this class inherits from. + A horizontal slider, used to adjust a value by moving a grabber along a horizontal axis. It is a [Range]-based control and goes from left (min) to right (max). diff --git a/doc/classes/HSplitContainer.xml b/doc/classes/HSplitContainer.xml index 311c9243c79e..86661867d755 100644 --- a/doc/classes/HSplitContainer.xml +++ b/doc/classes/HSplitContainer.xml @@ -1,13 +1,13 @@ - Horizontal split container. + A container that splits two child controls horizontally and provides a grabber for adjusting the split ratio. - Horizontal split container. See [SplitContainer]. This goes from left to right. + A container that accepts only two child controls, then arranges them horizontally and creates a divisor between them. The divisor can be dragged around to change the size relation between the child controls. - $DOCS_URL/tutorials/ui/gui_containers.html + $DOCS_URL/tutorials/ui/gui_containers.html diff --git a/doc/classes/HTTPClient.xml b/doc/classes/HTTPClient.xml index 5852a06ea767..e1644f1b218b 100644 --- a/doc/classes/HTTPClient.xml +++ b/doc/classes/HTTPClient.xml @@ -8,7 +8,7 @@ See the [HTTPRequest] node for a higher-level alternative. [b]Note:[/b] This client only needs to connect to a host once (see [method connect_to_host]) to send multiple requests. Because of this, methods that take URLs usually take just the part after the host instead of the full URL, as the client is already connected to a host. See [method request] for a full example and to get started. A [HTTPClient] should be reused between multiple requests or to connect to different hosts instead of creating one client per request. Supports Transport Layer Security (TLS), including server certificate verification. HTTP status codes in the 2xx range indicate success, 3xx redirection (i.e. "try again, but over here"), 4xx something was wrong with the request, and 5xx something went wrong on the server's side. - For more information on HTTP, see https://developer.mozilla.org/en-US/docs/Web/HTTP (or read RFC 2616 to get it straight from the source: https://tools.ietf.org/html/rfc2616). + For more information on HTTP, see [url=https://developer.mozilla.org/en-US/docs/Web/HTTP]MDN's documentation on HTTP[/url] (or read [url=https://tools.ietf.org/html/rfc2616]RFC 2616[/url] to get it straight from the source). [b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. [b]Note:[/b] It's recommended to use transport encryption (TLS) and to avoid sending sensitive information (such as login credentials) in HTTP GET URL parameters. Consider using HTTP POST requests or HTTP headers for such information instead. [b]Note:[/b] When performing HTTP requests from a project exported to Web, keep in mind the remote server may not allow requests from foreign origins due to [url=https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS]CORS[/url]. If you host the server in question, you should modify its backend to allow requests from foreign origins by adding the [code]Access-Control-Allow-Origin: *[/code] HTTP header. diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml index 4aca92776fb1..5b5cd6618b0f 100644 --- a/doc/classes/ItemList.xml +++ b/doc/classes/ItemList.xml @@ -1,13 +1,13 @@ - Control that provides a list of selectable items (and/or icons) in a single column, or optionally in multiple columns. + A vertical list of selectable items with one or multiple columns. - This control provides a selectable list of items that may be in a single (or multiple columns) with option of text, icons, or both text and icon. Tooltips are supported and may be different for every item in the list. + This control provides a vertical list of selectable items that may be in a single or in multiple columns, with each item having options for text and an icon. Tooltips are supported and may be different for every item in the list. Selectable items in the list may be selected or deselected and multiple selection may be enabled. Selection with right mouse button may also be enabled to allow use of popup context menus. Items may also be "activated" by double-clicking them or by pressing [kbd]Enter[/kbd]. - Item text only supports single-line strings, newline characters (e.g. [code]\n[/code]) in the string won't produce a newline. Text wrapping is enabled in [constant ICON_MODE_TOP] mode, but column's width is adjusted to fully fit its content by default. You need to set [member fixed_column_width] greater than zero to wrap the text. - All [code]set_*[/code] methods allow negative item index, which makes the item accessed from the last one. + Item text only supports single-line strings. Newline characters (e.g. [code]\n[/code]) in the string won't produce a newline. Text wrapping is enabled in [constant ICON_MODE_TOP] mode, but the column's width is adjusted to fully fit its content by default. You need to set [member fixed_column_width] greater than zero to wrap the text. + All [code]set_*[/code] methods allow negative item indices, i.e. [code]-1[/code] to access the last item, [code]-2[/code] to select the second-to-last item, and so on. [b]Incremental search:[/b] Like [PopupMenu] and [Tree], [ItemList] supports searching within the list while the control is focused. Press a key that matches the first letter of an item's name to select the first item starting with the given letter. After that point, there are two ways to perform incremental search: 1) Press the same key again before the timeout duration to select the next item starting with the same letter. 2) Press letter keys that match the rest of the word before the timeout duration to match to select the item in question directly. Both of these actions will be reset to the beginning of the list if the timeout duration has passed since the last keystroke was registered. You can adjust the timeout duration by changing [member ProjectSettings.gui/timers/incremental_search_max_interval_msec]. diff --git a/doc/classes/Label.xml b/doc/classes/Label.xml index 6a26da9f4f09..cb77102ee2a5 100644 --- a/doc/classes/Label.xml +++ b/doc/classes/Label.xml @@ -1,11 +1,10 @@ - Displays plain text in a line or wrapped inside a rectangle. For formatted text, use [RichTextLabel]. + A control for displaying plain text. - Label displays plain text on the screen. It gives you control over the horizontal and vertical alignment and can wrap the text inside the node's bounding rectangle. It doesn't support bold, italics, or other formatting. For that, use [RichTextLabel] instead. - [b]Note:[/b] Contrarily to most other [Control]s, Label's [member Control.mouse_filter] defaults to [constant Control.MOUSE_FILTER_IGNORE] (i.e. it doesn't react to mouse input events). This implies that a label won't display any configured [member Control.tooltip_text], unless you change its mouse filter. + A control for displaying plain text. It gives you control over the horizontal and vertical alignment and can wrap the text inside the node's bounding rectangle. It doesn't support bold, italics, or other rich text formatting. For that, use [RichTextLabel] instead. https://godotengine.org/asset-library/asset/515 diff --git a/doc/classes/Label3D.xml b/doc/classes/Label3D.xml index 7499074dc9a0..7b2f0547031d 100644 --- a/doc/classes/Label3D.xml +++ b/doc/classes/Label3D.xml @@ -1,10 +1,10 @@ - Displays plain text in a 3D world. + A node for displaying plain text in 3D space. - Label3D displays plain text in a 3D world. It gives you control over the horizontal and vertical alignment. + A node for displaying plain text in 3D space. By adjusting various properties of this node, you can configure things such as the text's appearance and whether it always faces the camera. diff --git a/doc/classes/LabelSettings.xml b/doc/classes/LabelSettings.xml index fd2c8162e4a7..2ea9332e9c78 100644 --- a/doc/classes/LabelSettings.xml +++ b/doc/classes/LabelSettings.xml @@ -1,10 +1,10 @@ - Collection of common settings to customize label text. + Provides common settings to customize the text in a [Label]. - [LabelSettings] is a resource that can be assigned to a [Label] node to customize it. It will take priority over the properties defined in theme. The resource can be shared between multiple labels and swapped on the fly, so it's convenient and flexible way to setup text style. + [LabelSettings] is a resource that provides common settings to customize the text in a [Label]. It will take priority over the properties defined in [member Control.theme]. The resource can be shared between multiple labels and changed on the fly, so it's convenient and flexible way to setup text style. diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml index d040c51bb0b3..d098956c4e9e 100644 --- a/doc/classes/LineEdit.xml +++ b/doc/classes/LineEdit.xml @@ -1,11 +1,10 @@ - Control that provides single-line string editing. + An input field for single-line text. - LineEdit provides a single-line string editor, used for text fields. - It features many built-in shortcuts which will always be available ([kbd]Ctrl[/kbd] here maps to [kbd]Cmd[/kbd] on macOS): + [LineEdit] provides an input field for editing a single line of text. It features many built-in shortcuts that are always available ([kbd]Ctrl[/kbd] here maps to [kbd]Cmd[/kbd] on macOS): - [kbd]Ctrl + C[/kbd]: Copy - [kbd]Ctrl + X[/kbd]: Cut - [kbd]Ctrl + V[/kbd] or [kbd]Ctrl + Y[/kbd]: Paste/"yank" @@ -17,14 +16,14 @@ - [kbd]Ctrl + A[/kbd]: Select all text - [kbd]Up Arrow[/kbd]/[kbd]Down Arrow[/kbd]: Move the caret to the beginning/end of the line On macOS, some extra keyboard shortcuts are available: - - [kbd]Ctrl + F[/kbd]: Same as [kbd]Right Arrow[/kbd], move the caret one character right - - [kbd]Ctrl + B[/kbd]: Same as [kbd]Left Arrow[/kbd], move the caret one character left - - [kbd]Ctrl + P[/kbd]: Same as [kbd]Up Arrow[/kbd], move the caret to the previous line - - [kbd]Ctrl + N[/kbd]: Same as [kbd]Down Arrow[/kbd], move the caret to the next line - - [kbd]Ctrl + D[/kbd]: Same as [kbd]Delete[/kbd], delete the character on the right side of caret - - [kbd]Ctrl + H[/kbd]: Same as [kbd]Backspace[/kbd], delete the character on the left side of the caret - - [kbd]Ctrl + A[/kbd]: Same as [kbd]Home[/kbd], move the caret to the beginning of the line - - [kbd]Ctrl + E[/kbd]: Same as [kbd]End[/kbd], move the caret to the end of the line + - [kbd]Cmd + F[/kbd]: Same as [kbd]Right Arrow[/kbd], move the caret one character right + - [kbd]Cmd + B[/kbd]: Same as [kbd]Left Arrow[/kbd], move the caret one character left + - [kbd]Cmd + P[/kbd]: Same as [kbd]Up Arrow[/kbd], move the caret to the previous line + - [kbd]Cmd + N[/kbd]: Same as [kbd]Down Arrow[/kbd], move the caret to the next line + - [kbd]Cmd + D[/kbd]: Same as [kbd]Delete[/kbd], delete the character on the right side of caret + - [kbd]Cmd + H[/kbd]: Same as [kbd]Backspace[/kbd], delete the character on the left side of the caret + - [kbd]Cmd + A[/kbd]: Same as [kbd]Home[/kbd], move the caret to the beginning of the line + - [kbd]Cmd + E[/kbd]: Same as [kbd]End[/kbd], move the caret to the end of the line - [kbd]Cmd + Left Arrow[/kbd]: Same as [kbd]Home[/kbd], move the caret to the beginning of the line - [kbd]Cmd + Right Arrow[/kbd]: Same as [kbd]End[/kbd], move the caret to the end of the line diff --git a/doc/classes/LinkButton.xml b/doc/classes/LinkButton.xml index 8a58ef24604a..5918adf5e023 100644 --- a/doc/classes/LinkButton.xml +++ b/doc/classes/LinkButton.xml @@ -1,10 +1,10 @@ - Simple button used to represent a link to some resource. + A button that represents a link. - This kind of button is primarily used when the interaction with the button causes a context change (like linking to a web page). + A button that represents a link. This type of button is primarily used for interactions that cause a context change (like linking to a web page). See also [BaseButton] which contains common properties and methods associated with this node. diff --git a/doc/classes/MarginContainer.xml b/doc/classes/MarginContainer.xml index 3167512e5fe7..9ba4517e0e0f 100644 --- a/doc/classes/MarginContainer.xml +++ b/doc/classes/MarginContainer.xml @@ -1,11 +1,11 @@ - Simple margin container. + A container that keeps a margin around its child controls. - Adds a top, left, bottom, and right margin to all [Control] nodes that are direct children of the container. To control the [MarginContainer]'s margin, use the [code]margin_*[/code] theme properties listed below. - [b]Note:[/b] Be careful, [Control] margin values are different from the constant margin values. If you want to change the custom margin values of the [MarginContainer] by code, you should use the following examples: + [MarginContainer] adds an adjustable margin on each side of its child controls. The margins are added around all children, not around each individual one. To control the [MarginContainer]'s margins, use the [code]margin_*[/code] theme properties listed below. + [b]Note:[/b] The margin sizes are theme overrides, not normal properties. This is an example of how to change them in code: [codeblocks] [gdscript] # This code sample assumes the current script is extending MarginContainer. @@ -26,7 +26,7 @@ [/codeblocks] - $DOCS_URL/tutorials/ui/gui_containers.html + $DOCS_URL/tutorials/ui/gui_containers.html diff --git a/doc/classes/MenuBar.xml b/doc/classes/MenuBar.xml index 512994ae3e55..f3fbcfff7b5e 100644 --- a/doc/classes/MenuBar.xml +++ b/doc/classes/MenuBar.xml @@ -1,10 +1,10 @@ - A horizontal menu bar, which displays [PopupMenu]s or system global menu. + A horizontal menu bar that creates a [MenuButton] for each [PopupMenu] child. - New items can be created by adding [PopupMenu] nodes to this node. + A horizontal menu bar that creates a [MenuButton] for each [PopupMenu] child. New items are created by adding [PopupMenu]s to this node. diff --git a/doc/classes/MenuButton.xml b/doc/classes/MenuButton.xml index c937371a52fc..4f62660bb9c1 100644 --- a/doc/classes/MenuButton.xml +++ b/doc/classes/MenuButton.xml @@ -1,11 +1,10 @@ - Special button that brings up a [PopupMenu] when clicked. + A button that brings up a [PopupMenu] when clicked. - Special button that brings up a [PopupMenu] when clicked. - New items can be created inside this [PopupMenu] using [code]get_popup().add_item("My Item Name")[/code]. You can also create them directly from the editor. To do so, select the [MenuButton] node, then in the toolbar at the top of the 2D editor, click [b]Items[/b] then click [b]Add[/b] in the popup. You will be able to give each item new properties. + A button that brings up a [PopupMenu] when clicked. To create new items inside this [PopupMenu], use [code]get_popup().add_item("My Item Name")[/code]. You can also create them directly from Godot editor's inspector. See also [BaseButton] which contains common properties and methods associated with this node. diff --git a/doc/classes/NinePatchRect.xml b/doc/classes/NinePatchRect.xml index 63dd59fd2cf2..d5283236a999 100644 --- a/doc/classes/NinePatchRect.xml +++ b/doc/classes/NinePatchRect.xml @@ -1,10 +1,10 @@ - Scalable texture-based frame that tiles the texture's centers and sides, but keeps the corners' original size. Perfect for panels and dialog boxes. + A control that displays a texture by keeping its corners intact, but tiling its edges and center. - Also known as 9-slice panels, NinePatchRect produces clean panels of any size, based on a small texture. To do so, it splits the texture in a 3×3 grid. When you scale the node, it tiles the texture's sides horizontally or vertically, the center on both axes but it doesn't scale or tile the corners. + Also known as 9-slice panels, [NinePatchRect] produces clean panels of any size based on a small texture. To do so, it splits the texture in a 3×3 grid. When you scale the node, it tiles the texture's edges horizontally or vertically, tiles the center on both axes, and leaves the corners unchanged. diff --git a/doc/classes/OptimizedTranslation.xml b/doc/classes/OptimizedTranslation.xml index d8c4ce63eb2a..7d5535536334 100644 --- a/doc/classes/OptimizedTranslation.xml +++ b/doc/classes/OptimizedTranslation.xml @@ -1,10 +1,10 @@ - Optimized translation. + An optimized translation, used by default for CSV Translations. - Optimized translation. Uses real-time compressed translations, which results in very small dictionaries. + An optimized translation, used by default for CSV Translations. Uses real-time compressed translations, which results in very small dictionaries. diff --git a/doc/classes/OptionButton.xml b/doc/classes/OptionButton.xml index 17a164953d8c..84c8b890219c 100644 --- a/doc/classes/OptionButton.xml +++ b/doc/classes/OptionButton.xml @@ -1,13 +1,15 @@ - Button control that provides selectable options when pressed. + A button that brings up a dropdown with selectable options when pressed. - OptionButton is a type button that provides a selectable list of items when pressed. The item selected becomes the "current" item and is displayed as the button text. + [OptionButton] is a type of button that brings up a dropdown with selectable items when pressed. The item selected becomes the "current" item and is displayed as the button text. See also [BaseButton] which contains common properties and methods associated with this node. [b]Note:[/b] Properties [member Button.text] and [member Button.icon] are automatically set based on the selected item. They shouldn't be changed manually. [b]Note:[/b] The ID values used for items are limited to 32 bits, not full 64 bits of [int]. This has a range of [code]-2^32[/code] to [code]2^32 - 1[/code], i.e. [code]-2147483648[/code] to [code]2147483647[/code]. + [b]Note:[/b] The ID values used for items are 32-bit, unlike [int] which is always 64-bit. They go from [code]-2147483648[/code] to [code]2147483647[/code]. + [b]Note:[/b] The [member Button.text] and [member Button.icon] properties are set automatically based on the selected item. They shouldn't be changed manually. diff --git a/doc/classes/Panel.xml b/doc/classes/Panel.xml index 1f5b0ab925fb..92ed109e7025 100644 --- a/doc/classes/Panel.xml +++ b/doc/classes/Panel.xml @@ -1,10 +1,10 @@ - Provides an opaque background for [Control] children. + A GUI control that displays a [StyleBox]. - Panel is a [Control] that displays an opaque background. It's commonly used as a parent and container for other types of [Control] nodes. + [Panel] is a GUI control that displays a [StyleBox]. See also [PanelContainer]. https://godotengine.org/asset-library/asset/520 @@ -13,7 +13,7 @@ - The style of this [Panel]. + The [StyleBox] of this control. diff --git a/doc/classes/PanelContainer.xml b/doc/classes/PanelContainer.xml index 6419d254418b..2217fde78c49 100644 --- a/doc/classes/PanelContainer.xml +++ b/doc/classes/PanelContainer.xml @@ -1,13 +1,13 @@ - Panel container type. + A container that keeps its child controls within the area of a [StyleBox]. - Panel container type. This container fits controls inside of the delimited area of a stylebox. It's useful for giving controls an outline. + A container that keeps its child controls within the area of a [StyleBox]. Useful for giving controls an outline. - $DOCS_URL/tutorials/ui/gui_containers.html + $DOCS_URL/tutorials/ui/gui_containers.html https://godotengine.org/asset-library/asset/520 diff --git a/doc/classes/Popup.xml b/doc/classes/Popup.xml index 8c9abcf07ab7..cacf4ee7f27a 100644 --- a/doc/classes/Popup.xml +++ b/doc/classes/Popup.xml @@ -1,10 +1,10 @@ - Popup is a base window container for popup-like subwindows. + Base class for contextual windows and panels with fixed position. - Popup is a base window container for popup-like subwindows. It's a modal by default (see [member Window.popup_window]) and has helpers for custom popup behavior. + [Popup] is a base class for contextual windows and panels with fixed position. It's a modal by default (see [member Window.popup_window]) and provides methods for implementing custom popup behavior. diff --git a/doc/classes/PopupMenu.xml b/doc/classes/PopupMenu.xml index 2f1d4a528a8e..2b91236f5646 100644 --- a/doc/classes/PopupMenu.xml +++ b/doc/classes/PopupMenu.xml @@ -1,13 +1,12 @@ - PopupMenu displays a list of options. + A modal window used to display a list of options. - [PopupMenu] is a modal window used to display a list of options. They are popular in toolbars or context menus. - The size of a [PopupMenu] can be limited by using [member Window.max_size]. If the height of the list of items is larger than the maximum height of the [PopupMenu], a [ScrollContainer] within the popup will allow the user to scroll the contents. - If no maximum size is set, or if it is set to 0, the [PopupMenu] height will be limited by its parent rect. - All [code]set_*[/code] methods allow negative item index, which makes the item accessed from the last one. + [PopupMenu] is a modal window used to display a list of options. Useful for toolbars and context menus. + The size of a [PopupMenu] can be limited by using [member Window.max_size]. If the height of the list of items is larger than the maximum height of the [PopupMenu], a [ScrollContainer] within the popup will allow the user to scroll the contents. If no maximum size is set, or if it is set to [code]0[/code], the [PopupMenu] height will be limited by its parent rect. + All [code]set_*[/code] methods allow negative item indices, i.e. [code]-1[/code] to access the last item, [code]-2[/code] to select the second-to-last item, and so on. [b]Incremental search:[/b] Like [ItemList] and [Tree], [PopupMenu] supports searching within the list while the control is focused. Press a key that matches the first letter of an item's name to select the first item starting with the given letter. After that point, there are two ways to perform incremental search: 1) Press the same key again before the timeout duration to select the next item starting with the same letter. 2) Press letter keys that match the rest of the word before the timeout duration to match to select the item in question directly. Both of these actions will be reset to the beginning of the list if the timeout duration has passed since the last keystroke was registered. You can adjust the timeout duration by changing [member ProjectSettings.gui/timers/incremental_search_max_interval_msec]. [b]Note:[/b] The ID values used for items are limited to 32 bits, not full 64 bits of [int]. This has a range of [code]-2^32[/code] to [code]2^32 - 1[/code], i.e. [code]-2147483648[/code] to [code]2147483647[/code]. diff --git a/doc/classes/PopupPanel.xml b/doc/classes/PopupPanel.xml index 2fe98281c1f4..a60d64e73095 100644 --- a/doc/classes/PopupPanel.xml +++ b/doc/classes/PopupPanel.xml @@ -1,11 +1,10 @@ - Class for displaying popups with a panel background. + A popup with a panel background. - Class for displaying popups with a panel background. In some cases it might be simpler to use than [Popup], since it provides a configurable background. If you are making windows, better check [Window]. - If any [Control] node is added as a child of this [PopupPanel], it will be stretched to fit the panel's size (similar to how [PanelContainer] works). + A popup with a configurable panel background. Any child controls added to this node will be stretched to fit the panel's size (similar to how [PanelContainer] works). If you are making windows, see [Window]. diff --git a/doc/classes/ProgressBar.xml b/doc/classes/ProgressBar.xml index 0e9118155173..cf39fb4247d6 100644 --- a/doc/classes/ProgressBar.xml +++ b/doc/classes/ProgressBar.xml @@ -1,10 +1,10 @@ - General-purpose progress bar. + A control used for visual representation of a percentage. - General-purpose progress bar. Shows fill percentage from right to left. + A control used for visual representation of a percentage. Shows fill percentage from right to left. diff --git a/doc/classes/Range.xml b/doc/classes/Range.xml index 78489b30d028..a6b29f9e2639 100644 --- a/doc/classes/Range.xml +++ b/doc/classes/Range.xml @@ -1,10 +1,10 @@ - Abstract base class for range-based controls. + Abstract base class for controls that represent a number within a range. - Range is a base class for [Control] nodes that change a floating-point [member value] between a [member min_value] and [member max_value], using a configured [member step] and [member page] size. See e.g. [ScrollBar] and [Slider] for examples of higher level nodes using Range. + Range is an abstract base class for controls that represent a number within a range, using a configured [member step] and [member page] size. See e.g. [ScrollBar] and [Slider] for examples of higher-level nodes using Range. @@ -45,26 +45,26 @@ If [code]true[/code], [member value] may be less than [member min_value]. - If [code]true[/code], and [code]min_value[/code] is greater than 0, [code]value[/code] will be represented exponentially rather than linearly. + If [code]true[/code], and [member min_value] is greater than 0, [member value] will be represented exponentially rather than linearly. - Maximum value. Range is clamped if [code]value[/code] is greater than [code]max_value[/code]. + Maximum value. Range is clamped if [member value] is greater than [member max_value]. - Minimum value. Range is clamped if [code]value[/code] is less than [code]min_value[/code]. + Minimum value. Range is clamped if [member value] is less than [member min_value]. - Page size. Used mainly for [ScrollBar]. ScrollBar's length is its size multiplied by [code]page[/code] over the difference between [code]min_value[/code] and [code]max_value[/code]. + Page size. Used mainly for [ScrollBar]. ScrollBar's length is its size multiplied by [member page] over the difference between [member min_value] and [member max_value]. The value mapped between 0 and 1. - If [code]true[/code], [code]value[/code] will always be rounded to the nearest integer. + If [code]true[/code], [member value] will always be rounded to the nearest integer. - If greater than 0, [code]value[/code] will always be rounded to a multiple of [code]step[/code]. If [code]rounded[/code] is also [code]true[/code], [code]value[/code] will first be rounded to a multiple of [code]step[/code] then rounded to the nearest integer. + If greater than 0, [member value] will always be rounded to a multiple of this property's value. If [member rounded] is also [code]true[/code], [member value] will first be rounded to a multiple of this property's value, then rounded to the nearest integer. Range's current value. Changing this property (even via code) will trigger [signal value_changed] signal. Use [method set_value_no_signal] if you want to avoid it. diff --git a/doc/classes/ReferenceRect.xml b/doc/classes/ReferenceRect.xml index 5272980099ba..fc6b6287f5d8 100644 --- a/doc/classes/ReferenceRect.xml +++ b/doc/classes/ReferenceRect.xml @@ -1,16 +1,16 @@ - Reference frame for GUI. + A rectangle hint for designing UIs. - A rectangle box that displays only a [member border_color] border color around its rectangle. [ReferenceRect] has no fill [Color]. If you need to display a rectangle filled with a solid color, consider using [ColorRect] instead. + A rectangle box that displays only a colored border around its rectangle. It is used to visualize the extents of a [Control]. - Sets the border [Color] of the [ReferenceRect]. + Sets the border color of the [ReferenceRect]. Sets the border width of the [ReferenceRect]. The border grows both inwards and outwards with respect to the rectangle box. diff --git a/doc/classes/RichTextEffect.xml b/doc/classes/RichTextEffect.xml index c33290e8a50e..7d91987e7f9c 100644 --- a/doc/classes/RichTextEffect.xml +++ b/doc/classes/RichTextEffect.xml @@ -1,10 +1,10 @@ - A custom effect for use with [RichTextLabel]. + A custom effect for a [RichTextLabel]. - A custom effect for use with [RichTextLabel]. + A custom effect for a [RichTextLabel]. [b]Note:[/b] For a [RichTextEffect] to be usable, a BBCode tag must be defined as a member variable called [code]bbcode[/code] in the script. [codeblocks] [gdscript] diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml index 4a243a70cead..3b1d79af2a6d 100644 --- a/doc/classes/RichTextLabel.xml +++ b/doc/classes/RichTextLabel.xml @@ -1,14 +1,14 @@ - Label that displays rich text. + A control for displaying text that can contain different font styles, images, and basic formatting. - Rich text can contain custom text, fonts, images and some basic formatting. The label manages these as an internal tag stack. It also adapts itself to given width/heights. + A control for displaying text that can contain custom fonts, images, and basic formatting. [RichTextLabel] manages these as an internal tag stack. It also adapts itself to given width/heights. [b]Note:[/b] Assignments to [member text] clear the tag stack and reconstruct it from the property's contents. Any edits made to [member text] will erase previous edits made from other manual sources such as [method append_text] and the [code]push_*[/code] / [method pop] methods. [b]Note:[/b] RichTextLabel doesn't support entangled BBCode tags. For example, instead of using [code][b]bold[i]bold italic[/b]italic[/i][/code], use [code][b]bold[i]bold italic[/i][/b][i]italic[/i][/code]. - [b]Note:[/b] [code]push_*/pop[/code] functions won't affect BBCode. - [b]Note:[/b] Unlike [Label], RichTextLabel doesn't have a [i]property[/i] to horizontally align text to the center. Instead, enable [member bbcode_enabled] and surround the text in a [code][center][/code] tag as follows: [code][center]Example[/center][/code]. There is currently no built-in way to vertically align text either, but this can be emulated by relying on anchors/containers and the [member fit_content] property. + [b]Note:[/b] [code]push_*/pop_*[/code] functions won't affect BBCode. + [b]Note:[/b] Unlike [Label], [RichTextLabel] doesn't have a [i]property[/i] to horizontally align text to the center. Instead, enable [member bbcode_enabled] and surround the text in a [code][center][/code] tag as follows: [code][center]Example[/center][/code]. There is currently no built-in way to vertically align text either, but this can be emulated by relying on anchors/containers and the [member fit_content] property. $DOCS_URL/tutorials/ui/bbcode_in_richtextlabel.html diff --git a/doc/classes/ScriptCreateDialog.xml b/doc/classes/ScriptCreateDialog.xml index 854c727f7b30..b64e770dbc68 100644 --- a/doc/classes/ScriptCreateDialog.xml +++ b/doc/classes/ScriptCreateDialog.xml @@ -1,7 +1,7 @@ - The Editor's popup dialog for creating new [Script] files. + Godot editor's popup dialog for creating new [Script] files. The [ScriptCreateDialog] creates script files according to a given template for a given scripting language. The standard use is to configure its fields prior to calling one of the [method Window.popup] methods. diff --git a/doc/classes/ScriptEditor.xml b/doc/classes/ScriptEditor.xml index 9c9650bfef24..98e6cf202b74 100644 --- a/doc/classes/ScriptEditor.xml +++ b/doc/classes/ScriptEditor.xml @@ -4,6 +4,7 @@ Godot editor's script editor. + Godot editor's script editor. [b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorInterface.get_script_editor]. diff --git a/doc/classes/ScriptEditorBase.xml b/doc/classes/ScriptEditorBase.xml index 7020cd6af2fc..c1c12d366af8 100644 --- a/doc/classes/ScriptEditorBase.xml +++ b/doc/classes/ScriptEditorBase.xml @@ -4,7 +4,7 @@ Base editor for editing scripts in the [ScriptEditor]. - Base editor for editing scripts in the [ScriptEditor], this does not include documentation items. + Base editor for editing scripts in the [ScriptEditor]. This does not include documentation items. diff --git a/doc/classes/ScrollBar.xml b/doc/classes/ScrollBar.xml index e0d4f7cb43f6..3437f0e9418f 100644 --- a/doc/classes/ScrollBar.xml +++ b/doc/classes/ScrollBar.xml @@ -1,10 +1,10 @@ - Base class for scroll bars. + Abstract base class for scrollbars. - Scrollbars are a [Range]-based [Control], that display a draggable area (the size of the page). Horizontal ([HScrollBar]) and Vertical ([VScrollBar]) versions are available. + Abstract base class for scrollbars, typically used to navigate through content that extends beyond the visible area of a control. Scrollbars are [Range]-based controls. diff --git a/doc/classes/ScrollContainer.xml b/doc/classes/ScrollContainer.xml index cfc4ca6b4fed..9026f4a5d089 100644 --- a/doc/classes/ScrollContainer.xml +++ b/doc/classes/ScrollContainer.xml @@ -1,15 +1,13 @@ - A helper node for displaying scrollable elements such as lists. + A container used to provide scrollbars to a child control when needed. - A ScrollContainer node meant to contain a [Control] child. - ScrollContainers will automatically create a scrollbar child ([HScrollBar], [VScrollBar], or both) when needed and will only draw the Control within the ScrollContainer area. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the [member Control.custom_minimum_size] of the Control relative to the ScrollContainer. - Works great with a [Panel] control. You can set [constant Control.SIZE_EXPAND] on the children's size flags, so they will upscale to the ScrollContainer's size if it's larger (scroll is invisible for the chosen dimension). + A container used to provide a child control with scrollbars when needed. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the [member Control.custom_minimum_size] of the Control relative to the ScrollContainer. - $DOCS_URL/tutorials/ui/gui_containers.html + $DOCS_URL/tutorials/ui/gui_containers.html diff --git a/doc/classes/Separator.xml b/doc/classes/Separator.xml index 212a38e3891d..4c393d178703 100644 --- a/doc/classes/Separator.xml +++ b/doc/classes/Separator.xml @@ -1,10 +1,10 @@ - Base class for separators. + Abstract base class for separators. - Separator is a [Control] used for separating other controls. It's purely a visual decoration. Horizontal ([HSeparator]) and Vertical ([VSeparator]) versions are available. + Abstract base class for separators, used for separating other controls. [Separator]s are purely visual and normally drawn as a [StyleBoxLine]. diff --git a/doc/classes/Slider.xml b/doc/classes/Slider.xml index 802b02cab18b..fa5cdeb5c53e 100644 --- a/doc/classes/Slider.xml +++ b/doc/classes/Slider.xml @@ -1,11 +1,10 @@ - Base class for GUI sliders. + Abstract base class for sliders. - Base class for GUI sliders. - [b]Note:[/b] The [signal Range.changed] and [signal Range.value_changed] signals are part of the [Range] class which this class inherits from. + Abstract base class for sliders, used to adjust a value by moving a grabber along a horizontal or vertical axis. Sliders are [Range]-based controls. diff --git a/doc/classes/SpinBox.xml b/doc/classes/SpinBox.xml index 26e15781508e..8fbd97e78ba7 100644 --- a/doc/classes/SpinBox.xml +++ b/doc/classes/SpinBox.xml @@ -1,10 +1,10 @@ - Numerical input text field. + An input field for numbers. - SpinBox is a numerical input text field. It allows entering integers and floats. + [SpinBox] is a numerical input text field. It allows entering integers and floating point numbers. [b]Example:[/b] [codeblocks] [gdscript] diff --git a/doc/classes/SplitContainer.xml b/doc/classes/SplitContainer.xml index b7ca8f8cbe04..a75203c8e385 100644 --- a/doc/classes/SplitContainer.xml +++ b/doc/classes/SplitContainer.xml @@ -1,13 +1,13 @@ - Container for splitting and adjusting. + A container that splits two child controls horizontally or vertically and provides a grabber for adjusting the split ratio. - Container for splitting two [Control]s vertically or horizontally, with a grabber that allows adjusting the split offset or ratio. + A container that accepts only two child controls, then arranges them horizontally or vertically and creates a divisor between them. The divisor can be dragged around to change the size relation between the child controls. - $DOCS_URL/tutorials/ui/gui_containers.html + $DOCS_URL/tutorials/ui/gui_containers.html diff --git a/doc/classes/StyleBox.xml b/doc/classes/StyleBox.xml index 8675c46d6890..c4aeb59f2231 100644 --- a/doc/classes/StyleBox.xml +++ b/doc/classes/StyleBox.xml @@ -1,11 +1,11 @@ - Base class for drawing stylized boxes for the UI. + Abstract base class for defining stylized boxes for UI elements. - StyleBox is [Resource] that provides an abstract base class for drawing stylized boxes for the UI. StyleBoxes are used for drawing the styles of buttons, line edit backgrounds, tree backgrounds, etc. and also for testing a transparency mask for pointer signals. If mask test fails on a StyleBox assigned as mask to a control, clicks and motion signals will go through it to the one below. - [b]Note:[/b] For children of [Control] that have [i]Theme Properties[/i], the [code]focus[/code] [StyleBox] is displayed over the [code]normal[/code], [code]hover[/code] or [code]pressed[/code] [StyleBox]. This makes the [code]focus[/code] [StyleBox] more reusable across different nodes. + [StyleBox] is an abstract base class for drawing stylized boxes for UI elements. It is used for panels, buttons, [LineEdit] backgrounds, [Tree] backgrounds, etc. and also for testing a transparency mask for pointer signals. If mask test fails on a [StyleBox] assigned as mask to a control, clicks and motion signals will go through it to the one below. + [b]Note:[/b] For control nodes that have [i]Theme Properties[/i], the [code]focus[/code] [StyleBox] is displayed over the [code]normal[/code], [code]hover[/code] or [code]pressed[/code] [StyleBox]. This makes the [code]focus[/code] [StyleBox] more reusable across different nodes. diff --git a/doc/classes/StyleBoxEmpty.xml b/doc/classes/StyleBoxEmpty.xml index 8a88e459b343..253cf7b4aff6 100644 --- a/doc/classes/StyleBoxEmpty.xml +++ b/doc/classes/StyleBoxEmpty.xml @@ -1,10 +1,10 @@ - Empty stylebox (does not display anything). + An empty [StyleBox] (does not display anything). - Empty stylebox (really does not display anything). + An empty [StyleBox] that can be used to display nothing instead of the default style (e.g. it can "disable" [code]focus[/code] styles). diff --git a/doc/classes/StyleBoxFlat.xml b/doc/classes/StyleBoxFlat.xml index d5ab282037e9..be026b9ff2fd 100644 --- a/doc/classes/StyleBoxFlat.xml +++ b/doc/classes/StyleBoxFlat.xml @@ -1,14 +1,10 @@ - Customizable [StyleBox] with a given set of parameters (no texture required). + A customizable [StyleBox] that doesn't use a texture. - This [StyleBox] can be used to achieve all kinds of looks without the need of a texture. The following properties are customizable: - - Color - - Border width (individual width for each border) - - Rounded corners (individual radius for each corner) - - Shadow (with blur and offset) + By configuring various properties of this style box, you can achieve many common looks without the need of a texture. This includes optionally rounded borders, antialiasing, shadows, and skew. Setting corner radius to high values is allowed. As soon as corners overlap, the stylebox will switch to a relative system. [b]Example:[/b] [codeblock] diff --git a/doc/classes/StyleBoxLine.xml b/doc/classes/StyleBoxLine.xml index 06bbaf18c25f..e2351b948f96 100644 --- a/doc/classes/StyleBoxLine.xml +++ b/doc/classes/StyleBoxLine.xml @@ -1,10 +1,10 @@ - [StyleBox] that displays a single line. + A [StyleBox] that displays a single line of a given color and thickness. - [StyleBox] that displays a single line of a given color and thickness. It can be used to draw things like separators. + A [StyleBox] that displays a single line of a given color and thickness. The line can be either horizontal or vertical. Useful for separators. diff --git a/doc/classes/StyleBoxTexture.xml b/doc/classes/StyleBoxTexture.xml index d5a3c7d2ea92..8b8598df9f91 100644 --- a/doc/classes/StyleBoxTexture.xml +++ b/doc/classes/StyleBoxTexture.xml @@ -1,10 +1,10 @@ - Texture-based nine-patch [StyleBox]. + A texture-based nine-patch [StyleBox]. - Texture-based nine-patch [StyleBox], in a way similar to [NinePatchRect]. This stylebox performs a 3×3 scaling of a texture, where only the center cell is fully stretched. This makes it possible to design bordered styles regardless of the stylebox's size. + A texture-based nine-patch [StyleBox], in a way similar to [NinePatchRect]. This stylebox performs a 3×3 scaling of a texture, where only the center cell is fully stretched. This makes it possible to design bordered styles regardless of the stylebox's size. diff --git a/doc/classes/SubViewport.xml b/doc/classes/SubViewport.xml index d90290da7386..b6fded562172 100644 --- a/doc/classes/SubViewport.xml +++ b/doc/classes/SubViewport.xml @@ -1,10 +1,11 @@ - Creates a sub-view into the screen. + An interface to a game world that doesn't create a window or draw to the screen directly. - [SubViewport] is a [Viewport] that isn't a [Window], i.e. it doesn't draw anything by itself. To display something, [SubViewport]'s [member size] must be non-zero and it should be either put inside a [SubViewportContainer] or assigned to a [ViewportTexture]. + [SubViewport] Isolates a rectangular region of a scene to be displayed independently. This can be used, for example, to display UI in 3D space. + [b]Note:[/b] [SubViewport] is a [Viewport] that isn't a [Window], i.e. it doesn't draw anything by itself. To display anything, [SubViewport] must have a non-zero size and be either put inside a [SubViewportContainer] or assigned to a [ViewportTexture]. $DOCS_URL/tutorials/rendering/viewports.html diff --git a/doc/classes/SubViewportContainer.xml b/doc/classes/SubViewportContainer.xml index 6bb038ecc196..64f62d53d8e7 100644 --- a/doc/classes/SubViewportContainer.xml +++ b/doc/classes/SubViewportContainer.xml @@ -1,12 +1,12 @@ - Control for holding [SubViewport]s. + A container used for displaying the contents of a [SubViewport]. - A [Container] node that holds a [SubViewport]. It uses the [SubViewport]'s size as minimum size, unless [member stretch] is enabled. - [b]Note:[/b] Changing a SubViewportContainer's [member Control.scale] will cause its contents to appear distorted. To change its visual size without causing distortion, adjust the node's margins instead (if it's not already in a container). - [b]Note:[/b] The SubViewportContainer forwards mouse-enter and mouse-exit notifications to its sub-viewports. + A container that displays the contents of underlying [SubViewport] child nodes. It uses the combined size of the [SubViewport]s as minimum size, unless [member stretch] is enabled. + [b]Note:[/b] Changing a [SubViewportContainer]'s [member Control.scale] will cause its contents to appear distorted. To change its visual size without causing distortion, adjust the node's margins instead (if it's not already in a container). + [b]Note:[/b] The [SubViewportContainer] forwards mouse-enter and mouse-exit notifications to its sub-viewports. diff --git a/doc/classes/SyntaxHighlighter.xml b/doc/classes/SyntaxHighlighter.xml index 34063adbb079..3815d6d2fe81 100644 --- a/doc/classes/SyntaxHighlighter.xml +++ b/doc/classes/SyntaxHighlighter.xml @@ -1,12 +1,11 @@ - Base Syntax highlighter resource for [TextEdit]. + Base class for syntax highlighters. Provides syntax highlighting data to a [TextEdit]. - Base syntax highlighter resource all syntax highlighters extend from, provides syntax highlighting data to [TextEdit]. - The associated [TextEdit] node will call into the [SyntaxHighlighter] on an as-needed basis. - [b]Note:[/b] Each Syntax highlighter instance should not be shared across multiple [TextEdit] nodes. + Base class for syntax highlighters. Provides syntax highlighting data to a [TextEdit]. The associated [TextEdit] will call into the [SyntaxHighlighter] on an as-needed basis. + [b]Note:[/b] A [SyntaxHighlighter] instance should not be used across multiple [TextEdit] nodes. diff --git a/doc/classes/SystemFont.xml b/doc/classes/SystemFont.xml index f815c454761a..f4bf6678d18f 100644 --- a/doc/classes/SystemFont.xml +++ b/doc/classes/SystemFont.xml @@ -1,14 +1,14 @@ - Font loaded from a system font. - [b]Note:[/b] This class is implemented on iOS, Linux, macOS and Windows, on other platforms it will fallback to default theme font. + A font loaded from a system font. Falls back to a default theme font if not implemented on the host OS. [SystemFont] loads a font from a system font with the first matching name from [member font_names]. It will attempt to match font style, but it's not guaranteed. The returned font might be part of a font collection or be a variable font with OpenType "weight", "width" and/or "italic" features set. You can create [FontVariation] of the system font for fine control over its features. + [b]Note:[/b] This class is implemented on iOS, Linux, macOS and Windows, on other platforms it will fallback to default theme font. diff --git a/doc/classes/TabBar.xml b/doc/classes/TabBar.xml index 07b1f3a173b2..cdbe9d933a6f 100644 --- a/doc/classes/TabBar.xml +++ b/doc/classes/TabBar.xml @@ -1,10 +1,10 @@ - Tab bar control. + A control that provides a horizontal bar with tabs. - Simple tabs control, similar to [TabContainer] but is only in charge of drawing tabs, not interacting with children. + A control that provides a horizontal bar with tabs. Similar to [TabContainer] but is only in charge of drawing tabs, not interacting with children. diff --git a/doc/classes/TabContainer.xml b/doc/classes/TabContainer.xml index 80810033209c..ebf9bb258417 100644 --- a/doc/classes/TabContainer.xml +++ b/doc/classes/TabContainer.xml @@ -1,15 +1,14 @@ - Tabbed container. + A container that creates a tab for each child control, displaying only the active tab's control. - Arranges [Control] children into a tabbed view, creating a tab for each one. The active tab's corresponding [Control] has its [code]visible[/code] property set to [code]true[/code], and all other children's to [code]false[/code]. - Ignores non-[Control] children. - [b]Note:[/b] The drawing of the clickable tabs themselves is handled by this node. Adding [TabBar]s as children is not needed. + Arranges child controls into a tabbed view, creating a tab for each one. The active tab's corresponding control is made visible, while all other child controls are hidden. Ignores non-control children. + [b]Note:[/b] The drawing of the clickable tabs is handled by this node; [TabBar] is not needed. - $DOCS_URL/tutorials/ui/gui_containers.html + $DOCS_URL/tutorials/ui/gui_containers.html diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml index d207eec24cb6..d042a0b9a743 100644 --- a/doc/classes/TextEdit.xml +++ b/doc/classes/TextEdit.xml @@ -1,10 +1,10 @@ - Multiline text editing control. + A multiline text editor. - TextEdit is meant for editing large, multiline text. It also has facilities for editing code, such as syntax highlighting support and multiple levels of undo/redo. + A multiline text editor. It also has limited facilities for editing code, such as syntax highlighting support. For more advanced facilities for editing code, see [CodeEdit]. [b]Note:[/b] Most viewport, caret and edit methods contain a [code]caret_index[/code] argument for [member caret_multiple] support. The argument should be one of the following: [code]-1[/code] for all carets, [code]0[/code] for the main caret, or greater than [code]0[/code] for secondary carets. [b]Note:[/b] When holding down [kbd]Alt[/kbd], the vertical scroll wheel will scroll 5 times as fast as it would normally do. This also works in the Godot script editor. diff --git a/doc/classes/TextLine.xml b/doc/classes/TextLine.xml index db0b5384ccd6..93cd8065e2a8 100644 --- a/doc/classes/TextLine.xml +++ b/doc/classes/TextLine.xml @@ -4,7 +4,7 @@ Holds a line of text. - Abstraction over [TextServer] for handling single line of text. + Abstraction over [TextServer] for handling a single line of text. diff --git a/doc/classes/TextParagraph.xml b/doc/classes/TextParagraph.xml index a6eabd415c14..c7e9880fe759 100644 --- a/doc/classes/TextParagraph.xml +++ b/doc/classes/TextParagraph.xml @@ -4,7 +4,7 @@ Holds a paragraph of text. - Abstraction over [TextServer] for handling paragraph of text. + Abstraction over [TextServer] for handling a single paragraph of text. diff --git a/doc/classes/TextServer.xml b/doc/classes/TextServer.xml index 807be99da363..6d4ecb255eef 100644 --- a/doc/classes/TextServer.xml +++ b/doc/classes/TextServer.xml @@ -1,10 +1,10 @@ - Interface for the fonts and complex text layouts. + A server interface for font management and text rendering. - [TextServer] is the API backend for managing fonts, and rendering complex text. + [TextServer] is the API backend for managing fonts and rendering text. @@ -12,7 +12,7 @@ - Creates new, empty font cache entry resource. To free the resulting resource, use [method free_rid] method. + Creates a new, empty font cache entry resource. To free the resulting resource, use the [method free_rid] method. diff --git a/doc/classes/TextServerExtension.xml b/doc/classes/TextServerExtension.xml index 171318b96dbe..7efd5a2a7588 100644 --- a/doc/classes/TextServerExtension.xml +++ b/doc/classes/TextServerExtension.xml @@ -1,10 +1,10 @@ - Base class for TextServer custom implementations (plugins). + Base class for custom [TextServer] implementations (plugins). - External TextServer implementations should inherit from this class. + External [TextServer] implementations should inherit from this class. diff --git a/doc/classes/TextServerManager.xml b/doc/classes/TextServerManager.xml index 6c5cb3e7b885..129b367cf4a9 100644 --- a/doc/classes/TextServerManager.xml +++ b/doc/classes/TextServerManager.xml @@ -1,10 +1,10 @@ - Manager for the font and complex text layout servers. + A singleton for managing [TextServer] implementations. - [TextServerManager] is the API backend for loading, enumeration and switching [TextServer]s. + [TextServerManager] is the API backend for loading, enumerating, and switching [TextServer]s. [b]Note:[/b] Switching text server at runtime is possible, but will invalidate all fonts and text buffers. Make sure to unload all controls, fonts, and themes before doing so. @@ -14,14 +14,14 @@ - Registers an [TextServer] interface. + Registers a [TextServer] interface. - Finds an interface by its name. + Finds an interface by its [param name]. @@ -40,7 +40,7 @@ - Returns a list of available interfaces the index and name of each interface. + Returns a list of available interfaces, with the index and name of each interface. @@ -53,7 +53,7 @@ - Removes interface. All fonts and shaped text caches should be freed before removing interface. + Removes an interface. All fonts and shaped text caches should be freed before removing an interface. diff --git a/doc/classes/TextureRect.xml b/doc/classes/TextureRect.xml index 69733c3fd099..79ee8e44abea 100644 --- a/doc/classes/TextureRect.xml +++ b/doc/classes/TextureRect.xml @@ -1,10 +1,10 @@ - Control for drawing textures. + A control that displays a texture. - Used to draw icons and sprites in a user interface. The texture's placement can be controlled with the [member stretch_mode] property. It can scale, tile, or stay centered inside its bounding rectangle. + A control that displays a texture, for example an icon inside a GUI. The texture's placement can be controlled with the [member stretch_mode] property. It can scale, tile, or stay centered inside its bounding rectangle. https://godotengine.org/asset-library/asset/676 diff --git a/doc/classes/Theme.xml b/doc/classes/Theme.xml index 2da8c7f28f52..f01a6da36bd6 100644 --- a/doc/classes/Theme.xml +++ b/doc/classes/Theme.xml @@ -1,10 +1,10 @@ - Theme resource for styling/skinning [Control]s and [Window]s. + A resource used for styling/skinning [Control]s and [Window]s. - A theme resource is used for styling/skinning [Control] and [Window] nodes. While individual controls can be styled using their local theme overrides (see [method Control.add_theme_color_override]), theme resources allow you to store and apply the same settings between all controls sharing the same type (e.g. style all [Button]s the same). One theme resource can be used for the entire project, but you can also set a separate theme resource to a branch of control nodes. A theme resources assigned to a control node applies to the control itself, as well as all of its direct and indirect children (as long as a chain of controls is uninterrupted). + A resource used for styling/skinning [Control] and [Window] nodes. While individual controls can be styled using their local theme overrides (see [method Control.add_theme_color_override]), theme resources allow you to store and apply the same settings across all controls sharing the same type (e.g. style all [Button]s the same). One theme resource can be used for the entire project, but you can also set a separate theme resource to a branch of control nodes. A theme resource assigned to a control applies to the control itself, as well as all of its direct and indirect children (as long as a chain of controls is uninterrupted). Use [member ProjectSettings.gui/theme/custom] to set up a project-scope theme that will be available to every control in your project. Use [member Control.theme] of any control node to set up a theme that will be available to that control and all of its direct and indirect children. diff --git a/doc/classes/ThemeDB.xml b/doc/classes/ThemeDB.xml index a1e6de64c7b9..9eb694467bd2 100644 --- a/doc/classes/ThemeDB.xml +++ b/doc/classes/ThemeDB.xml @@ -1,10 +1,10 @@ - An engine singleton providing access to static [Theme] information, such as default and project theme, and fallback values. + A singleton that provides access to static information about [Theme] resources used by the engine and by your project. - This engine singleton provides access to static information about [Theme] resources used by the engine and by your projects. You can fetch the default engine theme, as well as your project configured theme. + This singleton provides access to static information about [Theme] resources used by the engine and by your projects. You can fetch the default engine theme, as well as your project configured theme. [ThemeDB] also contains fallback values for theme properties. diff --git a/doc/classes/Translation.xml b/doc/classes/Translation.xml index b31a84b540b1..661af9dc383f 100644 --- a/doc/classes/Translation.xml +++ b/doc/classes/Translation.xml @@ -1,10 +1,10 @@ - Language Translation. + A language translation that maps a collection of strings to their individual translations. - Translations are resources that can be loaded and unloaded on demand. They map a string to another string. + [Translation]s are resources that can be loaded and unloaded on demand. They map a collection of strings to their individual translations, and they also provide convenience methods for pluralization. $DOCS_URL/tutorials/i18n/internationalizing_games.html diff --git a/doc/classes/TranslationServer.xml b/doc/classes/TranslationServer.xml index 155a7d4bdd70..459831a4dc38 100644 --- a/doc/classes/TranslationServer.xml +++ b/doc/classes/TranslationServer.xml @@ -1,10 +1,10 @@ - Server that manages all translations. + The server responsible for language translations. - Server that manages all translations. Translations can be set to it and removed from it. + The server that manages all language translations. Translations can be added to or removed from it. $DOCS_URL/tutorials/i18n/internationalizing_games.html @@ -29,13 +29,13 @@ - Compares two locales and return similarity score between [code]0[/code](no match) and [code]10[/code](full match). + Compares two locales and returns a similarity score between [code]0[/code] (no match) and [code]10[/code] (full match). - Returns array of known country codes. + Returns an array of known country codes. @@ -47,21 +47,21 @@ - Returns array of known script codes. + Returns an array of known script codes. - Returns readable country name for the [param country] code. + Returns a readable country name for the [param country] code. - Returns readable language name for the [param language] code. + Returns a readable language name for the [param language] code. @@ -88,7 +88,7 @@ - Returns readable script name for the [param script] code. + Returns a readable script name for the [param script] code. @@ -138,7 +138,7 @@ - Returns [param locale] string standardized to match known locales (e.g. [code]en-US[/code] would be matched to [code]en_US[/code]). + Returns a [param locale] string standardized to match known locales (e.g. [code]en-US[/code] would be matched to [code]en_US[/code]). diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml index afe0088a26c3..48171349b259 100644 --- a/doc/classes/Tree.xml +++ b/doc/classes/Tree.xml @@ -1,11 +1,11 @@ - Control to show a tree of items. + A control used to show a set of internal [TreeItem]s in a hierarchical structure. - This shows a tree of items that can be selected, expanded and collapsed. The tree can have multiple columns with custom controls like text editing, buttons and popups. It can be useful for structured displays and interactions. - Trees are built via code, using [TreeItem] objects to create the structure. They have a single root but multiple roots can be simulated if a dummy hidden root is added. + A control used to show a set of internal [TreeItem]s in a hierarchical structure. The tree items can be selected, expanded and collapsed. The tree can have multiple columns with custom controls like [LineEdit]s, buttons and popups. It can be useful for structured displays and interactions. + Trees are built via code, using [TreeItem] objects to create the structure. They have a single root, but multiple roots can be simulated with [member hide_root]: [codeblocks] [gdscript] func _ready(): diff --git a/doc/classes/TreeItem.xml b/doc/classes/TreeItem.xml index ffa79ed08537..2bd8f57bd29d 100644 --- a/doc/classes/TreeItem.xml +++ b/doc/classes/TreeItem.xml @@ -1,12 +1,12 @@ - Control for a single item inside a [Tree]. + An internal control for a single item inside [Tree]. - Control for a single item inside a [Tree]. May have child [TreeItem]s and be styled as well as contain buttons. - You can remove a [TreeItem] by using [method Object.free]. - [b]Note:[/b] The ID values used for buttons are limited to 32 bits, not full 64 bits of [int]. This has a range of [code]-2^32[/code] to [code]2^32 - 1[/code], i.e. [code]-2147483648[/code] to [code]2147483647[/code]. + A single item of a [Tree] control. It can contain other [TreeItem]s as children, which allows it to create a hierarchy. It can also contain text and buttons. [TreeItem] is not a [Node], it is internal to the [Tree]. + To create a [TreeItem], use [method Tree.create_item] or [method TreeItem.create_child]. To remove a [TreeItem], use [method Object.free]. + [b]Note:[/b] The ID values used for buttons are 32-bit, unlike [int] which is always 64-bit. They go from [code]-2147483648[/code] to [code]2147483647[/code]. diff --git a/doc/classes/UndoRedo.xml b/doc/classes/UndoRedo.xml index 216cfe3d6372..9b9bf7f5695d 100644 --- a/doc/classes/UndoRedo.xml +++ b/doc/classes/UndoRedo.xml @@ -1,12 +1,12 @@ - General-purpose helper to manage undo/redo operations. + Provides a high-level interface for implementing undo and redo operations. - UndoRedo works by registering methods and property changes inside "actions". - Common behavior is to create an action, then add do/undo calls to functions or property changes, then committing the action. - Here's an example on how to add an UndoRedo action: + UndoRedo works by registering methods and property changes inside "actions". You can create an action, then provide ways to do and undo this action using function calls and property changes, then commit the action. + When an action is committed, all of the [code]do_*[/code] methods will run. If the [method undo] method is used, the [code]undo_*[/code] methods will run. If the [method redo] method is used, once again, all of the [code]do_*[/code] methods will run. + Here's an example on how to add an action: [codeblocks] [gdscript] var undo_redo = UndoRedo.new() @@ -57,7 +57,7 @@ [/csharp] [/codeblocks] [method create_action], [method add_do_method], [method add_undo_method], [method add_do_property], [method add_undo_property], and [method commit_action] should be called one after the other, like in the example. Not doing so could lead to crashes. - If you don't need to register a method, you can leave [method add_do_method] and [method add_undo_method] out; the same goes for properties. You can also register more than one method/property. + If you don't need to register a method, you can leave [method add_do_method] and [method add_undo_method] out; the same goes for properties. You can also register more than one method/property in the order they should run. If you are making an [EditorPlugin] and want to integrate into the editor's undo history, use [EditorUndoRedoManager] instead. diff --git a/doc/classes/VBoxContainer.xml b/doc/classes/VBoxContainer.xml index ae63059f1ed8..b746a29bd056 100644 --- a/doc/classes/VBoxContainer.xml +++ b/doc/classes/VBoxContainer.xml @@ -1,13 +1,13 @@ - Vertical box container. + A container that arranges its child controls vertically. - Vertical box container. See [BoxContainer]. + A variant of [BoxContainer] that can only arrange its child controls vertically. Child controls are rearranged automatically when their minimum size changes. - $DOCS_URL/tutorials/ui/gui_containers.html + $DOCS_URL/tutorials/ui/gui_containers.html https://godotengine.org/asset-library/asset/676 diff --git a/doc/classes/VFlowContainer.xml b/doc/classes/VFlowContainer.xml index d3ee93dad4e7..21a8ed71ceb9 100644 --- a/doc/classes/VFlowContainer.xml +++ b/doc/classes/VFlowContainer.xml @@ -1,12 +1,13 @@ - Vertical flow container. + A container that arranges its child controls vertically and wraps them around at the borders. - Vertical version of [FlowContainer]. + A variant of [FlowContainer] that can only arrange its child controls vertically, wrapping them around at the borders. This is similar to how text in a book wraps around when no more words can fit on a line, except vertically. + $DOCS_URL/tutorials/ui/gui_containers.html diff --git a/doc/classes/VScrollBar.xml b/doc/classes/VScrollBar.xml index c10fe39ab2e8..3a6acb529ab3 100644 --- a/doc/classes/VScrollBar.xml +++ b/doc/classes/VScrollBar.xml @@ -1,10 +1,10 @@ - Vertical scroll bar. + A vertical scrollbar that goes from top (min) to bottom (max). - Vertical version of [ScrollBar], which goes from top (min) to bottom (max). + A vertical scrollbar, typically used to navigate through content that extends beyond the visible height of a control. It is a [Range]-based control and goes from top (min) to bottom (max). Note that this direction is the opposite of [VSlider]'s. diff --git a/doc/classes/VSeparator.xml b/doc/classes/VSeparator.xml index e649014358cb..fcd33d7c7fb7 100644 --- a/doc/classes/VSeparator.xml +++ b/doc/classes/VSeparator.xml @@ -1,10 +1,10 @@ - Vertical version of [Separator]. + A vertical line used for separating other controls. - Vertical version of [Separator]. Even though it looks vertical, it is used to separate objects horizontally. + A vertical separator used for separating other controls that are arranged [b]horizontally[/b]. [VSeparator] is purely visual and normally drawn as a [StyleBoxLine]. diff --git a/doc/classes/VSlider.xml b/doc/classes/VSlider.xml index b1906ccef264..5c1d61d0f966 100644 --- a/doc/classes/VSlider.xml +++ b/doc/classes/VSlider.xml @@ -1,11 +1,10 @@ - Vertical slider. + A vertical slider that goes from bottom (min) to top (max). - Vertical slider. See [Slider]. This one goes from bottom (min) to top (max). - [b]Note:[/b] The [signal Range.changed] and [signal Range.value_changed] signals are part of the [Range] class which this class inherits from. + A vertical slider, used to adjust a value by moving a grabber along a vertical axis. It is a [Range]-based control and goes from bottom (min) to top (max). Note that this direction is the opposite of [VScrollBar]'s. diff --git a/doc/classes/VSplitContainer.xml b/doc/classes/VSplitContainer.xml index 72ec3bfc9977..45aba9736c82 100644 --- a/doc/classes/VSplitContainer.xml +++ b/doc/classes/VSplitContainer.xml @@ -1,13 +1,13 @@ - Vertical split container. + A container that splits two child controls vertically and provides a grabber for adjusting the split ratio. - Vertical split container. See [SplitContainer]. This goes from top to bottom. + A container that accepts only two child controls, then arranges them vertically and creates a divisor between them. The divisor can be dragged around to change the size relation between the child controls. - $DOCS_URL/tutorials/ui/gui_containers.html + $DOCS_URL/tutorials/ui/gui_containers.html diff --git a/doc/classes/VideoStreamPlayer.xml b/doc/classes/VideoStreamPlayer.xml index 87af2f8c4ddd..6ba2e425577f 100644 --- a/doc/classes/VideoStreamPlayer.xml +++ b/doc/classes/VideoStreamPlayer.xml @@ -1,10 +1,10 @@ - Control for playing video streams. + A control used for video playback. - Control node for playing video streams using [VideoStream] resources. + A control used for playback of [VideoStream] resources. Supported video formats are [url=https://www.theora.org/]Ogg Theora[/url] ([code].ogv[/code], [VideoStreamTheora]) and any format exposed via a GDExtension plugin. [b]Note:[/b] Due to a bug, VideoStreamPlayer does not support localization remapping yet. [b]Warning:[/b] On Web, video playback [i]will[/i] perform poorly due to missing architecture-specific assembly optimizations. diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index 7ff96bb8fd89..caab6ee92445 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -1,11 +1,11 @@ - Base class for viewports. + Abstract base class for viewports. Encapsulates drawing and interaction with a game world. A Viewport creates a different view into the screen, or a sub-view inside another viewport. Children 2D Nodes will display on it, and children Camera3D 3D nodes will render on it too. - Optionally, a viewport can have its own 2D or 3D world, so they don't share what they draw with other viewports. + Optionally, a viewport can have its own 2D or 3D world, so it doesn't share what it draws with other viewports. Viewports can also choose to be audio listeners, so they generate positional audio depending on a 2D or 3D camera child of it. Also, viewports can be assigned to different screens in case the devices have multiple screens. Finally, viewports can also behave as render targets, in which case they will not be visible unless the associated texture is used to draw. diff --git a/doc/classes/ViewportTexture.xml b/doc/classes/ViewportTexture.xml index 2f621998139e..c7a0223f3a0e 100644 --- a/doc/classes/ViewportTexture.xml +++ b/doc/classes/ViewportTexture.xml @@ -1,12 +1,12 @@ - Texture which displays the content of a [Viewport]. + Provides the content of a [Viewport] as a dynamic texture. - Displays the content of a [Viewport] node as a dynamic [Texture2D]. This can be used to mix controls, 2D, and 3D elements in the same scene. - To create a ViewportTexture in code, use the [method Viewport.get_texture] method on the target viewport. - [b]Note:[/b] When local to scene, this texture uses [method Resource.setup_local_to_scene] to set the proxy texture and flags in the local viewport. Local to scene viewport textures will return incorrect data until the scene root is ready (see [signal Node.ready]). + Provides the content of a [Viewport] as a dynamic [Texture2D]. This can be used to mix controls, 2D game objects, and 3D game objects in the same scene. + To create a [ViewportTexture] in code, use the [method Viewport.get_texture] method on the target viewport. + [b]Note:[/b] When local to scene, this texture uses [method Resource.setup_local_to_scene] to set the proxy texture and flags in the local viewport. Local to scene [ViewportTexture]s will return incorrect data until the scene root is ready (see [signal Node.ready]). https://godotengine.org/asset-library/asset/127 @@ -16,8 +16,8 @@ - The path to the [Viewport] node to display. This is relative to the scene root, not to the node which uses the texture. - [b]Note:[/b] In the editor, it is automatically updated when the target viewport's node path changes due to renaming or moving the viewport or its ancestors. At runtime, it may not be able to automatically update due to the inability to determine the scene root. + The path to the [Viewport] node to display. This is relative to the scene root, not to the node that uses the texture. + [b]Note:[/b] In the editor, this path is automatically updated when the target viewport or one of its ancestors is renamed or moved. At runtime, the path may not be able to automatically update due to the inability to determine the scene root. diff --git a/doc/classes/Window.xml b/doc/classes/Window.xml index 3adc0d367db9..0d7d2cb71e57 100644 --- a/doc/classes/Window.xml +++ b/doc/classes/Window.xml @@ -1,11 +1,11 @@ - Base class for all windows. + Base class for all windows, dialogs, and popups. A node that creates a window. The window can either be a native system window or embedded inside another [Window] (see [member Viewport.gui_embed_subwindows]). - At runtime, [Window]s will not close automatically when requested. You need to handle it manually using [signal close_requested] (this applies both to clicking close button and clicking outside popup). + At runtime, [Window]s will not close automatically when requested. You need to handle it manually using the [signal close_requested] signal (this applies both to pressing the close button and clicking outside of a popup). diff --git a/modules/text_server_adv/doc_classes/TextServerAdvanced.xml b/modules/text_server_adv/doc_classes/TextServerAdvanced.xml index dca07b6d5f5f..3b2128b281eb 100644 --- a/modules/text_server_adv/doc_classes/TextServerAdvanced.xml +++ b/modules/text_server_adv/doc_classes/TextServerAdvanced.xml @@ -1,9 +1,10 @@ - Text Server using HarfBuzz, ICU and SIL Graphite to support BiDi, complex text layouts and contextual OpenType features. + An advanced text server with support for BiDi, complex text layout, and contextual OpenType features. Used in Godot by default. + An implementation of [TextServer] that uses HarfBuzz, ICU and SIL Graphite to support BiDi, complex text layouts and contextual OpenType features. This is Godot's default primary [TextServer] interface. diff --git a/modules/text_server_fb/doc_classes/TextServerFallback.xml b/modules/text_server_fb/doc_classes/TextServerFallback.xml index 6ca9c9462e3a..ddd05fa445b6 100644 --- a/modules/text_server_fb/doc_classes/TextServerFallback.xml +++ b/modules/text_server_fb/doc_classes/TextServerFallback.xml @@ -1,9 +1,11 @@ - Fallback implementation of the Text Server, without BiDi and complex text layout support. + A fallback implementation of Godot's text server, without support for BiDi and complex text layout. + A fallback implementation of Godot's text server. This fallback is faster than [TextServerAdvanced] for processing a lot of text, but it does not support BiDi and complex text layout. + [b]Note:[/b] This text server is not part of official Godot binaries. If you want to use it, compile the engine with the option [code]module_text_server_fb_enabled=yes[/code].