add close feature

This commit is contained in:
2025-04-12 20:26:12 -05:00
parent dea35c2a5e
commit 372e46168f
3 changed files with 24 additions and 17 deletions

View File

@@ -29,26 +29,31 @@ void MainGUI::onLoad() {
void MainGUI::run() { void MainGUI::run() {
ImGuiIO& io = ImGui::GetIO(); if(open) {
static std::string s; ImGuiIO& io = ImGui::GetIO();
static std::string s;
ImGui::Begin("MainGUI Module"); ImGui::Begin("MainGUI Module", &open);
ImGui::Text("Active Modules:"); ImGui::Text("Active Modules:");
for(auto m : app->getModuleNames()) for(auto m : app->getModuleNames())
ImGui::Text("%s", m.c_str()); ImGui::Text("%s", m.c_str());
ImGui::Text("\nEnter a module to un/load:"); ImGui::Text("\nEnter a module to un/load:");
ImGui::InputText("module: ", &s); ImGui::InputText("module: ", &s);
if(ImGui::Button("load")) if(ImGui::Button("load"))
app->startModule(s); app->startModule(s);
ImGui::SameLine();
if(ImGui::Button("unload")) ImGui::SameLine();
app->stopModule(s);
if(ImGui::Button("unload"))
app->stopModule(s);
ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / io.Framerate, io.Framerate);
ImGui::End();
} else {
app->end();
}
ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / io.Framerate, io.Framerate);
ImGui::End();
} }

View File

@@ -10,6 +10,8 @@ class MainGUI : public Archimedes::Module {
void onLoad(); void onLoad();
void run(); void run();
private:
bool open = true;
}; };
#ifdef MAINGUI_DYNAMIC #ifdef MAINGUI_DYNAMIC

View File

@@ -30,7 +30,7 @@ void TestImgui::run() {
if(demo) if(demo)
ImGui::ShowDemoWindow(&this->demo); ImGui::ShowDemoWindow(&this->demo);
else else
app->end(); app->stopModule(getName());
{ {
ImGuiIO& io = ImGui::GetIO(); ImGuiIO& io = ImGui::GetIO();