SPinTypeSelector

Widget for modifying the type for a variable or pin

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

KismetWidgets

Header

/Engine/Source/Editor/KismetWidgets/Public/SPinTypeSelector.h

Include

#include "SPinTypeSelector.h"

Syntax

class SPinTypeSelector : public SCompoundWidget

Remarks

Widget for modifying the type for a variable or pin

Variables

Name Description

Protected variable

TArray< FObject...

 

AllowedObjectReferenceTypes

Holds a cache of the allowed Object Reference types for the last sub-menu opened.

Protected variable

bool

 

bIsRightMousePressed

TRUE when the right mouse button is pressed, keeps from handling a right click that does not begin in the widget

Protected variable

bool

 

bMenuContentIsSecondary

True if GetMenuContent was last called with bForSecondaryType == true

Protected variable

TSharedPtr< cla...

 

CustomFilter

An interface to optionally apply a custom filter to the available pin type items for display.

Protected variable

TArray< FPinTyp...

 

FilteredTypeTreeRoot

Array containing a filtered list, according to the text in the searchbox

Protected variable

TSharedPtr< SSe...

 

FilterTextBox

Protected variable

FGetPinTypeTree

 

GetPinTypeTree

Delegate for the type selector to retrieve the pin type tree (passed into the Construct so the tree can depend on the situation)

Protected variable

TSharedPtr< SMe...

 

MenuContent

Reference to the menu content that's displayed when the type button is clicked on

Protected variable

int32

 

NumFilteredPinTypeItems

Total number of filtered pin type items. This count excludes category items and reference subtypes.

Protected variable

FOnPinTypeChang...

 

OnTypeChanged

Delegate that is called every time the pin type changes (before and after).

Protected variable

FOnPinTypeChang...

 

OnTypePreChanged

Protected variable

TWeakPtr< SMenu...

 

PinTypeSelectorMenuOwner

Protected variable

TAttribute< boo...

 

ReadOnly

Whether or not the type is read only and not editable (implies a different style)

Protected variable

const UEdGraphS...

 

Schema

Schema in charge of determining available types for this pin

Protected variable

TWeakPtr< const...

 

SchemaAction

Schema action related to the pin selection

Protected variable

FText

 

SearchText

Type searching support

Protected variable

TSharedPtr< SCo...

 

SecondaryTypeComboButton

Protected variable

ESelectorType

 

SelectorType

Whether the selector is using the compact or full mode, or not a selector at all, but just the type image.

Protected variable

TAttribute< FEd...

 

TargetPinType

The pin attribute that we're modifying with this widget

Protected variable

TAttribute< FOp...

 

TreeViewHeight

Desired height of the tree view widget

Protected variable

TAttribute< FOp...

 

TreeViewWidth

Desired width of the tree view widget

Protected variable

TSharedPtr< SCo...

 

TypeComboButton

Protected variable

ETypeTreeFilter

 

TypeTreeFilter

UEdgraphSchema::ETypeTreeFilter flags for filtering available types

Protected variable

TArray< FPinTyp...

 

TypeTreeRoot

Array containing the unfiltered list of all supported types this pin could possibly have

Protected variable

TSharedPtr< SPi...

 

TypeTreeView

Protected variable

TWeakPtr< SList...

 

WeakListView

Functions

Name Description

Public function

void

 

Construct

(
    const FArguments& InArgs,
    FGetPinTypeTree GetPinTypeTreeFunc
)

Public function Static

TSharedRef< ...

 

ConstructPinTypeImage

(
    UEdGraphPin* Pin
)

Public function Static

TSharedRef< ...

 

ConstructPinTypeImage

(
    TAttribute< const FSlateBrush*...,
    TAttribute< FSlateColor > PrimaryCo...,
    TAttribute< const FSlateBrush*...,
    TAttribute< FSlateColor > Secondary...
)

Public function Static

TSharedRef< ...

 

ConstructPinTypeImage

(
    const FSlateBrush* PrimaryIcon,
    const FSlateColor& PrimaryColor,
    const FSlateBrush* SecondaryIc...,
    const FSlateColor& SecondaryColor,
    TSharedPtr< SToolTip > InToolTip
)

Protected function Const

TSharedRef< ...

 

CreateObjectReferenceWidget

(
    FPinTypeTreeItem InItem,
    FEdGraphPinType& InPinType,
    const FSlateBrush* InIconBrush,
    FText InSimpleTooltip
)

Helper function to create widget for the sub-menu

Protected function

TSharedRef< ...

 

GenerateObjectReferenceTreeRow

(
    FObjectReferenceListItem InItem,
    const TSharedRef< STableViewBase > ...
)

Listview support functions for sub-menu

Protected function Virtual

TSharedRef< ...

 

GenerateTypeTreeRow

(
    FPinTypeTreeItem InItem,
    const TSharedRef< STableViewBase > ...,
    bool bForSecondaryType
)

Treeview support functions

Protected function

TSharedRef< ...

 

GetAllowedObjectTypes

(
    FPinTypeTreeItem InItem,
    bool bForSecondaryType
)

Gets the allowable object types for an tree item, used for building the sub-menu

Protected function

bool

 

GetChildrenMatchingSearch

(
    const FText& SearchText,
    const TArray< FPinTypeTreeItem >& ...,
    TArray< FPinTypeTreeItem >& OutFil...
)

Helper to generate the filtered list of types, based on the search string matching

Protected function

bool

 

GetChildrenWithSupportedTypes

(
    const TArray< FPinTypeTreeItem >& ...,
    TArray< FPinTypeTreeItem >& OutFil...
)

Helper to generate the filtered list of types, based on the supported types of the schema

Protected function Const

FText

 

GetCombinedTypeDescription()

Gets a combined description of the primary, container, and secondary types.

Protected function Virtual

TSharedRef< ...

 

GetMenuContent

(
    bool bForSecondaryType
)

Protected function

TSharedRef< ...

 

GetPinContainerTypeMenuContent()

Protected function Const

FText

 

GetPinTypeItemCountText()

Callback to get the display text for the total pin type item count

Protected function Const

FText

 

GetSecondaryTypeDescription()

Gets the secondary type description. E.g. the value type for TMaps

Protected function Const

FSlateColor

 

GetSecondaryTypeIconColor()

Gets the secondary type-specific color for the type being manipulated

Protected function Const

const FSlate...

 

GetSecondaryTypeIconImage()

Gets the secondary icon (for maps, otherwise null) for the type being manipulated

Protected function Const

FText

 

GetToolTipForArrayWidget()

Callback to get the tooltip for the array button widget

Protected function Const

FText

 

GetToolTipForComboBoxSecondaryType()

Callback to get the tooltip text for the secondary pin type combo box

Protected function Const

FText

 

GetToolTipForComboBoxType()

Callback to get the tooltip text for the pin type combo box

Protected function Const

FText

 

GetToolTipForContainerWidget()

Callback to get the tooltip for the container type dropdown widget

Protected function

void

 

GetTypeChildren

(
    FPinTypeTreeItem InItem,
    TArray< FPinTypeTreeItem >& OutChi...
)

Protected function Const

FText

 

GetTypeDescription()

Gets a succinct type description for the type being manipulated

Protected function Const

FSlateColor

 

GetTypeIconColor()

Gets the type-specific color for the type being manipulated

Protected function Const

const FSlate...

 

GetTypeIconImage()

Gets the icon (value, array, set, or map) for the type being manipulated

Protected function Const

ECheckBoxSta...

 

IsArrayChecked()

Array checkbox support functions

Protected function

void

 

OnArrayCheckStateChanged

(
    ECheckBoxState NewState
)

Protected function

void

 

OnArrayStateToggled()

Toggles the variable type as an array

Protected function

void

 

OnContainerTypeSelectionChanged

(
    EPinContainerType PinContainerType
)

Updates the variable container type:

Protected function

void

 

OnCustomFilterChanged()

Called whenever the custom filter options are changed.

Protected function

void

 

OnFilterTextChanged

(
    const FText& NewText
)

Protected function

void

 

OnFilterTextCommitted

(
    const FText& NewText,
    ETextCommit::Type CommitInfo
)

Protected function

void

 

OnObjectReferenceSelectionChanged

(
    FObjectReferenceListItem InItem,
    ESelectInfo::Type SelectInfo,
    bool bForSecondaryType
)

Protected function

void

 

OnSelectPinType

(
    FPinTypeTreeItem InItem,
    FName InPinCategory,
    bool bForSecondaryType
)

When a pin type is selected, handle it

Protected function

void

 

OnTypeSelectionChanged

(
    FPinTypeTreeItem Selection,
    ESelectInfo::Type SelectInfo,
    bool bForSecondaryType
)

Overridden from SWidget

Name Description

Public function Virtual

FReply

 

OnMouseButtonDown

(
    const FGeometry& MyGeometry,
    const FPointerEvent& MouseEvent
)

MOUSE INPUT The system calls this method to notify the widget that a mouse button was pressed within it.

Public function Virtual

FReply

 

OnMouseButtonUp

(
    const FGeometry& MyGeometry,
    const FPointerEvent& MouseEvent
)

The system calls this method to notify the widget that a mouse button was release within it.

Public function Virtual

void

 

OnMouseLeave

(
    const FPointerEvent& MouseEvent
)

The system will use this event to notify a widget that the cursor has left it.

Classes

Name

Description

Public struct

FArguments

Enums

Name

Description

Public enum

ESelectorType

Which type of selector should be used: compact or full mode, or not a selector at all, but just the type image.