Commit Graph

10 Commits

Author SHA1 Message Date
Ben Cosh
34f4d6d5fd Modified the dragdrop operations in the blueprint graphs to respect read only attributes set on either graphs or nodes.
#TTP 334976 - BLUEPRINTS: Drag-dropping can still create nodes in read-only graphs (e.g., during PIE or when viewing an anim parent graph)
#Branch UE4
#Proj GraphEditor

#Add added SGraphPanel::IsGraphEditable so nodes and objects placed in the graph can easily determine if the graph is read only.
#Change Modified SGraphPanel::OnDragLeave to restore the tooltip if a FDecoratedDragDropOp has been modified to indicate that the graph is read only.
#Change Modified SGraphPanel::OnDragOver to change the icon on the tooltip to a lined circle if the graph is read only.
#Change Modified SGraphPanel::OnDrop to exit without changes if the graph is read only.
#Change Modified FGraphEditorDragDropAction to present feedback to the user if the drag drop target is invalid. this is activated by setting FGraphEditorDragDropAction::SetDropTargetValid, this just collpases the active icon and displays a lined circle with the same tooltip when set to false.
#Add added SGraphNode::IsNodeEditable to determine if the node is currently editable, based on an evaluation of the IsEditable attribute and the parent graphs IsGraphEditable.
#Change modified SGraphNode::OnDragOver to display a lined circle if the parent graph or the node is read only.
#Change modified SGraphNode::OnDrop to exit without changes if the parent graph or the node is read only.
#Change modified SGraphPin::OnDrop to exit without changes if the parent graph or the owner node is read only.

ReviewedBy Chris.Wood, Nick.Whiting

[CL 2109030 by Ben Cosh in Main branch]
2014-06-18 05:04:59 -04:00
Michael Noland
6046bb9cc9 Blueprints: Add reroute nodes to help organize wires
- Clean up FDragConnection construction and add a factory function in SGraphPin to extend it for some pins
- Clean up arguments to FOnGetContextMenuFor in SGraphPanel
- Various modifications to SGraphPin to permit implementation of wire knots/reroute nodes
#codereview nick.whiting

[CL 2074801 by Michael Noland in Main branch]
2014-05-15 17:34:14 -04:00
Ben Cosh
e90a7467ff Added a movement filter to the node movement call, which now adds any successfully moved nodes. This prevents duplicate movement if two selected comments try to move the same node.
#TTP 314475 - k2: comment boxes within other comment boxes do not move if the outer most box is moved. Also, if two nested comment boxes are moved, the nodes within move 2x as much as they should (video)
#Branch UE4
#Proj GraphEditor, BehaviourTreeEditor

#Add SNodePanel::SNode::FNodeSet typedef for conveniance and clarity
#Change Changed SNodePanel::MoveTo to take an FNodeSet as an exclusion filter on the moved nodes, once moved nodes are appended into this set.

CodeReview Chris.Wood, Nick.Whiting

[CL 2064255 by Ben Cosh in Main branch]
2014-05-06 04:45:44 -04:00
Max Preussner
b63129a60c Slate: Refactored core Slate implementation into SlateCore module in preparation for UMG.
Other Updates:
- The WidgetReflector is now in its own module as well. It will be converted to a plug-in later.
- The Public API of both Slate and SlateCore has largely been reorganized for better discoverabilty. More cleanup work is needed.
- Added a lot of missing API documentation and fixed existing ones. More and better documentation is needed.
- Removed dead code, fixed a couple things I stubled upon, and conformed to coding guidelines (NULL vs nullptr, line breaks, etc.)

Upgrade Notes:
- The Slate Remote Server is currently disabled - will be re-enabled shortly!
- If your module previously had a module dependency to 'Slate', it now also needs a PrivateModuleDependency to 'SlateCore' in its Build.cs file.
- If your module exposes in any of its Public header files types that are now declared in SlateCore, it needs a PublicModuleDependency to 'SlateCore'
- The ToolTip property type on SWidget has changed from SToolTip to IToolTip; change local variables to TSharedPtr<IToolTip> instead of TSharedPtr<SToolTip> where needed
- IToolTip is not a widget. If you need access to the actual widget that represents the tool tip, use IToolTip::AsWidget(); If you need access to the tool tip's content, use IToolTip::GetContentWidget()

Troubleshooting:
- After syncing to this changelist you may have to clean your /Engine/Intermediate/Build/ directory and rebuild your entire project
- If in your project you are getting linker errors for unresolved types that are now declared in SlateCore, you may be missing a dependency to 'SlateCore'
- If in the Engine code you are getting linker errors for unresolved types that are now declared in SlateCore, you may need to rebuild the entire Engine

[CL 2057118 by Max Preussner in Main branch]
2014-04-26 15:07:24 -04:00
Michael Schoell
047b575647 #summary Fixed node titles not refreshing when they the text changes.
#change Old and new titles were being checked for being the same to allow for the update in text, instead of being different.

#ttp 332815 - Critical: Regression: EDITOR: MATERIAL: Values on Constant nodes not updating

[CL 2049898 by Michael Schoell in Main branch]
2014-04-23 19:34:38 -04:00
Michael Schoell
0a41fb741e #summary Can search for nodes in the palette menu in Blueprints with both the native name and the localized name.
#add Added UEdGraphNode::GetNodeNativeTitle to return a native title for a node.
#add Added UEdGraphNode::GetNodeSearchTitle to return the native and localized title for a node, together, for searching.
#add Can hold "alt" over a node (in the graph panel, or the palette) to see the native name of the node.

#ttp 331252 - Blueprints: Editor: L10N: Blueprints need to consistently show localized node names and when searching need to search both the localized name and the native name

#codereview justin.sargent

[CL 2044506 by Michael Schoell in Main branch]
2014-04-23 18:30:37 -04:00
Andrew Rodham
07b90d1da2 #ttp 331268 - SLATE: Replace instances of DragDrop::IsTypeMatch with FDragDropEvent::GetOperationAs()
#summary  Replaced instances of DragDrop::IsTypeMatch with FDragDropEvent::GetOperationAs()
#note Please change any instances of DragDrop::IsTypeMatch for the templated FDragDropEvent::GetOperationAs<>() or FDragDropOperation::IsOfType<>() where necessary
#proj Editor
#branch UE4
#reviewedby Nick.Atamas

[CL 2042222 by Andrew Rodham in Main branch]
2014-04-23 18:00:50 -04:00
Nick Darnell
b96d695522 * FDragDropOperation now inherits from TSharedFromThis, no need to do it on subclasses any more. I've removed it from the subclasses that were also doing it.
* FDecoratedDragDropOp's Hover text is now FText, instead of FString.

[CL 2041690 by Nick Darnell in Main branch]
2014-04-23 17:55:20 -04:00
UnrealBot
db494a6e69 Engine source (Main branch up to CL 2037954) 2014-04-02 18:09:23 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00