# HG changeset patch # User Claus Gittinger # Date 961154901 -7200 # Node ID 1a2e94a447e17ea4b3846d818eb3b0af19558398 # Parent 5643f96382509ec31a7a9f1818c99fd852dd035f added createDir and update menu-items diff -r 5643f9638250 -r 1a2e94a447e1 FileSelectionBrowser.st --- a/FileSelectionBrowser.st Fri May 05 11:27:48 2000 +0200 +++ b/FileSelectionBrowser.st Fri Jun 16 13:28:21 2000 +0200 @@ -12,6 +12,8 @@ +"{ Package: 'stx:libtool2' }" + SelectionBrowser subclass:#FileSelectionBrowser instanceVariableNames:'selectedFileFilter directoryView listOfFileFilters directory' classVariableNames:'' @@ -265,6 +267,7 @@ #name: 'directoryTreeView' #layout: #(#LayoutFrame 0 0.0 0 0.0 0 1.0 -25 1.0) #model: #selectionOfDirectory + #menu: #treeMenu #hasHorizontalScrollBar: true #hasVerticalScrollBar: true #miniScrollerHorizontal: true @@ -325,6 +328,44 @@ ) ! ! +!FileSelectionBrowser class methodsFor:'menu specs'! + +treeMenu + "This resource specification was automatically generated + by the MenuEditor of ST/X." + + "Do not manually edit this!! If it is corrupted, + the MenuEditor may not be able to read the specification." + + " + MenuEditor new openOnClass:FileSelectionBrowser andSelector:#treeMenu + (Menu new fromLiteralArrayEncoding:(FileSelectionBrowser treeMenu)) startUp + " + + + + ^ + #(#Menu + #( + #(#MenuItem + #label: 'Create directory...' + #translateLabel: true + #value: #menuCreateDirectory + ) + #(#MenuItem + #label: '-' + ) + #(#MenuItem + #label: 'Update' + #translateLabel: true + #value: #menuUpdate + ) + ) + nil + nil + ) +! ! + !FileSelectionBrowser methodsFor:'accessing'! directory: aDirectory @@ -454,6 +495,23 @@ self closeRequest ! +menuCreateDirectory + |newSubDirName currentDir| + + currentDir := self selectionOfDirectory value. + currentDir isNil ifTrue:[ + self warn:'No directory selected.'. + ^ self + ]. + newSubDirName := Dialog request:'Create new directory named:'. + (currentDir asFilename construct:newSubDirName) makeDirectory. + self menuUpdate +! + +menuUpdate + (self builder componentAt:#directoryTreeView) monitorCycle. +! + readDirectory self directoryTreeView selection notNil