Base class for standalone editor windows.
More...
#include <EditorWindow.h>
|
| virtual | ~EditorWindow ()=default |
| virtual const char * | GetTitle ()=0 |
| | Get the window title.
|
| virtual const char * | GetMenuPath () |
| | Get the menu path for the Tools menu.
|
| virtual const char * | GetShortcut () |
| | Get optional keyboard shortcut.
|
| virtual void | OnOpen () |
| | Called when the window is first opened.
|
| virtual void | OnClose () |
| | Called when the window is closed.
|
| virtual void | OnGUI ()=0 |
| | Called each frame to draw the window UI.
|
| virtual void | OnUpdate (float deltaTime) |
| | Called each frame for non-UI updates.
|
| virtual bool | CanOpenFile (const char *extension) |
| | Check if this window can open a file type.
|
| virtual bool | CanOpenAssetType (const char *assetType) |
| | Check if this window can open a .asset file by its type field.
|
| virtual void | OpenFile (const char *filePath, const char *cachePath) |
| | Open a file in this window.
|
| virtual bool | SaveSession (std::string &) |
| | Serialize window state to JSON.
|
| virtual void | RestoreSession (const std::string &) |
| | Rebuild state from SaveSession's JSON (after DLLs reloaded).
|
| bool | IsOpen () const |
| void | SetOpen (bool open) |
Base class for standalone editor windows.
Replaces IEditorTool. Use EditorApplication::Get() for project info.
Usage:
{
public:
const char*
GetTitle()
override {
return "Spritesheet Editor"; }
const char*
GetMenuPath()
override {
return "2D/Spritesheet Editor"; }
{
m_ProjectPath = app.GetProjectPath();
}
{
ImGui::End();
}
};
#define REGISTER_EDITOR_WINDOW(WindowClass, WindowTitle, MenuPath)
Register an editor window.
Definition EditorWindow.h:193
static EditorApplication & Get()
Get singleton instance.
Base class for standalone editor windows.
Definition EditorWindow.h:44
bool m_IsOpen
Definition EditorWindow.h:161
virtual const char * GetTitle()=0
Get the window title.
virtual const char * GetMenuPath()
Get the menu path for the Tools menu.
Definition EditorWindow.h:62
virtual void OnOpen()
Called when the window is first opened.
Definition EditorWindow.h:87
virtual void OnGUI()=0
Called each frame to draw the window UI.
◆ ~EditorWindow()
| virtual DekiEditor::EditorWindow::~EditorWindow |
( |
| ) |
|
|
virtualdefault |
◆ GetTitle()
| virtual const char * DekiEditor::EditorWindow::GetTitle |
( |
| ) |
|
|
pure virtual |
Get the window title.
- Returns
- Human-readable window title
◆ GetMenuPath()
| virtual const char * DekiEditor::EditorWindow::GetMenuPath |
( |
| ) |
|
|
inlinevirtual |
Get the menu path for the Tools menu.
- Returns
- Menu path (e.g., "2D/Spritesheet Editor") or nullptr
◆ GetShortcut()
| virtual const char * DekiEditor::EditorWindow::GetShortcut |
( |
| ) |
|
|
inlinevirtual |
Get optional keyboard shortcut.
- Returns
- Shortcut string (e.g., "Ctrl+Shift+S") or nullptr
◆ OnOpen()
| virtual void DekiEditor::EditorWindow::OnOpen |
( |
| ) |
|
|
inlinevirtual |
Called when the window is first opened.
Use EditorApplication::Get() to access project paths:
{
m_ProjectPath = app.GetProjectPath();
m_AssetsPath = app.GetAssetsPath();
}
◆ OnClose()
| virtual void DekiEditor::EditorWindow::OnClose |
( |
| ) |
|
|
inlinevirtual |
Called when the window is closed.
◆ OnGUI()
| virtual void DekiEditor::EditorWindow::OnGUI |
( |
| ) |
|
|
pure virtual |
Called each frame to draw the window UI.
Use ImGui directly. Call ImGui::Begin() with &m_IsOpen.
◆ OnUpdate()
| virtual void DekiEditor::EditorWindow::OnUpdate |
( |
float | deltaTime | ) |
|
|
inlinevirtual |
Called each frame for non-UI updates.
- Parameters
-
| deltaTime | Time since last frame in seconds |
◆ CanOpenFile()
| virtual bool DekiEditor::EditorWindow::CanOpenFile |
( |
const char * | extension | ) |
|
|
inlinevirtual |
Check if this window can open a file type.
- Parameters
-
| extension | File extension (e.g., ".png", ".anim") |
- Returns
- True if window can handle this file type
◆ CanOpenAssetType()
| virtual bool DekiEditor::EditorWindow::CanOpenAssetType |
( |
const char * | assetType | ) |
|
|
inlinevirtual |
Check if this window can open a .asset file by its type field.
- Parameters
-
| assetType | The "type" value from the .asset JSON (e.g., "iconexport") |
- Returns
- True if window can handle this asset type
◆ OpenFile()
| virtual void DekiEditor::EditorWindow::OpenFile |
( |
const char * | filePath, |
|
|
const char * | cachePath ) |
|
inlinevirtual |
Open a file in this window.
- Parameters
-
| filePath | Full path to the file |
| cachePath | Full path to the cached file |
◆ SaveSession()
| virtual bool DekiEditor::EditorWindow::SaveSession |
( |
std::string & | | ) |
|
|
inlinevirtual |
Serialize window state to JSON.
Return false to skip persistence.
◆ RestoreSession()
| virtual void DekiEditor::EditorWindow::RestoreSession |
( |
const std::string & | | ) |
|
|
inlinevirtual |
Rebuild state from SaveSession's JSON (after DLLs reloaded).
◆ IsOpen()
| bool DekiEditor::EditorWindow::IsOpen |
( |
| ) |
const |
|
inline |
◆ SetOpen()
| void DekiEditor::EditorWindow::SetOpen |
( |
bool | open | ) |
|
|
inline |
◆ m_IsOpen
| bool DekiEditor::EditorWindow::m_IsOpen = false |
|
protected |
The documentation for this class was generated from the following file: