Class reference
FoldableContainer
Inherits Container
A container that can be expanded/collapsed.
Description
A container that can be expanded/collapsed, with a title that can be filled with controls, such as buttons. The title can be positioned at the top or bottom of the container. The container can be expanded or collapsed by clicking the title or by pressing ui_accept when focused. Child control nodes are hidden when the container is collapsed. Ignores non-control children. Can allow grouping with other FoldableContainers, check foldable_group and FoldableGroup.
Properties
int focus_mode = 2
int focus_mode = 2FoldableGroup foldable_group
FoldableGroup foldable_groupThe FoldableGroup associated with the container. When multiple FoldableContainer nodes share the same group, only one of them is allowed to be unfolded.
bool folded = false
bool folded = falseIf true, the container will become folded and will hide all its children.
String language = ""
String language = ""Language code used for text shaping algorithms. If left empty, current locale is used instead.
int mouse_filter = 0
int mouse_filter = 0String title = ""
String title = ""The container's title text.
int title_alignment = 0
int title_alignment = 0Title's horizontal text alignment.
int title_position = 0
int title_position = 0Title's position.
int title_text_direction = 0
int title_text_direction = 0Title text writing direction.
int title_text_overrun_behavior = 0
int title_text_overrun_behavior = 0Defines the behavior of the title when the text is longer than the available space.
Methods
void add_title_bar_control(Control control)
Control control)Adds a Control that will be placed next to the container's title, obscuring the clickable area. Prime usage is adding Button nodes, but it can be any Control. The control will be added as a child of this container and removed from previous parent if necessary. The controls will be placed aligned to the right, with the first added control being the leftmost one.
void expand()
Expands the container and emits folding_changed.
void fold()
Folds the container and emits folding_changed.
void remove_title_bar_control(Control control)
Control control)Removes a Control added with add_title_bar_control(). The node is not freed automatically, you need to use Node.queue_free().
Signals
folding_changed(bool is_folded)
bool is_folded)Emitted when the container is folded/expanded.
Constants
POSITION_TOP = 0
Makes the title appear at the top of the container.
POSITION_BOTTOM = 1
Makes the title appear at the bottom of the container. Also makes all StyleBoxes flipped vertically.
Theme properties
Color collapsed_font_color = Color(1, 1, 1, 1)
Color collapsed_font_color = Color(1, 1, 1, 1)The title's font color when collapsed.
Color font_color = Color(0.875, 0.875, 0.875, 1)
Color font_color = Color(0.875, 0.875, 0.875, 1)The title's font color when expanded.
Color font_outline_color = Color(1, 1, 1, 1)
Color font_outline_color = Color(1, 1, 1, 1)The title's font outline color.
Color hover_font_color = Color(0.95, 0.95, 0.95, 1)
Color hover_font_color = Color(0.95, 0.95, 0.95, 1)The title's font hover color.
int h_separation = 2
int h_separation = 2The horizontal separation between the title's icon and text, and between title bar controls.
int outline_size = 0
int outline_size = 0The title's font outline size.
Font font
Font fontThe title's font.
int font_size
int font_sizeThe title's font size.
Texture2D expanded_arrow
Texture2D expanded_arrowThe title's icon used when expanded.
Texture2D expanded_arrow_mirrored
Texture2D expanded_arrow_mirroredThe title's icon used when expanded (for bottom title).
Texture2D folded_arrow
Texture2D folded_arrowThe title's icon used when folded (for left-to-right layouts).
Texture2D folded_arrow_mirrored
Texture2D folded_arrow_mirroredThe title's icon used when collapsed (for right-to-left layouts).
StyleBox focus
StyleBox focusBackground used when FoldableContainer has GUI focus. The focus StyleBox is displayed over the base StyleBox, so a partially transparent StyleBox should be used to ensure the base StyleBox remains visible. A StyleBox that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a StyleBoxEmpty resource. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
StyleBox panel
StyleBox panelDefault background for the FoldableContainer.
StyleBox title_collapsed_hover_panel
StyleBox title_collapsed_hover_panelBackground used when the mouse cursor enters the title's area when collapsed.
StyleBox title_collapsed_panel
StyleBox title_collapsed_panelDefault background for the FoldableContainer's title when collapsed.
StyleBox title_hover_panel
StyleBox title_hover_panelBackground used when the mouse cursor enters the title's area when expanded.
StyleBox title_panel
StyleBox title_panelDefault background for the FoldableContainer's title when expanded.