EditorPanel class

Virtual base class for all editor panels. OOP is explicitly allowed in editor code — the ECS anti-virtual rules apply to engine components, not editor UI.

Derived classes

class ComponentGeneratorPanel
class ConstructEditorWindow
class ContentBrowserPanel
class DebuggerPanel
class DetailsPanel
class EngineStatsPanel
class EntityEditorWindow
class LogPanel
class NodeScriptPanel
class PrefabEditorWindow
class WorldOutlinerPanel

Constructors, destructors, conversion operators

EditorPanel(const char* title) explicit
~EditorPanel() defaulted virtual

Public functions

void Tick(EditorState& state)
void Draw(EditorState& state) pure virtual
auto BeginPadded(ImGuiWindowFlags flags = 0) -> bool

Public variables

const char* Title
bool bVisible
bool bForceMainViewport

Function documentation

bool EditorPanel::BeginPadded(ImGuiWindowFlags flags = 0)

Begin() with horizontal WindowPadding=8 so content doesn't touch panel edges. PanelHeader draws edge-to-edge by using GetWindowPos() directly — padding only affects the content cursor below the header bar.