'From Squeak3.6beta of ''4 July 2003'' [latest update: #5373] on 24 July 2003 at 5:26:26 pm'! "Change Set: BrowseServerCode-nk Date: 24 July 2003 Author: Ned Konz This CS lets you open code file or changelist browsers on remote files. The technique used here should be applied to all of the FileList services that are capable of reading from streams. "! !ChangeList class methodsFor: 'fileIn/Out' stamp: 'nk 7/24/2003 17:15'! serviceBrowseChangeFile "Answer a service for opening a changelist browser on a file" ^ (SimpleServiceEntry provider: self label: 'changelist browser' selector: #browseStream: description: 'open a changelist tool on this file' buttonLabel: 'changes') argumentGetter: [ :fileList | fileList directory readOnlyFileNamed: fileList fileName ]! ! !FileContentsBrowser class methodsFor: 'instance creation' stamp: 'nk 7/24/2003 17:21'! browseStream: aStream | package organizer packageDict browser | Cursor wait showWhile: [ packageDict _ Dictionary new. organizer _ SystemOrganizer defaultList: Array new. package _ (FilePackage new fullName: aStream name; fileInFrom: aStream). packageDict at: package packageName put: package. organizer classifyAll: package classes keys under: package packageName. (browser := self new) systemOrganizer: organizer; packages: packageDict]. self openBrowserView: browser createViews label: 'File Contents Browser'. ! ! !FileContentsBrowser class methodsFor: 'instance creation' stamp: 'nk 7/24/2003 17:22'! serviceBrowseCode "Answer the service of opening a file-contents browser" ^ (SimpleServiceEntry provider: self label: 'code-file browser' selector: #browseStream: description: 'open a "file-contents browser" on this file, allowing you to view and selectively load its code' buttonLabel: 'code') argumentGetter: [ :fileList | fileList directory readOnlyFileNamed: fileList fileName ]! !