Commit Graph

82 Commits

Author SHA1 Message Date
Max Chen
d2ea33ba30 Sequencer: Add asterisk to the Sequencer tab if the asset is dirty (similar to level editor)
#jira UE-150643
#preflight 627e7e076d7654cc68a9b195
#rb andrew.rodham

[CL 20255185 by Max Chen in ue5-main branch]
2022-05-17 22:18:24 -04:00
aditya ravichandran
632ef3784e Outliner:
Port ActorBrowsingMode over to the new Editor Config system to have separate settings for each outliner
Enable Stacked Hierarchy Headers by default
Add the ability to disable framing selection
Add the ability to get the most recently used outliner from the level editor
Fix a bug where renaming an item on one outliner would sometimes execute the rename on a different outliner

#rb richard.malo
#jira UETOOL-5014
#preflight 627aa9811e74993343331221

[CL 20126651 by aditya ravichandran in ue5-main branch]
2022-05-10 14:20:42 -04:00
aditya ravichandran
6d8b2860da Re-create the Outliner on Map Change,
Disable the Pinned Column and Context Menu option on non-wp maps,
Rename the Level Column to "Package Short Name" on wp enabled maps,
Add the ability to access all outliners from SLevelEditor

#jira UE-133207
#jira UETOOL-4981
#rb Lauren.Barnes
#preflight 620d0fa37948a1e5e4b1d578

[CL 19014298 by aditya ravichandran in ue5-main branch]
2022-02-16 10:02:22 -05:00
semion piskarev
5268d458d2 Add ability to get status bar name from IToolkitHost interface. The mode UI layer classes now get their status bar name from their toolkit host.
#rb Lauren.Barnes, Rinat.Abdrashitov
#rnx
#jira none
#preflight 619c085f974d7d572675945b

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 18263637 in //UE5/Release-5.0/... via CL 18263645
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18263652 by semion piskarev in ue5-release-engine-test branch]
2021-11-22 16:50:41 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
steven dao
b70a3f2efd Add new Actions (Actor/Component/Element) menu to the level editor's main menu bar that brings up the context menu corresponding to the selection
- The menu's title changes depending on the selection ("Actor", "Component", or "Element" currently since those are the three currently-defined context menus for the level editor)
- The context menus will get reorganized in subsequent changes so that the pulldown Actions menu displays the full set of entries while the right-click context menu is trimmed down to a shorter subset of entries. This change does not reorganize any items yet.
- Add support to UToolMenus for using a TAttribute<FText> for the pulldown menu title/tooltip and for supplying FOnGetContent for generating the pulldown menu.

#rb rex.hill
#preflight 61534e89260f7d0001c7e4ac

#ROBOMERGE-OWNER: steven.dao
#ROBOMERGE-AUTHOR: steven.dao
#ROBOMERGE-SOURCE: CL 17652268 via CL 17652271 via CL 17652276 via CL 17652280 via CL 17652287
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17652461 by steven dao in ue5-release-engine-test branch]
2021-09-28 17:41:11 -04:00
lauren barnes
5bd8c74d4e FAssetEditorModeUILayer now serves as a layer between a given asset editor and the mode toolkits, so that the mode toolkits can request UI panels and the asset editor determines where they are located in the asset editor layout. The first implementation is in the level editor, and all default mode UI has been moved to FModeToolkit.
#jira UETOOL-3555
#preflight 61143dbf9c7bb10001f080b3
#rb Matt.Kuhlenschmidt

#ROBOMERGE-SOURCE: CL 17152278 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17152291 by lauren barnes in ue5-release-engine-test branch]
2021-08-12 10:54:54 -04:00
jamie dale
e629562e38 Fixed some places leaving lingering element references from selection
#jira UE-116919
#rb Francis.Hurteau, Brooke.Hubert
#lockdown Simon.Tourangeau
#preflight 60c00edab68c70000182639c

#ROBOMERGE-SOURCE: CL 16599146 in //UE5/Release-5.0-EarlyAccess/... via CL 16599171
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16599172 by jamie dale in ue5-release-engine-test branch]
2021-06-08 21:22:02 -04:00
jamie dale
0f54e84773 Minimal context menu for static mesh instance elements
Currently only delete and delta transform are enabled/available

#rb Brooke.Hubert

#ROBOMERGE-SOURCE: CL 15631470 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v777-15581079)

[CL 15631487 by jamie dale in ue5-main branch]
2021-03-05 20:06:48 -04:00
Max Chen
9b73c0f152 Editor: Change to SLevelViewport
#jira UE-108941
#rb brooke.hubert

[CL 15520489 by Max Chen in ue5-main branch]
2021-02-24 16:03:09 -04:00
louise rasmussen
75b78dbb8e Pathway for Toolkits to add Viewport Overlay Widgets
#JIRA UETOOL-2865
#rb matt.kuhlenschmidt

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

[CL 15322953 by louise rasmussen in ue5-main branch]
2021-02-04 17:51:49 -04:00
Jamie Dale
38a52472be Added support for deleting typed elements from a world
#rb Brooke.Hubert

[CL 15265153 by Jamie Dale in ue5-main branch]
2021-01-31 11:46:45 -04:00
brooke hubert
6eb892af36 Modes can be toggled in the level editor toolbox at runtime.
#Jira UE-107423
#rb lauren.barnes

[CL 15261947 by brooke hubert in ue5-main branch]
2021-01-29 13:59:36 -04:00
Matt Kuhlenschmidt
15c62ae3f7 Fix warnings and missing include
[CL 15211577 by Matt Kuhlenschmidt in ue5-main branch]
2021-01-26 17:42:03 -04:00
Matt Kuhlenschmidt
24fd139385 Fixed up locations making one off thumbnail pools and converted them to use the shared thumbnail pool.
[CL 15211295 by Matt Kuhlenschmidt in ue5-main branch]
2021-01-26 17:21:08 -04:00
JeanFrancois Dube
637a061766 Allow opening data layers/world partition editors even when the world doesn't support it by making sure they disable their dialogs.
That way, we can have the editors open at editor startup and avoid having to reopen them when needed.

#rb richard.malo

[CL 15132491 by JeanFrancois Dube in ue5-main branch]
2021-01-18 16:31:39 -04:00
JeanFrancois Dube
b93a328d13 Don't allow spawning the level editor when the world is partitioned.
#rb patrick.enfedaque
#fyi simon.tourangeau

[CL 15131290 by JeanFrancois Dube in ue5-main branch]
2021-01-18 14:07:53 -04:00
Jamie Dale
3f3e0e7a67 Updated actor property editing to be typed element based
SActorDetails now operates on a given UTypedElementSelectionSet (removing its dependence on the global selection), and also operates based on the list of selected top-level elements rather than the selected actors.

UTypedElementDetailsInterface provides the interface needed for an element to be used with the details panel, with ITypedElementDetailsObject being the underlying glue object.
The ITypedElementDetailsObject instance will exist as long as the details panel is using it, so gives a lifetime to potentially synthesized UObject instances that are created purely for editing (eg, on instances).

This change removes almost all direct use of UpdateFloatingPropertyWindowsFromActorList, with only a single use-case in the reference viewer remaining.
Most code was already using UpdateFloatingPropertyWindows anyway, which now emits an extra OnElementSelectionChanged event in addition to its previous OnActorSelectionChanged event.
UpdateFloatingPropertyWindowsFromActorList now only emits an OnOverridePropertyEditorSelection event and no longer emits an OnActorSelectionChanged event.
SActorDetails is updated from both OnElementSelectionChanged and OnOverridePropertyEditorSelection, with the OnActorSelectionChanged event remaining for backwards compatability with existing code.

#jira
#rb Chris.Gagnon, Brooke.Hubert

[CL 15037524 by Jamie Dale in ue5-main branch]
2021-01-11 11:14:52 -04:00
Richard Malo
a961c2338b Added DataLayer browser & editing.
#rb jeanfrancois.dube, patrick.enfedaque

[CL 14597717 by Richard Malo in ue5-main branch]
2020-10-28 06:51:40 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
Jamie Dale
64b075c319 First phase of converting Level Editor viewport selection to use typed elements
This phase focuses on the minimum set of changes needed to port the UnrealEd logic for handling the selection of actors and components within the Level Editor viewport to use typed element interfaces. There is still future work to be done to clean this up further.

This change adds a new framework type, UTypedElementSelectionSet, which manages the concept of "selection" for typed elements. Internally this owns its own UTypedElementList, and ensures that mutation of that list goes via the UTypedElementSelectionInterface implementations.

To allow specific asset editors to customize their selection behavior, UTypedElementSelectionSet may have "selection proxies" that implement UTypedElementAssetEditorSelectionProxy registered to it. This is what's used to allow the level editor to implement its type specific rules.

The core Level Editor selection implementation for actors and components now lives inside UActorElementLevelEditorSelectionProxy and UComponentElementLevelEditorSelectionProxy, and the existing UUnrealEdEngine functions that used to deal with this logic now proxy through to those implementations via UTypedElementSelectionSet. This means that the implementation has moved into the LevelEditor module without UnrealEd even knowing.

Future work will focus on:
 - Cleaning up the legacy USelection bridge, so that all USelection instances are just a proxy around a UTypedElementSelectionSet.
   - This will involve making a basic "Object" element type to handle the generic UObject based selection (for assets) that USelection also handles.
   - This should allow GetMutableElementList to be removed from UTypedElementSelectionSet, to avoid potential abuse or misuse.
 - Investigating the best way to integrate element based selection into the editor modes.

#rb Chris.Gagnon, Brooke.Hubert
#rnx

[CL 14470181 by Jamie Dale in ue5-main branch]
2020-10-11 12:40:44 -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
Jamie Dale
149fbb70c4 Improved scripting support for typed elements
- Ported the typed element list (FTypedElementList) to be a UObject (UTypedElementList) so that it can be used with UFUNCTION arguments.
   - This also removes FTypedElementListPtr, and exposes UTypedElementList functions to scripting.
 - Exposed UTypedElementRegistry functions to scripting.
 - Added UTypedElementHandleLibrary to expose basic FTypedElementHandle functionality to scripting.
 - Exposed AActor and UActorComponent functions for getting an element handle.

#rb Chris.Gagnon
#rnx

[CL 14311016 by Jamie Dale in ue5-main branch]
2020-09-14 13:57:25 -04:00
brooke hubert
51b489a2fa Fixing a shutdown crash in the global editor mode manager.
#rnx
#Jira none
#review-14283233
#rb lauren.barnes

[CL 14283786 by brooke hubert in ue5-main branch]
2020-09-09 16:21:29 -04:00