Commit Graph

167 Commits

Author SHA1 Message Date
Richard Hinckley
52a6878751 Adding an include file to fix a NonUnity GUBP issue.
[CL 2418123 by Richard Hinckley in Main branch]
2015-01-25 12:04:22 -05:00
Richard Hinckley
a076fd9bb9 UE-7990 fixed the technical issues. Still should have a visual element, like a throbber, to give users some feedback as to why the tutorial window isn't popping up immediately.
[CL 2417904 by Richard Hinckley in Main branch]
2015-01-24 15:00:16 -05:00
Jeff Farris
3672452617 Added information to documentation links URLs to be able to gather stats about where users are coming from when they view documentation.
[CL 2406128 by Jeff Farris in Main branch]
2015-01-14 13:15:22 -05:00
Ian Shadden
75abf3cca9 #UE4: Fixed the 4 editor tutorial events to be events again by removing the old const bit (talked to Mike Beach and Phillip Kavan about this being the correct way to fix this)
[CL 2404157 by Ian Shadden in Main branch]
2015-01-12 20:13:44 -05:00
Thomas Sarkanen
1bca86ecf1 Fixed stalls in tutorials
API break: added a new pure virtual to IAssetEditorInstance - InvokeTab().

Tutorials were attempting to load a bogus asset for editing for each stage, causing stalls each time the user clicked Next.
Re-arranged code that attempted to open asset editor tabs so that it wasnt attempting ot open a bogus asset (used the correct member).
Order of tab manager preference is now Per-stage Blueprint asset editor->Per-'tutorial asset' editor->level editor.
Added new function to allow us to open tabs in asset editors. This avoids a dangerous up-cast to FAssetEditorToolkit to access its tab manager.

#codereview Bruce.Nesbit

[CL 2403225 by Thomas Sarkanen in Main branch]
2015-01-12 04:36:22 -05:00
Justin Sargent
5f156746a7 Back out changelist 2400879
[CL 2402539 by Justin Sargent in Main branch]
2015-01-09 19:48:05 -05:00
Thomas Sarkanen
4a3e3773a8 FText key stablization & key editing
FText DisplayString shared ptrs are persisted across property edits. This preserves their entry in the live table and also updates the string that the entry points to. We call GetString() to update the hashed value as persisting the DisplayString means that its location in the table is preserved.
On serialization, a valid key is still found in the live table for the display string, so the key is preserved.
Added funtionality to the property editor to allow key editing and re-generation so any key conflicts can be resolved in the future.

UE-5350 - As a translator, I would like the editor tutorial text to preserve it's history between changes in order to greatly improve the translation workflow.

Reviewed by Saul.Abreu

[CL 2400879 by Thomas Sarkanen in Main branch]
2015-01-08 09:26:03 -05:00
Dan Hertzka
1ce19a5ffa Full rename of the Slate "active tick" system to "active timer"
[CL 2394301 by Dan Hertzka in Main branch]
2014-12-19 17:44:49 -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
Fred Kimberley
47cc7efc10 Deprecated AutoPriority and replaced it with ImportPriority. ImportPriority differs from AutoPriority in the following ways:
- Default value is 100 instead of 0 to allow other factories to have both higher or lower priority than the default.
 - Sorting is highest to lowest so factories with higher priority values go first.

Use ImportPriority to sort reimporting factories.

Merging changes 2382076 and 2382171 from Fortnite branch.

[CL 2387238 by Fred Kimberley in Main branch]
2014-12-12 14:13:31 -05:00
Nick Darnell
90e793745c Slate - ESlateCheckBoxState has been renamed to ECheckBoxState.
[CL 2384008 by Nick Darnell in Main branch]
2014-12-10 14:24:09 -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
Thomas Sarkanen
819d171331 Restructured tutorial analytics events
Where dynamic event names were being constructed from tutorial assets, now reworked events to add a dynamic parameter.

UE-4978 - Restructure Tutorial Analytic Events

[CL 2377327 by Thomas Sarkanen in Main branch]
2014-12-05 05:33:09 -05:00
Jamie Dale
f440490671 Converted the property editor to use FText
The display name, filter string, and tooltips for the property editor (and associated detail customizations) are now stored as FText rather than FString. This allows us to remove SLATE_TEXT_ARGUMENT from the detail customization widgets.

[CL 2372595 by Jamie Dale in Main branch]
2014-12-01 11:19:41 -05:00
Ian Shadden
2debe31f86 #UE4 DOCS: Copied the soft reference functionality from the Global Editor Utility class to the Editor Tutorial Class
#code_review Nick.Whiting

[CL 2363949 by Ian Shadden in Main branch]
2014-11-18 16:24:38 -05:00
Mikolaj Sieluzycki
51f5333986 Prepare cpp files for header cleanup.
#codereview Robert.Manuszewski

[CL 2356864 by Mikolaj Sieluzycki in Main branch]
2014-11-12 04:58:53 -05:00
bruce nesbit
8fb1204d2e Added code to save current tutorial progress when tutorials are closed. (Fixes recurring welcome bubble)
[CL 2354482 by bruce nesbit in Main branch]
2014-11-10 09:44:22 -05:00
Chris Gagnon
0e6d657c3d Refactor to unify keyboard and controller input and focus.
Native controller navigation support.

[CL 2345039 by Chris Gagnon in Main branch]
2014-10-30 12:29:36 -04:00
Jamie Dale
b903ba8d80 Added support for disabling tab spawner menu entries
You could previously only have them enabled or hidden, you can now add them as disabled.

You can also now bind the menu item state to a delegate to let it update after the tab spawner has been registered.

#codereview Nick.Atamas

[CL 2341064 by Jamie Dale in Main branch]
2014-10-27 09:51:25 -04:00
Max Preussner
9884344213 Settings: Various improvements to the API
- made public headers compilable individually
- easier access to settings section delegates
- removed module singleton accessor
- moved non-trivial definitions into cpp files
- code & documentation cleanup

#UpgradeNotes:

- instead of ISettingsModule::Get() use FModuleManager::GetModulePtr<ISettingsModule>("Settings")
- instead of using FSettingsSectionDelegates assign delegates directly through the new ISettingsSection methods

[CL 2340711 by Max Preussner in Main branch]
2014-10-27 07:53:18 -04:00
bruce nesbit
3d564d83e5 Added Tab focus field for tutorials.
[CL 2334438 by bruce nesbit in Main branch]
2014-10-20 08:15:36 -04:00
Thomas Sarkanen
9d65f80e73 Tutorial Blueprint fixes
Tutorials now return a valid UWorld, enabling audio playback, timers and all sorts of good stuff.
Stage started event now fires on first stage.
Skipping a stage from BP now rebuilds content properly.
Added events for tutorial launch and close.

[CL 2330093 by Thomas Sarkanen in Main branch]
2014-10-15 09:37:16 -04:00
Wes Hunt
31e2bb00ac Removed a bunch of stuff from Slate standard include, created SlateBasics.h
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN

[CL 2329610 by Wes Hunt in Main branch]
2014-10-14 22:50:06 -04:00
Jaroslaw Palczynski
7c41927cf4 Rename FPostConstructInitializeProperties to something simpler
Changed it with FObjectInitializer.

UECORE-7

[CL 2328384 by Jaroslaw Palczynski in Main branch]
2014-10-14 10:29:11 -04:00
Thomas Sarkanen
3014bfc0df Moving tutorial browser to an editor nomad tab
Tweaked styles and layout to better suit a tab.
Also fixed browser not showing some tutorials if all assets are not yet loaded.
Progress is now updated periodically as the browser can be now open while a tutorial is in progress.

TTP# 347956 - TUTORIALS: Selecting More Tutorials can hide Tutorial Browser

[CL 2327011 by Thomas Sarkanen in Main branch]
2014-10-13 06:46:06 -04:00