Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.23 From CL 6837861

#rb none

[CL 6838042 by Chris Gagnon in Main branch]
This commit is contained in:
Chris Gagnon
2019-06-04 15:42:48 -04:00
1442 changed files with 166056 additions and 6434 deletions

View File

@@ -1,4 +1,4 @@
#!/bin/sh
export PATH=$PATH:$UE_MONO_DIR/bin
export PKG_CONFIG_PATH=$UE_MONO_DIR/lib/pkgconfig:$PKG_CONFIG_PATH
exec $UE_MONO_DIR/bin/mono $MONO_OPTIONS $UE_MONO_DIR/lib/mono/4.5/mcs.exe "$@"
export PATH="$PATH:$UE_MONO_DIR/bin"
export PKG_CONFIG_PATH="$UE_MONO_DIR/lib/pkgconfig:$PKG_CONFIG_PATH"
exec "$UE_MONO_DIR/bin/mono" $MONO_OPTIONS "$UE_MONO_DIR/lib/mono/4.5/mcs.exe" "$@"

View File

@@ -20,7 +20,7 @@ if [ ! -d "$BASE_PATH/../../../Source" ]; then
exit 1
fi
source "$BASE_PATH/SetupMono.sh" $BASE_PATH
source "$BASE_PATH/SetupMono.sh" "$BASE_PATH"
# make sure the UBT project has references to auto-discovered platform extension source files
"${BASE_PATH}/../FindPlatformExtensionSources.sh"

View File

@@ -19,7 +19,7 @@ BASE_PATH="`dirname "$SCRIPT_PATH"`"
cd ../../../..
RESULT=0
source "$BASE_PATH/SetupMono.sh" $BASE_PATH
source "$BASE_PATH/SetupMono.sh" "$BASE_PATH"
while : ; do
mono Engine/Binaries/DotNET/GitDependencies.exe $ARGS

View File

@@ -7802,6 +7802,7 @@
<File Name="Engine/Content/Editor/Slate/Icons/icon_GenericCommand_512x.png" Hash="172e2a596d37e0e989eb1e284986f81b9f9590ab" />
<File Name="Engine/Content/Editor/Slate/Icons/icon_Genericfinder_16x.png" Hash="5f568a83aab98e6d6b4c98a211912ae1b6cb5f76" />
<File Name="Engine/Content/Editor/Slate/Icons/icon_help_16x.png" Hash="2cbd664e36e183c2b2482aefc756f49a33030737" />
<File Name="Engine/Content/Editor/Slate/Icons/icon_HideUnrelatedNodes_40x.png" Hash="fc9ce8b33d3761a380fd9d91885a5ffecb24900f" />
<File Name="Engine/Content/Editor/Slate/Icons/icon_HighResScreenshotCapture_24px.png" Hash="dfb4ba1f406f279309d2970f6c5a6255a469cea0" />
<File Name="Engine/Content/Editor/Slate/Icons/icon_Import_16x.png" Hash="6fd06eb19baff9cc8e968b89de464d799fa79aed" />
<File Name="Engine/Content/Editor/Slate/Icons/icon_Import_40x.png" Hash="264f962b035e327bda7ba6fb8651154a2059bbe3" />
@@ -28974,6 +28975,7 @@
<File Name="Engine/Plugins/Editor/PluginBrowser/Templates/ThirdPartyLibrary/Source/ThirdParty/PLUGIN_NAMELibrary/x64/Release/ExampleLibrary.lib" Hash="2bb14ff6822ce9e7d74ba11515beaa547deb7831" />
<File Name="Engine/Plugins/Editor/SequenceRecorder/Resources/Icon128.png" Hash="999db2543e227fcfa6ece50ec9b4a96f54476b95" />
<File Name="Engine/Plugins/Editor/SpeedTreeImporter/Resources/Icon128.png" Hash="c125f94a0d008a9a6f58e94ec852f1a85dbd1ba3" />
<File Name="Engine/Plugins/Editor/StylusInput/Resources/Icon128.png" Hash="999db2543e227fcfa6ece50ec9b4a96f54476b95" />
<File Name="Engine/Plugins/Enterprise/DatasmithContent/Content/Blueprints/FBXImporter/ActiveActor.uasset" Hash="3c2490b429d33b9b081ea7093d4e9dcafd24ed10" />
<File Name="Engine/Plugins/Enterprise/DatasmithContent/Content/Blueprints/FBXImporter/Animation/BP_AnimationPlayer.uasset" Hash="e0ddfa62597030776022b4121b475a392a598481" />
<File Name="Engine/Plugins/Enterprise/DatasmithContent/Content/Blueprints/FBXImporter/Animation/DeltaGenAnimationTrack.uasset" Hash="6bacc5634837acc9607a377d35f1c697f4cc3792" />
@@ -30319,7 +30321,7 @@
<File Name="Engine/Plugins/Experimental/AlembicImporter/Source/ThirdParty/Alembic/openexr/PyIlmBase/PyImathTest/pyImathTest.in" Hash="4dfe6383bc462cb9604880187a12b468a589d9e7" />
<File Name="Engine/Plugins/Experimental/AlembicImporter/Source/ThirdParty/Alembic/openexr/PyIlmBase/README.OSX" Hash="e624ebe0527469536ad47f35cfd7bc1a4e3e864b" />
<File Name="Engine/Plugins/Experimental/AlembicImporter/Source/ThirdParty/Alembic/README.LINUX" Hash="867399038d5e946fba10f7e077c16016ed380542" />
<File Name="Engine/Plugins/Experimental/AlembicImporter/Source/ThirdParty/Eigen/Eigen/Array" Hash="9d954cc7555cde802aabacf21e7def9052940f60" />
<File Name="Engine/Plugins/Experimental/AlembicImporter/Source/ThirdParty/Eigen/Eigen/Array.Moved" Hash="9d954cc7555cde802aabacf21e7def9052940f60" />
<File Name="Engine/Plugins/Experimental/AlembicImporter/Source/ThirdParty/Eigen/Eigen/Cholesky" Hash="ab5b0bfbb674f6884dad316afa08c8afef612548" />
<File Name="Engine/Plugins/Experimental/AlembicImporter/Source/ThirdParty/Eigen/Eigen/CholmodSupport" Hash="ecaf6289f4585c2b8e7305df93956c55373264b0" />
<File Name="Engine/Plugins/Experimental/AlembicImporter/Source/ThirdParty/Eigen/Eigen/Core" Hash="3f298bfb309d52509f7ca9036e4be2d61cf2c87e" />
@@ -68512,6 +68514,7 @@
<Blob Hash="fc9525193f2b57bed7e69f7819ce3605ec215639" Size="79795" PackHash="588da7d9d36957b582f13620b0c6af8de55ff4d3" PackOffset="334637" />
<Blob Hash="fc99ad97e8cf5fcf0b69cdf81836fa2ecc603f06" Size="4235" PackHash="e458507f455e3bac9232d632426fc4b75f29841d" PackOffset="1751955" />
<Blob Hash="fc9b1bb7c44e064b78c2865bd02e11aeca47e33c" Size="2295" PackHash="1d023baa2108e345f4e435e269145d0618dc3072" PackOffset="1846388" />
<Blob Hash="fc9ce8b33d3761a380fd9d91885a5ffecb24900f" Size="4779" PackHash="dd76640d7a478b16003aad9e1612519bb9073146" PackOffset="8" />
<Blob Hash="fc9e3d9b5a34951a7ad3e461120fa6316c3b754a" Size="29080" PackHash="ef7e2f8d0968ac80a17c25ea2e20c056a85163c6" PackOffset="2041255" />
<Blob Hash="fc9e50e3e674bec415723673043d59f3350ac14c" Size="5277" PackHash="f4f360f81e0fe0c3b19ba2e927c0edf2ca16dd74" PackOffset="1290977" />
<Blob Hash="fca29cde7e575f73ee4bcd4c8fd519dcd8fdb302" Size="5152" PackHash="15c1c1820f17cbc99a977498d87549e3b4060f7c" PackOffset="2029466" />
@@ -71592,6 +71595,7 @@
<Pack Hash="dd67559046c4cec3957fcc155765827a5c36dfb2" Size="2091990" CompressedSize="1769486" RemotePath="2487260-b428468bcd6545bfbb79f02a6605b9ef" />
<Pack Hash="dd6aa88361efd8c13bc630db41c40d185f94dafa" Size="3861468" CompressedSize="1053723" RemotePath="2624516-13715a1c40f44f86ab7fb65e4a808831" />
<Pack Hash="dd765b2a31ae5ecdd886e1550b3a93dbc11a74ae" Size="1639509" CompressedSize="1638652" RemotePath="2487260-b428468bcd6545bfbb79f02a6605b9ef" />
<Pack Hash="dd76640d7a478b16003aad9e1612519bb9073146" Size="4787" CompressedSize="3597" RemotePath="UnrealEngine-5112201-8bec72faa1fb44adb4218b9b1d6aeaf7" />
<Pack Hash="dd836b1155ee23e3dbafb95e11612ee4ff9ddada" Size="18968584" CompressedSize="2941602" RemotePath="UnrealEngine-3903710-c0a431f3a7fa47508c57a1b68a0c1c20" />
<Pack Hash="dd958b86ae4c228ca9d82aa872a08864d6e6d709" Size="3744020" CompressedSize="1209787" RemotePath="UnrealEngine-4701569-931ecbd1d7a3404eae09d332843311ee" />
<Pack Hash="dd9f6d9c63ed5364651b83ee27c4482751584e3b" Size="8081416" CompressedSize="2219025" RemotePath="UnrealEngine-3903710-c0a431f3a7fa47508c57a1b68a0c1c20" />

View File

@@ -189,7 +189,7 @@
<Switch>
<Case If="'$(WithFullDebugInfo)' == true">
<!-- Copy files for local debug builds -->
<Copy Files="#UE4Editor Linux Unstripped" From="$(RootDir)" To="$(SavedOutput)"/>
<Copy Files="#UE4Editor Linux Unstripped" From="$(RootDir)" To="$(SavedOutput)" Tag="#UE4Editor Linux Stripped"/>
</Case>
<Default>
<!-- Otherwise, strip the files for distribution -->

View File

@@ -613,46 +613,90 @@ BackupIntervalInMinutes=5
[/Script/UnrealEd.FbxImportUI]
bImportMaterials=True
bAutoCreateGroups=True
bInvertNormalMaps=False
bImportTextures=True
bOverrideFullName=True
bCreatePhysicsAsset=True
bAutoComputeLodDistances=True
LodDistance0=0.0
LodDistance1=0.0
LodDistance2=0.0
LodDistance3=0.0
LodDistance4=0.0
LodDistance5=0.0
LodDistance6=0.0
LodDistance7=0.0
MinimumLodNumber=0
LodNumber=0
bImportAnimations=False
bImportMaterials=True
bImportTextures=True
[/Script/UnrealEd.FbxAssetImportData]
ImportTranslation=(X=0.0,Y=0.0,Z=0.0)
ImportRotation=(Pitch=0.0,Yaw=0.0,Roll=0.0)
ImportUniformScale=1.0
bConvertScene=True
bForceFrontXAxis=False
bConvertSceneUnit=False
bRemoveNamespaces=True
bImportAnimations=False
bResampleAnimations=False
bImportRigidMesh=False
bCombineMeshes=True
bCreatePhysicsAsset=True
bImportMesh=True
MinimumLodNumber=0
LodNumber=0
bAutoComputeLodDistances=True
[/Script/UnrealEd.FbxMeshImportData]
bTransformVertexToAbsolute=True
bBakePivotInVertex=False
bReorderMaterialToFbxOrder=True
bImportMeshLODs=False
NormalImportMethod=FBXNIM_ComputeNormals
NormalGenerationMethod=EFBXNormalGenerationMethod::MikkTSpace
[/Script/UnrealEd.FbxStaticMeshImportData]
bOneConvexHullPerUCX=True
bImportMeshLODs=False
NormalImportMethod=FBXNIM_ImportNormals
StaticMeshLODGroup=""
VertexColorImportOption=EVertexColorImportOption::Ignore
VertexOverrideColor=(R=255,G=255,B=255,A=255)
bRemoveDegenerates=True
bBuildAdjacencyBuffer=True
bBuildReversedIndexBuffer=True
bGenerateLightmapUVs=True
bOneConvexHullPerUCX=True
bAutoGenerateCollision=True
bCombineMeshes=False
; Override of the base class default value
NormalImportMethod=FBXNIM_ImportNormals
[/Script/UnrealEd.FbxSkeletalMeshImportData]
VertexColorImportOption=EVertexColorImportOption::Replace
VertexOverrideColor=(R=0,G=0,B=0,A=0)
bUpdateSkeletonReferencePose=False
bUseT0AsRefPose=False
bPreserveSmoothingGroups=True
bImportMeshLODs=False
bImportMeshesInBoneHierarchy=True
bImportMorphTargets=False
ThresholdPosition=0.00002
ThresholdTangentNormal=0.00002
ThresholdUV=0.0009765625
[/Script/UnrealEd.FbxAnimSequenceImportData]
bImportMeshesInBoneHierarchy=True
AnimationLength=FBXALIT_ExportedTime
FrameImportRange=(Min=0, Max=0)
bUseDefaultSampleRate=False
CustomSampleRate=0
bImportCustomAttribute=True
bDeleteExistingCustomAttributeCurves=False
bImportBoneTracks=True
bSetMaterialDriveParameterOnCustomAttribute=False
bRemoveRedundantKeys=True
bDeleteExistingMorphTargetCurves=False
bDoNotImportCurveWithZero=True
bPreserveLocalTransform=False
[/Script/UnrealEd.FbxTextureImportData]
bInvertNormalMaps=False
MaterialSearchLocation=EMaterialSearchLocation::Local
BaseMaterialName=""
BaseColorName=""
BaseDiffuseTextureName=""
BaseNormalTextureName=""
BaseEmissiveColorName=""
BaseEmmisiveTextureName=""
BaseSpecularTextureName=""
[SoundSettings]
ChirpSoundClasses=Dialog DialogMedium DialogLoud DialogDeafening

View File

@@ -53,7 +53,7 @@ IncludeCollectionNames=True
+Categories=(Identifier="Animation",Title=NSLOCTEXT("TutorialCategories","AnimationTitle","Animation"),Description=NSLOCTEXT("TutorialCategories","AnimationDescription","Tutorials covering the animation system in Unreal Engine 4."),Icon=,Texture=/Engine/Tutorial/SubEditors/TutorialAssets/icon_ShowSkeletalMeshes_40x.icon_ShowSkeletalMeshes_40x,SortOrder=600)
+Categories=(Identifier="Landscape",Title=NSLOCTEXT("TutorialCategories","LandscapeTitle","Landscape"),Description=NSLOCTEXT("TutorialCategories","LandscapeDescription","Tutorials covering the Unreal Editor 4 terrain editor: Landscape."),Icon="LevelEditor.LandscapeMode",Texture=/Engine/Tutorial/Landscape/TutorialAssets/Landscape.Landscape,SortOrder=700)
+Categories=(Identifier="Foliage",Title=NSLOCTEXT("TutorialCategories","FoliageTitle","Foliage"),Description=NSLOCTEXT("TutorialCategories","FoliageDescription","Tutorials covering the Unreal Engine 4 Foliage tool."),Icon="LevelEditor.FoliageMode",Texture=/Engine/Tutorial/Foliage/TutorialAssets/Foliage.Foliage,SortOrder=800)
+Categories=(Identifier="Mobile",Title=NSLOCTEXT("TutorialCategories","MobileTitle","Mobile"),Description=NSLOCTEXT("TutorialCategories","MobileDescription","Mobile Tutorials."),Icon="MaterialEditor.ToggleMobileStats",Texture=None,SortOrder=900)
+Categories=(Identifier="Mobile",Title=NSLOCTEXT("TutorialCategories","MobileTitle","Mobile"),Description=NSLOCTEXT("TutorialCategories","MobileDescription","Mobile Tutorials."),Icon="MaterialEditor.TogglePlatformStats",Texture=None,SortOrder=900)
+StartupTutorial=/Engine/Tutorial/Basics/LevelEditorAttract.LevelEditorAttract_C
+TutorialContexts=(Context="StaticMeshEditor",BrowserFilter=,AttractTutorial=None,LaunchTutorial=/Engine/Tutorial/SubEditors/StaticMeshEditorTutorial.StaticMeshEditorTutorial_C)
+TutorialContexts=(Context="LevelEditor",BrowserFilter=,AttractTutorial=None,LaunchTutorial=/Engine/Tutorial/Basics/LevelEditorOverview.LevelEditorOverview_C)

View File

@@ -656,6 +656,7 @@ bUseStreamingPause=false
+FunctionRedirects=(OldName="EditorUtilityWidget.OnDefaultActionClicked",NewName="EditorUtilityWidget.Run")
+FunctionRedirects=(OldName="SkeletalMeshComponent.GetSubInstanceByName",NewName="KismetSystemLibrary.GetSubInstanceByTag")
+StructRedirects=(OldName="/Script/AnimGraphRuntime.AnimNode_Root",NewName="/Script/Engine.AnimNode_Root")
+FunctionRedirects=(OldName="Widget.SetRenderAngle", NewName="Widget.SetRenderTransformAngle")
+ClassRedirects=(OldName="/Script/CoreUObject.MulticastDelegateProperty",NewName="/Script/CoreUObject.MulticastInlineDelegateProperty")
+ClassRedirects=(OldName="EditorAutomationActor",NewName="EditorUtilityActor")

View File

@@ -22,13 +22,13 @@ struct FSpriteRenderSection;
* This component is created when you drag a tile map asset from the content browser into a Blueprint, or
* contained inside of the actor created when you drag one into the level.
*
* NOTE: This is an early access preview class. While not considered production-ready, it is a step beyond
* NOTE: This is an beta preview class. While not considered production-ready, it is a step beyond
* 'experimental' and is being provided as a preview of things to come:
* - We will try to provide forward-compatibility for content you create.
* - The classes may change significantly in the future.
* - The code is in an early state and may not meet the desired polish / quality bar.
* - There is probably no documentation or example content yet.
* - They will be promoted out of 'Early Access' when they are production ready.
* - They will be promoted out of 'beta' when they are production ready.
*
* @see UPrimitiveComponent, UPaperTileMap
*/

View File

@@ -179,7 +179,7 @@ FReply SPaperEditorViewport::OnMouseButtonDown(const FGeometry& MyGeometry, cons
ReplyState.CaptureMouse( SharedThis(this) );
ReplyState.UseHighPrecisionMouseMovement( SharedThis(this) );
SoftwareCursorPosition = PanelCoordToGraphCoord( MyGeometry.AbsoluteToLocal( MouseEvent.GetScreenSpacePosition() ) );
SoftwareCursorPosition = PanelCoordToGraphCoord( MyGeometry.AbsoluteToLocal( MouseEvent.GetScreenSpacePosition() ) * MyGeometry.Scale );
// clear any interpolation when you manually pan
//DeferredMovementTargetObject = nullptr;
@@ -189,7 +189,7 @@ FReply SPaperEditorViewport::OnMouseButtonDown(const FGeometry& MyGeometry, cons
else if (MouseEvent.GetEffectingButton() == EKeys::LeftMouseButton)
{
// START MARQUEE SELECTION.
const FVector2D GraphMousePos = PanelCoordToGraphCoord( MyGeometry.AbsoluteToLocal( MouseEvent.GetScreenSpacePosition() ) );
const FVector2D GraphMousePos = PanelCoordToGraphCoord( MyGeometry.AbsoluteToLocal( MouseEvent.GetScreenSpacePosition() ) * MyGeometry.Scale );
Marquee.Start( GraphMousePos, FMarqueeOperation::OperationTypeFromMouseEvent(MouseEvent) );
// Trigger a selection update now so that single-clicks without a drag still select something
@@ -218,7 +218,7 @@ FReply SPaperEditorViewport::OnMouseButtonUp(const FGeometry& MyGeometry, const
if (HasMouseCapture())
{
FSlateRect ThisPanelScreenSpaceRect = MyGeometry.GetLayoutBoundingRect();
const FVector2D ScreenSpaceCursorPos = MyGeometry.LocalToAbsolute( GraphCoordToPanelCoord( SoftwareCursorPosition ) );
const FVector2D ScreenSpaceCursorPos = MyGeometry.LocalToAbsolute( GraphCoordToPanelCoord( SoftwareCursorPosition ) / MyGeometry.Scale );
FIntPoint BestPositionInViewport(
FMath::RoundToInt( FMath::Clamp( ScreenSpaceCursorPos.X, ThisPanelScreenSpaceRect.Left, ThisPanelScreenSpaceRect.Right ) ),
@@ -335,7 +335,7 @@ FReply SPaperEditorViewport::OnMouseMove(const FGeometry& MyGeometry, const FPoi
{
// We are marquee selecting
const FVector2D GraphMousePos = PanelCoordToGraphCoord( MyGeometry.AbsoluteToLocal( MouseEvent.GetScreenSpacePosition() ) );
const FVector2D GraphMousePos = PanelCoordToGraphCoord( MyGeometry.AbsoluteToLocal( MouseEvent.GetScreenSpacePosition() ) * MyGeometry.Scale );
Marquee.Rect.UpdateEndPoint(GraphMousePos);
return FReply::Handled();
@@ -349,7 +349,7 @@ FReply SPaperEditorViewport::OnMouseMove(const FGeometry& MyGeometry, const FPoi
FReply SPaperEditorViewport::OnMouseWheel(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent)
{
// We want to zoom into this point; i.e. keep it the same fraction offset into the panel
const FVector2D WidgetSpaceCursorPos = MyGeometry.AbsoluteToLocal( MouseEvent.GetScreenSpacePosition() );
const FVector2D WidgetSpaceCursorPos = MyGeometry.AbsoluteToLocal( MouseEvent.GetScreenSpacePosition() ) * MyGeometry.Scale;
FVector2D PointToMaintainGraphSpace = PanelCoordToGraphCoord( WidgetSpaceCursorPos );
@@ -515,7 +515,7 @@ void SPaperEditorViewport::PaintSoftwareCursor(const FGeometry& AllottedGeometry
FSlateDrawElement::MakeBox(
OutDrawElements,
DrawLayerId,
AllottedGeometry.ToPaintGeometry( GraphCoordToPanelCoord(SoftwareCursorPosition) - ( Brush->ImageSize / 2 ), Brush->ImageSize ),
AllottedGeometry.ToPaintGeometry( GraphCoordToPanelCoord(SoftwareCursorPosition) / AllottedGeometry.Scale - ( Brush->ImageSize / 2 ), Brush->ImageSize ),
Brush);
}
}

View File

@@ -233,7 +233,7 @@ TSharedRef<SDockTab> FTileMapEditor::SpawnTab_Viewport(const FSpawnTabArgs& Args
SNew(STextBlock)
.Visibility(EVisibility::HitTestInvisible)
.TextStyle(FEditorStyle::Get(), "Graph.CornerText")
.Text(LOCTEXT("TileMapEditorViewportEarlyAccessPreviewWarning", "Early access preview"))
.Text(LOCTEXT("TileMapEditorViewportEarlyAccessPreviewWarning", "Beta preview"))
]
];
}

View File

@@ -25,7 +25,6 @@
#include "Widgets/Text/STextBlock.h"
#include "Widgets/Input/SNumericEntryBox.h"
#include "Misc/Optional.h"
#include "Widgets/Input/SVectorInputBox.h"
#include "Widgets/SWidget.h"
#include "Widgets/Colors/SColorPicker.h"
#include "Widgets/Input/SComboButton.h"

View File

@@ -16,7 +16,7 @@ void SConcertScrollBox::Construct(const FArguments& InArgs)
bPreventLock = false;
ScrollBar = SNew(SScrollBar)
.Thickness(FVector2D(8.0f, 8.0f));
.Thickness(FVector2D(12.0f, 12.0f));
ChildSlot
[

View File

@@ -1285,7 +1285,7 @@ bool FPerforceUpdateStatusWorker::Execute(FPerforceSourceControlCommand& InComma
if(Operation->ShouldGetOpenedOnly())
{
const FString ContentFolder = FPaths::ConvertRelativePathToFull(FPaths::RootDir());
const FString ContentFolder = FPaths::ConvertRelativePathToFull(FPaths::ProjectDir());
const FString FileQuery = FString::Printf(TEXT("%s..."), *ContentFolder);
TArray<FString> Parameters = InCommand.Files;
Parameters.Add(FileQuery);

View File

@@ -619,7 +619,7 @@ bool FSubversionUpdateStatusWorker::Execute(FSubversionSourceControlCommand& InC
Parameters.Add(TEXT("--verbose"));
TArray<FString> Files;
Files.Add(FPaths::RootDir());
Files.Add(FPaths::ProjectDir());
InCommand.bCommandSuccessful &= SubversionSourceControlUtils::RunCommand(TEXT("status"), Files, Parameters, ResultsXml, InCommand.ErrorMessages, InCommand.UserName);
SubversionSourceControlUtils::ParseStatusResults(ResultsXml, InCommand.ErrorMessages, InCommand.UserName, InCommand.WorkingCopyRoot, OutStates);

View File

@@ -22,6 +22,7 @@ void FAssetManagerEditorCommands::RegisterCommands()
UI_COMMAND(ViewAssetAudit, "Audit Assets...", "Opens the Asset Audit UI and displays information about the selected assets", EUserInterfaceActionType::Button, FInputChord(EModifierKey::Shift | EModifierKey::Alt, EKeys::A));
UI_COMMAND(OpenSelectedInAssetEditor, "Edit...", "Opens the selected asset in the relevent editor.", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND(ZoomToFit, "Zoom to Fit", "Zoom in and center the view on the selected item", EUserInterfaceActionType::Button, FInputChord(EKeys::Home));
UI_COMMAND(ReCenterGraph, "Re-Center Graph", "Re-centers the graph on this node, showing all referencers and references for this asset instead", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND(CopyReferencedObjects, "Copy Referenced Objects List", "Copies the list of objects that the selected asset references to the clipboard.", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND(CopyReferencingObjects, "Copy Referencing Objects List", "Copies the list of objects that reference the selected asset to the clipboard.", EUserInterfaceActionType::Button, FInputChord());
@@ -29,6 +30,7 @@ void FAssetManagerEditorCommands::RegisterCommands()
UI_COMMAND(ShowReferencingObjects, "Show Referencing Objects List", "Shows a list of objects that reference the selected asset.", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND(ShowReferenceTree, "Show Reference Tree", "Shows a reference tree for the selected asset.", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND(AuditReferencedObjects, "Audit References", "Opens the Asset Audit UI and displays information about all assets referenced by selected asset", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND(Find, "Find", "Find objects in the reference viewer.", EUserInterfaceActionType::Button, FInputChord(EModifierKey::Control, EKeys::F));
UI_COMMAND(MakeLocalCollectionWithReferencers, "Local", "Local. This collection is only visible to you and is not in source control.", EUserInterfaceActionType::Button, FInputChord());
UI_COMMAND(MakePrivateCollectionWithReferencers, "Private", "Private. This collection is only visible to you.", EUserInterfaceActionType::Button, FInputChord());

View File

@@ -49,6 +49,12 @@ public:
// Adds all referenced objects to asset audit window
TSharedPtr<FUICommandInfo> AuditReferencedObjects;
/** Zoom in to fit the selected objects in the window */
TSharedPtr<FUICommandInfo> ZoomToFit;
/** Start finding objects */
TSharedPtr<FUICommandInfo> Find;
// Creates a new collection with the list of assets that this asset references, user selects which ECollectionShareType to use.
TSharedPtr<FUICommandInfo> MakeLocalCollectionWithReferencers;
TSharedPtr<FUICommandInfo> MakePrivateCollectionWithReferencers;

View File

@@ -62,6 +62,7 @@ void UReferenceViewerSchema::GetContextMenuActions(const UEdGraph* CurrentGraph,
MenuBuilder->BeginSection(TEXT("Misc"), NSLOCTEXT("ReferenceViewerSchema", "MiscSectionLabel", "Misc"));
{
MenuBuilder->AddMenuEntry(FAssetManagerEditorCommands::Get().ZoomToFit);
MenuBuilder->AddMenuEntry(FAssetManagerEditorCommands::Get().ReCenterGraph);
MenuBuilder->AddSubMenu(
NSLOCTEXT("ReferenceViewerSchema", "MakeCollectionWithTitle", "Make Collection with"),

View File

@@ -15,6 +15,7 @@
#include "Widgets/Input/SEditableTextBox.h"
#include "Widgets/Input/SButton.h"
#include "Widgets/Input/SCheckBox.h"
#include "Widgets/Input/SSearchBox.h"
#include "Widgets/Input/SSpinBox.h"
#include "EditorStyleSet.h"
#include "Engine/Selection.h"
@@ -32,6 +33,7 @@
#include "Widgets/Input/SComboBox.h"
#include "HAL/PlatformApplicationMisc.h"
#include "AssetManagerEditorModule.h"
#include "Framework/Application/SlateApplication.h"
#include "ObjectTools.h"
@@ -179,6 +181,18 @@ void SReferenceViewer::Construct(const FArguments& InArgs)
.BorderImage( FEditorStyle::GetBrush("ToolPanel.GroupBorder") )
[
SNew(SVerticalBox)
+SVerticalBox::Slot()
.HAlign(HAlign_Fill)
.VAlign(VAlign_Center)
.Padding(2.f)
.AutoHeight()
[
SAssignNew(SearchBox, SSearchBox)
.HintText(LOCTEXT("Search", "Search..."))
.ToolTipText(LOCTEXT("SearchTooltip", "Type here to search (pressing Enter zooms to the results)"))
.OnTextChanged(this, &SReferenceViewer::HandleOnSearchTextChanged)
.OnTextCommitted(this, &SReferenceViewer::HandleOnSearchTextCommitted)
]
+SVerticalBox::Slot()
.AutoHeight()
@@ -898,6 +912,15 @@ void SReferenceViewer::RegisterActions()
ReferenceViewerActions = MakeShareable(new FUICommandList);
FAssetManagerEditorCommands::Register();
ReferenceViewerActions->MapAction(
FAssetManagerEditorCommands::Get().ZoomToFit,
FExecuteAction::CreateSP(this, &SReferenceViewer::ZoomToFit),
FCanExecuteAction::CreateSP(this, &SReferenceViewer::CanZoomToFit));
ReferenceViewerActions->MapAction(
FAssetManagerEditorCommands::Get().Find,
FExecuteAction::CreateSP(this, &SReferenceViewer::OnFind));
ReferenceViewerActions->MapAction(
FGlobalEditorCommonCommands::Get().FindInContentBrowser,
FExecuteAction::CreateSP(this, &SReferenceViewer::ShowSelectionInContentBrowser),
@@ -1427,4 +1450,91 @@ void SReferenceViewer::OnInitialAssetRegistrySearchComplete()
}
}
void SReferenceViewer::ZoomToFit()
{
if (GraphEditorPtr.IsValid())
{
GraphEditorPtr->ZoomToFit(true);
}
}
bool SReferenceViewer::CanZoomToFit() const
{
if (GraphEditorPtr.IsValid())
{
return true;
}
return false;
}
void SReferenceViewer::OnFind()
{
FSlateApplication::Get().SetKeyboardFocus(SearchBox, EFocusCause::SetDirectly);
}
void SReferenceViewer::HandleOnSearchTextChanged(const FText& SearchText)
{
if (GraphObj == nullptr || !GraphEditorPtr.IsValid())
{
return;
}
GraphEditorPtr->ClearSelectionSet();
if (SearchText.IsEmpty())
{
return;
}
FString SearchString = SearchText.ToString();
TArray<FString> SearchWords;
SearchString.ParseIntoArrayWS( SearchWords );
TArray<UEdGraphNode_Reference*> AllNodes;
GraphObj->GetNodesOfClass<UEdGraphNode_Reference>( AllNodes );
TArray<FName> NodePackageNames;
for (UEdGraphNode_Reference* Node : AllNodes)
{
NodePackageNames.Empty();
Node->GetAllPackageNames(NodePackageNames);
for (const FName& PackageName : NodePackageNames)
{
// package name must match all words
bool bMatch = true;
for (const FString& Word : SearchWords)
{
if (!PackageName.ToString().Contains(Word))
{
bMatch = false;
break;
}
}
if (bMatch)
{
GraphEditorPtr->SetNodeSelection(Node, true);
break;
}
}
}
}
void SReferenceViewer::HandleOnSearchTextCommitted(const FText& SearchText, ETextCommit::Type CommitType)
{
if (!GraphEditorPtr.IsValid())
{
return;
}
if (CommitType == ETextCommit::OnCleared)
{
GraphEditorPtr->ClearSelectionSet();
}
GraphEditorPtr->ZoomToFit(true);
}
#undef LOCTEXT_NAMESPACE

View File

@@ -6,6 +6,7 @@
#include "Input/Reply.h"
#include "Widgets/DeclarativeSyntaxSupport.h"
#include "Widgets/SCompoundWidget.h"
#include "Widgets/Input/SSearchBox.h"
#include "GraphEditor.h"
#include "AssetData.h"
#include "HistoryManager.h"
@@ -130,6 +131,13 @@ private:
void ShowReferenceTree();
void ViewSizeMap();
void ViewAssetAudit();
void ZoomToFit();
bool CanZoomToFit() const;
void OnFind();
/** Handlers for searching */
void HandleOnSearchTextChanged(const FText& SearchText);
void HandleOnSearchTextCommitted(const FText& SearchText, ETextCommit::Type CommitType);
void ReCenterGraphOnNodes(const TSet<UObject*>& Nodes);
@@ -153,6 +161,7 @@ private:
TSharedPtr<SGraphEditor> GraphEditorPtr;
TSharedPtr<FUICommandList> ReferenceViewerActions;
TSharedPtr<SSearchBox> SearchBox;
UEdGraph_ReferenceViewer* GraphObj;

Some files were not shown because too many files have changed in this diff Show More