Navigation
API > API/Runtime > API/Runtime/Slate
SSplitter divides its allotted area into N segments, where N is the number of children it has. It allows the users to resize the children along the splitters axis: that is, horizontally or vertically.
| Name | SSplitter |
| Type | class |
| Header File | /Engine/Source/Runtime/Slate/Public/Widgets/Layout/SSplitter.h |
| Include Path | #include "Widgets/Layout/SSplitter.h" |
Syntax
class SSplitter : public SPanel
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → SWidget → SPanel → SSplitter
- FSlateControlledConstruction → SWidget → SPanel → SSplitter
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
SSplitter() |
Widgets/Layout/SSplitter.h |
Classes
| Name | Remarks |
|---|---|
| FSlot |
Structs
| Name | Remarks |
|---|---|
| FArguments |
Enums
Public
| Name | Remarks |
|---|---|
| ESizeRule | How should a child's size be determined |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FOnGetMaxSlotSize | TBaseDelegate_OneParam< FVector2D, int32 > | Widgets/Layout/SSplitter.h | |
| FOnHandleHovered | TBaseDelegate_OneParam< void, int32 > | Widgets/Layout/SSplitter.h | |
| FOnSlotResized | TBaseDelegate_OneParam< void, float > | Widgets/Layout/SSplitter.h | |
| FScopedWidgetSlotArguments | TPanelChildren< FSlot >::FScopedWidgetSlotArguments | Widgets/Layout/SSplitter.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FScopedWidgetSlotArguments AddSlot
(
int32 AtIndex |
Add a slot to the splitter at the specified index Sample usage: SomeSplitter->AddSlot() [ SNew(SSomeWidget) ]; | Widgets/Layout/SSplitter.h | |
void ClearChildren() |
Removes all children from the splitter. | Widgets/Layout/SSplitter.h | |
void Construct
(
const FArguments& InArgs |
Construct this widget | Widgets/Layout/SSplitter.h | |
EOrientation GetOrientation() |
Widgets/Layout/SSplitter.h | ||
bool IsValidSlotIndex
(
int32 Index |
Widgets/Layout/SSplitter.h | ||
int32 NumSlots() |
Widgets/Layout/SSplitter.h | ||
void RemoveAt
(
int32 IndexToRemove |
Remove the child at IndexToRemove | Widgets/Layout/SSplitter.h | |
int32 RemoveSlot
(
const TSharedRef< SWidget >& SlotWidget |
Removes a slot from this splitter panel which contains the specified SWidget | Widgets/Layout/SSplitter.h | |
void SetOrientation
(
EOrientation NewOrientation |
Change the orientation of the splitter | Widgets/Layout/SSplitter.h | |
SSplitter::FSlot & SlotAt
(
int32 SlotIndex |
Get the slot at the specified index | Widgets/Layout/SSplitter.h |
Overridden from SWidget
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FVector2D ComputeDesiredSize
(
float |
A Panel's desired size in the space required to arrange of its children on the screen while respecting all of the children's desired sizes and any layout-related options specified by the user. | Widgets/Layout/SSplitter.h | |
virtual FChildren * GetChildren () |
All widgets must provide a way to access their children in a layout-agnostic way. | Widgets/Layout/SSplitter.h | |
virtual void OnArrangeChildren
(
const FGeometry& AllottedGeometry, |
Panels arrange their children in a space described by the AllottedGeometry parameter. | Widgets/Layout/SSplitter.h | |
virtual FCursorReply OnCursorQuery
(
const FGeometry& MyGeometry, |
The system asks each widget under the mouse to provide a cursor. This event is bubbled. | Widgets/Layout/SSplitter.h | |
virtual FReply OnMouseButtonDoubleClick
(
const FGeometry& InMyGeometry, |
Widgets/Layout/SSplitter.h | ||
virtual FReply OnMouseButtonDown
(
const FGeometry& MyGeometry, |
The system calls this method to notify the widget that a mouse button was pressed within it. | Widgets/Layout/SSplitter.h | |
virtual FReply OnMouseButtonUp
(
const FGeometry& MyGeometry, |
The system calls this method to notify the widget that a mouse button was release within it. | Widgets/Layout/SSplitter.h | |
virtual void OnMouseLeave
(
const FPointerEvent& MouseEvent |
Widgets/Layout/SSplitter.h | ||
virtual FReply OnMouseMove
(
const FGeometry& MyGeometry, |
The system calls this method to notify the widget that a mouse moved within it. | Widgets/Layout/SSplitter.h | |
virtual int32 OnPaint
(
const FPaintArgs& Args, |
Widgets/Layout/SSplitter.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
float ClampChild
(
const FSlot& ChildSlot, |
Widgets/Layout/SSplitter.h | ||
void HandleResizingByMousePosition
(
EOrientation Orientation, |
Resizes the children based on user input. | Widgets/Layout/SSplitter.h | |
void HandleResizingBySize
(
EOrientation Orientation, |
Widgets/Layout/SSplitter.h | ||
void HandleResizingDelta
(
EOrientation Orientation, |
Widgets/Layout/SSplitter.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void FindAllResizeableSlotsAfterHandle
(
int32 DraggedHandle, |
Widgets/Layout/SSplitter.h | ||
static int32 FindResizeableSlotAfterHandle
(
int32 DraggedHandle, |
Given the index of the dragged handle and the children, find a child below/right_of the dragged handle that can be resized | Widgets/Layout/SSplitter.h | |
static int32 FindResizeableSlotBeforeHandle
(
int32 DraggedHandle, |
Given the index of the dragged handle and the children, find a child above/left_of of the dragged handle that can be resized. | Widgets/Layout/SSplitter.h | |
static int32 GetHandleBeingResizedFromMousePosition
(
float PhysicalSplitterHandleSize, |
Given a mouse position within the splitter, figure out which resize handle we are hovering (if any). | Widgets/Layout/SSplitter.h | |
static FSlot::FSlotArguments Slot() |
Widgets/Layout/SSplitter.h |