Skip to content

Latest commit

 

History

History
190 lines (128 loc) · 7.65 KB

class_scrollcontainer.rst

File metadata and controls

190 lines (128 loc) · 7.65 KB
github_url:hide

ScrollContainer

Inherits: :ref:`Container<class_Container>` < :ref:`Control<class_Control>` < :ref:`CanvasItem<class_CanvasItem>` < :ref:`Node<class_Node>` < :ref:`Object<class_Object>`

Inherited By: :ref:`EditorInspector<class_EditorInspector>`

A helper node for displaying scrollable elements such as lists.

Description

A ScrollContainer node meant to contain a :ref:`Control<class_Control>` child.

ScrollContainers will automatically create a scrollbar child (:ref:`HScrollBar<class_HScrollBar>`, :ref:`VScrollBar<class_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 :ref:`Control.rect_min_size<class_Control_property_rect_min_size>` of the Control relative to the ScrollContainer.

Works great with a :ref:`Panel<class_Panel>` control. You can set 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).

Properties

:ref:`bool<class_bool>` :ref:`follow_focus<class_ScrollContainer_property_follow_focus>` false
:ref:`bool<class_bool>` rect_clip_content O: true
:ref:`int<class_int>` :ref:`scroll_deadzone<class_ScrollContainer_property_scroll_deadzone>` 0
:ref:`int<class_int>` :ref:`scroll_horizontal<class_ScrollContainer_property_scroll_horizontal>` 0
:ref:`bool<class_bool>` :ref:`scroll_horizontal_enabled<class_ScrollContainer_property_scroll_horizontal_enabled>` true
:ref:`int<class_int>` :ref:`scroll_vertical<class_ScrollContainer_property_scroll_vertical>` 0
:ref:`bool<class_bool>` :ref:`scroll_vertical_enabled<class_ScrollContainer_property_scroll_vertical_enabled>` true

Methods

:ref:`HScrollBar<class_HScrollBar>` :ref:`get_h_scrollbar<class_ScrollContainer_method_get_h_scrollbar>` ( )
:ref:`VScrollBar<class_VScrollBar>` :ref:`get_v_scrollbar<class_ScrollContainer_method_get_v_scrollbar>` ( )

Theme Properties

:ref:`StyleBox<class_StyleBox>` bg

Signals

  • scroll_ended ( )

Emitted when scrolling stops.


  • scroll_started ( )

Emitted when scrolling is started.

Property Descriptions

Default false
Setter set_follow_focus(value)
Getter is_following_focus()

If true, the ScrollContainer will automatically scroll to focused children (including indirect children) to make sure they are fully visible.


Default 0
Setter set_deadzone(value)
Getter get_deadzone()

Default 0
Setter set_h_scroll(value)
Getter get_h_scroll()

The current horizontal scroll value.


Default true
Setter set_enable_h_scroll(value)
Getter is_h_scroll_enabled()

If true, enables horizontal scrolling.


Default 0
Setter set_v_scroll(value)
Getter get_v_scroll()

The current vertical scroll value.


Default true
Setter set_enable_v_scroll(value)
Getter is_v_scroll_enabled()

If true, enables vertical scrolling.

Method Descriptions

Returns the horizontal scrollbar :ref:`HScrollBar<class_HScrollBar>` of this ScrollContainer.


Returns the vertical scrollbar :ref:`VScrollBar<class_VScrollBar>` of this ScrollContainer.