Voltray Engine Docs
Loading...
Searching...
No Matches
EditorApp.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <GLFW/glfw3.h>
5
10#include "Components/Console.h"
11#include "Components/Settings.h"
13#include "UI/WorkspaceDialog.h"
14#include "../Utils/Workspace.h"
15
25namespace Editor
26{
36 {
37 public:
45 void Init(GLFWwindow *window);
46
53 void RenderUI();
54
60 void Shutdown();
61
67 static EditorApp *Get();
68
72 bool &GetViewportVisible() { return m_ViewportVisible; }
73 bool &GetInspectorVisible() { return m_InspectorVisible; }
74 bool &GetAssetsVisible() { return m_AssetsVisible; }
75 bool &GetConsoleVisible() { return m_ConsoleVisible; }
76 bool &GetSettingsVisible() { return m_SettingsVisible; }
80 Components::Viewport *GetViewport() { return m_Viewport.get(); }
81
86 Components::Settings *GetSettings() { return m_Settings.get(); }
87
92 std::shared_ptr<Workspace> GetCurrentWorkspace() { return m_CurrentWorkspace; }
93
94 private:
95 std::unique_ptr<Components::Toolbar> m_Toolbar;
96 std::unique_ptr<Components::Viewport> m_Viewport;
97 std::unique_ptr<Components::Inspector> m_Inspector;
98 std::unique_ptr<Assets::AssetsPanel> m_Assets;
99 std::unique_ptr<Components::Settings> m_Settings;
100
101 // Panel visibility flags
102 bool m_ViewportVisible = true;
103 bool m_InspectorVisible = true;
104 bool m_AssetsVisible = true;
105 bool m_ConsoleVisible = true;
106 bool m_SettingsVisible = true; // Workspace management
107 bool m_WorkspaceInitialized = false;
108 bool m_ShowWorkspaceDialogOnStartup = true;
109 std::shared_ptr<Workspace> m_CurrentWorkspace;
110
111 static EditorApp *s_Instance;
112 };
113}
Defines the Console panel component for the Voltray editor.
Defines the Dockspace component for managing ImGui dock layouts and panels.
Defines the Settings panel component for the Voltray editor.
A panel component that provides settings interface in the editor.
Definition Settings.h:18
Main viewport component for 3D scene editing.
Definition Viewport.h:29
Entry point and main controller for the Voltray Editor application.
Definition EditorApp.h:36
bool & GetAssetsVisible()
Definition EditorApp.h:74
void Shutdown()
Cleans up resources used by the editor.
Definition EditorApp.cpp:144
Components::Settings * GetSettings()
Get the settings component.
Definition EditorApp.h:86
void RenderUI()
Renders all editor UI components.
Definition EditorApp.cpp:83
std::shared_ptr< Workspace > GetCurrentWorkspace()
Get the current workspace.
Definition EditorApp.h:92
Components::Viewport * GetViewport()
Get the viewport component.
Definition EditorApp.h:80
bool & GetConsoleVisible()
Definition EditorApp.h:75
bool & GetInspectorVisible()
Definition EditorApp.h:73
void Init(GLFWwindow *window)
Initializes the editor application with the given GLFW window.
Definition EditorApp.cpp:28
static EditorApp * Get()
Returns the singleton instance of the EditorApp.
Definition EditorApp.cpp:164
bool & GetSettingsVisible()
Definition EditorApp.h:76
bool & GetViewportVisible()
Get panel visibility flags for menu toggles.
Definition EditorApp.h:72
Definition AssetsPanel.cpp:7