You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#jira UE-138664 #preflight 6202ee26c451a5d0dc08eec6 #rb brooke.hubert Rex.Hill Ryan.Schmidt Patrick.Boutot #fyi Ryan.Schmidt, Lauren.Barnes [CL 19020456 by daren cheng in ue5-main branch]
90 lines
3.1 KiB
C++
90 lines
3.1 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "Framework/Commands/UIAction.h"
|
|
#include "Framework/Application/SlateApplication.h"
|
|
|
|
|
|
FUIAction::FUIAction()
|
|
: ExecuteAction()
|
|
, CanExecuteAction()
|
|
, GetActionCheckState()
|
|
, IsActionVisibleDelegate()
|
|
, RepeatMode(EUIActionRepeatMode::RepeatDisabled)
|
|
{
|
|
}
|
|
|
|
FUIAction::FUIAction(FExecuteAction InitExecuteAction, EUIActionRepeatMode InitRepeatMode)
|
|
: ExecuteAction(InitExecuteAction)
|
|
, CanExecuteAction(FCanExecuteAction::CreateRaw(&FSlateApplication::Get(), &FSlateApplication::IsNormalExecution))
|
|
, GetActionCheckState()
|
|
, IsActionVisibleDelegate()
|
|
, RepeatMode(InitRepeatMode)
|
|
{
|
|
}
|
|
|
|
FUIAction::FUIAction(FExecuteAction InitExecuteAction, FCanExecuteAction InitCanExecuteAction, EUIActionRepeatMode InitRepeatMode)
|
|
: ExecuteAction(InitExecuteAction)
|
|
, CanExecuteAction(InitCanExecuteAction)
|
|
, GetActionCheckState()
|
|
, IsActionVisibleDelegate()
|
|
, RepeatMode(InitRepeatMode)
|
|
{
|
|
}
|
|
|
|
FUIAction::FUIAction(FExecuteAction InitExecuteAction, FCanExecuteAction InitCanExecuteAction, FIsActionChecked InitIsCheckedDelegate, EUIActionRepeatMode InitRepeatMode)
|
|
: ExecuteAction(InitExecuteAction)
|
|
, CanExecuteAction(InitCanExecuteAction)
|
|
, GetActionCheckState(FGetActionCheckState::CreateStatic(&FUIAction::IsActionCheckedPassthrough, InitIsCheckedDelegate))
|
|
, IsActionVisibleDelegate()
|
|
, RepeatMode(InitRepeatMode)
|
|
{
|
|
}
|
|
|
|
FUIAction::FUIAction(FExecuteAction InitExecuteAction, FCanExecuteAction InitCanExecuteAction, FGetActionCheckState InitGetActionCheckStateDelegate, EUIActionRepeatMode InitRepeatMode)
|
|
: ExecuteAction(InitExecuteAction)
|
|
, CanExecuteAction(InitCanExecuteAction)
|
|
, GetActionCheckState(InitGetActionCheckStateDelegate)
|
|
, IsActionVisibleDelegate()
|
|
, RepeatMode(InitRepeatMode)
|
|
{
|
|
}
|
|
|
|
FUIAction::FUIAction(FExecuteAction InitExecuteAction, FCanExecuteAction InitCanExecuteAction, FIsActionChecked InitIsCheckedDelegate, FIsActionButtonVisible InitIsActionVisibleDelegate, EUIActionRepeatMode InitRepeatMode)
|
|
: ExecuteAction(InitExecuteAction)
|
|
, CanExecuteAction(InitCanExecuteAction)
|
|
, GetActionCheckState(FGetActionCheckState::CreateStatic(&FUIAction::IsActionCheckedPassthrough, InitIsCheckedDelegate))
|
|
, IsActionVisibleDelegate(InitIsActionVisibleDelegate)
|
|
, RepeatMode(InitRepeatMode)
|
|
{
|
|
}
|
|
|
|
FUIAction::FUIAction(FExecuteAction InitExecuteAction, FCanExecuteAction InitCanExecuteAction, FGetActionCheckState InitGetActionCheckStateDelegate, FIsActionButtonVisible InitIsActionVisibleDelegate, EUIActionRepeatMode InitRepeatMode)
|
|
: ExecuteAction(InitExecuteAction)
|
|
, CanExecuteAction(InitCanExecuteAction)
|
|
, GetActionCheckState(InitGetActionCheckStateDelegate)
|
|
, IsActionVisibleDelegate(InitIsActionVisibleDelegate)
|
|
, RepeatMode(InitRepeatMode)
|
|
{
|
|
}
|
|
|
|
/////////////////////////////////////////////////////
|
|
// FUIActionContext
|
|
|
|
TSharedPtr<IUIActionContextBase> FUIActionContext::FindContext(const FName InName) const
|
|
{
|
|
for (const TSharedPtr<IUIActionContextBase>& Context : Contexts)
|
|
{
|
|
if (Context && Context->GetContextName().IsEqual(InName))
|
|
{
|
|
return Context;
|
|
}
|
|
}
|
|
|
|
return nullptr;
|
|
}
|
|
|
|
void FUIActionContext::AddContext(const TSharedPtr<IUIActionContextBase>& InContext)
|
|
{
|
|
Contexts.Add(InContext);
|
|
}
|