Commit Graph

84 Commits

Author SHA1 Message Date
Chris Wood
8a112d6140 PushMenu() now respects QueryPopupMethod(). All menus now support reusing windows.
UE-14641 - Fix PushMenu() to use QueryPopupMethod()

Pretty big refactor
Adds IMenu as way to identify menus. Replaces referring to menus as SWindows.
Lots of uses of PushMenu() fixed up to match new API

#codereview Nick.Atamas

[CL 2579277 by Chris Wood in Main branch]
2015-06-05 20:19:33 -04:00
Jurre DeBaare
5cf9ddaa79 Fixed gamma correction for the EyeDropper (UE-6942)
[CL 2539403 by Jurre DeBaare in Main branch]
2015-05-06 12:13:38 -04:00
Chris Wood
448d36643d Added option to disable or add custom context menus to editable text widgets in Slate
[UE-14497] - Game client stops responding when the RMB is clicked in the Enter Your Hero Name textbox while in Full Screen mode

#codereview Nick.Atamas

[CL 2530347 by Chris Wood in Main branch]
2015-04-29 11:24:54 -04:00
Andrew Rodham
5194f5cfc0 Fixed some windows not gaining focus when opened
On mac, window activation is not guaranteed syncronously when a window is created, thus any code that opened a window, then immediately opened some focus-sensitive operation, may fail.

I've fixed up three of the most common cases (SAssetView::ItemScrolledIntoView, STextEntryPopup and STextComboPopup) so they register an active tick to focus the widget when the window gains focus (optionally controllable from the .AutoFocus() argument)

This addresses UE-12929.

[CL 2521062 by Andrew Rodham in Main branch]
2015-04-22 10:34:02 -04:00
Andrew Rodham
8ff0d8b98b Added config migration path for newer versions of the engine.
Newly installed versions of the engine will now attempt to copy the project-agnostic config settings from a previous engine installation. This happens by way of a versioned manifest that copies old versions when the manifest does not exist, or is a different version. This code path is benign for non-installed versions of the engine (or FPaths::ShouldSaveToUserDir() is false).

EditorGameAgnosticSettings and EditorUserSettings ini paths have been renamed to EditorSettings and EditorPerProjectUserSettings respectively to better convey their purpose. In general, most settings should be saved in EditorSettings (project-agnostic) so that they apply regardless of which project is open. We have some way to go migrating existing settings for this to be the case, however.

Some previously per-project configuration files are now project-agnostic (such as Editor.ini, EditorKeyBindings.ini, and EditorLayout.ini)

GEditor->Access...Settings and GEditor->Get...Settings have been removed in favor of direct access of the CDO through GetMutableDefault<> and GetDefault<> respectively. Global config ini filenames that are not set up are now neither loaded nor saved on build machines, to handle the problem of indeterminate state more generically.

This addresses UETOOL-270 (Most editor preferences should be project-agnostic)

[CL 2517558 by Andrew Rodham in Main branch]
2015-04-20 10:12:55 -04:00
Jamie Dale
48b7de223f Backing out changelist 2498725 as this is now handled by SHeaderRow rather than SSplitter
[CL 2510181 by Jamie Dale in Main branch]
2015-04-13 07:24:13 -04:00
Dan Oconnor
ff8f481e10 Modified fixes for PVS-Studio warnings, mostly adding comments to warnings that were disabled. A few reworked fixes where needed.
[CL 2507311 by Dan Oconnor in Main branch]
2015-04-09 16:42:44 -04:00
Jamie Dale
e6bd050b0e Added some test cases for the ManualSize splitter slot type
Renamed the slot type from AbsoluteSize to ManualSize to avoid overloading the term "absolute".

Fixed some resizing issues when a ManualSize slot was used alongside the other slot types.

Improved the validation used when deciding whether a drag handle cursor should be shown, as this wasn't working correctly for ManualSize slots.

#codereview Nick.Atamas

[CL 2498725 by Jamie Dale in Main branch]
2015-04-01 12:09:44 -04:00
Mike Fricker
114458bf0f Clang warning fixes: Fixed missing 'override' specifiers
- Also removed some unreferenced functions that adding 'override' revealed

PR #1002 -- Thank you, Omar007!

[CL 2498415 by Mike Fricker in Main branch]
2015-04-01 07:20:55 -04:00
PaulEremeeff
3d878d5a79 PR #996: Fixing PVS-Studio warnings (Contributed by PaulEremeeff)
I have reviewed each change carefully, but it is a large change and I could have missed something! Here is a summary of the types of changes in this CL:
 * Made nullptr checks consistent (the plurality of the changes are of this type)
 * Completed switch statements (IE, switch did not explicitly handle default case, but had unhandled enum entries - this is the second most popular type of fix)
 * Removed unused variables
 * Removed redundant initializations
 * WidgetNavigationCustomization.cpp was fixed by the owner
 * integers converted to floats where result was stored in a float
 * Removed redundent null checks (e.g. before delete statements)
 * Renamed variables to prevent non-obvious shadowing
 * Fixed use of bitwise & when checking for equality to an enum entry (which is often 0)
 * Fixes for some copy paste errors (e.g. FoliageEdMode.cpp)

[CL 2498053 by Dan Oconnor in Main branch]
2015-03-31 20:12:31 -04:00
Jamie Dale
4f94ab55b0 Changed some text input boxes to be numeric input boxes, and fixed a crash when testing an invalid item index
[CL 2484556 by Jamie Dale in Main branch]
2015-03-19 11:12:28 -04:00
Jamie Dale
d7834e7c30 Added test case for multi-line editable hint text
[CL 2481717 by Jamie Dale in Main branch]
2015-03-17 12:08:28 -04:00
Marc Audy
a425eba9ed Unify Slate's FInputGesture and Engine's FInputChord as FInputChord defined in Slate
[CL 2481648 by Marc Audy in Main branch]
2015-03-17 11:36:28 -04:00
Jamie Dale
1d8a24641d Converted Slate, SlateCore, and SlateViewer to exclusively use FText with Slate
UETOOL-213 - Minimize Slate FString -> FText conversion (remove SLATE_TEXT_ATTRIBUTE)

[CL 2458202 by Jamie Dale in Main branch]
2015-02-24 05:57:41 -05:00
Michael Noland
53c0c33afa Slate: Improve SWizard styling compatibility (now obeys text style on Next/Back buttons, and uses the success style on Next)
[CL 2458003 by Michael Noland in Main branch]
2015-02-24 01:28:52 -05:00
Marc Audy
e5ba044eb0 Fix shadowed variables
[CL 2451810 by Marc Audy in Main branch]
2015-02-19 12:13:52 -05:00
Michael Trepka
3bbe467008 Fixed Clang compile error in SWizard.h
#codereview Matthew.Griffin, Nick.Darnell

[CL 2447075 by Michael Trepka in Main branch]
2015-02-16 09:59:44 -05:00
Matthew Griffin
fa2d63dbdd [INTEGRATE] Change 2438554 by Nick.Darnell@Nick.Darnell_Dev on 2015/02/09 14:45:00
Editor - Exposing more customization options for the SWizard to allow a slew of new styling options for the buttons.

[CL 2447009 by Matthew Griffin in Main branch]
2015-02-16 09:19:33 -05:00
Ben Marsh
8907c93c99 [INTEGRATE] Change 2420282 by Mike.Fricker@MFRICKER_G3686_Alpha on 2015/01/27 09:38:23
Fix very slow compile times in Slate widgets (~75% faster compile times in Development Win64)
	- Important:  BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION only works at global scope on MSVC, not within classes (it silently does nothing)
	#codereview nick.atamas

[CL 2425715 by Ben Marsh in Main branch]
2015-01-30 10:13:53 -05:00
Richard TalbotWatkin
355fd1b234 Fixed small bug in Color Picker where original color isn't correctly restored upon pressing Cancel.
#jira UE-8185 - Clicking cancel in the level broswer color picker results in the color resetting

[CL 2421831 by Richard TalbotWatkin in Main branch]
2015-01-28 03:07:26 -05:00
Jamie Dale
55c3728d11 Added support for showing game and engine classes in the Content Browser
UE-7184 - Show game c++ classes and engine c++ classes in the content browser

The Content Browser now has extra entries for "Game C++ Classes" and "Engine C++ Classes" (with "Game" and "Engine" being renamed to "Game Content" and "Engine Content" respectively). These new folders serve as hosts for the list of available C++ modules, with each module internally mirroring the folder structure on disk.

For example:
- Game C++ Classes
    - ShooterGame
        - Classes
            - Bots
                - ShooterBot
                - ShooterAIController
                - [...]
            - [...]

The Content Browser allows you to navigate and search these classes like you can with assets, and provides convenient access to either edit an existing class, or create a new class (either within a selected folder, or derived from a selected class).

As the Content Browser only shows you known UClass types, any new classes need to be compiled into a loaded module before they will appear. This means that adding a new class will now automatically hot-reload your target module. Should you prefer to handle building and loading your modules manually, you can disable the automatic hot-reload via "Editor Settings" -> "Miscellaneous" -> "Hot Reload" -> "Automatically Hot Reload New Classes" (see UEditorUserSettings::bAutomaticallyHotReloadNewClasses).

[CL 2409386 by Jamie Dale in Main branch]
2015-01-16 15:39:47 -05:00
Nick Atamas
f5e19bef14 Slate : RelativeLayoutScale is now computed in the SlatePrepass(). ComputeDesiredSize() now takes a float parameter. API-breaking change!
[CL 2406629 by Nick Atamas in Main branch]
2015-01-14 19:04:45 -05:00
Steve Robb
0756ef15b9 Delegate comparisons deprecated, lots of other associated code deprecated, and lots of warning fixups:
* Multicast delegate Add* calls now return FDelegateHandles, and Remove* calls are now all deprecated, except for a new Remove function which takes a FDelegateHandle.
* New FConsoleManager::RegisterConsoleVariableSink_Handle and UnregisterConsoleVariableSink_Handle functions which work in terms of FConsoleVariableSinkHandle.
* Timer calls which don't take FTimerHandles are deprecated.
* FTicker::AddTicker now returns an FDelegateHandle and is removed by an overloaded Remove function.
* DEFINE_ONLINE_DELEGATE* macros now define _Handle variants of the Add/Remove functions which return/take handles.
* Various other handle-based registration changes.
* Some unity build fixes.
* Some simplification of delegate code.
* Fixes for lots of existing code to use handle-based registration and unregistration.

#codereview robert.manuszewski

[CL 2400883 by Steve Robb in Main branch]
2015-01-08 09:29:27 -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
Nick Atamas
8f53ab7b93 Slate : Added a simple test for synthetic mouse moves.
[CL 2392752 by Nick Atamas in Main branch]
2014-12-18 12:52:43 -05:00