DirectoryDifferenceViewApplication.st
author Claus Gittinger <cg@exept.de>
Thu, 12 Jan 2012 02:53:26 +0100
changeset 11105 7983da617733
child 11116 86de3247a42f
permissions -rw-r--r--
initial checkin
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
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
		directoriesOnlyInDirectory2'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	classVariableNames:''
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	poolDictionaries:''
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
	category:'Interface-Tools-File'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!
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
!DirectoryDifferenceViewApplication class methodsFor:'interface specs'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
    "This resource specification was automatically generated
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
     by the UIPainter of ST/X."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
    "Do not manually edit this!! If it is corrupted,
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
     the UIPainter may not be able to read the specification."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
     UIPainter new openOnClass:DirectoryDifferenceViewApplication andSelector:#windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
     DirectoryDifferenceViewApplication new openInterface:#windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
     DirectoryDifferenceViewApplication open
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
    <resource: #canvas>
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
    ^ 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
     #(FullSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
        name: windowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
        window: 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
       (WindowSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
          label: 'Directory Diff'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
          name: 'Directory Diff'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
          min: (Point 377 131)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
          bounds: (Rectangle 0 0 758 512)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
        )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
        component: 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
       (SpecCollection
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
          collection: (
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
           (MenuPanelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
              name: 'ToolBar1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
              layout: (LayoutFrame 0 0.0 0 0 0 1.0 32 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
              level: 0
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
              menu: searchMenu
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
              textDefault: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
            )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
           (ProgressIndicatorSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
              name: 'ProgressIndicator1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
              layout: (LayoutFrame 125 0 11 0 231 0 21 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
              visibilityChannel: enableStop
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
              backgroundColor: (Color 0.0 66.9993133440146 66.9993133440146)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
              showPercentage: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
              isActivityIndicator: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
            )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
           (ViewSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
              name: 'Box1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
              layout: (LayoutFrame 0 0.0 32 0 0 1.0 130 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
              component: 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
             (SpecCollection
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
                collection: (
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
                 (LabelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
                    label: 'Directory1:'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
                    name: 'DirectoryLabel'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
                    layout: (LayoutFrame 2 0 7 0 154 0 24 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
                    activeHelpKey: searchDirectory
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
                    adjust: right
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
                 (FilenameInputFieldSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
                    name: 'DirectoryEntryField'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
                    layout: (LayoutFrame 156 0 4 0 0 1 24 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
                    activeHelpKey: searchDirectory
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
                    model: directory1Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
                    immediateAccept: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
                    acceptOnPointerLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
                 (LabelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
                    label: 'Directory2:'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
                    name: 'Label2'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
                    layout: (LayoutFrame 2 0 31 0 154 0 48 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
                    activeHelpKey: searchDirectory
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
                    adjust: right
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
                 (FilenameInputFieldSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
                    name: 'FilenameEntryField1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
                    layout: (LayoutFrame 156 0 28 0 0 1 48 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
                    activeHelpKey: searchDirectory
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
                    model: directory2Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
                    immediateAccept: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
                    acceptOnPointerLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
                 (LabelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
                    label: 'Compare Files Named:'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
                    name: 'FileNameLabel'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
                    layout: (LayoutFrame 2 0 55 0 154 0 72 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
                    activeHelpKey: namePattern
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
                    adjust: right
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
                 (InputFieldSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
                    name: 'FileNameEntryField'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
                    layout: (LayoutFrame 156 0 52 0 -315 1 72 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
                    activeHelpKey: namePattern
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
                    tabable: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
                    model: namePatternHolder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
                    immediateAccept: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
                    acceptOnLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
                    acceptOnPointerLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
                 (CheckBoxSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
                    label: 'Ignore Case'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
                    name: 'IgnoreCaseInNameCheckBox'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
                    layout: (LayoutFrame -169 1 53 0 -4 1 76 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
                    activeHelpKey: ignoreCase
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
                    tabable: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
                    model: ignoreCaseInName
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
                 (LabelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
                    label: 'But Not Named:'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
                    name: 'Label1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
                    layout: (LayoutFrame 2 0 79 0 154 0 96 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
                    activeHelpKey: namePattern
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
                    adjust: right
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
                 (InputFieldSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
                    name: 'EntryField1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
                    layout: (LayoutFrame 156 0 76 0 -315 1 96 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
                    activeHelpKey: namePattern
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
                    tabable: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
                    model: excludedNamePatternHolder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
                    immediateAccept: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
                    acceptOnLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
                    acceptOnPointerLeave: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
                 (CheckBoxSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
                    label: 'Ignore Case'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
                    name: 'CheckBox1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
                    layout: (LayoutFrame -169 1 77 0 -4 1 100 0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
                    activeHelpKey: ignoreCase
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
                    tabable: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
                    model: ignoreCaseInExcludedName
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
                    translateLabel: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
                 )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
               
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
              )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
            )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
           (VariableVerticalPanelSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
              name: 'VariableVerticalPanel1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
              layout: (LayoutFrame 0 0.0 140 0 0 1.0 0 1)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
              component: 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
             (SpecCollection
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
                collection: (
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
                 (DataSetSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
                    name: 'Table1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
                    model: selectionHolder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
                    hasHorizontalScrollBar: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
                    hasVerticalScrollBar: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
                    dataList: matchedFilesList
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
                    doubleClickSelector: fileDoubleClick:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
                    columnHolder: searchResultTable
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
                    valueChangeSelector: fileSelected:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
                    multipleSelectOk: true
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
                 (NonScrollableArbitraryComponentSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
                    name: 'NonScrollableArbitraryComponent1'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
                    component: DiffTextView
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
                  )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
                 )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
               
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
              )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
              handles: (Any 0.5 1.0)
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
            )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
           )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
         
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
        )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
      )
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
!DirectoryDifferenceViewApplication class methodsFor:'tableColumns specs'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
searchResultTable
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
    "This resource specification was automatically generated
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
     by the DataSetBuilder of ST/X."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
    "Do not manually edit this!! If it is corrupted,
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
     the DataSetBuilder may not be able to read the specification."
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
     DataSetBuilder new openOnClass:DirectoryDifferenceViewApplication andSelector:#searchResultTable
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
    "
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
    <resource: #tableColumns>
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
    ^#(
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
      (DataSetColumnSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
         label: 'Filename'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
         id: 'FileName'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
         labelButtonType: Button
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
         model: at:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
         menuFromApplication: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
         writeSelector: at:put:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
         showRowSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
         showColSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
       )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
      (DataSetColumnSpec
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
         label: 'Diff'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
         id: 'Diff'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
         labelButtonType: Button
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
         model: at:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
         menuFromApplication: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
         writeSelector: at:put:
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
         showRowSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
         showColSeparator: false
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
       )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
      )
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
    
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
!DirectoryDifferenceViewApplication methodsFor:'accessing'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
directory1:directory1Arg directory2:directory2Arg 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
    self directory1Holder value:directory1Arg.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
    self directory2Holder value:directory2Arg.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
"/    self namePatternHolder value:newPattern.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
    self enableStop value:false.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
    self enableSearch value:true.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
    ^ true.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
    "Modified: / 12-01-2012 / 01:36:54 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
directory1Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
    directory1Holder isNil ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
        directory1Holder := nil asValue
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
    ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
    ^ directory1Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
    "Created: / 12-01-2012 / 01:37:31 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
directory2Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
    directory2Holder isNil ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
        directory2Holder := nil asValue
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
    ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
    ^ directory2Holder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
    "Created: / 12-01-2012 / 01:37:41 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
!DirectoryDifferenceViewApplication methodsFor:'comparing'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
doSearch
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
    |dir1 dir2|
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
    filesOnlyInDirectory1 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
    filesOnlyInDirectory2 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
    directoriesOnlyInDirectory1 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
    directoriesOnlyInDirectory2 := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
    filesWhichAreDifferent := OrderedCollection new.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
    dir1 := self directory1Holder value.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
    dir1 isNil ifTrue:[^ self].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
    dir2 := self directory2Holder value.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
    dir2 isNil ifTrue:[^ self].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
    dir1 := dir1 asFilename.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
    dir2 := dir2 asFilename.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
    self 
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
        startSearchTask:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
            self changeInformationTo:'Directory Diff - searching ' toTab:true.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
            self shownListHolder valueHolder:(self matchedFilesList).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
            dir1 recursiveDirectoryContentsDo:[:relFn1 |
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
                |fn1 fn2|
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
                fn1 := dir1 construct:relFn1.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
                fn2 := dir2 construct:relFn1.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
                fn1 isDirectory ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
                    self notify:('Comparing %1...' bindWith:relFn1 asString allBold).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
                    fn2 exists ifFalse:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
                        directoriesOnlyInDirectory1 add:fn1.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
                        self matchedFilesList add:{ relFn1 . 'Directory only in directory1' }.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
                    ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
                ] ifFalse:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
                    fn2 exists ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
                        (fn1 sameContentsAs:fn2) ifFalse:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
                            filesWhichAreDifferent add:fn1.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
                            self matchedFilesList add:{ relFn1 . 'Different' }.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
                        ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
                    ] ifFalse:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
                        filesOnlyInDirectory1 add:fn1.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
                        self matchedFilesList add:{ relFn1 . 'File only in directory1' }.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
                    ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
                ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
            dir2 recursiveDirectoryContentsDo:[:relFn2 |
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
                |fn1 fn2|
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
                fn2 := dir2 construct:relFn2.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
                fn1 := dir1 construct:relFn2.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
                fn1 exists ifFalse:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
                    fn1 isDirectory ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
                        directoriesOnlyInDirectory1 add:fn1.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
                        self matchedFilesList add:{ relFn2 . 'Directory only in directory2' }.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
                    ] ifFalse:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
                        filesOnlyInDirectory2 add:fn2.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
                        self matchedFilesList add:{ relFn2 . 'File only in directory2' }.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
                    ]
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
                ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
            filesOnlyInDirectory1 notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
                Transcript showCR:('%1 files only in directory1' bindWith:filesOnlyInDirectory1 size).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
            filesOnlyInDirectory2 notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
                Transcript showCR:('%1 files only in directory2' bindWith:filesOnlyInDirectory2 size).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
            directoriesOnlyInDirectory1 notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
                Transcript showCR:('%1 directories only in directory1' bindWith:directoriesOnlyInDirectory1 size).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
            directoriesOnlyInDirectory2 notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
                Transcript showCR:('%1 directories only in directory2' bindWith:directoriesOnlyInDirectory2 size).
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
            ].
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
            filesWhichAreDifferent notEmpty ifTrue:[
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
                Transcript showCR:('%1 files are different' bindWith:filesWhichAreDifferent size).
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
        name:'Directory Diff'.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
    "Created: / 12-01-2012 / 01:07:20 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
!DirectoryDifferenceViewApplication methodsFor:'startup & release'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
postOpenWith:aBuilder
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
    super postOpenWith:aBuilder.
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
    self doSearch
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
    "Created: / 12-01-2012 / 01:41:18 / cg"
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
! !
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
!DirectoryDifferenceViewApplication class methodsFor:'documentation'!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
version
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
    ^ '$Header: /cvs/stx/stx/libtool/DirectoryDifferenceViewApplication.st,v 1.1 2012-01-12 01:53:26 cg Exp $'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
!
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
version_CVS
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
    ^ '$Header: /cvs/stx/stx/libtool/DirectoryDifferenceViewApplication.st,v 1.1 2012-01-12 01:53:26 cg Exp $'
7983da617733 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
! !