浏览代码

Added stacked modal windows example (#249)

ocornut 10 年之前
父节点
当前提交
0f38a53d28
共有 1 个文件被更改,包括 22 次插入1 次删除
  1. 22 1
      imgui.cpp

+ 22 - 1
imgui.cpp

@@ -11490,7 +11490,7 @@ void ImGui::ShowTestWindow(bool* opened)
         {  
             ImGui::TextWrapped("Modal windows are like popups but the user cannot close them by clicking outside the window.");
 
-            if (ImGui::Button("Delete"))
+            if (ImGui::Button("Delete.."))
                 ImGui::OpenPopup("Delete?");
             if (ImGui::BeginPopupModal("Delete?", NULL, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoCollapse))
             {
@@ -11508,6 +11508,27 @@ void ImGui::ShowTestWindow(bool* opened)
                 ImGui::EndPopup();
             }
 
+            if (ImGui::Button("Stacked modals.."))
+                ImGui::OpenPopup("Stacked 1");
+            if (ImGui::BeginPopupModal("Stacked 1"))
+            {
+                ImGui::Text("Hello from Stacked The First");
+
+                if (ImGui::Button("Another one.."))
+                    ImGui::OpenPopup("Stacked 2");
+                if (ImGui::BeginPopupModal("Stacked 2"))
+                {
+                    ImGui::Text("Hello from Stacked The Second");
+                    if (ImGui::Button("Close"))
+                        ImGui::CloseCurrentPopup();
+                    ImGui::EndPopup();
+                }
+
+                if (ImGui::Button("Close"))
+                    ImGui::CloseCurrentPopup();
+                ImGui::EndPopup();
+            }
+
             ImGui::TreePop();
         }
     }