Plasma Engine  2.0
Loading...
Searching...
No Matches
CVarPanel.moc.h
1#pragma once
2
3#include <EditorFramework/EditorFrameworkDLL.h>
4#include <EditorFramework/IPC/EngineProcessConnection.h>
5#include <Foundation/Basics.h>
6#include <Foundation/Containers/Map.h>
7#include <GuiFoundation/DockPanels/ApplicationPanel.moc.h>
8#include <GuiFoundation/Widgets/CVarWidget.moc.h>
9#include <ToolsFoundation/Project/ToolsProject.h>
10
11class plQtCVarWidget;
12
13class PL_EDITORFRAMEWORK_DLL plQtCVarPanel : public plQtApplicationPanel
14{
15 Q_OBJECT
16
17 PL_DECLARE_SINGLETON(plQtCVarPanel);
18
19public:
22
23protected:
24 virtual void ToolsProjectEventHandler(const plToolsProjectEvent& e) override;
25
26private Q_SLOTS:
27 void UpdateUI();
28 void BoolChanged(const char* szCVar, bool newValue);
29 void FloatChanged(const char* szCVar, float newValue);
30 void IntChanged(const char* szCVar, int newValue);
31 void StringChanged(const char* szCVar, const char* newValue);
32
33private:
34 void EngineProcessMsgHandler(const plEditorEngineProcessConnection::Event& e);
35
36 plQtCVarWidget* m_pCVarWidget = nullptr;
37
38 plMap<plString, plCVarWidgetData> m_EngineCVarState;
39
40 bool m_bUpdateUI = false;
41 bool m_bRebuildUI = false;
42 bool m_bUpdateConsole = false;
43 plStringBuilder m_sCommandResult;
44};
45
Definition Map.h:408
Base class for all panels that are supposed to be application wide (not tied to some document).
Definition ApplicationPanel.moc.h:13
Definition CVarPanel.moc.h:14
Displays CVar values in a table and allows to modify them.
Definition CVarWidget.moc.h:102
plStringBuilder is a class that is meant for creating and modifying strings.
Definition StringBuilder.h:35
Definition EngineProcessConnection.h:63
Definition ToolsProject.h:13