Commit Graph

99 Commits

Author SHA1 Message Date
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
zach rammell
392dfe8d69 [Backout] - CL19565596
Original CL Desc
-----------------------------------------------------------------
Prevent details panel from getting stuck on deleted elements when locked

It will now unlock and clear itself when an element is deleted

#jira UE-142503
#rb brooke.hubert
#preflight 6244d3829f4042341454d61a

[CL 19595303 by zach rammell in ue5-main branch]
2022-04-01 16:45:42 -04:00
zach rammell
400c4b2022 Prevent details panel from getting stuck on deleted elements when locked
It will now unlock and clear itself when an element is deleted

#jira UE-142503
#rb brooke.hubert
#preflight 6244d3829f4042341454d61a

[CL 19565596 by zach rammell in ue5-main branch]
2022-03-30 18:26:36 -04:00
Julien StJean
0a3953c790 Adding a button to details pannel and a mecanism to register the promotion of elements. (Hydration)
#jira UE-138486
#rb Brooke.Hubert
#preflight 62169d5ea45a91013f37eeea

[CL 19100389 by Julien StJean in ue5-main branch]
2022-02-23 15:54:47 -05:00
jamie dale
1f97a96a67 Fixed the component tree potentially showing stale items
SSubobjectInstanceEditor::OnObjectReplaced was never bound, so we now just handle this directly in SActorDetails instead

#rb Ben.Hoffman
#preflight skip
#rnx

#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 18346293 via CL 18347479 via CL 18347485 via CL 18347489 via CL 18348493 via CL 18348565
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18348601 by jamie dale in ue5-release-engine-test branch]
2021-12-01 21:15:38 -05:00
sebastian nordgren
6577bca4d4 Added section selector to the details view. It is now possible to register a category to a section, which will cause the entire category to be shown if the relevant section is selected.
Moved FDetailFilter to its own file.

#rb matt.kuhlenschmidt
#preflight 61361043bdfce00001c0a317

#ROBOMERGE-AUTHOR: sebastian.nordgren
#ROBOMERGE-SOURCE: CL 17442135 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17442153 by sebastian nordgren in ue5-release-engine-test branch]
2021-09-07 03:39:26 -04:00
julien stjean
9af8446874 Changed the TypedElementInterface to use UInterfaces instead of an object base api.
#jira UETOOL-4054
#preflight 6132413c1a52e20001dce90d
#rb Jamie.Dale

#ROBOMERGE-SOURCE: CL 17424653 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17424661 by julien stjean in ue5-release-engine-test branch]
2021-09-03 14:18:34 -04:00
ben hoffman
dd95df28b4 Also check for the component archetype when updating the tree selection in SActorDetails because it is a viable option for inherited BP components on instanced objects
#jira UE-118278
#rb marc.audy
#rnx

#ROBOMERGE-SOURCE: CL 16749051 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16749200 by ben hoffman in ue5-release-engine-test branch]
2021-06-22 17:03:10 -04:00
ben hoffman
6f0cd4f571 Fixed actor details not showing the properties of the root componenent if selected.
Updated the logic in SActorDetails::RefreshSubobjectTreeElements to match the logic in  SActorDetails::OnSubobjectEditorTreeViewSelectionChanged when deciding whether a component or actor is selected
[FYI] jamie.dale
#jira none
#rb trivial
#preflight 60c2bbb1b1a4a3000131e17a

#ROBOMERGE-SOURCE: CL 16635419 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16635452 by ben hoffman in ue5-release-engine-test branch]
2021-06-10 22:32:28 -04:00
ben hoffman
8a1a6b21f9 Correctly aquire the editor component handle from an actor component when the tree selection is updated in the SActorDetails panel
#jira UE-117374
#rb justin.hare
#rnx
#preflight 60bfe225c612640001735e73

#ROBOMERGE-SOURCE: CL 16597031 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16597046 by ben hoffman in ue5-release-engine-test branch]
2021-06-08 19:54:16 -04:00
Jamie Dale
982ac75d6b Fixed the sub-object instance editor toolbar being visible, even when non-actor elements were selected
The button bar of the sub-object instance editor would always be visible, even if there was no valid actor context to operate on. This changes it to only appear for actor contexts (ie, we can't add components to static mesh instance elements).

#fyi Brooke.Hubert, Ben.Hoffman

[CL 16526044 by Jamie Dale in ue5-main branch]
2021-06-01 20:19:16 -04:00
Jamie Dale
358b71289b Fixed warning when editing non-actor element types
The sub-object instance editor would warn that the given context wasn't an actor, so this limits it back to only actor contexts (like how the SCS editor used to work)

#fyi Brooke.Hubert, Ben.Hoffman

[CL 16413105 by Jamie Dale in ue5-main branch]
2021-05-20 20:14:19 -04:00
ben hoffman
9114fe4561 Replace use of the old SCS editor with the Subobject editor in the Actor Details panel of the level editor.
#jira UE-114839
#rb justin.hare
#rnx
#preflight 6094a1c9c6c42e00013a57b7

[CL 16237782 by ben hoffman in ue5-main branch]
2021-05-07 10:04:49 -04:00
ben hoffman
eb28baddd8 Undo 16223481 because subobjects would be incorrectly marked as non-editable sometimes.
#jira none
#rb me
#rnx

[CL 16225799 by ben hoffman in ue5-main branch]
2021-05-06 16:41:31 -04:00
ben hoffman
81df4bcd13 Replace use of the old SCS editor with the Subobject editor in the Actor Details panel of the level editor.
#jira UE-114839
#rb justin.hare
#rnx
#preflight 609418363653dd000104209b

[CL 16223481 by ben hoffman in ue5-main branch]
2021-05-06 13:44:32 -04:00
jamie dale
b2caa4eb19 Allow the detail view header to prioritize showing actors or components, while still showing all objects as a fallback
#rb Brooke.Hubert

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

[CL 15502662 by jamie dale in ue5-main branch]
2021-02-23 14:04:08 -04:00
jamie dale
82ca162aa8 Initial support for manipulating Static Mesh instances directly in the editor
Adds support for selection, gizmo manipulation, property editing, duplication, deletion, and undo/redo for Static Mesh instances within the main Level Editor, without having to enter an alternative editing mode.

Note: This is currently disabled via UE_ENABLE_SMINSTANCE_ELEMENTS

#rb Brooke.Hubert

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

[CL 15481376 by jamie dale in ue5-main branch]
2021-02-19 22:02:09 -04:00
jamie dale
e5fda022c1 Fixed the actor details panel not refreshing correctly when objects were re-instanced (eg, from a Blueprint compile)
#rb Brooke.Hubert

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

[CL 15464566 by jamie dale in ue5-main branch]
2021-02-18 18:54:03 -04:00
sebastian nordgren
5314bd83ed Fixed SCS editor padding issues.
#rb trivial

[CL 15281044 by sebastian nordgren in ue5-main branch]
2021-02-02 12:53:57 -04:00
sebastian nordgren
97c59e2e2b Favorites system disabled by default for details views. Actor details opt-in added.
#fyi lauren.barnes

[CL 15237726 by sebastian nordgren in ue5-main branch]
2021-01-28 08:19:45 -04:00
sebastian nordgren
dc47ccd9c0 Added 4 pixels of padding to the top of the name area in the actor details panel.
Removed 2 pixels of padding from and the down arrow from SEditorHeaderButtons.

Added 2 pixels of padding to the right of Blueprint add parameter button.

#rb trivial

[CL 15207710 by sebastian nordgren in ue5-main branch]
2021-01-26 10:56:06 -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
Louise Rasmussen
e96422024e Updated Style Colors - replaced "Background" Color with "Panel" Color and updated "Background" Color to be dark base
#rb matt.kuhlenschmidt

[CL 15013052 by Louise Rasmussen in ue5-main branch]
2021-01-07 14:20:25 -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
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00