2014-03-14 14:13:41 -04:00
|
|
|
// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
|
|
#include "SlateViewerApp.h"
|
|
|
|
|
#include "RequiredProgramMainCPPInclude.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_APPLICATION(SlateViewer, "SlateViewer");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace WorkspaceMenu
|
|
|
|
|
{
|
|
|
|
|
TSharedRef<FWorkspaceItem> DeveloperMenu = FWorkspaceItem::NewGroup(NSLOCTEXT("SlateViewer", "DeveloperMenu", "Developer"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void RunSlateViewer( const TCHAR* CommandLine )
|
|
|
|
|
{
|
|
|
|
|
// start up the main loop
|
|
|
|
|
GEngineLoop.PreInit(CommandLine);
|
|
|
|
|
|
|
|
|
|
// crank up a normal Slate application using the platform's standalone renderer
|
|
|
|
|
FSlateApplication::InitializeAsStandaloneApplication(GetStandardStandaloneRenderer());
|
|
|
|
|
|
|
|
|
|
// set the application name
|
|
|
|
|
FGlobalTabmanager::Get()->SetApplicationTitle(NSLOCTEXT("SlateViewer", "AppTitle", "Slate Viewer"));
|
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
|
|
|
FModuleManager::LoadModuleChecked<ISlateReflectorModule>("SlateReflector").RegisterTabSpawner(WorkspaceMenu::DeveloperMenu);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
// Bring up the test suite.
|
|
|
|
|
RestoreSlateTestSuite();
|
|
|
|
|
|
|
|
|
|
#if WITH_SHARED_POINTER_TESTS
|
|
|
|
|
SharedPointerTesting::TestSharedPointer<ESPMode::Fast>();
|
|
|
|
|
SharedPointerTesting::TestSharedPointer<ESPMode::ThreadSafe>();
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
// loop while the server does the rest
|
|
|
|
|
while (!GIsRequestingExit)
|
|
|
|
|
{
|
|
|
|
|
FSlateApplication::Get().PumpMessages();
|
|
|
|
|
FSlateApplication::Get().Tick();
|
|
|
|
|
FPlatformProcess::Sleep(0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FSlateApplication::Shutdown();
|
|
|
|
|
}
|