Commit Graph

94 Commits

Author SHA1 Message Date
Steve Robb
7147a13be2 TMap properties.
#codereview robert.manuszewski

[CL 2519223 by Steve Robb in Main branch]
2015-04-21 10:25:59 -04:00
Andrew Rodham
86850fe0f8 Changed editor project unit settings to be more flexible
Users can now choose a set of relevant units to display applicable properties in.
Setting a single unit for a given type will result in only that unit ever being used. When multiple exist, the most appropriate unit will be shown when a property editor is opened, and will remain in this unit until something else is selected.

[CL 2519064 by Andrew Rodham in Main branch]
2015-04-21 08:27:25 -04:00
Michael Noland
4d5f3e7287 Property Editor: Changed SPropertyEditorAsset so that the drop-down button with the asset name stays visible longer as horizontal width reduces (still need to do something more agressive like shrink or omit the thumbnail at very small widths)
[CL 2516708 by Michael Noland in Main branch]
2015-04-17 23:17:32 -04:00
Saul Abreu
ca3c435b70 Removed text localization menu button on text properties. Not currently functional enough to ship.
[CL 2515109 by Saul Abreu in Main branch]
2015-04-16 17:59:37 -04:00
Dan Hertzka
fcca7b991d Updated SPropertyEditorAsset to account for AllowedClasses metadata on properties when being created without a valid property editor
[CL 2508764 by Dan Hertzka in Main branch]
2015-04-10 15:22:21 -04:00
PaulEremeeff
c9a246101e PR #1013: Fixing PVS-Studio warnings. (Contributed by PaulEremeeff)
Some files have been omitted and will be submitted with modified corrections

[CL 2505544 by Dan Oconnor in Main branch]
2015-04-08 14:46:25 -04:00
Andrew Rodham
3ac1e0da19 Added editor project setting to define whether to display units in imperial or metric (or not at all)
Also added a default input unit that is used when no units are specified on a text input.

This addresses UE-11863 and UE-9313

[CL 2499638 by Andrew Rodham in Main branch]
2015-04-02 05:30:34 -04:00
Mike Fricker
114458bf0f Clang warning fixes: Fixed missing 'override' specifiers
- Also removed some unreferenced functions that adding 'override' revealed

PR #1002 -- Thank you, Omar007!

[CL 2498415 by Mike Fricker in Main branch]
2015-04-01 07:20:55 -04:00
Robert Manuszewski
8fe5db30e3 Merging UE4-Streaming to UE4
- Linkers are no longer UObjects. Renamed ULinker, ULinkerLoad and ULinkerSave to FLinker, FLinkerLoad, FLinkerSave respectively
- Linkers are now associated with their UPackages
- Linker version is now stored in UPackages
- Async loading is now performed on a separate thread (if platform supports it and only in cooked builds), with the exception of PostLoad which is still done on the game thread
- Added UObject::IsPostLoadThreadSafe() function to determine if PostLoad is thread safe and can be executed on the async loading thread (defaults to false)
- UObject creation is now thread safe and can be performed on any thread
- Move many of the linker/UObject globals into FUObjectThreadContext (TLS)
- GetAsyncLoadPercentage() now takes PostLoad into account
- More async loading stats
- Added AtomicallySetFlags/ClearFlags to UObject
- Made FModuleManager thread safe.
- Added FGCScopeGuard as means of preventing GC from executing from non-game thread
- It's possible to disable async loading thread through ini settings.
- Cancelling async loading will now also trigger GC
- Implemented a basic version of async streaming priorities.

Change 2410813 by Mikolaj Sieluzycki:
	Change Sleep in while loop to ConditionalSleep in FMultiReaderSingleWriterGT
Change 2410734 by Mikolaj Sieluzycki:
	Make FModuleManager thread safe.
Change 2399879 by Mikolaj Sieluzycki:
	Basic version of async streaming priorities.
Change 2410707 by Mikolaj Sieluzycki:
	Implement conditional and no stat versions of sleep.
Change 2371939 by Robert Manuszewski:
	Async Loading Improvements: adding more stats (accumulators)
Change 2372403 by Robert Manuszewski:
	Fixing compile errors when STATs are not enabled
Change 2371526 by Robert Manuszewski:
	AsyncLoading Improvements (WIP)
Change 2407198 by Robert Manuszewski:
	Re-implementing delegate fixes for Async Loading
Change 2407425 by Robert Manuszewski:
	Re-implementing cancelling async loading in the async loading branch.
Change 2484362 by Robert Manuszewski:
	Making it possible to disable async loading thread through ini settings.
Change 2484744 by Robert Manuszewski:
	Minimizing locks in GC and other threads when handling UObjects
Change 2480190 by Robert Manuszewski:
	Fixing infinite stall after canceling async loading in non-cooked builds
Change 2484268 by Robert Manuszewski:
	Fixing crash when allocating permanent object pool.
Change 2489761 by Robert Manuszewski:
	Fixing BulkData using linker archive on the main thread even if the linker was created on the async loading thread.
Change 2493624 by Robert Manuszewski:
	Cancelling async loading will now also trigger GC
Change 2487881 by Robert Manuszewski:
	Making ShaderIdMap operations thread safe.
Change 2488067 by Robert Manuszewski:
	Fixing GetAsyncLoadPercentage. It will now also respect PostLoad.
Change 2458640 by Robert Manuszewski:
	Fixing crash in PIE
Change 2458825 by Robert Manuszewski:
	Fixing a few crashes when streaming and the package is missing.
Change 2476935 by Robert Manuszewski:
	Fixing crash while async loading ANavigationData
Change 2477361 by Robert Manuszewski:
	Fixing crashes in cooked game
Change 2480095 by Robert Manuszewski:
	Making FUObjectArray more thread safe
Change 2475443 by Robert Manuszewski:
	Re-enabling single-threaded async loading path for the editor and platforms that don't support multithreading.
Change 2475458 by Robert Manuszewski:
	Making sure bulk data is only loaded on a separate thread if it's not being loaded on the async loading thread.
Change 2476661 by Robert Manuszewski:
	Fixing FlushAsyncLoading not flushing everything
Change 2401089 by Jaroslaw Surowiec:
	Core - Added AtomicallySetFlags/ClearFlags to UObject, added a comment to ThisThreadAtomicallyClearedRFUnreachable

[CL 2498249 by Robert Manuszewski in Main branch]
2015-04-01 03:03:18 -04:00
PaulEremeeff
3d878d5a79 PR #996: Fixing PVS-Studio warnings (Contributed by PaulEremeeff)
I have reviewed each change carefully, but it is a large change and I could have missed something! Here is a summary of the types of changes in this CL:
 * Made nullptr checks consistent (the plurality of the changes are of this type)
 * Completed switch statements (IE, switch did not explicitly handle default case, but had unhandled enum entries - this is the second most popular type of fix)
 * Removed unused variables
 * Removed redundant initializations
 * WidgetNavigationCustomization.cpp was fixed by the owner
 * integers converted to floats where result was stored in a float
 * Removed redundent null checks (e.g. before delete statements)
 * Renamed variables to prevent non-obvious shadowing
 * Fixed use of bitwise & when checking for equality to an enum entry (which is often 0)
 * Fixes for some copy paste errors (e.g. FoliageEdMode.cpp)

[CL 2498053 by Dan Oconnor in Main branch]
2015-03-31 20:12:31 -04:00
Dan Oconnor
f4d3d65662 PR #968: Fixing PVS-Studio warnings (Contributed by PaulEremeeff)
These can be generally described as removing redundant condition checks, using logical operators instead of bitwise operators, removal of redundant parenthesis, and consistent use of pragma push and pragma pop. There is very little observable behavior change in this CL.

Changes that required further review are pending in 2489753

[CL 2489804 by Dan Oconnor in Main branch]
2015-03-24 15:51:28 -04:00
Nick Darnell
9d827fc66f Editor/Engine - The asset picker property editor now supports filtering on interfaces. It expands any AllowedClasses that are interfaces into the classes that implement the interface that are in memory. Now using it on the Blendables array in the post process volume to limit what is displayed. The blendables are also no longer in the Misc category.
[CL 2476615 by Nick Darnell in Main branch]
2015-03-12 06:32:58 -04:00
Saul Abreu
79a26091bf Fixed behavior on FString::ParseIntoArray (muliple delimiters overload) functionality to support optionally culling empty strings. Greatly simplified implementation logic. Output parameter now properly named and taken by reference.
#codereview Steve.Robb, Robert.Manuszewski

[CL 2466824 by Saul Abreu in Main branch]
2015-03-02 15:51:37 -05:00
Jamie Dale
06ab441b31 Cleaned up the parent class tree when adding new component classes
UE-9554 - Add BP/C++ Component's Show all classes list not expanded by default

It now hides the Object root if UObject is not a valid base class type, as this allows the next level of classes to be expanded out which looks much better when adding new component classes.

This involved a lot of shuffling of module dependencies so that we could link GameProjectGeneration to ClassViewer, as previously ClassViewer was directly linking to GameProjectGeneration.

I went through and fixed everything that was linking to GameProjectGeneration to instead list it as a dynamic dependency (which it is, as nothing needs to link to it), and then verified that everything was using ClassViewer correctly (found some places that were only marking it as a dynamic dependency without also adding it as an include module, causing issues with missing API macro definitions as they were including ClassViewer headers via a relative include path).

#codereview Andrew.Rodham

[CL 2451499 by Jamie Dale in Main branch]
2015-02-19 08:07:13 -05:00
Matthew Griffin
5e350e8eb4 [INTEGRATE] Change 2444702 by Nick.Darnell@Nick.Darnell_Dev on 2015/02/13 09:57:20
UE-9699 - Fixing all the places we were setting the asset size to 0 explictly, the new default reasonable size is .1, all asset pickers now just use the default, unless they're the content browser.

	#lockdown Matt.Kuhlenschmidt

[CL 2449865 by Matthew Griffin in Main branch]
2015-02-18 05:42:18 -05:00
Matthew Griffin
50547c6ca9 [INTEGRATE] Change 2435462 by Nick.Darnell@Nick.Darnell_Dev on 2015/02/06 10:42:03
Editor - The asset pickers now all save their changes to size so that you don't have to resize it every time you go to pick an asset.

[CL 2446740 by Matthew Griffin in Main branch]
2015-02-16 04:35:38 -05:00
Mikolaj Sieluzycki
52c71176ab Rename StaticConstructObject to StaticConstructObject_Internal and use it only in CoreUObject module. Change rest of usages to NewObject.
#codereview Robert.Manuszewski

[CL 2437731 by Mikolaj Sieluzycki in Main branch]
2015-02-09 05:43:45 -05:00
Thomas Sarkanen
3f0f5e3c83 FText key stablization & key editing
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]
2015-01-27 10:07:05 -05:00
Jaroslaw Palczynski
adecd4aaad UHT: Allows defining multiple UCLASSes in one header file.
[CL 2412156 by Jaroslaw Palczynski in Main branch]
2015-01-20 09:33:54 -05:00
Richard TalbotWatkin
ff82550b10 Fixed issue in SPropertyEditorAsset where Actor properties were not having their name fetched from the actor label if no PropertyEditor were specified.
#jira UE-7668 - Levels browser: Streaming volumes property customization shows object name instead of actor label

[CL 2411058 by Richard TalbotWatkin in Main branch]
2015-01-19 12:52:03 -05:00
Richard TalbotWatkin
2152c1c343 Deprecated SCreateNewAssetFromFactory.
#jira UE-7384 - Using "Create New Asset" twice in a row causes an ensure generating the error message

[CL 2403504 by Richard TalbotWatkin in Main branch]
2015-01-12 11:19:20 -05:00
Michael Noland
754a18cdcc Editor: Rename SPropertyEditorNewAsset to SCreateNewAssetFromFactory and move to EditorWidgets so it can be shared
[CL 2402566 by Michael Noland in Main branch]
2015-01-09 20:07:28 -05:00
Justin Sargent
5f156746a7 Back out changelist 2400879
[CL 2402539 by Justin Sargent in Main branch]
2015-01-09 19:48:05 -05:00
Jamie Dale
bbb0624bff Fixed code relying on SLATE_TEXT_ATTRIBUTE for tooltips.
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]
2015-01-08 11:35:01 -05:00
Thomas Sarkanen
4a3e3773a8 FText key stablization & key editing
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]
2015-01-08 09:26:03 -05:00