Tools__DiffCodeView2.st
branchjv
changeset 12179 47f98e7d6de1
parent 12128 a7ff7d66ee85
child 12198 414e7b69ecda
--- a/Tools__DiffCodeView2.st	Fri Mar 09 23:06:58 2012 +0000
+++ b/Tools__DiffCodeView2.st	Fri Mar 16 17:08:17 2012 +0000
@@ -27,20 +27,13 @@
 
 "{ NameSpace: Tools }"
 
-TwoColumnTextView subclass:#DiffCodeView2
+SyncedMultiColumnTextView subclass:#DiffCodeView2
 	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	category:'Interface-CodeView'
 !
 
-Object subclass:#DiffData
-	instanceVariableNames:'text1 text2 inserted deleted changed'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:DiffCodeView2
-!
-
 !DiffCodeView2 class methodsFor:'documentation'!
 
 copyright
@@ -96,32 +89,6 @@
     textViews do:[:each|each languageHolder: aValueModel].
 
     "Created: / 19-07-2011 / 12:55:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-text1:t1 text2:t2 
-    |data|
-
-    data := self computeDiffDataForText1:t1 text2:t2.
-
-    (textViews at:1) 
-        contents:(data text1);
-        deletedLines:(data deleted);
-        changedLines:(data changed);
-        insertedLines:#();    
-        originDiffText:t1;
-        emptyLines:(data inserted).
-
-    (textViews at:2) 
-        contents:(data text2);
-        deletedLines:#();
-        changedLines:(data changed);
-        insertedLines:(data inserted);
-        originDiffText:t2;
-        emptyLines:(data deleted).
-
-    "Created: / 06-03-2010 / 10:45:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 22-06-2010 / 21:36:35 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 15-07-2010 / 23:08:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !DiffCodeView2 methodsFor:'initialization'!
@@ -143,201 +110,6 @@
     "Modified: / 23-06-2010 / 19:36:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-!DiffCodeView2 methodsFor:'private'!
-
-computeDiffDataForText1:t1 text2:t2 
-    "created diffText object from two string"
-    
-    |array1 array2 diff change index1 index2 text1 text2 i diffHelper deleted inserted helperText addConstant1 addConstant2 changed helper ins del pom|
-
-    "cerate array from origin text(1 item=1 row)"
-    array1 := self createArray:t1.
-    array2 := self createArray:t2.
-     "inserted,deleted, cahnged lines"
-    inserted := OrderedCollection new.
-    deleted := OrderedCollection new.
-    changed := OrderedCollection new.
-     "indicates which row of origin text is added to ne text"
-    index1 := 1.
-    index2 := 1.
-     "indicate how much rows were deleted or inserted "
-    addConstant1 := 0.
-    addConstant2 := 0.
-    text1 := ''.
-    text2 := ''.
-    diff := Diff new.
-    diff a:array1 b:array2.
-    change := diff diff:false.
-    diffHelper := DiffData new.
-    [ change notNil ] whileTrue:[
-        "check first lines which are same"
-        (((change line0) > 0) and:[ ((change line1) > 0) ]) ifTrue:[
-            [
-                index1 <= (change line0)
-            ] whileTrue:[
-                helperText := (array1 at:index1) asText.
-                text1 := text1 asString , helperText asString.
-                index1 := index1 + 1.
-            ].
-            [
-                index2 <= (change line1)
-            ] whileTrue:[
-                helperText := (array2 at:index2) asText.
-                text2 := text2 , helperText.
-                index2 := index2 + 1.
-            ].
-        ].
-        ins := change inserted.
-        del := change deleted.
-        index1 := (change line0) + 1.
-        index2 := (change line1) + 1.
-         "find replace files "
-        ((del > 0) and:[ ins > 0 ]) ifTrue:[
-            helper := del - ins.
-            (helper <= 0) ifTrue:[
-                pom := change deleted.
-            ].
-            (helper > 0) ifTrue:[
-                pom := change inserted.
-            ].
-             "its same count row"
-            i := 1.
-            [ i <= pom ] whileTrue:[
-                changed add:index1 + addConstant1.
-                text1 := text1 , (array1 at:index1) asString.
-                text2 := text2 , (array2 at:index2) asString.
-                index1 := index1 + 1.
-                index2 := index2 + 1.
-                del := del - 1.
-                ins := ins - 1.
-                i := i + 1.
-            ].
-        ].
-         "find deleted files"
-        (del > 0) ifTrue:[
-            i := 1.
-            [ i <= del ] whileTrue:[
-                deleted add:index1 + addConstant1.
-                text2 := text2 , Character cr.
-                addConstant2 := addConstant2 + 1.
-                text1 := text1 , (array1 at:index1) asString.
-                index1 := index1 + 1.
-                i := i + 1.
-            ].
-        ].
-         "find inserted lines"
-        (ins > 0) ifTrue:[
-            i := 1.
-            [ i <= ins ] whileTrue:[
-                inserted add:index2 + addConstant2.
-                text1 := text1 , Character cr.
-                addConstant1 := addConstant1 + 1.
-                text2 := text2 , (array2 at:index2) asString.
-                index2 := index2 + 1.
-                i := i + 1.
-            ].
-        ].
-        change := change nextLink.
-    ].
-     "kontrola zda nam nechybi posledni znaky"
-    (index1 <= (array1 size)) ifTrue:[
-        [
-            index1 <= (array1 size)
-        ] whileTrue:[
-            helperText := (array1 at:index1) asText.
-            text1 := text1 , helperText.
-            index1 := index1 + 1.
-        ].
-    ].
-    (index2 <= (array2 size)) ifTrue:[
-        [
-            index2 <= (array2 size)
-        ] whileTrue:[
-            helperText := (array2 at:index2) asText.
-            text2 := text2 , helperText.
-            index2 := index2 + 1.
-        ].
-    ].
-    diffHelper text1:text1.
-    diffHelper text2:text2.
-    diffHelper changed:changed.
-    diffHelper inserted:inserted.
-    diffHelper deleted:deleted.
-    ^ diffHelper.
-
-    "Modified: / 22-06-2010 / 21:02:50 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 24-06-2010 / 21:07:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-createArray:text1 
-
-    | array src line c |
-    array := StringCollection new.
-    src := text1 readStream.
-    line := (String new: 80) writeStream.
-    [ src atEnd ] whileFalse:[
-        c := src next.
-        line nextPut: c.
-        c == Character cr ifTrue:[
-            array add: line contents.
-            line reset.
-        ]        
-    ].
-    line position ~~ 0 ifTrue:[
-        array add: line contents
-    ].
-    ^array
-
-    "Created: / 22-03-2010 / 14:48:27 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified (comment): / 19-07-2011 / 11:14:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!DiffCodeView2::DiffData methodsFor:'accessing'!
-
-changed
-
-    ^changed copy
-
-    "Modified: / 02-05-2010 / 19:31:18 / Jakub <zelenja7@fel.cvut.cz>"
-    "Modified: / 16-07-2010 / 09:35:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-changed:something
-    changed := something.
-!
-
-deleted
-    ^ deleted
-!
-
-deleted:something
-    deleted := something.
-!
-
-inserted
-    ^ inserted
-!
-
-inserted:something
-    inserted := something.
-!
-
-text1
-    ^ text1
-!
-
-text1:something
-    text1 := something.
-!
-
-text2
-    ^ text2
-!
-
-text2:something
-    text2 := something.
-! !
-
 !DiffCodeView2 class methodsFor:'documentation'!
 
 version_CVS
@@ -345,5 +117,5 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__DiffCodeView2.st 7854 2012-01-30 17:49:41Z vranyj1 $'
-! !
\ No newline at end of file
+    ^ '$Id: Tools__DiffCodeView2.st 7925 2012-03-16 17:08:17Z vranyj1 $'
+! !