DirectoryDifferenceViewApplication.st
author Claus Gittinger <cg@exept.de>
Wed, 06 Jun 2012 11:46:59 +0200
changeset 11564 67a8e0885c2c
parent 11123 6cbaa2e319a3
child 12401 4714b9640528
child 13818 cfc8c51359dd
permissions -rw-r--r--
changed: #doSearch
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:libtool' }"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
AbstractFileFinderApplicationComponent subclass:#DirectoryDifferenceViewApplication
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'directory1Holder directory2Holder directory1 directory2
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
		filesOnlyInDirectory1 filesOnlyInDirectory2
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
		filesWhichAreDifferent directoriesOnlyInDirectory1
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
     7
		directoriesOnlyInDirectory2 namePatternHolder
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
     8
		excludedNamePatternHolder'
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	classVariableNames:''
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
	poolDictionaries:''
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
	category:'Interface-Tools-File'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    15
!DirectoryDifferenceViewApplication class methodsFor:'help specs'!
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    16
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    17
flyByHelpSpec
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    18
    "This resource specification was automatically generated
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    19
     by the UIHelpTool of ST/X."
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    20
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    21
    "Do not manually edit this!! If it is corrupted,
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    22
     the UIHelpTool may not be able to read the specification."
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    23
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    24
    "
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    25
     UIHelpTool openOnClass:FindFileApplication    
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    26
    "
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    27
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    28
    <resource: #help>
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    29
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    30
    ^ super flyByHelpSpec addPairsFrom:#(
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    31
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    32
#namePattern
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    33
'Filename(s) to search for. Can be matchPatterns, separated by ";"'
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    34
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    35
#excludedNamePattern
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    36
'Filename(s) to skip. Can be matchPatterns, separated by ";"'
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    37
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    38
#searchDirectory1
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    39
'The first folder, to be compared against folder2'
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    40
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    41
#searchDirectory2
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    42
'The second folder, to be compared against folder1'
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    43
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    44
)
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    45
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    46
    "Modified: / 13-01-2012 / 14:41:36 / cg"
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    47
! !
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
    48
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
!DirectoryDifferenceViewApplication class methodsFor:'interface specs'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
    "This resource specification was automatically generated
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
     by the UIPainter of ST/X."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    "Do not manually edit this!! If it is corrupted,
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
     the UIPainter may not be able to read the specification."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
     UIPainter new openOnClass:DirectoryDifferenceViewApplication andSelector:#windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
     DirectoryDifferenceViewApplication new openInterface:#windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
     DirectoryDifferenceViewApplication open
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
    <resource: #canvas>
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
    ^ 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
     #(FullSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
        name: windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
        window: 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
       (WindowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
          label: 'Directory Diff'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
          name: 'Directory Diff'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
          min: (Point 377 131)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
          bounds: (Rectangle 0 0 758 512)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
        )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
        component: 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
       (SpecCollection
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
          collection: (
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
           (MenuPanelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
              name: 'ToolBar1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
              layout: (LayoutFrame 0 0.0 0 0 0 1.0 32 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
              level: 0
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
              menu: searchMenu
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
              textDefault: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
            )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
           (ProgressIndicatorSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
              name: 'ProgressIndicator1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
              layout: (LayoutFrame 125 0 11 0 231 0 21 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
              visibilityChannel: enableStop
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
              backgroundColor: (Color 0.0 66.9993133440146 66.9993133440146)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
              showPercentage: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
              isActivityIndicator: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
            )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
           (ViewSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
              name: 'Box1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
              layout: (LayoutFrame 0 0.0 32 0 0 1.0 130 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
              component: 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
             (SpecCollection
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
                collection: (
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
                 (LabelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
                    label: 'Directory1:'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
                    name: 'DirectoryLabel'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
                    layout: (LayoutFrame 2 0 7 0 154 0 24 0)
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   104
                    activeHelpKey: searchDirectory1
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
                    adjust: right
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
                 (FilenameInputFieldSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
                    name: 'DirectoryEntryField'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
                    layout: (LayoutFrame 156 0 4 0 0 1 24 0)
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   111
                    activeHelpKey: searchDirectory1
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
                    model: directory1Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
                    immediateAccept: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
                    acceptOnPointerLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
                 (LabelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
                    label: 'Directory2:'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
                    name: 'Label2'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
                    layout: (LayoutFrame 2 0 31 0 154 0 48 0)
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   120
                    activeHelpKey: searchDirectory2
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
                    adjust: right
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
                 (FilenameInputFieldSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
                    name: 'FilenameEntryField1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
                    layout: (LayoutFrame 156 0 28 0 0 1 48 0)
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   127
                    activeHelpKey: searchDirectory2
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
                    model: directory2Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
                    immediateAccept: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
                    acceptOnPointerLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
                 (LabelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
                    label: 'Compare Files Named:'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
                    name: 'FileNameLabel'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
                    layout: (LayoutFrame 2 0 55 0 154 0 72 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
                    activeHelpKey: namePattern
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
                    adjust: right
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
                 (InputFieldSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
                    name: 'FileNameEntryField'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
                    layout: (LayoutFrame 156 0 52 0 -315 1 72 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
                    activeHelpKey: namePattern
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
                    tabable: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
                    model: namePatternHolder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
                    immediateAccept: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
                    acceptOnLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
                    acceptOnPointerLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
                 (CheckBoxSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
                    label: 'Ignore Case'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
                    name: 'IgnoreCaseInNameCheckBox'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
                    layout: (LayoutFrame -169 1 53 0 -4 1 76 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
                    activeHelpKey: ignoreCase
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
                    tabable: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
                    model: ignoreCaseInName
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
                 (LabelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
                    label: 'But Not Named:'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
                    name: 'Label1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
                    layout: (LayoutFrame 2 0 79 0 154 0 96 0)
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   163
                    activeHelpKey: excludedNamePattern
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
                    adjust: right
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
                 (InputFieldSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
                    name: 'EntryField1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
                    layout: (LayoutFrame 156 0 76 0 -315 1 96 0)
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   170
                    activeHelpKey: excludedNamePattern
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
                    tabable: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
                    model: excludedNamePatternHolder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
                    immediateAccept: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
                    acceptOnLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
                    acceptOnPointerLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
                 (CheckBoxSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
                    label: 'Ignore Case'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
                    name: 'CheckBox1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
                    layout: (LayoutFrame -169 1 77 0 -4 1 100 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
                    activeHelpKey: ignoreCase
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
                    tabable: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
                    model: ignoreCaseInExcludedName
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
                 )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
               
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
              )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
            )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
           (VariableVerticalPanelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
              name: 'VariableVerticalPanel1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
              layout: (LayoutFrame 0 0.0 140 0 0 1.0 0 1)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
              component: 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
             (SpecCollection
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
                collection: (
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
                 (DataSetSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
                    name: 'Table1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
                    model: selectionHolder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
                    hasHorizontalScrollBar: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
                    hasVerticalScrollBar: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
                    dataList: matchedFilesList
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
                    doubleClickSelector: fileDoubleClick:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
                    columnHolder: searchResultTable
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
                    valueChangeSelector: fileSelected:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
                    multipleSelectOk: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
                  )
11116
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   207
                 (ArbitraryComponentSpec
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   208
                    name: 'DiffTextView'
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   209
                    hasHorizontalScrollBar: true
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   210
                    hasVerticalScrollBar: true
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
                    component: DiffTextView
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
                 )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
               
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
              )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
              handles: (Any 0.5 1.0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
            )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
           )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
         
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
        )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
      )
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   222
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   223
    "Modified: / 13-01-2012 / 14:41:56 / cg"
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
11123
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   226
!DirectoryDifferenceViewApplication class methodsFor:'menu specs'!
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   227
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   228
searchMenu
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   229
    "This resource specification was automatically generated
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   230
     by the MenuEditor of ST/X."
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   231
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   232
    "Do not manually edit this!! If it is corrupted,
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   233
     the MenuEditor may not be able to read the specification."
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   234
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   235
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   236
    "
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   237
     MenuEditor new openOnClass:FindFileApplication andSelector:#searchMenu
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   238
     (Menu new fromLiteralArrayEncoding:(FindFileApplication searchMenu)) startUp
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   239
    "
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   240
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   241
    <resource: #menu>
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   242
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   243
    ^ 
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   244
     #(Menu
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   245
        (
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   246
         (MenuItem
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   247
            label: 'Search'
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   248
            itemValue: doSearch
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   249
            translateLabel: true
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   250
            isButton: true
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   251
            labelImage: (ResourceRetriever ToolbarIconLibrary searchFileIcon)
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   252
          )
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   253
         (MenuItem
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   254
            enabled: enableStop
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   255
            label: 'Stop'
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   256
            itemValue: stop
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   257
            translateLabel: true
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   258
            isButton: true
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   259
            isVisible: enableStop
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   260
            labelImage: (ResourceRetriever XPToolbarIconLibrary stop22x22Icon)
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   261
          )
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   262
         (MenuItem
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   263
            label: 'Close'
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   264
            itemValue: doClose
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   265
            translateLabel: true
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   266
            isButton: true
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   267
            startGroup: right
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   268
            isVisible: false
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   269
            labelImage: (ResourceRetriever ToolbarIconLibrary removeTabIcon)
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   270
          )
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   271
         )
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   272
        nil
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   273
        nil
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   274
      )
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   275
! !
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   276
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
!DirectoryDifferenceViewApplication class methodsFor:'tableColumns specs'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
searchResultTable
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
    "This resource specification was automatically generated
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
     by the DataSetBuilder of ST/X."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
    "Do not manually edit this!! If it is corrupted,
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
     the DataSetBuilder may not be able to read the specification."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
     DataSetBuilder new openOnClass:DirectoryDifferenceViewApplication andSelector:#searchResultTable
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
    <resource: #tableColumns>
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
    ^#(
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
      (DataSetColumnSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
         label: 'Filename'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
         id: 'FileName'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
         labelButtonType: Button
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
         model: at:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
         menuFromApplication: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
         writeSelector: at:put:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
         showRowSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
         showColSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
       )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
      (DataSetColumnSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
         label: 'Diff'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
         id: 'Diff'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
         labelButtonType: Button
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
         model: at:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
         menuFromApplication: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
         writeSelector: at:put:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
         showRowSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
         showColSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
       )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
      )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
    
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
!DirectoryDifferenceViewApplication methodsFor:'accessing'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
directory1:directory1Arg directory2:directory2Arg 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
    self directory1Holder value:directory1Arg.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
    self directory2Holder value:directory2Arg.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
"/    self namePatternHolder value:newPattern.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
    self enableStop value:false.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
    self enableSearch value:true.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
    ^ true.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
    "Modified: / 12-01-2012 / 01:36:54 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
directory1Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
    directory1Holder isNil ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
        directory1Holder := nil asValue
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
    ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
    ^ directory1Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
    "Created: / 12-01-2012 / 01:37:31 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
directory2Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
    directory2Holder isNil ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
        directory2Holder := nil asValue
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
    ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
    ^ directory2Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
    "Created: / 12-01-2012 / 01:37:41 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
11116
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   349
!DirectoryDifferenceViewApplication methodsFor:'actions'!
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   350
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   351
fileSelected:entries
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   352
    |entry file fn1 fn2 text1 text2 differ|
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   353
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   354
    entries isEmptyOrNil ifTrue:[^ self].
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   355
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   356
    entry := self shownList at:entries first.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   357
    file := entry first.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   358
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   359
    fn1 := self directory1Holder value asFilename construct:file.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   360
    fn2 := self directory2Holder value asFilename construct:file.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   361
    fn1 exists ifTrue:[
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   362
        text1 := fn1 contentsOfEntireFile.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   363
    ].
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   364
    fn2 exists ifTrue:[
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   365
        text2 := fn2 contentsOfEntireFile.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   366
    ].
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   367
    differ := builder componentAt:'DiffTextView'.
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   368
    differ text1:(text1 ? '') text2:(text2 ? '').
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   369
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   370
    "Created: / 12-01-2012 / 03:21:52 / cg"
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   371
! !
86de3247a42f added: #fileSelected:
Claus Gittinger <cg@exept.de>
parents: 11105
diff changeset
   372
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   373
!DirectoryDifferenceViewApplication methodsFor:'aspects'!
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   374
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   375
excludedNamePatternHolder
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   376
    excludedNamePatternHolder isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   377
        excludedNamePatternHolder := '' asValue.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   378
    ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   379
    ^ excludedNamePatternHolder.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   380
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   381
    "Created: / 13-01-2012 / 14:42:47 / cg"
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   382
!
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   383
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   384
namePatternHolder
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   385
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   386
    namePatternHolder isNil ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   387
        namePatternHolder := '*' asValue.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   388
    ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   389
    ^ namePatternHolder.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   390
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   391
    "Created: / 13-01-2012 / 14:37:28 / cg"
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   392
! !
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   393
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
!DirectoryDifferenceViewApplication methodsFor:'comparing'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
doSearch
11123
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   397
    |dir1 dir2 namePattern namePatterns excludedNamePattern excludedNamePatterns|
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
    filesOnlyInDirectory1 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
    filesOnlyInDirectory2 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
    directoriesOnlyInDirectory1 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
    directoriesOnlyInDirectory2 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
    filesWhichAreDifferent := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
    dir1 := self directory1Holder value.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
    dir1 isNil ifTrue:[^ self].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
    dir2 := self directory2Holder value.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
    dir2 isNil ifTrue:[^ self].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
    dir1 := dir1 asFilename.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
    dir2 := dir2 asFilename.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
11123
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   414
    dir1 pathName = dir2 pathName ifTrue:[
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   415
        self notify:('Same folder.' allBold).
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   416
        ^ self.
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   417
    ].
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   418
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   419
    namePattern := self namePatternHolder value.
11123
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   420
    namePattern notEmptyOrNil ifTrue:[
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   421
        namePatterns := namePattern asCollectionOfSubstringsSeparatedByAny:',;'.
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   422
        namePatterns := namePatterns collect:[:p | p withoutSeparators ].
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   423
    ].
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   424
    excludedNamePattern := self excludedNamePatternHolder value.
11123
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   425
    excludedNamePattern notEmptyOrNil ifTrue:[
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   426
        excludedNamePatterns := excludedNamePattern asCollectionOfSubstringsSeparatedByAny:',;'.
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   427
        excludedNamePatterns := excludedNamePatterns collect:[:p | p withoutSeparators ].
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   428
    ].
11564
67a8e0885c2c changed: #doSearch
Claus Gittinger <cg@exept.de>
parents: 11123
diff changeset
   429
    self matchedFilesList removeAll.
67a8e0885c2c changed: #doSearch
Claus Gittinger <cg@exept.de>
parents: 11123
diff changeset
   430
    self windowGroup repairDamage.
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   431
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
    self 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
        startSearchTask:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
            self changeInformationTo:'Directory Diff - searching ' toTab:true.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
            self shownListHolder valueHolder:(self matchedFilesList).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
            dir1 recursiveDirectoryContentsDo:[:relFn1 |
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
                |fn1 fn2|
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
11123
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   441
                fn1 := dir1 construct:relFn1.
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   442
                (namePatterns isNil or:[namePatterns contains:[:p | p match:fn1 baseName]]) ifTrue:[
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   443
                    (excludedNamePatterns notNil and:[excludedNamePatterns contains:[:p | p match:fn1 baseName]]) ifFalse:[
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   444
                        fn2 := dir2 construct:relFn1.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   445
                        fn1 isDirectory ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   446
                            self notify:('Comparing %1...' bindWith:relFn1 asString allBold).
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   447
                            fn2 exists ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   448
                                directoriesOnlyInDirectory1 add:fn1.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   449
                                self matchedFilesList add:{ relFn1 . 'Directory only in directory1' }.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   450
                            ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   451
                        ] ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   452
                            fn2 exists ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   453
                                (fn1 sameContentsAs:fn2) ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   454
                                    filesWhichAreDifferent add:fn1.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   455
                                    self matchedFilesList add:{ relFn1 . 'Different' }.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   456
                                ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   457
                            ] ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   458
                                filesOnlyInDirectory1 add:fn1.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   459
                                self matchedFilesList add:{ relFn1 . 'File only in directory1' }.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   460
                            ].
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
                        ].
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   462
                    ]
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   463
                ]
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
            dir2 recursiveDirectoryContentsDo:[:relFn2 |
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
                |fn1 fn2|
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
11123
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   468
                fn2 := dir2 construct:relFn2.
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   469
                (namePatterns isNil or:[namePatterns contains:[:p | p match:fn2 baseName]]) ifTrue:[
6cbaa2e319a3 added: #searchMenu
Claus Gittinger <cg@exept.de>
parents: 11121
diff changeset
   470
                    (excludedNamePatterns notNil and:[excludedNamePatterns contains:[:p | p match:fn2 baseName]]) ifFalse:[
11121
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   471
                        fn1 := dir1 construct:relFn2.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   472
                        fn1 exists ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   473
                            fn1 isDirectory ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   474
                                directoriesOnlyInDirectory1 add:fn1.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   475
                                self matchedFilesList add:{ relFn2 . 'Directory only in directory2' }.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   476
                            ] ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   477
                                filesOnlyInDirectory2 add:fn2.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   478
                                self matchedFilesList add:{ relFn2 . 'File only in directory2' }.
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   479
                            ]
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   480
                        ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   481
                    ].
Claus Gittinger <cg@exept.de>
parents: 11116
diff changeset
   482
                ]
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
            filesOnlyInDirectory1 notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
                Transcript showCR:('%1 files only in directory1' bindWith:filesOnlyInDirectory1 size).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
            filesOnlyInDirectory2 notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   488
                Transcript showCR:('%1 files only in directory2' bindWith:filesOnlyInDirectory2 size).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   490
            directoriesOnlyInDirectory1 notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
                Transcript showCR:('%1 directories only in directory1' bindWith:directoriesOnlyInDirectory1 size).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
            directoriesOnlyInDirectory2 notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
                Transcript showCR:('%1 directories only in directory2' bindWith:directoriesOnlyInDirectory2 size).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
            filesWhichAreDifferent notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
                Transcript showCR:('%1 files are different' bindWith:filesWhichAreDifferent size).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
            ]
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
        ]
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
        name:'Directory Diff'.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
    "Created: / 12-01-2012 / 01:07:20 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
!DirectoryDifferenceViewApplication methodsFor:'startup & release'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
postOpenWith:aBuilder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
    super postOpenWith:aBuilder.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   509
    self doSearch
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
    "Created: / 12-01-2012 / 01:41:18 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
!DirectoryDifferenceViewApplication class methodsFor:'documentation'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
version
11564
67a8e0885c2c changed: #doSearch
Claus Gittinger <cg@exept.de>
parents: 11123
diff changeset
   517
    ^ '$Header: /cvs/stx/stx/libtool/DirectoryDifferenceViewApplication.st,v 1.5 2012-06-06 09:46:59 cg Exp $'
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
version_CVS
11564
67a8e0885c2c changed: #doSearch
Claus Gittinger <cg@exept.de>
parents: 11123
diff changeset
   521
    ^ '$Header: /cvs/stx/stx/libtool/DirectoryDifferenceViewApplication.st,v 1.5 2012-06-06 09:46:59 cg Exp $'
11105
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
! !