Files
godot-docs/tutorials/ui/index.rst
Hugo Locurcio 95fb178429 Add support for user-provided comments with Giscus
This allows users to leave comments on pages that don't have
`:allow_comments: False` somewhere in the page's source.
Both manual and class reference pages can receive comments.
Index pages cannot have comments, as discussion should occur on "leaf" pages.

GitHub Discussions is used as a backend on the same repository. This means
that Discussions *must* be enabled on godotengine/godot-docs before this
commit is merged to `master`. Users can choose to use the "Custom" watch
mode if they don't want to get notifications for discussion updates,
but still get notifications for issue and pull request updates.

User comments are intended to be used for the following purposes:

- Add a clarification or correct something in the documentation,
  without having to open a pull request. Contributors are encouraged to
  take a look at discussions from time to time, and see if there's information
  worth incorporating in the pages themselves. Don't forget to reply to
  the comment when doing so :)
- Mention a workaround for a common issue.
- Link to useful third-party resources that are relevant to the current page,
  such as tutorials or add-ons.

User comments should *not* be used for technical support. Other community
platforms should be used for that.

Page-to-discussion matching is done using the `pagename` Sphinx variable,
which is independent of the Godot version and documentation language.
Being independent of the Godot version allows keeping old comments
when the Godot version changes, while also allowing users from `/stable`
and `/4.1` to "see" each other in discussions.

See https://giscus.app for more information.
2024-01-11 17:51:53 +01:00

70 lines
1.7 KiB
ReStructuredText

:allow_comments: False
.. _doc_user_interface:
User interface (UI)
===================
In this section of the tutorial we explain the basics of creating a graphical
user interface (GUI) in Godot.
UI building blocks
------------------
Like everything else in Godot the user interface is built using nodes, specifically
:ref:`Control <class_Control>` nodes. There are many different types of controls
which are useful for creating specific types of GUIs. For simplicity we can
separate them into two groups: content and layout.
Typical content controls include:
* :ref:`Buttons <class_Button>`
* :ref:`Labels <class_Label>`
* :ref:`LineEdits <class_LineEdit>` and :ref:`TextEdits <class_TextEdit>`
Typical layout controls include:
* :ref:`BoxContainers <class_BoxContainer>`
* :ref:`MarginContainers <class_MarginContainer>`
* :ref:`ScrollContainers <class_ScrollContainer>`
* :ref:`TabContainers <class_TabContainer>`
* :ref:`Popups <class_Popup>`
The following pages explain the basics of using such controls.
.. toctree::
:maxdepth: 1
:name: toc-gui-basics
size_and_anchors
gui_containers
custom_gui_controls
gui_navigation
control_node_gallery
GUI skinning and themes
-----------------------
Godot features an in-depth skinning/theming system for control nodes. The pages in this section
explain the benefits of that system and how to set it up in your projects.
.. toctree::
:maxdepth: 1
:name: toc-gui-skinning
gui_skinning
gui_using_theme_editor
gui_theme_type_variations
gui_using_fonts
Control node tutorials
----------------------
The following articles cover specific details of using particular control nodes.
.. toctree::
:maxdepth: 1
:name: toc-control-nodes-tutorials
bbcode_in_richtextlabel