We now have the capacity to set a uproperty value anywhere in the config file hierarchy
Satisfies UEPLAT-429
The user can now use the 'ConfigHierarchyEditable' meta flag in their uproperties to present a butoon that allows the property to be edited in the config hierarchy, where applicable.
Target platform is configurable.
[CL 2521330 by Terence Burns in Main branch]
FText DisplayString shared ptrs are persisted across property edits. This preserves their entry in the live table and also updates the string that the entry points to. We call GetString() to update the hashed value as persisting the DisplayString means that its location in the table is preserved.
On serialization, a valid key is still found in the live table for the display string, so the key is preserved.
Added funtionality to the property editor to allow key editing and re-generation so any key conflicts can be resolved in the future.
Added new flag to prevent us from being able to edit 'immutable' code-declared (LOCTEXT) text. We dont attempt to preseve the identity of properties that are initialized with these.
UE-5350 - As a translator, I would like the editor tutorial text to preserve it's history between changes in order to greatly improve the translation workflow.
#codereview Saul.Abreu,Justin.Sargent
[CL 2420329 by Thomas Sarkanen in Main branch]
UETOOL-213 - Minimize Slate FString -> FText conversion (remove SLATE_TEXT_ATTRIBUTE)
This fixes any editor/engine specific code that was passing text to Slate as FString rather than FText.
[CL 2401019 by Jamie Dale in Main branch]
FText DisplayString shared ptrs are persisted across property edits. This preserves their entry in the live table and also updates the string that the entry points to. We call GetString() to update the hashed value as persisting the DisplayString means that its location in the table is preserved.
On serialization, a valid key is still found in the live table for the display string, so the key is preserved.
Added funtionality to the property editor to allow key editing and re-generation so any key conflicts can be resolved in the future.
UE-5350 - As a translator, I would like the editor tutorial text to preserve it's history between changes in order to greatly improve the translation workflow.
Reviewed by Saul.Abreu
[CL 2400879 by Thomas Sarkanen in Main branch]
The display name, filter string, and tooltips for the property editor (and associated detail customizations) are now stored as FText rather than FString. This allows us to remove SLATE_TEXT_ARGUMENT from the detail customization widgets.
[CL 2372595 by Jamie Dale in Main branch]
This change includes a large rework of the scene outliner to make it more expandable and flexible with what data it supports.
Tree items now support visitation to allow for external logic on custom columns etc without having to type check and cast.
Sorting has been overhauled to be more flexible and efficient. It now supports correct lexical comparison for numbers.
[CL 2354514 by Andrew Rodham in Main branch]
Slate now has the concept of composite fonts and font families (via FCompositeFont and FTypeface). A composite font is a font that contains a default font family, as well as any number of sub-font families which should be used for a given set of character ranges. This change will greatly improve the localization support for fonts.
UFont assets can now use two forms of caching "offline" (which is the way they have always worked historically), and "runtime" (which utilizes the Slate font cache to cache glyphs on demand). These runtime cached UFont assets are now the only way to specify which font to use for a UMG widget, and address the previous issues about ensuring that the required font files were staged for your game.
The Slate font cache now works on FFontData instances, rather than filenames. This allows the UFont asset to embed a blob of TTF or OTF font data inside it, rather than require the fonts be loaded from files on disk.
The Canvas text renderer has been updated to support runtime cached UFont assets. This gives our legacy Canvas based tools the same improved font localization support as the rest of the Slate-based editor UI.
UFont asset creation has been changed to use runtime caching by default, and additionally, you can now import a TTF or OTF file via the Content Browser and it will automatically create a UFont asset. If you still want an offline cached UFont asset, you can just change the cache type in the font editor, and the usual font picker dialog will appear and allow you to generate a font texture atlas.
[CL 2342203 by Jamie Dale in Main branch]
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN
[CL 2329610 by Wes Hunt in Main branch]
#ttp 349345 - Editor: Asset pickers with custom filtering can show all object types
#branch UE4
#proj Editor.DetailCustomizations, Editor.PropertyEditor
[CL 2328545 by Richard TalbotWatkin in Main branch]
Editor - Fix ObjectPropertyEntryBox to once again work without a PropertyHandle
Backed out part of changelist 2320455 to get the Asset Override Editor selection boxes working again.
#codereview Richard.TalbotWatkin
--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2325726 by Jaren.Peterson on 2014/10/10 13:29:25.
[CL 2325858 by Jaren Peterson in Main branch]
#ttp 339373 - Crash: when you create a endless loop with material instance that has it self as a parent the editor will become unresponsive
#branch UE4
#proj Editor.MaterialEditor, Editor.UnrealEd, Runtime.Engine
[CL 2320455 by Richard TalbotWatkin in Main branch]
#ttp 345817 - NUX: MVP: Asset pickers should have Create New button
#branch UE4
#proj Editor.PropertyEditor, Editor.DetailCustomizations
[CL 2320429 by Richard TalbotWatkin in Main branch]