'From Squeak3.3alpha of 28 January 2002 [latest update: #4734] on 2 February 2002 at 8:44:37 am'! "Change Set: openProjFix Date: 2 February 2002 Author: Bob Arning Somw file services would rather have the directory and local file name. This change set restores that option."! Object subclass: #SimpleServiceEntry instanceVariableNames: 'provider label selector useLineAfter argumentGetter ' classVariableNames: '' module: #(Squeak Development FileList)! !FileList methodsFor: 'file list menu' stamp: 'RAA 2/2/2002 08:18'! dirAndFileName ^{directory. fileName}! ! !FileList methodsFor: 'file list menu' stamp: 'RAA 2/2/2002 08:20'! fileSelectedMenu: aMenu | firstItems secondItems thirdItems n1 n2 n3 services | firstItems _ self itemsForFileEnding: (FileDirectory extensionFor: self fullName) asLowercase. secondItems _ self itemsForAnyFile. thirdItems _ self itemsForNoFile. n1 _ firstItems size. n2 _ n1 + secondItems size. n3 _ n2 + thirdItems size. services _ firstItems, secondItems, thirdItems, {SimpleServiceEntry provider: self label: 'more...' selector: #offerAllFileOptions}. ^ aMenu addServices2: services for: self extraLines: (Array with: n1 with: n2 with: n3) ! ! !MenuMorph methodsFor: 'construction' stamp: 'RAA 2/2/2002 08:28'! addServices2: services for: served extraLines: linesArray services withIndexDo: [:service :i | self add: service label target: service selector: service requestSelector argument: (service getArgumentsFrom: served). (linesArray includes: i) | service useLineAfter ifTrue: [self addLine] ]. ! ! !ProjectViewMorph class methodsFor: 'project window creation' stamp: 'RAA 2/2/2002 08:31'! fileReaderServicesForSuffix: suffix (#('extseg' 'project' 'pr' 'morph' 'morphs' 'sp' '*') includes: suffix) ifFalse: [^#()]. ^{ (SimpleServiceEntry provider: self label: 'load as project' selector: #openFromDirectoryAndFileName: ) argumentGetter: [ :fileList | fileList dirAndFileName] } ! ! !ProjectViewMorph class methodsFor: 'project window creation' stamp: 'RAA 2/2/2002 08:11'! openFromDirectory: aDirectory andFileName: aFileName Project canWeLoadAProjectNow ifFalse: [^ self]. ^ProjectLoading openFromDirectory: aDirectory andFileName: aFileName! ! !ProjectViewMorph class methodsFor: 'project window creation' stamp: 'RAA 2/2/2002 08:30'! openFromDirectoryAndFileName: anArray Project canWeLoadAProjectNow ifFalse: [^ self]. ^ProjectLoading openFromDirectory: anArray first andFileName: anArray second! ! !ProjectViewMorph class methodsFor: 'project window creation' stamp: 'RAA 2/2/2002 08:37'! openFromFile: fileName self flag: #bob. "better not to use this one. nil directories are not nice. see #openFromDirectoryAndFileName: or #openFromDirectory:andFileName: instead" Project canWeLoadAProjectNow ifFalse: [^ self]. ^ProjectLoading openFromDirectory: nil andFileName: fileName! ! !ProjectViewMorph class methodsFor: 'project window creation' stamp: 'RAA 2/2/2002 08:36'! openFromFileList: fullName self flag: #bob. "not sent??" ^self openFromFile: fullName! ! !SimpleServiceEntry methodsFor: 'accessing' stamp: 'RAA 2/2/2002 08:14'! argumentGetter: aBlock argumentGetter _ aBlock! ! !SimpleServiceEntry methodsFor: 'performing service' stamp: 'RAA 2/2/2002 08:31'! getArgumentsFrom: aProvider argumentGetter ifNil: [^aProvider fullName]. ^argumentGetter value: aProvider! !