Commit Graph

38 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
Saul Abreu
e1fe253a7c Implemented localized package loading based on trying to find the package located under "<ContentRoot>/L10N/<CultureCode>/<OriginalPackagePath>". The localized package content subdirectories are also filtered out of the content browser views. In the editor, package paths are not redirected in any additional manner, but outside the editor the package paths redirect to the calculated localized package location.
[CL 2636232 by Saul Abreu in Main branch]
2015-07-28 18:21:55 -04:00
Robert Manuszewski
3bcc864c3d Added support for loading cooked content in editor.
#codereview Daniel.Lamb

[CL 2632031 by Robert Manuszewski in Main branch]
2015-07-24 05:57:33 -04:00
Jamie Dale
e66e0e5636 Fixed being able to rename or deleted some read-only types in the Content Browser
UE-13653 - Able to rename redirectors by clicking on their name in the content browser twice
UE-18082 - Hide the delete button when selecting a code class in the content browser

You can no longer rename classes, redirectors, or collections by clicking on their name in the Content Browser. The delegate handling whether the asset name was read-only hadn't been hooked into the "can rename" logic used by the context menu.

Additionally, you can no longer delete a collection via the asset view, and you no longer see some asset specific context menu options when you only have classes selected.

[CL 2609362 by Jamie Dale in Main branch]
2015-07-02 13:30:17 -04:00
Timothy Reynolds
b04b7d3ff1 Removed unnecessary file movement popup when moving folder. Swapped ShouldPromptToLoadAssets with GetUnloadedAssets (which was still needed).
UE-16599

#codereview Matt.Kuhlenschmidt

[CL 2602165 by Timothy Reynolds in Main branch]
2015-06-26 10:05:12 -04:00
Jamie Dale
b36a494aeb Added support for nested collections
UETOOL-332 - Collections 2.0
UETOOL-369 - Want nested collections with collapsing

We now have version 2 collections which maintain a persistent GUID for each collection. Existing collections will be lazily updated to this version when they need to be re-saved.

This GUID is used by child collections to keep track their parents, and the collections view (as well as the quick asset management) now show a tree of collections. Collections in the main collection view tree can be re-parented via drag and drop.

Performing Content Browser searches against a given collection will also test to see if an object exists in child collections, and the asset view will now show you folder entries for child collections when viewing a parent (if folders are enabled in your Content Browser view settings).

[CL 2593321 by Jamie Dale in Main branch]
2015-06-19 07:33:02 -04:00
Chris Wood
8a112d6140 PushMenu() now respects QueryPopupMethod(). All menus now support reusing windows.
UE-14641 - Fix PushMenu() to use QueryPopupMethod()

Pretty big refactor
Adds IMenu as way to identify menus. Replaces referring to menus as SWindows.
Lots of uses of PushMenu() fixed up to match new API

#codereview Nick.Atamas

[CL 2579277 by Chris Wood in Main branch]
2015-06-05 20:19:33 -04:00
David Ratti
08b8ab9ff6 [AUTOMERGE]
support to override max asset length with cvar MaxAssetFullPath

--------
Integrated using branch UE4-To-UE4-Orion (reversed) of change#2557531 by David.Ratti on 2015/05/19 15:24:29.

[CL 2557534 by David Ratti in Main branch]
2015-05-19 15:25:52 -04:00
Richard TalbotWatkin
3b8ac4f51d Allow aborting the "Move Folder Here" operation with a large number of assets within.
#jira UE-15383 - The 'No' action when using the 'Move to Here' Content Browser Folder Option Still Loads Assets

[CL 2549416 by Richard TalbotWatkin in Main branch]
2015-05-13 15:42:54 -04:00
Ben Marsh
a784ebdf3c Change IPluginManager to return shared pointers to plugin objects, rather than passing raw pointers by default.
[CL 2526084 by Ben Marsh in Main branch]
2015-04-26 10:47:22 -04:00
Ben Marsh
9e4c2ae0a5 Use the exposed IPlugin interface to get plugin content folders rather than querying it separately.
[CL 2524929 by Ben Marsh in Main branch]
2015-04-24 16:37:21 -04:00
Ben Marsh
2c34190d5b Remove project/plugin includes from UnrealEd. Only a handful of things needs to access it, so just include it manually.
[CL 2524420 by Ben Marsh in Main branch]
2015-04-24 11:25:20 -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
Jason Hoffman
0bc168d68b Fixed issue in which folder could not be moved into another folder in the content browser whose name begins similarly e.g. "ab" into "abcd"
[CL 2480398 by Jason Hoffman in Main branch]
2015-03-16 14:32:40 -04:00
Marc Audy
037d007078 Fix shadowed variables
[CL 2471506 by Marc Audy in Main branch]
2015-03-06 15:13:38 -05:00
Richard TalbotWatkin
47d421e075 Added option to specify whether a save dialog can be declined as opposed to cancelled.
Some dialogs, e.g. from save menu actions, don't need the two options.
#jira UE-10400 - Clicking on Save All brings up same window as when closing the editor

[CL 2463740 by Richard TalbotWatkin in Main branch]
2015-02-27 04:17:41 -05:00
Richard TalbotWatkin
c6ed56d176 Fixed issue where "Assets could not be loaded" notification was misleadingly appearing when fixing up redirectors on a folder.
#jira UE-8657 - Fixing redirectors through the content browser doesn't work after level change

[CL 2431466 by Richard TalbotWatkin in Main branch]
2015-02-04 05:20:48 -05:00
Jamie Dale
4c69859cb8 Fixed some issues where CB browser sync would fail when syncing to C++ classes
UE-8574 - Sync to content browser does not work for C++ classes

Two issues:
1) The Content Browser wasn't enabling the Engine or Plugin view filters if you synced to a class in those categories - this meant that you couldn't see the synced class as its parent folder was still hidden.
2) FNativeClassHierarchy::GetClassPath was returning a path with a trailing / if the class was in the module root folder - this never matched anything so nothing was synced.

[CL 2423895 by Jamie Dale in Main branch]
2015-01-29 11:47:03 -05:00
Ben Marsh
fe46bfae17 [INTEGRATE] Change 2415260 by Jamie.Dale@Pitbull_JDaleReleases on 2015/01/22 09:06:57
Sorted content before classes, and modules in the order game -> engine -> plugins

	UE-7184 - Show game c++ classes and engine c++ classes in the content browser

	Also renamed "Game C++ Classes" to just "C++ Classes", and "Game Content" to just "Content" based on previous feedback.

[CL 2419539 by Ben Marsh in Main branch]
2015-01-26 19:05:10 -05:00
Jamie Dale
55c3728d11 Added support for showing game and engine classes in the Content Browser
UE-7184 - Show game c++ classes and engine c++ classes in the content browser

The Content Browser now has extra entries for "Game C++ Classes" and "Engine C++ Classes" (with "Game" and "Engine" being renamed to "Game Content" and "Engine Content" respectively). These new folders serve as hosts for the list of available C++ modules, with each module internally mirroring the folder structure on disk.

For example:
- Game C++ Classes
    - ShooterGame
        - Classes
            - Bots
                - ShooterBot
                - ShooterAIController
                - [...]
            - [...]

The Content Browser allows you to navigate and search these classes like you can with assets, and provides convenient access to either edit an existing class, or create a new class (either within a selected folder, or derived from a selected class).

As the Content Browser only shows you known UClass types, any new classes need to be compiled into a loaded module before they will appear. This means that adding a new class will now automatically hot-reload your target module. Should you prefer to handle building and loading your modules manually, you can disable the automatic hot-reload via "Editor Settings" -> "Miscellaneous" -> "Hot Reload" -> "Automatically Hot Reload New Classes" (see UEditorUserSettings::bAutomaticallyHotReloadNewClasses).

[CL 2409386 by Jamie Dale in Main branch]
2015-01-16 15:39:47 -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
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
Richard TalbotWatkin
e486e8614c Fixed crash moving assets which are checked out to another user. Fixed bug where asset move happens before the user is given the chance to cancel in the source control dialog.
#ttp 348063 - Crash moving files in Content Browser
#branch UE4
#proj Developer.AssetTools, Editor.ContentBrowser, Editor.PackagesDialog, Editor.UnrealEd

[CL 2328547 by Richard TalbotWatkin in Main branch]
2014-10-14 10:33:22 -04:00
Bob Tellez
991715117f UE4: Dirty world packages are now properly discovered. The content browser now saves dirty world packages when clicking the save button on the browser.
[CL 2299012 by Bob Tellez in Main branch]
2014-09-15 21:53:58 -04:00