Nebula
Loading...
Searching...
No Matches
imguiconsole.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
11//------------------------------------------------------------------------------
12#include "core/refcounted.h"
14#include "util/ringbuffer.h"
15#include "io/textwriter.h"
16
17namespace Dynui
18{
20{
23
24public:
44
45 struct LogEntry
46 {
48 // Util::String timestamp;
53 };
54
58 virtual ~ImguiConsole();
59
61 void Setup();
63 void Discard();
64
66 void Render();
67
69 void RenderContent();
70
72 void AppendToLog(const LogEntry& msg);
73
74 bool EvaluateCVar(Util::Array<Util::String> const& splits);
75
76 //Util::Dictionary<Util::String, Ptr<Scripting::Command>> commands;
79
85
86private:
87 const char * LogEntryTypeAsCharPtr(const LogMessageType & type) const;
88
90
92 void Execute(const Util::String& command);
93
94 char command[65535];
98 bool visible;
99
101};
102} // namespace Dynui
The common base class of Nebula.
Definition refcounted.h:38
The ImGui console uses ImGui to produce a live interactive console.
Definition imguiconsole.h:20
const char * LogEntryTypeAsCharPtr(const LogMessageType &type) const
Definition imguiconsole.cc:688
virtual ~ImguiConsole()
destructor
Definition imguiconsole.cc:297
IndexT selectedSuggestion
Definition imguiconsole.h:96
Util::RingBuffer< LogEntry > consoleBuffer
Definition imguiconsole.h:95
bool EvaluateCVar(Util::Array< Util::String > const &splits)
Definition imguiconsole.cc:644
void Render()
render, call this per-frame
Definition imguiconsole.cc:350
void Execute(const Util::String &command)
run script command
Definition imguiconsole.cc:568
__DeclareClass(ImguiConsole)
Util::Array< Util::String > previousCommands
Definition imguiconsole.h:77
enum Dynui::ImguiConsole::CommandMode cmdMode
void Discard()
discard console
Definition imguiconsole.cc:340
char command[65535]
Definition imguiconsole.h:94
__DeclareInterfaceSingleton(ImguiConsole)
CommandMode
Definition imguiconsole.h:81
@ CVar
Definition imguiconsole.h:83
@ Python
Definition imguiconsole.h:82
bool scrollToBottom
Definition imguiconsole.h:89
int previousCommandIndex
Definition imguiconsole.h:78
Ptr< IO::TextWriter > persistentHistory
Definition imguiconsole.h:100
void AppendToLog(const LogEntry &msg)
add line to the log
Definition imguiconsole.cc:635
void RenderContent()
render only content, You need to wrap this in ImGui::Begin and ImGui::End
Definition imguiconsole.cc:374
ImguiConsole()
constructor
Definition imguiconsole.cc:285
void Setup()
setup console, the ImguiAddon must be setup prior to this
Definition imguiconsole.cc:306
LogMessageType
These are all the types of messages that can be printed in the console Depending on the type of the m...
Definition imguiconsole.h:30
@ N_ERROR
Error message. Adds [Error] to the message.
Definition imguiconsole.h:38
@ N_INPUT
User Input text. Appends nothing to the message.
Definition imguiconsole.h:34
@ N_MESSAGE
Just plain white text. Adds [Message] prefix to the log message.
Definition imguiconsole.h:32
@ N_WARNING
Warning text. Adds [Warning] to the message.
Definition imguiconsole.h:36
@ N_EXCEPTION
Exception. Adds [FATAL ERROR] to the messsage. These are only used when the application encounters an...
Definition imguiconsole.h:40
@ N_SYSTEM
default messages from system. Adds [SYSTEM] to the message
Definition imguiconsole.h:42
Ptr< Scripting::ScriptServer > scriptServer
Definition imguiconsole.h:97
bool visible
Definition imguiconsole.h:98
Nebula's smart pointer class which manages the life time of RefCounted objects.
Definition ptr.h:38
Nebula's dynamic array class.
Definition array.h:60
A ring buffer stores up to a maximum number of elements in a circular fashion.
Definition ringbuffer.h:21
Imgui Profiler UI.
Definition imguiconsole.cc:277
Definition imguiconsole.h:46
LogMessageType type
Using a string for timestamp, so that we can just show it right away.
Definition imguiconsole.h:50
Util::String msg
Message string.
Definition imguiconsole.h:52
Nebula's universal string class.
Definition string.h:50
int IndexT
Definition types.h:48