2016-12-08 08:52:44 -05:00
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
2014-12-06 19:14:20 -05:00
2014-11-19 07:43:07 -05:00
# include "SVisualLoggerView.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
# include "Framework/Application/SlateApplication.h"
# include "Widgets/Layout/SSpacer.h"
# include "Widgets/Images/SImage.h"
# include "Widgets/Layout/SBox.h"
# include "Framework/MultiBox/MultiBoxBuilder.h"
# include "LogVisualizerSettings.h"
# include "LogVisualizerStyle.h"
# include "SVisualLoggerSectionOverlay.h"
# include "SVisualLoggerTimeline.h"
# include "SVisualLoggerTimelinesContainer.h"
2014-11-19 07:43:07 -05:00
# include "ITimeSlider.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
# include "SVisualLoggerTimeSlider.h"
# include "VisualLoggerTimeSliderController.h"
# include "Widgets/Input/SSearchBox.h"
Copying //UE4/Dev-Sequencer to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2859626 on 2016/02/08 by Max.Preussner
Editor: Added SaveAs functionality to content asset editors
Change 2859666 on 2016/02/08 by Max.Chen
Sequencer: Fix crash in CheckForWorldGCLeaks when loading a new map because spawnables are left behind.
#jira UE-25616
Change 2859685 on 2016/02/08 by Max.Chen
Sequencer: Add prompt to save sub level sequences if they are dirty
#jira UE-26510
Change 2859715 on 2016/02/08 by Thomas.Sarkanen
Adding actor spawning recording
Actors are queued for record on spawn then added to the list like manually-specifed ones.
Changed almost everything about UActorRecording. We now record on a per-component basis, with property tracks encapsulated in each actor recording. Much effort is expended to make sure that the correct components are owned by their respective actors, as we can add and remove components at runtime, but they must be created up-front in the UMovieScene Blueprints. We go as far as to add our own SCS nodes to make sure components are correctly spawned.
Fixed infinite loop in FSequencer::AddSpawnable.
Fixed visibility track instance to work with scene components as well as actors.
Fixed particle track instance to work on UParticleSystemComponent rather than just AEmitters.
Added particle recorder.
Moved animation recording into an animation property recorder rather than having it as a special case. This still uses the animation recorder under the hood.
Moved old-style Matinee animation control into FMovieSceneSkeletalAnimationTrackInstance & made this work on USkeletalMeshComponents directly, rather than via the old interface.
Exposed SetMatineeAnimPositionInner and PreviewMatineeSetAnimPositionInner in FAnimMontageInstance so those utility functions can be used externally to Engine.
Added a predicate version of UMovieScene::FindPossessable.
Exposed UMovieSceneParticleSection::AddKey externally via MOVIESCENETRACKS_API so I can programmatically add keys.
Fixed a crash in FScalableFloatDetails::CustomizeHeader when selecting PIE projectiles in Orion.
Moved all recorders over to recording Actors or Components & store UObjects instead of AActors.
Allowed skeletal animation tracks on components as well as actors.
Change 2862675 on 2016/02/10 by Max.Chen
Sequencer: Add option to link the sequencer curve editor with the sequencer timeline.
Under General Options->Link Curve Editor Time Range. The default is false, so the sequencer and curve editor have separate time ranges.
#jira UE-25933
Change 2862699 on 2016/02/11 by Max.Chen
Sequencer: Added a playback status of jumping which the AudioTrack and Skeletal Mesh Track (anim notifies) ignores for updates. This is used to updating thumbnail at certain times.
#jira UE-26447, UE-26671
Change 2862712 on 2016/02/11 by Max.Chen
Sequencer: Fix spawnables firing off their particles. Disable auto activate on spawnable components
#jira UE-26390
Change 2862719 on 2016/02/11 by Max.Preussner
Editor: Refactored detail customizations for colors, rotators, vectors
- broke color and rotator customizations out into their own files
- added vector customizations (placeholder)
- cleaned up localization namespaces, forward declarations
Change 2866454 on 2016/02/14 by Max.Preussner
Sequencer: Removed ULevelEditorSequencerSettings; moved default settings into INI
Change 2866455 on 2016/02/14 by Thomas.Sarkanen
Sequence recorder can now record replays
Added extra edtior-only UI to the replay playback controls to record sequences. Curretnly very placeholder: only records the entire sequence and provides no feedback in the UI if it is recording.
Fixed bindings to recorded objects not working in various circumstances. Added the ability to manually create a binding.
Recompiled actor blueprints post-record if we added components.
Fixed a null ptr dereference in FOrionTeamUIInfo::Update.
Removed tolerances when reducing tracks - they are now 'very small'.
Added actor filter so actors of certain classes can be recorded.
Change 2866458 on 2016/02/14 by Max.Chen
Sequencer: Fix anim notifies that fire at shot cuts. Anim notifies are fired from the last position to the current position. When jumping cuts, we want the delta to be 0 so that the anim notifies before the shot are not fired off.
#jira UE-26390, UE-26671
Change 2866459 on 2016/02/14 by Max.Chen
Sequencer: Add option to toggle visibility of combined keys
Change 2866466 on 2016/02/14 by Frank.Fella
Sequencer - Add a track for controlling streamed level visibilty and remove visibility code from the master level blueprint.
Change 2866470 on 2016/02/14 by Max.Chen
Sequencer: Add return value to indicate data has changed when a section has been added. This fixes a bug where creating a new section doesn't seem to add a key.
#jira UE-26837
Change 2866481 on 2016/02/14 by Max.Preussner
Sequencer: Implemented Presets for adding tracks automatically based on actor type (UE-24513)
#Jira: UE-24513
Change 2866482 on 2016/02/14 by Max.Chen
Sequencer: Allow for any actor that has a camera component to be a camera cut.
#jira UE-26777
Change 2866484 on 2016/02/14 by Thomas.Sarkanen
Added in/out times to sequence recording
Also added the optional ability to record different actor types (heroes, projectiles, minions).
Change 2866495 on 2016/02/14 by Max.Chen
Sequencer: Need to limit camera control to the section bounds of the camera cut otherwise, control won't be relinquished back to player at the end of the playback.
#jira UE-26886
[CL 2874647 by Max Chen in Main branch]
2016-02-19 21:36:27 -05:00
2014-11-19 07:43:07 -05:00
# define LOCTEXT_NAMESPACE "SVisualLoggerFilters"
Copying //UE4/Dev-Sequencer to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2859626 on 2016/02/08 by Max.Preussner
Editor: Added SaveAs functionality to content asset editors
Change 2859666 on 2016/02/08 by Max.Chen
Sequencer: Fix crash in CheckForWorldGCLeaks when loading a new map because spawnables are left behind.
#jira UE-25616
Change 2859685 on 2016/02/08 by Max.Chen
Sequencer: Add prompt to save sub level sequences if they are dirty
#jira UE-26510
Change 2859715 on 2016/02/08 by Thomas.Sarkanen
Adding actor spawning recording
Actors are queued for record on spawn then added to the list like manually-specifed ones.
Changed almost everything about UActorRecording. We now record on a per-component basis, with property tracks encapsulated in each actor recording. Much effort is expended to make sure that the correct components are owned by their respective actors, as we can add and remove components at runtime, but they must be created up-front in the UMovieScene Blueprints. We go as far as to add our own SCS nodes to make sure components are correctly spawned.
Fixed infinite loop in FSequencer::AddSpawnable.
Fixed visibility track instance to work with scene components as well as actors.
Fixed particle track instance to work on UParticleSystemComponent rather than just AEmitters.
Added particle recorder.
Moved animation recording into an animation property recorder rather than having it as a special case. This still uses the animation recorder under the hood.
Moved old-style Matinee animation control into FMovieSceneSkeletalAnimationTrackInstance & made this work on USkeletalMeshComponents directly, rather than via the old interface.
Exposed SetMatineeAnimPositionInner and PreviewMatineeSetAnimPositionInner in FAnimMontageInstance so those utility functions can be used externally to Engine.
Added a predicate version of UMovieScene::FindPossessable.
Exposed UMovieSceneParticleSection::AddKey externally via MOVIESCENETRACKS_API so I can programmatically add keys.
Fixed a crash in FScalableFloatDetails::CustomizeHeader when selecting PIE projectiles in Orion.
Moved all recorders over to recording Actors or Components & store UObjects instead of AActors.
Allowed skeletal animation tracks on components as well as actors.
Change 2862675 on 2016/02/10 by Max.Chen
Sequencer: Add option to link the sequencer curve editor with the sequencer timeline.
Under General Options->Link Curve Editor Time Range. The default is false, so the sequencer and curve editor have separate time ranges.
#jira UE-25933
Change 2862699 on 2016/02/11 by Max.Chen
Sequencer: Added a playback status of jumping which the AudioTrack and Skeletal Mesh Track (anim notifies) ignores for updates. This is used to updating thumbnail at certain times.
#jira UE-26447, UE-26671
Change 2862712 on 2016/02/11 by Max.Chen
Sequencer: Fix spawnables firing off their particles. Disable auto activate on spawnable components
#jira UE-26390
Change 2862719 on 2016/02/11 by Max.Preussner
Editor: Refactored detail customizations for colors, rotators, vectors
- broke color and rotator customizations out into their own files
- added vector customizations (placeholder)
- cleaned up localization namespaces, forward declarations
Change 2866454 on 2016/02/14 by Max.Preussner
Sequencer: Removed ULevelEditorSequencerSettings; moved default settings into INI
Change 2866455 on 2016/02/14 by Thomas.Sarkanen
Sequence recorder can now record replays
Added extra edtior-only UI to the replay playback controls to record sequences. Curretnly very placeholder: only records the entire sequence and provides no feedback in the UI if it is recording.
Fixed bindings to recorded objects not working in various circumstances. Added the ability to manually create a binding.
Recompiled actor blueprints post-record if we added components.
Fixed a null ptr dereference in FOrionTeamUIInfo::Update.
Removed tolerances when reducing tracks - they are now 'very small'.
Added actor filter so actors of certain classes can be recorded.
Change 2866458 on 2016/02/14 by Max.Chen
Sequencer: Fix anim notifies that fire at shot cuts. Anim notifies are fired from the last position to the current position. When jumping cuts, we want the delta to be 0 so that the anim notifies before the shot are not fired off.
#jira UE-26390, UE-26671
Change 2866459 on 2016/02/14 by Max.Chen
Sequencer: Add option to toggle visibility of combined keys
Change 2866466 on 2016/02/14 by Frank.Fella
Sequencer - Add a track for controlling streamed level visibilty and remove visibility code from the master level blueprint.
Change 2866470 on 2016/02/14 by Max.Chen
Sequencer: Add return value to indicate data has changed when a section has been added. This fixes a bug where creating a new section doesn't seem to add a key.
#jira UE-26837
Change 2866481 on 2016/02/14 by Max.Preussner
Sequencer: Implemented Presets for adding tracks automatically based on actor type (UE-24513)
#Jira: UE-24513
Change 2866482 on 2016/02/14 by Max.Chen
Sequencer: Allow for any actor that has a camera component to be a camera cut.
#jira UE-26777
Change 2866484 on 2016/02/14 by Thomas.Sarkanen
Added in/out times to sequence recording
Also added the optional ability to record different actor types (heroes, projectiles, minions).
Change 2866495 on 2016/02/14 by Max.Chen
Sequencer: Need to limit camera control to the section bounds of the camera cut otherwise, control won't be relinquished back to player at the end of the playback.
#jira UE-26886
[CL 2874647 by Max Chen in Main branch]
2016-02-19 21:36:27 -05:00
2014-12-10 09:22:32 -05:00
class SInputCatcherOverlay : public SOverlay
{
public :
2015-01-29 19:21:24 -05:00
void Construct ( const FArguments & InArgs , TSharedRef < class FVisualLoggerTimeSliderController > InTimeSliderController )
2014-12-10 09:22:32 -05:00
{
SOverlay : : Construct ( InArgs ) ;
TimeSliderController = InTimeSliderController ;
}
/** Controller for manipulating time */
2015-01-29 19:21:24 -05:00
TSharedPtr < class FVisualLoggerTimeSliderController > TimeSliderController ;
2014-12-10 09:22:32 -05:00
private :
/** SWidget Interface */
virtual FReply OnMouseButtonDown ( const FGeometry & MyGeometry , const FPointerEvent & MouseEvent ) override ;
virtual FReply OnMouseButtonUp ( const FGeometry & MyGeometry , const FPointerEvent & MouseEvent ) override ;
virtual FReply OnMouseMove ( const FGeometry & MyGeometry , const FPointerEvent & MouseEvent ) override ;
virtual FReply OnMouseWheel ( const FGeometry & MyGeometry , const FPointerEvent & MouseEvent ) override ;
private :
} ;
FReply SInputCatcherOverlay : : OnMouseButtonDown ( const FGeometry & MyGeometry , const FPointerEvent & MouseEvent )
{
if ( MouseEvent . GetEffectingButton ( ) ! = EKeys : : LeftMouseButton )
{
2015-11-09 19:35:15 -05:00
return TimeSliderController - > OnMouseButtonDown ( * this , MyGeometry , MouseEvent ) ;
2014-12-10 09:22:32 -05:00
}
return FReply : : Unhandled ( ) ;
}
FReply SInputCatcherOverlay : : OnMouseButtonUp ( const FGeometry & MyGeometry , const FPointerEvent & MouseEvent )
{
if ( MouseEvent . GetEffectingButton ( ) ! = EKeys : : LeftMouseButton )
{
2015-11-09 19:35:15 -05:00
return TimeSliderController - > OnMouseButtonUp ( * this , MyGeometry , MouseEvent ) ;
2014-12-10 09:22:32 -05:00
}
return FReply : : Unhandled ( ) ;
}
FReply SInputCatcherOverlay : : OnMouseMove ( const FGeometry & MyGeometry , const FPointerEvent & MouseEvent )
{
2015-11-09 19:35:15 -05:00
return TimeSliderController - > OnMouseMove ( * this , MyGeometry , MouseEvent ) ;
2014-12-10 09:22:32 -05:00
}
FReply SInputCatcherOverlay : : OnMouseWheel ( const FGeometry & MyGeometry , const FPointerEvent & MouseEvent )
{
if ( MouseEvent . IsLeftShiftDown ( ) | | MouseEvent . IsLeftControlDown ( ) )
{
2015-11-09 19:35:15 -05:00
return TimeSliderController - > OnMouseWheel ( * this , MyGeometry , MouseEvent ) ;
2014-12-10 09:22:32 -05:00
}
return FReply : : Unhandled ( ) ;
}
2015-01-15 06:19:24 -05:00
void SVisualLoggerView : : Construct ( const FArguments & InArgs , const TSharedRef < FUICommandList > & InCommandList )
2014-11-19 07:43:07 -05:00
{
AnimationOutlinerFillPercentage = .25f ;
2014-12-10 09:22:32 -05:00
TSharedRef < SScrollBar > ZoomScrollBar =
SNew ( SScrollBar )
. Orientation ( EOrientation : : Orient_Horizontal )
. Thickness ( FVector2D ( 2.0f , 2.0f ) ) ;
ZoomScrollBar - > SetState ( 0.0f , 1.0f ) ;
2015-01-15 06:19:24 -05:00
FLogVisualizer : : Get ( ) . GetTimeSliderController ( ) - > SetExternalScrollbar ( ZoomScrollBar ) ;
2014-11-19 07:43:07 -05:00
// Create the top and bottom sliders
const bool bMirrorLabels = true ;
Copying //UE4/Dev-Sequencer to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2859626 on 2016/02/08 by Max.Preussner
Editor: Added SaveAs functionality to content asset editors
Change 2859666 on 2016/02/08 by Max.Chen
Sequencer: Fix crash in CheckForWorldGCLeaks when loading a new map because spawnables are left behind.
#jira UE-25616
Change 2859685 on 2016/02/08 by Max.Chen
Sequencer: Add prompt to save sub level sequences if they are dirty
#jira UE-26510
Change 2859715 on 2016/02/08 by Thomas.Sarkanen
Adding actor spawning recording
Actors are queued for record on spawn then added to the list like manually-specifed ones.
Changed almost everything about UActorRecording. We now record on a per-component basis, with property tracks encapsulated in each actor recording. Much effort is expended to make sure that the correct components are owned by their respective actors, as we can add and remove components at runtime, but they must be created up-front in the UMovieScene Blueprints. We go as far as to add our own SCS nodes to make sure components are correctly spawned.
Fixed infinite loop in FSequencer::AddSpawnable.
Fixed visibility track instance to work with scene components as well as actors.
Fixed particle track instance to work on UParticleSystemComponent rather than just AEmitters.
Added particle recorder.
Moved animation recording into an animation property recorder rather than having it as a special case. This still uses the animation recorder under the hood.
Moved old-style Matinee animation control into FMovieSceneSkeletalAnimationTrackInstance & made this work on USkeletalMeshComponents directly, rather than via the old interface.
Exposed SetMatineeAnimPositionInner and PreviewMatineeSetAnimPositionInner in FAnimMontageInstance so those utility functions can be used externally to Engine.
Added a predicate version of UMovieScene::FindPossessable.
Exposed UMovieSceneParticleSection::AddKey externally via MOVIESCENETRACKS_API so I can programmatically add keys.
Fixed a crash in FScalableFloatDetails::CustomizeHeader when selecting PIE projectiles in Orion.
Moved all recorders over to recording Actors or Components & store UObjects instead of AActors.
Allowed skeletal animation tracks on components as well as actors.
Change 2862675 on 2016/02/10 by Max.Chen
Sequencer: Add option to link the sequencer curve editor with the sequencer timeline.
Under General Options->Link Curve Editor Time Range. The default is false, so the sequencer and curve editor have separate time ranges.
#jira UE-25933
Change 2862699 on 2016/02/11 by Max.Chen
Sequencer: Added a playback status of jumping which the AudioTrack and Skeletal Mesh Track (anim notifies) ignores for updates. This is used to updating thumbnail at certain times.
#jira UE-26447, UE-26671
Change 2862712 on 2016/02/11 by Max.Chen
Sequencer: Fix spawnables firing off their particles. Disable auto activate on spawnable components
#jira UE-26390
Change 2862719 on 2016/02/11 by Max.Preussner
Editor: Refactored detail customizations for colors, rotators, vectors
- broke color and rotator customizations out into their own files
- added vector customizations (placeholder)
- cleaned up localization namespaces, forward declarations
Change 2866454 on 2016/02/14 by Max.Preussner
Sequencer: Removed ULevelEditorSequencerSettings; moved default settings into INI
Change 2866455 on 2016/02/14 by Thomas.Sarkanen
Sequence recorder can now record replays
Added extra edtior-only UI to the replay playback controls to record sequences. Curretnly very placeholder: only records the entire sequence and provides no feedback in the UI if it is recording.
Fixed bindings to recorded objects not working in various circumstances. Added the ability to manually create a binding.
Recompiled actor blueprints post-record if we added components.
Fixed a null ptr dereference in FOrionTeamUIInfo::Update.
Removed tolerances when reducing tracks - they are now 'very small'.
Added actor filter so actors of certain classes can be recorded.
Change 2866458 on 2016/02/14 by Max.Chen
Sequencer: Fix anim notifies that fire at shot cuts. Anim notifies are fired from the last position to the current position. When jumping cuts, we want the delta to be 0 so that the anim notifies before the shot are not fired off.
#jira UE-26390, UE-26671
Change 2866459 on 2016/02/14 by Max.Chen
Sequencer: Add option to toggle visibility of combined keys
Change 2866466 on 2016/02/14 by Frank.Fella
Sequencer - Add a track for controlling streamed level visibilty and remove visibility code from the master level blueprint.
Change 2866470 on 2016/02/14 by Max.Chen
Sequencer: Add return value to indicate data has changed when a section has been added. This fixes a bug where creating a new section doesn't seem to add a key.
#jira UE-26837
Change 2866481 on 2016/02/14 by Max.Preussner
Sequencer: Implemented Presets for adding tracks automatically based on actor type (UE-24513)
#Jira: UE-24513
Change 2866482 on 2016/02/14 by Max.Chen
Sequencer: Allow for any actor that has a camera component to be a camera cut.
#jira UE-26777
Change 2866484 on 2016/02/14 by Thomas.Sarkanen
Added in/out times to sequence recording
Also added the optional ability to record different actor types (heroes, projectiles, minions).
Change 2866495 on 2016/02/14 by Max.Chen
Sequencer: Need to limit camera control to the section bounds of the camera cut otherwise, control won't be relinquished back to player at the end of the playback.
#jira UE-26886
[CL 2874647 by Max Chen in Main branch]
2016-02-19 21:36:27 -05:00
TSharedRef < ITimeSlider > TopTimeSlider = SNew ( SVisualLoggerTimeSlider , FLogVisualizer : : Get ( ) . GetTimeSliderController ( ) . ToSharedRef ( ) ) . MirrorLabels ( bMirrorLabels ) ;
TSharedRef < ITimeSlider > BottomTimeSlider = SNew ( SVisualLoggerTimeSlider , FLogVisualizer : : Get ( ) . GetTimeSliderController ( ) . ToSharedRef ( ) ) . MirrorLabels ( bMirrorLabels ) ;
2014-11-19 07:43:07 -05:00
TSharedRef < SScrollBar > ScrollBar =
SNew ( SScrollBar )
2014-12-10 09:22:32 -05:00
. Thickness ( FVector2D ( 2.0f , 2.0f ) ) ;
2014-11-19 07:43:07 -05:00
2014-12-04 10:00:51 -05:00
ULogVisualizerSettings * Settings = ULogVisualizerSettings : : StaticClass ( ) - > GetDefaultObject < ULogVisualizerSettings > ( ) ;
2014-11-19 07:43:07 -05:00
ChildSlot
[
SNew ( SBorder )
. Padding ( 2 )
. BorderImage ( FLogVisualizerStyle : : Get ( ) . GetBrush ( " ToolPanel.GroupBorder " ) )
[
2014-12-11 09:34:00 -05:00
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. FillWidth ( 1.0f )
2014-11-19 07:43:07 -05:00
[
SNew ( SVerticalBox )
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
[
SAssignNew ( SearchSplitter , SSplitter )
. Orientation ( Orient_Horizontal )
. OnSplitterFinishedResizing ( this , & SVisualLoggerView : : OnSearchSplitterResized )
2015-08-27 05:21:28 -04:00
2014-11-19 07:43:07 -05:00
+ SSplitter : : Slot ( )
. Value ( 0.25 )
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. Padding ( FMargin ( 0 ) )
2014-12-18 08:37:06 -05:00
. AutoWidth ( )
. HAlign ( HAlign_Center )
2014-11-19 07:43:07 -05:00
. VAlign ( VAlign_Center )
2014-12-18 08:37:06 -05:00
[
SNew ( SImage )
2015-08-27 05:21:28 -04:00
. Visibility_Lambda ( [ ] ( ) - > EVisibility { return FVisualLoggerFilters : : Get ( ) . GetSelectedObjects ( ) . Num ( ) > 0 ? EVisibility : : Visible : EVisibility : : Collapsed ; } )
2014-12-18 08:37:06 -05:00
. Image ( FLogVisualizerStyle : : Get ( ) . GetBrush ( " Filters.FilterIcon " ) )
]
+ SHorizontalBox : : Slot ( )
. Padding ( FMargin ( 0 ) )
. HAlign ( HAlign_Right )
. AutoWidth ( )
[
SAssignNew ( ClassesComboButton , SComboButton )
2015-08-27 05:21:28 -04:00
. Visibility_Lambda ( [ this ] ( ) - > EVisibility { return TimelinesContainer . IsValid ( ) & & ( TimelinesContainer - > GetAllNodes ( ) . Num ( ) > 1 | | FVisualLoggerFilters : : Get ( ) . GetSelectedObjects ( ) . Num ( ) > 0 ) ? EVisibility : : Visible : EVisibility : : Collapsed ; } )
2014-12-18 08:37:06 -05:00
. ComboButtonStyle ( FLogVisualizerStyle : : Get ( ) , " Filters.Style " )
. ForegroundColor ( FLinearColor : : White )
. ContentPadding ( 0 )
. OnGetMenuContent ( this , & SVisualLoggerView : : MakeClassesFilterMenu )
. ToolTipText ( LOCTEXT ( " SetFilterByClasses " , " Select classes to show " ) )
. HasDownArrow ( true )
. ContentPadding ( FMargin ( 1 , 0 ) )
. ButtonContent ( )
[
SNew ( STextBlock )
. TextStyle ( FLogVisualizerStyle : : Get ( ) , " Filters.Text " )
. Text ( LOCTEXT ( " FilterClasses " , " Classes " ) )
]
]
+ SHorizontalBox : : Slot ( )
. Padding ( FMargin ( 0 ) )
. HAlign ( HAlign_Fill )
. FillWidth ( 1 )
2014-11-19 07:43:07 -05:00
[
SNew ( SBox )
. Padding ( FMargin ( 0 , 0 , 4 , 0 ) )
[
// Search box for searching through the outliner
SNew ( SSearchBox )
. OnTextChanged ( this , & SVisualLoggerView : : OnSearchChanged )
]
]
]
+ SSplitter : : Slot ( )
. Value ( 0.75 )
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
[
#if 0 //top time slider disabled to test idea with filter's search box
SNew ( SBorder )
. Padding ( FMargin ( 0.0f , 2.0f , 0.0f , 0.0f ) )
. BorderImage ( FLogVisualizerStyle : : Get ( ) . GetBrush ( " ToolPanel.GroupBorder " ) )
. BorderBackgroundColor ( FLinearColor ( .50f , .50f , .50f , 1.0f ) )
[
TopTimeSlider
]
# else
SNew ( SBox )
. Padding ( FMargin ( 0 , 0 , 4 , 0 ) )
[
2014-12-08 08:20:42 -05:00
SAssignNew ( SearchBox , SSearchBox )
2014-11-19 07:43:07 -05:00
. OnTextChanged ( InArgs . _OnFiltersSearchChanged )
2016-01-07 04:39:47 -05:00
. HintText_Lambda ( [ Settings ] ( ) - > FText { return Settings - > bSearchInsideLogs ? LOCTEXT ( " DataFiltersSearchHint " , " Log Data Search " ) : LOCTEXT ( " CategoryFiltersSearchHint " , " Log Category Search " ) ; } )
2014-11-19 07:43:07 -05:00
]
# endif
]
]
]
+ SVerticalBox : : Slot ( )
. FillHeight ( 1.0 )
[
2015-01-15 06:19:24 -05:00
SNew ( SInputCatcherOverlay , FLogVisualizer : : Get ( ) . GetTimeSliderController ( ) . ToSharedRef ( ) )
2014-11-19 07:43:07 -05:00
+ SOverlay : : Slot ( )
[
2015-01-15 06:19:24 -05:00
MakeSectionOverlay ( FLogVisualizer : : Get ( ) . GetTimeSliderController ( ) . ToSharedRef ( ) , InArgs . _ViewRange , InArgs . _ScrubPosition , false )
2014-11-19 07:43:07 -05:00
]
+ SOverlay : : Slot ( )
[
SAssignNew ( ScrollBox , SScrollBox )
. ExternalScrollbar ( ScrollBar )
2014-12-10 09:22:32 -05:00
+ SScrollBox : : Slot ( )
[
Copying //UE4/Dev-Sequencer to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2859626 on 2016/02/08 by Max.Preussner
Editor: Added SaveAs functionality to content asset editors
Change 2859666 on 2016/02/08 by Max.Chen
Sequencer: Fix crash in CheckForWorldGCLeaks when loading a new map because spawnables are left behind.
#jira UE-25616
Change 2859685 on 2016/02/08 by Max.Chen
Sequencer: Add prompt to save sub level sequences if they are dirty
#jira UE-26510
Change 2859715 on 2016/02/08 by Thomas.Sarkanen
Adding actor spawning recording
Actors are queued for record on spawn then added to the list like manually-specifed ones.
Changed almost everything about UActorRecording. We now record on a per-component basis, with property tracks encapsulated in each actor recording. Much effort is expended to make sure that the correct components are owned by their respective actors, as we can add and remove components at runtime, but they must be created up-front in the UMovieScene Blueprints. We go as far as to add our own SCS nodes to make sure components are correctly spawned.
Fixed infinite loop in FSequencer::AddSpawnable.
Fixed visibility track instance to work with scene components as well as actors.
Fixed particle track instance to work on UParticleSystemComponent rather than just AEmitters.
Added particle recorder.
Moved animation recording into an animation property recorder rather than having it as a special case. This still uses the animation recorder under the hood.
Moved old-style Matinee animation control into FMovieSceneSkeletalAnimationTrackInstance & made this work on USkeletalMeshComponents directly, rather than via the old interface.
Exposed SetMatineeAnimPositionInner and PreviewMatineeSetAnimPositionInner in FAnimMontageInstance so those utility functions can be used externally to Engine.
Added a predicate version of UMovieScene::FindPossessable.
Exposed UMovieSceneParticleSection::AddKey externally via MOVIESCENETRACKS_API so I can programmatically add keys.
Fixed a crash in FScalableFloatDetails::CustomizeHeader when selecting PIE projectiles in Orion.
Moved all recorders over to recording Actors or Components & store UObjects instead of AActors.
Allowed skeletal animation tracks on components as well as actors.
Change 2862675 on 2016/02/10 by Max.Chen
Sequencer: Add option to link the sequencer curve editor with the sequencer timeline.
Under General Options->Link Curve Editor Time Range. The default is false, so the sequencer and curve editor have separate time ranges.
#jira UE-25933
Change 2862699 on 2016/02/11 by Max.Chen
Sequencer: Added a playback status of jumping which the AudioTrack and Skeletal Mesh Track (anim notifies) ignores for updates. This is used to updating thumbnail at certain times.
#jira UE-26447, UE-26671
Change 2862712 on 2016/02/11 by Max.Chen
Sequencer: Fix spawnables firing off their particles. Disable auto activate on spawnable components
#jira UE-26390
Change 2862719 on 2016/02/11 by Max.Preussner
Editor: Refactored detail customizations for colors, rotators, vectors
- broke color and rotator customizations out into their own files
- added vector customizations (placeholder)
- cleaned up localization namespaces, forward declarations
Change 2866454 on 2016/02/14 by Max.Preussner
Sequencer: Removed ULevelEditorSequencerSettings; moved default settings into INI
Change 2866455 on 2016/02/14 by Thomas.Sarkanen
Sequence recorder can now record replays
Added extra edtior-only UI to the replay playback controls to record sequences. Curretnly very placeholder: only records the entire sequence and provides no feedback in the UI if it is recording.
Fixed bindings to recorded objects not working in various circumstances. Added the ability to manually create a binding.
Recompiled actor blueprints post-record if we added components.
Fixed a null ptr dereference in FOrionTeamUIInfo::Update.
Removed tolerances when reducing tracks - they are now 'very small'.
Added actor filter so actors of certain classes can be recorded.
Change 2866458 on 2016/02/14 by Max.Chen
Sequencer: Fix anim notifies that fire at shot cuts. Anim notifies are fired from the last position to the current position. When jumping cuts, we want the delta to be 0 so that the anim notifies before the shot are not fired off.
#jira UE-26390, UE-26671
Change 2866459 on 2016/02/14 by Max.Chen
Sequencer: Add option to toggle visibility of combined keys
Change 2866466 on 2016/02/14 by Frank.Fella
Sequencer - Add a track for controlling streamed level visibilty and remove visibility code from the master level blueprint.
Change 2866470 on 2016/02/14 by Max.Chen
Sequencer: Add return value to indicate data has changed when a section has been added. This fixes a bug where creating a new section doesn't seem to add a key.
#jira UE-26837
Change 2866481 on 2016/02/14 by Max.Preussner
Sequencer: Implemented Presets for adding tracks automatically based on actor type (UE-24513)
#Jira: UE-24513
Change 2866482 on 2016/02/14 by Max.Chen
Sequencer: Allow for any actor that has a camera component to be a camera cut.
#jira UE-26777
Change 2866484 on 2016/02/14 by Thomas.Sarkanen
Added in/out times to sequence recording
Also added the optional ability to record different actor types (heroes, projectiles, minions).
Change 2866495 on 2016/02/14 by Max.Chen
Sequencer: Need to limit camera control to the section bounds of the camera cut otherwise, control won't be relinquished back to player at the end of the playback.
#jira UE-26886
[CL 2874647 by Max Chen in Main branch]
2016-02-19 21:36:27 -05:00
SAssignNew ( TimelinesContainer , SVisualLoggerTimelinesContainer , SharedThis ( this ) , FLogVisualizer : : Get ( ) . GetTimeSliderController ( ) . ToSharedRef ( ) )
2014-12-10 09:22:32 -05:00
]
2014-11-19 07:43:07 -05:00
]
+ SOverlay : : Slot ( )
[
2015-01-15 06:19:24 -05:00
MakeSectionOverlay ( FLogVisualizer : : Get ( ) . GetTimeSliderController ( ) . ToSharedRef ( ) , InArgs . _ViewRange , InArgs . _ScrubPosition , true )
2014-11-19 07:43:07 -05:00
]
2014-12-10 09:22:32 -05:00
+ SOverlay : : Slot ( )
. VAlign ( VAlign_Bottom )
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. FillWidth ( TAttribute < float > ( this , & SVisualLoggerView : : GetAnimationOutlinerFillPercentage ) )
[
// Take up space but display nothing. This is required so that all areas dependent on time align correctly
SNullWidget : : NullWidget
]
+ SHorizontalBox : : Slot ( )
. FillWidth ( 1.0f )
[
ZoomScrollBar
]
]
2014-11-19 07:43:07 -05:00
]
+ SVerticalBox : : Slot ( )
. AutoHeight ( )
[
SNew ( SHorizontalBox )
+ SHorizontalBox : : Slot ( )
. FillWidth ( TAttribute < float > ( this , & SVisualLoggerView : : GetAnimationOutlinerFillPercentage ) )
[
SNew ( SSpacer )
]
+ SHorizontalBox : : Slot ( )
. Padding ( FMargin ( 0.0f , 0.0f , 0.0f , 0.0f ) )
. FillWidth ( 1.0f )
[
SNew ( SBorder )
. Padding ( FMargin ( 0.0f , 0.0f , 0.0f , 2.0f ) )
. BorderImage ( FLogVisualizerStyle : : Get ( ) . GetBrush ( " ToolPanel.GroupBorder " ) )
. BorderBackgroundColor ( FLinearColor ( .50f , .50f , .50f , 1.0f ) )
[
BottomTimeSlider
]
]
]
]
2014-12-11 09:34:00 -05:00
+ SHorizontalBox : : Slot ( )
. HAlign ( HAlign_Right )
. AutoWidth ( )
[
ScrollBar
]
2014-11-19 07:43:07 -05:00
]
] ;
2015-02-27 07:26:07 -05:00
2015-08-27 05:21:28 -04:00
SearchBox - > SetText ( FText : : FromString ( FVisualLoggerFilters : : Get ( ) . GetSearchString ( ) ) ) ;
FLogVisualizer : : Get ( ) . GetEvents ( ) . GetAnimationOutlinerFillPercentageFunc . BindLambda (
[ this ] ( ) - > float {
SSplitter : : FSlot const & LeftSplitterSlot = SearchSplitter - > SlotAt ( 0 ) ;
SSplitter : : FSlot const & RightSplitterSlot = SearchSplitter - > SlotAt ( 1 ) ;
return LeftSplitterSlot . SizeValue . Get ( ) / RightSplitterSlot . SizeValue . Get ( ) ;
} ) ;
OnSearchSplitterResized ( ) ;
}
SVisualLoggerView : : ~ SVisualLoggerView ( )
{
FLogVisualizer : : Get ( ) . GetEvents ( ) . GetAnimationOutlinerFillPercentageFunc . Unbind ( ) ;
2014-11-19 07:43:07 -05:00
}
2014-12-10 09:22:32 -05:00
void SVisualLoggerView : : SetAnimationOutlinerFillPercentage ( float FillPercentage )
{
AnimationOutlinerFillPercentage = FillPercentage ;
}
2014-12-08 08:20:42 -05:00
void SVisualLoggerView : : SetSearchString ( FText SearchString )
{
if ( SearchBox . IsValid ( ) )
{
SearchBox - > SetText ( SearchString ) ;
}
}
2014-12-02 08:07:26 -05:00
2014-11-19 07:43:07 -05:00
void SVisualLoggerView : : OnSearchSplitterResized ( )
{
SSplitter : : FSlot const & LeftSplitterSlot = SearchSplitter - > SlotAt ( 0 ) ;
SSplitter : : FSlot const & RightSplitterSlot = SearchSplitter - > SlotAt ( 1 ) ;
2015-08-27 08:50:21 -04:00
const float NewAnimationOutlinerFillPercentage = LeftSplitterSlot . SizeValue . Get ( ) / RightSplitterSlot . SizeValue . Get ( ) ;
SetAnimationOutlinerFillPercentage ( NewAnimationOutlinerFillPercentage ) ;
2015-08-27 05:21:28 -04:00
2015-08-27 08:50:21 -04:00
FLogVisualizer : : Get ( ) . SetAnimationOutlinerFillPercentage ( NewAnimationOutlinerFillPercentage ) ;
2014-11-19 07:43:07 -05:00
}
void SVisualLoggerView : : OnSearchChanged ( const FText & Filter )
{
TimelinesContainer - > OnSearchChanged ( Filter ) ;
}
2015-01-29 19:21:24 -05:00
TSharedRef < SWidget > SVisualLoggerView : : MakeSectionOverlay ( TSharedRef < FVisualLoggerTimeSliderController > TimeSliderController , const TAttribute < TRange < float > > & ViewRange , const TAttribute < float > & ScrubPosition , bool bTopOverlay )
2014-11-19 07:43:07 -05:00
{
return
SNew ( SHorizontalBox )
. Visibility ( EVisibility : : HitTestInvisible )
+ SHorizontalBox : : Slot ( )
. FillWidth ( TAttribute < float > ( this , & SVisualLoggerView : : GetAnimationOutlinerFillPercentage ) )
[
// Take up space but display nothing. This is required so that all areas dependent on time align correctly
SNullWidget : : NullWidget
]
2014-12-10 09:22:32 -05:00
+ SHorizontalBox : : Slot ( )
2014-11-19 07:43:07 -05:00
. FillWidth ( 1.0f )
[
2015-01-30 00:33:20 -05:00
SNew ( SVisualLoggerSectionOverlay , TimeSliderController )
2014-11-19 07:43:07 -05:00
. DisplayScrubPosition ( bTopOverlay )
. DisplayTickLines ( ! bTopOverlay )
] ;
}
2015-01-07 08:06:36 -05:00
void SVisualLoggerView : : ResetData ( )
{
TimelinesContainer - > ResetData ( ) ;
}
2014-11-19 07:43:07 -05:00
void SVisualLoggerView : : OnFiltersChanged ( )
{
TimelinesContainer - > OnFiltersChanged ( ) ;
}
2014-12-04 10:00:51 -05:00
void SVisualLoggerView : : OnFiltersSearchChanged ( const FText & Filter )
{
TimelinesContainer - > OnFiltersSearchChanged ( Filter ) ;
}
2014-12-10 09:22:32 -05:00
FCursorReply SVisualLoggerView : : OnCursorQuery ( const FGeometry & MyGeometry , const FPointerEvent & CursorEvent ) const
{
2015-01-15 06:19:24 -05:00
if ( FLogVisualizer : : Get ( ) . GetTimeSliderController ( ) - > IsPanning ( ) )
2014-12-10 09:22:32 -05:00
{
return FCursorReply : : Cursor ( EMouseCursor : : GrabHand ) ;
}
return FCursorReply : : Cursor ( EMouseCursor : : Default ) ;
}
2014-12-18 08:37:06 -05:00
TSharedRef < SWidget > SVisualLoggerView : : MakeClassesFilterMenu ( )
{
Copying //UE4/Dev-Sequencer to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2859626 on 2016/02/08 by Max.Preussner
Editor: Added SaveAs functionality to content asset editors
Change 2859666 on 2016/02/08 by Max.Chen
Sequencer: Fix crash in CheckForWorldGCLeaks when loading a new map because spawnables are left behind.
#jira UE-25616
Change 2859685 on 2016/02/08 by Max.Chen
Sequencer: Add prompt to save sub level sequences if they are dirty
#jira UE-26510
Change 2859715 on 2016/02/08 by Thomas.Sarkanen
Adding actor spawning recording
Actors are queued for record on spawn then added to the list like manually-specifed ones.
Changed almost everything about UActorRecording. We now record on a per-component basis, with property tracks encapsulated in each actor recording. Much effort is expended to make sure that the correct components are owned by their respective actors, as we can add and remove components at runtime, but they must be created up-front in the UMovieScene Blueprints. We go as far as to add our own SCS nodes to make sure components are correctly spawned.
Fixed infinite loop in FSequencer::AddSpawnable.
Fixed visibility track instance to work with scene components as well as actors.
Fixed particle track instance to work on UParticleSystemComponent rather than just AEmitters.
Added particle recorder.
Moved animation recording into an animation property recorder rather than having it as a special case. This still uses the animation recorder under the hood.
Moved old-style Matinee animation control into FMovieSceneSkeletalAnimationTrackInstance & made this work on USkeletalMeshComponents directly, rather than via the old interface.
Exposed SetMatineeAnimPositionInner and PreviewMatineeSetAnimPositionInner in FAnimMontageInstance so those utility functions can be used externally to Engine.
Added a predicate version of UMovieScene::FindPossessable.
Exposed UMovieSceneParticleSection::AddKey externally via MOVIESCENETRACKS_API so I can programmatically add keys.
Fixed a crash in FScalableFloatDetails::CustomizeHeader when selecting PIE projectiles in Orion.
Moved all recorders over to recording Actors or Components & store UObjects instead of AActors.
Allowed skeletal animation tracks on components as well as actors.
Change 2862675 on 2016/02/10 by Max.Chen
Sequencer: Add option to link the sequencer curve editor with the sequencer timeline.
Under General Options->Link Curve Editor Time Range. The default is false, so the sequencer and curve editor have separate time ranges.
#jira UE-25933
Change 2862699 on 2016/02/11 by Max.Chen
Sequencer: Added a playback status of jumping which the AudioTrack and Skeletal Mesh Track (anim notifies) ignores for updates. This is used to updating thumbnail at certain times.
#jira UE-26447, UE-26671
Change 2862712 on 2016/02/11 by Max.Chen
Sequencer: Fix spawnables firing off their particles. Disable auto activate on spawnable components
#jira UE-26390
Change 2862719 on 2016/02/11 by Max.Preussner
Editor: Refactored detail customizations for colors, rotators, vectors
- broke color and rotator customizations out into their own files
- added vector customizations (placeholder)
- cleaned up localization namespaces, forward declarations
Change 2866454 on 2016/02/14 by Max.Preussner
Sequencer: Removed ULevelEditorSequencerSettings; moved default settings into INI
Change 2866455 on 2016/02/14 by Thomas.Sarkanen
Sequence recorder can now record replays
Added extra edtior-only UI to the replay playback controls to record sequences. Curretnly very placeholder: only records the entire sequence and provides no feedback in the UI if it is recording.
Fixed bindings to recorded objects not working in various circumstances. Added the ability to manually create a binding.
Recompiled actor blueprints post-record if we added components.
Fixed a null ptr dereference in FOrionTeamUIInfo::Update.
Removed tolerances when reducing tracks - they are now 'very small'.
Added actor filter so actors of certain classes can be recorded.
Change 2866458 on 2016/02/14 by Max.Chen
Sequencer: Fix anim notifies that fire at shot cuts. Anim notifies are fired from the last position to the current position. When jumping cuts, we want the delta to be 0 so that the anim notifies before the shot are not fired off.
#jira UE-26390, UE-26671
Change 2866459 on 2016/02/14 by Max.Chen
Sequencer: Add option to toggle visibility of combined keys
Change 2866466 on 2016/02/14 by Frank.Fella
Sequencer - Add a track for controlling streamed level visibilty and remove visibility code from the master level blueprint.
Change 2866470 on 2016/02/14 by Max.Chen
Sequencer: Add return value to indicate data has changed when a section has been added. This fixes a bug where creating a new section doesn't seem to add a key.
#jira UE-26837
Change 2866481 on 2016/02/14 by Max.Preussner
Sequencer: Implemented Presets for adding tracks automatically based on actor type (UE-24513)
#Jira: UE-24513
Change 2866482 on 2016/02/14 by Max.Chen
Sequencer: Allow for any actor that has a camera component to be a camera cut.
#jira UE-26777
Change 2866484 on 2016/02/14 by Thomas.Sarkanen
Added in/out times to sequence recording
Also added the optional ability to record different actor types (heroes, projectiles, minions).
Change 2866495 on 2016/02/14 by Max.Chen
Sequencer: Need to limit camera control to the section bounds of the camera cut otherwise, control won't be relinquished back to player at the end of the playback.
#jira UE-26886
[CL 2874647 by Max Chen in Main branch]
2016-02-19 21:36:27 -05:00
const TArray < TSharedPtr < class SLogVisualizerTimeline > > & AllTimelines = TimelinesContainer - > GetAllNodes ( ) ;
2014-12-18 08:37:06 -05:00
FMenuBuilder MenuBuilder ( true , NULL ) ;
TArray < FString > UniqueClasses ;
MenuBuilder . BeginSection ( TEXT ( " Graphs " ) ) ;
Copying //UE4/Dev-Sequencer to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2859626 on 2016/02/08 by Max.Preussner
Editor: Added SaveAs functionality to content asset editors
Change 2859666 on 2016/02/08 by Max.Chen
Sequencer: Fix crash in CheckForWorldGCLeaks when loading a new map because spawnables are left behind.
#jira UE-25616
Change 2859685 on 2016/02/08 by Max.Chen
Sequencer: Add prompt to save sub level sequences if they are dirty
#jira UE-26510
Change 2859715 on 2016/02/08 by Thomas.Sarkanen
Adding actor spawning recording
Actors are queued for record on spawn then added to the list like manually-specifed ones.
Changed almost everything about UActorRecording. We now record on a per-component basis, with property tracks encapsulated in each actor recording. Much effort is expended to make sure that the correct components are owned by their respective actors, as we can add and remove components at runtime, but they must be created up-front in the UMovieScene Blueprints. We go as far as to add our own SCS nodes to make sure components are correctly spawned.
Fixed infinite loop in FSequencer::AddSpawnable.
Fixed visibility track instance to work with scene components as well as actors.
Fixed particle track instance to work on UParticleSystemComponent rather than just AEmitters.
Added particle recorder.
Moved animation recording into an animation property recorder rather than having it as a special case. This still uses the animation recorder under the hood.
Moved old-style Matinee animation control into FMovieSceneSkeletalAnimationTrackInstance & made this work on USkeletalMeshComponents directly, rather than via the old interface.
Exposed SetMatineeAnimPositionInner and PreviewMatineeSetAnimPositionInner in FAnimMontageInstance so those utility functions can be used externally to Engine.
Added a predicate version of UMovieScene::FindPossessable.
Exposed UMovieSceneParticleSection::AddKey externally via MOVIESCENETRACKS_API so I can programmatically add keys.
Fixed a crash in FScalableFloatDetails::CustomizeHeader when selecting PIE projectiles in Orion.
Moved all recorders over to recording Actors or Components & store UObjects instead of AActors.
Allowed skeletal animation tracks on components as well as actors.
Change 2862675 on 2016/02/10 by Max.Chen
Sequencer: Add option to link the sequencer curve editor with the sequencer timeline.
Under General Options->Link Curve Editor Time Range. The default is false, so the sequencer and curve editor have separate time ranges.
#jira UE-25933
Change 2862699 on 2016/02/11 by Max.Chen
Sequencer: Added a playback status of jumping which the AudioTrack and Skeletal Mesh Track (anim notifies) ignores for updates. This is used to updating thumbnail at certain times.
#jira UE-26447, UE-26671
Change 2862712 on 2016/02/11 by Max.Chen
Sequencer: Fix spawnables firing off their particles. Disable auto activate on spawnable components
#jira UE-26390
Change 2862719 on 2016/02/11 by Max.Preussner
Editor: Refactored detail customizations for colors, rotators, vectors
- broke color and rotator customizations out into their own files
- added vector customizations (placeholder)
- cleaned up localization namespaces, forward declarations
Change 2866454 on 2016/02/14 by Max.Preussner
Sequencer: Removed ULevelEditorSequencerSettings; moved default settings into INI
Change 2866455 on 2016/02/14 by Thomas.Sarkanen
Sequence recorder can now record replays
Added extra edtior-only UI to the replay playback controls to record sequences. Curretnly very placeholder: only records the entire sequence and provides no feedback in the UI if it is recording.
Fixed bindings to recorded objects not working in various circumstances. Added the ability to manually create a binding.
Recompiled actor blueprints post-record if we added components.
Fixed a null ptr dereference in FOrionTeamUIInfo::Update.
Removed tolerances when reducing tracks - they are now 'very small'.
Added actor filter so actors of certain classes can be recorded.
Change 2866458 on 2016/02/14 by Max.Chen
Sequencer: Fix anim notifies that fire at shot cuts. Anim notifies are fired from the last position to the current position. When jumping cuts, we want the delta to be 0 so that the anim notifies before the shot are not fired off.
#jira UE-26390, UE-26671
Change 2866459 on 2016/02/14 by Max.Chen
Sequencer: Add option to toggle visibility of combined keys
Change 2866466 on 2016/02/14 by Frank.Fella
Sequencer - Add a track for controlling streamed level visibilty and remove visibility code from the master level blueprint.
Change 2866470 on 2016/02/14 by Max.Chen
Sequencer: Add return value to indicate data has changed when a section has been added. This fixes a bug where creating a new section doesn't seem to add a key.
#jira UE-26837
Change 2866481 on 2016/02/14 by Max.Preussner
Sequencer: Implemented Presets for adding tracks automatically based on actor type (UE-24513)
#Jira: UE-24513
Change 2866482 on 2016/02/14 by Max.Chen
Sequencer: Allow for any actor that has a camera component to be a camera cut.
#jira UE-26777
Change 2866484 on 2016/02/14 by Thomas.Sarkanen
Added in/out times to sequence recording
Also added the optional ability to record different actor types (heroes, projectiles, minions).
Change 2866495 on 2016/02/14 by Max.Chen
Sequencer: Need to limit camera control to the section bounds of the camera cut otherwise, control won't be relinquished back to player at the end of the playback.
#jira UE-26886
[CL 2874647 by Max Chen in Main branch]
2016-02-19 21:36:27 -05:00
for ( TSharedPtr < class SLogVisualizerTimeline > CurrentTimeline : AllTimelines )
2014-12-18 08:37:06 -05:00
{
FString OwnerClassName = CurrentTimeline - > GetOwnerClassName ( ) . ToString ( ) ;
if ( UniqueClasses . Find ( OwnerClassName ) = = INDEX_NONE )
{
FText LabelText = FText : : FromString ( OwnerClassName ) ;
MenuBuilder . AddMenuEntry (
LabelText ,
FText : : Format ( LOCTEXT ( " FilterByClassPrefix " , " Toggle {0} class " ) , LabelText ) ,
FSlateIcon ( ) ,
FUIAction (
FExecuteAction : : CreateLambda ( [ this , OwnerClassName ] ( )
{
2015-08-27 05:21:28 -04:00
if ( FVisualLoggerFilters : : Get ( ) . MatchObjectName ( OwnerClassName ) & & FVisualLoggerFilters : : Get ( ) . GetSelectedObjects ( ) . Num ( ) ! = 0 )
2015-02-27 07:26:07 -05:00
{
2015-08-27 05:21:28 -04:00
FVisualLoggerFilters : : Get ( ) . RemoveObjectFromSelection ( OwnerClassName ) ;
2015-02-27 07:26:07 -05:00
}
2014-12-18 08:37:06 -05:00
else
2015-02-27 07:26:07 -05:00
{
2015-08-27 05:21:28 -04:00
FVisualLoggerFilters : : Get ( ) . SelectObject ( OwnerClassName ) ;
2015-02-27 07:26:07 -05:00
}
2014-12-18 08:37:06 -05:00
OnChangedClassesFilter ( ) ;
} ) ,
FCanExecuteAction ( ) ,
FIsActionChecked : : CreateLambda ( [ OwnerClassName ] ( ) - > bool
{
2015-08-27 05:21:28 -04:00
return FVisualLoggerFilters : : Get ( ) . GetSelectedObjects ( ) . Find ( OwnerClassName ) ! = INDEX_NONE ;
2014-12-18 08:37:06 -05:00
} ) ,
FIsActionButtonVisible ( ) ) ,
NAME_None ,
EUserInterfaceActionType : : ToggleButton
) ;
UniqueClasses . AddUnique ( OwnerClassName ) ;
}
}
2015-02-27 07:26:07 -05:00
//show any classes from persistent data
2015-08-27 05:21:28 -04:00
for ( const FString & SelectedObj : FVisualLoggerFilters : : Get ( ) . GetSelectedObjects ( ) )
2015-02-27 07:26:07 -05:00
{
if ( UniqueClasses . Find ( SelectedObj ) = = INDEX_NONE )
{
FText LabelText = FText : : FromString ( SelectedObj ) ;
MenuBuilder . AddMenuEntry (
LabelText ,
FText : : Format ( LOCTEXT ( " FilterByClassPrefix " , " Toggle {0} class " ) , LabelText ) ,
FSlateIcon ( ) ,
FUIAction (
FExecuteAction : : CreateLambda ( [ this , SelectedObj ] ( )
{
2015-08-27 05:21:28 -04:00
if ( FVisualLoggerFilters : : Get ( ) . MatchObjectName ( SelectedObj ) & & FVisualLoggerFilters : : Get ( ) . GetSelectedObjects ( ) . Num ( ) ! = 0 )
2015-02-27 07:26:07 -05:00
{
2015-08-27 05:21:28 -04:00
FVisualLoggerFilters : : Get ( ) . RemoveObjectFromSelection ( SelectedObj ) ;
2015-02-27 07:26:07 -05:00
}
else
{
2015-08-27 05:21:28 -04:00
FVisualLoggerFilters : : Get ( ) . SelectObject ( SelectedObj ) ;
2015-02-27 07:26:07 -05:00
}
OnChangedClassesFilter ( ) ;
} ) ,
FCanExecuteAction ( ) ,
FIsActionChecked : : CreateLambda ( [ SelectedObj ] ( ) - > bool
{
2015-08-27 05:21:28 -04:00
return FVisualLoggerFilters : : Get ( ) . GetSelectedObjects ( ) . Find ( SelectedObj ) ! = INDEX_NONE ;
2015-02-27 07:26:07 -05:00
} ) ,
FIsActionButtonVisible ( ) ) ,
NAME_None ,
EUserInterfaceActionType : : ToggleButton
) ;
UniqueClasses . AddUnique ( SelectedObj ) ;
}
}
MenuBuilder . EndSection ( ) ;
2014-12-18 08:37:06 -05:00
FDisplayMetrics DisplayMetrics ;
FSlateApplication : : Get ( ) . GetDisplayMetrics ( DisplayMetrics ) ;
const FVector2D DisplaySize (
DisplayMetrics . PrimaryDisplayWorkAreaRect . Right - DisplayMetrics . PrimaryDisplayWorkAreaRect . Left ,
DisplayMetrics . PrimaryDisplayWorkAreaRect . Bottom - DisplayMetrics . PrimaryDisplayWorkAreaRect . Top ) ;
return
SNew ( SVerticalBox )
+ SVerticalBox : : Slot ( )
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3152045)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3106449 on 2016/08/30 by Michael.Dupuis
#jira UETOOL-229 Added generic command icons used in Edit Menu (including contextual menu)
Change 3133997 on 2016/09/21 by Alex.Delesky
#jira UE-34079 - FSceneView parameter for FBatchedElements::Draw is no longer an optional parameter.
Change 3134132 on 2016/09/21 by Jamie.Dale
Added the "unattended" flag when running the localzation commandlets via UAT
Change 3134147 on 2016/09/21 by Frank.Fella
Core - Add multitouch support to windows.
Change 3134349 on 2016/09/21 by Michael.Dupuis
#jira UE-36151 Update the title bar to display the branch also
Change 3134355 on 2016/09/21 by Michael.Dupuis
#jira UE-36041 When initially creating a projet and trying to add everything to source control, also add the uproject file
Change 3134447 on 2016/09/21 by Alexis.Matte
#jira UE-36064
The SpriteComponent is now properly reused when duplicating a light.
Change 3134451 on 2016/09/21 by Alexis.Matte
#jira UE-22782
Make sure when we re-import we dont try to match the mesh name if the option bCombineToSingle is true
Change 3134457 on 2016/09/21 by Jamie.Dale
FInternationalization::Leetify now deals with escape sequences correctly.
This also changes it to mark all leetified text with the start and end marker, and the unit tests have been updated accordingly.
Change 3134685 on 2016/09/21 by Matt.Kuhlenschmidt
Cleaned up some of the UI for the new material slot workflow (part 1)
Change 3134743 on 2016/09/21 by Matt.Kuhlenschmidt
Fix crash clicking OK to the import mesh dialog in persona when a path is not selected. The OK button is now disabled until a valid path is selected
Change 3134760 on 2016/09/21 by Matt.Kuhlenschmidt
Guard against cascade crash if cascade was shutdown but there is an old cascade particle system component in the undo buffer that attempts to refresh cascade
Change 3134837 on 2016/09/21 by Matt.Kuhlenschmidt
Fix static analysis warnings in this file
Change 3134939 on 2016/09/21 by Nick.Darnell
Automation - Moving the functional testing hooks for the editor into a plugin, the goal is to make it so you don't have to see all the extra stuff automation adds to the editor until the game project needs it. Refactoring the way automation messages are serialized, no longer relying on a comma delimited string to serialize automation data. Improving the filter for automation window so it lets you put in a path, and find it that way. Fixing RunTests from the commandline so that it properly finds the tests, instead of jumping out of the loop as soon as it finds any one match.
Change 3134941 on 2016/09/21 by Nick.Darnell
Automation - Functional tests now support warnings as errors on a per test basis. Continued itteration on screenshot comparison.
Change 3135051 on 2016/09/21 by Matt.Kuhlenschmidt
Fixed size of material slots in persona details panel
Change 3135076 on 2016/09/21 by Nick.Darnell
Automation - Adding a missing file.
Change 3135584 on 2016/09/22 by Gareth.Martin
Removed unused ULandscapeInfo::BeginDestroy
Slight cleanup to FLandscapeEditDataInterface::DeleteLayer
Change 3135585 on 2016/09/22 by Gareth.Martin
New Count algo
Const'd Copy/Accumulate/Transform
Change 3135599 on 2016/09/22 by Gareth.Martin
Resolve crash if a Landscape Layer Info object is force deleted while it is in use :(
#jira UE-35709
Change 3135724 on 2016/09/22 by Michael.Dupuis
#jira UE-32662 Remove old migration code that was causing this side effect
Change 3135726 on 2016/09/22 by Nick.Darnell
Slate - Removing the SLATE_PRE_MULTIPLY macro.
Change 3135730 on 2016/09/22 by Nick.Darnell
UMG - Exposing the 2D hit location that the WidgetInteractionComponent hit on the WidgetComponent.
Change 3135738 on 2016/09/22 by Matt.Kuhlenschmidt
Ensure any handles to the backbuffer are released before the backbuffer is resized
https://jira.it.epicgames.net/browse/UE-30488
Change 3135810 on 2016/09/22 by Ben.Marsh
Build: Compile tools before running automated tests.
Change 3135993 on 2016/09/22 by Matt.Kuhlenschmidt
Ensure you can unpause after toggling play/pause with a keyboard shortcut. We were processing the keybinding on key down AND up which caused the unpause to instantly pause again
https://jira.it.epicgames.net/browse/UE-36276
Change 3136257 on 2016/09/22 by Matt.Kuhlenschmidt
Fixed assign of materials to components not working if you multi-select multiple components of a blueprint and assign the material. The construction script was running before all the material had been set on all components.
Change 3136318 on 2016/09/22 by Alex.Delesky
#jira UE-7405 - Forcing the mouse cursor to show and then clicking inside the viewport will no longer cause the mouse to lose focus
Change 3136494 on 2016/09/22 by Matt.Kuhlenschmidt
Fix crash restarting a mission in Odin
Change 3136741 on 2016/09/22 by Cody.Albert
Fixed SButton and SWidget to not multiply color and opacity, since that's already being done by SCompoundWidget
#jira UE-36322
Change 3137711 on 2016/09/23 by Matt.Kuhlenschmidt
Added guard against slate rendering with deleted materials. In this will now be caught with a looged with the deleted material name.
Change 3137713 on 2016/09/23 by Matt.Kuhlenschmidt
Removed the pooled draw elements stuff which is not used
Change 3137791 on 2016/09/23 by Nick.Darnell
MediaPlayer - Removing .png from one of the style files, as that's not required. Was causing warnings to be logged on load.
Change 3137793 on 2016/09/23 by Nick.Darnell
Localization - Adjusting some log statements to say with instead of w/
Change 3137796 on 2016/09/23 by Nick.Darnell
Slate - Adding missing and replacing corrupted style files in the editor.
Change 3137864 on 2016/09/23 by Matt.Kuhlenschmidt
Fixed "actors are referenced are you sure you want to delete" dialog appearing when you are copying a lot of actors to another level
Change 3137876 on 2016/09/23 by Jamie.Dale
Added allocation tagging to MProf2
This hooks into the existing FScopeCycleCounterUObject used by the stats system to track object tags (object, package, and class) when an allocation is made. Tags should be in the format "Category:Tag", and the "Tag" part may include "/" to create levels in the tag hierarchy (as shown in the MProf2 tool).
#jira UETOOL-950
Change 3137982 on 2016/09/23 by Gareth.Martin
Added Invoke() support to CopyIf
Change 3137983 on 2016/09/23 by Gareth.Martin
Added ULandscapeInfo::ForAllLandscapeProxies to clean up a lot of horrible code
- Removed some dependencies on ALandscape and ALandscapeStreamingProxy in the process :)
Also made FLandscapeEditorLayerSettings's constructor explicit to clean up some other horrible code
Change 3138053 on 2016/09/23 by Matt.Kuhlenschmidt
Fixed Child Actor Template properties not visible after changing Child Actor Class
Change 3138079 on 2016/09/23 by Jamie.Dale
Fixing some Clang warnings
Change 3138087 on 2016/09/23 by Jamie.Dale
Added GetResourceSizeEx and GetResourceSizeBytes, and deprecated GetResourceSize
GetResourceSizeEx populates a struct which reports not only how much memory is allocated, but also which arenas the memory was allocated from. GetResourceSizeBytes just wraps a call to GetResourceSizeEx and returns the total size from all arenas (this has the same behavior as the now deprecated GetResourceSize).
Classes that used to override GetResourceSize should instead override GetResourceSizeEx and report their allocations as appropriate.
#jira UETOOL-952
Change 3138127 on 2016/09/23 by Gareth.Martin
Fixed crash when merging levels containing landscape
#jira UE-36267
Change 3138821 on 2016/09/23 by Stephan.Jiang
Fixes "Select all input node" doesn't work properly on output node.
#jira UE-36335
Change 3138915 on 2016/09/23 by Stephan.Jiang
Disable "select all linked nodes" for output nodes in material editor
Change 3139341 on 2016/09/25 by Nick.Darnell
Automation - Moving the Blueprint Compiler Tests into the RuntimeTests plugin, and making the context client only since that's the only valid place to runt these tests.
Change 3139342 on 2016/09/25 by Nick.Darnell
Landscape - Fixing some compiler errors on mac.
Change 3139345 on 2016/09/25 by Nick.Darnell
Automation - Spelling and cleanup.
Change 3139346 on 2016/09/25 by Nick.Darnell
Engine - Changing a check to an ensure, there's no reason to crash if this happens.
Change 3139347 on 2016/09/25 by Nick.Darnell
Automation - Making EFunctionalTestResult a BlueprintType
Change 3139348 on 2016/09/25 by Nick.Darnell
Automation - Adding another test map.
Change 3139676 on 2016/09/26 by Michael.Dupuis
#jira UE-32335 If we are a config object simply permit the transaction for undo/redo
Change 3139702 on 2016/09/26 by Nick.Darnell
UMG - Making GetLocalHitLocation on UWidgetComponent virtual.
Change 3139760 on 2016/09/26 by Alexis.Matte
Make sure we remove override materials from the list when the mesh point by the component has less materials.
#jira UE-28845
Change 3139761 on 2016/09/26 by Alex.Delesky
Added additional validation code to FPropertyNode to now properly validate TMap value and key nodes.
#jira none
Change 3139843 on 2016/09/26 by Alex.Delesky
#jira UE-36066 - Clearing all options from a ComboBox String when selecting an option will now also clear out the selected text correctly.
Change 3139880 on 2016/09/26 by Frank.Fella
QAGame - Update multitouch test with less crashy assets?
Change 3139908 on 2016/09/26 by Matt.Kuhlenschmidt
Fix selections having the potential to be out of sync after undo/redo
Change 3139928 on 2016/09/26 by Nick.Darnell
Automation - tweaking the test maps some more.
Change 3140646 on 2016/09/26 by Matt.Kuhlenschmidt
Fix false positive with the test for vaild materials being rendered by slate.
Change 3140912 on 2016/09/26 by Frank.Fella
Core - Fix multitouch ifdef which was preventing it from actually being enabled.Also update test level blueprint so that it's actually testable.
Change 3141218 on 2016/09/27 by Matt.Kuhlenschmidt
PR #2798: BP open anim interferes with mouse movement (Contributed by projectgheist)
Change 3141223 on 2016/09/27 by Jamie.Dale
Updated UTextProperty::Identical to no longer compare display strings all the time
It was supposed to compare the identity at runtime as the display string can change at runtime. This was preventing FText properties from being used in TSet/TMap as the hash needs to be consistent.
#jira UE-36456
Change 3141242 on 2016/09/27 by Richard.TalbotWatkin
Fixed various issues where making changes to components in the Blueprint Editor could cause a crash if there is an active component in the component visualizer.
#jira UE-36402 - Editor crash when adding a spline component after having deleted another spline component
Duplicated CL 3139370 from //UE4/Release-4.13
Duplicated CL 3139878 from //UE4/Release-4.13
Change 3141323 on 2016/09/27 by Michael.Dupuis
#jira UE-35081 Enable bDisplayEngineVersionInBadge by default
Change 3141798 on 2016/09/27 by tim.gautier
Added UMG_DisplayWidget
Change 3143038 on 2016/09/28 by Jamie.Dale
Added extra context to FTableRowBase::OnPostDataImport
It now takes the owning data table and the row name as parameters. This allows is to do more useful fix-up that depends on the context of where it's used (such as stabilized text keys).
Change 3143039 on 2016/09/28 by Jamie.Dale
Optimized UTextProperty::Identical to use a pointer comparison rather than read out the identity
Only texts which have the same display string pointer can have the same identity, so this is a much faster check.
Change 3143098 on 2016/09/28 by Gareth.Martin
Fixed crash when loading duplicated landscape levels
#jira UE-34890
Change 3143300 on 2016/09/28 by Gareth.Martin
Fixed crash when duplicating a level containing a landscape through the content browser
#jira UE-34890
Change 3143389 on 2016/09/28 by Jamie.Dale
LastResort is no longer staged in shipping builds
You can now use the Content/SlateDebug folder to store any Slate resources that shouldn't be used in a shipping build (either for the Engine or for a game).
This also removes the old bUsesSlateEditorStyle hack as everything should have migrated away from that now.
Change 3143565 on 2016/09/28 by Matt.Kuhlenschmidt
Fixed this file
Change 3143717 on 2016/09/28 by Michael.Dupuis
Fixed lowercase
Change 3143798 on 2016/09/28 by Matt.Kuhlenschmidt
Fixed StreamingPauseRendering code to not attempt to tick the scene viewport on the slate loading thread while where are blocked on level streaming. The viewport is rendered once and the render target is passed to slate instead of the entire viewport
Change 3143820 on 2016/09/28 by Alexis.Matte
Use the PersonaToolikit to get the mesh
Change 3143833 on 2016/09/28 by Matt.Kuhlenschmidt
Added guard for UE-36499
Change 3144144 on 2016/09/28 by Matt.Kuhlenschmidt
Fix constructor init order
Change 3144821 on 2016/09/29 by Jamie.Dale
Fixed feedback loop in FSlateEditableTextLayout::ComputeDesiredSize
If the wrapping width is less than the scrollbar width, the scrollbar could constantly re-appear and then disappear.
Change 3144867 on 2016/09/29 by Matt.Kuhlenschmidt
Added a commandlet to allow command line importing of any asset type the engine supports.
- Intermediate checkin
Change 3144875 on 2016/09/29 by Nick.Darnell
Automation - Adding CornellBox example map, fixing some additional tests, removing the Movement Test.
Change 3144975 on 2016/09/29 by Matt.Kuhlenschmidt
Disable auto-applying of scalability settings
The user will still be asked if the settings should be applied but if they do nothing the notification will just go away without setting stuff.
Change 3145274 on 2016/09/29 by Jamie.Dale
New asset menu no longer has a scrollbar on most displays
Change 3146004 on 2016/09/29 by Matt.Barnes
Adding two FBX test files to help facilitate QA coverage on the new material/section workflow.
Change 3146377 on 2016/09/30 by Gareth.Martin
Fixed landscape rendering errors after using the "change component size" tool
- also affected initial import of a landscape+weightmaps
#jira UE-34518
Change 3146455 on 2016/09/30 by Jamie.Dale
Fixing more menus that had scrollbars due to only being able to use half the vertical resolution
Change 3146466 on 2016/09/30 by Gareth.Martin
Fixed not being able to erase foliage attached to BSP
#jira UE-36297
Change 3146471 on 2016/09/30 by Jamie.Dale
Can no longer localize sequences via the Content Browser
Change 3146569 on 2016/09/30 by Jamie.Dale
Fixed UGatherTextFromSourceCommandlet::ParseSourceText being able to underflow while parsing
Change 3147116 on 2016/09/30 by Michael.Dupuis
#jira UE-33068 Update selection once after the bulk operation so the AssetContextMenu will have a proper selection, but only perform this if we're not in UserSearchingMode (which mean AssetPicker)
Change 3148091 on 2016/10/01 by Matt.Barnes
Adding a map and relevant assets to facilitate testing around the new material blueprint nodes - GetMaterialSlotNames, GetMaterialIndex, and SetMaterialByName, respectively
Change 3148714 on 2016/10/03 by Nick.Darnell
PR #2770: [Git plugin] Fix bug where history and merging do not work if the user has format.pretty settings in their gitconfig (Contributed by SRombauts)
#jira UE-35568
Change 3148793 on 2016/10/03 by Nick.Darnell
Automation - TPS for SM_Cornellbox
Change 3148801 on 2016/10/03 by Nick.Darnell
PR #2820: [WidgetBlueprintLibrary] Throwing Essential-Functionality-Understanding PIE Errors when Player Controller ptr not supplied (Contributed by EverNewJoy)
#jira UE-36711
Change 3148805 on 2016/10/03 by Nick.Darnell
PR #2822: Add missing base includes and forward declarations for UProgressBar and UTextBlock (Contributed by error454)
#jira UE-36715
Change 3148813 on 2016/10/03 by Nick.Darnell
UMG - The retainer now contains the SVirtualWindow directly in the hierarchy. This should now make it possible to reliably focus elements inside the retainer widget.
Change 3148855 on 2016/10/03 by Gareth.Martin
Fixed performance regression when importing landscape heightmaps
#jira UE-36659
Change 3149482 on 2016/10/03 by Cody.Albert
Added link to Support landing page to Help menu
#jira UE-36603
Change 3149520 on 2016/10/03 by tim.gautier
Edited UMG_Behavior - Collapsed now has a toggleable state to demonstrate functionality.
Change 3149945 on 2016/10/04 by Gareth.Martin
Fixed invisible landscape components when using tessellation on landscape material
#jira UE-35494
Change 3149951 on 2016/10/04 by Gareth.Martin
Reduced material update log spam when creating and editing landscapes
- Some will remain, landscape fundementally manipulates a lot of material instances
#jira UE-34440
Change 3150143 on 2016/10/04 by Matt.Kuhlenschmidt
Fix not crashing when trying to clear objects which have a specific class filter in the property settings
https://jira.it.epicgames.net/browse/UE-36692
Change 3150614 on 2016/10/04 by Nick.Darnell
Git - Disabling some logging in non-debug builds of the git source control plugin.
Change 3151647 on 2016/10/05 by Matt.Kuhlenschmidt
Fix loc warnings in these files (duplicate loc keys)
Change 3151679 on 2016/10/05 by Nick.Darnell
Editor - Fixing the build, removing the VREditor module from the dynamically loaded list.
Change 3151722 on 2016/10/05 by Gareth.Martin
Fix breakage to LandscapeEdModeSplineTools.cpp caused by Dev-VREditor from main integration
Change 3151816 on 2016/10/05 by Gareth.Martin
Fixed more breakage to Landscape caused by Dev-VREditor from main integration
[CL 3152072 by Matt Kuhlenschmidt in Main branch]
2016-10-05 13:23:01 -04:00
. MaxHeight ( DisplaySize . Y * 0.9 )
2014-12-18 08:37:06 -05:00
[
MenuBuilder . MakeWidget ( )
] ;
}
void SVisualLoggerView : : OnChangedClassesFilter ( )
{
ULogVisualizerSettings : : StaticClass ( ) - > GetDefaultObject < ULogVisualizerSettings > ( ) - > SaveConfig ( ) ;
for ( auto CurrentItem : TimelinesContainer - > GetAllNodes ( ) )
{
CurrentItem - > UpdateVisibility ( ) ;
}
}
2014-12-10 09:22:32 -05:00
2014-11-19 09:04:58 -05:00
# undef LOCTEXT_NAMESPACE