SpiecsEngine
 
Loading...
Searching...
No Matches
ImguiWindow.cpp
Go to the documentation of this file.
1/**
2* @file ImguiWindow.cpp.
3* @brief The ImguiWindow Class Implementation.
4* @author Spices.
5*/
6
7#include "Pchheader.h"
8#include "Systems/SlateSystem.h"
9
10#include "ImguiWindow.h"
11#include "Visualizer/ImguiVisualizer.h"
12#include "Utilities/ImguiUtilities.h"
14
15namespace Spices {
16
18 const std::string& panelName ,
19 FrameInfo& frameInfo
20 )
21 : ImguiSlate(panelName, frameInfo)
22 {
24
25 /**
26 * @brief Instance a Visualizer.
27 */
28 m_Visualizer = SlateSystem::GetRegister()->Register<ImguiVisualizer>(false, "Visualizer");
29
30 /**
31 * @brief Instance a Utilities.
32 */
33 m_Utilities = SlateSystem::GetRegister()->Register<ImguiUtilities>(false, "Utilities");
34
35 /**
36 * @brief Instance a ViewportMenu.
37 */
38 m_ViewportMenu = SlateSystem::GetRegister()->Register<ImguiViewportMenu>(false, "ViewportMenu");
39 }
40
42 {
44
45 if (ImGui::BeginMenu(m_PanelName.c_str()))
46 {
48
49 if (ImGui::BeginMenu(ICON_TEXT(ICON_EMPTY, Animation)))
50 {
51 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Animation Graph))) {}
52 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Curve Editor))) {}
53 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Retargeting))) {}
54 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Sequencer))) {}
55 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Stage Recorder))) {}
56 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Timeline))) {}
57
58 ImGui::EndMenu();
59 }
60
61 if (ImGui::BeginMenu(ICON_TEXT(ICON_EMPTY, Browsers)))
62 {
63 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Asset Stores))) {}
64 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Assets))) {}
65 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Content))) {}
66 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Environment))) {}
67 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Examples))) {}
68 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Materials))) {}
69 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Showcases))) {}
70 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, SimReady Explorer))) {}
71
72 ImGui::EndMenu();
73 }
74
75 if (ImGui::BeginMenu(ICON_TEXT(ICON_EMPTY, Navigation)))
76 {
77 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, NavMesh))) {}
78
79 ImGui::EndMenu();
80 }
81
82 if (ImGui::BeginMenu(ICON_TEXT(ICON_EMPTY, Particles)))
83 {
84 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Editor))) {}
85 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Playback Controls))) {}
86
87 ImGui::EndMenu();
88 }
89
90 if (ImGui::BeginMenu(ICON_TEXT(ICON_EMPTY, Renderering)))
91 {
92 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, AR))) {}
93 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, MDL Material Graph))) {}
94 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Movie Capture))) {}
95 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Render Settings))) {}
96 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Tablet AR))) {}
97 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, VR))) {}
98
99 ImGui::EndMenu();
100 }
101
102 if (ImGui::BeginMenu(ICON_TEXT(ICON_EMPTY, Simulation)))
103 {
104 ImGui::Separator();
105 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Monitor))) {}
106 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Presets))) {}
107 ImGui::Separator();
108 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Character Controller))) {}
109 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Collision Groups Filtering Matrix))) {}
110 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Debug))) {}
111 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Demo Scenes))) {}
112 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Physics Authoring Toolbar))) {}
113 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Settings))) {}
114
115 ImGui::EndMenu();
116 }
117
118 /**
119 * @brief Render Visualizer.
120 */
121 m_Visualizer->OnRender();
122
123 /**
124 * @brief Render Utilities.
125 */
126 m_Utilities->OnRender();
127
128 /**
129 * @brief Render Utilities.
130 */
131 m_ViewportMenu->OnRender();
132
133 if (ImGui::BeginMenu(ICON_TEXT(ICON_EMPTY, Visual Scripting)))
134 {
135 ImGui::Separator();
136 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Action Graph))) {}
137 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Generic Graph))) {}
138 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Node Description Editor))) {}
139 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Toolkit))) {}
140
141 ImGui::EndMenu();
142 }
143
144 if (ImGui::BeginMenu(ICON_TEXT(ICON_EMPTY, Warp)))
145 {
146 ImGui::Separator();
147 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Documentation))) {}
148 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Getting Started))) {}
149 if (ImGui::MenuItem(ICON_TEXT(ICON_EMPTY, Sample Scenes))) {}
150
151 ImGui::EndMenu();
152 }
153
154 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Collection))) {}
155 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, DeepSearch))) {}
156 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Hotkeys))) {}
157 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Layer))) {}
158 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Property))) {}
159 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Script Editor))) {}
160 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Stage))) {}
161 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, ToolBar))) {}
162 ImGui::Separator();
163 if (ImGui::MenuItem(ICON_TEXT(ICON_MD_CHECK, Extensions))) {}
164
165 /**
166 * @brief End Windows.
167 */
168 ImGui::EndMenu();
169 }
170 }
171}
#define ICON_TEXT(icon, text)
Definition ImguiHelper.h:24
#define ICON_EMPTY
Definition ImguiHelper.h:26
#define SPICES_PROFILE_ZONE
FrameInfo Class. This class defines the FrameInfo data.
Definition FrameInfo.h:32
static void MainMenuTitleSeparator()
Draw main menu titile separator.
The ImGuiH Class. This class defines helper function for slate render.
Definition ImguiHelper.h:61
ImguiSlate(const std::string &panelName, FrameInfo &frameInfo)
Constructor Function. Init with Slate's name.
Definition ImguiUtils.h:35
This Class defines the basic behaves of specific slate. When we add an new Slate, we need inherit fro...
Definition ImguiUtils.h:27
ImguiWindow(const std::string &panelName, FrameInfo &frameInfo)
Constructor Function.
virtual void OnRender() override
This interface is called On SlateRenderer Render.
The ImguiWindow Class. This class defines how to render a window menu.
Definition ImguiWindow.h:33