42 Commits

Author SHA1 Message Date
sebastian arleryd
59b0650602 Going back on this because the plan for this work changed.
#jira UE-183373
[FYI] brooke.hubert, rex.hill

[CL 29515400 by sebastian arleryd in ue5-main branch]
2023-11-07 04:11:14 -05:00
sebastian arleryd
20fab1b1c8 Remove unused return value from FMainMenu::MakeMainMenu
This paves the way for a flickering fix of the main menus when widgets are shared between widgets where I will move the responsibility for creating widgets into the tab manager. In the tab manager, the main menu widgets will be created per window behind the scenes. Therefore, we cannot return a widget from these methods because there might be more than one and they haven't been created yet.

* Private API changes: Change the return type from TSharedRef/Ptr<SWidget> to void on various private API MakeMainMenu methods (of FLevelEditorMenu, FMainFrameModule, FMainMenu, and SStandaloneAssetEditorToolkitHost).
* Public API change: Add new method void IMainFrameModule::MakeMainMenuNoWidget.
* Public API change: Deprecate the method TSharedRef<SWidget> IMainFrameModule::MakeMainMenu and provide a default implementation for the time being that calls MakeMainMenuNoWidget.

#jira UE-183373
#rb brooke.hubert

[CL 28710510 by sebastian arleryd in ue5-main branch]
2023-10-12 10:44:50 -04:00
Mike Beach
706505599a Providing a hook for external sources to override the editor's main window, much like the project browser does. Allows plugins to provide their own kind of "start up check" dialog.
Switching over the project browser dialog to use the new system.

#rb Lauren.Barnes
#preflight 63293e08b40000c8f04da02a
#preflight 6329eb72fc7f1efbdf479b84

[CL 22100188 by Mike Beach in ue5-main branch]
2022-09-20 15:34:49 -04:00
alban bergeret
84dae18182 Added initial Simulation Template Category (still hidden) and a Simulation Blank template (BP & C++)
#preflight 62d70b0a47779a730aaac4a6
#preflight 6308f8f4133e67151eb2ef0f

[CL 21595139 by alban bergeret in ue5-main branch]
2022-08-26 14:21:24 -04:00
dave belanger
f315e68390 Add a way to override the section that gets selected by default when opening the editor preferences dialog
#rb Jason.Stasik
#preflight 62b4b13e95005e0dbc2d0041

#ROBOMERGE-AUTHOR: dave.belanger
#ROBOMERGE-SOURCE: CL 20800011 via CL 20800274 via CL 20801851 via CL 20802047
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20804417 by dave belanger in ue5-main branch]
2022-06-23 18:50:14 -04:00
Robb Surridge
a34eda9895 Make a delegate on the main frame that can be used to request resources, which plugins can register to listen for.
#rb lauren.barnes
#jira none
#preflight 6217d7cdd71b6cfc9d5b09c5

[CL 19200955 by Robb Surridge in ue5-main branch]
2022-03-01 12:29:13 -05:00
Matt Kuhlenschmidt
87e5451da6 Nomad tabs docked with major tabs now have a menu instead of just empty space. The menu is simplified because nomad tabs do not belong to a specific editor.
[CL 16115179 by Matt Kuhlenschmidt in ue5-main branch]
2021-04-26 12:11:27 -04:00
Tim Smith
a2237e050d LiveCoding Re-instancing
LIMITATIONS:

1) Re-instancing will only update UClass instance data.
2) Adding and removing properties should only be done towards the end of a class or structure and can not be followed by complex data types.
3) Adding and removing properties from a base class should not be done if a derived class contains complex data types.

KNOWN ISSUES:

1) Changes to enumerations and structures will not be reflected in existing blueprints.  However, adding new nodes to the blueprint will show the updated enumeration or structure.
2) If a class contains an enumeration or structure as a member, the class will not be re-instanced if enumeration or structure is changed.

CHANGES:

1) LiveCodingServer
1a) Modified to always execute certain static instances during load.
1b) Modified to exclude the _Statics static structures to avoid patching to old copies.

2) Added support for LiveCoding reinstancing
2a) Refactored deferred registration system for UClass, UEnum, and UScriptStruct to use a common system that works for normal game, hot reload and live coding.
2b) Type specific version check data is possible (i.e. enum doesn't have a size)
2c) Single registration static for UClass
2d) Single registration class for all types that is just a blind forward to API.
2e) Static and dynamic registrations use different API entry points to avoid having overloaded argument lists that just apply to one or the other.
2f) Shims for older API

3) New common "Reload" system to avoid using HotReload code.
3a) Support common delegates regardless of who is reloading/reinstancing.
3b) Re-instancing code moved from HotReload to Kismet2 (where the bulk of the re-instance code already existed).
3c) Modified PyWrapper to use new helper class instead of depending on HotRelaod
3d) Added WITH_RELOAD which is defined if HotReload or LiveCoding is enabled.
3e) Modifed existing code to use new #define and delegates.

Robert did the review on the changes covered by Part 2.  Remaining changes are all straightforward.

#rb robert.manuszewski
#jira UE-74493

[CL 15736777 by Tim Smith in ue5-main branch]
2021-03-18 08:13:59 -04:00
matt kuhlenschmidt
9e3deb7716 Project dialog reskin
#jira UETOOL-2465

#ROBOMERGE-SOURCE: CL 15366173 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15368932 by matt kuhlenschmidt in ue5-main branch]
2021-02-09 15:02:56 -04:00
Gines Hidalgo
a606c1d42a #jira UE-107755
Editor layout system: If there is a version bump in the layout system, it used to show a message dialog always. Behavior modified.
If the load request comes from the "Load" UI button, it keep displaying a message dialog to warn the user (and a UELOG(Warning)). If it's from the editor startup, it will only show the UE_LOG(Warning).

Also modified the default layout with the new version.

#rb none

[CL 15307798 by Gines Hidalgo in ue5-main branch]
2021-02-03 21:14:05 -04:00
Jeff Farris
5d6a040e5f Moved/added some deprecation pragmas to fix warnings on some compilers (e.g. VS2017).
#review-14495615 ben.marsh, marcus.wassmer

[CL 14517515 by Jeff Farris in ue5-main branch]
2020-10-19 16:13:57 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Vincent Gauthier
9cda21ffb3 Prevent Save and Checkout dialog to show up when changing the layout of the Editor.
#jira UE-97890
#rb patrick.boutot

[CL 14293099 by Vincent Gauthier in ue5-main branch]
2020-09-10 16:35:26 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
rex hill
9c3ceb9689 Add option to delay showing main frame at startup
#rb chris.gagnon


#ROBOMERGE-SOURCE: CL 11672298 via CL 11672319 via CL 11672336
#ROBOMERGE-BOT: (v656-11643781)

[CL 11863430 by rex hill in Main branch]
2020-03-03 09:05:40 -05:00
mike fricker
a3072a7a0f UE4: Expose support for overriding the application title
Added new IMainFrame module interface function to override the application title.

IMainFrameModule::SetOverrideApplicationTitle(FText)



#ROBOMERGE-SOURCE: CL 10996086 via CL 10996091 via CL 10996095
#ROBOMERGE-BOT: (v633-10983880)

[CL 10996097 by mike fricker in Main branch]
2020-01-15 14:44:42 -05:00
ryan durand
627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00
Chris Gagnon
2e87118a18 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) Interim 4.24.
#rb none

[CL 8614014 by Chris Gagnon in Main branch]
2019-09-10 11:35:20 -04:00
JeanMichel Dignard
0f9ad96858 Copying //UE4/Dev-Enterprise @ cl 6890376 to Dev-Main (//UE4/Dev-Main)
#lockdown nick.penwarden
#rb none

[CL 6890764 by JeanMichel Dignard in Main branch]
2019-06-07 11:22:52 -04:00
Chris Gagnon
8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
4ba423868f 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