// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. #pragma once #include "Slate.h" /** Style of the debug console */ namespace EDebugConsoleStyle { enum Type { /** Shows the debug console input line with tab completion only */ Compact, /** Shows a scrollable log window with the input line on the bottom */ WithLog, }; }; class FOutputLogModule : public IModuleInterface { public: virtual void StartupModule(); virtual void ShutdownModule(); /** Generates a console input box widget. Remember, this widget will become invalid if the output log DLL is unloaded on the fly. */ virtual TSharedRef< SWidget > MakeConsoleInputBox( TSharedPtr< SEditableTextBox >& OutExposedEditableTextBox ) const; /** Opens a debug console in the specified window, if not already open */ virtual void OpenDebugConsoleForWindow( const TSharedRef< SWindow >& Window, const EDebugConsoleStyle::Type InStyle ); /** Closes the debug console for the specified window */ virtual void CloseDebugConsoleForWindow( const TSharedRef< SWindow >& Window ); private: /** Weak pointer to a debug console that's currently open, if any */ TWeakPtr< SWidget > DebugConsole; };