Files
UnrealEngine/Engine/Source/Editor/SkeletonEditor/Private/SkeletonTreeCommands.h
2025-05-18 13:04:45 +08:00

132 lines
3.7 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Framework/Commands/Commands.h"
#include "HAL/Platform.h"
#include "Internationalization/Internationalization.h"
#include "Styling/AppStyle.h"
#include "Templates/SharedPointer.h"
#include "UObject/NameTypes.h"
#include "UObject/UnrealNames.h"
class FUICommandInfo;
/**
* Class containing commands for skeleton tree actions
*/
class FSkeletonTreeCommands : public TCommands<FSkeletonTreeCommands>
{
public:
FSkeletonTreeCommands()
: TCommands<FSkeletonTreeCommands>
(
TEXT("SkeletonTree"), // Context name for fast lookup
NSLOCTEXT("Contexts", "SkelTree", "Skeleton Tree"), // Localized context name for displaying
NAME_None, // Parent context name.
FAppStyle::GetAppStyleSetName() // Icon Style Set
)
{
}
/** Initialize commands */
virtual void RegisterCommands() override;
/** Show all bones in the tree */
TSharedPtr< FUICommandInfo > ShowAllBones;
/** Show only bones that are present in the current mesh */
TSharedPtr< FUICommandInfo > ShowMeshBones;
/** Show only bones that are present in the current LOD */
TSharedPtr< FUICommandInfo > ShowLODBones;
/** Show only bones that have weighted vertices */
TSharedPtr< FUICommandInfo > ShowWeightedBones;
/** Hide all bones */
TSharedPtr< FUICommandInfo > HideBones;
/** Show retargeting options */
TSharedPtr< FUICommandInfo > ShowRetargeting;
/** Show debug visualization options */
TSharedPtr< FUICommandInfo > ShowDebugVisualization;
/** Flatten hierarchy on filter */
TSharedPtr< FUICommandInfo > FilteringFlattensHierarchy;
/** Hide parents on filter */
TSharedPtr< FUICommandInfo > HideParentsWhenFiltering;
/** Show bone numbers */
TSharedPtr< FUICommandInfo > ShowBoneIndex;
/** Add a socket to the skeleton */
TSharedPtr< FUICommandInfo > AddSocket;
/** Customize a socket for a mesh */
TSharedPtr< FUICommandInfo > CreateMeshSocket;
/** Remove customization for a socket (actually just deletes the mesh socket) */
TSharedPtr< FUICommandInfo > RemoveMeshSocket;
/** Promotes a mesh-only socket to the skeleton */
TSharedPtr< FUICommandInfo > PromoteSocketToSkeleton;
/** Delete selected rows (deletes any sockets or assets selected in the tree */
TSharedPtr< FUICommandInfo > DeleteSelectedRows;
/** Show active sockets */
TSharedPtr< FUICommandInfo > ShowActiveSockets;
/** Show skeletal mesh sockets */
TSharedPtr< FUICommandInfo > ShowMeshSockets;
/** Show skeleton sockets */
TSharedPtr< FUICommandInfo > ShowSkeletonSockets;
/** Show all sockets */
TSharedPtr< FUICommandInfo > ShowAllSockets;
/** Hide all sockets */
TSharedPtr< FUICommandInfo > HideSockets;
/** Copy bone names */
TSharedPtr< FUICommandInfo > CopyBoneNames;
/** Reset selected bones transforms */
TSharedPtr< FUICommandInfo > ResetBoneTransforms;
/** Reset all bones transforms */
TSharedPtr< FUICommandInfo > ResetAllBonesTransforms;
/** Copy sockets to clipboard */
TSharedPtr< FUICommandInfo > CopySockets;
/** Paste sockets from clipboard */
TSharedPtr< FUICommandInfo > PasteSockets;
/** Paste sockets from clipboard */
TSharedPtr< FUICommandInfo > PasteSocketsToSelectedBone;
/** Focus the camera on the current selection */
TSharedPtr< FUICommandInfo > FocusCamera;
/** Create a new blend profile with time mode*/
TSharedPtr< FUICommandInfo > CreateTimeBlendProfile;
/** Create a new blend profile with weight mode*/
TSharedPtr< FUICommandInfo > CreateWeightBlendProfile;
/** Create a new blend mask */
TSharedPtr< FUICommandInfo > CreateBlendMask;
/** Remove the currently active blend profile */
TSharedPtr< FUICommandInfo > DeleteCurrentBlendProfile;
/** Rename an existing BlendProfile */
TSharedPtr< FUICommandInfo > RenameBlendProfile;
};