@@ -1786,29 +1786,40 @@ void EditorApp::render() {
17861786 }
17871787 }
17881788
1789- // Full-screen dockspace - allows docking to edges
1789+ // Main dockspace window
17901790 ImGuiViewport* viewport = ImGui::GetMainViewport ();
17911791 ImGui::SetNextWindowPos (viewport->Pos );
17921792 ImGui::SetNextWindowSize (viewport->Size );
17931793 ImGui::SetNextWindowViewport (viewport->ID );
17941794
1795- ImGuiWindowFlags flags = ImGuiWindowFlags_MenuBar;
1795+ ImGuiWindowFlags flags = ImGuiWindowFlags_MenuBar | ImGuiWindowFlags_NoDocking ;
17961796 flags |= ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoCollapse;
17971797 flags |= ImGuiWindowFlags_NoBringToFrontOnFocus | ImGuiWindowFlags_NoNavFocus;
17981798
17991799 ImGui::PushStyleVar (ImGuiStyleVar_WindowRounding, 0 );
18001800 ImGui::PushStyleVar (ImGuiStyleVar_WindowBorderSize, 0 );
18011801 ImGui::PushStyleVar (ImGuiStyleVar_WindowPadding, ImVec2 (0 , 0 ));
1802- ImGui::Begin (" DockSpace " , nullptr , flags);
1802+ ImGui::Begin (" MainDock " , nullptr , flags);
18031803 ImGui::PopStyleVar (3 );
18041804
1805- ImGuiID dockspace_id = ImGui::GetID (" MainDockSpace" );
1806- ImGui::DockSpace (dockspace_id, ImVec2 (0 , 0 ), ImGuiDockNodeFlags_PassthruCentralNode);
1807- ImGui::DockBuilderDockWindow (" Editor" , dockspace_id);
1808-
1805+ // Menu and sidebar in main window
18091806 render_menu_bar ();
18101807 render_sidebar ();
1811- render_editor_area ();
1808+
1809+ ImGui::End ();
1810+
1811+ // Floating editor window - can be dragged anywhere and docked
1812+ ImGui::SetNextWindowPos (ImVec2 (viewport->Pos .x + 60 , viewport->Pos .y + 60 ));
1813+ ImGui::SetNextWindowSize (ImVec2 (800 , 600 ));
1814+ ImGui::SetNextWindowViewport (viewport->ID );
1815+
1816+ ImGuiWindowFlags editor_flags = ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoSavedSettings;
1817+ editor_flags |= ImGuiWindowFlags_UnsavedDocument;
1818+
1819+ if (ImGui::Begin (" Editor" , nullptr , editor_flags)) {
1820+ render_editor_area ();
1821+ ImGui::End ();
1822+ }
18121823
18131824 // Dialogs
18141825 if (show_find_) render_find_dialog ();
@@ -1818,8 +1829,6 @@ void EditorApp::render() {
18181829 if (show_spaces_dialog_) render_spaces_dialog ();
18191830 if (show_cmd_palette_) render_command_palette ();
18201831
1821- ImGui::End ();
1822-
18231832 render_terminal ();
18241833}
18251834
0 commit comments