Commit Graph

24 Commits

Author SHA1 Message Date
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Nick Darnell
b98c648c14 Copying //UE4/Dev-Editor to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2756103 on 2015/11/05 by Jamie.Dale

	Implemented UFont::GetResourceSize to work correctly with the Size Map tool

Change 2756104 on 2015/11/05 by Jamie.Dale

	Changed the font used when a font is missing or invalid to be the last resort font, rather than the localized fallback font

	The localized fallback font could cause different results based on your culture, and the last resort font makes it clearer that something is set-up incorrectly as it just draws invalid glyph markers for all of the text.

Change 2756105 on 2015/11/05 by Jamie.Dale

	Fixed a crash when using an empty FKey property with a Data Table

	FKeyStructCustomization was asserting because there were no objects being edited, due to a newly added Data Table containing zero rows.

	I've removed this assert, and also updated SKeySelector to no longer require a separate argument to say whether multiple keys with different values are selected (this is now calculated from the call to get the current key, which will return an empty TOptional for multiple values).

	#jira UE-22897

Change 2757015 on 2015/11/06 by Joe.Tidmarsh

	SSProgressBar marquee tint. Accounts for widget color and opacity.

	PR #1698

Change 2757156 on 2015/11/06 by Joe.Tidmarsh

	Implemented "Go to Variable" functionality for widgets in Widget Blueprint Editor.

	When we switch modes in UMG from Designer to Graph. We select the variable (In "My Blueprint"), if one exists, for the currently selected widget. Additionally we update the details panel.

	* Added SelectGraphActionItemByName to FBlueprintEditor. This selects an item in My Blueprint and also displays it in the details panel of graph mode. SMyBlueprint is not available to FWidgetBlueprintEditor in UMGEditor module as it's privately implemented within Kismet.

	#rb Ben.Cosh
	#jira UE-20170

Change 2757181 on 2015/11/06 by Jamie.Dale

	Cleaned up some duplication in UMG text widgets, and exposed the text shaping options

	The common properties used by all text widgets that are text layout based have been moved into a UTextLayoutWidget base class, and all text layout based widgets now derive from this.

	The options needed to control the text shaping method used by a text based widget have been exposed via the FShapedTextOptions struct. This contains a way to manage these optional (and advanced) overrides. You typically wouldn't change these from the default unless you knew exactly what you were doing (eg, you have a text block containing only numbers).

	This change also updates SRichTextBlock to work with an invalidation panel in the same way that STextBlock does

Change 2757734 on 2015/11/06 by David.Nikdel

	#UE4 #Editor
	- Added support for meta=(TitleProperty="StructPropertyNameHere") on properties of type TArray<FSomeStruct>.
	- This changes the editor rolled-up display of these values from "{0} members" to a stringified version of the specified property (if found).
	#CodeReview: Matt.Kuhlenschmidt

Change 2758786 on 2015/11/09 by Joe.Tidmarsh

	Border widget now correctly synchronizes padding property
	#jira UE-23070

Change 2758791 on 2015/11/09 by Joe.Tidmarsh

	Shadow of FCanvasTextItem should be drawn before the outline color. Consulted with Bruce.N who believes this is not the intended behavior and was an oversight when refactoring FCanvas (CL 1695138)

	#jira UE-21623
	#1608

	#rb Simon.Tovey, Bruce.Nesbit

Change 2758813 on 2015/11/09 by Joe.Tidmarsh

	UMG: Attempting to parent multiple widgets (in Hierarchy tree)  to a widget that can't have multiple children will notify the user and ignore the operation.
	[UE-22921] [CrashReport] Parenting multiple actors under border crashes editor
	#jira UE-22921

Change 2759234 on 2015/11/09 by Nick.Darnell

	Slate - Improving the way we track references to materials in slate to better keep things alive until they're no longer needed for rendering.  Additionally, making it so the we use the material and texture free list when possible when cleaning up things as to not allocate new memory if not required.  Concidentually this can help with problems with corrupted memory on destruct as well, because it means the memory isn't really going to become garbage any more.

	#codereview Matt.Kuhlenschmidt, Bob.Tellez

Change 2760954 on 2015/11/10 by Nick.Darnell

	Slate - A bug in the introduction of custom rendered elements accidentally broke filling out the texture coordinates for standard material usage.  Materials should once again tile correctly just like images do.

	#jira UE-23118

Change 2761129 on 2015/11/10 by Nick.Darnell

	Slate - Removing the Pre-Multiply alpha path the way it was added, introducing it in a way that doesn't require changes inside the shader.  Continuing to improve the SRetainerWidget to no longer have a frame delay between resizes and painting, also working on getting it handle clipping correctly but still not there yet.

Change 2761391 on 2015/11/10 by Alexis.Matte

	jira UE-20281 and UE-22259
	Fbx scene Re-import workflow
	- First draft of the reimport workflow using a reimport asset in the content browser

	#codereview nick.darnell

Change 2762323 on 2015/11/11 by Alexis.Matte

	fix build compilation

Change 2762407 on 2015/11/11 by Jamie.Dale

	UDataTable::SaveStructData now writes out dummy data when RowStruct is null

	This didn't used to happen, which would cause a miss-match between what UDataTable::LoadStructData was expecting, and would result in a Data Table that could never be loaded again.

	This change also improves the error message when editing a Data Table with a null row struct, and adds the editor-only RowStructName property to cache the name of the last used struct (for error reporting).

	#jira UE-22789

Change 2762508 on 2015/11/11 by Nick.Darnell

	UMG - Making it more obvious what keys do special stuff with anchors in UMG.  Fixing the way snapping to anchors works with Control, it now only zeros out the side you're dragging instead of the entire widget, which was silly.  Enhancing the designer message system to no longer be based on an enum and instead let arbitrary systems push and pop FText messages.  Fixing animations in the anchor drop down to properly animate, broke when we introduced active timers.

Change 2763241 on 2015/11/11 by Nick.Darnell

	Slate - We no longer allow popup windows to be larger than the primary display window for windows where max width/height is unspecified.  This is to prevent accidential creation of tooltip windows that are larger than the driver allows causing crashes.

	#jira UE-20336
2015-12-12 08:54:23 -05:00
Ben Zeigler
3a8ca7f141 #UE4 Revert earlier change to make IPropertyHandle::IsValidHandle return false if the contained property was NULL, because the property table editor depended on that functionality
Rename HasValidProperty to HasValidPropertyNode to make the behavior match the name, and clean up some comments
Fix several details customizations that weren't correctly checking for property validity before derefencing GetProperty() or AccessRawData(). This fixes the original slate crash as well
#codereview matt.kuhlenschmidt

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2653955 by Ben.Zeigler on 2015/08/12 21:23:30.

[CL 2653956 by Ben Zeigler in Main branch]
2015-08-12 21:24:04 -04:00
Nick Darnell
ace5c0c1de Editor - The color picker no longer assumes a straight inverse gamma conversion from colors sampled on the screen using the eye dropper. This change makes it so sRGB is the assumed space all colors are sampled in, making sampling colors from Photoshop bring in the identical version of the color converted into linear space, which when transformed back into sRGB space will be the same color you saw in photoshop. FColor and FLinearColors can now default to sRGB space using a UPROPERTY meta tag of sRGB="true" or false, you can force a specific default checking of the sRGB checkbox. Several places in UMG now force this default since the space you really care about sampling and previewing is sRGB space since that's the space UMG will be rendered in (on PC), additional work will be needed on Mac where the final rendering space is gamma 2.2.
#platformnotify Josh.Adams

[CL 2622375 by Nick Darnell in Main branch]
2015-07-15 16:40:00 -04:00
Andrew Rodham
8ff0d8b98b Added config migration path for newer versions of the engine.
Newly installed versions of the engine will now attempt to copy the project-agnostic config settings from a previous engine installation. This happens by way of a versioned manifest that copies old versions when the manifest does not exist, or is a different version. This code path is benign for non-installed versions of the engine (or FPaths::ShouldSaveToUserDir() is false).

EditorGameAgnosticSettings and EditorUserSettings ini paths have been renamed to EditorSettings and EditorPerProjectUserSettings respectively to better convey their purpose. In general, most settings should be saved in EditorSettings (project-agnostic) so that they apply regardless of which project is open. We have some way to go migrating existing settings for this to be the case, however.

Some previously per-project configuration files are now project-agnostic (such as Editor.ini, EditorKeyBindings.ini, and EditorLayout.ini)

GEditor->Access...Settings and GEditor->Get...Settings have been removed in favor of direct access of the CDO through GetMutableDefault<> and GetDefault<> respectively. Global config ini filenames that are not set up are now neither loaded nor saved on build machines, to handle the problem of indeterminate state more generically.

This addresses UETOOL-270 (Most editor preferences should be project-agnostic)

[CL 2517558 by Andrew Rodham in Main branch]
2015-04-20 10:12:55 -04:00
Nick Darnell
90e793745c Slate - ESlateCheckBoxState has been renamed to ECheckBoxState.
[CL 2384008 by Nick Darnell in Main branch]
2014-12-10 14:24:09 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Jamie Dale
09af8a9c60 Fixed code relying on SLATE_TEXT_ARGUMENT for SNumericEntryBox
Made sure everything was using FText rather than FString.

[CL 2373615 by Jamie Dale in Main branch]
2014-12-02 06:47:27 -05:00
Jamie Dale
f440490671 Converted the property editor to use FText
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]
2014-12-01 11:19:41 -05:00
Andrew Brown
2bb6b0dc1b Modify CreatePropertyNameWidget so that the tooltip (like with the name) is also overrideable. (and fixedup usage).
[CL 2335803 by Andrew Brown in Main branch]
2014-10-21 11:13:59 -04:00
Wes Hunt
31e2bb00ac Removed a bunch of stuff from Slate standard include, created SlateBasics.h
* 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]
2014-10-14 22:50:06 -04:00
Nick Darnell
4549a97d5c UMG - Refactoring the slate color customization to play nice with bindings. Adding a new property existenion system to the details panel. Allows for special case additions to be added to the property after it's customization has been used. Now used for bindings. User widgets now have foreground color and color and opacity support.
[CL 2328816 by Nick Darnell in Main branch]
2014-10-14 13:37:45 -04:00
Nick Darnell
dceb9f07cf UMG - Adding render transforms to the base widget class. Beginning work on the designer interface for them. Lots of style refactoring for a few widgets to make it far easier to change their appearance at runtime. Adding slate utility functions to accessing geometry data in blueprints. The math struct customization can now apply min/max UI slider clamps on their components. Disabling the preview on the slate brush customization. Will re-introduce later when we can provide instanced struct customizations. The thumbnails in the details panel now have a hover effect to indicate that they are double clickable. Adding a Delta metadata on numeric properties so that if you want the slider to move in specific increments you can now.
[CL 2285217 by Nick Darnell in Main branch]
2014-09-04 17:26:33 -04:00
Max Preussner
f167dce37e Slate: Moved TestSuite and ColorPicker into new module AppFramework
The AppFramework module is intended to be used for compound widgets and UI related classes that are too specific (not basic enough) for Slate, but also not Editor specific (reusable in non-Editor applications and games). The test suite has been moved in its entirety for now, but core widget specific test classes will eventually be split off and moved back into Slate, so that they can live alongside of their corresponding widgets.

Other changes:
- moved to "include what you use" scheme for SColorPicker
- broke out color picker related widgets that may be reusable
- added forward declarations to reduce header include dependencies

#CodeReview: saul.abreu

[CL 2275496 by Max Preussner in Main branch]
2014-08-27 20:35:19 -04:00
Chris Gagnon
3444d084ab Removed "InterpreteAsLinear", Deprecated FColor DrawColor and added FLinearColor LevelColor to replace it. Changed the underlying FColor's to FLinearColor in the rendering classes, cleaned up a bunch of color conversions.
#codereview matt.kuhlenschmidt

[CL 2235025 by Chris Gagnon in Main branch]
2014-07-28 17:16:21 -04:00
Chris Gagnon
c9bdd932f2 Adding Level Color back into the Levels Panel, fixed the color being displayed gamma corrected which didn't line up with the actual visualization.
Refactored some of the UI code for ULevelStreaming to use PostEditChangeProperty so it's more reuseable.

#codereview matt.kuhlenschmidt,dmitriy.dyomin

[CL 2222165 by Chris Gagnon in Main branch]
2014-07-17 10:14:48 -04:00
Matt Kuhlenschmidt
b02517e596 Improve the display name for property transactions
[CL 2110106 by Matt Kuhlenschmidt in Main branch]
2014-06-18 22:54:29 -04:00
Maciej Mroz
7756bdf54e PropertyEditor: PropertyUtilities has new DontUpdateWhileEditing function. Used by standalone customization widgets.
#codereview Matt.Kuhlenschmidt

[CL 2109092 by Maciej Mroz in Main branch]
2014-06-18 06:40:19 -04:00
Matt Kuhlenschmidt
0bac17760c Fixup usage of deprecated IStructCustomizationUtils interface
[CL 2094462 by Matt Kuhlenschmidt in Main branch]
2014-06-04 11:16:24 -04:00
Matt Kuhlenschmidt
13939a90e9 Deprecated IStructCustomization and struct property customization registration. Use IPropertyTypeCustomization and RegisterPropertyTypeCustomization instead
[CL 2094389 by Matt Kuhlenschmidt in Main branch]
2014-06-04 10:16:14 -04:00
James Golding
507c402a4e Remove Material Expression headers from Engine.h and only include where needed
#codereview nick.penwarden

[CL 2082041 by James Golding in Main branch]
2014-05-22 11:33:54 -04:00
Nick Darnell
2e9e762054 TTP 330596
We now scan for an AllowPreserveRatio metadata flag on properties, if it exists we show the preserve ratio button just like we do for scale.  Currently this is only enabled for the LightFunctionScale property on light components.

[CL 2040803 by Nick Darnell in Main branch]
2014-04-23 17:45:47 -04:00
UnrealBot
db494a6e69 Engine source (Main branch up to CL 2037954) 2014-04-02 18:09:23 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00