MCRO
C++23 utilities for Unreal Engine.
Loading...
Searching...
No Matches
Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base > Class Template Reference

A widget template which can automatically handle changes in an input array state, with given delegates which tell this widget how children are supposed to be created, updated and removed. More...

#include <ReactiveWidget.h>

Inheritance diagram for Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base >:

Public Types

using FCreateChild = Base::FCreateChild
 
using FUpdateChild = Base::FUpdateChild
 
using FRemoveChild = Base::FRemoveChild
 
using ContainerSlotArguments = Base::ContainerSlotArguments
 

Public Member Functions

 SLATE_BEGIN_ARGS (TArrayReactiveWidget)
 
 SLATE_ARGUMENT (IStatePtr< Base::StateRangeType >, State)
 
 SLATE_ARGUMENT (TSharedPtr< ContainerWidget >, Container)
 
 SLATE_EVENT (FCreateChild, CreateChild)
 
 SLATE_EVENT (FUpdateChild, UpdateChild)
 
 SLATE_EVENT (FRemoveChild, RemoveChild)
 
void Construct (FArguments const &args)
 

Protected Member Functions

virtual void OnStateChange (Base::StateRangeType const &next) override
 

Detailed Description

template<typename Item, CWidgetWithSlots ContainerWidget = SWidget, CWidget ChildWidget = SWidget, typename Base = Detail::TReactiveWidgetBase< Item, TArray<Item>, ContainerWidget, ChildWidget, TArray<TSharedRef<ChildWidget>>, int32 >>
class Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base >

A widget template which can automatically handle changes in an input array state, with given delegates which tell this widget how children are supposed to be created, updated and removed.

Template Parameters
ItemThe type of the items which are transformed into child widgets.
ContainerWidgetThe panel which provides the slots for the child widgets.
ChildWidgetThe storage type of child widgets, it's fine to leave it SWidget

Definition at line 150 of file ReactiveWidget.h.

Member Typedef Documentation

◆ ContainerSlotArguments

template<typename Item , CWidgetWithSlots ContainerWidget = SWidget, CWidget ChildWidget = SWidget, typename Base = Detail::TReactiveWidgetBase< Item, TArray<Item>, ContainerWidget, ChildWidget, TArray<TSharedRef<ChildWidget>>, int32 >>
using Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base >::ContainerSlotArguments = Base::ContainerSlotArguments

Definition at line 156 of file ReactiveWidget.h.

◆ FCreateChild

template<typename Item , CWidgetWithSlots ContainerWidget = SWidget, CWidget ChildWidget = SWidget, typename Base = Detail::TReactiveWidgetBase< Item, TArray<Item>, ContainerWidget, ChildWidget, TArray<TSharedRef<ChildWidget>>, int32 >>
using Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base >::FCreateChild = Base::FCreateChild

Definition at line 153 of file ReactiveWidget.h.

◆ FRemoveChild

template<typename Item , CWidgetWithSlots ContainerWidget = SWidget, CWidget ChildWidget = SWidget, typename Base = Detail::TReactiveWidgetBase< Item, TArray<Item>, ContainerWidget, ChildWidget, TArray<TSharedRef<ChildWidget>>, int32 >>
using Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base >::FRemoveChild = Base::FRemoveChild

Definition at line 155 of file ReactiveWidget.h.

◆ FUpdateChild

template<typename Item , CWidgetWithSlots ContainerWidget = SWidget, CWidget ChildWidget = SWidget, typename Base = Detail::TReactiveWidgetBase< Item, TArray<Item>, ContainerWidget, ChildWidget, TArray<TSharedRef<ChildWidget>>, int32 >>
using Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base >::FUpdateChild = Base::FUpdateChild

Definition at line 154 of file ReactiveWidget.h.

Member Function Documentation

◆ Construct()

template<typename Item , CWidgetWithSlots ContainerWidget = SWidget, CWidget ChildWidget = SWidget, typename Base = Detail::TReactiveWidgetBase< Item, TArray<Item>, ContainerWidget, ChildWidget, TArray<TSharedRef<ChildWidget>>, int32 >>
void Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base >::Construct ( FArguments const & args)
inline

Definition at line 169 of file ReactiveWidget.h.

◆ OnStateChange()

template<typename Item , CWidgetWithSlots ContainerWidget = SWidget, CWidget ChildWidget = SWidget, typename Base = Detail::TReactiveWidgetBase< Item, TArray<Item>, ContainerWidget, ChildWidget, TArray<TSharedRef<ChildWidget>>, int32 >>
virtual void Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base >::OnStateChange ( Base::StateRangeType const & next)
inlineoverrideprotectedvirtual

Definition at line 172 of file ReactiveWidget.h.

◆ SLATE_ARGUMENT() [1/2]

template<typename Item , CWidgetWithSlots ContainerWidget = SWidget, CWidget ChildWidget = SWidget, typename Base = Detail::TReactiveWidgetBase< Item, TArray<Item>, ContainerWidget, ChildWidget, TArray<TSharedRef<ChildWidget>>, int32 >>
Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base >::SLATE_ARGUMENT ( IStatePtr< Base::StateRangeType > ,
State  )

◆ SLATE_ARGUMENT() [2/2]

template<typename Item , CWidgetWithSlots ContainerWidget = SWidget, CWidget ChildWidget = SWidget, typename Base = Detail::TReactiveWidgetBase< Item, TArray<Item>, ContainerWidget, ChildWidget, TArray<TSharedRef<ChildWidget>>, int32 >>
Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base >::SLATE_ARGUMENT ( TSharedPtr< ContainerWidget > ,
Container  )

◆ SLATE_BEGIN_ARGS()

template<typename Item , CWidgetWithSlots ContainerWidget = SWidget, CWidget ChildWidget = SWidget, typename Base = Detail::TReactiveWidgetBase< Item, TArray<Item>, ContainerWidget, ChildWidget, TArray<TSharedRef<ChildWidget>>, int32 >>
Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base >::SLATE_BEGIN_ARGS ( TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base > )
inline

Definition at line 158 of file ReactiveWidget.h.

◆ SLATE_EVENT() [1/3]

template<typename Item , CWidgetWithSlots ContainerWidget = SWidget, CWidget ChildWidget = SWidget, typename Base = Detail::TReactiveWidgetBase< Item, TArray<Item>, ContainerWidget, ChildWidget, TArray<TSharedRef<ChildWidget>>, int32 >>
Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base >::SLATE_EVENT ( FCreateChild ,
CreateChild  )

◆ SLATE_EVENT() [2/3]

template<typename Item , CWidgetWithSlots ContainerWidget = SWidget, CWidget ChildWidget = SWidget, typename Base = Detail::TReactiveWidgetBase< Item, TArray<Item>, ContainerWidget, ChildWidget, TArray<TSharedRef<ChildWidget>>, int32 >>
Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base >::SLATE_EVENT ( FRemoveChild ,
RemoveChild  )

◆ SLATE_EVENT() [3/3]

template<typename Item , CWidgetWithSlots ContainerWidget = SWidget, CWidget ChildWidget = SWidget, typename Base = Detail::TReactiveWidgetBase< Item, TArray<Item>, ContainerWidget, ChildWidget, TArray<TSharedRef<ChildWidget>>, int32 >>
Mcro::Slate::TArrayReactiveWidget< Item, ContainerWidget, ChildWidget, Base >::SLATE_EVENT ( FUpdateChild ,
UpdateChild  )

The documentation for this class was generated from the following file: