Commit Graph

25 Commits

Author SHA1 Message Date
bruce nesbit
f81503a82d Fixed clicking on Document links in documentation actor opening 2 pages
[CL 2317117 by bruce nesbit in Main branch]
2014-10-02 05:28:25 -04:00
bruce nesbit
14a20f2f92 Removed dialog from Documentation Actor.
(This fixes build error also)

[CL 2292354 by bruce nesbit in Main branch]
2014-09-10 08:49:16 -04:00
Thomas Sarkanen
fa824aad40 Added more hyperlink types for tutorials
Added asset, code, tutorial and UDN hyperlinks. Tweaked UI to use combo box instead of the large amount of radio buttons it was using before.
Made sure importer & content use correct text styles.
Defaulted to rich text for content.

[CL 2284444 by Thomas Sarkanen in Main branch]
2014-09-04 09:59:45 -04:00
Thomas Sarkanen
7b3ae59c60 Simplified rich text editor for tutorials.
Removed ability to independently set font size & colour etc. and replaced with a set of font styles we can use (and style appropriately). Added legacy code to deal with old-style text as best it can.

[CL 2282800 by Thomas Sarkanen in Main branch]
2014-09-03 06:25:58 -04:00
Jamie Dale
4819f62b3e Converted STextBlock to use an FTextLayout
This solves a wrapping issue where STextBlock would incorrectly consume new-line characters when wrapping, as well as allowing it to use custom wrapping behavior (eg, CamelCase wrapping for asset names in the content browser).

This change also implements FString -> FText passthrough for SLATE_TEXT_ATTRIBUTE (it was previously performing FText -> FString passthrough, however this didn't fit well with the fact that FText has a more efficient method of comparing whether a bound text attribute has changed (see FTextSnapshot), so can quickly work out that the FTextLayout doesn't need updating).

This change adds FTextBlockLayout to handle the text layout cache for text block types (STextBlock and SRichTextBlock) and serves a dual purpose of moving the duplicated caching logic into a single place, as well as hiding it from the widget (so allowing the cache to mutate, even when called from immutable widget functions).

This change also increases the unification between the STextBlock and SRichTextBlock construction parameters, by allowing STextBlock to specify a Justification, Margin, and LineHeightPercentage, and allowing SRichTextBlock to specify its HighlightText as an attribute.

ReviewedBy Nick.Atamas, Justin.Sargent

[CL 2280351 by Jamie Dale in Main branch]
2014-09-01 06:28:16 -04:00
Ben Marsh
abd570b7a9 Move GetSolutionFilepath() out of Core and into DesktopPlatform.
[CL 2278050 by Ben Marsh in Main branch]
2014-08-29 15:31:27 -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
Thomas Sarkanen
b7361dffe8 Tutorials 2.0: Adding new tutorial wizard and rich text support
Tutorials can now be created using the right-click asset menu->Misc->Tutorial Blueprint.
Importer allows you to pick a UDN file, which will then be converted into a new Tutorial Asset.

Adapted UDN parser to also output rich text format for the purposes of this importer. This may be deprecated at some point soon, once existing tutorials have been imported.

Rich text editor added to tutorial details customization. Features; font, color, size & hyperlinks for now.
Rich text display also added to content widgets.

Added option to optionally show the widget highlight if only the bubble widget is required.

#codereview Bruce.Nesbit

[CL 2256027 by Thomas Sarkanen in Main branch]
2014-08-14 07:02:50 -04:00
Saul Abreu
1d025fcd8f Added CulturePointer.h, which typedefs ThreadSAfe TSharedRef and TSharePtr for FCulture. These should be used instead of the manual template instantiations for consistency.
[CL 2255218 by Saul Abreu in Main branch]
2014-08-13 17:14:52 -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
Michael Trepka
5bd6255fde More Clang compile warning fixes
[CL 2237347 by Michael Trepka in Main branch]
2014-07-30 14:51:27 -04:00
Marc Audy
774a9e947f Add analytics event for when Ctrl + Alt is used to show a rich tooltip
[CL 2237209 by Marc Audy in Main branch]
2014-07-30 13:41:12 -04:00
Marc Audy
dfdb8c1926 Make Slate.ToolTipWrapWidth 1000 instead of 400 by default
SDocumentationTooltip now uses Slate.ToolTipWrapWidth console variable instead of hardcoding 400

[CL 2230620 by Marc Audy in Main branch]
2014-07-24 16:36:06 -04:00
bruce nesbit
84d702999e Added [CODELINK] token to UDN parser to link to source code files in tutorials and such.
[CL 2226807 by bruce nesbit in Main branch]
2014-07-22 06:39:44 -04:00
Marc Audy
494f22bb33 Add the ability to link to object class documentation throughout the UI
[CL 2226010 by Marc Audy in Main branch]
2014-07-21 17:31:27 -04:00
Michael Noland
8523c1225c Editor: Added source control checkout or add when creating a new rich tooltip excerpt via the 'create' link
#codereview nick.darnell

[CL 2121411 by Michael Noland in Main branch]
2014-06-29 22:01:19 -04:00
Michael Schoell
0b51921eab Find-in-Blueprints will now find a variety of new, useful bits of data in Blueprints (both for find-in-all and finding in current). Searches can now be done in the current culture and source culture.
Find-in-Blueprints now uses the same search data for both Find-in-all-Blueprints and Find-in-Blueprint. That searchdata is no longer stored in the asset registry, it is stored in the DDC and is managed by a new class. Searching is multithreaded to reduce overhead on the main thread during long searches in large projects.

virtual UEdGraphNode::AddSearchMetaDataInfo which sets base find-in-blueprints metadata and can be overriden with more detailed search data.
#change UEdGraphPin::GetDefaultAsString will return the text value as string if set

Added FBlueprintEditorUtils::GetEntryAndResultNode, moving most of the functionality from FBlueprintGraphActionDetails::SetEntryAndResultNodes to the new function
Added FBlueprintEditorUtils::GetGraphDescription to get graph descriptions from their metadata
Added FBlueprintEditorUtils::GetNodeByGUID to find nodes using their Guid

Blueprints now cache their search metadata on compile, this is a CPU intensive process and can no longer occur every time the Asset Registry queries for the Blueprint's tags

#change Fixed an issue with finding a pin type's icon (UK2Node_Variable::GetVarIconFromPinType) where we would search for a class we already had available.

Added an overridable function to UEdGraphNode to collect Blueprint search metadata.

#change FJsonObjectConverter::UPropertyToJsonValue is now available outside of the .cpp

#change Rewrote how Find-in-Blueprints works both for local and global searches, now uses Json to resolve a variety of format issues and also to make it much more extensible.

#ttp 290376 - K2: Ability to search (find in blueprints) important pin values
#ttp 298599 - ROCKET: TASK: K2: Search results should indicate where the instance is located in the results page (construction script, event graph, custom graph)
#ttp 304819 - Blueprints: Editor: L10N: "Find in Blueprint" needs to work with other languages
#ttp 308572 - UE4: ANIM: K2: Searching doesn't work for anim nodes right now
#ttp 316678 - UE4: BLUEPRINTS: SHADOW: Default values are not searchable
#ttp 318180 - UE4: K2: Cannot search for spawnactor using find in blueprints
#ttp 320141 - UE4: K2: Find in blueprints does not find functions declared in another blueprint (if the function isn't called in that BP)

[CL 2110494 by Michael Schoell in Main branch]
2014-06-19 11:32:47 -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
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
Thomas Sarkanen
2e3d1f5aae #summary Source code access is now done via plugins
#ttp 330039 	EDITOR: Platform-agnostic editor code depends on Windows-only VSAccessor headers
#detail 	Source code access is now extensible via plugins, so any new editors can be easily added.
#add 	Added SourceCodeAccess module that routes access via plugins.
#change 	Moved much of the old VSAccessor code into a new VisualStudioSourceCodeAccess plugin.
#add 	Added a counterpart XCode plugin & migrated the code from FSourceCodeNavigation (Applescript etc.) into there.
#remove 	Removed applescript for XCode access (it is now done via code).
#remove 	Removed source code access functionality from platform layer.
#add 	Added details customization for source code access settings, so users can choose their own accessor.
#remove 	Removed dependencies on VSAccessor.
#change 	Changed API in SWidget to not require building a string to be parsed, instead this acesses and forwards filenames & line numbers.
#extra 	Tested on Mac by Mark S.
reviewed by 	Andrew.Brown

[CL 2048697 by Thomas Sarkanen in Main branch]
2014-04-23 19:19:51 -04:00
Saul Abreu
bcb92e4dbf #summary Internationalization now operates as a singleton with non-static initialization. Should no longer have issues with initializing before file server when applicable. Resolved related previous double initialization issue. API-breaking change for calls to most FInternationalization methods.
#ttp 331776 - L10N: ICU: Executable size for engine and programs has regressed dramatically (ICU)

[CL 2044493 by Saul Abreu in Main branch]
2014-04-23 18:30:01 -04:00
Justin Sargent
0bc686f251 Fixed up redundant FText .ToString() usage and some improper FText usage.
[CL 2042623 by Justin Sargent in Main branch]
2014-04-23 18:06:41 -04:00
Justin Sargent
87a5b11d5b Editor: Documentation: Updated the documentation code to allow proper fallback behavior for cultures missing documentation.
[CL 2038747 by Justin Sargent in Main branch]
2014-04-23 16:43:22 -04:00
TimSweeney
3a75fe0114 Engine source (Main branch up to CL 2027006) 2014-03-15 01:14:25 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00