FileDialog.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 14 Jun 2018 22:19:39 +0100
branchjv
changeset 18227 d25a407ba86d
parent 18226 346376844040
permissions -rw-r--r--
Mini testrunner: show "green" if there's at least one pass and rest is pass or skip This is more meaningfull result then showing "gray" if there's at least one skip.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5140
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
     1
"
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
     2
 COPYRIGHT (c) 2002 by eXept Software AG
18226
346376844040 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18223
diff changeset
     3
 COPYRIGHT (c) 2018 Jan Vrany
5140
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
     4
              All Rights Reserved
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
     5
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
     6
 This software is furnished under a license and may be used
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
     7
 only in accordance with the terms of that license and with the
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
     8
 inclusion of the above copyright notice.   This software may not
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
     9
 be provided or otherwise made available to, or used by, any
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    10
 other person.  No title to or ownership of the software is
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    11
 hereby transferred.
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    12
"
8250
60e3fd1433b3 geometry
Claus Gittinger <cg@exept.de>
parents: 8191
diff changeset
    13
"{ Package: 'stx:libtool' }"
60e3fd1433b3 geometry
Claus Gittinger <cg@exept.de>
parents: 8191
diff changeset
    14
15366
a8c4945ee67a class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 14151
diff changeset
    15
"{ NameSpace: Smalltalk }"
a8c4945ee67a class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 14151
diff changeset
    16
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    17
SimpleDialog subclass:#FileDialog
5220
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
    18
	instanceVariableNames:'aspects treeBrowser directory pattern filterHolder initialText
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
    19
		multipleSelect doubleClickAction cancelLabelHolder okLabelHolder
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
    20
		startFilename result filterField filenameField viewFiles
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
    21
		filenameLabelHolder isLoadDialog newDirectoryVisibilityHolder
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
    22
		appendButtonVisibleHolder appendWasPressed
6065
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
    23
		buttonPanelVisibleHolder appendLabelHolder browseVisibleHolder
9678
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
    24
		selectedDeviceDrive listOfDeviceDrives rootDirectoryHolder
15766
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
    25
		initialRoot verticalPanelView okLabelEnabled'
5931
penk
parents: 5930
diff changeset
    26
	classVariableNames:'LastExtent'
5220
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
    27
	poolDictionaries:''
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
    28
	category:'Interface-Tools-File'
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    29
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    30
321c1729db5b initial checkin
penk
parents:
diff changeset
    31
!FileDialog class methodsFor:'documentation'!
321c1729db5b initial checkin
penk
parents:
diff changeset
    32
5140
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    33
copyright
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    34
"
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    35
 COPYRIGHT (c) 2002 by eXept Software AG
18226
346376844040 Copyright updates
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18223
diff changeset
    36
 COPYRIGHT (c) 2018 Jan Vrany
5140
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    37
              All Rights Reserved
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    38
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    39
 This software is furnished under a license and may be used
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    40
 only in accordance with the terms of that license and with the
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    41
 inclusion of the above copyright notice.   This software may not
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    42
 be provided or otherwise made available to, or used by, any
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    43
 other person.  No title to or ownership of the software is
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    44
 hereby transferred.
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    45
"
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    46
!
36c7da05d814 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5066
diff changeset
    47
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    48
documentation
321c1729db5b initial checkin
penk
parents:
diff changeset
    49
"
9767
53899b69d223 initial checkin
Claus Gittinger <cg@exept.de>
parents: 9765
diff changeset
    50
    A slightly better file dialog
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    51
321c1729db5b initial checkin
penk
parents:
diff changeset
    52
    [author:]
321c1729db5b initial checkin
penk
parents:
diff changeset
    53
        Martin Walser (martin@vercingetorix)
321c1729db5b initial checkin
penk
parents:
diff changeset
    54
321c1729db5b initial checkin
penk
parents:
diff changeset
    55
    [instance variables:]
321c1729db5b initial checkin
penk
parents:
diff changeset
    56
321c1729db5b initial checkin
penk
parents:
diff changeset
    57
    [class variables:]
321c1729db5b initial checkin
penk
parents:
diff changeset
    58
321c1729db5b initial checkin
penk
parents:
diff changeset
    59
    [see also:]
321c1729db5b initial checkin
penk
parents:
diff changeset
    60
321c1729db5b initial checkin
penk
parents:
diff changeset
    61
"
321c1729db5b initial checkin
penk
parents:
diff changeset
    62
!
321c1729db5b initial checkin
penk
parents:
diff changeset
    63
321c1729db5b initial checkin
penk
parents:
diff changeset
    64
examples
321c1729db5b initial checkin
penk
parents:
diff changeset
    65
"
15451
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
    66
  usually direct access to FileDialog is not recommended;
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
    67
  please use the Dialog interface, which is able to dispatch to
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
    68
  alternative file choosers if the settings say so 
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
    69
  (native dialogs, for example):
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    70
                                                                [exBegin]
15451
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
    71
    |fileOrNil|
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
    72
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
    73
    fileOrNil := Dialog requestFileName:'Choose a File'.
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
    74
    Transcript showCR:fileOrNil
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    75
                                                                [exEnd]
321c1729db5b initial checkin
penk
parents:
diff changeset
    76
15451
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
    77
  simple examples:
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    78
                                                                [exBegin]
5188
283a77f6efe2 care for non-existing initial dir.
Claus Gittinger <cg@exept.de>
parents: 5173
diff changeset
    79
    FileDialog 
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
    80
        requestFileName:'enter a fileName:'
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
    81
        default:''
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
    82
        version:nil
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
    83
        ifFail:['none']
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
    84
        pattern:'*.conf'
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
    85
        fromDirectory:'/etc'
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
    86
        whenBoxCreatedEvaluate:nil.
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
    87
                                                                [exEnd]
15451
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
    88
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
    89
                                                                [exBegin]
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
    90
    |fd|
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
    91
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
    92
    fd := FileDialog new.
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
    93
    fd multipleSelect:true.
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
    94
    fd open
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
    95
                                                                [exEnd]
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
    96
15451
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
    97
                                                                [exBegin]
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
    98
    |fd|
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
    99
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
   100
    fd := FileDialog new.
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
   101
    fd multipleSelect:true.
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
   102
    fd browseMenuItemVisible:false.
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
   103
    fd open
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
   104
                                                                [exEnd]
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
   105
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   106
    Adding custom components:
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   107
                                                                [exBegin]
15451
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
   108
    Dialog modifyingBoxWith:[:dialog |
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   109
        | fmtBox |
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   110
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   111
        fmtBox := ComboListView new.
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   112
        fmtBox list: #('Comma Separated Values (.csv)'
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   113
                        'Microsoft Excel (.xls)'
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   114
                        'Microsoft Excel XML (.xlsx)') .
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   115
        fmtBox model:'Select...' asValue.
15451
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
   116
        dialog application addComponent: fmtBox.
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   117
    ] do:[
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   118
        Dialog requestFileName: 'Save file as...'
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   119
    ]
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   120
                                                                [exEnd]
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   121
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   122
"
5062
dc8526b353f7 add a todo list
penk
parents: 5039
diff changeset
   123
!
dc8526b353f7 add a todo list
penk
parents: 5039
diff changeset
   124
dc8526b353f7 add a todo list
penk
parents: 5039
diff changeset
   125
todo
dc8526b353f7 add a todo list
penk
parents: 5039
diff changeset
   126
"
9769
3fd3f9154974 changed: #todo
Claus Gittinger <cg@exept.de>
parents: 9767
diff changeset
   127
    - make the filedialog windows like 
5062
dc8526b353f7 add a todo list
penk
parents: 5039
diff changeset
   128
      filename entry field shows only the filename not the whole directory 
dc8526b353f7 add a todo list
penk
parents: 5039
diff changeset
   129
      the tree allways starts in currrent directory
dc8526b353f7 add a todo list
penk
parents: 5039
diff changeset
   130
      the parent tree is shown in a compobox where the perents are selectable
9769
3fd3f9154974 changed: #todo
Claus Gittinger <cg@exept.de>
parents: 9767
diff changeset
   131
5062
dc8526b353f7 add a todo list
penk
parents: 5039
diff changeset
   132
    - do not expand the ~ or relative pathnames to absolute pathnames        
dc8526b353f7 add a todo list
penk
parents: 5039
diff changeset
   133
"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   134
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   135
321c1729db5b initial checkin
penk
parents:
diff changeset
   136
!FileDialog class methodsFor:'instance creation'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   137
321c1729db5b initial checkin
penk
parents:
diff changeset
   138
requestDirectoryName:title default:aFileName ifFail:failBlock
321c1729db5b initial checkin
penk
parents:
diff changeset
   139
    "same as requestFileName, but only show directories"
321c1729db5b initial checkin
penk
parents:
diff changeset
   140
4795
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   141
    ^ self  
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   142
        requestDirectoryName:title 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   143
        default:aFileName 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   144
        ok:nil 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   145
        abort:nil 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   146
        version:nil 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   147
        pattern:nil 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   148
        fromDirectory:nil 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   149
        ifFail:failBlock 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   150
        whenBoxCreatedEvaluate:nil
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   151
        asLoadDialog:nil.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   152
321c1729db5b initial checkin
penk
parents:
diff changeset
   153
    "
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   154
     FileDialog
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   155
        requestDirectoryName:'which directory ?' 
4627
856a643c7854 fix for windows
penk
parents: 4603
diff changeset
   156
        default:Filename currentDirectory pathName
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   157
        ifFail:'none'
321c1729db5b initial checkin
penk
parents:
diff changeset
   158
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   159
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   160
5336
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   161
requestDirectoryName:title default:aFileName ok:okText abort:abortText ifFail:failBlock
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   162
    "same as requestFileName, but only show directories"
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   163
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   164
    ^ self  
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   165
        requestDirectoryName:title 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   166
        default:aFileName 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   167
        ok:okText 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   168
        abort:abortText 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   169
        version:nil 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   170
        pattern:nil 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   171
        fromDirectory:nil 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   172
        ifFail:failBlock 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   173
        whenBoxCreatedEvaluate:nil
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   174
        asLoadDialog:nil.
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   175
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   176
    "
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   177
     FileDialog
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   178
        requestDirectoryName:'which directory ?' 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   179
        default:Filename currentDirectory pathName
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   180
        ok:'Yes'
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   181
        abort:'No'
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   182
        ifFail:'none'
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   183
    "
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   184
!
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   185
5823
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   186
requestDirectoryName:title default:aFileName ok:okText abort:abortText ifFail:failBlock acceptReturnAsOK:aBoolean
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   187
    "same as requestFileName, but only show directories"
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   188
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   189
    ^ self  
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   190
        requestDirectoryName:title 
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   191
        default:aFileName 
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   192
        ok:okText 
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   193
        abort:abortText 
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   194
        version:nil 
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   195
        pattern:nil 
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   196
        fromDirectory:nil 
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   197
        ifFail:failBlock 
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   198
        whenBoxCreatedEvaluate:[:box|box doubleClickAction:[:index|box doAccept]]
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   199
        asLoadDialog:nil.
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   200
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   201
    "
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   202
     FileDialog
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   203
        requestDirectoryName:'which directory ?' 
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   204
        default:Filename currentDirectory pathName
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   205
        ok:'Yes'
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   206
        abort:'No'
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   207
        ifFail:'none'
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   208
    "
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   209
!
79a3ac980853 *** empty log message ***
martin
parents: 5790
diff changeset
   210
3956
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   211
requestDirectoryName:titleString default:aFileName ok:okText abort:abortText version:versionSymbol pattern:pattern fromDirectory:aDirectoryPath ifFail:failBlock whenBoxCreatedEvaluate:boxCreatedCallback asLoadDialog:aBoolean
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   212
    "same as requestFileName, but only show directories"
321c1729db5b initial checkin
penk
parents:
diff changeset
   213
3956
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   214
    |enteredFileName instance enteredFileNameString|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   215
4795
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   216
    instance := self    
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   217
        startApplicationFor:titleString 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   218
        default:aFileName 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   219
        ok:okText 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   220
        abort:abortText 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   221
        ifFail:failBlock 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   222
        pattern:pattern 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   223
        fromDirectory:aDirectoryPath 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   224
        whenBoxCreatedEvaluate:boxCreatedCallback
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   225
        asLoadDialog:aBoolean
5329
022b6631df6f checkin from browser
Michael Beyl <mb@exept.de>
parents: 5230
diff changeset
   226
        viewFiles:false
4795
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   227
        multipleSelect:false.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   228
321c1729db5b initial checkin
penk
parents:
diff changeset
   229
    enteredFileNameString := instance result.
321c1729db5b initial checkin
penk
parents:
diff changeset
   230
    enteredFileNameString isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   231
        ^ failBlock value
321c1729db5b initial checkin
penk
parents:
diff changeset
   232
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   233
    enteredFileName := enteredFileNameString asFilename.
12896
6a423ab9a5c9 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12883
diff changeset
   234
    enteredFileName isRelative ifTrue:[
6a423ab9a5c9 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12883
diff changeset
   235
        enteredFileName := instance directory construct:enteredFileNameString
6a423ab9a5c9 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12883
diff changeset
   236
    ].
6a423ab9a5c9 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12883
diff changeset
   237
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   238
    enteredFileNameString := enteredFileName asString.
321c1729db5b initial checkin
penk
parents:
diff changeset
   239
    (enteredFileName notNil 
321c1729db5b initial checkin
penk
parents:
diff changeset
   240
    and:[enteredFileNameString notEmpty]) ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   241
        versionSymbol isNil ifTrue:[ ^ enteredFileNameString].
321c1729db5b initial checkin
penk
parents:
diff changeset
   242
        versionSymbol == #mustBeNew ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   243
            "/ file may not exist
321c1729db5b initial checkin
penk
parents:
diff changeset
   244
            enteredFileName exists ifTrue:[^ ''].
321c1729db5b initial checkin
penk
parents:
diff changeset
   245
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   246
        versionSymbol == #new ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   247
            "/ file may not exist
321c1729db5b initial checkin
penk
parents:
diff changeset
   248
            enteredFileName exists ifTrue:[
6356
cff12ff7dc25 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6250
diff changeset
   249
                (Dialog confirm:(self classResources stringWithCRs:'''%1'' exists.\\Continue anyway ?' with:enteredFileNameString))
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   250
                    ifFalse:[^ ''].
321c1729db5b initial checkin
penk
parents:
diff changeset
   251
            ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   252
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   253
        versionSymbol == #mustBeOld ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   254
            enteredFileName exists ifFalse:[^ ''].
321c1729db5b initial checkin
penk
parents:
diff changeset
   255
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   256
        versionSymbol == #old ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
   257
            "/ file may not exist
321c1729db5b initial checkin
penk
parents:
diff changeset
   258
            enteredFileName exists ifFalse:[
6356
cff12ff7dc25 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6250
diff changeset
   259
                (self confirm:(self classResources stringWithCRs:'''%1'' does not exist yet.\\Continue anyway ?' with:enteredFileNameString))
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   260
                ifFalse:[^ ''].
321c1729db5b initial checkin
penk
parents:
diff changeset
   261
            ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   262
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   263
        FileSelectionBox lastFileSelectionDirectory:(enteredFileNameString).
321c1729db5b initial checkin
penk
parents:
diff changeset
   264
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   265
    ^ enteredFileNameString
321c1729db5b initial checkin
penk
parents:
diff changeset
   266
321c1729db5b initial checkin
penk
parents:
diff changeset
   267
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   268
     FileDialog
321c1729db5b initial checkin
penk
parents:
diff changeset
   269
        requestDirectoryName:'which directory ?' 
4627
856a643c7854 fix for windows
penk
parents: 4603
diff changeset
   270
        default:Filename currentDirectory pathName
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   271
        ifFail:nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   272
    "
3956
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   273
    "
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   274
     FileDialog
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   275
        requestDirectoryName:'which directory ?' 
4627
856a643c7854 fix for windows
penk
parents: 4603
diff changeset
   276
        default:Filename currentDirectory pathName 
3956
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   277
        ok:nil
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   278
        abort:nil 
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   279
        version:nil 
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   280
        pattern:nil 
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   281
        fromDirectory:nil 
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   282
        ifFail:nil 
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   283
        whenBoxCreatedEvaluate:nil
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   284
        asLoadDialog:true
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   285
    "
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   286
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   287
5336
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   288
requestDirectoryName:title default:aFileName ok:okText ifFail:failBlock
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   289
    "same as requestFileName, but only show directories"
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   290
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   291
    ^ self  
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   292
        requestDirectoryName:title 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   293
        default:aFileName 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   294
        ok:okText 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   295
        abort:nil 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   296
        version:nil 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   297
        pattern:nil 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   298
        fromDirectory:nil 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   299
        ifFail:failBlock 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   300
        whenBoxCreatedEvaluate:nil
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   301
        asLoadDialog:nil.
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   302
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   303
    "
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   304
     FileDialog
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   305
        requestDirectoryName:'which directory ?' 
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   306
        default:Filename currentDirectory pathName
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   307
        ok:'Yes'
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   308
        ifFail:'none'
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   309
    "
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   310
!
6a28518b52a0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5329
diff changeset
   311
9765
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   312
requestFileName:titleString default:defaultName ok:okText abort:abortText pattern:pattern fromDirectory:aDirectoryPathOrNil
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   313
    "launch a Dialog, which allows user to enter a filename.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   314
     The files presented initially are those in aDirectoryPathOrNil, or the
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   315
     last fileBox directory (default: current directory) (if a nil path is given).
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   316
     The box will show okText in its okButton, abortText in the abortButton.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   317
     The matchPattern is set to pattern initially.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   318
     Return the string, or nil if cancel was pressed."
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   319
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   320
    ^ self
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   321
        requestFileName:titleString 
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   322
        default:defaultName 
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   323
        ok:okText 
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   324
        abort:abortText 
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   325
        pattern:pattern 
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   326
        fromDirectory:aDirectoryPathOrNil 
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   327
        whenBoxCreatedEvaluate:nil
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   328
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   329
    "Created: / 14-02-2011 / 17:59:21 / cg"
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   330
!
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   331
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   332
requestFileName:titleString default:defaultName ok:okText abort:abortText pattern:pattern fromDirectory:aDirectoryPathOrNil whenBoxCreatedEvaluate:boxCreatedCallback
321c1729db5b initial checkin
penk
parents:
diff changeset
   333
4795
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   334
    ^ self  
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   335
        requestFileName:titleString 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   336
        default:defaultName 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   337
        ok:okText 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   338
        abort:abortText 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   339
        version:nil 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   340
        ifFail:nil 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   341
        pattern:pattern 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   342
        fromDirectory:aDirectoryPathOrNil 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   343
        whenBoxCreatedEvaluate:boxCreatedCallback
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   344
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   345
321c1729db5b initial checkin
penk
parents:
diff changeset
   346
requestFileName:titleString default:defaultName ok:okText abort:abortText version:versionSymbol ifFail:failBlock pattern:pattern fromDirectory:aDirectoryPath whenBoxCreatedEvaluate:boxCreatedCallback
321c1729db5b initial checkin
penk
parents:
diff changeset
   347
    "launch a Dialog, which allows user to enter a filename.
321c1729db5b initial checkin
penk
parents:
diff changeset
   348
     The files presented initially are those in aDirectoryPathOrNil, or the
321c1729db5b initial checkin
penk
parents:
diff changeset
   349
     last fileBox directory (default: current directory) (if a nil path is given).
321c1729db5b initial checkin
penk
parents:
diff changeset
   350
     The box will show okText in its okButton, abortText in the abortButton.
321c1729db5b initial checkin
penk
parents:
diff changeset
   351
     The matchPattern is set to pattern initially.
321c1729db5b initial checkin
penk
parents:
diff changeset
   352
     Return the string, or nil if cancel was pressed
321c1729db5b initial checkin
penk
parents:
diff changeset
   353
     The version argument allows validation of the files existance;
321c1729db5b initial checkin
penk
parents:
diff changeset
   354
     it may be any of:
321c1729db5b initial checkin
penk
parents:
diff changeset
   355
        #mustBeNew      - fail (return empty string) if the file exists
321c1729db5b initial checkin
penk
parents:
diff changeset
   356
        #new            - confirm if the file exists
321c1729db5b initial checkin
penk
parents:
diff changeset
   357
        #mustBeOld      - fail if the file does not exist
321c1729db5b initial checkin
penk
parents:
diff changeset
   358
        #old            - confirm if the file does not exist
321c1729db5b initial checkin
penk
parents:
diff changeset
   359
        #any (other)    - no validation
321c1729db5b initial checkin
penk
parents:
diff changeset
   360
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   361
4795
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   362
    ^ self  
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   363
        requestFileName:titleString 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   364
        default:defaultName 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   365
        ok:okText 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   366
        abort:abortText 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   367
        version:versionSymbol 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   368
        ifFail:failBlock 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   369
        pattern:pattern 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   370
        fromDirectory:aDirectoryPath 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   371
        whenBoxCreatedEvaluate:boxCreatedCallback 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   372
        asLoadDialog:nil
3956
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   373
!
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   374
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   375
requestFileName:titleString default:defaultName ok:okText abort:abortText version:versionSymbol ifFail:failBlock pattern:pattern fromDirectory:aDirectoryPath whenBoxCreatedEvaluate:boxCreatedCallback asLoadDialog:aBoolean
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   376
    "launch a Dialog, which allows user to enter a filename.
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   377
     The files presented initially are those in aDirectoryPathOrNil, or the
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   378
     last fileBox directory (default: current directory) (if a nil path is given).
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   379
     The box will show okText in its okButton, abortText in the abortButton.
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   380
     The matchPattern is set to pattern initially.
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   381
     Return the string, or nil if cancel was pressed
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   382
     The version argument allows validation of the files existance;
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   383
     it may be any of:
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   384
        #mustBeNew      - fail (return empty string) if the file exists
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   385
        #new            - confirm if the file exists
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   386
        #mustBeOld      - fail if the file does not exist
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   387
        #old            - confirm if the file does not exist
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   388
        #any (other)    - no validation
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   389
    "
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   390
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   391
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   392
    | instance enteredFileName enteredFileNameString|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   393
4795
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   394
    instance := self    
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   395
        startApplicationFor:titleString 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   396
        default:defaultName 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   397
        ok:okText 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   398
        abort:abortText 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   399
        ifFail:failBlock 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   400
        pattern:pattern 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   401
        fromDirectory:aDirectoryPath 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   402
        whenBoxCreatedEvaluate:boxCreatedCallback
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   403
        asLoadDialog:aBoolean
5329
022b6631df6f checkin from browser
Michael Beyl <mb@exept.de>
parents: 5230
diff changeset
   404
        viewFiles:true
4795
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   405
        multipleSelect:false.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   406
321c1729db5b initial checkin
penk
parents:
diff changeset
   407
    enteredFileNameString := instance result.
16265
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   408
    enteredFileNameString isEmptyOrNil ifTrue:[
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   409
        ^ failBlock value
321c1729db5b initial checkin
penk
parents:
diff changeset
   410
    ].
16265
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   411
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   412
    enteredFileName := enteredFileNameString asFilename.
12896
6a423ab9a5c9 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12883
diff changeset
   413
    enteredFileName isRelative ifTrue:[
16265
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   414
        (versionSymbol isNil and:[#(http https ftp) includes:(enteredFileNameString upToAll:'://')]) ifTrue:[
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   415
            ^ enteredFileNameString.
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   416
        ] ifFalse:[
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   417
            enteredFileName := instance directory construct:enteredFileNameString.
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   418
            enteredFileNameString := enteredFileName asString.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   419
        ].
321c1729db5b initial checkin
penk
parents:
diff changeset
   420
    ].
16265
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   421
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   422
    FileSelectionBox lastFileSelectionDirectory:(enteredFileName directoryName).
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   423
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   424
    versionSymbol isNil ifTrue:[ ^ enteredFileNameString].
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   425
    versionSymbol == #mustBeNew ifTrue:[
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   426
        "/ file must not exist
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   427
        enteredFileName exists ifTrue:[^ failBlock value].
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   428
    ].
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   429
    versionSymbol == #new ifTrue:[
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   430
        "/ file should not exist
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   431
        enteredFileName exists ifTrue:[
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   432
            (Dialog confirm:(self classResources stringWithCRs:'''%1'' exists.\\Continue anyway ?' with:enteredFileNameString))
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   433
                ifFalse:[^ failBlock value].
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   434
        ].
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   435
    ].
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   436
    versionSymbol == #mustBeOld ifTrue:[
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   437
        "/ file must exist
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   438
        enteredFileName exists ifFalse:[^ failBlock value].
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   439
    ].
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   440
    versionSymbol == #old ifTrue:[
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   441
        "/ file should exist
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   442
        enteredFileName exists ifFalse:[
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   443
            (self confirm:(self classResources stringWithCRs:'''%1'' does not exist yet.\\Continue anyway ?' with:enteredFileNameString))
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   444
            ifFalse:[^ failBlock value].
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   445
        ].
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   446
    ].
d6e988de171b #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 16185
diff changeset
   447
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   448
    ^ enteredFileNameString
3956
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   449
"
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   450
     FileDialog 
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   451
        requestFileName:'enter a fileName:'
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   452
        default:''
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   453
        ok:nil 
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   454
        abort:nil
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   455
        version:nil
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   456
        ifFail:['none']
5858
d5648b365b8d returns construct with defaultName if directory selected on requestFilename
penk
parents: 5853
diff changeset
   457
        pattern:'*'
4627
856a643c7854 fix for windows
penk
parents: 4603
diff changeset
   458
        fromDirectory:Filename currentDirectory pathName
3956
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   459
        whenBoxCreatedEvaluate:nil
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   460
        asLoadDialog:true
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   461
"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   462
!
321c1729db5b initial checkin
penk
parents:
diff changeset
   463
9765
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   464
requestFileName:titleString default:defaultName pattern:pattern fromDirectory:aDirectory
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   465
    "launch a Dialog, which allows user to enter a filename.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   466
     The files presented initially are those from the current directory.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   467
     The box will show ok/cancel in its buttons.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   468
     The matchPattern is set to pattern initially.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   469
     Return the string or nil if cancel was pressed."
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   470
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   471
    |resources|
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   472
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   473
    resources := self classResources.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   474
    ^ self 
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   475
        requestFileName:titleString 
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   476
        default:defaultName
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   477
        ok:(resources string:'OK') 
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   478
        abort:(resources string:'Cancel') 
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   479
        pattern:pattern
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   480
        fromDirectory:aDirectory
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   481
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   482
    "Created: / 14-02-2011 / 17:59:14 / cg"
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   483
!
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
   484
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   485
requestFileName:titleString default:defaultName version:versionSymbol ifFail:failBlock pattern:pattern fromDirectory:aDirectoryPathOrNil whenBoxCreatedEvaluate:boxCreatedCallback
321c1729db5b initial checkin
penk
parents:
diff changeset
   486
4795
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   487
    ^ self  
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   488
        requestFileName:titleString 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   489
        default:defaultName 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   490
        ok:nil 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   491
        abort:nil 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   492
        version:versionSymbol 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   493
        ifFail:failBlock 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   494
        pattern:pattern 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   495
        fromDirectory:aDirectoryPathOrNil 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   496
        whenBoxCreatedEvaluate:boxCreatedCallback
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   497
321c1729db5b initial checkin
penk
parents:
diff changeset
   498
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   499
     FileDialog 
321c1729db5b initial checkin
penk
parents:
diff changeset
   500
        requestFileName:'enter a fileName:'
321c1729db5b initial checkin
penk
parents:
diff changeset
   501
        default:''
321c1729db5b initial checkin
penk
parents:
diff changeset
   502
        version:nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   503
        ifFail:['none']
321c1729db5b initial checkin
penk
parents:
diff changeset
   504
        pattern:'*.conf'
4627
856a643c7854 fix for windows
penk
parents: 4603
diff changeset
   505
        fromDirectory:Filename currentDirectory pathName
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   506
        whenBoxCreatedEvaluate:nil.
321c1729db5b initial checkin
penk
parents:
diff changeset
   507
     Dialog 
321c1729db5b initial checkin
penk
parents:
diff changeset
   508
        requestFileName:'enter a fileName:'
321c1729db5b initial checkin
penk
parents:
diff changeset
   509
        default:''
321c1729db5b initial checkin
penk
parents:
diff changeset
   510
        version:nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   511
        ifFail:['none']
321c1729db5b initial checkin
penk
parents:
diff changeset
   512
        pattern:'*.conf'
4627
856a643c7854 fix for windows
penk
parents: 4603
diff changeset
   513
        fromDirectory:Filename currentDirectory pathName
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   514
        whenBoxCreatedEvaluate:nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   515
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   516
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   517
     FileDialog
321c1729db5b initial checkin
penk
parents:
diff changeset
   518
        requestFileName:'enter a fileName:'
321c1729db5b initial checkin
penk
parents:
diff changeset
   519
        default:''
321c1729db5b initial checkin
penk
parents:
diff changeset
   520
        version:#old 
321c1729db5b initial checkin
penk
parents:
diff changeset
   521
        ifFail:['none']   
321c1729db5b initial checkin
penk
parents:
diff changeset
   522
        pattern:'*.conf'
4627
856a643c7854 fix for windows
penk
parents: 4603
diff changeset
   523
        fromDirectory:Filename currentDirectory pathName
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   524
        whenBoxCreatedEvaluate:nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   525
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   526
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   527
     FileDialog
321c1729db5b initial checkin
penk
parents:
diff changeset
   528
        requestFileName:'enter a fileName:'
321c1729db5b initial checkin
penk
parents:
diff changeset
   529
        default:''
321c1729db5b initial checkin
penk
parents:
diff changeset
   530
        version:#mustBeNew 
321c1729db5b initial checkin
penk
parents:
diff changeset
   531
        ifFail:['none']   
321c1729db5b initial checkin
penk
parents:
diff changeset
   532
        pattern:'*.conf'
4627
856a643c7854 fix for windows
penk
parents: 4603
diff changeset
   533
        fromDirectory:Filename currentDirectory pathName
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   534
        whenBoxCreatedEvaluate:nil
321c1729db5b initial checkin
penk
parents:
diff changeset
   535
    "
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   536
!
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   537
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   538
requestFileNames:titleString default:defaultName ok:okText abort:abortText ifFail:failBlock pattern:pattern fromDirectory:aDirectoryPath whenBoxCreatedEvaluate:boxCreatedCallback
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   539
    "launch a Dialog, which allows user to enter a filename.
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   540
     The files presented initially are those in aDirectoryPathOrNil, or the
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   541
     last fileBox directory (default: current directory) (if a nil path is given).
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   542
     The box will show okText in its okButton, abortText in the abortButton.
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   543
     The matchPattern is set to pattern initially.
3905
2a1afd0fdcd3 add requestFilenames method
penk
parents: 3904
diff changeset
   544
     Return all selected Filenames as filenames in a collection, or nil if cancel was pressed
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   545
    "
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   546
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   547
4795
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   548
    ^ self  
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   549
        requestFileNames:titleString 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   550
        default:defaultName 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   551
        ok:okText 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   552
        abort:abortText 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   553
        ifFail:failBlock 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   554
        pattern:pattern 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   555
        fromDirectory:aDirectoryPath 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   556
        whenBoxCreatedEvaluate:boxCreatedCallback 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   557
        asLoadDialog:nil.
3956
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   558
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   559
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   560
"
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   561
     FileDialog 
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   562
        requestFileNames:'enter a fileName:'
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   563
        default:''
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   564
        ok:nil 
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   565
        abort:nil 
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   566
        ifFail:['none']
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   567
        pattern:'*.conf'
4627
856a643c7854 fix for windows
penk
parents: 4603
diff changeset
   568
        fromDirectory:Filename currentDirectory pathName
3956
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   569
        whenBoxCreatedEvaluate:nil.
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   570
"
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   571
!
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   572
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   573
requestFileNames:titleString default:defaultName ok:okText abort:abortText ifFail:failBlock pattern:pattern fromDirectory:aDirectoryPath whenBoxCreatedEvaluate:boxCreatedCallback asLoadDialog:asLoadDialog
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   574
    "launch a Dialog, which allows user to enter a filename.
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   575
     The files presented initially are those in aDirectoryPathOrNil, or the
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   576
     last fileBox directory (default: current directory) (if a nil path is given).
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   577
     The box will show okText in its okButton, abortText in the abortButton.
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   578
     The matchPattern is set to pattern initially.
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   579
     Return all selected Filenames as filenames in a collection, or nil if cancel was pressed
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   580
    "
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   581
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   582
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   583
    | instance enteredFileNames lastDirectory|
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   584
4795
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   585
    instance := self    
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   586
        startApplicationFor:titleString 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   587
        default:defaultName 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   588
        ok:okText 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   589
        abort:abortText 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   590
        ifFail:failBlock 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   591
        pattern:pattern 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   592
        fromDirectory:aDirectoryPath 
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   593
        whenBoxCreatedEvaluate:boxCreatedCallback
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   594
        asLoadDialog:asLoadDialog 
5329
022b6631df6f checkin from browser
Michael Beyl <mb@exept.de>
parents: 5230
diff changeset
   595
        viewFiles:true
4795
86443bbe1451 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4793
diff changeset
   596
        multipleSelect:true.
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   597
3996
17c9a6d10f75 *** empty log message ***
penk
parents: 3994
diff changeset
   598
    enteredFileNames := instance currentSelectedFiles.
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   599
    (enteredFileNames isEmpty or:[instance result isNil]) ifTrue:[
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   600
        ^ failBlock value
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   601
    ].
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   602
    lastDirectory := enteredFileNames first.
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   603
    lastDirectory := lastDirectory isFilename ifTrue:[lastDirectory directory] ifFalse:[lastDirectory].
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   604
    FileSelectionBox lastFileSelectionDirectory:(lastDirectory directoryName).
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   605
    ^ enteredFileNames
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   606
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   607
"
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   608
     FileDialog 
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   609
        requestFileNames:'enter a fileName:'
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   610
        default:''
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   611
        ok:nil 
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   612
        abort:nil 
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   613
        ifFail:['none']
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   614
        pattern:'*.conf'
4627
856a643c7854 fix for windows
penk
parents: 4603
diff changeset
   615
        fromDirectory:Filename currentDirectory pathName
3956
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   616
        whenBoxCreatedEvaluate:nil
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   617
        asLoadDialog:true.
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   618
"
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   619
!
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   620
5790
a20cb6fcb74b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5617
diff changeset
   621
startApplicationFor:titleString default:initialDefaultFileNameArg ok:okTextArg abort:abortTextArg ifFail:failBlock pattern:pattern fromDirectory:aDirectoryPath whenBoxCreatedEvaluate:boxCreatedCallback asLoadDialog:asLoadDialog viewFiles:viewFiles multipleSelect:multipleSelect
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   622
    "launch a Dialog, which allows user to enter a filename.
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   623
     The files presented initially are those in aDirectoryPathOrNil, or the
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   624
     last fileBox directory (default: current directory) (if a nil path is given).
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   625
     The box will show okText in its okButton, abortText in the abortButton.
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   626
     The matchPattern is set to pattern initially.
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   627
     Return the string, or nil if cancel was pressed
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   628
     The version argument allows validation of the files existance;
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   629
     it may be any of:
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   630
        #mustBeNew      - fail (return empty string) if the file exists
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   631
        #new            - confirm if the file exists
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   632
        #mustBeOld      - fail if the file does not exist
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   633
        #old            - confirm if the file does not exist
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   634
        #any (other)    - no validation
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   635
    "
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   636
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   637
5790
a20cb6fcb74b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5617
diff changeset
   638
    |defaultDir instance defaultFile okText abortText initialDefaultFileName|
a20cb6fcb74b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5617
diff changeset
   639
a20cb6fcb74b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5617
diff changeset
   640
    initialDefaultFileName := initialDefaultFileNameArg.
a20cb6fcb74b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5617
diff changeset
   641
    initialDefaultFileName notNil ifTrue:[ 
13001
b6a345016dc0 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12896
diff changeset
   642
        initialDefaultFileName := initialDefaultFileName asFilename.
5790
a20cb6fcb74b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5617
diff changeset
   643
    ].
5163
7923e3b781bd oops - nil button labels
Claus Gittinger <cg@exept.de>
parents: 5140
diff changeset
   644
7923e3b781bd oops - nil button labels
Claus Gittinger <cg@exept.de>
parents: 5140
diff changeset
   645
    okText := okTextArg.
7923e3b781bd oops - nil button labels
Claus Gittinger <cg@exept.de>
parents: 5140
diff changeset
   646
    okText isNil ifTrue:[ okText := self resources string:'OK' ]. 
7923e3b781bd oops - nil button labels
Claus Gittinger <cg@exept.de>
parents: 5140
diff changeset
   647
    abortText := abortTextArg.
7923e3b781bd oops - nil button labels
Claus Gittinger <cg@exept.de>
parents: 5140
diff changeset
   648
    abortText isNil ifTrue:[ abortText := self resources string:'Cancel' ]. 
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   649
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   650
    defaultDir := aDirectoryPath.
5220
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   651
"/    defaultDir isNil ifTrue:[
5790
a20cb6fcb74b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5617
diff changeset
   652
"/        (initialDefaultFileName size > 0 and:[initialDefaultFileName exists]) ifTrue:[
a20cb6fcb74b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5617
diff changeset
   653
"/            defaultDir := initialDefaultFileName asAbsoluteFilename directory.
5220
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   654
"/        ] ifFalse:[
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   655
"/            defaultDir := FileSelectionBox lastFileSelectionDirectory.
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   656
"/            defaultDir isNil ifTrue:[
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   657
"/                defaultDir := Filename currentDirectory asAbsoluteFilename.        
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   658
"/            ].
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   659
"/            defaultDir asFilename exists ifFalse:[
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   660
"/                defaultDir := nil
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   661
"/            ].
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   662
"/        ]
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   663
"/    ].
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   664
    (initialDefaultFileName notNil 
5790
a20cb6fcb74b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5617
diff changeset
   665
    and:[initialDefaultFileName isAbsolute 
5220
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   666
    and:[true "initialDefaultFileName asFilename exists"]]) ifTrue:[
5790
a20cb6fcb74b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5617
diff changeset
   667
        defaultDir := initialDefaultFileName asAbsoluteFilename.
6953
651025031ea2 initial tree-selection when selecting a directory changed.
Claus Gittinger <cg@exept.de>
parents: 6728
diff changeset
   668
        true "viewFiles" ifTrue:[
651025031ea2 initial tree-selection when selecting a directory changed.
Claus Gittinger <cg@exept.de>
parents: 6728
diff changeset
   669
            defaultFile := defaultDir asAbsoluteFilename.
5220
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   670
            defaultDir := defaultDir directory.
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   671
        ].
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   672
    ] ifFalse:[
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   673
        defaultDir isNil ifTrue:[
5193
cc132f6bb560 appendLabelHolder was removed
penk
parents: 5189
diff changeset
   674
            defaultDir := FileSelectionBox lastFileSelectionDirectory.
cc132f6bb560 appendLabelHolder was removed
penk
parents: 5189
diff changeset
   675
            defaultDir isNil ifTrue:[
cc132f6bb560 appendLabelHolder was removed
penk
parents: 5189
diff changeset
   676
                defaultDir := Filename currentDirectory asAbsoluteFilename.        
cc132f6bb560 appendLabelHolder was removed
penk
parents: 5189
diff changeset
   677
            ].
5188
283a77f6efe2 care for non-existing initial dir.
Claus Gittinger <cg@exept.de>
parents: 5173
diff changeset
   678
            defaultDir asFilename exists ifFalse:[
283a77f6efe2 care for non-existing initial dir.
Claus Gittinger <cg@exept.de>
parents: 5173
diff changeset
   679
                defaultDir := nil
283a77f6efe2 care for non-existing initial dir.
Claus Gittinger <cg@exept.de>
parents: 5173
diff changeset
   680
            ].
3956
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   681
        ]
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   682
    ].
4206
ebbc6f79a43d defaultDir asAbsoluteFilename
penk
parents: 4175
diff changeset
   683
    defaultDir := defaultDir asFilename asAbsoluteFilename.
5220
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   684
"/    [defaultDir exists] whileFalse:[
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   685
"/        defaultDir := defaultDir directory.
1de409e5ea52 initial text overwrites given directoryPath
Claus Gittinger <cg@exept.de>
parents: 5193
diff changeset
   686
"/    ].
5066
57de46852214 Do not select '/tmp/tmp' if '/tmp' is given as default directory
Stefan Vogel <sv@exept.de>
parents: 5062
diff changeset
   687
6953
651025031ea2 initial tree-selection when selecting a directory changed.
Claus Gittinger <cg@exept.de>
parents: 6728
diff changeset
   688
    defaultFile isNil ifTrue:[
651025031ea2 initial tree-selection when selecting a directory changed.
Claus Gittinger <cg@exept.de>
parents: 6728
diff changeset
   689
        viewFiles ifFalse:[
651025031ea2 initial tree-selection when selecting a directory changed.
Claus Gittinger <cg@exept.de>
parents: 6728
diff changeset
   690
            defaultFile := defaultDir asAbsoluteFilename.
651025031ea2 initial tree-selection when selecting a directory changed.
Claus Gittinger <cg@exept.de>
parents: 6728
diff changeset
   691
        ] ifTrue:[
651025031ea2 initial tree-selection when selecting a directory changed.
Claus Gittinger <cg@exept.de>
parents: 6728
diff changeset
   692
            (initialDefaultFileName notNil and:[initialDefaultFileName withoutSuffix baseName ~= '*']) ifTrue:[
651025031ea2 initial tree-selection when selecting a directory changed.
Claus Gittinger <cg@exept.de>
parents: 6728
diff changeset
   693
                defaultFile := defaultDir construct:initialDefaultFileName baseName.
651025031ea2 initial tree-selection when selecting a directory changed.
Claus Gittinger <cg@exept.de>
parents: 6728
diff changeset
   694
            ] ifFalse:[
651025031ea2 initial tree-selection when selecting a directory changed.
Claus Gittinger <cg@exept.de>
parents: 6728
diff changeset
   695
                defaultFile := defaultDir.
651025031ea2 initial tree-selection when selecting a directory changed.
Claus Gittinger <cg@exept.de>
parents: 6728
diff changeset
   696
            ].
3956
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   697
        ].
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   698
    ].
3956
617ef25f6d1e allow for loadDialog no fileoperations
penk
parents: 3953
diff changeset
   699
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   700
    instance := self new.
5066
57de46852214 Do not select '/tmp/tmp' if '/tmp' is given as default directory
Stefan Vogel <sv@exept.de>
parents: 5062
diff changeset
   701
    defaultDir notNil ifTrue:[instance directory:defaultDir].
15766
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
   702
    instance 
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
   703
        multipleSelect:multipleSelect ? false;
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
   704
       startFilename:defaultFile;
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
   705
       pattern:(pattern isEmptyOrNil ifTrue:['*'] ifFalse:[pattern]);
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
   706
       initialText:titleString;
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
   707
       beLoadDialog:asLoadDialog ? false;
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
   708
       viewFiles:viewFiles ? true.
5571
333ee892a087 thumbsUp/Down in confirm dialog
Claus Gittinger <cg@exept.de>
parents: 5375
diff changeset
   709
15766
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
   710
     instance okLabelHolder value:okText.
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
   711
     instance cancelLabelHolder value:abortText.
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
   712
3953
4fd0ed70cf36 next stage
penk
parents: 3944
diff changeset
   713
    self setDoubleClickActionFor:instance.
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   714
    instance allButOpenInterface:#windowSpec.
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   715
    boxCreatedCallback notNil ifTrue:[boxCreatedCallback value:instance].
4603
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
   716
8661
086147f751d0 AboutToOpenBoxNotificationSignal moved to SimpleView and now raised
Claus Gittinger <cg@exept.de>
parents: 8586
diff changeset
   717
    "/ Dialog aboutToOpenBoxNotificationSignal raiseRequestWith:instance.
7571
3e686c0ffb5c sortCaseless depending on Filename isCaseSensitive
fm
parents: 7567
diff changeset
   718
    instance treeBrowser sortCaselessInTreeBrowser value: (Filename isCaseSensitive not).
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   719
    instance openWindowModal.
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
   720
    ^ instance
6953
651025031ea2 initial tree-selection when selecting a directory changed.
Claus Gittinger <cg@exept.de>
parents: 6728
diff changeset
   721
651025031ea2 initial tree-selection when selecting a directory changed.
Claus Gittinger <cg@exept.de>
parents: 6728
diff changeset
   722
    "Modified: / 23-08-2006 / 12:24:54 / cg"
7571
3e686c0ffb5c sortCaseless depending on Filename isCaseSensitive
fm
parents: 7567
diff changeset
   723
    "Modified: / 13-12-2006 / 16:25:42 / User"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   724
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   725
321c1729db5b initial checkin
penk
parents:
diff changeset
   726
!FileDialog class methodsFor:'accessing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   727
6650
1dedae38414a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6632
diff changeset
   728
classResources
9110
9fcea22ea3b7 showHiddenFiles
Claus Gittinger <cg@exept.de>
parents: 8663
diff changeset
   729
    ^ (FileBrowserV2 ? AbstractFileBrowser) classResources
6650
1dedae38414a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6632
diff changeset
   730
!
1dedae38414a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6632
diff changeset
   731
5931
penk
parents: 5930
diff changeset
   732
lastExtent
penk
parents: 5930
diff changeset
   733
    ^ LastExtent
penk
parents: 5930
diff changeset
   734
!
penk
parents: 5930
diff changeset
   735
penk
parents: 5930
diff changeset
   736
lastExtent:anExtent
penk
parents: 5930
diff changeset
   737
    LastExtent := anExtent
penk
parents: 5930
diff changeset
   738
!
penk
parents: 5930
diff changeset
   739
3953
4fd0ed70cf36 next stage
penk
parents: 3944
diff changeset
   740
setDoubleClickActionFor:instance
4fd0ed70cf36 next stage
penk
parents: 3944
diff changeset
   741
4fd0ed70cf36 next stage
penk
parents: 3944
diff changeset
   742
    instance doubleClickAction:[:anIndex|
4fd0ed70cf36 next stage
penk
parents: 3944
diff changeset
   743
        | item |
4fd0ed70cf36 next stage
penk
parents: 3944
diff changeset
   744
        item := instance treeBrowser fileList at:anIndex ifAbsent:nil.
4fd0ed70cf36 next stage
penk
parents: 3944
diff changeset
   745
        item notNil ifTrue:[
5329
022b6631df6f checkin from browser
Michael Beyl <mb@exept.de>
parents: 5230
diff changeset
   746
            (instance viewFiles and:[item isDirectory not]) ifTrue:[ 
3953
4fd0ed70cf36 next stage
penk
parents: 3944
diff changeset
   747
                instance doAccept.
4fd0ed70cf36 next stage
penk
parents: 3944
diff changeset
   748
            ]
4fd0ed70cf36 next stage
penk
parents: 3944
diff changeset
   749
        ]
4fd0ed70cf36 next stage
penk
parents: 3944
diff changeset
   750
    ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   751
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
   752
8585
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
   753
!FileDialog class methodsFor:'help specs'!
4603
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
   754
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
   755
flyByHelpSpec
8585
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
   756
    "This resource specification was automatically generated
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
   757
     by the UIHelpTool of ST/X."
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
   758
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
   759
    "Do not manually edit this!! If it is corrupted,
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
   760
     the UIHelpTool may not be able to read the specification."
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
   761
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
   762
    "
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
   763
     UIHelpTool openOnClass:FileDialog    
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
   764
    "
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
   765
4603
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
   766
    <resource: #help>
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
   767
8585
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
   768
    ^ FileBrowserV2 flyByHelpSpec addPairsFrom:#(
4603
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
   769
8585
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
   770
#openFileBrowser
13003
b18bfce89bb9 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 13002
diff changeset
   771
'Open a FileBrowser on the selected directory'
4603
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
   772
8585
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
   773
)
4603
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
   774
! !
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
   775
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   776
!FileDialog class methodsFor:'interface specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
   777
321c1729db5b initial checkin
penk
parents:
diff changeset
   778
windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
   779
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
   780
     by the UIPainter of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
   781
321c1729db5b initial checkin
penk
parents:
diff changeset
   782
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
   783
     the UIPainter may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
   784
321c1729db5b initial checkin
penk
parents:
diff changeset
   785
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   786
     UIPainter new openOnClass:FileDialog andSelector:#windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
   787
     FileDialog new openInterface:#windowSpec
321c1729db5b initial checkin
penk
parents:
diff changeset
   788
     FileDialog open
321c1729db5b initial checkin
penk
parents:
diff changeset
   789
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
   790
321c1729db5b initial checkin
penk
parents:
diff changeset
   791
    <resource: #canvas>
321c1729db5b initial checkin
penk
parents:
diff changeset
   792
321c1729db5b initial checkin
penk
parents:
diff changeset
   793
    ^ 
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   794
    #(FullSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   795
       name: windowSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   796
       window: 
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   797
      (WindowSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   798
         label: 'FileDialog'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   799
         name: 'FileDialog'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   800
         min: (Point 10 10)
16802
f2f4117db68a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16477
diff changeset
   801
         bounds: (Rectangle 0 0 460 482)
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   802
         menu: mainMenu
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   803
         performer: treeBrowser
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   804
       )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   805
       component: 
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   806
      (SpecCollection
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   807
         collection: (
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   808
          (VerticalPanelViewSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   809
             name: 'FilePanel'
16802
f2f4117db68a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16477
diff changeset
   810
             layout: (LayoutFrame 0 0 0 0 0 1 -40 1)
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   811
             horizontalLayout: fit
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   812
             verticalLayout: bottomFit
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   813
             horizontalSpace: 0
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   814
             verticalSpace: 3
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   815
             elementsChangeSize: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   816
             component: 
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   817
            (SpecCollection
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   818
               collection: (
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   819
                (ViewSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   820
                   name: 'FilePart'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   821
                   component: 
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   822
                  (SpecCollection
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   823
                     collection: (
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   824
                      (MenuPanelSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   825
                         name: 'ToolBar1'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   826
                         layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 40 0)
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   827
                         tabable: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   828
                         menu: toolBarMenu
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   829
                         textDefault: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   830
                       )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   831
                      (VariableHorizontalPanelSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   832
                         name: 'DeviceAndFilterPanel'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   833
                         layout: (LayoutFrame 0 0 40 0 0 1 70 0)
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   834
                         level: 1
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   835
                         showHandle: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   836
                         component: 
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   837
                        (SpecCollection
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   838
                           collection: (
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   839
                            (ViewSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   840
                               name: 'Box1'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   841
                               component: 
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   842
                              (SpecCollection
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   843
                                 collection: (
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   844
                                  (ComboListSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   845
                                     name: 'ComboList1'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   846
                                     layout: (LayoutFrame 1 0 1 0.0 -1 1 -1 1)
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   847
                                     visibilityChannel: driveSelectorVisible
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   848
                                     model: selectedDeviceDrive
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   849
                                     comboList: listOfDeviceDrives
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   850
                                     useIndex: false
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   851
                                     hidePullDownMenuButton: false
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   852
                                   )
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   853
                                  )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   854
                                
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   855
                               )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   856
                             )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   857
                            (ViewSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   858
                               name: 'Box2'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   859
                               component: 
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   860
                              (SpecCollection
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   861
                                 collection: (
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   862
                                  (LabelSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   863
                                     label: 'Filter:'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   864
                                     name: 'FilterLabel'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   865
                                     layout: (LayoutFrame 1 0 2 0 59 0 -2 1)
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   866
                                     translateLabel: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   867
                                     adjust: right
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
   868
                                   )
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   869
                                  (InputFieldSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   870
                                     name: 'FilterEntryField'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   871
                                     layout: (LayoutFrame 60 0 -27 1 -2 1 -2 1)
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   872
                                     model: filterHolder
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   873
                                     immediateAccept: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   874
                                     acceptOnReturn: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   875
                                     acceptOnTab: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   876
                                     acceptOnLostFocus: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   877
                                     acceptOnPointerLeave: false
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   878
                                     postBuildCallback: postBuildFilterField:
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   879
                                   )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   880
                                  )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   881
                                
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   882
                               )
6065
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
   883
                             )
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   884
                            )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   885
                          
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   886
                         )
16802
f2f4117db68a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16477
diff changeset
   887
                         handles: (Any 0.29999999999999999 1.0)
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   888
                       )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   889
                      (SubCanvasSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   890
                         name: 'DirectoryTreeBrowser'
16802
f2f4117db68a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16477
diff changeset
   891
                         layout: (LayoutFrame 0 0.0 70 0 0 1.0 -34 1)
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   892
                         tabable: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   893
                         hasHorizontalScrollBar: false
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   894
                         hasVerticalScrollBar: false
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   895
                         majorKey: DirectoryTreeBrowser
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   896
                         subAspectHolders: 
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   897
                        (Array
6065
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
   898
                           
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   899
                          (SubChannelInfoSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   900
                             subAspect: filterModel
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   901
                             aspect: filterHolder
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   902
                           ) 
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   903
                          (SubChannelInfoSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   904
                             subAspect: rootHolder
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   905
                             aspect: rootDirectoryHolder
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   906
                           )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   907
                           
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   908
                          (SubChannelInfoSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   909
                             subAspect: showHiddenFiles
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   910
                             aspect: showHiddenFiles
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   911
                           )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   912
                         )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   913
                         createNewApplication: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   914
                         createNewBuilder: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   915
                         postBuildCallback: postBuildTreeBrowser:
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
   916
                       )
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   917
                      (LabelSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   918
                         label: 'Filename:'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   919
                         name: 'FilenameLabel'
16802
f2f4117db68a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16477
diff changeset
   920
                         layout: (LayoutFrame 3 0 -28 1 110 0 -1 1)
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   921
                         translateLabel: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   922
                         labelChannel: filenameLabelHolder
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   923
                         adjust: left
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   924
                       )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   925
                      (FilenameInputFieldSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   926
                         name: 'FilenameEntryField'
16802
f2f4117db68a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16477
diff changeset
   927
                         layout: (LayoutFrame 110 0 -28 1 -2 1 -1 1)
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   928
                         tabable: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   929
                         model: filenameHolder
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   930
                         immediateAccept: false
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   931
                         acceptOnPointerLeave: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   932
                         hasKeyboardFocusInitially: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   933
                         postBuildCallback: postBuildFileNameField:
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   934
                       )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   935
                      )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   936
                    
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   937
                   )
16802
f2f4117db68a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16477
diff changeset
   938
                   extent: (Point 460 442)
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
   939
                 )
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   940
                )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   941
              
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   942
             )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   943
             postBuildCallback: postBuildVerticalPanelView:
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   944
           )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   945
          (HorizontalPanelViewSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   946
             name: 'ButtonPanel'
16802
f2f4117db68a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16477
diff changeset
   947
             layout: (LayoutFrame 0 0.0 -34 1 -16 1 0 1)
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   948
             visibilityChannel: buttonPanelVisibleHolder
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   949
             horizontalLayout: fitSpace
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   950
             verticalLayout: center
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   951
             horizontalSpace: 3
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   952
             verticalSpace: 3
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   953
             reverseOrderIfOKAtLeft: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   954
             component: 
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   955
            (SpecCollection
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   956
               collection: (
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   957
                (ActionButtonSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   958
                   label: 'Cancel'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   959
                   name: 'cancelButton'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   960
                   translateLabel: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   961
                   labelChannel: cancelLabelHolder
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   962
                   tabable: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   963
                   model: doCancel
16802
f2f4117db68a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16477
diff changeset
   964
                   extent: (Point 142 32)
15366
a8c4945ee67a class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 14151
diff changeset
   965
                   usePreferredHeight: true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   966
                 )
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   967
                (ActionButtonSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   968
                   label: 'Append'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   969
                   name: 'appendButton'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   970
                   visibilityChannel: appendButtonVisibleHolder
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   971
                   translateLabel: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   972
                   labelChannel: appendLabelHolder
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   973
                   tabable: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   974
                   model: appendPressed
16802
f2f4117db68a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16477
diff changeset
   975
                   extent: (Point 143 32)
15366
a8c4945ee67a class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 14151
diff changeset
   976
                   usePreferredHeight: true
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   977
                 )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   978
                (ActionButtonSpec
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   979
                   label: 'OK'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   980
                   name: 'okButton'
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   981
                   translateLabel: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   982
                   labelChannel: okLabelHolder
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   983
                   tabable: true
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   984
                   model: okPressed
15766
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
   985
                   enableChannel: okLabelEnabled
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   986
                   isDefault: true
16802
f2f4117db68a #UI_ENHANCEMENT by cg
Claus Gittinger <cg@exept.de>
parents: 16477
diff changeset
   987
                   extent: (Point 143 32)
15366
a8c4945ee67a class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 14151
diff changeset
   988
                   usePreferredHeight: true
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   989
                 )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   990
                )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   991
              
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   992
             )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   993
             keepSpaceForOSXResizeHandleH: true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   994
           )
13741
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   995
          )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   996
        
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   997
       )
65519eaa7ae3 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13221
diff changeset
   998
     )
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
   999
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1000
321c1729db5b initial checkin
penk
parents:
diff changeset
  1001
!FileDialog class methodsFor:'menu specs'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1002
9113
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1003
mainMenu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1004
    "This resource specification was automatically generated
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1005
     by the MenuEditor of ST/X."
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1006
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1007
    "Do not manually edit this!! If it is corrupted,
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1008
     the MenuEditor may not be able to read the specification."
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1009
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1010
    "
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1011
     MenuEditor new openOnClass:FileDialog andSelector:#mainMenu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1012
     (Menu new fromLiteralArrayEncoding:(FileDialog mainMenu)) startUp
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1013
    "
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1014
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1015
    <resource: #menu>
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1016
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1017
    ^ 
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1018
     #(Menu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1019
        (
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1020
         (MenuItem
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1021
            label: 'Directory'
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1022
            translateLabel: true
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1023
            submenu: 
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1024
           (Menu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1025
              (
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1026
               (MenuItem
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1027
                  label: 'Up'
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1028
                  itemValue: doGoDirectoryUp
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1029
                  translateLabel: true
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1030
                )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1031
               (MenuItem
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1032
                  label: '-'
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1033
                )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1034
               (MenuItem
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1035
                  activeHelpKey: directoryBack
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1036
                  enabled: enableBack
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1037
                  label: 'Back'
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1038
                  itemValue: doBack
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1039
                  translateLabel: true
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1040
                )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1041
               (MenuItem
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1042
                  activeHelpKey: directoryBack
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1043
                  enabled: enableForward
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1044
                  label: 'Forward'
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1045
                  itemValue: doForward
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1046
                  translateLabel: true
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1047
                )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1048
               (MenuItem
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1049
                  label: '-'
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1050
                )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1051
               (MenuItem
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1052
                  enabled: enableHome
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1053
                  label: 'Home Directory'
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1054
                  itemValue: doGotoHomeDirectory
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1055
                  translateLabel: true
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1056
                )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1057
               (MenuItem
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1058
                  label: 'Bookmarks'
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1059
                  translateLabel: true
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1060
                  submenuChannel: bookmarksMenu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1061
                )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1062
               (MenuItem
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1063
                  label: 'Visited Directories'
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1064
                  translateLabel: true
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1065
                  submenuChannel: visitedDirectoriesMenu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1066
                )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1067
               )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1068
              nil
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1069
              nil
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1070
            )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1071
          )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1072
         (MenuItem
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1073
            label: 'View'
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1074
            translateLabel: true
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1075
            submenu: 
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1076
           (Menu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1077
              (
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1078
               (MenuItem
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1079
                  label: 'Sort'
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1080
                  translateLabel: true
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1081
                  submenuChannel: sortMenu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1082
                )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1083
               (MenuItem
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1084
                  label: 'Show'
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1085
                  translateLabel: true
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1086
                  submenuChannel: showMenuSpecForDialog
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1087
                )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1088
               (MenuItem
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1089
                  label: '-'
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1090
                )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1091
               (MenuItem
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1092
                  label: 'Update'
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1093
                  itemValue: updateCurrentDirectory
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1094
                  translateLabel: true
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1095
                )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1096
               )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1097
              nil
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1098
              nil
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1099
            )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1100
          )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1101
         )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1102
        nil
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1103
        nil
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1104
      )
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1105
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1106
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1107
toolBarMenu
321c1729db5b initial checkin
penk
parents:
diff changeset
  1108
    "This resource specification was automatically generated
321c1729db5b initial checkin
penk
parents:
diff changeset
  1109
     by the MenuEditor of ST/X."
321c1729db5b initial checkin
penk
parents:
diff changeset
  1110
321c1729db5b initial checkin
penk
parents:
diff changeset
  1111
    "Do not manually edit this!! If it is corrupted,
321c1729db5b initial checkin
penk
parents:
diff changeset
  1112
     the MenuEditor may not be able to read the specification."
321c1729db5b initial checkin
penk
parents:
diff changeset
  1113
321c1729db5b initial checkin
penk
parents:
diff changeset
  1114
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  1115
     MenuEditor new openOnClass:FileDialog andSelector:#toolBarMenu
321c1729db5b initial checkin
penk
parents:
diff changeset
  1116
     (Menu new fromLiteralArrayEncoding:(FileDialog toolBarMenu)) startUp
321c1729db5b initial checkin
penk
parents:
diff changeset
  1117
    "
321c1729db5b initial checkin
penk
parents:
diff changeset
  1118
321c1729db5b initial checkin
penk
parents:
diff changeset
  1119
    <resource: #menu>
321c1729db5b initial checkin
penk
parents:
diff changeset
  1120
321c1729db5b initial checkin
penk
parents:
diff changeset
  1121
    ^ 
5873
penk
parents: 5868
diff changeset
  1122
     #(Menu
penk
parents: 5868
diff changeset
  1123
        (
penk
parents: 5868
diff changeset
  1124
         (MenuItem
penk
parents: 5868
diff changeset
  1125
            activeHelpKey: directoryBack
penk
parents: 5868
diff changeset
  1126
            enabled: enableBack
penk
parents: 5868
diff changeset
  1127
            label: 'Back'
penk
parents: 5868
diff changeset
  1128
            itemValue: doBack
penk
parents: 5868
diff changeset
  1129
            translateLabel: true
penk
parents: 5868
diff changeset
  1130
            isButton: true
penk
parents: 5868
diff changeset
  1131
            submenuChannel: menuDirHistoryBack
6087
344513ffd6a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6068
diff changeset
  1132
            labelImage: (ResourceRetriever AbstractFileBrowser historyBackIcon)
5873
penk
parents: 5868
diff changeset
  1133
            keepLinkedMenu: true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1134
          )
5873
penk
parents: 5868
diff changeset
  1135
         (MenuItem
penk
parents: 5868
diff changeset
  1136
            label: ''
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1137
          )
5873
penk
parents: 5868
diff changeset
  1138
         (MenuItem
penk
parents: 5868
diff changeset
  1139
            activeHelpKey: directoryForward
penk
parents: 5868
diff changeset
  1140
            enabled: enableForward
penk
parents: 5868
diff changeset
  1141
            label: 'Forward'
penk
parents: 5868
diff changeset
  1142
            itemValue: doForward
penk
parents: 5868
diff changeset
  1143
            translateLabel: true
penk
parents: 5868
diff changeset
  1144
            isButton: true
penk
parents: 5868
diff changeset
  1145
            submenuChannel: menuDirHistoryForward
6087
344513ffd6a1 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6068
diff changeset
  1146
            labelImage: (ResourceRetriever AbstractFileBrowser historyForwardIcon)
5873
penk
parents: 5868
diff changeset
  1147
            keepLinkedMenu: true
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1148
          )
5873
penk
parents: 5868
diff changeset
  1149
         (MenuItem
6462
44990c9945fc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6409
diff changeset
  1150
            label: '-'
44990c9945fc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6409
diff changeset
  1151
          )
44990c9945fc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6409
diff changeset
  1152
         (MenuItem
44990c9945fc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6409
diff changeset
  1153
            activeHelpKey: directoryUp
44990c9945fc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6409
diff changeset
  1154
            enabled: enableDirectoryUp
44990c9945fc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6409
diff changeset
  1155
            label: 'DirectoryUp'
44990c9945fc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6409
diff changeset
  1156
            itemValue: doGoDirectoryUp
44990c9945fc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6409
diff changeset
  1157
            translateLabel: true
44990c9945fc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6409
diff changeset
  1158
            isButton: true
44990c9945fc *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6409
diff changeset
  1159
            labelImage: (ResourceRetriever AbstractFileBrowser directoryUpIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1160
          )
5873
penk
parents: 5868
diff changeset
  1161
         (MenuItem
penk
parents: 5868
diff changeset
  1162
            activeHelpKey: fileHome
penk
parents: 5868
diff changeset
  1163
            enabled: enableHome
penk
parents: 5868
diff changeset
  1164
            label: 'Home'
penk
parents: 5868
diff changeset
  1165
            itemValue: doGotoHomeDirectory
penk
parents: 5868
diff changeset
  1166
            translateLabel: true
penk
parents: 5868
diff changeset
  1167
            isButton: true
6096
ad7437953ee4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6088
diff changeset
  1168
            labelImage: (ResourceRetriever ToolbarIconLibrary homeIcon)
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1169
          )
5873
penk
parents: 5868
diff changeset
  1170
         (MenuItem
8092
c75f44bd9e69 doGotoDesktopDirectory
Claus Gittinger <cg@exept.de>
parents: 7919
diff changeset
  1171
            activeHelpKey: fileDesktop
8586
46504ccbcc93 enable goto desktop
Claus Gittinger <cg@exept.de>
parents: 8585
diff changeset
  1172
            enabled: enableGotoDesktop
8092
c75f44bd9e69 doGotoDesktopDirectory
Claus Gittinger <cg@exept.de>
parents: 7919
diff changeset
  1173
            label: 'Desktop'
c75f44bd9e69 doGotoDesktopDirectory
Claus Gittinger <cg@exept.de>
parents: 7919
diff changeset
  1174
            itemValue: doGotoDesktopDirectory
c75f44bd9e69 doGotoDesktopDirectory
Claus Gittinger <cg@exept.de>
parents: 7919
diff changeset
  1175
            translateLabel: true
c75f44bd9e69 doGotoDesktopDirectory
Claus Gittinger <cg@exept.de>
parents: 7919
diff changeset
  1176
            isButton: true
c75f44bd9e69 doGotoDesktopDirectory
Claus Gittinger <cg@exept.de>
parents: 7919
diff changeset
  1177
            labelImage: (ResourceRetriever ToolbarIconLibrary desktopIcon)
c75f44bd9e69 doGotoDesktopDirectory
Claus Gittinger <cg@exept.de>
parents: 7919
diff changeset
  1178
          )
c75f44bd9e69 doGotoDesktopDirectory
Claus Gittinger <cg@exept.de>
parents: 7919
diff changeset
  1179
         (MenuItem
6098
8b70ed799a5e bookmarks
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1180
            activeHelpKey: fileGotoBookmark
8b70ed799a5e bookmarks
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1181
            label: 'Bookmarks'
8b70ed799a5e bookmarks
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1182
            translateLabel: true
8b70ed799a5e bookmarks
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1183
            isButton: true
9113
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1184
            submenuChannel: gotoBookmarksMenu
6098
8b70ed799a5e bookmarks
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1185
            labelImage: (ResourceRetriever ToolbarIconLibrary directoryBookmarksIcon)
8b70ed799a5e bookmarks
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1186
          )
8b70ed799a5e bookmarks
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1187
         (MenuItem
5873
penk
parents: 5868
diff changeset
  1188
            label: '-'
penk
parents: 5868
diff changeset
  1189
            isVisible: newDirectoryVisibilityHolder
3923
2988fc3c88ab next stage
penk
parents: 3905
diff changeset
  1190
          )
5873
penk
parents: 5868
diff changeset
  1191
         (MenuItem
6122
f6cb3f5ebe48 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6098
diff changeset
  1192
            label: 'New Directory...'
5873
penk
parents: 5868
diff changeset
  1193
            itemValue: newDirectory
penk
parents: 5868
diff changeset
  1194
            translateLabel: true
penk
parents: 5868
diff changeset
  1195
            isButton: true
penk
parents: 5868
diff changeset
  1196
            isVisible: newDirectoryVisibilityHolder
6088
486567591821 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6087
diff changeset
  1197
            labelImage: (ResourceRetriever AbstractFileBrowser newDirectoryIcon)
3923
2988fc3c88ab next stage
penk
parents: 3905
diff changeset
  1198
          )
8585
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
  1199
         (MenuItem
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
  1200
            label: '-'
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
  1201
            isVisible: browseVisibleHolder
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
  1202
          )
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
  1203
         (MenuItem
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
  1204
            activeHelpKey: openFileBrowser
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
  1205
            label: 'Browse'
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
  1206
            itemValue: doBrowseDirectory
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
  1207
            translateLabel: true
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
  1208
            isButton: true
15725
dc569f551deb class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15451
diff changeset
  1209
            isVisible: browseMenuItemVisibleHolder
8585
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
  1210
            labelImage: (ResourceRetriever ToolbarIconLibrary startFileBrowserIcon)
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
  1211
          )
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1212
         )
321c1729db5b initial checkin
penk
parents:
diff changeset
  1213
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  1214
        nil
321c1729db5b initial checkin
penk
parents:
diff changeset
  1215
      )
9113
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1216
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1217
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1218
viewInContentsBrowserMenu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1219
    ^ DirectoryContentsBrowser showMenuSpec
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1220
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1221
8182
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1222
!FileDialog class methodsFor:'plugIn spec'!
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1223
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1224
aspectSelectors
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1225
    "This resource specification was automatically generated
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1226
     by the UIPainter of ST/X."
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1227
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1228
    "Do not manually edit this. If it is corrupted,
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1229
     the UIPainter may not be able to read the specification."
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1230
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1231
    "Return a description of exported aspects;
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1232
     these can be connected to aspects of an embedding application
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1233
     (if this app is embedded in a subCanvas)."
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1234
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1235
    ^ #(
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1236
        #filenameHolder
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1237
        #filterHolder
8191
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1238
        #rootDirectoryHolder
8182
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1239
      ).
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1240
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1241
! !
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1242
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1243
!FileDialog methodsFor:'accessing'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1244
3996
17c9a6d10f75 *** empty log message ***
penk
parents: 3994
diff changeset
  1245
currentSelectedFiles
17c9a6d10f75 *** empty log message ***
penk
parents: 3994
diff changeset
  1246
17c9a6d10f75 *** empty log message ***
penk
parents: 3994
diff changeset
  1247
    | selectedFiles|
17c9a6d10f75 *** empty log message ***
penk
parents: 3994
diff changeset
  1248
17c9a6d10f75 *** empty log message ***
penk
parents: 3994
diff changeset
  1249
    selectedFiles := treeBrowser currentFileNameHolder value.
12828
b77cdf81424d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12816
diff changeset
  1250
    ^ selectedFiles reject:[:aFile| aFile isDirectory ].
3996
17c9a6d10f75 *** empty log message ***
penk
parents: 3994
diff changeset
  1251
!
17c9a6d10f75 *** empty log message ***
penk
parents: 3994
diff changeset
  1252
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1253
directory
321c1729db5b initial checkin
penk
parents:
diff changeset
  1254
    "return the value of the instance variable 'directory' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  1255
321c1729db5b initial checkin
penk
parents:
diff changeset
  1256
    ^ directory
321c1729db5b initial checkin
penk
parents:
diff changeset
  1257
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1258
321c1729db5b initial checkin
penk
parents:
diff changeset
  1259
directory:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  1260
    "set the value of the instance variable 'directory' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  1261
321c1729db5b initial checkin
penk
parents:
diff changeset
  1262
    directory := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1263
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1264
321c1729db5b initial checkin
penk
parents:
diff changeset
  1265
initialText
13090
4e05bced2aae class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 13025
diff changeset
  1266
    ^ resources string:(initialText ? 'File Dialog')
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1267
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1268
321c1729db5b initial checkin
penk
parents:
diff changeset
  1269
initialText:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  1270
    initialText := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1271
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1272
321c1729db5b initial checkin
penk
parents:
diff changeset
  1273
pattern
321c1729db5b initial checkin
penk
parents:
diff changeset
  1274
    "return the value of the instance variable 'pattern' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  1275
321c1729db5b initial checkin
penk
parents:
diff changeset
  1276
    ^ pattern
321c1729db5b initial checkin
penk
parents:
diff changeset
  1277
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1278
321c1729db5b initial checkin
penk
parents:
diff changeset
  1279
pattern:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  1280
    "set the value of the instance variable 'pattern' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  1281
321c1729db5b initial checkin
penk
parents:
diff changeset
  1282
    pattern := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1283
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1284
321c1729db5b initial checkin
penk
parents:
diff changeset
  1285
result
321c1729db5b initial checkin
penk
parents:
diff changeset
  1286
    "return the value of the instance variable 'result' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  1287
321c1729db5b initial checkin
penk
parents:
diff changeset
  1288
    ^ result
321c1729db5b initial checkin
penk
parents:
diff changeset
  1289
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1290
321c1729db5b initial checkin
penk
parents:
diff changeset
  1291
result:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  1292
    "set the value of the instance variable 'result' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  1293
321c1729db5b initial checkin
penk
parents:
diff changeset
  1294
    result := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1295
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1296
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1297
selectedDirectories
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1298
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1299
    | selectedFiles|
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1300
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1301
    selectedFiles := treeBrowser currentFileNameHolder value.
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1302
    ^ selectedFiles select:[:aFile| aFile isDirectory].
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1303
!
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1304
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1305
startFilename
321c1729db5b initial checkin
penk
parents:
diff changeset
  1306
    startFilename isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1307
        startFilename := Filename currentDirectory asAbsoluteFilename.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1308
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1309
    ^ startFilename
321c1729db5b initial checkin
penk
parents:
diff changeset
  1310
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1311
321c1729db5b initial checkin
penk
parents:
diff changeset
  1312
startFilename:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  1313
    startFilename := something.
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1314
! !
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1315
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1316
!FileDialog methodsFor:'accessing-behavior'!
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1317
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1318
asLoadDialog
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1319
    ^ self isLoadDialog
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1320
!
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1321
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1322
asLoadDialog:aBoolean
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1323
    self beLoadDialog:aBoolean
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1324
!
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1325
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1326
beLoadDialog:aBoolean
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1327
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1328
    isLoadDialog := aBoolean
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1329
!
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1330
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1331
doubleClickAction
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1332
    "return the value of the instance variable 'doubleClickAction' (automatically generated)"
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1333
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1334
    ^ doubleClickAction
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1335
!
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1336
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1337
doubleClickAction:something
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1338
    "set the value of the instance variable 'doubleClickAction' (automatically generated)"
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1339
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1340
    doubleClickAction := something.
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1341
!
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1342
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1343
isLoadDialog
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1344
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1345
    ^ isLoadDialog ? true
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1346
!
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1347
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1348
multipleSelect
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1349
    ^ multipleSelect ? false
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1350
!
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1351
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1352
multipleSelect:aBoolean
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1353
    multipleSelect := aBoolean.
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1354
    treeBrowser notNil ifTrue:[
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1355
        treeBrowser multipleSelect:aBoolean.
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1356
    ].
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1357
! !
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1358
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1359
!FileDialog methodsFor:'accessing-components'!
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1360
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1361
addButton:aButton
6068
b7426bb73588 addButton
Claus Gittinger <cg@exept.de>
parents: 6065
diff changeset
  1362
    |buttonPanel okButton|
b7426bb73588 addButton
Claus Gittinger <cg@exept.de>
parents: 6065
diff changeset
  1363
b7426bb73588 addButton
Claus Gittinger <cg@exept.de>
parents: 6065
diff changeset
  1364
    buttonPanel := self componentAt:#ButtonPanel.
b7426bb73588 addButton
Claus Gittinger <cg@exept.de>
parents: 6065
diff changeset
  1365
    okButton := self okButton.
b7426bb73588 addButton
Claus Gittinger <cg@exept.de>
parents: 6065
diff changeset
  1366
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1367
    DialogBox defaultOKButtonAtLeft ifTrue:[
6068
b7426bb73588 addButton
Claus Gittinger <cg@exept.de>
parents: 6065
diff changeset
  1368
        buttonPanel addSubView:aButton before:okButton
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1369
    ] ifFalse:[
6068
b7426bb73588 addButton
Claus Gittinger <cg@exept.de>
parents: 6065
diff changeset
  1370
        buttonPanel addSubView:aButton after:okButton
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1371
    ].
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1372
!
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1373
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1374
okButton
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1375
    ^ (self componentAt:#okButton) 
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1376
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1377
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1378
treeBrowser
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1379
    "return the value of the instance variable 'treeBrowser' (automatically generated)"
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1380
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1381
    ^ treeBrowser
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1382
! !
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1383
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1384
!FileDialog methodsFor:'accessing-look'!
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1385
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1386
hideButtonPanel
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1387
    self buttonPanelVisibleHolder value:false
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1388
!
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1389
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1390
newDirectoryVisibilityHolder
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1391
    newDirectoryVisibilityHolder isNil ifTrue:[
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1392
        newDirectoryVisibilityHolder := true asValue.
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1393
    ].
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1394
    ^ newDirectoryVisibilityHolder
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1395
!
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1396
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1397
showButtonPanel
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1398
    self buttonPanelVisibleHolder value:true
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1399
!
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1400
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1401
viewFiles
321c1729db5b initial checkin
penk
parents:
diff changeset
  1402
    "return the value of the instance variable 'viewFiles' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  1403
321c1729db5b initial checkin
penk
parents:
diff changeset
  1404
    ^ viewFiles
321c1729db5b initial checkin
penk
parents:
diff changeset
  1405
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1406
321c1729db5b initial checkin
penk
parents:
diff changeset
  1407
viewFiles:something
321c1729db5b initial checkin
penk
parents:
diff changeset
  1408
    "set the value of the instance variable 'viewFiles' (automatically generated)"
321c1729db5b initial checkin
penk
parents:
diff changeset
  1409
321c1729db5b initial checkin
penk
parents:
diff changeset
  1410
    viewFiles := something.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1411
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1412
321c1729db5b initial checkin
penk
parents:
diff changeset
  1413
!FileDialog methodsFor:'aspects'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1414
4603
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
  1415
appendButtonVisibleHolder
15451
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1416
    "if set, an additional 'append' button is shown
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1417
     (to let user append to a file, instead of overwriting the file)"
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1418
4603
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
  1419
    appendButtonVisibleHolder isNil ifTrue:[
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
  1420
        appendButtonVisibleHolder := false asValue.
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
  1421
    ].
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
  1422
    ^ appendButtonVisibleHolder
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
  1423
!
49cca8deebde support an additional "append" button
Claus Gittinger <cg@exept.de>
parents: 4562
diff changeset
  1424
5193
cc132f6bb560 appendLabelHolder was removed
penk
parents: 5189
diff changeset
  1425
appendLabelHolder
cc132f6bb560 appendLabelHolder was removed
penk
parents: 5189
diff changeset
  1426
    appendLabelHolder isNil ifTrue:[
cc132f6bb560 appendLabelHolder was removed
penk
parents: 5189
diff changeset
  1427
        appendLabelHolder := 'Append' asValue.
cc132f6bb560 appendLabelHolder was removed
penk
parents: 5189
diff changeset
  1428
    ].
cc132f6bb560 appendLabelHolder was removed
penk
parents: 5189
diff changeset
  1429
    ^ appendLabelHolder
cc132f6bb560 appendLabelHolder was removed
penk
parents: 5189
diff changeset
  1430
!
cc132f6bb560 appendLabelHolder was removed
penk
parents: 5189
diff changeset
  1431
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1432
aspectOrNil:aKey forSubApplication:aSubApp
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1433
    "this hook provides an aspect for a subApp"
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1434
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1435
    aKey == #currentFileNameHolder ifTrue:[
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1436
        directory notNil ifTrue:[
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1437
            ^ (OrderedCollection with:directory) asValue
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1438
        ]
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1439
    ].
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1440
    ^ nil
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1441
!
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1442
15451
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1443
browseMenuItemVisible:aBoolean
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1444
    "controls if an 'open filebrowser' menu item is to be shown in the toolbar"
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1445
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1446
    self browseMenuItemVisibleHolder value:aBoolean
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1447
!
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1448
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1449
browseMenuItemVisibleHolder
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1450
    "controls if an 'open filebrowser' menu item is to be shown in the toolbar"
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1451
5969
3b4c0c099aab browseVisibleHolder added
penk
parents: 5966
diff changeset
  1452
    browseVisibleHolder isNil ifTrue:[
8585
55e239825e8d browseVisibleHolder
Claus Gittinger <cg@exept.de>
parents: 8250
diff changeset
  1453
        browseVisibleHolder := true "false" asValue.
5969
3b4c0c099aab browseVisibleHolder added
penk
parents: 5966
diff changeset
  1454
    ].
3b4c0c099aab browseVisibleHolder added
penk
parents: 5966
diff changeset
  1455
    ^ browseVisibleHolder.
3b4c0c099aab browseVisibleHolder added
penk
parents: 5966
diff changeset
  1456
!
3b4c0c099aab browseVisibleHolder added
penk
parents: 5966
diff changeset
  1457
15451
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1458
browseVisibleHolder
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1459
    "controls if an 'open filebrowser' menu item is to be shown in the toolbar"
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1460
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1461
    <resource: #obsolete>
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1462
    ^ self browseMenuItemVisibleHolder.
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1463
!
62459e7da660 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15366
diff changeset
  1464
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1465
buttonPanelVisibleHolder
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1466
    buttonPanelVisibleHolder isNil ifTrue:[
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1467
        buttonPanelVisibleHolder := true asValue.
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1468
        buttonPanelVisibleHolder onChangeSend:#buttonPanelVisibilityChanged to:self.
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1469
    ].
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1470
    ^ buttonPanelVisibleHolder.
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1471
!
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1472
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1473
cancelLabelHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
  1474
321c1729db5b initial checkin
penk
parents:
diff changeset
  1475
    cancelLabelHolder isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1476
        cancelLabelHolder := 'Cancel' asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1477
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1478
    ^ cancelLabelHolder.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1479
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1480
321c1729db5b initial checkin
penk
parents:
diff changeset
  1481
enableBack
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1482
    ^ treeBrowser enableBack.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1483
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1484
321c1729db5b initial checkin
penk
parents:
diff changeset
  1485
enableDirectoryUp
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1486
    ^ treeBrowser enableDirectoryUp.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1487
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1488
321c1729db5b initial checkin
penk
parents:
diff changeset
  1489
enableForward
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1490
    ^ treeBrowser enableForward.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1491
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1492
8169
b746d1eb2d40 changed #enableGotoDesktop
Claus Gittinger <cg@exept.de>
parents: 8092
diff changeset
  1493
enableGotoDesktop
b746d1eb2d40 changed #enableGotoDesktop
Claus Gittinger <cg@exept.de>
parents: 8092
diff changeset
  1494
    ^ treeBrowser enableGotoDesktop.
b746d1eb2d40 changed #enableGotoDesktop
Claus Gittinger <cg@exept.de>
parents: 8092
diff changeset
  1495
!
b746d1eb2d40 changed #enableGotoDesktop
Claus Gittinger <cg@exept.de>
parents: 8092
diff changeset
  1496
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1497
enableHome
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1498
    ^ treeBrowser enableHome.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1499
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1500
9269
4d09efee3752 added: #fileEntryFieldHolder
Claus Gittinger <cg@exept.de>
parents: 9113
diff changeset
  1501
fileEntryFieldHolder
4d09efee3752 added: #fileEntryFieldHolder
Claus Gittinger <cg@exept.de>
parents: 9113
diff changeset
  1502
    "for directoryTreeBrowser"
4d09efee3752 added: #fileEntryFieldHolder
Claus Gittinger <cg@exept.de>
parents: 9113
diff changeset
  1503
4d09efee3752 added: #fileEntryFieldHolder
Claus Gittinger <cg@exept.de>
parents: 9113
diff changeset
  1504
    ^ self filenameHolder
4d09efee3752 added: #fileEntryFieldHolder
Claus Gittinger <cg@exept.de>
parents: 9113
diff changeset
  1505
!
4d09efee3752 added: #fileEntryFieldHolder
Claus Gittinger <cg@exept.de>
parents: 9113
diff changeset
  1506
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1507
filenameHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
  1508
    "Return a value holder with the filename.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1509
     Shown in the filename input-field.
9514
c818ca8969f7 comment/format in: #filenameHolder
Claus Gittinger <cg@exept.de>
parents: 9476
diff changeset
  1510
     Being the selection in the tree."
c818ca8969f7 comment/format in: #filenameHolder
Claus Gittinger <cg@exept.de>
parents: 9476
diff changeset
  1511
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1512
    |holder|
7581
8720d2277df6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7571
diff changeset
  1513
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1514
    holder := builder bindingAt:#filenameHolder.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1515
7581
8720d2277df6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 7571
diff changeset
  1516
    holder isNil ifTrue:[
13001
b6a345016dc0 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12896
diff changeset
  1517
        holder := startFilename asValue.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1518
        holder addDependent:self.
9514
c818ca8969f7 comment/format in: #filenameHolder
Claus Gittinger <cg@exept.de>
parents: 9476
diff changeset
  1519
        builder aspectAt:#filenameHolder put:holder.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1520
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1521
321c1729db5b initial checkin
penk
parents:
diff changeset
  1522
    ^ holder.
9514
c818ca8969f7 comment/format in: #filenameHolder
Claus Gittinger <cg@exept.de>
parents: 9476
diff changeset
  1523
c818ca8969f7 comment/format in: #filenameHolder
Claus Gittinger <cg@exept.de>
parents: 9476
diff changeset
  1524
    "Modified: / 09-07-2010 / 19:25:15 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1525
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1526
8183
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1527
filenameHolder:aHolder 
8182
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1528
    "needed when used as subcanvas"
8183
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1529
    
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1530
    |holder|
8182
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1531
8183
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1532
    holder := builder aspectAt:#filenameHolder.
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1533
    holder notNil ifTrue:[
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1534
        holder removeDependent:self
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1535
    ].
8182
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1536
    builder aspectAt:#filenameHolder put:aHolder.
8183
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1537
    aHolder addDependent:self
8182
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1538
!
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1539
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1540
filenameLabelHolder
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1541
    "Return a value holder for the input string.
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1542
    "
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1543
    filenameLabelHolder isNil ifTrue:[
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1544
        filenameLabelHolder := 'Filename:' asValue.
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1545
    ].
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1546
    ^ filenameLabelHolder
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1547
!
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1548
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1549
filterHolder
8183
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1550
    "Return a value holder for filter"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1551
321c1729db5b initial checkin
penk
parents:
diff changeset
  1552
    filterHolder isNil ifTrue:[
8191
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1553
        filterHolder := (self pattern ? '*') asValue.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1554
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1555
    ^ filterHolder
321c1729db5b initial checkin
penk
parents:
diff changeset
  1556
!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1557
8183
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1558
filterHolder:aHolder
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1559
    "needed when used as subcanvas"
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1560
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1561
    filterHolder := aHolder.
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1562
!
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1563
9113
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1564
gotoBookmarksMenu
6098
8b70ed799a5e bookmarks
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1565
    <resource: #programMenu>
8b70ed799a5e bookmarks
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1566
9113
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1567
    ^ treeBrowser gotoBookmarksMenu
7567
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1568
"/    |menu bookmarks|
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1569
"/
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1570
"/    menu := treeBrowser class emptyMenuSpec decodeAsLiteralArray.
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1571
"/    menu findGuiResourcesIn:self.
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1572
"/    menu receiver:self.
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1573
"/
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1574
"/    "/ add the bookmark items ...
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1575
"/    bookmarks := treeBrowser class directoryBookmarks.
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1576
"/    bookmarks notEmptyOrNil ifTrue:[
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1577
"/        bookmarks do:[:dirName |
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1578
"/            menu addItem:((MenuItem label:dirName asString value:[
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1579
"/                (treeBrowser currentSelectedDirectories includes:dirName) ifFalse:[
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1580
"/                    treeBrowser setCurrentFileName:dirName.
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1581
"/                ].
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1582
"/            ])).
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1583
"/        ].
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1584
"/    ].
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1585
"/    ^ menu
6098
8b70ed799a5e bookmarks
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1586
7567
9896e794a220 share the bookmarks-menu with the fileBrowser.
Claus Gittinger <cg@exept.de>
parents: 6953
diff changeset
  1587
    "Modified: / 06-12-2006 / 12:05:06 / cg"
6098
8b70ed799a5e bookmarks
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1588
!
8b70ed799a5e bookmarks
Claus Gittinger <cg@exept.de>
parents: 6096
diff changeset
  1589
6065
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1590
listOfDeviceDrives
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1591
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1592
    listOfDeviceDrives isNil ifTrue:[
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1593
        listOfDeviceDrives := Filename volumes.
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1594
    ].
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1595
    ^ listOfDeviceDrives
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1596
!
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1597
15766
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1598
okLabelEnabled
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1599
    <resource: #uiAspect>
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1600
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1601
    okLabelEnabled isNil ifTrue:[
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1602
        isLoadDialog ifTrue:[
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1603
            okLabelEnabled := BlockValue
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1604
                                with:[:filename| filename notNil 
15768
3405f2a5d212 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15767
diff changeset
  1605
                                                       and:[
3405f2a5d212 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15767
diff changeset
  1606
                                                             |physicalFilename|
3405f2a5d212 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15767
diff changeset
  1607
                                                             physicalFilename := filename asFilename physicalFilename.
3405f2a5d212 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15767
diff changeset
  1608
                                                             physicalFilename notNil and:[
3405f2a5d212 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15767
diff changeset
  1609
                                                                 viewFiles 
3405f2a5d212 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15767
diff changeset
  1610
                                                                    ifTrue:[physicalFilename isRegularFile]
3405f2a5d212 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15767
diff changeset
  1611
                                                                    ifFalse:[physicalFilename isDirectory]
3405f2a5d212 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15767
diff changeset
  1612
                                                             ].
15766
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1613
                                                        ]
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1614
                                                  ]
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1615
                                argument:self filenameHolder.
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1616
        ] ifFalse:[
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1617
            okLabelEnabled := true.
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1618
        ].
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1619
    ].
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1620
    ^ okLabelEnabled.
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1621
!
333b7bb6193b class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15725
diff changeset
  1622
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1623
okLabelHolder
16185
e19eb69ac57d #DOCUMENTATION
Claus Gittinger <cg@exept.de>
parents: 15768
diff changeset
  1624
    <resource: #uiAspect>
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1625
321c1729db5b initial checkin
penk
parents:
diff changeset
  1626
    okLabelHolder isNil ifTrue:[
321c1729db5b initial checkin
penk
parents:
diff changeset
  1627
        okLabelHolder := 'OK' asValue.
321c1729db5b initial checkin
penk
parents:
diff changeset
  1628
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1629
    ^ okLabelHolder.
6065
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1630
!
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1631
8191
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1632
rootDirectoryHolder
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1633
    "Return a value holder for filter"
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1634
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1635
    rootDirectoryHolder isNil ifTrue:[
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1636
        rootDirectoryHolder := self initialRootDirectory asValue.
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1637
    ].
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1638
    ^ rootDirectoryHolder
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1639
!
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1640
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1641
rootDirectoryHolder:aHolder
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1642
    "Return a value holder for filter"
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1643
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1644
    rootDirectoryHolder := aHolder.
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1645
!
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1646
6065
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1647
selectedDeviceDrive
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1648
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1649
    selectedDeviceDrive isNil ifTrue:[
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1650
        selectedDeviceDrive := self listOfDeviceDrives first asValue.
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1651
        selectedDeviceDrive addDependent:self.
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1652
    ].
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1653
    ^ selectedDeviceDrive
9110
9fcea22ea3b7 showHiddenFiles
Claus Gittinger <cg@exept.de>
parents: 8663
diff changeset
  1654
!
9fcea22ea3b7 showHiddenFiles
Claus Gittinger <cg@exept.de>
parents: 8663
diff changeset
  1655
9113
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1656
showDirectoryTree
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1657
    ^ false
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1658
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1659
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1660
showDiskUsageHolder
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1661
    ^ treeBrowser showDiskUsageHolder
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1662
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1663
9110
9fcea22ea3b7 showHiddenFiles
Claus Gittinger <cg@exept.de>
parents: 8663
diff changeset
  1664
showHiddenFiles
9113
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1665
    ^ treeBrowser showHiddenFiles
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1666
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1667
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1668
shownFiles
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1669
    ^ treeBrowser shownFiles
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1670
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1671
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1672
sortCaselessInTreeBrowser
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1673
    ^ treeBrowser sortCaselessInTreeBrowser
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1674
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1675
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1676
sortInTreeVisibilityHolder
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1677
    ^ true
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1678
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1679
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1680
sortPropertyInTree
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1681
    ^ treeBrowser sortBlockProperty
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1682
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1683
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1684
viewDirsInContentsBrowser
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1685
    ^ false
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1686
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1687
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1688
viewFilesInDirectoryTree
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1689
    ^ false
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1690
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1691
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1692
viewNoteBookApplicationHolder
9110
9fcea22ea3b7 showHiddenFiles
Claus Gittinger <cg@exept.de>
parents: 8663
diff changeset
  1693
    ^ false
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1694
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1695
321c1729db5b initial checkin
penk
parents:
diff changeset
  1696
!FileDialog methodsFor:'change & update'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1697
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1698
buttonPanelVisibilityChanged
12848
90fde21c7de4 class: Expecco::ExpeccoDebugView
Claus Gittinger <cg@exept.de>
parents: 12828
diff changeset
  1699
    |panel filePart partAbove|
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1700
12848
90fde21c7de4 class: Expecco::ExpeccoDebugView
Claus Gittinger <cg@exept.de>
parents: 12828
diff changeset
  1701
    panel := builder componentAt:#FilePanel.
90fde21c7de4 class: Expecco::ExpeccoDebugView
Claus Gittinger <cg@exept.de>
parents: 12828
diff changeset
  1702
    panel isNil ifTrue:[
90fde21c7de4 class: Expecco::ExpeccoDebugView
Claus Gittinger <cg@exept.de>
parents: 12828
diff changeset
  1703
        filePart := builder componentAt:#FilePart.
90fde21c7de4 class: Expecco::ExpeccoDebugView
Claus Gittinger <cg@exept.de>
parents: 12828
diff changeset
  1704
    ].
90fde21c7de4 class: Expecco::ExpeccoDebugView
Claus Gittinger <cg@exept.de>
parents: 12828
diff changeset
  1705
    partAbove := panel ? filePart.
90fde21c7de4 class: Expecco::ExpeccoDebugView
Claus Gittinger <cg@exept.de>
parents: 12828
diff changeset
  1706
    partAbove notNil ifTrue:[
5598
5b48cc4c1ef6 Fix for hideButtonPanel
Stefan Vogel <sv@exept.de>
parents: 5571
diff changeset
  1707
        buttonPanelVisibleHolder value ifTrue:[
12848
90fde21c7de4 class: Expecco::ExpeccoDebugView
Claus Gittinger <cg@exept.de>
parents: 12828
diff changeset
  1708
            partAbove layout bottomOffset:-40
5598
5b48cc4c1ef6 Fix for hideButtonPanel
Stefan Vogel <sv@exept.de>
parents: 5571
diff changeset
  1709
        ] ifFalse:[
12848
90fde21c7de4 class: Expecco::ExpeccoDebugView
Claus Gittinger <cg@exept.de>
parents: 12828
diff changeset
  1710
            partAbove layout bottomOffset:0
5598
5b48cc4c1ef6 Fix for hideButtonPanel
Stefan Vogel <sv@exept.de>
parents: 5571
diff changeset
  1711
        ].
12848
90fde21c7de4 class: Expecco::ExpeccoDebugView
Claus Gittinger <cg@exept.de>
parents: 12828
diff changeset
  1712
        partAbove containerChangedSize    "/ force resize
5598
5b48cc4c1ef6 Fix for hideButtonPanel
Stefan Vogel <sv@exept.de>
parents: 5571
diff changeset
  1713
   ]
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1714
!
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1715
9765
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1716
fileSelectionChanged
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1717
    |files newFile entryFieldFilename filenameHolder|
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1718
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1719
    filenameHolder := self filenameHolder.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1720
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1721
    files := treeBrowser currentFileNameHolder value.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1722
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1723
    (files isEmpty) ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1724
        newFile := nil.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1725
    ] ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1726
        files size == 1 ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1727
            newFile := files first.    
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1728
        ] ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1729
            newFile := ''.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1730
        ].
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1731
    ].
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1732
    (filenameHolder value notNil 
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1733
    and:[newFile notNil 
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1734
    and:[newFile asFilename isDirectory]]) ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1735
        entryFieldFilename := filenameHolder value asFilename.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1736
        self startFilename asFilename baseName = entryFieldFilename baseName ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1737
            entryFieldFilename isDirectory ifFalse:[
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1738
                newFile := newFile asFilename construct:entryFieldFilename baseName.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1739
            ].
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1740
        ].
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1741
    ].
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1742
    filenameHolder value:newFile withoutNotifying:self.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1743
    OperatingSystem supportsVolumes ifTrue:[
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1744
        | volume |
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1745
        volume := (files size >= 1) 
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1746
                ifTrue:[files first volume] 
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1747
                ifFalse:nil.    
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1748
        self selectedDeviceDrive value:volume.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1749
    ].
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1750
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1751
    "Created: / 14-02-2011 / 17:54:08 / cg"
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1752
!
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1753
6065
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1754
selectedDeviceDriveChanged
9683
83fb945b7a5a changed: #selectedDeviceDriveChanged
Claus Gittinger <cg@exept.de>
parents: 9678
diff changeset
  1755
    |newDrive curSel newFile|
6065
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1756
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1757
    newDrive := self selectedDeviceDrive value.
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1758
    curSel := treeBrowser currentFileNameHolder value.
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1759
    curSel notEmpty ifTrue:[
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1760
        curSel first volume = newDrive ifTrue:[ ^self].
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1761
    ].
9683
83fb945b7a5a changed: #selectedDeviceDriveChanged
Claus Gittinger <cg@exept.de>
parents: 9678
diff changeset
  1762
6065
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1763
    newDrive notNil ifTrue:[
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1764
        newFile := newDrive asFilename.
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1765
        newFile isReadable ifTrue:[
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1766
            treeBrowser gotoFile:newFile.
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1767
            ^self.
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1768
        ].
9683
83fb945b7a5a changed: #selectedDeviceDriveChanged
Claus Gittinger <cg@exept.de>
parents: 9678
diff changeset
  1769
        self warn:'Cannot open drive %1' with:newFile asFilename volume.
6065
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1770
    ].
9683
83fb945b7a5a changed: #selectedDeviceDriveChanged
Claus Gittinger <cg@exept.de>
parents: 9678
diff changeset
  1771
16477
590a1ae33527 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16265
diff changeset
  1772
    newDrive := curSel notEmpty 
590a1ae33527 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16265
diff changeset
  1773
                    ifTrue:[ curSel first volume ] 
590a1ae33527 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16265
diff changeset
  1774
                    ifFalse:[ 
590a1ae33527 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16265
diff changeset
  1775
                        OperatingSystem isMSWINDOWSlike ifTrue:['C:'] ifFalse:['/']
590a1ae33527 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16265
diff changeset
  1776
                        "/ Filename defaultVolumeName.
590a1ae33527 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 16265
diff changeset
  1777
                    ].
9683
83fb945b7a5a changed: #selectedDeviceDriveChanged
Claus Gittinger <cg@exept.de>
parents: 9678
diff changeset
  1778
    self selectedDeviceDrive value:newDrive.
6065
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1779
!
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1780
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1781
update:something with:aParameter from:changedObject
9765
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1782
    |newLabel fn|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1783
321c1729db5b initial checkin
penk
parents:
diff changeset
  1784
    changedObject == treeBrowser currentFileNameHolder ifTrue:[
9765
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1785
        self fileSelectionChanged.
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1786
        ^ self.
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1787
    ].
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1788
6065
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1789
    changedObject == self selectedDeviceDrive ifTrue:[
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1790
        self selectedDeviceDriveChanged.
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1791
        ^ self.
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  1792
    ].
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1793
    changedObject == treeBrowser viewFilesInDirectoryTree ifTrue:[
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1794
        changedObject value ifTrue:[
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1795
            newLabel := 'Filename:'.
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1796
        ] ifFalse:[
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1797
            newLabel := 'Directory:'.
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1798
        ].
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1799
        self filenameLabelHolder value:(resources string:newLabel)
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1800
    ].
9765
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1801
    changedObject == self filenameHolder ifTrue:[
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1802
        fn := changedObject value asFilename.
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1803
        (fn exists) ifFalse:[^ self].
9514
c818ca8969f7 comment/format in: #filenameHolder
Claus Gittinger <cg@exept.de>
parents: 9476
diff changeset
  1804
        treeBrowser currentFileNameHolder 
c818ca8969f7 comment/format in: #filenameHolder
Claus Gittinger <cg@exept.de>
parents: 9476
diff changeset
  1805
                        value:(OrderedCollection with:fn) withoutNotifying:self.
5949
bf5584691fd6 *** empty log message ***
penk
parents: 5934
diff changeset
  1806
        fn isDirectory ifTrue:[
bf5584691fd6 *** empty log message ***
penk
parents: 5934
diff changeset
  1807
            treeBrowser expandEnforceSelectedItems.
bf5584691fd6 *** empty log message ***
penk
parents: 5934
diff changeset
  1808
        ].
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1809
    ].
321c1729db5b initial checkin
penk
parents:
diff changeset
  1810
    ^ super update:something with:aParameter from:changedObject
9514
c818ca8969f7 comment/format in: #filenameHolder
Claus Gittinger <cg@exept.de>
parents: 9476
diff changeset
  1811
9765
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1812
    "Modified: / 14-02-2011 / 17:54:35 / cg"
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1813
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1814
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  1815
!FileDialog methodsFor:'construction-adding'!
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  1816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  1817
addComponent: aView
12875
71b7b9b6216e class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12848
diff changeset
  1818
    verticalPanelView addComponent: aView
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  1819
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  1820
    "Created: / 03-06-2013 / 17:47:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
18223
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1821
!
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1822
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1823
addComponent: aView labeled: aString
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1824
    | label labelAndComponent |
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1825
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1826
    label := Label new label: aString.
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1827
    label preferredExtent: ((self builder componentAt: #FilenameLabel) width @ label preferredExtent y).
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1828
    label adjust:#left.  
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1829
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1830
    labelAndComponent := HorizontalPanelView new.
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1831
    labelAndComponent horizontalLayout: #leftFit.
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1832
    labelAndComponent add: label; add: aView.
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1833
    ^ self addComponent: labelAndComponent
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1834
920de32128c2 `ChangeSetBrowser2`: allow to choose/change changeset format in file dialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16803
diff changeset
  1835
    "Created: / 05-03-2018 / 12:03:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  1836
! !
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  1837
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1838
!FileDialog methodsFor:'event handling'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1839
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1840
appendWasPressed
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1841
    "valid after the dialog has been closed: true if append was pressed"
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1842
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1843
    ^ appendWasPressed
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1844
! !
321c1729db5b initial checkin
penk
parents:
diff changeset
  1845
321c1729db5b initial checkin
penk
parents:
diff changeset
  1846
!FileDialog methodsFor:'initialization & release'!
321c1729db5b initial checkin
penk
parents:
diff changeset
  1847
5932
eea85a7af4b1 remark last extent
penk
parents: 5931
diff changeset
  1848
closeDownViews
9765
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1849
    self rememberExtent.
5932
eea85a7af4b1 remark last extent
penk
parents: 5931
diff changeset
  1850
    super closeDownViews.
9765
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1851
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1852
    "Modified: / 14-02-2011 / 17:55:14 / cg"
5932
eea85a7af4b1 remark last extent
penk
parents: 5931
diff changeset
  1853
!
eea85a7af4b1 remark last extent
penk
parents: 5931
diff changeset
  1854
eea85a7af4b1 remark last extent
penk
parents: 5931
diff changeset
  1855
closeWindow
9765
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1856
    self rememberExtent.
5932
eea85a7af4b1 remark last extent
penk
parents: 5931
diff changeset
  1857
    super closeWindow.
9765
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1858
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  1859
    "Modified: / 14-02-2011 / 17:55:55 / cg"
5932
eea85a7af4b1 remark last extent
penk
parents: 5931
diff changeset
  1860
!
eea85a7af4b1 remark last extent
penk
parents: 5931
diff changeset
  1861
5903
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1862
commonPostOpen
8182
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1863
    |selection|
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1864
321c1729db5b initial checkin
penk
parents:
diff changeset
  1865
"/     self windowGroup addPreEventHook:self.
4728
545cd2c65dfa hooks to allow use as component in a non-modal subcanvas
Claus Gittinger <cg@exept.de>
parents: 4666
diff changeset
  1866
3892
321c1729db5b initial checkin
penk
parents:
diff changeset
  1867
    treeBrowser currentFileNameHolder addDependent:self.
5598
5b48cc4c1ef6 Fix for hideButtonPanel
Stefan Vogel <sv@exept.de>
parents: 5571
diff changeset
  1868
    treeBrowser doubleClickAction:self doubleClickAction.
3904
7f20fe941a4c add requestFilenames method
penk
parents: 3892
diff changeset
  1869
    treeBrowser viewFilesInDirectoryTree addDependent:self.
5863
e31e066a41d9 root is one up (showing containing directory)
Claus Gittinger <cg@exept.de>
parents: 5858
diff changeset
  1870
6409
b4e8b1c4c2d6 initialRootDirectory: set to directory browser too
ca
parents: 6356
diff changeset
  1871
    treeBrowser rootHolder value:(self initialRootDirectory).
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1872
    treeBrowser viewFilesInDirectoryTree setValue:(self viewFiles ? true).
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  1873
    treeBrowser viewFilesInDirectoryTree changed.
4804
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1874
406ea13c6b0a initial selection;
Claus Gittinger <cg@exept.de>
parents: 4796
diff changeset
  1875
    self isLoadDialog ifTrue:[
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  1876
        treeBrowser newVisibilityHolder value:false.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  1877
        treeBrowser allowFileOperations value:false.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  1878
        self newDirectoryVisibilityHolder value:false.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  1879
    ].
5927
1f8faa30e394 expand selected directory item on startup
penk
parents: 5924
diff changeset
  1880
    treeBrowser expandEnforceSelectedItems.
5929
456900f1aba5 *** empty log message ***
martin
parents: 5927
diff changeset
  1881
456900f1aba5 *** empty log message ***
martin
parents: 5927
diff changeset
  1882
    selection := treeBrowser treeSelectionHolder value.
456900f1aba5 *** empty log message ***
martin
parents: 5927
diff changeset
  1883
    selection notEmptyOrNil ifTrue:[
5930
e334dcfffb9e *** empty log message ***
martin
parents: 5929
diff changeset
  1884
        selection := selection asCollection first.
5929
456900f1aba5 *** empty log message ***
martin
parents: 5927
diff changeset
  1885
        selection enforcedExpand.
456900f1aba5 *** empty log message ***
martin
parents: 5927
diff changeset
  1886
        treeBrowser browser makeItemVisible:selection withMinimumLines:5.
456900f1aba5 *** empty log message ***
martin
parents: 5927
diff changeset
  1887
    ].
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  1888
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  1889
6409
b4e8b1c4c2d6 initialRootDirectory: set to directory browser too
ca
parents: 6356
diff changeset
  1890
initialRootDirectory
b4e8b1c4c2d6 initialRootDirectory: set to directory browser too
ca
parents: 6356
diff changeset
  1891
    "returns the directory the browser is open on
b4e8b1c4c2d6 initialRootDirectory: set to directory browser too
ca
parents: 6356
diff changeset
  1892
    "
b4e8b1c4c2d6 initialRootDirectory: set to directory browser too
ca
parents: 6356
diff changeset
  1893
    |root|
b4e8b1c4c2d6 initialRootDirectory: set to directory browser too
ca
parents: 6356
diff changeset
  1894
9678
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1895
    initialRoot isNil ifTrue:[
6409
b4e8b1c4c2d6 initialRootDirectory: set to directory browser too
ca
parents: 6356
diff changeset
  1896
9678
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1897
        (root := self directory) notNil ifTrue:[
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1898
            root := root asFilename.
6409
b4e8b1c4c2d6 initialRootDirectory: set to directory browser too
ca
parents: 6356
diff changeset
  1899
b4e8b1c4c2d6 initialRootDirectory: set to directory browser too
ca
parents: 6356
diff changeset
  1900
            root isDirectory ifFalse:[
9678
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1901
                root := root directory.
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1902
                root isDirectory ifFalse:[
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1903
                    root := nil.
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1904
                ]
6409
b4e8b1c4c2d6 initialRootDirectory: set to directory browser too
ca
parents: 6356
diff changeset
  1905
            ]
9678
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1906
        ].
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1907
        root isNil ifTrue:[
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1908
            root := Filename currentDirectory.
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1909
        ].
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1910
        initialRoot := root asAbsoluteFilename.
6409
b4e8b1c4c2d6 initialRootDirectory: set to directory browser too
ca
parents: 6356
diff changeset
  1911
    ].
9678
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1912
    ^ initialRoot
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1913
04cf959bfd96 cache initial root
Claus Gittinger <cg@exept.de>
parents: 9553
diff changeset
  1914
    "Modified: / 27-12-2010 / 09:56:30 / cg"
6409
b4e8b1c4c2d6 initialRootDirectory: set to directory browser too
ca
parents: 6356
diff changeset
  1915
!
b4e8b1c4c2d6 initialRootDirectory: set to directory browser too
ca
parents: 6356
diff changeset
  1916
15767
88e8fdf4633d class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15766
diff changeset
  1917
initialize
15768
3405f2a5d212 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15767
diff changeset
  1918
    super initialize.
15767
88e8fdf4633d class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15766
diff changeset
  1919
    isLoadDialog := false.
88e8fdf4633d class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15766
diff changeset
  1920
!
88e8fdf4633d class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 15766
diff changeset
  1921
5903
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1922
postBuildFileNameField:aWidget
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1923
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1924
    filenameField := aWidget.
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1925
!
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1926
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1927
postBuildFilterField:aWidget
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1928
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1929
    filterField := aWidget.
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  1930
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  1931
5903
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1932
postBuildTreeBrowser:aSubCanvasView
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1933
    treeBrowser := aSubCanvasView client.
6409
b4e8b1c4c2d6 initialRootDirectory: set to directory browser too
ca
parents: 6356
diff changeset
  1934
    treeBrowser rootHolder value:(self initialRootDirectory value).
9113
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  1935
    treeBrowser sortPropertyInTree:(treeBrowser sortBlockProperty).
9553
5ff0056960d1 changed: #postBuildTreeBrowser:
sr
parents: 9514
diff changeset
  1936
    treeBrowser showHiddenFiles value:true.
5ff0056960d1 changed: #postBuildTreeBrowser:
sr
parents: 9514
diff changeset
  1937
5ff0056960d1 changed: #postBuildTreeBrowser:
sr
parents: 9514
diff changeset
  1938
    "Modified: / 24-08-2010 / 16:07:16 / sr"
5903
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1939
!
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  1940
12875
71b7b9b6216e class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12848
diff changeset
  1941
postBuildVerticalPanelView:aView
71b7b9b6216e class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12848
diff changeset
  1942
    verticalPanelView := aView.
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  1943
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  1944
    "Created: / 03-06-2013 / 17:41:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  1945
!
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  1946
13004
3f9586e7a857 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 13003
diff changeset
  1947
postBuildWith:aBuilder 
3f9586e7a857 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 13003
diff changeset
  1948
    |win hMin|
3f9586e7a857 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 13003
diff changeset
  1949
5903
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1950
    treeBrowser multipleSelect:multipleSelect.
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1951
    appendWasPressed := false.
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1952
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1953
    (aBuilder componentAt:'cancelButton') cursor:(Cursor thumbsDown).
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1954
    (aBuilder componentAt:'appendButton') cursor:(Cursor thumbsUp).
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1955
    (aBuilder componentAt:'okButton') cursor:(Cursor thumbsUp).
0c2fdcd6babf make use of commonPostOpen in AppModel
Claus Gittinger <cg@exept.de>
parents: 5873
diff changeset
  1956
13004
3f9586e7a857 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 13003
diff changeset
  1957
    win := aBuilder window .
13187
dd48e947da4a class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13090
diff changeset
  1958
    win minExtent notNil ifTrue:[
dd48e947da4a class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13090
diff changeset
  1959
        "minExtent is nil if window is not a TopView"
dd48e947da4a class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13090
diff changeset
  1960
        hMin := (win margin * 2)
dd48e947da4a class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13090
diff changeset
  1961
                + (aBuilder menuBar isNil ifTrue:[0] ifFalse:[aBuilder menuBar preferredHeight])
dd48e947da4a class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13090
diff changeset
  1962
                + (aBuilder componentAt:#FilenameEntryField) height
dd48e947da4a class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13090
diff changeset
  1963
                + (aBuilder componentAt:#ToolBar1) preferredHeight
dd48e947da4a class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13090
diff changeset
  1964
                + (aBuilder componentAt:#ButtonPanel) preferredHeight.
13004
3f9586e7a857 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 13003
diff changeset
  1965
13187
dd48e947da4a class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13090
diff changeset
  1966
        win minExtent:(win minExtent x @ hMin).
dd48e947da4a class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13090
diff changeset
  1967
    ].
13090
4e05bced2aae class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 13025
diff changeset
  1968
    win topView label:self initialText.
13004
3f9586e7a857 class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 13003
diff changeset
  1969
6632
ea16a307f70e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 6482
diff changeset
  1970
    super postBuildWith:aBuilder
5932
eea85a7af4b1 remark last extent
penk
parents: 5931
diff changeset
  1971
!
eea85a7af4b1 remark last extent
penk
parents: 5931
diff changeset
  1972
8182
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1973
postOpenAsSubcanvasWith:aBuilder
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1974
    super postOpenAsSubcanvasWith:aBuilder.
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1975
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1976
    "No ok and cancel buttons, when dialog is part of a larger dialog"
8191
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1977
    self hideButtonPanel.
8183
ff8c8d68267e Make reusable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8182
diff changeset
  1978
9809
fa5280b1259f changed: #postOpenAsSubcanvasWith:
Stefan Vogel <sv@exept.de>
parents: 9769
diff changeset
  1979
    "filenameHolder contains the initial file name, or nil"
8191
1779a8c3730d Make FileDialog usable as SubCanvas
Stefan Vogel <sv@exept.de>
parents: 8183
diff changeset
  1980
    self startFilename:self filenameHolder value.
9809
fa5280b1259f changed: #postOpenAsSubcanvasWith:
Stefan Vogel <sv@exept.de>
parents: 9769
diff changeset
  1981
    treeBrowser currentFileNameHolder value:(Array with:self startFilename).
8182
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1982
!
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1983
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  1984
preOpenWith:aBuilder
12883
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  1985
    "called right before being opened"
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  1986
13025
8244753fe0a7 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13004
diff changeset
  1987
    |delta|
8182
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  1988
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  1989
    "Increase height of the window so height of the file part
12875
71b7b9b6216e class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12848
diff changeset
  1990
     remain the same. This cares for any components added by a hook"
71b7b9b6216e class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12848
diff changeset
  1991
71b7b9b6216e class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12848
diff changeset
  1992
    verticalPanelView notNil ifTrue:[
12883
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  1993
        delta := verticalPanelView preferredHeight - verticalPanelView height.
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  1994
        delta > 0 ifTrue:[
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  1995
            "/ components where added (possibly in the aboutToOpenBoxNotifiction
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  1996
            aBuilder window height: (aBuilder window height + delta).
12875
71b7b9b6216e class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12848
diff changeset
  1997
        ].
12883
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  1998
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  1999
"/        sumH := 0.
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  2000
"/        verticalPanelView subViews from:2 do:[:view|
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  2001
"/            sumH := sumH + view preferredHeight.
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  2002
"/        ].
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  2003
"/        sumH ~~ 0 ifTrue:[
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  2004
"/            newVPanelHeight := verticalPanelView preferredHeight374
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  2005
"/            aBuilder window height: aBuilder window height + sumH.
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  2006
"/        ].
8182
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  2007
    ].
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  2008
14151
649b6d53e148 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13741
diff changeset
  2009
    treeBrowser currentFileNameHolder value:(Array with:self startFilename).
649b6d53e148 class: FileDialog
Stefan Vogel <sv@exept.de>
parents: 13741
diff changeset
  2010
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  2011
    "Created: / 03-06-2013 / 18:19:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8182
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  2012
!
4fd82dbf97b3 design for reusability
Stefan Vogel <sv@exept.de>
parents: 8169
diff changeset
  2013
9765
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  2014
rememberExtent
5932
eea85a7af4b1 remark last extent
penk
parents: 5931
diff changeset
  2015
    self class lastExtent:self window topView extent.
9765
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  2016
Claus Gittinger <cg@exept.de>
parents: 9683
diff changeset
  2017
    "Created: / 14-02-2011 / 17:55:11 / cg"
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2018
! !
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2019
9113
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2020
!FileDialog methodsFor:'menus'!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2021
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2022
bookmarksMenu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2023
    ^ treeBrowser bookmarksMenu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2024
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2025
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2026
directoryMenu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2027
    ^ treeBrowser directoryMenu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2028
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2029
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2030
showMenuSpecForDialog
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2031
    ^ treeBrowser class showMenuSpecForDialog
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2032
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2033
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2034
sortMenu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2035
    ^ treeBrowser class sortInTreeMenu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2036
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2037
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2038
visitedDirectoriesMenu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2039
    ^ treeBrowser visitedDirectoriesMenu
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2040
! !
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2041
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2042
!FileDialog methodsFor:'private'!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2043
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2044
returnWasPressedInFilterField
8663
22e0a2969ab2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8661
diff changeset
  2045
    |wg ev|
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2046
8663
22e0a2969ab2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8661
diff changeset
  2047
    ((wg := self windowGroup) notNil
22e0a2969ab2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8661
diff changeset
  2048
    and:[ (ev := wg lastEvent) notNil 
22e0a2969ab2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8661
diff changeset
  2049
    and:[ ev isKeyEvent 
22e0a2969ab2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8661
diff changeset
  2050
    and:[ ev key == #Return
22e0a2969ab2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8661
diff changeset
  2051
    and:[ (ev targetView isSameOrComponentOf:filterField) 
22e0a2969ab2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8661
diff changeset
  2052
          or:[false "ev targetView isSameOrComponentOf:filenameField"]]]]]) ifTrue:[
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2053
        ^ true
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2054
    ].
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2055
    ^ false
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2056
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2057
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2058
returnWasPressedInFilterOrFilenameField
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2059
    |ev|
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2060
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2061
    ev := self windowGroup lastEvent.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2062
    (ev notNil 
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2063
    and:[ev isKeyEvent 
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2064
    and:[ev key == #Return
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2065
    and:[(   ev targetView isSameOrComponentOf:filterField) 
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2066
         or:[false "ev targetView isSameOrComponentOf:filenameField"]]]]) ifTrue:[
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2067
        ^ true
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2068
    ].
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2069
    ^ false
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2070
! !
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2071
6065
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  2072
!FileDialog methodsFor:'queries'!
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  2073
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  2074
driveSelectorVisible
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  2075
    ^ OperatingSystem isMSDOSlike
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  2076
! !
500ec804b779 *** empty log message ***
penk
parents: 5982
diff changeset
  2077
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2078
!FileDialog methodsFor:'user actions'!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2079
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2080
appendPressed
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2081
    appendWasPressed := true.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2082
    self commonAcceptAction.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2083
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2084
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2085
commonAcceptAction
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2086
    filenameField accept.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2087
    self result:(self filenameHolder value asString).
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2088
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2089
    ^ super doAccept
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2090
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2091
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2092
doAccept
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2093
    "force accept - ignore in filterField"
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2094
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2095
    self returnWasPressedInFilterField ifTrue:[
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2096
        ^ self
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2097
    ].
4996
5927cc0508e8 close the editor in treebrowser on rename if ENTER is pressed
penk
parents: 4824
diff changeset
  2098
    treeBrowser hasOpenEditor ifTrue:[
5927cc0508e8 close the editor in treebrowser on rename if ENTER is pressed
penk
parents: 4824
diff changeset
  2099
        "/ have to send the event to the TreeView
5927cc0508e8 close the editor in treebrowser on rename if ENTER is pressed
penk
parents: 4824
diff changeset
  2100
        treeBrowser browser closeEditor.
5927cc0508e8 close the editor in treebrowser on rename if ENTER is pressed
penk
parents: 4824
diff changeset
  2101
        ^ self
5927cc0508e8 close the editor in treebrowser on rename if ENTER is pressed
penk
parents: 4824
diff changeset
  2102
    ].
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2103
    appendWasPressed := false.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2104
    self commonAcceptAction.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2105
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2106
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2107
doBack
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2108
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2109
    treeBrowser doBack.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2110
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2111
5966
a677b08c76c0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5949
diff changeset
  2112
doBrowseDirectory
a677b08c76c0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5949
diff changeset
  2113
    UserPreferences fileBrowserClass openOn:(treeBrowser currentDirectory ? treeBrowser rootHolder value).
a677b08c76c0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5949
diff changeset
  2114
a677b08c76c0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5949
diff changeset
  2115
a677b08c76c0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5949
diff changeset
  2116
!
a677b08c76c0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 5949
diff changeset
  2117
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2118
doCancel
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2119
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2120
    self result:nil.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2121
    ^ super doCancel.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2122
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2123
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2124
doForward
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2125
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2126
    treeBrowser doForward.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2127
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2128
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2129
doGoDirectoryUp
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2130
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2131
    treeBrowser doGoDirectoryUp.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2132
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2133
8092
c75f44bd9e69 doGotoDesktopDirectory
Claus Gittinger <cg@exept.de>
parents: 7919
diff changeset
  2134
doGotoDesktopDirectory
c75f44bd9e69 doGotoDesktopDirectory
Claus Gittinger <cg@exept.de>
parents: 7919
diff changeset
  2135
c75f44bd9e69 doGotoDesktopDirectory
Claus Gittinger <cg@exept.de>
parents: 7919
diff changeset
  2136
    treeBrowser doGotoDesktopDirectory.
c75f44bd9e69 doGotoDesktopDirectory
Claus Gittinger <cg@exept.de>
parents: 7919
diff changeset
  2137
!
c75f44bd9e69 doGotoDesktopDirectory
Claus Gittinger <cg@exept.de>
parents: 7919
diff changeset
  2138
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2139
doGotoHomeDirectory
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2140
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2141
    treeBrowser doGotoHomeDirectory.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2142
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2143
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2144
menuDirHistory:backOrForward
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2145
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2146
    ^ treeBrowser menuDirHistory:backOrForward.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2147
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2148
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2149
menuDirHistoryBack
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2150
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2151
    ^ treeBrowser menuDirHistory:#back.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2152
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2153
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2154
menuDirHistoryForward
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2155
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2156
    ^ treeBrowser menuDirHistory:#forward.
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2157
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2158
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2159
newDirectory
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2160
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2161
    ^ treeBrowser newDirectory
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2162
!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2163
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2164
okPressed
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2165
    self doAccept
9113
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2166
!
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2167
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2168
updateCurrentDirectory
c2f2d5819d28 menu, filters and sorting
Claus Gittinger <cg@exept.de>
parents: 9110
diff changeset
  2169
    treeBrowser updateCurrentDirectory
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2170
! !
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2171
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2172
!FileDialog class methodsFor:'documentation'!
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2173
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2174
version
15725
dc569f551deb class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15451
diff changeset
  2175
    ^ '$Header$'
12883
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  2176
!
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  2177
2f63aca5764d class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 12875
diff changeset
  2178
version_CVS
15725
dc569f551deb class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15451
diff changeset
  2179
    ^ '$Header$'
9110
9fcea22ea3b7 showHiddenFiles
Claus Gittinger <cg@exept.de>
parents: 8663
diff changeset
  2180
!
9fcea22ea3b7 showHiddenFiles
Claus Gittinger <cg@exept.de>
parents: 8663
diff changeset
  2181
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  2182
version_HG
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  2183
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  2184
    ^ '$Changeset: <not expanded> $'
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  2185
!
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  2186
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  2187
version_SVN
15725
dc569f551deb class: FileDialog
Claus Gittinger <cg@exept.de>
parents: 15451
diff changeset
  2188
    ^ '$Id$'
4796
9131f6780fb5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 4795
diff changeset
  2189
! !
12816
5f4528d9703d class: FileDialog
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9809
diff changeset
  2190