Removed dependency on headers included in the PCH and fixed any non-unity issues.

This commit is contained in:
Sebastian 2020-06-14 21:50:26 +01:00
parent bbd2c01071
commit 04e6f9d844
23 changed files with 52 additions and 17 deletions

View File

@ -8,6 +8,7 @@ Change History
Version: 1.20 (2020/06)
Transition to IWYU and maintenence:
- Replaced includes of monolithic headers.
- Removed dependency on core, engine and ImGui module headers includes in the PCH.
Version: 1.19 (2020/03-06)
- Integrated fix for issue with ImGui popup/modal windows not being able to be closed in transparent mouse input mode.

View File

@ -11,6 +11,7 @@
#include "ImGuiModuleSettings.h"
#include <ISettingsModule.h>
#include <Modules/ModuleManager.h>
#define LOCTEXT_NAMESPACE "ImGuiEditor"

View File

@ -4,6 +4,9 @@
#if WITH_EDITOR
#include <Delegates/IDelegateInstance.h>
// Registers module's settings in editor (due to a small size of this code we don't use a separate editor module).
class FImGuiEditor
{

View File

@ -9,7 +9,8 @@
#include "ImGuiInteroperability.h"
#include "Utilities/Arrays.h"
#include <Runtime/Launch/Resources/Version.h>
#include <GenericPlatform/GenericPlatformFile.h>
#include <Misc/Paths.h>
static constexpr float DEFAULT_CANVAS_WIDTH = 3840.f;

View File

@ -5,6 +5,8 @@
#include "ImGuiDelegates.h"
#include "ImGuiDelegatesContainer.h"
#include <Engine/World.h>
FSimpleMulticastDelegate& FImGuiDelegates::OnWorldEarlyDebug()
{

View File

@ -3,9 +3,10 @@
#include "ImGuiPrivatePCH.h"
#include "ImGuiDemo.h"
#include "ImGuiModuleProperties.h"
#include <CoreGlobals.h>
// Demo copied (with minor modifications) from ImGui examples. See https://github.com/ocornut/imgui.
void FImGuiDemo::DrawControls(int32 ContextIndex)

View File

@ -15,7 +15,13 @@
#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS
#endif // PLATFORM_XBOXONE
#if PLATFORM_WINDOWS
#include <Windows/AllowWindowsPlatformTypes.h>
#endif // PLATFORM_WINDOWS
#if WITH_EDITOR
#include "imgui.h"
// Global ImGui context pointer.
ImGuiContext* GImGuiContextPtr = nullptr;
// Handle to the global ImGui context pointer.
@ -24,10 +30,6 @@ ImGuiContext** GImGuiContextPtrHandle = &GImGuiContextPtr;
#define GImGui (*GImGuiContextPtrHandle)
#endif // WITH_EDITOR
#if PLATFORM_WINDOWS
#include <Windows/AllowWindowsPlatformTypes.h>
#endif // PLATFORM_WINDOWS
#include "imgui.cpp"
#include "imgui_demo.cpp"
#include "imgui_draw.cpp"

View File

@ -10,6 +10,7 @@
#include "ImGuiModuleSettings.h"
#include <Engine/Console.h>
#include <Framework/Application/SlateApplication.h>
#include <GameFramework/InputSettings.h>
#include <Input/Events.h>

View File

@ -3,9 +3,10 @@
#include "ImGuiPrivatePCH.h"
#include "ImGuiInputHandlerFactory.h"
#include "ImGuiInputHandler.h"
#include <Engine/GameViewportClient.h>
UImGuiInputHandler* FImGuiInputHandlerFactory::NewHandler(const FStringClassReference& HandlerClassReference, FImGuiModuleManager* ModuleManager, UGameViewportClient* GameViewport, int32 ContextIndex)
{

View File

@ -2,6 +2,9 @@
#pragma once
#include "ImGuiModuleSettings.h"
class FImGuiModuleManager;
class UGameViewportClient;
class UImGuiInputHandler;

View File

@ -5,6 +5,7 @@
#include "TextureManager.h"
#include <GenericPlatform/ICursor.h>
#include <Input/Events.h>
#include <imgui.h>

View File

@ -2,10 +2,10 @@
#include "ImGuiPrivatePCH.h"
#include "ImGuiModuleManager.h"
#include "ImGuiModule.h"
#include "ImGuiDelegatesContainer.h"
#include "ImGuiTextureHandle.h"
#include "ImGuiModuleManager.h"
#include "TextureManager.h"
#include "Utilities/WorldContext.h"
#include "Utilities/WorldContextIndex.h"

View File

@ -3,6 +3,7 @@
#include "ImGuiPrivatePCH.h"
#include "ImGuiModuleCommands.h"
#include "ImGuiModuleProperties.h"
#include "Utilities/DebugExecBindings.h"

View File

@ -7,6 +7,7 @@
#include "ImGuiInteroperability.h"
#include "Utilities/WorldContextIndex.h"
#include <Framework/Application/SlateApplication.h>
#include <Modules/ModuleManager.h>
#include <imgui.h>

View File

@ -7,6 +7,8 @@
#include "ImGuiModuleCommands.h"
#include "ImGuiModuleProperties.h"
#include <ConfigCacheIni.h>
#include <Engine/Engine.h>
#include <GameFramework/GameUserSettings.h>

View File

@ -2,11 +2,21 @@
#pragma once
#include "VersionCompatibility.h"
#include <SlateTypes.h>
#include <Curves/CurveFloat.h>
#include <Delegates/Delegate.h>
#include <UObject/Object.h>
// We use FStringClassReference, which is supported by older and newer engine versions. Starting from 4.18, it is
// a typedef of FSoftClassPath, which is also recognized by UHT.
#if ENGINE_COMPATIBILITY_LEGACY_STRING_CLASS_REF
#include <StringClassReference.h>
#else
#include <UObject/SoftObjectPath.h>
#endif
#include "ImGuiModuleSettings.generated.h"

View File

@ -11,13 +11,5 @@
#include <CoreMinimal.h>
#include <Engine/Engine.h>
// For backward compatibility we will use FStringClassReference which in newer engine versions is a typedef for
// FSoftClassPath. Include right soft class reference header to avoid warnings in newer engine version.
#if ENGINE_COMPATIBILITY_LEGACY_STRING_CLASS_REF
#include <StringClassReference.h>
#else
#include <UObject/SoftObjectPath.h>
#endif
// You should place include statements to your module's private header files here. You only need to
// add includes for headers that are used in most of your module's source files though.

View File

@ -4,6 +4,9 @@
#include "TextureManager.h"
#include <Engine/Texture2D.h>
#include <Framework/Application/SlateApplication.h>
#include <algorithm>

View File

@ -6,6 +6,8 @@
#include <Textures/SlateShaderResource.h>
class UTexture2D;
// Index type to be used as a texture handle.
using TextureIndex = int32;

View File

@ -4,6 +4,7 @@
#include "SImGuiCanvasControl.h"
#include <Rendering/DrawElements.h>
#include <SlateOptMacros.h>

View File

@ -19,6 +19,7 @@
#include <Engine/Console.h>
#include <Engine/GameViewportClient.h>
#include <Engine/LocalPlayer.h>
#include <Framework/Application/SlateApplication.h>
#include <GameFramework/GameUserSettings.h>
#include <SlateOptMacros.h>
#include <Widgets/SViewport.h>

View File

@ -5,6 +5,7 @@
#include "ImGuiModuleDebug.h"
#include "ImGuiModuleSettings.h"
#include <Rendering/RenderingCommon.h>
#include <Widgets/DeclarativeSyntaxSupport.h>
#include <Widgets/SCompoundWidget.h>
@ -16,6 +17,9 @@ class FImGuiModuleManager;
class SImGuiCanvasControl;
class UImGuiInputHandler;
class UGameViewportClient;
class ULocalPlayer;
// Slate widget for rendering ImGui output and storing Slate inputs.
class SImGuiWidget : public SCompoundWidget
{

View File

@ -3,6 +3,7 @@
#pragma once
#include <CoreMinimal.h>
#include <Input/Reply.h>
#include <UObject/Object.h>
#include <UObject/WeakObjectPtr.h>