Minor update - ImGui

Feat :

~ Seul la fenêtre principale est ouverte par default
+ Bouton dans la fenêtre principale pour ouvrir les autres fenêtre disponible
+ Croix pour fermer les fenêtre ouverte en plus de la fenêtre principale
This commit is contained in:
CatChow0 2024-04-08 14:47:16 +02:00
parent 8d344dbfc7
commit 5a6efc909f
3 changed files with 45 additions and 10 deletions

View File

@ -3,7 +3,7 @@ Pos=60,60
Size=400,400
[Window][Khaotic Engine]
Pos=819,137
Pos=172,20
Size=694,210
[Window][Objects]
@ -15,6 +15,6 @@ Pos=892,19
Size=418,94
[Window][Light]
Pos=70,378
Pos=185,468
Size=418,240

View File

@ -73,8 +73,6 @@ void imguiManager::WidgetAddObject(ApplicationClass* app)
app->AddCube();
}
ImGui::SameLine();
ImGui::Text("Number of cubes: %d", app->GetCubeCount());
if (ImGui::Button("Import Object"))
{
// Open file dialog
@ -99,12 +97,14 @@ void imguiManager::WidgetAddObject(ApplicationClass* app)
}
}
ImGui::SameLine();
ImGui::Text("Number of cubes: %d", app->GetCubeCount());
}
}
void imguiManager::WidgetObjectWindow(ApplicationClass* app)
{
ImGui::Begin("Objects");
ImGui::Begin("Objects", &showObjectWindow);
int index = 0;
for (auto& object : app->GetKobjects())
{
@ -160,7 +160,7 @@ void imguiManager::WidgetObjectWindow(ApplicationClass* app)
void imguiManager::WidgetTerrainWindow(ApplicationClass* app)
{
ImGui::Begin("Terrain");
ImGui::Begin("Terrain", &showTerrainWindow);
ImGui::Text("Number of terrain cubes: %d", app->GetTerrainCubeCount());
@ -195,12 +195,42 @@ void imguiManager::ImGuiWidgetRenderer(ApplicationClass* app)
WidgetButton();
WidgetFPS();
WidgetAddObject(app);
WidgetObjectWindow(app);
WidgetTerrainWindow(app);
WidgetLightWindow(app);
ImGui::Separator();
// Add buttons for opening windows
if (ImGui::Button("Open Object Window"))
{
showObjectWindow = true;
}
if (ImGui::Button("Open Terrain Window"))
{
showTerrainWindow = true;
}
if (ImGui::Button("Open Light Window"))
{
showLightWindow = true;
}
ImGui::End();
// Show windows if their corresponding variables are true
if (showObjectWindow)
{
WidgetObjectWindow(app);
}
if (showTerrainWindow)
{
WidgetTerrainWindow(app);
}
if (showLightWindow)
{
WidgetLightWindow(app);
}
//render imgui
Render();
@ -209,7 +239,7 @@ void imguiManager::ImGuiWidgetRenderer(ApplicationClass* app)
void imguiManager::WidgetLightWindow(ApplicationClass* app)
{
ImGui::Begin("Light");
ImGui::Begin("Light", &showLightWindow);
int index = 0;
for(auto& light : app->GetLights())
{

View File

@ -32,6 +32,11 @@ public:
void ImGuiWidgetRenderer(ApplicationClass* app);
private :
bool showObjectWindow = false;
bool showTerrainWindow = false;
bool showLightWindow = false;
private:
ImGuiIO* io;
};