File ImguiLayer.h
FileList > src > UI > ImguiLayer.h
Go to the source code of this file
Base class for all UI panels in theUI layer.More...
#include "ImGui/imgui.h"#include "Context.h"#include "Events.h"#include "ImguiTheme.h"#include "ImguiItem.h"#include <unordered_map>#include <type_traits>
Classes
| Type | Name |
|---|---|
| class | ImguiLayer Base class for all UI panels (dockable ImGui windows). |
Public Types
| Type | Name |
|---|---|
| enum | ImLayerType Layer type identifiers for runtime type checking. |
Macros
| Type | Name |
|---|---|
| define | ACTIVE "ACTIVE LAYER" |
Detailed Description
ImguiLayer provides the foundation for dockable UI panels (Viewport, Outliner, TransformPanel, etc.). Each layer is a self-contained ImGui window that can subscribe to events, render UI elements, and contain reusable widgets (ImguiItems).
Architecture: * Layers are owned by ImguiManager * Each layer has a unique name and ID for lookup * Layers can be activated/deactivated independently * Layers support docking into the main dockspace * Communication: Layers read Context and emit Events
Note:
UI Layer: Layers must not mutate Context directly - use Events instead
Public Types Documentation
enum ImLayerType
Layer type identifiers for runtime type checking.
enum ImLayerType {
NONE_UILAYER,
PARAS_UILAYER,
TOOLS_UILAYER,
VIEWPORT_UILAYER,
OUTLINER_UILAYER,
SHADER_EDIT_UILAYER,
MATERIAL_UILYER,
TRANSFORM_UILAYER,
RENDER_CONFIG_ULATER
};
Used to identify specific layer types without RTTI. Each derived layer should set uly_type to the corresponding enum value.
Macro Definition Documentation
define ACTIVE
#define ACTIVE `"ACTIVE LAYER"`
The documentation for this class was generated from the following file src/UI/ImguiLayer.h