Iliad
Painting Plugin for UnrealEngine4 by Praxinos
Public Member Functions | Protected Attributes | List of all members
IOdysseyBaseLayerNode Class Referenceabstract
Inheritance diagram for IOdysseyBaseLayerNode:
FOdysseyFolderLayerNode FOdysseyImageLayerNode

Public Member Functions

 IOdysseyBaseLayerNode (FName iNodeName, FOdysseyLayerStackTree &iParentTree, TSharedPtr< IOdysseyLayer > iLayerDataPtr)
 
virtual ~IOdysseyBaseLayerNode ()
 
virtual void BuildContextMenu (FMenuBuilder &iMenuBuilder)=0
 
virtual TOptional< EItemDropZone > CanDrop (FOdysseyLayerStackNodeDragDropOp &DragDropOp, EItemDropZone ItemDropZone) const =0
 
virtual bool CanRenameNode () const
 
 DECLARE_EVENT (IOdysseyBaseLayerNode, FRequestRenameEvent)
 
virtual void Drop (const TArray< TSharedRef< IOdysseyBaseLayerNode >> &iDraggedNodes, EItemDropZone iDropZone)=0
 
virtual TSharedRef< SWidget > GenerateContainerWidgetForOutliner (const TSharedRef< SOdysseyLayerStackViewRow > &iRow)
 
virtual TSharedRef< SWidget > GenerateContainerWidgetForPropertyView ()=0
 
virtual TSharedRef< SWidget > GetCustomIconContent ()=0
 
virtual TSharedRef< SWidget > GetCustomOutlinerContent ()=0
 
virtual FText GetDisplayName () const
 
virtual FLinearColor GetDisplayNameColor () const
 
virtual FText GetDisplayNameToolTipText () const
 
virtual const FSlateBrush * GetIconBrush () const
 
virtual FSlateColor GetIconColor () const
 
TSharedPtr< IOdysseyLayer > GetLayerDataPtr () const
 
FOdysseyLayerStackModelGetLayerStack () const
 
virtual float GetNodeHeight () const =0
 
FName GetNodeName () const
 
virtual FNodePadding GetNodePadding () const =0
 
FOdysseyLayerStackTreeGetParentTree () const
 
float GetVirtualBottom () const
 
float GetVirtualTop () const
 
void Initialize (float iVirtualTop, float iVirtualBottom)
 
virtual bool IsHidden () const =0
 
bool IsHovered () const
 
virtual bool IsSelectable () const
 
void MoveNodeTo (EItemDropZone iItemDropZone, TSharedRef< IOdysseyBaseLayerNode > iCurrentNode)
 
FRequestRenameEvent & OnRenameRequested ()
 
TSharedPtr< SWidget > OnSummonContextMenu ()
 
virtual void SetDisplayName (const FText &NewDisplayName)
 

Protected Attributes

TArray< TSharedRef< IOdysseyBaseLayerNode > > mChildNodes
 
TSharedPtr< IOdysseyLayer > mLayerDataPtr
 
FName mNodeName
 
FOdysseyLayerStackTreemParentTree
 
FRequestRenameEvent mRenameRequestedEvent
 
float mVirtualBottom
 
float mVirtualTop
 

Detailed Description

Base node GUI for a layer node in the layerStack

Constructor & Destructor Documentation

◆ IOdysseyBaseLayerNode()

IOdysseyBaseLayerNode::IOdysseyBaseLayerNode ( FName  iNodeName,
FOdysseyLayerStackTree iParentTree,
TSharedPtr< IOdysseyLayer >  iLayerDataPtr 
)

Create and initialize a new instance.

Parameters
iNodeNameThe name identifier of the node
iParentNodeThe parent of this node or nullptr if this is a root node
iParentTreeThe tree this node is in

◆ ~IOdysseyBaseLayerNode()

virtual IOdysseyBaseLayerNode::~IOdysseyBaseLayerNode ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

◆ BuildContextMenu()

virtual void IOdysseyBaseLayerNode::BuildContextMenu ( FMenuBuilder &  iMenuBuilder)
pure virtual

What sort of context menu this node summons

Implemented in FOdysseyImageLayerNode, and FOdysseyFolderLayerNode.

◆ CanDrop()

virtual TOptional<EItemDropZone> IOdysseyBaseLayerNode::CanDrop ( FOdysseyLayerStackNodeDragDropOp DragDropOp,
EItemDropZone  ItemDropZone 
) const
pure virtual

Determines if there is a valid drop zone based on the current drag drop operation and the zone the items were dragged onto.

Implemented in FOdysseyImageLayerNode, and FOdysseyFolderLayerNode.

◆ CanRenameNode()

bool IOdysseyBaseLayerNode::CanRenameNode ( ) const
virtual
Returns
true if this node can be renamed, false otherwise.

◆ DECLARE_EVENT()

IOdysseyBaseLayerNode::DECLARE_EVENT ( IOdysseyBaseLayerNode  ,
FRequestRenameEvent   
)

◆ Drop()

virtual void IOdysseyBaseLayerNode::Drop ( const TArray< TSharedRef< IOdysseyBaseLayerNode >> &  iDraggedNodes,
EItemDropZone  iDropZone 
)
pure virtual

Handles a drop of items onto this display node.

Implemented in FOdysseyImageLayerNode, and FOdysseyFolderLayerNode.

◆ GenerateContainerWidgetForOutliner()

TSharedRef< SWidget > IOdysseyBaseLayerNode::GenerateContainerWidgetForOutliner ( const TSharedRef< SOdysseyLayerStackViewRow > &  iRow)
virtual
Returns
Generated outliner widget

◆ GenerateContainerWidgetForPropertyView()

virtual TSharedRef<SWidget> IOdysseyBaseLayerNode::GenerateContainerWidgetForPropertyView ( )
pure virtual
Returns
Generated Property View widget

Implemented in FOdysseyImageLayerNode, and FOdysseyFolderLayerNode.

◆ GetCustomIconContent()

virtual TSharedRef<SWidget> IOdysseyBaseLayerNode::GetCustomIconContent ( )
pure virtual
Returns
Content to display on the outliner node

Implemented in FOdysseyImageLayerNode, and FOdysseyFolderLayerNode.

◆ GetCustomOutlinerContent()

virtual TSharedRef<SWidget> IOdysseyBaseLayerNode::GetCustomOutlinerContent ( )
pure virtual
Returns
Content to display on the outliner node

Implemented in FOdysseyImageLayerNode, and FOdysseyFolderLayerNode.

◆ GetDisplayName()

FText IOdysseyBaseLayerNode::GetDisplayName ( ) const
virtual
Returns
The localized display name of this node

◆ GetDisplayNameColor()

FLinearColor IOdysseyBaseLayerNode::GetDisplayNameColor ( ) const
virtual
Returns
the color used to draw the display name.

◆ GetDisplayNameToolTipText()

FText IOdysseyBaseLayerNode::GetDisplayNameToolTipText ( ) const
virtual
Returns
the text to display for the tool tip for the display name.

◆ GetIconBrush()

const FSlateBrush * IOdysseyBaseLayerNode::GetIconBrush ( ) const
virtual
Returns
This node's representative icon

Reimplemented in FOdysseyImageLayerNode, and FOdysseyFolderLayerNode.

◆ GetIconColor()

FSlateColor IOdysseyBaseLayerNode::GetIconColor ( ) const
virtual
Returns
This node's representative color

◆ GetLayerDataPtr()

TSharedPtr< IOdysseyLayer > IOdysseyBaseLayerNode::GetLayerDataPtr ( ) const

Gets the pointer to the data contained in this node

◆ GetLayerStack()

FOdysseyLayerStackModel & IOdysseyBaseLayerNode::GetLayerStack ( ) const

Gets the layerStack that owns this node

◆ GetNodeHeight()

virtual float IOdysseyBaseLayerNode::GetNodeHeight ( ) const
pure virtual
Returns
The desired height of the node when displayed

Implemented in FOdysseyImageLayerNode, and FOdysseyFolderLayerNode.

◆ GetNodeName()

FName IOdysseyBaseLayerNode::GetNodeName ( ) const
Returns
The name of the node (for identification purposes)

◆ GetNodePadding()

virtual FNodePadding IOdysseyBaseLayerNode::GetNodePadding ( ) const
pure virtual
Returns
The desired padding of the node when displayed

Implemented in FOdysseyImageLayerNode, and FOdysseyFolderLayerNode.

◆ GetParentTree()

FOdysseyLayerStackTree & IOdysseyBaseLayerNode::GetParentTree ( ) const

Gets the parent tree that this node is in

◆ GetVirtualBottom()

float IOdysseyBaseLayerNode::GetVirtualBottom ( ) const
Returns
this node's virtual offset from the bottom of the tree*

◆ GetVirtualTop()

float IOdysseyBaseLayerNode::GetVirtualTop ( ) const
Returns
this node's virtual offset from the top of the tree

◆ Initialize()

void IOdysseyBaseLayerNode::Initialize ( float  iVirtualTop,
float  iVirtualBottom 
)

Initialize this node virtual offsets

◆ IsHidden()

bool IOdysseyBaseLayerNode::IsHidden ( ) const
pure virtual
Returns
Whether this node is explicitly hidden from the view or not

Implemented in FOdysseyImageLayerNode, and FOdysseyFolderLayerNode.

◆ IsHovered()

bool IOdysseyBaseLayerNode::IsHovered ( ) const
Returns
true if hovered, false otherwise.

◆ IsSelectable()

bool IOdysseyBaseLayerNode::IsSelectable ( ) const
virtual
Returns
Whether or not this node can be selected

◆ MoveNodeTo()

void IOdysseyBaseLayerNode::MoveNodeTo ( EItemDropZone  iItemDropZone,
TSharedRef< IOdysseyBaseLayerNode iCurrentNode 
)

Action to do when this node is moved to another node

◆ OnRenameRequested()

FRequestRenameEvent& IOdysseyBaseLayerNode::OnRenameRequested ( )
inline

◆ OnSummonContextMenu()

TSharedPtr< SWidget > IOdysseyBaseLayerNode::OnSummonContextMenu ( )

Summon context menu

◆ SetDisplayName()

void IOdysseyBaseLayerNode::SetDisplayName ( const FText &  NewDisplayName)
virtual
Parameters
NewDisplayNamethe display name to set.

Member Data Documentation

◆ mChildNodes

TArray<TSharedRef<IOdysseyBaseLayerNode> > IOdysseyBaseLayerNode::mChildNodes
protected

List of children belonging to this node

◆ mLayerDataPtr

TSharedPtr<IOdysseyLayer> IOdysseyBaseLayerNode::mLayerDataPtr
protected

The interface ptr to the data represented by this node, only used as verification purposes

◆ mNodeName

FName IOdysseyBaseLayerNode::mNodeName
protected

The name identifier of this node

◆ mParentTree

FOdysseyLayerStackTree& IOdysseyBaseLayerNode::mParentTree
protected

Parent tree that this node is in

◆ mRenameRequestedEvent

FRequestRenameEvent IOdysseyBaseLayerNode::mRenameRequestedEvent
protected

Event that is triggered when rename is requested

◆ mVirtualBottom

float IOdysseyBaseLayerNode::mVirtualBottom
protected

The virtual offset + virtual height of this item, irrespective of expansion states.

◆ mVirtualTop

float IOdysseyBaseLayerNode::mVirtualTop
protected

The virtual offset of this item from the top of the tree, irrespective of expansion states.