Commit Graph

86 Commits

Author SHA1 Message Date
jurre debaare
a2516063e9 Widget reflector menu is not shown on OSX
#fix ensure that MenuBar widget is applied to respective TabManager
#jira UE-142930
#rb Vincent.Gauthier
#preflight 620d2668742ffef42023c6ea

#ROBOMERGE-AUTHOR: jurre.debaare
#ROBOMERGE-SOURCE: CL 19147104 in //UE5/Release-5.0/... via CL 19147470
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19156457 by jurre debaare in ue5-main branch]
2022-02-25 16:13:55 -05:00
daren cheng
a273e6703b Dismiss tooltip from widget reflector when context menu is spawning.
#jira UE-130414
#robomerge 5.0
#preflight 61e4e1bea2616066f6716210
#rb trivial

[CL 18639946 by daren cheng in ue5-main branch]
2022-01-18 10:13:39 -05:00
patrick boutot
7d21d95312 WidgetReflector: Display the running validation test. Most of them only make sense in GlobalInvalidation. It's not that useful in that menu but it makes them easily discoverable.
#rb vincent.gauthier
#preflight 61d6ebd54c252480ca26974e

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 18531760 via CL 18531764 via CL 18531773 via CL 18532149 via CL 18533866
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18534078 by patrick boutot in ue5-release-engine-test branch]
2022-01-06 14:14:59 -05:00
sebastian nordgren
e624bfeef0 Added Widget List to Widget Reflector, which lists all currently active widgets, grouped by creation location. This can be useful for pinpointing SWidget leaks.
This requires UE_WITH_SLATE_DEBUG_WIDGETLIST to be defined, since it makes use of the functionality in FWidgetList.

#rb francis.hurteau, patrick.boutot
#preflight 619604814f57fbea790c031f

#ROBOMERGE-AUTHOR: sebastian.nordgren
#ROBOMERGE-SOURCE: CL 18234947 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v895-18170469)

[CL 18234957 by sebastian nordgren in ue5-release-engine-test branch]
2021-11-18 04:29:32 -05:00
patrick boutot
cc0a12c537 WidgetReflector: Add the LayerId
#preflight 616ecd3b6e12ff000128a94f
#rb vincent.gauthier

#ROBOMERGE-AUTHOR: patrick.boutot
#ROBOMERGE-SOURCE: CL 17863714 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)

[CL 17863731 by patrick boutot in ue5-release-engine-test branch]
2021-10-19 14:14:01 -04:00
zahra nikbakht
49a43de8b7 Add Breadcrumb trail for selected node in widget reflector #RB patrick.boutot #jira ue-119462
#ROBOMERGE-SOURCE: CL 17203601 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17203618 by zahra nikbakht in ue5-release-engine-test branch]
2021-08-17 15:05:13 -04:00
zahra nikbakht
eaf50aa4f4 - Upgraded Widget Reflector UI to UE5
#RB Patrick.boutot
#jira none
#preflight 60c0dd9b9e139d0001d10589

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

[CL 16608670 by zahra nikbakht in ue5-release-engine-test branch]
2021-06-09 13:47:04 -04:00
Patrick Boutot
98830126c1 Slate: Update Hittestgrid and some FWidgetPath's function to takes a SWidget pointer instead of a SWidget shared ptr to reduce the number shared ptr copy. FWidgetAndPointer uses a TOptional instead of a TSharedPtr.
#jira UE-115497
#rb vincent.gauthier
#preflight 60b66d94107dc600015d58cc

[CL 16532706 by Patrick Boutot in ue5-main branch]
2021-06-02 08:06:36 -04:00
jamie dale
107f7b0f0c Audited use of FDetailsViewArgs::ObjectsUseNameArea
CL# 15481362 changed the behavior of ObjectsUseNameArea so that the object name was visible, and upon auditing the current use of ObjectsUseNameArea it was found that all but a few cases likely intended to use HideNameArea instead.

Breaking: This change also renames FDetailsViewArgs::bShowActorLabel to FDetailsViewArgs::bShowObjectLabel to reflect what it actually does.

#rb Brooke.Hubert

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

[CL 15496134 by jamie dale in ue5-main branch]
2021-02-22 19:45:57 -04:00
Patrick Boutot
6c97ebf0c9 Slate: Reverted new SHeaderRow::Manual sizing feature to what it used to b and rename the new feature SHeaderRow::FillSized.
#jira UE-106324
#rb lauren.barnes

[CL 15154180 by Patrick Boutot in ue5-main branch]
2021-01-21 10:43:59 -04:00
Patrick Boutot
f9bfdd4ca0 WidgetReflector: Set the correct fill value.
#rnx

[CL 14954286 by Patrick Boutot in ue5-main branch]
2020-12-18 07:30:57 -04:00
Marc Audy
ada7c144fa Merge //UE5/Release-Engine-Staging @14903491 to //UE5/Main
[CL 14906022 by Marc Audy in ue5-main branch]
2020-12-11 14:21:20 -04:00
Patrick Boutot
d886e2413b WidgetReflector: Build widget tooltip only when requested. Add message when the widget is part of an invalidation root.
#rb nick.darnell

[CL 14822494 by Patrick Boutot in ue5-main branch]
2020-11-30 15:13:37 -04:00
Patrick Boutot
595e36d594 WidgetReflector: Add support for GlobalInvalidation.
#rb vincent.gauthier

[CL 14781816 by Patrick Boutot in ue5-main branch]
2020-11-18 16:33:17 -04:00
Patrick Boutot
10d5d4fdc1 WidgetReflector: Fix the snapshot save to Json. It had missing properties and navigation.
#rb vincent.gauthier

[CL 14765217 by Patrick Boutot in ue5-main branch]
2020-11-17 15:04:28 -04:00
Patrick Boutot
f1b5bde162 WidgetReflector: Add command to take a snapshot.
#rb vincent.gauthier

[CL 14733216 by Patrick Boutot in ue5-main branch]
2020-11-12 07:37:26 -04:00
Patrick Boutot
ff50fadd0b WidgetReflector: Show more detaill in the tree view (enabled, volatile, HasActiveTimer, ActualSize).
#jira none
#rb nick.darnell

[CL 14578641 by Patrick Boutot in ue5-main branch]
2020-10-26 13:30:51 -04:00
Marc Audy
50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42: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
nick darnell
6ee6c782bb Cache off the value of slate global invalidation mode when using Pick against painted widgets, and then turns it off while picking painted widgets. Eventually this should be modified to work against proxies and cached elements instead.
#ROBOMERGE-SOURCE: CL 11964108 via CL 11964109 via CL 11964110 via CL 11964114
#ROBOMERGE-BOT: (v656-11643781)

[CL 11964117 by nick darnell in Main branch]
2020-03-05 16:29:47 -05:00
rex hill
4511728f09 Tab manager filter can now block tab spawn
#rb chris.gagnon


#ROBOMERGE-OWNER: rex.hill
#ROBOMERGE-AUTHOR: rex.hill
#ROBOMERGE-SOURCE: CL 11604269 via CL 11604360 via CL 11604439
#ROBOMERGE-BOT: (v656-11643781)

[CL 11743509 by rex hill in Main branch]
2020-02-28 11:30:46 -05:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
matt kuhlenschmidt
c64ca632c7 Slate Global Invalidation System
This change makes it possible to remove the layout and painting overhead that Slate performs every frame.  The system is off by default as we continue to iterate on it.

However, this includes massive changes to batching, rendering, hit testing, and invalidation panels which are permanent changes and cannot be disabled.

#rb chris.gagnon, nick.darnell
[CODEREVIEW] nick.darnell


#ROBOMERGE-OWNER: matt.kuhlenschmidt
#ROBOMERGE-AUTHOR: matt.kuhlenschmidt
#ROBOMERGE-SOURCE: CL 7232617 via CL 7235502
#ROBOMERGE-BOT: (v367-6836689)

[CL 7235503 by matt kuhlenschmidt in Main branch]
2019-07-08 23:50:34 -04:00
matt hoffman
5fc20eb45d This is a significant overhaul to the Curve Editor used by Sequencer which adds a plugin-based architecture and extensibility. New tools and toolbar buttons can be added to all usages of the curve editor via user plugins, and the different views for data can be created modularly so new implementations of the editor can register their own way of drawing their data and the tools should just work. Additionally, you can now write your own filters to operate on curve editor data for custom implementations of smoothing, key generation, etc.
The curve editor supports three view types by default - an absolute view (default, matches old behavior), a stacked view and a normalized view. Stacked views draw each curve separately (so non-overlapping) and normalized against their own min/max values. The normalized view draws all curves overlapping with each one normalized against its own min/max values.

A tree view has been added to help effectively manage large numbers of curves. Selecting curves in the treeview controls which curves are visible in the view area. The treeview also supports pinning curves. These pinned curves will always be visible regardless of your selection in the tree view.

A transform tool and a retiming tool have been implemented (via a plugin) which is enabled by default. The transform tool allows you to do a marquee selection of keys and then translate and scale the positions of these keys. The retiming tool allows you to create a 1 dimensional lattice to adjust the timing of your keys with a linear falloff between each lattice point. These tools work across multiple views at the same time which is especially useful if you are representing one dimensional data (such as event keys) in a view, as it allows you to adjust this data at the same time as your animation curves. A smoothing filter has been implemented (via a plugin) to allow running highpass and lowpass filters on your keys.

Opening the curve editor in Sequencer/UMG now creates a separate dockable tab which can be resized and docked as desired. A time slider has been added to the Curve Editor which is synchronized to the playback time in Sequencer. This allows you to scrub time in the curve editor without having to find the Sequencer window and adjust time there while looking at your keys and previewing your animation in the viewport at the same time.

Rudimentary support has been added for saving and later restoring a set of curves in your current session. This allows you to do a rudimentary copy/paste of entire curves but can also be useful for saving a curve, making adjustments to it and then deciding you want to go back - simply reapply the saved curve! Each curve added supports an intention name (such as "Location.X" or "FieldOfView"), and these intention names will be used when trying to apply curves. This allows you to reliably take all of the curves of a transform on one object and apply them to another object (and ensure that Location.X gets applied to the new Location.X, etc.) this can be helpful if you have a mixed set of curves buffered (such as a location and a field of view). In the event that no curves match by intention you can store and apply a single curve at a time from any intention to any other intention.

The Curve Asset editors (float, vector and color curve assets) have been changed to use the new editor. They support the same treeviews, filtering and tools that the Sequencer editor does. In addition, the Color Curve asset editor adds an additional view which provides a 1 dimensional gradient editor as an easier way to visualize and edit colors instead of the channels individually.


#rb Max.Chen, Andrew.Rodham


#ROBOMERGE-SOURCE: CL 6631811 via CL 6633746
#ROBOMERGE-BOT: (vundefined-6620334)

[CL 6633863 by matt hoffman in Main branch]
2019-05-24 14:42:05 -04:00
nick darnell
f3cdc69725 Slate - Adding improvements to the widget reflector so that we can tell if a zero size widget is present, as it may have padding around it, so now a line will appear if it's zero sized, rather than nothing.
#ROBOMERGE-SOURCE: CL 5377109 via CL 5377110 via CL 5377221

[CL 5378967 by nick darnell in Main branch]
2019-03-12 23:33:10 -04:00