36template<
typename OptionType>
61 .Padding(InArgs._Padding)
64 InArgs._Content.Widget
78 const bool bIsSelected = OwnerWidget->Private_IsItemSelected( *MyItem );
95template<
typename OptionType >
193 check(InArgs._ComboBoxStyle);
195 ItemStyle = InArgs._ItemStyle;
196 ComboBoxStyle = InArgs._ComboBoxStyle;
198 bShowMenuBackground =
false;
203 PressedSound = InArgs._PressedSoundOverride.Get(ComboBoxStyle->
PressedSlateSound);
206 this->OnComboBoxOpening = InArgs._OnComboBoxOpening;
207 this->OnSelectionChanged = InArgs._OnSelectionChanged;
208 this->OnGenerateWidget = InArgs._OnGenerateWidget;
209 this->EnableGamepadNavigationMode = InArgs._EnableGamepadNavigationMode;
210 this->bControllerInputCaptured =
false;
212 CustomScrollbar = InArgs._CustomScrollbar;
214 ComboBoxMenuContent =
216 .MaxDesiredHeight(InArgs._MaxListHeight)
219 .ListItemsSource(InArgs.GetOptionsSource())
224 .ScrollBarStyle(InArgs._ScrollBarStyle)
225 .ExternalScrollbar(InArgs._CustomScrollbar)
234 .Text(
NSLOCTEXT(
"SComboBox",
"ContentWarning",
"No Content Provided"))
242 .Method( InArgs._Method )
251 .HasDownArrow( InArgs._HasDownArrow )
252 .ContentPadding( InArgs._ContentPadding )
253 .ForegroundColor( InArgs._ForegroundColor )
255 .IsFocusable(InArgs._IsFocusable)
256 .CollapseMenuOnParentFocus(InArgs._CollapseMenuOnParentFocus)
262 SelectedItem = InArgs._InitiallySelectedItem;
266 ComboListView->Private_SetItemSelection(
ValidatedItem,
true);
275#if WITH_ACCESSIBILITY
277 bCanChildrenBeAccessible =
true;
281#if WITH_ACCESSIBILITY
307 virtual FString
GetValue()
const override
344 static FString
Name(
TEXT(
"Combo Box"));
351 ComboListView->ClearSelection();
363 ComboListView->ClearSelection();
426 ComboListView->ClearItemsSource();
436 ComboListView->RequestListRefresh();
447 if (EnableGamepadNavigationMode)
453 if (bControllerInputCaptured ==
false)
456 bControllerInputCaptured =
true;
458 OnComboBoxOpening.ExecuteIfBound();
464 bControllerInputCaptured =
false;
468 if (SelectedItems.
Num() > 0)
484 OnMenuOpenChanged(
false);
492 if (bControllerInputCaptured)
508 if (SelectionIndex >= 1)
555 if (OnGenerateWidget.IsBound())
559 .Padding(MenuRowPadding)
561 OnGenerateWidget.Execute(
InItem)
568 SNew(
STextBlock).Text(
NSLOCTEXT(
"SlateCore",
"ComboBoxMissingOnGenerateWidgetMethod",
"Please provide a .OnGenerateWidget() handler."))
575 void OnMenuOpenChanged(
bool bOpen)
579 bControllerInputCaptured =
false;
594 if (
User.IsWidgetInFocusPath(this->ComboListView))
612 PlaySelectionChangeSound();
622 virtual FReply OnButtonClicked()
override
629 if (SelectedItems.
Num() > 0)
637 OnComboBoxOpening.ExecuteIfBound();
649 if (SelectedItems.
Num() > 0)
661 void PlayPressedSound()
const
667 void PlaySelectionChangeSound()
const
701 bool EnableGamepadNavigationMode;
704 bool bControllerInputCaptured;
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define SLATE_STYLE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:280
#define SAssignNew(ExposeAs, WidgetType,...)
Definition DeclarativeSyntaxSupport.h:41
#define SNew(WidgetType,...)
Definition DeclarativeSyntaxSupport.h:37
#define SLATE_ATTRIBUTE(AttrType, AttrName)
Definition DeclarativeSyntaxSupport.h:192
#define SLATE_EVENT(DelegateName, EventName)
Definition DeclarativeSyntaxSupport.h:458
#define SLATE_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
#define SLATE_DEFAULT_SLOT(DeclarationType, SlotName)
Definition DeclarativeSyntaxSupport.h:444
#define SLATE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:208
#define DECLARE_DELEGATE(DelegateName)
Definition DelegateCombinations.h:20
return true
Definition ExternalRpcRegistry.cpp:601
#define SLATE_ITEMS_SOURCE_ARGUMENT(ArgType, ArgName)
Definition IItemsSource.h:20
#define NSLOCTEXT(InNamespace, InKey, InTextLiteral)
Definition Internationalization.h:300
typename UE::Core::Private::TObjectPtrWrapTypeOf< T >::Type TObjectPtrWrapTypeOf
Definition ObjectPtr.h:1761
EUINavigationAction
Definition SlateEnums.h:124
EUINavigation
Definition SlateEnums.h:99
static FReply Unhandled()
Definition Reply.h:241
SLATECORE_API FReply & SetUserFocus(TSharedRef< SWidget > GiveMeFocus, EFocusCause ReasonFocusIsChanging=EFocusCause::SetDirectly, bool bInAllUsers=false)
Definition Reply.cpp:40
static FReply Handled()
Definition Reply.h:233
virtual SLATE_API EUINavigation GetNavigationDirectionFromKey(const FKeyEvent &InKeyEvent) const override
Definition SlateApplication.cpp:2062
SLATE_API void PlaySound(const FSlateSound &SoundToPlay, int32 UserIndex=0) const
Definition SlateApplication.cpp:1066
SLATE_API void ForEachUser(TFunctionRef< void(FSlateUser &)> InPredicate, bool bIncludeVirtualUsers=false)
Definition SlateApplication.cpp:4549
virtual SLATE_API EUINavigationAction GetNavigationActionFromKey(const FKeyEvent &InKeyEvent) const override
Definition SlateApplication.cpp:2074
static FSlateApplication & Get()
Definition SlateApplication.h:319
Definition SlateUser.h:41
static SLATECORE_API const FSlateBrush * GetNoBrush()
Definition StyleDefaults.cpp:6
static CORE_API FText FromString(const ANSICHAR *String)
Definition Text.cpp:1081
static CORE_API const FText & GetEmpty()
Definition Text.cpp:252
CORE_API const FString & ToString() const
Definition Text.cpp:1263
SLATE_API void SetMaxDesiredHeight(TAttribute< FOptionalSize > InMaxDesiredHeight)
Definition SBox.cpp:109
Definition SComboBox.h:97
SComboBox()
Definition SComboBox.h:273
FReply OnKeyDown(const FGeometry &MyGeometry, const FKeyEvent &InKeyEvent) override
Definition SComboBox.h:441
TSlateDelegates< OptionType >::FOnGenerateWidget FOnGenerateWidget
Definition SComboBox.h:106
void InvalidateItemStyle()
Definition SComboBox.h:400
void SetStyle(const FComboBoxStyle *InStyle)
Definition SComboBox.h:377
NullableOptionType GetSelectedItem()
Definition SComboBox.h:406
SLATE_BEGIN_ARGS(SComboBox)
Definition SComboBox.h:109
void RefreshOptions()
Definition SComboBox.h:434
void SetMaxHeight(float InMaxHeight)
Definition SComboBox.h:372
void ClearItemsSource()
Definition SComboBox.h:424
SListView< OptionType > SComboListType
Definition SComboBox.h:104
virtual bool SupportsKeyboardFocus() const override
Definition SComboBox.h:540
void SetItemsSource(TSharedRef<::UE::Slate::Containers::TObservableArray< OptionType > > InListItemsSource)
Definition SComboBox.h:418
virtual bool IsInteractable() const
Definition SComboBox.h:545
void SetItemStyle(const FTableRowStyle *InItemStyle)
Definition SComboBox.h:391
void ClearSelection()
Definition SComboBox.h:349
void SetItemsSource(const TArray< OptionType > *InListItemsSource)
Definition SComboBox.h:412
TListTypeTraits< OptionType > ListTypeTraits
Definition SComboBox.h:100
TSlateDelegates< NullableOptionType >::FOnSelectionChanged FOnSelectionChanged
Definition SComboBox.h:107
void InvalidateStyle()
Definition SComboBox.h:386
void SetEnableGamepadNavigationMode(bool InEnableGamepadNavigationMode)
Definition SComboBox.h:367
void SetSelectedItem(NullableOptionType InSelectedItem)
Definition SComboBox.h:354
void Construct(const FArguments &InArgs)
Definition SComboBox.h:191
TListTypeTraits< OptionType >::NullableType NullableOptionType
Definition SComboBox.h:101
Definition SComboBox.h:38
virtual FReply OnMouseButtonDown(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
Definition SComboBox.h:71
void Construct(const FArguments &InArgs, const TSharedRef< STableViewBase > &InOwnerTable)
Definition SComboBox.h:56
SLATE_BEGIN_ARGS(SComboRow)
Definition SComboBox.h:41
Definition STableRow.h:87
const FTableRowStyle * Style
Definition STableRow.h:1252
void Construct(const typename STableRow< ItemType >::FArguments &InArgs, const TSharedRef< STableViewBase > &InOwnerTableView)
Definition STableRow.h:166
virtual FReply OnMouseButtonDown(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
Definition STableRow.h:465
TWeakPtr< ITypedTableView< OptionType > > OwnerTablePtr
Definition STableRow.h:1240
TWeakPtr< SWidget > Content
Definition STableRow.h:1288
Definition STableViewBase.h:110
Definition STextBlock.h:45
Definition ArrayView.h:139
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition SharedPointer.h:692
TSharedRef< ObjectType, Mode > ToSharedRef() const &
Definition SharedPointer.h:1028
Definition SharedPointer.h:153
Definition SlateDelegates.h:134
Definition SharedPointer.h:1295
UE_FORCEINLINE_HINT TSharedPtr< ObjectType, Mode > Pin() const &
Definition SharedPointer.h:1512
Type
Definition SlateEnums.h:311
@ OnNavigation
Definition SlateEnums.h:315
@ OnMouseClick
Definition SlateEnums.h:317
@ Direct
Definition SlateEnums.h:319
@ OnKeyPress
Definition SlateEnums.h:313
@ Single
Definition ITypedTableView.h:21
T::FDataType GetValue(const UBlackboardComponent &Blackboard, const FName &Name, FBlackboard::FKey &InOutCachedKey, const typename T::FDataType &DefaultValue)
Definition ValueOrBBKey.h:51
@ false
Definition radaudio_common.h:23
static INPUTCORE_API const FKey BackSpace
Definition InputCoreTypes.h:306
static INPUTCORE_API const FKey LeftMouseButton
Definition InputCoreTypes.h:300
static INPUTCORE_API const FKey Enter
Definition InputCoreTypes.h:308
Definition SlateTypes.h:742
FSlateSound SelectionChangeSlateSound
Definition SlateTypes.h:774
FSlateSound PressedSlateSound
Definition SlateTypes.h:767
FMargin MenuRowPadding
Definition SlateTypes.h:788
FComboButtonStyle ComboButtonStyle
Definition SlateTypes.h:760
static CORE_API const FLinearColor Red
Definition Color.h:460
Definition SlateColor.h:42
Definition SlateSound.h:16
Definition SlateTypes.h:1641
Definition Optional.h:131
Definition ObservableArray.h:187