Commit Graph

57 Commits

Author SHA1 Message Date
Benn Gallagher
21e01593fd Stopped notify panel triggering a Persona UI refresh when changing any property on any UObject. Filtered to only do the refresh when we actually changed a notify.
[CL 2604075 by Benn Gallagher in Main branch]
2015-06-29 11:40:24 -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
Benn Gallagher
8e1cda4882 Fix for notify context menu delete not working on some platforms.
[CL 2548854 by Benn Gallagher in Main branch]
2015-05-13 09:46:04 -04:00
Benn Gallagher
bf26da98df Added Montage timing UI, showing the triggering order of notifies, sections and branching points inside a montage.
[CL 2540821 by Benn Gallagher in Main branch]
2015-05-07 06:44:00 -04:00
Andrew Rodham
5194f5cfc0 Fixed some windows not gaining focus when opened
On mac, window activation is not guaranteed syncronously when a window is created, thus any code that opened a window, then immediately opened some focus-sensitive operation, may fail.

I've fixed up three of the most common cases (SAssetView::ItemScrolledIntoView, STextEntryPopup and STextComboPopup) so they register an active tick to focus the widget when the window gains focus (optionally controllable from the .AutoFocus() argument)

This addresses UE-12929.

[CL 2521062 by Andrew Rodham in Main branch]
2015-04-22 10:34:02 -04:00
Mikolaj Sieluzycki
a96989f147 Add includes to files to remove the need of including Engine.h.
[CL 2508000 by Mikolaj Sieluzycki in Main branch]
2015-04-10 03:30:54 -04:00
Joe Conley
89840995e7 Anim Notify Editor changes:
- Added "Replace with" option in right click menu for existing notify nodes.
- Fixed issue with deleting multiple animations at the same time deleting the wrong notifies

[CL 2502503 by Joe Conley in Main branch]
2015-04-06 05:11:54 -04:00
Benn Gallagher
54b54a9165 Added scroll bar to notify panel and hooked up with other sections of the editor panel (curve editor etc.).
#UE-4077

[CL 2496987 by Benn Gallagher in Main branch]
2015-03-31 05:45:57 -04:00
Benn Gallagher
79f220a084 Added resize cursor when hovering over scrub handles on notify state nodes in Persona
#UE-2120

[CL 2486131 by Benn Gallagher in Main branch]
2015-03-20 10:41:22 -04:00
Benn Gallagher
daa641d856 Added context menu options to notify nodes in Persona to allow direct setting of Frame and Time for each notify.
#UE-5416

[CL 2486000 by Benn Gallagher in Main branch]
2015-03-20 08:31:25 -04:00
Benn Gallagher
717dcafba8 Fixed BP anim notify name update not getting called when the notify is applied to the asset
#UE-9321

[CL 2482895 by Benn Gallagher in Main branch]
2015-03-18 07:31:44 -04:00
Benn Gallagher
bb883f12a7 Fixed undo when altering the size of notify state nodes using the drag markers.
#UE-11964
#codereview Lina.Halper

[CL 2481820 by Benn Gallagher in Main branch]
2015-03-17 13:37:01 -04:00
Marc Audy
a425eba9ed Unify Slate's FInputGesture and Engine's FInputChord as FInputChord defined in Slate
[CL 2481648 by Marc Audy in Main branch]
2015-03-17 11:36:28 -04:00
Lina Halper
89191abe22 Fix anim notify state, make sure to mark as dirty
https://jira.ol.epicgames.net/browse/FORT-4391

#code review: Benn.Gallagher

[CL 2480662 by Lina Halper in Main branch]
2015-03-16 16:42:43 -04:00
Marc Audy
8a022fb2e0 Fix shadowed variables
[CL 2468979 by Marc Audy in Main branch]
2015-03-04 13:46:55 -05:00
Benn Gallagher
32da94651a Fixed notify deletion picking the first notify with a matching name for event notifies.
[CL 2467671 by Benn Gallagher in Main branch]
2015-03-03 11:09:17 -05:00
Martin Wilson
2163a3edba Fix bugs in notify track panning introduced by marquee selection
#codereview Benn.Gallagher

[CL 2466332 by Martin Wilson in Main branch]
2015-03-02 10:47:55 -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
Mikolaj Sieluzycki
fa01cacb6c Trim down the amount of UObject constructors.
#codereview Robert.Manuszewski

[CL 2429641 by Mikolaj Sieluzycki in Main branch]
2015-02-03 05:40:57 -05:00
Benn Gallagher
24f42efd81 Fixed blueprint notifies deriving from native classes that derive from notify classes not showing in add notify menu.
[CL 2412240 by Benn Gallagher in Main branch]
2015-01-20 11:00:19 -05:00
Stephan Delmer
6f7661f391 Merging using UE4-Fortnite-To-UE4 from CL 2403093
[CL 2407402 by Stephan Delmer in Main branch]
2015-01-15 11:57:16 -05:00
Nick Atamas
f5e19bef14 Slate : RelativeLayoutScale is now computed in the SlatePrepass(). ComputeDesiredSize() now takes a float parameter. API-breaking change!
[CL 2406629 by Nick Atamas in Main branch]
2015-01-14 19:04:45 -05:00
Steve Robb
0756ef15b9 Delegate comparisons deprecated, lots of other associated code deprecated, and lots of warning fixups:
* Multicast delegate Add* calls now return FDelegateHandles, and Remove* calls are now all deprecated, except for a new Remove function which takes a FDelegateHandle.
* New FConsoleManager::RegisterConsoleVariableSink_Handle and UnregisterConsoleVariableSink_Handle functions which work in terms of FConsoleVariableSinkHandle.
* Timer calls which don't take FTimerHandles are deprecated.
* FTicker::AddTicker now returns an FDelegateHandle and is removed by an overloaded Remove function.
* DEFINE_ONLINE_DELEGATE* macros now define _Handle variants of the Add/Remove functions which return/take handles.
* Various other handle-based registration changes.
* Some unity build fixes.
* Some simplification of delegate code.
* Fixes for lots of existing code to use handle-based registration and unregistration.

#codereview robert.manuszewski

[CL 2400883 by Steve Robb in Main branch]
2015-01-08 09:29: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