Tools__Diff2CodeView2.st
author Claus Gittinger <cg@exept.de>
Sun, 11 May 2014 12:20:48 +0200
changeset 14350 bb47c314b586
parent 13839 e691e2233fa1
child 14371 491ec9ff2c09
permissions -rw-r--r--
class: ImageInspectorView changed: #inspect:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13839
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
              All Rights Reserved
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libtool' }"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Tools }"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
DiffCodeView2 subclass:#Diff2CodeView2
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	instanceVariableNames:''
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	classVariableNames:''
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	poolDictionaries:''
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	category:'Interface-CodeView'
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
Object subclass:#Diff2Data
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
	instanceVariableNames:'text1 text2 inserted deleted changed'
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
	classVariableNames:''
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
	poolDictionaries:''
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
	privateIn:Diff2CodeView2
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
!Diff2CodeView2 class methodsFor:'documentation'!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
copyright
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 COPYRIGHT (c) 2006 by eXept Software AG
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
              All Rights Reserved
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
 This software is furnished under a license and may be used
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
 only in accordance with the terms of that license and with the
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
 inclusion of the above copyright notice.   This software may not
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
 be provided or otherwise made available to, or used by, any
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
 other person.  No title to or ownership of the software is
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
 hereby transferred.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
! !
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
!Diff2CodeView2 class methodsFor:'defaults'!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
numberOfViews
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    "return the number of the synced subViews.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
     Usually redefined in subclasses"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
    ^ 2
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
    "Created: / 16-03-2012 / 12:54:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
! !
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!Diff2CodeView2 methodsFor:'accessing'!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
text1:t1 text2:t2 
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    |data|
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    data := self computeDiffDataForText1:t1 text2:t2.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
    (textViews at:1) 
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
        contents:(data text1);
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
        deletedLines:(data deleted);
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
        changedLines:(data changed);
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
        insertedLines:#();    
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
        originDiffText:t1;
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
        emptyLines:(data inserted).
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
    (textViews at:2) 
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
        contents:(data text2);
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
        deletedLines:#();
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
        changedLines:(data changed);
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
        insertedLines:(data inserted);
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
        originDiffText:t2;
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
        emptyLines:(data deleted).
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
    "Created: / 06-03-2010 / 10:45:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
    "Modified: / 22-06-2010 / 21:36:35 / Jakub <zelenja7@fel.cvut.cz>"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
    "Modified: / 15-07-2010 / 23:08:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
! !
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
!Diff2CodeView2 methodsFor:'private'!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
computeDiffDataForText1:t1 text2:t2 
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
    "created diffText object from two string"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
    
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
    |array1 array2 diff change index1 index2 text1 text2 i data deleted inserted helperText addConstant1 addConstant2 changed helper ins del pom|
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
    "Convert text into an array of individual lines"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
    array1 := self createArray:t1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
    array2 := self createArray:t2.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
    "Initialize inserted/deleted/changed "
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
    inserted := OrderedCollection new.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
    deleted := OrderedCollection new.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
    changed := OrderedCollection new.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
     "indicates which row of origin text is added to ne text"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
    index1 := 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
    index2 := 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
     "indicate how much rows were deleted or inserted "
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    addConstant1 := 0.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
    addConstant2 := 0.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    text1 := ''.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
    text2 := ''.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    diff := Diff new.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
    diff a:array1 b:array2.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    change := diff diff:false.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
    data := Diff2Data new.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
    [ change notNil ] whileTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
        "check first lines which are same"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
        (((change line0) > 0) and:[ ((change line1) > 0) ]) ifTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
            [
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
                index1 <= (change line0)
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
            ] whileTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
                helperText := (array1 at:index1) asText.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
                text1 := text1 asString , helperText asString.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
                index1 := index1 + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
            ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
            [
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
                index2 <= (change line1)
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
            ] whileTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
                helperText := (array2 at:index2) asText.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
                text2 := text2 , helperText.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
                index2 := index2 + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
            ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
        ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
        ins := change inserted.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
        del := change deleted.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
        index1 := (change line0) + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
        index2 := (change line1) + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
         "find replace files "
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
        ((del > 0) and:[ ins > 0 ]) ifTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
            helper := del - ins.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
            (helper <= 0) ifTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
                pom := change deleted.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
            ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
            (helper > 0) ifTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
                pom := change inserted.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
            ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
             "its same count row"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
            i := 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
            [ i <= pom ] whileTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
                changed add:index1 + addConstant1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
                text1 := text1 , (array1 at:index1) asString.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
                text2 := text2 , (array2 at:index2) asString.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
                index1 := index1 + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
                index2 := index2 + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
                del := del - 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
                ins := ins - 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
                i := i + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
            ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
        ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
         "find deleted files"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
        (del > 0) ifTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
            i := 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
            [ i <= del ] whileTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
                deleted add:index1 + addConstant1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
                text2 := text2 , Character cr.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
                addConstant2 := addConstant2 + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
                text1 := text1 , (array1 at:index1) asString.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
                index1 := index1 + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
                i := i + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
            ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
        ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
         "find inserted lines"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
        (ins > 0) ifTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
            i := 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
            [ i <= ins ] whileTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
                inserted add:index2 + addConstant2.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
                text1 := text1 , Character cr.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
                addConstant1 := addConstant1 + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
                text2 := text2 , (array2 at:index2) asString.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
                index2 := index2 + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
                i := i + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
            ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
        ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
        change := change nextLink.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
    ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
     "kontrola zda nam nechybi posledni znaky"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
    (index1 <= (array1 size)) ifTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
        [
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
            index1 <= (array1 size)
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
        ] whileTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
            helperText := (array1 at:index1) asText.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
            text1 := text1 , helperText.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
            index1 := index1 + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
        ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
    ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
    (index2 <= (array2 size)) ifTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
        [
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
            index2 <= (array2 size)
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
        ] whileTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
            helperText := (array2 at:index2) asText.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
            text2 := text2 , helperText.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
            index2 := index2 + 1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
        ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
    ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
    data text1:text1.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
    data text2:text2.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
    data changed:changed.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
    data inserted:inserted.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
    data deleted:deleted.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
    ^ data.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
    "Modified: / 22-06-2010 / 21:02:50 / Jakub <zelenja7@fel.cvut.cz>"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
    "Modified: / 16-03-2012 / 12:53:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
    "Modified (format): / 16-03-2012 / 16:10:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
createArray:text1 
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
    | array src line c |
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
    array := StringCollection new.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
    src := text1 readStream.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
    line := (String new: 80) writeStream.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
    [ src atEnd ] whileFalse:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
        c := src next.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
        line nextPut: c.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
        c == Character cr ifTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
            array add: line contents.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
            line reset.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
        ]        
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
    ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
    line position ~~ 0 ifTrue:[
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
        array add: line contents
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
    ].
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
    ^array
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
    "Created: / 22-03-2010 / 14:48:27 / Jakub <zelenja7@fel.cvut.cz>"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
    "Modified (comment): / 19-07-2011 / 11:14:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
! !
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
!Diff2CodeView2::Diff2Data methodsFor:'accessing'!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
changed
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
    ^changed copy
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
    "Modified: / 02-05-2010 / 19:31:18 / Jakub <zelenja7@fel.cvut.cz>"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
    "Modified: / 16-07-2010 / 09:35:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
changed:something
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
    changed := something.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
deleted
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
    ^ deleted
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
deleted:something
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
    deleted := something.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
inserted
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
    ^ inserted
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
inserted:something
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
    inserted := something.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
text1
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
    ^ text1
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
text1:something
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
    text1 := something.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
text2
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
    ^ text2
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
text2:something
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
    text2 := something.
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
! !
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
!Diff2CodeView2 class methodsFor:'documentation'!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
version
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
    ^ '$Header: /cvs/stx/stx/libtool/Tools__Diff2CodeView2.st,v 1.1 2014-02-05 18:58:49 cg Exp $'
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
!
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
version_CVS
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
    ^ '$Header: /cvs/stx/stx/libtool/Tools__Diff2CodeView2.st,v 1.1 2014-02-05 18:58:49 cg Exp $'
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
! !
e691e2233fa1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294