'From Squeak3.9alpha of ''2 November 2004'' [latest update: #6485] on 30 November 2004 at 3:59:16 pm'! "Change Set: FileList2AdditionFromMC Date: 30 November 2004 Author: Marcus Denker As suggested by Edgar J. De Cleene, this adds two methods from Monticello to the base FileList2: modalFileSelectorForSuffixes:directory: morphicViewFileSelectorForSuffixes:directory: "! !FileList2 class methodsFor: 'modal dialogs' stamp: 'ab 7/5/2003 19:32'! modalFileSelectorForSuffixes: aList directory: aDirectory | window aFileList | window _ self morphicViewFileSelectorForSuffixes: aList directory: aDirectory. aFileList _ window valueOfProperty: #fileListModel. window openCenteredInWorld. [window world notNil] whileTrue: [ window outermostWorldMorph doOneCycleNow. ]. ^aFileList getSelectedFile! ! !FileList2 class methodsFor: 'morphic ui' stamp: 'ab 7/5/2003 19:31'! morphicViewFileSelectorForSuffixes: aList directory: dir "Answer a morphic file-selector tool for the given suffix list" | aFileList window fixedSize midLine gap | aFileList _ self new directory: dir. aFileList optionalButtonSpecs: aFileList okayAndCancelServices. aList ifNotNil: [aFileList fileSelectionBlock: [:entry :myPattern | entry isDirectory ifTrue: [false] ifFalse: [aList includes: (FileDirectory extensionFor: entry name asLowercase)]] fixTemps]. window _ BorderedMorph new layoutPolicy: ProportionalLayout new; color: Color lightBlue; borderColor: Color blue; borderWidth: 4; layoutInset: 4; extent: 600@400; useRoundedCorners. window setProperty: #fileListModel toValue: aFileList. aFileList modalView: window. midLine _ 0.4. fixedSize _ 25. gap _ 5. self addFullPanesTo: window from: { {self textRow: 'Please select a file'. 0 @ 0 corner: 1 @ 0. 0@0 corner: 0@fixedSize}. {aFileList optionalButtonRow. 0 @ 0 corner: 1 @ 0. 0@fixedSize corner: 0@(fixedSize * 2)}. {aFileList morphicDirectoryTreePane. 0@0 corner: midLine@1. gap @(fixedSize * 2) corner: gap negated@0}. {aFileList morphicFileListPane. midLine @ 0 corner: 1@1. gap@(fixedSize * 2) corner: gap negated@0}. }. aFileList postOpen. ^ window ! ! !FileList2 class reorganize! ('*smloader-extension' morphicViewOnDirectory:) ('*smloader-override' morphicView) ('as yet unclassified' hideSqueakletDirectoryBlock projectOnlySelectionBlock projectOnlySelectionMethod: selectionBlockForSuffixes:) ('blue ui' blueButtonText:textColor:inWindow: blueButtonText:textColor:inWindow:balloonText:selector:recipient: blueRamp1 blueRamp2 blueRamp3 enableTypeButtons:info:forDir: endingSpecs morphicViewGeneralLoaderInWorld: morphicViewProjectLoader2InWorld: morphicViewProjectLoader2InWorld:reallyLoad: morphicViewProjectLoader2InWorld:reallyLoad:dirFilterType: morphicViewProjectSaverFor:) ('class initialization' initialize) ('instance creation' openMorphicViewInWorld prototypicalToolWindow) ('modal dialogs' modalFileSelector modalFileSelectorForSuffixes: modalFileSelectorForSuffixes:directory: modalFolderSelector modalFolderSelector: modalFolderSelectorForProject: modalFolderSelectorForProjectLoad) ('morphic ui' morphicViewFileSelector morphicViewFileSelectorForSuffixes: morphicViewFileSelectorForSuffixes:directory: morphicViewFolderSelector morphicViewFolderSelector: morphicViewNoFile morphicViewProjectLoader update:in:fileTypeRow:morphUp:) ('preferences' useFileList2preferenceChanged) ('utility' addFullPanesTo:from: textRow:) !