--- 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
+ "
+
+ <resource: #menu>
+
+ ^
+ #(#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