class: AbstractFileBrowser
added:
#fileFileInPackage
#hasPackageDirectorySelected
changed: #fileMenu
added load package menu item - I was tired of typing...
--- a/AbstractFileBrowser.st Thu Mar 21 10:40:25 2013 +0100
+++ b/AbstractFileBrowser.st Thu Mar 21 12:50:39 2013 +0100
@@ -1667,6 +1667,7 @@
"Do not manually edit this!! If it is corrupted,
the MenuEditor may not be able to read the specification."
+
"
MenuEditor new openOnClass:AbstractFileBrowser andSelector:#fileMenu
(Menu new fromLiteralArrayEncoding:(AbstractFileBrowser fileMenu)) startUp
@@ -1680,7 +1681,6 @@
(MenuItem
label: 'Open'
itemValue: doShowFileContents
- translateLabel: true
)
(MenuItem
label: '-'
@@ -1689,20 +1689,22 @@
enabled: hasFileSelection
label: 'FileIn'
itemValue: fileFileIn
- translateLabel: true
)
(MenuItem
enabled: hasFileSelection
label: 'FileIn to Namespace...'
itemValue: fileFileInToNameSpace
- translateLabel: true
+ )
+ (MenuItem
+ enabled: hasPackageDirectorySelected
+ label: 'Load Package from Here'
+ itemValue: fileFileInPackage
)
(MenuItem
label: '-'
)
(MenuItem
label: 'New'
- translateLabel: true
submenuChannel: newMenu
keepLinkedMenu: true
)
@@ -1713,31 +1715,26 @@
enabled: hasSelection
label: 'Cut'
itemValue: cutFiles
- translateLabel: true
)
(MenuItem
enabled: hasSelection
label: 'Copy'
itemValue: copyFiles
- translateLabel: true
)
(MenuItem
enabled: canPaste
label: 'Paste'
itemValue: pasteFiles
- translateLabel: true
)
(MenuItem
enabled: hasSelection
label: 'Delete'
itemValue: deleteFiles
- translateLabel: true
)
(MenuItem
enabled: hasSelection
label: 'Erase'
itemValue: eraseFiles
- translateLabel: true
)
(MenuItem
label: '-'
@@ -1746,26 +1743,22 @@
enabled: hasSelection
label: 'Rename...'
itemValue: renameSelection
- translateLabel: true
shortcutKey: Rename
)
(MenuItem
enabled: hasSelection
label: 'Move To...'
itemValue: moveSelectionTo
- translateLabel: true
)
(MenuItem
enabled: hasSelection
label: 'Copy To...'
itemValue: copySelectionTo
- translateLabel: true
)
(MenuItem
enabled: hasSelection
label: 'Properties...'
itemValue: doShowProperties
- translateLabel: true
)
(MenuItem
label: '-'
@@ -1774,25 +1767,21 @@
(MenuItem
enabled: canAddToClassPath
label: 'Add to Java Class Path'
- translateLabel: true
isVisible: javaSupportLoaded
)
(MenuItem
enabled: canRemoveFromClassPath
label: 'Remove from Java Class Path'
- translateLabel: true
isVisible: javaSupportLoaded
)
(MenuItem
enabled: canAddToSourcePath
label: 'Add to Java Source Path'
- translateLabel: true
isVisible: javaSupportLoaded
)
(MenuItem
enabled: canRemoveFromSourcePath
label: 'Remove from Java Source Path'
- translateLabel: true
isVisible: javaSupportLoaded
)
(MenuItem
@@ -1801,15 +1790,12 @@
(MenuItem
enabled: enableFileHistory
label: 'File History'
- translateLabel: true
submenuChannel: menuFileHistory
)
)
nil
nil
)
-
- "Modified: / 07-02-2007 / 18:44:54 / cg"
!
fileOpMenu
@@ -6409,6 +6395,29 @@
"Modified: / 20-09-2006 / 14:29:24 / cg"
!
+fileFileInPackage
+ "assuming the current directory is a package directory, load it"
+
+ |packageDir dir path top packageID|
+
+ "/ find a reasonable package-id (walk up until we find stx)
+ path := ''.
+ dir := packageDir := self currentDirectory.
+
+ top := (Smalltalk projectDirectoryForPackage:'stx') asFilename.
+ [ (dir / 'stx') = top ] whileFalse:[
+ path := dir baseName , '/' , path.
+ dir := dir directory.
+ dir isNil ifTrue:[
+ Dialog warning:'Could not find a path from "stx" to the current directory.'.
+ "/ should ask the user for a packageID and proceed...
+ ^ self.
+ ].
+ ].
+ packageID := path copyWithoutLast:1.
+ Smalltalk loadPackage:packageID fromDirectory:packageDir asAutoloaded:true
+!
+
fileFileInToNameSpace
"fileIn the selected file(s)<into a nameSpace"
@@ -8606,6 +8615,15 @@
^ nil
!
+hasPackageDirectorySelected
+ |dir|
+
+ dir := self currentDirectory.
+ ^ dir notNil
+ and:[ dir exists
+ and:[ (dir / 'abbrev.stc') exists ]]
+!
+
parentDirectoriesOfCurrentFiles
^ self currentSelectedObjects
collect:[:file | file directory] as:Set
@@ -9158,10 +9176,10 @@
!AbstractFileBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.515 2013-03-20 19:56:33 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.516 2013-03-21 11:50:39 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.515 2013-03-20 19:56:33 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.516 2013-03-21 11:50:39 cg Exp $'
! !