Commit Graph

30 Commits

Author SHA1 Message Date
Nick Darnell
d287c6143f More Gamma Correction - Didn't catch this on the previous pass, apparently there was an implicit constructor allowing FLinearColor to FColor that was doing pow(2.2) gamma conversion inversion. Rather than leave the implicit constructor, I'm making it private and making people use ToFColor(true). Which is slightly more expensive, but performs the proper sRGB conversion. While fixing this, I found several terrible uses of the implicit constructor, when Hashing FLinearColors we were converting them to FColors first, when clearing FCanvas we were manually gamma correcting but leaving it as an FLinearColor, then implicitly converting to FColor, double gamma corrrecting. Neither of which should even be required as the RHI Clear command expects an FLinearColor. Additionally fixing a myriad of Slate widgets that were all doing FColor conversions needlessly only to convert back to FLinearColor when queuing slate draw commands.
#codereview nick.penwarden, martin.mittring, andrew.brown, gareth.martin

[CL 2593605 by Nick Darnell in Main branch]
2015-06-19 11:17:11 -04:00
Jamie Dale
c360522488 Added advanced search query syntax to the Content Browser
UETOOL-332 - Collections 2.0
UETOOL-366 - Ability to search and filter assets that are only in specific collections

This allows you to perform complex queries against any of the meta-data from the asset registry (using standard comparison operators), as well as being able to test other standard keys, such as the collections that contain a given asset, its name, path, or class.

The syntax supports sub-expression grouping, and also partial (unquoted), exact (quoted) starts with (s...), or ends with (...s) string matching, as well as standard logic operators (OR, AND, NOT).

ReviewedBy Andrew.Rodham

[CL 2578624 by Jamie Dale in Main branch]
2015-06-05 13:14:36 -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
Matthew Griffin
f01fe61469 [INTEGRATE] Change 2431888 by Nick.Darnell@Nick.Darnell_Dev on 2015/02/04 12:03:13
Editor - Improving the SDropTarget Editor Widget to be more customizable.

[CL 2438224 by Matthew Griffin in Main branch]
2015-02-09 11:39:42 -05:00
Matthew Griffin
c8604916ea [INTEGRATE] Change 2426450 by Nick.Darnell@Nick.Darnell_Dev on 2015/01/30 17:18:55
Editor - Tweaking the drop target some.

[CL 2433529 by Matthew Griffin in Main branch]
2015-02-05 09:27:34 -05:00
Matthew Griffin
4362f2fa08 [INTEGRATE] Change 2425685 by Nick.Darnell@Nick.Darnell_Dev on 2015/01/30 09:52:10
Editor - Improving the droptarget for assets in the details panels to be more obvious when a drag begins.

[CL 2433333 by Matthew Griffin in Main branch]
2015-02-05 05:55:18 -05:00
Ben Marsh
279f990180 [INTEGRATE] Change 2423049 by Mike.Fricker@MFRICKER_G3686_Alpha on 2015/01/28 19:17:57
Fixed "Discovering Assets" not centered nicely in Content Browser
	#codereview matt.kuhlenschmidt

[CL 2425920 by Ben Marsh in Main branch]
2015-01-30 11:28:03 -05:00
Michael Noland
aeb8dde960 [INTEGRATE]
Change 2414304 by Michael.Noland@mnoland-T2784-Reference on 2015/01/21 15:48:01

Editor: Deleting SCreateNewAssetFromFactory (was previously private and was almost immediately deprecated after becoming public in mainline)

[CL 2414305 by Michael Noland in Main branch]
2015-01-21 15:48:47 -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
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
Jamie Dale
a569f6b356 Fixed code relying on SLATE_TEXT_ATTRIBUTE for STextBlock.
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 2399803 by Jamie Dale in Main branch]
2015-01-07 09:52:40 -05:00
Dan Hertzka
1ce19a5ffa Full rename of the Slate "active tick" system to "active timer"
[CL 2394301 by Dan Hertzka in Main branch]
2014-12-19 17:44:49 -05:00
Richard TalbotWatkin
20c6a3f9d6 Fixed "Discovering Assets" indicator from being able to be truncated.
#jira UE-6652 - Asset discovery prompt can be clipped with unfortunate results ("Discovering Ass")

[CL 2393841 by Richard TalbotWatkin in Main branch]
2014-12-19 12:47:00 -05:00
Michael Trepka
81595e29b5 Fixed Clang compile error (STransportControl.h:26:15: error: 'STransportControl::Tick' hides overloaded virtual function [-Werror,-Woverloaded-virtual])
#codereview Dan.Hertzka

[CL 2392725 by Michael Trepka in Main branch]
2014-12-18 12:32:27 -05:00
Dan Hertzka
c042ddcb94 ---- Merging with SlateDev branch ----
Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI.

While asleep, Slate will skip the Tick & Paint pass for that frame entirely.
- There are TWO ways to "wake" Slate and cause a Tick/Paint pass:
    1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active.
        - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick.
    2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked.

- The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action.
    - Examples include animation, async operations that update periodically, progress updates, loading bars, etc.

- An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before.

- An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick()
    - There are THREE ways to unregister an active tick:
        1. Return EActiveTickReturnType::StopTicking from the active tick function
        2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick()
        3. Destroy the widget responsible for the active tick

- Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar
- There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed.
    - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f)

- The FCurveSequence API has been updated to work with the active tick system
    - Playing a curve sequence now requires that you pass the widget being animated by the sequence
    - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete
    - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end.

[CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -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
Benn Gallagher
9d08f811ed Fixed SAssetSearchBox mouse selection. Previously the search box would close before mouse selected items could be passed back to the text box.
[UE-5742]

[CL 2367672 by Benn Gallagher in Main branch]
2014-11-21 12:56:16 -05:00
Richard TalbotWatkin
a5fb590e49 Drag and drop files (rather than content browser assets) into an asset drop target now doesn't color the border red if the file is unrecognized (this is because an OnDrop message will never arrive in order to reset the border color afterwards).
#jira UE-1122 - Warning box for Skylight is not removed when no longer valid

[CL 2345105 by Richard TalbotWatkin in Main branch]
2014-10-30 12:48:35 -04:00
Chris Gagnon
0e6d657c3d Refactor to unify keyboard and controller input and focus.
Native controller navigation support.

[CL 2345039 by Chris Gagnon in Main branch]
2014-10-30 12:29:36 -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
Ben Marsh
e9f8b8d3a1 Fixup multiline comments that are meant to be documentation. Need to start with /** for doxygen to parse them.
[CL 2265840 by Ben Marsh in Main branch]
2014-08-21 08:33:39 -04:00
Nick Atamas
978a62ee0f Slate Hittesting 2.0 : Hittesting no longer bound to logical widget hierarchy.
Merged from usr/Nick.Atamas/UE4_SlateDev => /UE4

[CL 2228155 by Nick Atamas in Main branch]
2014-07-23 08:23:21 -04:00
Richard TalbotWatkin
2886eccdbe Object name in Details tab now ignores leading and trailing spaces.
#ttp 338977 - EDITOR: Actors can be renamed leading with a space character through the details tab which results in the actor taking on a default generic name
#branch UE4
#proj Editor.EditorWidgets
#add Added call to FText::TrimPrecedingAndTrailing in SObjectNameEditableTextBox::OnNameTextCommitted and SObjectNameEditableTextBox::OnTextChanged.
#reviewedby Chris.Wood

[CL 2136462 by Richard TalbotWatkin in Main branch]
2014-07-04 05:06:48 -04:00
Jaroslaw Palczynski
ebce413232 UE4 Refactoring. Changed OVERRIDE and FINAL macros to keywords override and final.
[CL 2104397 by Jaroslaw Palczynski in Main branch]
2014-06-13 06:14:46 -04:00