text: // Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
  
  #pragma once
  
  class FSequencerCommands : public TCommands<FSequencerCommands>
  {
  
  public:
  	FSequencerCommands() : TCommands<FSequencerCommands>
  	(
  		"Sequencer",
  		NSLOCTEXT("Contexts", "Sequencer", "Sequencer"),
  		NAME_None, // "MainFrame" // @todo Fix this crash
  		FEditorStyle::GetStyleSetName() // Icon Style Set
  	)
  	{}
  	
  	/** Toggle play */
  	TSharedPtr< FUICommandInfo > TogglePlay;
  
  	/** Play forward */
  	TSharedPtr< FUICommandInfo > PlayForward;
  
  	/** Rewind */
  	TSharedPtr< FUICommandInfo > Rewind;
  
  	/** Step forward */
  	TSharedPtr< FUICommandInfo > StepForward;
  
  	/** Step backward */
  	TSharedPtr< FUICommandInfo > StepBackward;
  
  	/** Step to next key */
  	TSharedPtr< FUICommandInfo > StepToNextKey;
  
  	/** Step to previous key */
  	TSharedPtr< FUICommandInfo > StepToPreviousKey;
  
  	/** Step to next camera key */
  	TSharedPtr< FUICommandInfo > StepToNextCameraKey;
  
  	/** Step to previous camera key */
  	TSharedPtr< FUICommandInfo > StepToPreviousCameraKey;
  
  	/** Expand/collapse nodes */
  	TSharedPtr< FUICommandInfo > ToggleExpandCollapseNodes;
  
  	/** Expand/collapse nodes and descendants */
  	TSharedPtr< FUICommandInfo > ToggleExpandCollapseNodesAndDescendants;
  
  	/** Sets a key at the current time for the selected actor */
  	TSharedPtr< FUICommandInfo > SetKey;
  
  	/** Turns auto keying on and off. */
  	TSharedPtr< FUICommandInfo > ToggleAutoKeyEnabled;
  
  	/** Turns snapping on and off. */
  	TSharedPtr< FUICommandInfo > ToggleIsSnapEnabled;
  
  	/** Toggles whether or not keys should snap to the selected interval. */
  	TSharedPtr< FUICommandInfo > ToggleSnapKeyTimesToInterval;
  
  	/** Toggles whether or not keys should snap to other keys in the section. */
  	TSharedPtr< FUICommandInfo > ToggleSnapKeyTimesToKeys;
  
  	/** Toggles whether or not sections should snap to the selected interval. */
  	TSharedPtr< FUICommandInfo > ToggleSnapSectionTimesToInterval;
  
  	/** Toggles whether or not sections should snap to other sections. */
  	TSharedPtr< FUICommandInfo > ToggleSnapSectionTimesToSections;
  
  	/** Toggles whether or not the play time should snap to the selected interval. */
  	TSharedPtr< FUICommandInfo > ToggleSnapPlayTimeToInterval;
  
  	/** Toggles whether or not the play time should snap to the dragged key. */
  	TSharedPtr< FUICommandInfo > ToggleSnapPlayTimeToDraggedKey;
  
  	/** Toggles whether or not to snap curve values to the interval. */
  	TSharedPtr< FUICommandInfo > ToggleSnapCurveValueToInterval;
  
  	/** Toggles whether the "clean view" is enabled in the level editor. */
  	TSharedPtr< FUICommandInfo > ToggleCleanView;
  	
  	/** Turns auto scroll on and off. */
  	TSharedPtr< FUICommandInfo > ToggleAutoScroll;
  
  	/** Toggles whether or not the curve editor should be shown. */
  	TSharedPtr< FUICommandInfo > ToggleShowCurveEditor;
  
  	/**
  	 * Initialize commands
  	 */
  	virtual void RegisterCommands() override;
  };
  