Commit Graph

20 Commits

Author SHA1 Message Date
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
Matt Kuhlenschmidt
04394e74f7 Disable news feed
[CL 2242844 by Matt Kuhlenschmidt in Main branch]
2014-08-04 18:26:23 -04:00
Mark Satterthwaite
ed3cefe4bb Refactored MultiBox and TabManager to support presenting the currently active window menu as the global main menu on Mac OS X.
- On Mac OS X we hide the per-window menu bar.
- MultiBlocks have a type so that the Mac-specific menu creation code can generate the proper native widget.
- The menu builder can now be asked for the constructed MultiBox so that on menu creation it can be set on the TabManager.
- That allows the TabManager to be told to update the current global menu bar when the tab or window focus changes.
- A window activation delegate has been added to SWindow to permit this.
- Widgets that used to live in the LevelEditor menu bar have been hoisted into the window titlebar on OS X as on that platform there's no menu bar anymore.
- There's limited support for parsing custom widgets in the menu MultiBlock in order to support the platform list in the File->Package... sub-menu, this is sufficient for now but is quite fragile.
- We can support custom Slate widgets inside native Mac menus should we ever need to - but it is tricky.

reviewedby michael.trepka, nick.atamas

[CL 2228398 by Mark Satterthwaite in Main branch]
2014-07-23 09:04:48 -04:00
Dmitriy Dyomin
e3fcb070c9 Renamed "Levels Composition" tab into "World Composition"
[CL 2180018 by Dmitriy Dyomin in Main branch]
2014-07-09 04:30:41 -04:00
Dmitriy Dyomin
408b33b2b3 Switched "Levels" tool to a World Browser. Old Levels tool can be enabled with -oldlevels command line switch.
[CL 2117603 by Dmitriy Dyomin in Main branch]
2014-06-26 01:54:04 -04:00
Nick Darnell
32fe5f15c8 Extensibility - Adding an event plugin authors can hook in the level editor module to capture when the tab manager is changed (OnTabManagerChanged). After that event it's safe to call GetLevelEditorTabManager and register your tab spawner from a plugin.
[CL 2116828 by Nick Darnell in Main branch]
2014-06-25 12:49:26 -04:00
Matt Kuhlenschmidt
6387890456 Fix children of struct properties in the blueprint editor not always passing visibility tests
- Refactored IsPropertyVisible delegate to pass in a parent property pointer so complex visibility tests with struct parents can be performed

[CL 2115458 by Matt Kuhlenschmidt in Main branch]
2014-06-24 13:07:20 -04:00
Andrew Rodham
ba3528c9d4 Made it possible for asset editors to maintain their own FEditorModeTools lists
Breaking changes include:
    * Rename of GEditorModeTools -> GLevelEditorModeTools to signify that it applies only to the level editor modes
    * Addition of FEditorModeRegistry, responsible for managing and creating new editor modes. Modes are no longer registered with an instance of the mode, instead with a mode factory that is able to create a new mode of that type.
    * Editor modes now operate on FEditorViewportClients rather than FLevelEditorViewportClients
    * Added ability to specify an FEditorModeTools when creating an FEditorViewport

Moved component vizualiser manager handling outside of individual editor modes, and into FLevelEditorViewportClient. This should make it easier to transplant in future.

This work addresses TTP#334640 - EDITOR: Investigate making editor modes a per-'editor' concept

Reviewed by Michael Noland, Matt Kuhlenschmidt

[CL 2109245 by Andrew Rodham in Main branch]
2014-06-18 10:16:16 -04:00
Andrew Rodham
712719d060 Fixed crashes caused by shared pointer delegate bindings when reloading the level editor
Using AddSP to bind onto a multicast delegate that's removed in a class's destructor is dangerous because the weak pointer used to compare against the 'this' pointer passed to .RemoveAll() will be invalid by the time it is compared. This causes "HasSameObject" to fail as the object cannot be pinned. I've have changed these to be raw bindings so that the ownership is explicit and thus force the call to RemoveAll to succeed correctly without leaving behind a null delegate instance. Previously, with a null delegate instance still in the list when the module is reloaded, that memory becomes invalid causing a crash when the event attempts to purge invalid delegate instances from its invocation list.

Also fixed one place where OnTakeHighResScreenShots was being bound but never removed (this looked like a copy paste error)

This addresses TTP#337596 - CRASH: EDITOR: Reload after Recompile causes crash

#codereview Max.Preussner

[CL 2108007 by Andrew Rodham in Main branch]
2014-06-17 07:35:57 -04:00
Marc Audy
1281bea0c7 Shadow variable fixes
[CL 2085770 by Marc Audy in Main branch]
2014-05-29 17:14:20 -04:00
Max Preussner
c9d85971be Editor: refactored FLayoutService to be INI file agnostic; moved Editor layout from EditorUserSettings.ini to EditorLayout.ini
I also added code to retain backwards compatibility. Existing settings from EditorUserSettings.ini will be migrated to EditorLayout.ini

#CodeReview: nick.atamas, matt.kuhlenschmidt

[CL 2074798 by Max Preussner in Main branch]
2014-05-15 17:34:02 -04:00
Dmitriy Dyomin
c6d6f9446d World Browser UX improvements
Splitted World Browser views into three independent windows, each window can be summoned from a hierarchy view or details view toolbar
World composition can now be toggled through WorldSettings - bEnableWorldComposition. Once enabled persistent level will be treated as a world root. No more '?worldcompistion' parameter workarounds. 'Open World' command was removed, as levels saved with world composition enabled can be open through 'Open Level' command.
Added bEnableWorldOriginRebasing parameter to WorldSettings, which contols whether world origin shifting should be used

[CL 2072584 by Dmitriy Dyomin in Main branch]
2014-05-14 02:16:14 -04:00
Nick Darnell
10d3cd7e77 UMG - Checkpointing more work to try and get a main menu system working. Adding a slider. Root creation is now possible. Can sort of delete, super buggy. Less polling, more active function calls for most things.
[CL 2060671 by Nick Darnell in Main branch]
2014-04-30 20:35:16 -04:00
Max Preussner
a936df84c1 implement a News Feed feature for the Level Editor (TTP# 331113)
[CL 2047121 by Max Preussner in Main branch]
2014-04-23 19:04:54 -04:00
Nick Darnell
feb31bdb7f * Adding the initial UMG Editor and runtime modules. Currently it's all a lot of placeholders. You can enable the UMG editor by using the -umg command.
[CL 2046682 by Nick Darnell in Main branch]
2014-04-23 18:53:31 -04:00
Dmitriy Dyomin
f836be9d80 World Browser: - Changed splitters to be more visible
[CL 2046503 by Dmitriy Dyomin in Main branch]
2014-04-23 18:49:37 -04:00
Andrew Rodham
4ff32e224c #ttp 330988 - EDITOR: 'Paste Here' should maybe be removed from scene outliner edit sub menu since it doesn't function as intended there
#branch UE4
#proj Editor
#summary Removed position based menu actions from the scene outliner context menu
#change FLevelViewportContextMenu has been renamed to FLevelEditorContextMenu as it is not actually specific to viewports (it has been used in the scene outliner for some time now)
#change Added an enum to specify a broad context for the level editor context menu (whether it should show position based menu actions or not)
#reviewedby Matt.Kuhlenschmidt

[CL 2041433 by Andrew Rodham in Main branch]
2014-04-23 17:50:29 -04:00
Andrew Rodham
3f8bb98d1c Added ability to extend the default context menu in the scene outliner
This tidys up some logic and duplication between the level editor viewport context menu and the scene outliner, since the level viewport menu can now extend the scene outliner, rather than having to duplicate its functionality. The ability to completely override the menu still remains by way of an override delegate.
#reviewedby Matt.Kuhlenschmidt

[CL 2038566 by Andrew Rodham in Main branch]
2014-04-23 16:39:22 -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