// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreTypes.h" #include "Framework/Commands/Commands.h" #include "Internationalization/Internationalization.h" #include "Styling/AppStyle.h" #include "Templates/SharedPointer.h" #include "UObject/NameTypes.h" #include "UObject/UnrealNames.h" class FUICommandInfo; /** * Defines commands for SCurveEditorPanel (and UnrealEd::SCurveEditor) */ class CURVEEDITOR_API FCurveEditorCommands : public TCommands { public: FCurveEditorCommands() : TCommands ( TEXT("GenericCurveEditor"), NSLOCTEXT("Contexts", "GenericCurveEditor", "Curve Editor"), NAME_None, FAppStyle::GetAppStyleSetName() ) { } TSharedPtr ZoomToFitHorizontal; TSharedPtr ZoomToFitVertical; TSharedPtr ZoomToFit; TSharedPtr ZoomToFitAll; TSharedPtr ToggleInputSnapping; TSharedPtr ToggleOutputSnapping; TSharedPtr FlipCurveHorizontal; TSharedPtr FlipCurveVertical; TSharedPtr ToggleExpandCollapseNodes; TSharedPtr ToggleExpandCollapseNodesAndDescendants; TSharedPtr InterpolationConstant; TSharedPtr InterpolationLinear; TSharedPtr InterpolationCubicAuto; TSharedPtr InterpolationCubicSmartAuto; TSharedPtr InterpolationCubicUser; TSharedPtr InterpolationCubicBreak; TSharedPtr InterpolationToggleWeighted; TSharedPtr FlattenTangents; TSharedPtr StraightenTangents; TSharedPtr SmartSnapKeys; TSharedPtr< FUICommandInfo > MatchLastTangentToFirst; TSharedPtr< FUICommandInfo > MatchFirstTangentToLast; TSharedPtr BakeCurve; TSharedPtr ReduceCurve; TSharedPtr SetPreInfinityExtrapCycle; TSharedPtr SetPreInfinityExtrapCycleWithOffset; TSharedPtr SetPreInfinityExtrapOscillate; TSharedPtr SetPreInfinityExtrapLinear; TSharedPtr SetPreInfinityExtrapConstant; TSharedPtr SetPostInfinityExtrapCycle; TSharedPtr SetPostInfinityExtrapCycleWithOffset; TSharedPtr SetPostInfinityExtrapOscillate; TSharedPtr SetPostInfinityExtrapLinear; TSharedPtr SetPostInfinityExtrapConstant; TSharedPtr SetAllTangentsVisibility; TSharedPtr SetSelectedKeysTangentVisibility; TSharedPtr SetNoTangentsVisibility; TSharedPtr ToggleAutoFrameCurveEditor; TSharedPtr ToggleSnapTimeToSelection; TSharedPtr ToggleShowBufferedCurves; TSharedPtr ToggleShowCurveEditorCurveToolTips; TSharedPtr ToggleShowBars; TSharedPtr ToggleShowValueIndicatorLines; TSharedPtr SetRandomCurveColorsForSelected; TSharedPtr SetCurveColorsForSelected; TSharedPtr AddKeyHovered; TSharedPtr PasteKeysHovered; TSharedPtr PasteAndMerge; TSharedPtr PasteRelative; TSharedPtr AddKeyToAllCurves; TSharedPtr SetViewModeAbsolute; TSharedPtr SetViewModeStacked; TSharedPtr SetViewModeNormalized; TSharedPtr DeactivateCurrentTool; TSharedPtr SelectAllKeys; TSharedPtr DeselectAllKeys; TSharedPtr SelectForward; TSharedPtr SelectBackward; TSharedPtr SelectNone; TSharedPtr InvertSelection; TSharedPtr BufferVisibleCurves; TSharedPtr SwapBufferedCurves; TSharedPtr ApplyBufferedCurves; // User Filtering TSharedPtr OpenUserImplementableFilterWindow; // Axis Snapping TSharedPtr SetAxisSnappingNone; TSharedPtr SetAxisSnappingHorizontal; TSharedPtr SetAxisSnappingVertical; //Key Movement TSharedPtr TranslateSelectedKeysLeft; TSharedPtr TranslateSelectedKeysRight; // Time Management TSharedPtr ScrubTime; // Selection Range TSharedPtr< FUICommandInfo > SetSelectionRangeStart; TSharedPtr< FUICommandInfo > SetSelectionRangeEnd; TSharedPtr< FUICommandInfo > ClearSelectionRange; public: virtual void RegisterCommands() override; };