Commit Graph

58 Commits

Author SHA1 Message Date
Michael Noland
56943257fe Graph Editor: Allowed interacting with splines when they overlap with a comment node [UE-13021]
[CL 2521705 by Michael Noland in Main branch]
2015-04-22 16:40:05 -04:00
Jamie Dale
a7ba1dcd00 Back out changelist 2519615
[CL 2519619 by Jamie Dale in Main branch]
2015-04-21 14:13:02 -04:00
Jamie Dale
735bca0f8f WIP - Fixing behaviour tree culling and line drawing
[CL 2519615 by Jamie Dale in Main branch]
2015-04-21 14:12:32 -04:00
Andrew Rodham
efcc3d35b7 Fixed graph nodes sometimes not opening a rename when created
Changed the way that renames are initiated to depend on the event structure passed in, rather than keyboard focus
This addresses UE-9950.

[CL 2519070 by Andrew Rodham in Main branch]
2015-04-21 08:43:00 -04:00
Michael Noland
119b4b02b2 Graph Editor: Changed how spline hovering stores data, avoiding direct pin pointers beyond the frame
[UE-13270]

[CL 2501422 by Michael Noland in Main branch]
2015-04-03 14:40:58 -04:00
Michael Noland
da5d18f983 Graph Editor: Add a shortcut to create reroute nodes by double-clicking on BP spline connections
[CL 2484035 by Michael Noland in Main branch]
2015-03-18 23:32:57 -04:00
Michael Noland
11a6f30422 Graph Editor: Add tool tip display to hovered splines
[CL 2483985 by Michael Noland in Main branch]
2015-03-18 22:45:35 -04:00
Michael Noland
3c77014348 Graph Editor: Add experimental support for hovering and interacting with splines
- Currently gated by a setting in Editor Preferences..Graph Editors
- Alt+LMB Click on the spline to break the connection
- Ctrl+LMB Click on the spline to move the connection to a different pin
- Hover over the spline to highlight it

[CL 2483923 by Michael Noland in Main branch]
2015-03-18 21:37:27 -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
Matthew Griffin
e8b2eff5c2 [INTEGRATE] Change 2448972 by Maciej.Mroz@maciej.mroz_Z3302_4727 on 2015/02/17 13:49:55
UE-9950 Creating Custom Event doesn't allow user to name it right away anymore

	#codereview Ben.Cosh, Nick.Darnell

	#lockdown Nick.Whiting

[CL 2450028 by Matthew Griffin in Main branch]
2015-02-18 09:05:55 -05:00
Matthew Griffin
7a5b092fe9 [INTEGRATE] Change 2441355 by Ben.Cosh@BCosh_Home2 on 2015/02/11 05:57:54
This change re-implements info bubble vertical stacking functionality on GraphNodes.
	#UE-9280 - Node comment bubbles draw on top of diagnostic info bubbles (pin watches, anim states / timeline / latent action time displays / etc...)
	#Branch UE4-Releases
	#Proj GraphEditor

	#info Also added a fix for compact nodes not displaying any comments

	codereview Michael.Noland

[CL 2448656 by Matthew Griffin in Main branch]
2015-02-17 09:57:29 -05:00
Dan Oconnor
1525756ac9 Fix for UE-8789, we had two SGraphNodes for a single UEdGraphNode (refresh and add node called on the same frame)
[CL 2428978 by Dan Oconnor in Main branch]
2015-02-02 18:26:26 -05:00
Ben Marsh
4d5c52456e [INTEGRATE] Change 2411381 by Nick.Darnell@Nick.Darnell_Dev on 2015/01/19 16:39:31
Editor - Adding the unified blueprint editor view.  Combines all the modes into a single blueprint editor.  Still requires being enabled through the experimental option in the editor.

[CL 2419336 by Ben Marsh in Main branch]
2015-01-26 17:51:00 -05:00
Dan Oconnor
c1e8a85ad8 Fix for UE-8199, UE-8202 - intermittent crash when deleting nodes.. copy paste error, could have been prevented by using EraseIf. To reproduce the bug delete a node when there are VisibleChildren
[CL 2419239 by Dan Oconnor in Main branch]
2015-01-26 17:11:14 -05:00
Wes Hunt
5e497c92d4 Added custom slate stats, removed all but top level UE4 slate stats. #BUN
* See SlateStats.h for details on the new system, which allows for full hierarchical profiling with limited overhead.
* Moved SWidget::GetVisibility() out of line so we can instrument it without a full recompile.
* Widget debug info now uses FName to store the line number of the file. Keeps it in one place and the new stats system can utilize it as an FName.
* Exposed SWidget CreatedInFile debug info as an FName so new stats system can use it.
* FSlateVertex no longer uses FVector4, which is an aligned struct. Switched to float[4] instead. Goes from 48 to 36 bytes.
#codereview:nick.atamas,matt.kuhlenschmidt

[CL 2417281 by Wes Hunt in Main branch]
2015-01-23 16:49:16 -05:00
Dan Oconnor
635c401f58 No longer purging the visual representation when nodes are added to the vanilla blueprint editor (should not affect anim blueprint, material editor, etc)
[CL 2415500 by Dan Oconnor in Main branch]
2015-01-22 13:35:22 -05:00
Dan Oconnor
6ae9c6cac0 Blueprint editor no longer purges SGraphNodes when a node is removed, disabled for all schemas except 'clean' k2 schema because of risk
[CL 2414958 by Dan Oconnor in Main branch]
2015-01-21 23:54:10 -05:00
Dan Oconnor
2efabfa541 Back out changelist 2411626
I fixed the crash found in the material editor, but discovered some rendering issues. Backing this out for now.

[CL 2412583 by Dan Oconnor in Main branch]
2015-01-20 14:04:44 -05:00
Dan Oconnor
b0c9f152da We no longer refresh the graph panel when a user deletes or adds a graph node. This is a substantial improvement in responsiveness, especially when the user is editing large graphs.
[CL 2411626 by Dan Oconnor in Main branch]
2015-01-19 18:54:38 -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
Jason Hoffman
da0135c075 Added keybinding for zooming in graph editor per UE-6527 Blueprints: Can't zoom in and out without a mouse wheel (not keybindable)
[CL 2401081 by Jason Hoffman in Main branch]
2015-01-08 12:33:34 -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
Ben Cosh
ffcddfac6a To fix the comment in comment selection issues this changelist adds a node sort to the node panel and adds some functionality to help comments manage their depth in relation to one another.
#UE-3724 - LIVE: BP: If a comment box is created inside of another larger comment box the smaller box is no longer editable
#Branch UE4
#Proj UnrealEd, GraphEditor

#info this issue came about after recent changes to slate resulted in OnHitTest no longer being called by design. This changelist seeks to eliminate the requirement for this by correctly sorting the comments in arrangedchildren.

codereview Nick.Atamas

[CL 2377331 by Ben Cosh in Main branch]
2014-12-05 05:33:22 -05:00