UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SDockingTabWell.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "Input/Reply.h"
8#include "Layout/Children.h"
9#include "Widgets/SPanel.h"
13
15class FPaintArgs;
17
19{
22 static const float MaxTabSizeNoNameWidth;
24 static const FVector2D SLATE_API GetMaxTabSizeFor( ETabRole TabRole );
25};
26
31class SDockingTabWell : public SPanel
32{
33public:
34
40
42
43 void Construct( const FArguments& InArgs );
44
46 int32 GetNumTabs() const;
47
49 const TSlotlessChildren<SDockTab>& GetTabs() const;
50
58
61
64
67
70
78
80
83
86
97
98public:
99 FVector2D ComputeChildSize( const FGeometry& AllottedGeometry ) const;
100
101 // SWidget interface
102 virtual void OnArrangeChildren( const FGeometry& AllottedGeometry, FArrangedChildren& ArrangedChildren ) const override;
103 virtual int32 OnPaint( const FPaintArgs& Args, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled ) const override;
113 // End of SWidget interface
114
115private:
116
126 float ComputeDraggedTabOffset( const FGeometry& MyGeometry, const FPointerEvent& MouseEvent, const FVector2D& TabGrabOffsetFraction ) const;
127
132 int32 ComputeChildDropIndex(const FGeometry& MyGeometry, const TSharedRef<SDockTab>& TabBeingDragged) const;
133
134private:
135
138
140 TWeakPtr<class SDockingTabStack> ParentTabStackPtr;
141
143 TSharedPtr<SDockTab> TabBeingDraggedPtr;
144
146 const FSlateBrush* SeparatorBrush;
147
149 float ChildBeingDraggedOffset;
150
152 FVector2D TabGrabOffsetFraction;
153
155 int32 ForegroundTabIndex;
156};
157
158
#define NULL
Definition oodle2base.h:134
@ INDEX_NONE
Definition CoreMiscDefines.h:150
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define SLATE_ATTRIBUTE(AttrType, AttrName)
Definition DeclarativeSyntaxSupport.h:192
#define SLATE_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
ETabRole
Definition SDockTab.h:28
Definition ArrangedChildren.h:15
Definition ChildrenBase.h:27
Definition DragAndDrop.h:141
Definition PaintArgs.h:23
Definition Reply.h:24
Definition SlateRect.h:26
Definition DrawElements.h:220
Definition WidgetStyle.h:15
Definition SDockTab.h:55
Definition SDockingArea.h:29
Definition SDockingNode.h:19
Definition SDockingTabStack.h:52
Definition SDockingTabWell.h:32
virtual EWindowZone::Type GetWindowZoneOverride() const override
Definition SDockingTabWell.cpp:595
TSharedPtr< SDockingTabStack > GetParentDockTabStack()
Definition SDockingTabWell.cpp:866
virtual FReply OnDrop(const FGeometry &MyGeometry, const FDragDropEvent &DragDropEvent) override
Definition SDockingTabWell.cpp:551
virtual void OnArrangeChildren(const FGeometry &AllottedGeometry, FArrangedChildren &ArrangedChildren) const override
Definition SDockingTabWell.cpp:90
virtual void OnDragLeave(const FDragDropEvent &DragDropEvent) override
Definition SDockingTabWell.cpp:483
FVector2D ComputeChildSize(const FGeometry &AllottedGeometry) const
Definition SDockingTabWell.cpp:295
FReply StartDraggingTab(TSharedRef< SDockTab > TabToStartDragging, FVector2D TabGrabOffsetFraction, const FPointerEvent &MouseEvent)
Definition SDockingTabWell.cpp:404
virtual FReply OnDragOver(const FGeometry &MyGeometry, const FDragDropEvent &DragDropEvent) override
Definition SDockingTabWell.cpp:535
virtual int32 OnPaint(const FPaintArgs &Args, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const override
Definition SDockingTabWell.cpp:181
SLATE_BEGIN_ARGS(SDockingTabWell)
Definition SDockingTabWell.h:35
virtual FReply OnMouseMove(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
Definition SDockingTabWell.cpp:640
void RefreshParentContent()
Definition SDockingTabWell.cpp:832
int32 GetNumTabs() const
Definition SDockingTabWell.cpp:45
virtual FVector2D ComputeDesiredSize(float) const override
Definition SDockingTabWell.cpp:258
TSharedPtr< SDockTab > GetForegroundTab() const
Definition SDockingTabWell.cpp:735
void BringTabToFront(int32 TabIndexToActivate)
Definition SDockingTabWell.cpp:656
virtual void OnDragEnter(const FGeometry &MyGeometry, const FDragDropEvent &DragDropEvent) override
Definition SDockingTabWell.cpp:457
void AddTab(const TSharedRef< SDockTab > &InTab, int32 AtIndex=INDEX_NONE, bool bKeepInactive=false)
Definition SDockingTabWell.cpp:50
int32 GetForegroundTabIndex() const
Definition SDockingTabWell.cpp:745
virtual FReply OnMouseButtonUp(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
Definition SDockingTabWell.cpp:618
virtual FChildren * GetChildren() override
Definition SDockingTabWell.cpp:289
TSharedPtr< SDockingArea > GetDockArea()
Definition SDockingTabWell.cpp:860
const TSlotlessChildren< SDockTab > & GetTabs() const
Definition SDockingTabWell.cpp:40
void RemoveAndDestroyTab(const TSharedRef< SDockTab > &TabToRemove, SDockingNode::ELayoutModification RemovalMethod)
Definition SDockingTabWell.cpp:750
Definition SPanel.h:30
void Construct()
Definition SPanel.h:65
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition Children.h:836
Definition SharedPointer.h:1295
Definition GenericApplicationMessageHandler.h:81
@ false
Definition radaudio_common.h:23
Definition SDockingTabWell.h:19
static const float MaxTabSizeNoNameWidth
Definition SDockingTabWell.h:22
static const FVector2D SLATE_API GetMaxTabSizeFor(ETabRole TabRole)
Definition SDockingTabWell.cpp:14
static const FVector2D MaxMajorTabSize
Definition SDockingTabWell.h:21
static const FVector2D MaxMinorTabSize
Definition SDockingTabWell.h:20
static const float MaxTabSizeNoNameCantCloseWidth
Definition SDockingTabWell.h:23
Definition Geometry.h:40
Definition Events.h:695
Definition SlateBrush.h:239