Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Olympe::BlueprintEditorGUI Class Reference

BlueprintEditorGUI - Frontend UI for Blueprint Editor Renders ImGui interface and interacts with BlueprintEditor backend Contains NO business logic - all data operations go through backend. More...

#include <BlueprintEditorGUI.h>

+ Collaboration diagram for Olympe::BlueprintEditorGUI:

Public Member Functions

 BlueprintEditorGUI ()
 
 ~BlueprintEditorGUI ()
 
void Initialize ()
 
void Shutdown ()
 
void Render ()
 
void LoadEditorConfig ()
 
void SaveEditorConfig ()
 

Private Member Functions

void RenderMenuBar ()
 
void RenderEntityPanel ()
 
void RenderNodeEditor ()
 
void RenderPropertyPanel ()
 
void RenderStatusBar ()
 
void RenderComponentAddDialog ()
 
void RenderFixedLayout ()
 
void RenderPreferencesDialog ()
 
void RenderShortcutsDialog ()
 
void RenderMigrationDialog ()
 
void HandleKeyboardShortcuts ()
 
void NewBlueprint ()
 
void NewVisualScriptGraph ()
 
void LoadBlueprint (const std::string &filepath)
 
void SaveBlueprint ()
 
void SaveBlueprintAs ()
 
void AddComponent (const std::string &type)
 
void RemoveComponent (int index)
 

Private Attributes

int m_SelectedComponentIndex
 
std::map< int, ImVec2m_NodePositions
 
std::vector< NodeConnectionm_Connections
 
int m_NextNodeId
 
bool m_ShowDemoWindow
 
bool m_ShowAddComponentDialog
 
bool m_ShowAboutDialog
 
char m_NewBlueprintNameBuffer [256]
 
char m_FilepathBuffer [512]
 
int m_SelectedComponentType
 
bool m_ShowAssetBrowser
 
bool m_ShowAssetInfo
 
bool m_ShowInspector
 
bool m_ShowNodeGraph
 
bool m_ShowEntities
 
bool m_ShowEntityProperties
 
bool m_ShowComponentGraph
 
bool m_ShowPropertyPanel
 
bool m_ShowTemplateBrowser
 
bool m_ShowHistory
 
bool m_ShowVSEditor
 
bool m_ShowDebugger
 
bool m_ShowProfiler
 
bool m_ShowPreferences
 
bool m_ShowShortcuts
 
AssetBrowser m_AssetBrowser
 
AssetInfoPanel m_AssetInfoPanel
 
NodeGraphPanel m_NodeGraphPanel
 
EntitiesPanel m_EntitiesPanel
 
InspectorPanel m_InspectorPanel
 
class TemplateBrowserPanelm_TemplateBrowserPanel
 
class HistoryPanelm_HistoryPanel
 
class VisualScriptEditorPanelm_VSEditorPanel
 
class DebugPanelm_DebugPanel
 
class ProfilerPanelm_ProfilerPanel
 
float m_AssetBrowserWidth
 
float m_InspectorWidth
 
float m_MinPanelWidth
 
float m_SplitterSize
 
float m_LeftPanelSplitHeight
 
float m_InspectorPanelHeight
 
float m_VerificationLogsPanelHeight
 

Detailed Description

BlueprintEditorGUI - Frontend UI for Blueprint Editor Renders ImGui interface and interacts with BlueprintEditor backend Contains NO business logic - all data operations go through backend.

Definition at line 43 of file BlueprintEditorGUI.h.

Constructor & Destructor Documentation

◆ BlueprintEditorGUI()

Olympe::BlueprintEditorGUI::BlueprintEditorGUI ( )

Definition at line 30 of file BlueprintEditorGUI.cpp.

References m_FilepathBuffer, and m_NewBlueprintNameBuffer.

◆ ~BlueprintEditorGUI()

Olympe::BlueprintEditorGUI::~BlueprintEditorGUI ( )

Member Function Documentation

◆ AddComponent()

void Olympe::BlueprintEditorGUI::AddComponent ( const std::string &  type)
private

◆ HandleKeyboardShortcuts()

void Olympe::BlueprintEditorGUI::HandleKeyboardShortcuts ( )
private

◆ Initialize()

void Olympe::BlueprintEditorGUI::Initialize ( )

◆ LoadBlueprint()

void Olympe::BlueprintEditorGUI::LoadBlueprint ( const std::string &  filepath)
private

Definition at line 958 of file BlueprintEditorGUI.cpp.

References Olympe::BlueprintEditor::Get(), Olympe::TabManager::Get(), LoadBlueprint(), m_NodePositions, m_SelectedComponentIndex, and Olympe::TabManager::OpenFileInTab().

Referenced by HandleKeyboardShortcuts(), Initialize(), LoadBlueprint(), and Render().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LoadEditorConfig()

void Olympe::BlueprintEditorGUI::LoadEditorConfig ( )

◆ NewBlueprint()

void Olympe::BlueprintEditorGUI::NewBlueprint ( )
private

Definition at line 941 of file BlueprintEditorGUI.cpp.

References Olympe::BlueprintEditor::Get(), m_NodePositions, m_SelectedComponentIndex, and Olympe::BlueprintEditor::NewBlueprint().

Referenced by Render().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ NewVisualScriptGraph()

void Olympe::BlueprintEditorGUI::NewVisualScriptGraph ( )
private

Definition at line 951 of file BlueprintEditorGUI.cpp.

References Olympe::TabManager::CreateNewTab(), Olympe::TabManager::Get(), and SYSTEM_LOG.

+ Here is the call graph for this function:

◆ RemoveComponent()

void Olympe::BlueprintEditorGUI::RemoveComponent ( int  index)
private

◆ Render()

void Olympe::BlueprintEditorGUI::Render ( )

Definition at line 221 of file BlueprintEditorGUI.cpp.

References Olympe::TabManager::CloseAllTabs(), Olympe::TabManager::CloseTab(), Olympe::TabManager::CreateNewTab(), Olympe::BlueprintEditor::Get(), Olympe::TabManager::Get(), GetComponentTypeID_Static(), HandleKeyboardShortcuts(), ICON_FA_ARROW_RIGHT, ICON_FA_ARROW_ROTATE_RIGHT, ICON_FA_BOOK, ICON_FA_BOOKMARK, ICON_FA_BRAIN, ICON_FA_BUG, ICON_FA_CHECK, ICON_FA_CIRCLE_INFO, ICON_FA_CIRCLE_QUESTION, ICON_FA_CLOCK, ICON_FA_CODE, ICON_FA_CUBES, ICON_FA_DIAGRAM_PROJECT, ICON_FA_EYE, ICON_FA_FILE, ICON_FA_FILE_CODE, ICON_FA_FLOPPY_DISK, ICON_FA_FOLDER, ICON_FA_FOLDER_OPEN, ICON_FA_GAUGE, ICON_FA_GEAR, ICON_FA_LIGHTBULB, ICON_FA_LIST, ICON_FA_PEN_TO_SQUARE, ICON_FA_PLUS, ICON_FA_ROTATE_LEFT, ICON_FA_ROTATE_RIGHT, ICON_FA_SLIDERS, ICON_FA_TRASH_CAN, ICON_FA_WINDOW_RESTORE, ICON_FA_WRENCH, ICON_FA_XMARK, Olympe::TabManager::IsEmpty(), LoadBlueprint(), m_SelectedComponentIndex, m_ShowAboutDialog, m_ShowAddComponentDialog, m_ShowAssetBrowser, m_ShowDebugger, m_ShowDemoWindow, m_ShowHistory, m_ShowInspector, m_ShowNodeGraph, m_ShowPreferences, m_ShowProfiler, m_ShowShortcuts, m_ShowTemplateBrowser, m_ShowVSEditor, m_TemplateBrowserPanel, NewBlueprint(), RemoveComponent(), RenderComponentAddDialog(), RenderFixedLayout(), RenderMigrationDialog(), RenderPreferencesDialog(), RenderShortcutsDialog(), Olympe::TabManager::SaveActiveTab(), and Olympe::TabManager::SaveActiveTabAs().

Referenced by SDL_AppIterate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RenderComponentAddDialog()

void Olympe::BlueprintEditorGUI::RenderComponentAddDialog ( )
private

Definition at line 900 of file BlueprintEditorGUI.cpp.

References AddComponent(), GetComponentTypeID_Static(), m_SelectedComponentType, and m_ShowAddComponentDialog.

Referenced by Render().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RenderEntityPanel()

void Olympe::BlueprintEditorGUI::RenderEntityPanel ( )
private

Definition at line 684 of file BlueprintEditorGUI.cpp.

References Olympe::BlueprintEditor::Get(), GetComponentTypeID_Static(), m_SelectedComponentIndex, m_ShowAddComponentDialog, and RemoveComponent().

+ Here is the call graph for this function:

◆ RenderFixedLayout()

void Olympe::BlueprintEditorGUI::RenderFixedLayout ( )
private

◆ RenderMenuBar()

void Olympe::BlueprintEditorGUI::RenderMenuBar ( )
private

Definition at line 680 of file BlueprintEditorGUI.cpp.

◆ RenderMigrationDialog()

void Olympe::BlueprintEditorGUI::RenderMigrationDialog ( )
private

Definition at line 1160 of file BlueprintEditorGUI.cpp.

References Olympe::BlueprintEditor::Get(), and GetComponentTypeID_Static().

Referenced by Render().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RenderNodeEditor()

void Olympe::BlueprintEditorGUI::RenderNodeEditor ( )
private

Definition at line 758 of file BlueprintEditorGUI.cpp.

References Olympe::BlueprintEditor::Get(), GetComponentTypeID_Static(), m_NodePositions, and m_SelectedComponentIndex.

+ Here is the call graph for this function:

◆ RenderPreferencesDialog()

void Olympe::BlueprintEditorGUI::RenderPreferencesDialog ( )
private

Definition at line 1078 of file BlueprintEditorGUI.cpp.

References GetComponentTypeID_Static(), and m_ShowPreferences.

Referenced by Render().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RenderPropertyPanel()

void Olympe::BlueprintEditorGUI::RenderPropertyPanel ( )
private

Definition at line 826 of file BlueprintEditorGUI.cpp.

References Olympe::BlueprintEditor::Get(), GetComponentTypeID_Static(), and m_SelectedComponentIndex.

+ Here is the call graph for this function:

◆ RenderShortcutsDialog()

void Olympe::BlueprintEditorGUI::RenderShortcutsDialog ( )
private

Definition at line 1111 of file BlueprintEditorGUI.cpp.

References GetComponentTypeID_Static(), and m_ShowShortcuts.

Referenced by Render().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RenderStatusBar()

void Olympe::BlueprintEditorGUI::RenderStatusBar ( )
private

Definition at line 861 of file BlueprintEditorGUI.cpp.

References Olympe::BlueprintEditor::Get(), and GetComponentTypeID_Static().

+ Here is the call graph for this function:

◆ SaveBlueprint()

void Olympe::BlueprintEditorGUI::SaveBlueprint ( )
private

Definition at line 980 of file BlueprintEditorGUI.cpp.

References Olympe::BlueprintEditor::Get(), and GetComponentTypeID_Static().

Referenced by HandleKeyboardShortcuts().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SaveBlueprintAs()

void Olympe::BlueprintEditorGUI::SaveBlueprintAs ( )
private

Definition at line 997 of file BlueprintEditorGUI.cpp.

References Olympe::BlueprintEditor::Get(), GetComponentTypeID_Static(), and SYSTEM_LOG.

Referenced by HandleKeyboardShortcuts().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SaveEditorConfig()

void Olympe::BlueprintEditorGUI::SaveEditorConfig ( )

◆ Shutdown()

void Olympe::BlueprintEditorGUI::Shutdown ( )

Member Data Documentation

◆ m_AssetBrowser

AssetBrowser Olympe::BlueprintEditorGUI::m_AssetBrowser
private

Definition at line 126 of file BlueprintEditorGUI.h.

Referenced by Initialize(), and RenderFixedLayout().

◆ m_AssetBrowserWidth

float Olympe::BlueprintEditorGUI::m_AssetBrowserWidth
private

Definition at line 146 of file BlueprintEditorGUI.h.

Referenced by Initialize(), RenderFixedLayout(), and Shutdown().

◆ m_AssetInfoPanel

AssetInfoPanel Olympe::BlueprintEditorGUI::m_AssetInfoPanel
private

Definition at line 127 of file BlueprintEditorGUI.h.

◆ m_Connections

std::vector<NodeConnection> Olympe::BlueprintEditorGUI::m_Connections
private

Definition at line 95 of file BlueprintEditorGUI.h.

◆ m_DebugPanel

class DebugPanel* Olympe::BlueprintEditorGUI::m_DebugPanel
private

Definition at line 142 of file BlueprintEditorGUI.h.

Referenced by Initialize(), RenderFixedLayout(), Shutdown(), and ~BlueprintEditorGUI().

◆ m_EntitiesPanel

EntitiesPanel Olympe::BlueprintEditorGUI::m_EntitiesPanel
private

Definition at line 131 of file BlueprintEditorGUI.h.

Referenced by Initialize(), and Shutdown().

◆ m_FilepathBuffer

char Olympe::BlueprintEditorGUI::m_FilepathBuffer[512]
private

Definition at line 103 of file BlueprintEditorGUI.h.

Referenced by BlueprintEditorGUI().

◆ m_HistoryPanel

class HistoryPanel* Olympe::BlueprintEditorGUI::m_HistoryPanel
private

Definition at line 138 of file BlueprintEditorGUI.h.

Referenced by Initialize(), RenderFixedLayout(), Shutdown(), and ~BlueprintEditorGUI().

◆ m_InspectorPanel

InspectorPanel Olympe::BlueprintEditorGUI::m_InspectorPanel
private

Definition at line 132 of file BlueprintEditorGUI.h.

Referenced by Initialize(), RenderFixedLayout(), and Shutdown().

◆ m_InspectorPanelHeight

float Olympe::BlueprintEditorGUI::m_InspectorPanelHeight
private

Definition at line 159 of file BlueprintEditorGUI.h.

Referenced by RenderFixedLayout().

◆ m_InspectorWidth

float Olympe::BlueprintEditorGUI::m_InspectorWidth
private

Definition at line 147 of file BlueprintEditorGUI.h.

Referenced by Initialize(), and Shutdown().

◆ m_LeftPanelSplitHeight

float Olympe::BlueprintEditorGUI::m_LeftPanelSplitHeight
private

Definition at line 154 of file BlueprintEditorGUI.h.

Referenced by RenderFixedLayout().

◆ m_MinPanelWidth

float Olympe::BlueprintEditorGUI::m_MinPanelWidth
private

Definition at line 148 of file BlueprintEditorGUI.h.

Referenced by Initialize(), RenderFixedLayout(), and Shutdown().

◆ m_NewBlueprintNameBuffer

char Olympe::BlueprintEditorGUI::m_NewBlueprintNameBuffer[256]
private

Definition at line 102 of file BlueprintEditorGUI.h.

Referenced by BlueprintEditorGUI().

◆ m_NextNodeId

int Olympe::BlueprintEditorGUI::m_NextNodeId
private

Definition at line 96 of file BlueprintEditorGUI.h.

◆ m_NodeGraphPanel

NodeGraphPanel Olympe::BlueprintEditorGUI::m_NodeGraphPanel
private

Definition at line 130 of file BlueprintEditorGUI.h.

Referenced by Initialize(), and Shutdown().

◆ m_NodePositions

std::map<int, ImVec2> Olympe::BlueprintEditorGUI::m_NodePositions
private

Definition at line 94 of file BlueprintEditorGUI.h.

Referenced by LoadBlueprint(), NewBlueprint(), and RenderNodeEditor().

◆ m_ProfilerPanel

class ProfilerPanel* Olympe::BlueprintEditorGUI::m_ProfilerPanel
private

Definition at line 143 of file BlueprintEditorGUI.h.

Referenced by Initialize(), RenderFixedLayout(), Shutdown(), and ~BlueprintEditorGUI().

◆ m_SelectedComponentIndex

int Olympe::BlueprintEditorGUI::m_SelectedComponentIndex
private

◆ m_SelectedComponentType

int Olympe::BlueprintEditorGUI::m_SelectedComponentType
private

Definition at line 104 of file BlueprintEditorGUI.h.

Referenced by RenderComponentAddDialog().

◆ m_ShowAboutDialog

bool Olympe::BlueprintEditorGUI::m_ShowAboutDialog
private

Definition at line 101 of file BlueprintEditorGUI.h.

Referenced by Render().

◆ m_ShowAddComponentDialog

bool Olympe::BlueprintEditorGUI::m_ShowAddComponentDialog
private

Definition at line 100 of file BlueprintEditorGUI.h.

Referenced by Render(), RenderComponentAddDialog(), and RenderEntityPanel().

◆ m_ShowAssetBrowser

bool Olympe::BlueprintEditorGUI::m_ShowAssetBrowser
private

Definition at line 107 of file BlueprintEditorGUI.h.

Referenced by Render(), and RenderFixedLayout().

◆ m_ShowAssetInfo

bool Olympe::BlueprintEditorGUI::m_ShowAssetInfo
private

Definition at line 108 of file BlueprintEditorGUI.h.

◆ m_ShowComponentGraph

bool Olympe::BlueprintEditorGUI::m_ShowComponentGraph
private

Definition at line 113 of file BlueprintEditorGUI.h.

◆ m_ShowDebugger

bool Olympe::BlueprintEditorGUI::m_ShowDebugger
private

Definition at line 118 of file BlueprintEditorGUI.h.

Referenced by Render(), and RenderFixedLayout().

◆ m_ShowDemoWindow

bool Olympe::BlueprintEditorGUI::m_ShowDemoWindow
private

Definition at line 99 of file BlueprintEditorGUI.h.

Referenced by Render().

◆ m_ShowEntities

bool Olympe::BlueprintEditorGUI::m_ShowEntities
private

Definition at line 111 of file BlueprintEditorGUI.h.

◆ m_ShowEntityProperties

bool Olympe::BlueprintEditorGUI::m_ShowEntityProperties
private

Definition at line 112 of file BlueprintEditorGUI.h.

◆ m_ShowHistory

bool Olympe::BlueprintEditorGUI::m_ShowHistory
private

Definition at line 116 of file BlueprintEditorGUI.h.

Referenced by Render(), and RenderFixedLayout().

◆ m_ShowInspector

bool Olympe::BlueprintEditorGUI::m_ShowInspector
private

Definition at line 109 of file BlueprintEditorGUI.h.

Referenced by Render(), and RenderFixedLayout().

◆ m_ShowNodeGraph

bool Olympe::BlueprintEditorGUI::m_ShowNodeGraph
private

Definition at line 110 of file BlueprintEditorGUI.h.

Referenced by Render().

◆ m_ShowPreferences

bool Olympe::BlueprintEditorGUI::m_ShowPreferences
private

Definition at line 122 of file BlueprintEditorGUI.h.

Referenced by Render(), and RenderPreferencesDialog().

◆ m_ShowProfiler

bool Olympe::BlueprintEditorGUI::m_ShowProfiler
private

Definition at line 119 of file BlueprintEditorGUI.h.

Referenced by Render(), and RenderFixedLayout().

◆ m_ShowPropertyPanel

bool Olympe::BlueprintEditorGUI::m_ShowPropertyPanel
private

Definition at line 114 of file BlueprintEditorGUI.h.

◆ m_ShowShortcuts

bool Olympe::BlueprintEditorGUI::m_ShowShortcuts
private

Definition at line 123 of file BlueprintEditorGUI.h.

Referenced by Render(), and RenderShortcutsDialog().

◆ m_ShowTemplateBrowser

bool Olympe::BlueprintEditorGUI::m_ShowTemplateBrowser
private

Definition at line 115 of file BlueprintEditorGUI.h.

Referenced by HandleKeyboardShortcuts(), Render(), and RenderFixedLayout().

◆ m_ShowVSEditor

bool Olympe::BlueprintEditorGUI::m_ShowVSEditor
private

Definition at line 117 of file BlueprintEditorGUI.h.

Referenced by Render().

◆ m_SplitterSize

float Olympe::BlueprintEditorGUI::m_SplitterSize
private

Definition at line 149 of file BlueprintEditorGUI.h.

Referenced by Initialize(), RenderFixedLayout(), and Shutdown().

◆ m_TemplateBrowserPanel

class TemplateBrowserPanel* Olympe::BlueprintEditorGUI::m_TemplateBrowserPanel
private

◆ m_VerificationLogsPanelHeight

float Olympe::BlueprintEditorGUI::m_VerificationLogsPanelHeight
private

Definition at line 160 of file BlueprintEditorGUI.h.

◆ m_VSEditorPanel

class VisualScriptEditorPanel* Olympe::BlueprintEditorGUI::m_VSEditorPanel
private

Definition at line 141 of file BlueprintEditorGUI.h.

Referenced by Initialize(), Shutdown(), and ~BlueprintEditorGUI().


The documentation for this class was generated from the following files: