UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
STabSidebar.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"
8
9class SDockTab;
10class SOverlay;
12class SVerticalBox;
13class STabDrawer;
14struct FTabId;
15enum class ESidebarLocation : uint8;
16
25{
27 {}
30
31public:
33
34 void Construct(const FArguments& InArgs, TSharedRef<SOverlay> InDrawersOverlay);
35
39 void SetOffset(float Offset);
40
45
53
60
65
70
75
82private:
83 void OnTabDrawerButtonPressed(TSharedRef<SDockTab> ForTab);
84 void OnTabDrawerPinButtonToggled(TSharedRef<SDockTab> ForTab, bool bIsPinned);
85 void OnTabDrawerFocusLost(TSharedRef<STabDrawer> Drawer);
86 void OnTabDrawerClosed(TSharedRef<STabDrawer> Drawer);
87 void OnTargetDrawerSizeChanged(TSharedRef<STabDrawer> Drawer, float NewSize);
88
89 TSharedRef<SWidget> OnGetTabDrawerContextMenuWidget(TSharedRef<SDockTab> ForTab);
90 void OnRestoreTab(TSharedRef<SDockTab> TabToRestore);
91 void OnCloseTab(TSharedRef<SDockTab> TabToClose);
92
97 void RemoveDrawer(TSharedRef<SDockTab> ForTab);
98
102 void RemoveAllDrawers();
103
104 EActiveTimerReturnType OnOpenPendingDrawerTimer(double CurrentTime, float DeltaTime);
105 void OpenDrawerNextFrame(TSharedRef<SDockTab> ForTab, bool bAnimateOpen);
106 void OpenDrawerInternal(TSharedRef<SDockTab> ForTab, bool bAnimateOpen);
107 void CloseDrawerInternal(TSharedRef<SDockTab> ForTab);
108
113 void SummonPinnedTabIfNothingOpened();
114
118 void UpdateDrawerAppearance();
119
123 TSharedPtr<SDockTab> FindFirstPinnedTab() const;
124
129 TSharedPtr<SDockTab> GetForegroundTab() const;
130
134 TSharedPtr<STabDrawer> FindOpenedDrawer(TSharedRef<SDockTab> ForTab) const;
135
136private:
139 TSharedPtr<FActiveTimerHandle> OpenPendingDrawerTimerHandle;
140 ESidebarLocation Location;
141 TSharedPtr<SOverlay> DrawersOverlay;
143 TArray<TSharedRef<STabDrawer>> OpenedDrawers;
145 TWeakPtr<SDockTab> PendingTabToOpen;
147 bool bAnimatePendingTabOpen = false;
148};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define SLATE_BEGIN_ARGS(InWidgetType)
Definition DeclarativeSyntaxSupport.h:63
#define SLATE_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
#define SLATE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:208
EActiveTimerReturnType
Definition SlateEnums.h:329
ESidebarLocation
Definition TabManager.h:53
uint32 Offset
Definition VulkanMemory.cpp:4033
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition SCompoundWidget.h:22
Definition SDockTab.h:55
Definition SOverlay.h:44
Definition STabSidebar.cpp:136
Definition STabDrawer.h:36
Definition STabSidebar.h:25
void SetOffset(float Offset)
Definition STabSidebar.cpp:431
TArray< FTabId > GetAllTabIds() const
Definition STabSidebar.cpp:539
bool ContainsTab(TSharedPtr< SDockTab > Tab) const
Definition STabSidebar.cpp:530
TArray< TSharedRef< SDockTab > > GetAllTabs() const
Definition STabSidebar.cpp:550
void AddTab(TSharedRef< SDockTab > Tab)
Definition STabSidebar.cpp:436
bool RemoveTab(TSharedRef< SDockTab > TabToRemove)
Definition STabSidebar.cpp:486
bool TryOpenSidebarDrawer(TSharedRef< SDockTab > ForTab)
Definition STabSidebar.cpp:561
void Construct(const FArguments &InArgs, TSharedRef< SOverlay > InDrawersOverlay)
Definition STabSidebar.cpp:409
bool RestoreTab(TSharedRef< SDockTab > TabToRestore)
Definition STabSidebar.cpp:519
~STabSidebar()
Definition STabSidebar.cpp:403
Definition SBoxPanel.h:322
Definition Array.h:670
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SharedPointer.h:1295
Definition TabManager.h:73