From 9a89d815cce47535fd0d49f1a8362dabe51c3fc2 Mon Sep 17 00:00:00 2001 From: jules Date: Sun, 19 Aug 2012 18:54:23 +0100 Subject: [PATCH] Reverted CodeDocument::replaceAllContent, and added an applyChanges() method. --- .../Source/Code Editor/jucer_SourceCodeEditor.cpp | 2 +- modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp | 8 +++++++- modules/juce_gui_extra/code_editor/juce_CodeDocument.h | 5 +++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.cpp b/extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.cpp index e94f61fae3..b169fb115e 100644 --- a/extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.cpp +++ b/extras/Introjucer/Source/Code Editor/jucer_SourceCodeEditor.cpp @@ -62,7 +62,7 @@ void SourceCodeDocument::reloadInternal() { jassert (codeDoc != nullptr); modDetector.updateHash(); - codeDoc->replaceAllContent (modDetector.getFile().loadFileAsString()); + codeDoc->applyChanges (modDetector.getFile().loadFileAsString()); codeDoc->setSavePoint(); } diff --git a/modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp b/modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp index 8ca410f780..60d22858dd 100644 --- a/modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp +++ b/modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp @@ -574,7 +574,7 @@ void CodeDocument::replaceSection (const int start, const int end, const String& deleteSection (start + newTextLen, end + newTextLen); } -void CodeDocument::replaceAllContent (const String& newContent) +void CodeDocument::applyChanges (const String& newContent) { TextDiff diff (getAllContent(), newContent); @@ -589,6 +589,12 @@ void CodeDocument::replaceAllContent (const String& newContent) } } +void CodeDocument::replaceAllContent (const String& newContent) +{ + remove (0, getNumCharacters(), true); + insert (newContent, 0, true); +} + bool CodeDocument::loadFromStream (InputStream& stream) { remove (0, getNumCharacters(), false); diff --git a/modules/juce_gui_extra/code_editor/juce_CodeDocument.h b/modules/juce_gui_extra/code_editor/juce_CodeDocument.h index a1e73e4542..68d371b538 100644 --- a/modules/juce_gui_extra/code_editor/juce_CodeDocument.h +++ b/modules/juce_gui_extra/code_editor/juce_CodeDocument.h @@ -234,6 +234,11 @@ public: */ void replaceAllContent (const String& newContent); + /** Analyses the changes between the current content and some new text, and applies + those changes. + */ + void applyChanges (const String& newContent); + /** Replaces the editor's contents with the contents of a stream. This will also reset the undo history and save point marker. */