FileSelectionItem.st
author Claus Gittinger <cg@exept.de>
Tue, 22 Aug 2000 00:45:39 +0200
changeset 1818 fe99c5c721e9
parent 1269 f33ad4d38b5b
child 2037 585a0bbb9f7f
permissions -rw-r--r--
category changes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
486
d981d312947d intitial checkin
ca
parents:
diff changeset
     1
"
489
45b03c9e0277 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 486
diff changeset
     2
 COPYRIGHT (c) 1997 by eXept Software AG
486
d981d312947d intitial checkin
ca
parents:
diff changeset
     3
              All Rights Reserved
d981d312947d intitial checkin
ca
parents:
diff changeset
     4
d981d312947d intitial checkin
ca
parents:
diff changeset
     5
 This software is furnished under a license and may be used
d981d312947d intitial checkin
ca
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
d981d312947d intitial checkin
ca
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
d981d312947d intitial checkin
ca
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
d981d312947d intitial checkin
ca
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
d981d312947d intitial checkin
ca
parents:
diff changeset
    10
 hereby transferred.
d981d312947d intitial checkin
ca
parents:
diff changeset
    11
"
d981d312947d intitial checkin
ca
parents:
diff changeset
    12
d981d312947d intitial checkin
ca
parents:
diff changeset
    13
d981d312947d intitial checkin
ca
parents:
diff changeset
    14
1818
fe99c5c721e9 category changes
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
    15
"{ Package: 'stx:libwidg2' }"
fe99c5c721e9 category changes
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
    16
486
d981d312947d intitial checkin
ca
parents:
diff changeset
    17
TreeItem subclass:#FileSelectionItem
786
ca
parents: 731
diff changeset
    18
	instanceVariableNames:'modificationTime matchAction isDirectory imageType showIndicator'
486
d981d312947d intitial checkin
ca
parents:
diff changeset
    19
	classVariableNames:''
d981d312947d intitial checkin
ca
parents:
diff changeset
    20
	poolDictionaries:''
d981d312947d intitial checkin
ca
parents:
diff changeset
    21
	category:'Interface-Support'
d981d312947d intitial checkin
ca
parents:
diff changeset
    22
!
d981d312947d intitial checkin
ca
parents:
diff changeset
    23
d981d312947d intitial checkin
ca
parents:
diff changeset
    24
FileSelectionItem subclass:#Directory
d981d312947d intitial checkin
ca
parents:
diff changeset
    25
	instanceVariableNames:''
d981d312947d intitial checkin
ca
parents:
diff changeset
    26
	classVariableNames:''
d981d312947d intitial checkin
ca
parents:
diff changeset
    27
	poolDictionaries:''
d981d312947d intitial checkin
ca
parents:
diff changeset
    28
	privateIn:FileSelectionItem
d981d312947d intitial checkin
ca
parents:
diff changeset
    29
!
d981d312947d intitial checkin
ca
parents:
diff changeset
    30
d981d312947d intitial checkin
ca
parents:
diff changeset
    31
FileSelectionItem subclass:#File
d981d312947d intitial checkin
ca
parents:
diff changeset
    32
	instanceVariableNames:''
d981d312947d intitial checkin
ca
parents:
diff changeset
    33
	classVariableNames:''
d981d312947d intitial checkin
ca
parents:
diff changeset
    34
	poolDictionaries:''
d981d312947d intitial checkin
ca
parents:
diff changeset
    35
	privateIn:FileSelectionItem
d981d312947d intitial checkin
ca
parents:
diff changeset
    36
!
d981d312947d intitial checkin
ca
parents:
diff changeset
    37
d981d312947d intitial checkin
ca
parents:
diff changeset
    38
!FileSelectionItem class methodsFor:'documentation'!
d981d312947d intitial checkin
ca
parents:
diff changeset
    39
d981d312947d intitial checkin
ca
parents:
diff changeset
    40
copyright
d981d312947d intitial checkin
ca
parents:
diff changeset
    41
"
489
45b03c9e0277 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 486
diff changeset
    42
 COPYRIGHT (c) 1997 by eXept Software AG
486
d981d312947d intitial checkin
ca
parents:
diff changeset
    43
              All Rights Reserved
d981d312947d intitial checkin
ca
parents:
diff changeset
    44
d981d312947d intitial checkin
ca
parents:
diff changeset
    45
 This software is furnished under a license and may be used
d981d312947d intitial checkin
ca
parents:
diff changeset
    46
 only in accordance with the terms of that license and with the
d981d312947d intitial checkin
ca
parents:
diff changeset
    47
 inclusion of the above copyright notice.   This software may not
d981d312947d intitial checkin
ca
parents:
diff changeset
    48
 be provided or otherwise made available to, or used by, any
d981d312947d intitial checkin
ca
parents:
diff changeset
    49
 other person.  No title to or ownership of the software is
d981d312947d intitial checkin
ca
parents:
diff changeset
    50
 hereby transferred.
d981d312947d intitial checkin
ca
parents:
diff changeset
    51
"
d981d312947d intitial checkin
ca
parents:
diff changeset
    52
d981d312947d intitial checkin
ca
parents:
diff changeset
    53
d981d312947d intitial checkin
ca
parents:
diff changeset
    54
!
d981d312947d intitial checkin
ca
parents:
diff changeset
    55
d981d312947d intitial checkin
ca
parents:
diff changeset
    56
documentation
d981d312947d intitial checkin
ca
parents:
diff changeset
    57
"
d981d312947d intitial checkin
ca
parents:
diff changeset
    58
    class to build up file trees like structures. You can define your own
d981d312947d intitial checkin
ca
parents:
diff changeset
    59
    icons and filter. Redefinging the icons you have to look especially for
d981d312947d intitial checkin
ca
parents:
diff changeset
    60
    this methods:
d981d312947d intitial checkin
ca
parents:
diff changeset
    61
786
ca
parents: 731
diff changeset
    62
        class method:           keysAndIcons      : returns a list of icons and access keys used
486
d981d312947d intitial checkin
ca
parents:
diff changeset
    63
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
    64
        instance method:        imageType         : get type of icon assigned to file
486
d981d312947d intitial checkin
ca
parents:
diff changeset
    65
786
ca
parents: 731
diff changeset
    66
                                icon              : get the type of image to be drawn
486
d981d312947d intitial checkin
ca
parents:
diff changeset
    67
d981d312947d intitial checkin
ca
parents:
diff changeset
    68
    Especially suited for use with FileSelectionTree.
d981d312947d intitial checkin
ca
parents:
diff changeset
    69
d981d312947d intitial checkin
ca
parents:
diff changeset
    70
    [Author:]
d981d312947d intitial checkin
ca
parents:
diff changeset
    71
        Claus Atzkern
d981d312947d intitial checkin
ca
parents:
diff changeset
    72
d981d312947d intitial checkin
ca
parents:
diff changeset
    73
    [See also:]
d981d312947d intitial checkin
ca
parents:
diff changeset
    74
        TreeItem
d981d312947d intitial checkin
ca
parents:
diff changeset
    75
        FileSelectionTree
d981d312947d intitial checkin
ca
parents:
diff changeset
    76
"
d981d312947d intitial checkin
ca
parents:
diff changeset
    77
! !
d981d312947d intitial checkin
ca
parents:
diff changeset
    78
d981d312947d intitial checkin
ca
parents:
diff changeset
    79
!FileSelectionItem class methodsFor:'instance creation'!
d981d312947d intitial checkin
ca
parents:
diff changeset
    80
d981d312947d intitial checkin
ca
parents:
diff changeset
    81
pathName:aPath
d981d312947d intitial checkin
ca
parents:
diff changeset
    82
    "create a new node entry associated with the full pathname, aPath
d981d312947d intitial checkin
ca
parents:
diff changeset
    83
    "
d981d312947d intitial checkin
ca
parents:
diff changeset
    84
    |node|
d981d312947d intitial checkin
ca
parents:
diff changeset
    85
d981d312947d intitial checkin
ca
parents:
diff changeset
    86
    node := self new.
d981d312947d intitial checkin
ca
parents:
diff changeset
    87
    node pathName:aPath.
d981d312947d intitial checkin
ca
parents:
diff changeset
    88
  ^ node
d981d312947d intitial checkin
ca
parents:
diff changeset
    89
d981d312947d intitial checkin
ca
parents:
diff changeset
    90
d981d312947d intitial checkin
ca
parents:
diff changeset
    91
! !
d981d312947d intitial checkin
ca
parents:
diff changeset
    92
d981d312947d intitial checkin
ca
parents:
diff changeset
    93
!FileSelectionItem class methodsFor:'accessing class'!
d981d312947d intitial checkin
ca
parents:
diff changeset
    94
731
05ea1ee08afb checkin from browser
ca
parents: 569
diff changeset
    95
filterClassForDirectoriesOnly
486
d981d312947d intitial checkin
ca
parents:
diff changeset
    96
    ^ Directory
d981d312947d intitial checkin
ca
parents:
diff changeset
    97
!
d981d312947d intitial checkin
ca
parents:
diff changeset
    98
731
05ea1ee08afb checkin from browser
ca
parents: 569
diff changeset
    99
filterClassForFilesOnly
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   100
    ^ File
d981d312947d intitial checkin
ca
parents:
diff changeset
   101
! !
d981d312947d intitial checkin
ca
parents:
diff changeset
   102
d981d312947d intitial checkin
ca
parents:
diff changeset
   103
!FileSelectionItem class methodsFor:'converting'!
d981d312947d intitial checkin
ca
parents:
diff changeset
   104
d981d312947d intitial checkin
ca
parents:
diff changeset
   105
asFilename:aPathname
d981d312947d intitial checkin
ca
parents:
diff changeset
   106
    "convert pathname to an absolute path
d981d312947d intitial checkin
ca
parents:
diff changeset
   107
    "
d981d312947d intitial checkin
ca
parents:
diff changeset
   108
    |path|
d981d312947d intitial checkin
ca
parents:
diff changeset
   109
d981d312947d intitial checkin
ca
parents:
diff changeset
   110
    path := aPathname asString.
d981d312947d intitial checkin
ca
parents:
diff changeset
   111
d981d312947d intitial checkin
ca
parents:
diff changeset
   112
    (path size > 1 and:[path endsWith:(Filename separator)]) ifTrue:[
1139
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   113
        ^ (path copyWithoutLast:1) asFilename.
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   114
    ].
d981d312947d intitial checkin
ca
parents:
diff changeset
   115
  ^ aPathname asFilename
1139
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   116
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   117
    "Modified: / 24.9.1998 / 15:33:50 / cg"
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   118
! !
d981d312947d intitial checkin
ca
parents:
diff changeset
   119
786
ca
parents: 731
diff changeset
   120
!FileSelectionItem class methodsFor:'default icons'!
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   121
786
ca
parents: 731
diff changeset
   122
keysAndIcons
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   123
    "returns an IdentityDictionary containing a list of images and keys used
d981d312947d intitial checkin
ca
parents:
diff changeset
   124
     by any file entry.
d981d312947d intitial checkin
ca
parents:
diff changeset
   125
    "
d981d312947d intitial checkin
ca
parents:
diff changeset
   126
    |icons image|
d981d312947d intitial checkin
ca
parents:
diff changeset
   127
d981d312947d intitial checkin
ca
parents:
diff changeset
   128
    icons := IdentityDictionary new.
d981d312947d intitial checkin
ca
parents:
diff changeset
   129
d981d312947d intitial checkin
ca
parents:
diff changeset
   130
    #(
d981d312947d intitial checkin
ca
parents:
diff changeset
   131
        (#directory       'tiny_yellow_dir.xpm')
d981d312947d intitial checkin
ca
parents:
diff changeset
   132
        (#directoryOpened 'tiny_yellow_dir_open.xpm')
d981d312947d intitial checkin
ca
parents:
diff changeset
   133
        (#directoryLocked 'tiny_yellow_dir_locked.xpm')
d981d312947d intitial checkin
ca
parents:
diff changeset
   134
        (#directoryLink   'tiny_yellow_dir_link.xpm'  )
d981d312947d intitial checkin
ca
parents:
diff changeset
   135
d981d312947d intitial checkin
ca
parents:
diff changeset
   136
        (#file            'tiny_file_plain.xpm'       )
d981d312947d intitial checkin
ca
parents:
diff changeset
   137
        (#fileLink        'tiny_file_link.xpm'        )
d981d312947d intitial checkin
ca
parents:
diff changeset
   138
        (#fileLocked      'tiny_file_lock.xpm'        )
d981d312947d intitial checkin
ca
parents:
diff changeset
   139
        (#imageFile       'tiny_file_pix.xpm'         )
d981d312947d intitial checkin
ca
parents:
diff changeset
   140
d981d312947d intitial checkin
ca
parents:
diff changeset
   141
     ) do:[:el |
d981d312947d intitial checkin
ca
parents:
diff changeset
   142
        image := Image fromFile:('xpmBitmaps/document_images/', el last ).
786
ca
parents: 731
diff changeset
   143
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   144
        image notNil ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   145
            icons at:(el first) put:image.
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   146
        ]
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   147
    ].
d981d312947d intitial checkin
ca
parents:
diff changeset
   148
  ^ icons
d981d312947d intitial checkin
ca
parents:
diff changeset
   149
d981d312947d intitial checkin
ca
parents:
diff changeset
   150
d981d312947d intitial checkin
ca
parents:
diff changeset
   151
! !
d981d312947d intitial checkin
ca
parents:
diff changeset
   152
d981d312947d intitial checkin
ca
parents:
diff changeset
   153
!FileSelectionItem methodsFor:'accessing'!
d981d312947d intitial checkin
ca
parents:
diff changeset
   154
d981d312947d intitial checkin
ca
parents:
diff changeset
   155
children
d981d312947d intitial checkin
ca
parents:
diff changeset
   156
    "get's list of children
d981d312947d intitial checkin
ca
parents:
diff changeset
   157
    "
786
ca
parents: 731
diff changeset
   158
    readChildren ifTrue:[
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   159
        children := self readInChildren
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   160
    ].
d981d312947d intitial checkin
ca
parents:
diff changeset
   161
  ^ children
d981d312947d intitial checkin
ca
parents:
diff changeset
   162
!
d981d312947d intitial checkin
ca
parents:
diff changeset
   163
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   164
fileName
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   165
    "returns the fileName of node
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   166
    "
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   167
    ^ contents
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   168
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   169
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   170
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   171
!
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   172
786
ca
parents: 731
diff changeset
   173
icon
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   174
    "returns type of image to be drawn
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   175
    "
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   176
    (children size ~~ 0 and:[hide == false]) ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   177
        ^ #directoryOpened
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   178
    ].
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   179
    ^ self imageType
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   180
!
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   181
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   182
match:aOneArgBlock
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   183
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   184
    aOneArgBlock isNil ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   185
        self discardFiles ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   186
            matchAction := [:aFile :isDirectory| isDirectory ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   187
        ] ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   188
            self discardDirectories ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   189
                matchAction := [:aFile :isDirectory| isDirectory not ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   190
            ] ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   191
                matchAction := [:aFile :isDir| true ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   192
            ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   193
        ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   194
    ] ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   195
        self discardFiles ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   196
            matchAction := [:aFile :isDirectory| (isDirectory and:[aOneArgBlock value:aFile]) ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   197
        ] ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   198
            self discardDirectories ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   199
                matchAction := [:aFile :isDirectory| (isDirectory not and:[aOneArgBlock value:aFile]) ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   200
            ] ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   201
                matchAction := [:aFile :isDir| aOneArgBlock value:aFile ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   202
            ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   203
        ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   204
    ]    
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   205
!
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   206
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   207
pathName
d981d312947d intitial checkin
ca
parents:
diff changeset
   208
    "returns full pathname of node
d981d312947d intitial checkin
ca
parents:
diff changeset
   209
    "
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   210
    ^ contents asString
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   211
d981d312947d intitial checkin
ca
parents:
diff changeset
   212
d981d312947d intitial checkin
ca
parents:
diff changeset
   213
!
d981d312947d intitial checkin
ca
parents:
diff changeset
   214
d981d312947d intitial checkin
ca
parents:
diff changeset
   215
pathName:aPathname
d981d312947d intitial checkin
ca
parents:
diff changeset
   216
    "initialze attributes associated with the full pathname, aPathname
d981d312947d intitial checkin
ca
parents:
diff changeset
   217
    "
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   218
    |file|
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   219
1139
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   220
"/    file := self class asFilename:aPathname.
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   221
    file := aPathname asFilename pathName asFilename.
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   222
    self 
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   223
        fileName:file 
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   224
        baseName:(file baseName) 
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   225
        parent:nil 
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   226
        isDirectory:(file isDirectory)
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   227
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   228
    "Modified: / 24.9.1998 / 16:02:53 / cg"
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   229
! !
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   230
1818
fe99c5c721e9 category changes
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
   231
!FileSelectionItem methodsFor:'accessing-hierarchy'!
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   232
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   233
collapse
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   234
    "check to release children
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   235
    "
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   236
    self stopIndicatorValidation.
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   237
    hide := true.
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   238
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   239
    children notEmpty ifTrue:[
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   240
        children do:[:aChild|
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   241
            aChild releaseCollapsedChildren ifFalse:[ ^ self ]
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   242
        ].
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   243
        self canReleaseChildren ifTrue:[
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   244
            self releaseChildren
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   245
        ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   246
    ]
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   247
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   248
!
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   249
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   250
collapseAll
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   251
    "release my childrens
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   252
    "
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   253
    self stopIndicatorValidation.
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   254
    hide := true.
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   255
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   256
    children notEmpty ifTrue:[
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   257
        self canReleaseChildren ifTrue:[
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   258
            self releaseChildren
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   259
        ] ifFalse:[
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   260
            children do:[:c| c releaseChildren ]
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   261
        ]
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   262
    ].
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   263
844
0984af742b46 disable expandAll for a FileItem
ca
parents: 811
diff changeset
   264
!
0984af742b46 disable expandAll for a FileItem
ca
parents: 811
diff changeset
   265
0984af742b46 disable expandAll for a FileItem
ca
parents: 811
diff changeset
   266
expandAll
0984af742b46 disable expandAll for a FileItem
ca
parents: 811
diff changeset
   267
    "not allowed for a file directory
0984af742b46 disable expandAll for a FileItem
ca
parents: 811
diff changeset
   268
    "
0984af742b46 disable expandAll for a FileItem
ca
parents: 811
diff changeset
   269
    self expand
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   270
! !
d981d312947d intitial checkin
ca
parents:
diff changeset
   271
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   272
!FileSelectionItem methodsFor:'private'!
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   273
1139
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   274
childFileName:aFilename baseName:aBaseName parent:aParent isDirectory:aBool matchAction:mA
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   275
    "initialze attributes associated with the full pathname, aPathname.
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   276
     Same as #fileName:baseName:parent:isDirectory:,
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   277
     but used only for children (i.e. no need to check for
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   278
     being a rootDirectory).
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   279
    "
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   280
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   281
    contents    := aFilename.
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   282
    name        := aBaseName.
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   283
    parent      := aParent.
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   284
    isDirectory := readChildren := aBool.
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   285
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   286
    isDirectory ifFalse:[
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   287
        showIndicator := false
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   288
    ] ifTrue:[
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   289
        showIndicator := nil
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   290
    ].
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   291
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   292
    matchAction := mA
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   293
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   294
    "Modified: / 24.9.1998 / 14:10:38 / cg"
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   295
    "Created: / 24.9.1998 / 15:51:58 / cg"
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   296
!
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   297
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   298
directoryIsLocked
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   299
    ^ self imageType == #directoryLocked
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   300
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   301
    "Created: / 24.9.1998 / 14:22:08 / cg"
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   302
!
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   303
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   304
fileName:aFilename baseName:aBaseName parent:aParent isDirectory:aBool
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   305
    "initialze attributes associated with the full pathname, aPathname
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   306
    "
1139
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   307
    |f|
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   308
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   309
    contents    := aFilename.
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   310
    (f := aFilename asFilename) isRootDirectory ifTrue:[
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   311
        name := f name.
1144
a96b22aea1f4 volume stuff (win32)
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   312
"/        (name endsWith:Filename separator) ifTrue:[
a96b22aea1f4 volume stuff (win32)
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   313
"/            name ~= Filename separator asString ifTrue:[
a96b22aea1f4 volume stuff (win32)
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   314
"/                name := name copyWithoutLast:1.
a96b22aea1f4 volume stuff (win32)
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   315
"/            ]
a96b22aea1f4 volume stuff (win32)
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   316
"/        ]
1139
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   317
    ] ifFalse:[
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   318
        name        := aBaseName.
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   319
    ].
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   320
    parent      := aParent.
786
ca
parents: 731
diff changeset
   321
    isDirectory := readChildren := aBool.
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   322
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   323
    isDirectory ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   324
        showIndicator := false
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   325
    ] ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   326
        showIndicator := nil
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   327
    ].
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   328
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   329
    parent notNil ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   330
        matchAction := parent matchAction       "/ same as from parent
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   331
    ] ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   332
        self match:nil                          "/ setup matchAction new
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   333
    ]
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   334
1144
a96b22aea1f4 volume stuff (win32)
Claus Gittinger <cg@exept.de>
parents: 1141
diff changeset
   335
    "Modified: / 24.9.1998 / 19:19:57 / cg"
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   336
!
d981d312947d intitial checkin
ca
parents:
diff changeset
   337
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   338
matchAction
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   339
    "returns my match action
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   340
    "
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   341
    ^ matchAction
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   342
!
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   343
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   344
releaseChildren
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   345
    "release my childrens without tests and deregistration from
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   346
     update task
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   347
    "
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   348
    hide := true.
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   349
    readChildren := true.
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   350
    modificationTime := nil.
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   351
    children := OrderedCollection new.
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   352
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   353
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   354
!
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   355
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   356
stopIndicatorValidation
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   357
    "called to stop indicator validation on each child
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   358
    "
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   359
    |model|
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   360
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   361
    (hide or:[children isEmpty]) ifFalse:[
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   362
        (model := self model) notNil ifTrue:[
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   363
            children do:[:c| c stopIndicatorValidation:model ].
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   364
            model stopIndicatorValidationFor:children
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   365
        ]
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   366
    ]
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   367
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   368
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   369
!
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   370
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   371
stopIndicatorValidation:aModel
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   372
    "called to stop indicator validation on each child
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   373
    "
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   374
    (hide or:[children isEmpty]) ifFalse:[
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   375
        children do:[:c| c stopIndicatorValidation:aModel ].
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   376
        aModel stopIndicatorValidationFor:children
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   377
    ]
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   378
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   379
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   380
! !
d981d312947d intitial checkin
ca
parents:
diff changeset
   381
901
0e090a691095 add one more method which can be redefined by subclass
ca
parents: 844
diff changeset
   382
!FileSelectionItem methodsFor:'protected'!
0e090a691095 add one more method which can be redefined by subclass
ca
parents: 844
diff changeset
   383
0e090a691095 add one more method which can be redefined by subclass
ca
parents: 844
diff changeset
   384
isVisibleFile:aFilename isDirectory:isDirectory baseName:aBasename
0e090a691095 add one more method which can be redefined by subclass
ca
parents: 844
diff changeset
   385
    ^ matchAction value:aFilename value:isDirectory
0e090a691095 add one more method which can be redefined by subclass
ca
parents: 844
diff changeset
   386
! !
0e090a691095 add one more method which can be redefined by subclass
ca
parents: 844
diff changeset
   387
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   388
!FileSelectionItem methodsFor:'queries'!
d981d312947d intitial checkin
ca
parents:
diff changeset
   389
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   390
canReleaseChildren
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   391
    "returns true if children could be released
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   392
    "
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   393
    ^ (parent notNil and:[parent parent notNil])
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   394
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   395
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   396
!
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   397
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   398
discardDirectories
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   399
    "returns true if children are not type of directory; could be
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   400
     reimplemented for speed in any subclass
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   401
    "
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   402
    ^ false
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   403
!
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   404
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   405
discardFiles
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   406
    "returns true if children are not type of file; could be
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   407
     reimplemented for speed in any subclass
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   408
    "
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   409
    ^ false
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   410
!
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   411
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   412
hasChildren
d981d312947d intitial checkin
ca
parents:
diff changeset
   413
    "returns true if the pathname assigned to this node is a directory
d981d312947d intitial checkin
ca
parents:
diff changeset
   414
     otherwise false
d981d312947d intitial checkin
ca
parents:
diff changeset
   415
    "
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   416
    ^ isDirectory
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   417
d981d312947d intitial checkin
ca
parents:
diff changeset
   418
!
d981d312947d intitial checkin
ca
parents:
diff changeset
   419
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   420
hasValidIndicator
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   421
    "returns true if indication flag is uptodate
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   422
    "
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   423
    ^ showIndicator notNil
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   424
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   425
!
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   426
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   427
isDirectory
d981d312947d intitial checkin
ca
parents:
diff changeset
   428
    ^ isDirectory
d981d312947d intitial checkin
ca
parents:
diff changeset
   429
!
d981d312947d intitial checkin
ca
parents:
diff changeset
   430
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   431
releaseCollapsedChildren
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   432
    "release collapsed children
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   433
    "
1269
f33ad4d38b5b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1154
diff changeset
   434
    |canCollapse|
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   435
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   436
    children isEmpty ifTrue:[
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   437
        ^ true
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   438
    ].
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   439
    canCollapse := true.
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   440
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   441
    children do:[:aChild|
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   442
        aChild releaseCollapsedChildren ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   443
            canCollapse := false
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   444
        ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   445
    ].
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   446
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   447
    (canCollapse and:[self isExpandable]) ifTrue:[
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   448
        self canReleaseChildren ifTrue:[
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   449
            self releaseChildren.
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   450
          ^ true.
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   451
        ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   452
    ].
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   453
    ^ false
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   454
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   455
!
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   456
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   457
setShowIndicator:aBool
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   458
    "set indication; raise no change notification
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   459
    "
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   460
    showIndicator := aBool.
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   461
!
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   462
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   463
showIndicator
1154
41d487404200 only send change message if indicator changes from false->true and
Claus Gittinger <cg@exept.de>
parents: 1144
diff changeset
   464
    "returns true if the node is a non-empty directory.
41d487404200 only send change message if indicator changes from false->true and
Claus Gittinger <cg@exept.de>
parents: 1144
diff changeset
   465
     This information is gathered lazily: first, false is
41d487404200 only send change message if indicator changes from false->true and
Claus Gittinger <cg@exept.de>
parents: 1144
diff changeset
   466
     returned and indicatorValidation is started for mySelf;
41d487404200 only send change message if indicator changes from false->true and
Claus Gittinger <cg@exept.de>
parents: 1144
diff changeset
   467
     this will read directories in the background to avoid
41d487404200 only send change message if indicator changes from false->true and
Claus Gittinger <cg@exept.de>
parents: 1144
diff changeset
   468
     long startup delays (of my treeView)
786
ca
parents: 731
diff changeset
   469
    "
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   470
    |model|
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   471
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   472
    showIndicator isNil ifTrue:[
1139
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   473
        self directoryIsLocked ifTrue:[
786
ca
parents: 731
diff changeset
   474
            showIndicator := readChildren := false.
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   475
        ] ifFalse:[
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   476
            (model := self model) notNil ifTrue:[
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   477
                model startIndicatorValidationFor:self.
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   478
            ].
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   479
            ^ false
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   480
        ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   481
    ].
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   482
    ^ showIndicator
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   483
1154
41d487404200 only send change message if indicator changes from false->true and
Claus Gittinger <cg@exept.de>
parents: 1144
diff changeset
   484
    "Modified: / 26.9.1998 / 15:17:53 / cg"
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   485
!
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   486
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   487
showIndicator:aBool
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   488
    "indication might change; raise a change notification
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   489
    "
1154
41d487404200 only send change message if indicator changes from false->true and
Claus Gittinger <cg@exept.de>
parents: 1144
diff changeset
   490
    |prev|
41d487404200 only send change message if indicator changes from false->true and
Claus Gittinger <cg@exept.de>
parents: 1144
diff changeset
   491
41d487404200 only send change message if indicator changes from false->true and
Claus Gittinger <cg@exept.de>
parents: 1144
diff changeset
   492
    prev := showIndicator ? false.
41d487404200 only send change message if indicator changes from false->true and
Claus Gittinger <cg@exept.de>
parents: 1144
diff changeset
   493
    showIndicator := aBool.
41d487404200 only send change message if indicator changes from false->true and
Claus Gittinger <cg@exept.de>
parents: 1144
diff changeset
   494
    prev ~~ aBool ifTrue:[
41d487404200 only send change message if indicator changes from false->true and
Claus Gittinger <cg@exept.de>
parents: 1144
diff changeset
   495
    "/ self showIndicator ~~ aBool ifTrue:[
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   496
        self changed:#indication
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   497
    ].
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   498
1154
41d487404200 only send change message if indicator changes from false->true and
Claus Gittinger <cg@exept.de>
parents: 1144
diff changeset
   499
    "Modified: / 28.9.1998 / 11:14:30 / cg"
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   500
! !
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   501
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   502
!FileSelectionItem methodsFor:'repair mechanism'!
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   503
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   504
hasObsoleteNodes
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   505
    "check whether node or any child node is obsolete
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   506
    "
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   507
    modificationTime notNil ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   508
        modificationTime < contents modificationTime ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   509
            ^ true
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   510
        ].
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   511
        (self discardDirectories or:[children isEmpty]) ifFalse:[
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   512
            children do:[:aChild| aChild hasObsoleteNodes ifTrue:[^ true]]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   513
        ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   514
    ].
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   515
    ^ false
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   516
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   517
!
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   518
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   519
repairObsoleteNodes
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   520
    "repair nodes
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   521
    "
1269
f33ad4d38b5b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1154
diff changeset
   522
    |list hasChanged|
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   523
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   524
    modificationTime isNil ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   525
        ^ false
493
babd683808e3 prepare for toggle filter
ca
parents: 489
diff changeset
   526
    ].
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   527
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   528
    modificationTime < contents modificationTime ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   529
        list := self readInChildren.                    
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   530
        hasChanged := list size ~~ children size.
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   531
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   532
        children do:[:aChild||i|
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   533
            i := list findFirst:[:f| f name = aChild name ].
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   534
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   535
            i ~~ 0 ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   536
                list at:i put:aChild
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   537
            ] ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   538
                hasChanged := true
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   539
            ].
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   540
        ].
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   541
        hasChanged ifTrue:[
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   542
            self stopIndicatorValidation.
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   543
            children := list
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   544
        ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   545
    ] ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   546
        hasChanged := false
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   547
    ].
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   548
    children size ~~ 0 ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   549
        children do:[:aChild|
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   550
            (aChild repairObsoleteNodes) ifTrue:[hasChanged := true]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   551
        ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   552
    ].
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   553
    ^ self shown ifTrue:[hasChanged]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   554
                ifFalse:[false]
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   555
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   556
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   557
! !
d981d312947d intitial checkin
ca
parents:
diff changeset
   558
d981d312947d intitial checkin
ca
parents:
diff changeset
   559
!FileSelectionItem methodsFor:'update'!
d981d312947d intitial checkin
ca
parents:
diff changeset
   560
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   561
imageType
1139
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   562
    "return my icon-image type - a symbol"
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   563
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   564
    |readable|
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   565
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   566
    imageType isNil ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   567
        readable := contents isReadable.
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   568
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   569
        isDirectory ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   570
            (readable and:[contents isExecutable]) ifTrue:[
1139
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   571
                contents isSymbolicLink 
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   572
                    ifFalse:[imageType := #directory]
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   573
                    ifTrue:[imageType := #directoryLink]
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   574
            ] ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   575
                imageType := #directoryLocked
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   576
            ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   577
        ] ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   578
            readable ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   579
                imageType := #fileLocked
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   580
            ] ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   581
                contents isSymbolicLink ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   582
                    (Image isImageFileSuffix:(contents suffix)) ifFalse:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   583
                        imageType := #file
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   584
                    ] ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   585
                        imageType := #imageFile
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   586
                    ]
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   587
                ] ifTrue:[
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   588
                    imageType := #fileLink
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   589
                ]
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   590
            ]
d981d312947d intitial checkin
ca
parents:
diff changeset
   591
        ]
d981d312947d intitial checkin
ca
parents:
diff changeset
   592
    ].
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   593
    ^ imageType
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   594
1139
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   595
    "Modified: / 24.9.1998 / 15:47:38 / cg"
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   596
!
d981d312947d intitial checkin
ca
parents:
diff changeset
   597
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   598
readInChildren
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   599
    "read children from directory
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   600
    "
1269
f33ad4d38b5b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1154
diff changeset
   601
    |list directory|
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   602
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   603
    list := OrderedCollection new.
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   604
    readChildren  := false.
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   605
    showIndicator := false.
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   606
1139
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   607
    self directoryIsLocked ifFalse:[
1141
6484e896b1df more win fixes
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   608
        Cursor read showWhile:[
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   609
            directory := DirectoryContents directoryNamed:contents.
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   610
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   611
            directory isNil ifTrue:[
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   612
                self stopIndicatorValidation.
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   613
                self releaseChildren.
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   614
                imageType := #directoryLocked.
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   615
            ] ifFalse:[
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   616
                modificationTime := directory modificationTime.
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   617
901
0e090a691095 add one more method which can be redefined by subclass
ca
parents: 844
diff changeset
   618
                directory contentsAndBaseNamesDo:[:file :bname :isDir|
0e090a691095 add one more method which can be redefined by subclass
ca
parents: 844
diff changeset
   619
                    (self isVisibleFile:file isDirectory:isDir baseName:bname) ifTrue:[
1139
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   620
                        list add:(self class new 
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   621
                                    childFileName:file 
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   622
                                    baseName:bname 
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   623
                                    parent:self 
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   624
                                    isDirectory:isDir
465a6c941877 fixes for WIN32 (network drives and drive-volumes)
Claus Gittinger <cg@exept.de>
parents: 901
diff changeset
   625
                                     matchAction:matchAction)
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   626
                    ]
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   627
                ].
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   628
                showIndicator := list size ~~ 0.
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   629
            ]
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   630
        ]
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   631
    ].
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   632
  ^ list
811
a688e8f11bc6 async. reading of directory indicators
ca
parents: 786
diff changeset
   633
1141
6484e896b1df more win fixes
Claus Gittinger <cg@exept.de>
parents: 1139
diff changeset
   634
    "Modified: / 24.9.1998 / 17:51:48 / cg"
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   635
! !
d981d312947d intitial checkin
ca
parents:
diff changeset
   636
d981d312947d intitial checkin
ca
parents:
diff changeset
   637
!FileSelectionItem::Directory class methodsFor:'documentation'!
d981d312947d intitial checkin
ca
parents:
diff changeset
   638
d981d312947d intitial checkin
ca
parents:
diff changeset
   639
documentation
d981d312947d intitial checkin
ca
parents:
diff changeset
   640
"
d981d312947d intitial checkin
ca
parents:
diff changeset
   641
    subtype of FileSelectionItem only showing directories; more an example to show
d981d312947d intitial checkin
ca
parents:
diff changeset
   642
    how to implement filters
d981d312947d intitial checkin
ca
parents:
diff changeset
   643
d981d312947d intitial checkin
ca
parents:
diff changeset
   644
    [Author:]
d981d312947d intitial checkin
ca
parents:
diff changeset
   645
        Claus Atzkern
d981d312947d intitial checkin
ca
parents:
diff changeset
   646
d981d312947d intitial checkin
ca
parents:
diff changeset
   647
    [See also:]
d981d312947d intitial checkin
ca
parents:
diff changeset
   648
        FileSelectionItem
d981d312947d intitial checkin
ca
parents:
diff changeset
   649
"
d981d312947d intitial checkin
ca
parents:
diff changeset
   650
d981d312947d intitial checkin
ca
parents:
diff changeset
   651
! !
d981d312947d intitial checkin
ca
parents:
diff changeset
   652
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   653
!FileSelectionItem::Directory methodsFor:'queries'!
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   654
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   655
discardFiles
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   656
    ^ true
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   657
! !
d981d312947d intitial checkin
ca
parents:
diff changeset
   658
d981d312947d intitial checkin
ca
parents:
diff changeset
   659
!FileSelectionItem::File class methodsFor:'documentation'!
d981d312947d intitial checkin
ca
parents:
diff changeset
   660
d981d312947d intitial checkin
ca
parents:
diff changeset
   661
documentation
d981d312947d intitial checkin
ca
parents:
diff changeset
   662
"
d981d312947d intitial checkin
ca
parents:
diff changeset
   663
    subtype of FileSelectionItem only showing files; more an example to show
d981d312947d intitial checkin
ca
parents:
diff changeset
   664
    how to implement filters
d981d312947d intitial checkin
ca
parents:
diff changeset
   665
d981d312947d intitial checkin
ca
parents:
diff changeset
   666
    [Author:]
d981d312947d intitial checkin
ca
parents:
diff changeset
   667
        Claus Atzkern
d981d312947d intitial checkin
ca
parents:
diff changeset
   668
d981d312947d intitial checkin
ca
parents:
diff changeset
   669
    [See also:]
d981d312947d intitial checkin
ca
parents:
diff changeset
   670
        FileSelectionItem
d981d312947d intitial checkin
ca
parents:
diff changeset
   671
"
d981d312947d intitial checkin
ca
parents:
diff changeset
   672
d981d312947d intitial checkin
ca
parents:
diff changeset
   673
d981d312947d intitial checkin
ca
parents:
diff changeset
   674
! !
d981d312947d intitial checkin
ca
parents:
diff changeset
   675
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   676
!FileSelectionItem::File methodsFor:'queries'!
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   677
569
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   678
discardDirectories
2a1014d6697c checkin from browser
ca
parents: 535
diff changeset
   679
    ^ true
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   680
d981d312947d intitial checkin
ca
parents:
diff changeset
   681
d981d312947d intitial checkin
ca
parents:
diff changeset
   682
! !
d981d312947d intitial checkin
ca
parents:
diff changeset
   683
d981d312947d intitial checkin
ca
parents:
diff changeset
   684
!FileSelectionItem class methodsFor:'documentation'!
d981d312947d intitial checkin
ca
parents:
diff changeset
   685
d981d312947d intitial checkin
ca
parents:
diff changeset
   686
version
1818
fe99c5c721e9 category changes
Claus Gittinger <cg@exept.de>
parents: 1269
diff changeset
   687
    ^ '$Header: /cvs/stx/stx/libwidg2/FileSelectionItem.st,v 1.17 2000-08-21 22:43:56 cg Exp $'
486
d981d312947d intitial checkin
ca
parents:
diff changeset
   688
! !