Commit Graph

89 Commits

Author SHA1 Message Date
Joe Conley
6579568d88 Translation Editor: Fixing some incorrect/missing toolbar icons. Still just placeholder.
[CL 2250973 by Joe Conley in Main branch]
2014-08-11 01:13:07 -04:00
Ben Cosh
196cf342b5 Added a new documentation node to the blueprints to display udn documentation excerpts in the grapheditor.
#TTP 312311 - ROCKET: TASK: Add a "Documentation Node"
#Branch UE4
#Proj  BlueprintGraph, EdGraph, Kismet, KismetCompiler, GraphEditor, Documentation, EditorStyle

#Change Updated UEdGraphSchema to include an interface call to retrieve an FEdGraphSchemaAction to create documentation nodes. At this point only the K2 interfaces implement this.
#Change Updated UEdGraphSchema_K2 to include a call to retrieve an FEdGraphSchemaAction to create documentation nodes. This is used to add the actions to the blueprint palette and context menus.
#Add Added FEdGraphSchemaAction_K2AddDocumentation in EdGraphSchema_K2_Actions.h/cpp to implement the calls in UEdGraphSchema to create documenation nodes from palette and context menus.
#Change Modified FK2ActionMenuBuilder to provide a static call to create a documentation action in the same style as the comment. Additionally added calls to FK2ActionMenuBuilder::GetPaletteActions and FK2ActionMenuBuilder::GetContextAllowedNodeTypes to call this to add entries in the palette and context menus.
#Add Added a new Brush GraphEditor.Documentation_16x, for the context menu icon in SlateEditorStyle.cpp.
#Change Modified GetPaletteItemIcon in SBlueprintPalette.cpp to return the new icon for the DocumentationNode

#Change Modified FKismetCompilerContext::IsNodePure to include the Documentaton node in the drop through ensure test to prevent asserts on compling if a documentation node is present.

#Change Added an entry for Documentation node in FNodeFactory::CreateNodeWidget.

#Change Modified IDocumentationPage interface to provide the ability to provide a TextWrapAt Attribute so this can be set before creating excerpt content if desired.
#Change Modified the UDNParser to control text wrap at values in the created widgets using a float Attribute WrapAt, Added a set call in the DocumentationPage and made the default behaviour mimic the code it replaced.

#Add Added the class UEdGraphNode_Documentation implemented in EdGraphNode_Documentation.h and UEdGraph.cpp, this is the UObject implementation for the documentation nodes.
#Add Added the class SGraphNodeDocumentation as the GraphPanel implementation of the EdGraphNode_Documentation.
#Change Moved the resizable code from SGraphNodeComment into a SGraphNodeResizable and changed SGraphNodeComment and SGraphNodeDocumentation inherit from it to avoid duplicating code.

#Change Added a documentation specific details customisation so the excerpts can be displayed as combo button.
#Change Added FBlueprintDocumentationDetails into BlueprintDetailsCustomization.h/cpp to handle the user interaction with the documentation node in the BP Editor.

ReviewedBy Chris.Wood, Mike.Beach

[CL 2247425 by Ben Cosh in Main branch]
2014-08-07 15:33:55 -04:00
Jamie Dale
dbc7090d00 Added support for SMultiLineEditableText to edit rich-text
TTP# 336464 - Editor: Finish the Multiline Editable Text Block

Abstracted away the SetEditableText and GetEditableText functions from SMultiLineEditableText into "text marshallers" which handle converting text to and from a TextLayout.

There are three types of text marshallers currently implemented:
 * Plain-text
 * Rich-text
 * Syntax highlighting

Text marshallers also have the ability to inject formatting "live" (as the text changes), which is how the syntax highlighting marshaller works.

Added the ability for a run to query the information it was created with. This allows the rich-text marshaller to reconstruct the original rich-text from the styled runs.

To test this out, I've implemented a simple WYSIWYG rich-text editor demo with the following features:
 * Two SMultiLineEditableText widgets showing the same source text, one using a rich-text marshaller, and one using a syntax highlighter marshaller.
 * A toolbar to allow you to control the style of the selected text.
 * A button to allow you to insert a hyperlink into the document.

The demo also makes use of the meta-data stored in the runs (the same information used to reconstruct the original rich-text) to read the text style of whatever is currently under the cursor, live, as the cursor is moved.

Miscellaneous fixes:
 * Fixed an issue where deleting text that spanned multiple runs could leave the remaining runs in a bad state, leading to phantom text appearing (see FTextLayout::RemoveAt).
 * Fixed an issue where new-lines at the end of a rich-text document would be lost (see CalculateLineRanges).
 * Fixed an issue where \\r\\n line endings werenÆt being handled correctly by the rich-text parser (see CalculateLineRanges).
 * Fixed an issue where the rich-text parser would treat an empty run as plain-text (see FRichTextMarkupProcessing::ParseLineRanges).
 * Fixed an issue where inserting a line break when the cursor was at the end of a line containing multiple runs could sometimes fail (see FTextLayout::SplitLineAt).
 * Fixed mouse cursor movement not working correctly with a FSlateHyperlinkRun (see FSlateHyperlinkRun::GetTextIndexAt).

ReviewedBy Justin.Sargent

[CL 2246838 by Jamie Dale in Main branch]
2014-08-07 06:46:11 -04:00
Marc Audy
c4b5049185 Add a make new blueprint button on class dropdowns for classes that are Blueprintable
Make buttons next to the Game Mode customization class drop downs consistent with normal class dropdowns

[CL 2245541 by Marc Audy in Main branch]
2014-08-06 10:11:22 -04:00
Nick Darnell
476eea0d70 Editor - Smaller allowable thumbnail size in the Content Browser. We now also adjust the font size at the lower end of the thumbnail size to make a little more text fit on the lines.
[CL 2244490 by Nick Darnell in Main branch]
2014-08-05 14:00:58 -04:00
bruce nesbit
e5f7155218 Added icon for documentation actor
[CL 2244290 by bruce nesbit in Main branch]
2014-08-05 10:44:56 -04:00
Thomas Sarkanen
a27980dcf0 Tutorials 2.0 - Initial version
NOTE: Old tutorials not deprecated (yet), but widget highlights in old tutorials will stop working with this change!

Added new Blueprintable UEditorTutorial object.
Added suite of widgets and details customizations to display tutorials.
New system is available on command line switch -NewTutorials.

Slate changes:
Tag names are now stored in SWidgets, rather than simply being discarded.
Removed STutorialWrapper in favour of using Tags.
Added Tags to more multibox widgets, so virtually all can now be picked.
Added SWindow::HasOverlay so we dont attempt to add overlays to widows that cannot have them.

[CL 2244216 by Thomas Sarkanen in Main branch]
2014-08-05 09:04:35 -04:00
Bob Tellez
6eafd0ead8 [AUTOMERGE]
#UE4 Added world asset icon brush entry

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2240467 by Bob.Tellez on 2014/08/01 19:27:15.

[CL 2240468 by Bob Tellez in Main branch]
2014-08-01 19:30:00 -04:00
Max Preussner
b077bc0d38 Media: Added media asset type icons to Slate style set
[CL 2239399 by Max Preussner in Main branch]
2014-07-31 23:50:25 -04:00
Nick Darnell
1e11a09c1d UMG - Adding a placeholder zoom to fit icon.
[CL 2238766 by Nick Darnell in Main branch]
2014-07-31 15:53:45 -04:00
Matt Kuhlenschmidt
1ad8b4fcd5 UMG Sequencer keying:
- Added ability to key into UMG animations via the details panel
- Fixed some undo/redo issues in sequencer related to autokey
- Fixed auto-key causing property migration

[CL 2231142 by Matt Kuhlenschmidt in Main branch]
2014-07-24 23:52:28 -04:00
Ben Cosh
0f8d9ef7d3 Added the ability to flag custom events as CallInEditor and extended the main editor actor details view to provide a drop list in the blueprints to call valid meta tagged functions.
#TTP 337860 - Expose flagged BlueprintEvents as buttons in the Details panel that can be run in-editor
#Branch UE4
#Proj Engine, DetailsCustomization, Kismet, Kismetcompiler, BlueprintGraph

#Change Added FName FBlueprintMetadata::MD_CallInEditor as "CallInEditor"
#Change Added bool UProperty UK2Node_CustomEvent::bCallInEditor to enable call in editor states to be serialised with UK2Node_CustomEvent
#Change Modified FBlueprintGraphActionDetails::CustomizeDetails to add support for the CallInEditor tickbox.

#Change Modified UK2Node_CustomEvent::GetPaletteIcon to return a different node icon when call in editor is enabled.
#Added new icon GraphEditor.CallInEditorEvent_16x for the node corner icons and the blutility combo menu.

#Change Added FKismetUserDeclaredFunctionMetadata::bCallInEditorProperty to help propagate call in editor setting from customevent node's to compiler generated event function entry point
#Change Modified FKismetCompilerContext::CreateFunctionStubForEvent to check customevent node bCallInEditor properties and mark the generated function entry nodes as CallInEditor. This was required as a transitional phase to so the setting could be observed later during meta data generation.
#Change Modified FKismetCompilerContext::FinishCompilingFunction to check function entry points for call in editor flags in the attached FKismetUserDeclaredFunctionMetadata and add CallInEditor meta data if present.

#Change Modified AActor::ProcessEvent to allow events to be processed by the actor instance if the Function has CallInEditor meta data set to true

#Change Added a series of functions to FActorDetails to conditionally add a blutility category and a combo list ( displaying the available blutility functions from the current actor blueprint ) and a button to call the selected function on the actor selection.

ReviewedBy Chris.Wood

#codereview Nick.Whiting

[CL 2230263 by Ben Cosh in Main branch]
2014-07-24 13:30:26 -04:00
Simon Tovey
e4ba72ebdd Icon for live preview button in material editor.
TTP 342063 - MATERIAL EDITOR: Small Icons: Live Preview icon missing

[CL 2229623 by Simon Tovey in Main branch]
2014-07-24 04:33:42 -04:00
Andrew Rodham
6f6e509fbc Added landscape icon style to EditorStyle
[CL 2228353 by Andrew Rodham in Main branch]
2014-07-23 08:26:12 -04:00
Thomas Sarkanen
ff7d2bdb1b Added Behavior Tree execution order index widgets
Added new widget overlay system for graph panels, designed to allow more flexibilty than the current brush-only implementation. This requred a small refactor to avoid the assumption that all child widgets of an SNodePanel are SNodes (and because there is no usable RTTI present).

Added index widget overlay to BT graph nodes.

Added flag to parent nodes to allow us to change the appearance of child nodes when another child is hovered.

TTP# 339733 - Editor: Behaviour Tree: Add better execution order indicators

reviewed by Lukasz.Furman

[CL 2226658 by Thomas Sarkanen in Main branch]
2014-07-22 04:03:40 -04:00
Lina Halper
c52a772f3d Updated icons and path for Persona
[CL 2226276 by Lina Halper in Main branch]
2014-07-21 21:12:06 -04:00
Lina Halper
14b8e23e7f - Added Create Asset toolbar
- Consolidated code between asset skeleton and toolbar
- Added Asset Picker to suppoert Sync To Assets

[CL 2226236 by Lina Halper in Main branch]
2014-07-21 20:47:01 -04:00
Andrew Rodham
8c7093330b Added abililty to snap actors to surfaces in the world whilst dragging in the viewport.
#ttp 323078 - Actor drag preview does not respect actor factory spawn position offset
#ttp 309631 - TOOLS FEATURE: Asset placement: Align placed assets with surface placed on
#ttp 335001 - UE4: EDITOR:"Paste here" works inconsistently
#ttp 334066 - EDITOR: PAPER2D: Dragging a mesh into an ortho viewport does not provide a preview

There is a lot of work here:
    * I have moved and unified all the prop preview and drag alignment code that attempted to align objects to surfaces in the world to a new class, FActorPositioning. This fixes inconsistent behaviour between the drop previews, actual placement, and drag alignment.
    * I have tidied up the methods by which surface alignment is performed in UActorFactory. There is now a virtual method for factories to define *how* an actor should be aligned to the surface. This allows us to specify different alignment routines for things like static meshes, decals and lights.
    * Actor factories now create actors with an FTransform rather than specifying pointers to location and rotation vectors. This makes creation simpler and parameter passing less error prone. As far as I can see, the rotation was only used for surface snapping which is now handled by the factory anyway.
    * Surface snapping can be controlled by the editor viewport toggle button, or via a keyboard command set in the editor preferences
    * It is possible to override the default placement offset when aligning actors to surfaces. SnapOffsetExtent can be found in the editor viewport preferences.
    * Finding a valid snap position no longer uses a hitproxy as this was prone to error and does not work correctly when dragging actors that render their own hit proxies.
    * ClickLocation and ClickPlane are now more consistently set and managed. I have tried to remove excess assignment to these variables to clarify their use and purpose.

[CL 2223237 by Andrew Rodham in Main branch]
2014-07-18 10:09:21 -04:00
Lina Halper
05955fac28 Persona usability -
Added tool bar - mainly import/reimport options

[CL 2222754 by Lina Halper in Main branch]
2014-07-17 17:30:46 -04:00
Gareth Martin
e20a958f1d Remove FLandscapeToolSet
Rename ALandscapeProxy::DataLayer to VisibilityLayer
Fix visibility tool not showing the visibility layer as its target

[CL 2222321 by Gareth Martin in Main branch]
2014-07-17 12:20:34 -04:00
Nick Darnell
e34f6254bf UMG - Now have a customization for horizontal and vertical alignment. Buttons now have a slot object of their own, old assets will load, but things may appear differently.
[CL 2221118 by Nick Darnell in Main branch]
2014-07-16 15:09:59 -04:00
Dmitry Rekman
dbdea559eb [Github] PR 242 (safe changes).
- Code cleanup and minor rearrangement (e.g. variable name changes).
- Additions.
- Case issues fixed.
- Minor fixes (init ordering).

[CL 2172690 by Dmitry Rekman in Main branch]
2014-07-08 00:06:17 -04:00
Richard TalbotWatkin
bd1dea4bc9 Moved static mesh stat info text into Slate UI.
#ttp 339600 - Move static mesh stat info out of canvas and into StaticMeshEditor Slate UI
#branch UE4
#proj Editor.EditorStyle, Editor.StaticMeshEditor
#add Added a parameter to the StaticMeshEditorViewportClient to pass in a weak ptr to the viewport widget which owns it.  This is so that, on Draw calls, we can update one of its child Slate widgets.
#add Created a struct SStaticMeshEditorViewport::FOverlayTextItem which represents one item of overlay text, and a method SStaticMeshEditorViewport::PopulateOverlayText() which populates the Slate SVerticalBox in the SOverlay with these text blocks.
#add Created a couple of new SlateEditorStyles - shadowed text (normal), and shadowed text (error).
#change Changed FStaticMeshEditorViewportClient::DrawCanvas() to populate an FOverlayTextItem array and call PopulateOverlayText on the owning widget to update the overlay widget.
#reviewedby Chris.Wood

[CL 2169037 by Richard TalbotWatkin in Main branch]
2014-07-07 07:00:18 -04:00
Michael Noland
43997c3e40 Paper2D: Rename pass to better match engine standards (phase 2)
- Rename APaperRenderActor to APaperSpriteActor

- Fix up many references to the old names that were working via the deprecated typedefs

[CL 2120755 by Michael Noland in Main branch]
2014-06-28 17:21:43 -04:00
Thomas Sarkanen
8768e7923b Managing and creating Blackboard asset improvements
Added factory for Blackboard assets so they can have their own entry & icon in the context menu.
Added toolbar shortcut to create a new Blackboard asset alongside the BT.
Fixed selecting new Blackboard sometimes not displaying in Blackboard mode.
Displayed root node properties when nothing is selected so blackboard assets can be chosen.
Also added missing icons for small toolbars

TTP# 339961 - [Editor][AI] There's no way to create a blackboard asset
TTP# 339731 - Editor: Behaviour Tree: Root node UI improvements

reviewed by Lukasz.Furman

[CL 2119281 by Thomas Sarkanen in Main branch]
2014-06-27 06:25:31 -04:00