'From Squeak3.4 of 1 March 2003 [latest update: #5170] on 19 March 2003 at 9:50:23 am'! "Change Set: PWSRemoval Date: 11 November 2002 Author: Colin Putney This change set removes PWS from the base image."! !FileList methodsFor: 'file list menu' stamp: 'cwp 11/8/2002 13:36'! fullFileListMenu: aMenu shifted: aBoolean "Fill the menu with all possible items for the file list pane, regardless of selection." aMenu title: 'all possible file operations'. Smalltalk isMorphic ifTrue: [aMenu addStayUpItemSpecial]. aMenu addList: #( ('open graphic in a window' openImageInWindow) ('read graphic into ImageImports' importImage) ('open graphic as background' openAsBackground) - ('load as morph' openMorphFromFile) ('load as project' openProjectFromFile) ('load as book' openBookFromFile) - ('play midi file' playMidiFile) ('open as movie' openAsMovie) ('open as Flash' openAsFlash) ('open true type font' openAsTTF) ('open 3DS file' open3DSFile) ('open for playback' openTapeFromFile) ('open in Wonderland' openVRMLFile) ('open in browser' openInBrowser) - ('fileIn' fileInSelection) ('file into new change set' fileIntoNewChangeSet) ('browse changes' browseChanges) ('browse code' browseFile) - ('view decompressed' viewGZipContents) ('decompress to file' saveGZipContents) - ('broadcast as update' putUpdate) ('remove line feeds' removeLinefeeds) - ('load Genie Gesture Dictionary' loadCRDictionary) ('load Genie Display Properties' loadCRDisplayProperties))! ! !FileList methodsFor: 'file list menu' stamp: 'cwp 11/8/2002 13:35'! itemsForFileEnding: suffix | labels lines selectors | labels _ OrderedCollection new. lines _ OrderedCollection new. selectors _ OrderedCollection new. suffix = 'bmp' | (suffix = 'gif') | (suffix = 'jpg') | (suffix = 'form') | (suffix = '*') | (suffix = 'png') ifTrue: [labels addAll: #('open image in a window' 'read image into ImageImports' 'open image as background' ). selectors addAll: #(#openImageInWindow #importImage #openAsBackground )]. suffix = 'morph' | (suffix = 'morphs') | (suffix = 'sp') | (suffix = '*') ifTrue: [labels add: 'load as morph'. selectors add: #openMorphFromFile. labels add: 'load as project'. selectors add: #openProjectFromFile]. suffix = 'mdl' ifTrue: [labels add: 'load into Wonderland'. selectors add: #openModelintoAlice]. suffix = 'extseg' | (suffix = 'project') | (suffix = 'pr') ifTrue: [labels add: 'load as project'. selectors add: #openProjectFromFile]. suffix = 'bo' | (suffix = '*') ifTrue: [labels add: 'load as book'. selectors add: #openBookFromFile]. suffix = 'mid' | (suffix = '*') ifTrue: [labels add: 'play midi file'. selectors add: #playMidiFile]. suffix = 'movie' | (suffix = '*') ifTrue: [labels add: 'open as movie'. selectors add: #openAsMovie]. suffix = 'changes' | (suffix = '*') ifTrue: [labels add: 'browse recent changes'. selectors add: #browseRecentChanges]. suffix = 'st' | (suffix = 'cs') | (suffix = '*') ifTrue: [suffix = '*' ifTrue: [lines add: labels size]. labels addAll: #('fileIn' 'file into new change set' 'browse changes' 'browse code' 'remove line feeds' 'broadcast as update' ). lines add: labels size - 1. selectors addAll: #(#fileInSelection #fileIntoNewChangeSet #browseChanges #browseFile #removeLinefeeds #putUpdate )]. suffix = 'swf' | (suffix = '*') ifTrue: [labels add: 'open as Flash'. selectors add: #openAsFlash]. suffix = 'ttf' | (suffix = '*') ifTrue: [labels add: 'open true type font'. selectors add: #openAsTTF]. suffix = 'gz' | (suffix = '*') ifTrue: [labels addAll: #('view decompressed' 'decompress to file' ). selectors addAll: #(#viewGZipContents #saveGZipContents )]. suffix = '3ds' | (suffix = '*') ifTrue: [labels add: 'Open 3DS file'. selectors add: #open3DSFile]. suffix = 'tape' | (suffix = '*') ifTrue: [labels add: 'open for playback'. selectors add: #openTapeFromFile]. suffix = 'wrl' | (suffix = '*') ifTrue: [labels add: 'open in Wonderland'. selectors add: #openVRMLFile]. suffix = 'htm' | (suffix = 'html') ifTrue: [labels add: 'open in browser'. selectors add: #openInBrowser]. suffix = 'zip' | (suffix = '*') ifTrue: [labels add: 'open archive viewer'. selectors add: #openArchiveViewer]. suffix = CRDictionary fileNameSuffix ifTrue: [labels add: 'load Genie Gesture Dictionary'. selectors add: #loadCRDictionary]. suffix = CRDisplayProperties fileNameSuffix ifTrue: [labels add: 'load Genie Display Properties'. selectors add: #loadCRDisplayProperties]. ^ Array with: labels with: lines with: selectors! ! !SystemDictionary methodsFor: 'housekeeping' stamp: 'cwp 11/8/2002 13:40'! makeSqueaklandRelease "Smalltalk makeSqueaklandRelease" "NOTE: This method assumes that * ALL WINDOWS HAVE BEEN CLOSED (most importantly all project windows) * ALL GLOBAL FLAPS HAVE BEEN DESTROYED (not just disabled) This method may needs to be run twice - upon the first run you will probably receive an error message saying 'still have obsolete behaviors'. Close the notifier and try again. If there are still obsolete behaviors then go looking for them. Last update: ar 8/18/2001 01:14 for Squeak 3.1" | ss | (self confirm: self version , ' Is this the correct version designation? If not, choose no, and fix it.') ifFalse: [^ self]. "Delete all projects" Project allSubInstancesDo:[:p| (p == Project current) ifFalse:[Project deletingProject: p]. ]. "Fix up for some historical problem" Smalltalk allObjectsDo:[:o| o isMorph ifTrue:[o removeProperty: #undoGrabCommand]. ]. "Hm ... how did this come in?!!" Smalltalk keys do:[:x| (x class == String and:[(Smalltalk at: x) isBehavior]) ifTrue:[Smalltalk removeKey: x]. ]. "Remove stuff from References" References keys do:[:k| References removeKey: k]. "Reset command history" CommandHistory resetAllHistory. "Clean out Undeclared" Undeclared removeUnreferencedKeys. "Reset scripting system" StandardScriptingSystem initialize. "Reset preferences" Preferences chooseInitialSettings; installBrightWindowColors. "Do a nice fat GC" Smalltalk garbageCollect. "Dependents mean that we're holding onto stuff" (Object classPool at: #DependentsFields) size > 1 ifTrue: [self error:'Still have dependents']. "Set a few default preferences" #( (honorDesktopCmdKeys false) (warnIfNoChangesFile false) (warnIfNoSourcesFile false) (showDirectionForSketches true) (menuColorFromWorld false) (unlimitedPaintArea true) (useGlobalFlaps false) (mvcProjectsAllowed false) (projectViewsInWindows false) (automaticKeyGeneration true) (securityChecksEnabled true) (showSecurityStatus false) (startInUntrustedDirectory true) (warnAboutInsecureContent false) (promptForUpdateServer false) (fastDragWindowForMorphic false) ) do:[:spec| Preferences setPreference: spec first toValue: (spec last == #true). ]. "Initialize Browser (e.g., reset recent classes etc)" Browser initialize. "Check for Undeclared" Undeclared isEmpty ifFalse: [self error:'Please clean out Undeclared']. "Remove graphics we don't want" ScriptingSystem deletePrivateGraphics. "Remove a few text styles" #(Helvetica Palatino Courier) do: [:n | TextConstants removeKey: n ifAbsent: []]. "Dump all player uniclasses" Smalltalk at: #Player ifPresent:[:player| player allSubclassesDo:[:cls| cls isSystemDefined ifFalse:[cls removeFromSystem]]]. "Dump all Wonderland uniclasses" Smalltalk at: #WonderlandActor ifPresent:[:wnldActor| wnldActor allSubclassesDo:[:cls| cls isSystemDefined ifFalse:[cls removeFromSystem]]]. "Attempt to get rid of them" Smalltalk garbageCollect. "Now remove larger parts" Smalltalk discardFFI; discard3D; discardSUnit; discardSpeech; discardVMConstruction; discardIRC. "Dump change sets" ChangeSorter removeChangeSetsNamedSuchThat: [:cs| cs name ~= Smalltalk changes name]. "Clear current change set" Smalltalk changes clear. Smalltalk changes name: 'Unnamed1'. Smalltalk garbageCollect. "Reinitialize DataStream; it may hold on to some zapped entitities" DataStream initialize. "Remove refs to old ControlManager" ScheduledControllers _ nil. "Flush obsolete subclasses" Behavior flushObsoleteSubclasses. Smalltalk garbageCollect. Smalltalk obsoleteBehaviors isEmpty ifFalse:[self error:'Still have obsolete behaviors']. "Clear all server entries" ServerDirectory serverNames do: [:each | ServerDirectory removeServerNamed: each]. SystemVersion current resetHighestUpdate. ss _ Set allSubInstances. 'Rehashing all sets' displayProgressAt: Sensor cursorPoint from: 1 to: ss size during:[:bar| 1 to: ss size do:[:i| bar value: i. (ss at: i) rehash. ]. ]. Smalltalk obsoleteClasses isEmpty ifFalse: [self halt]. self halt: 'Ready to condense changes or sources'. SystemDictionary removeSelector: #makeSqueaklandRelease.! ! !SystemDictionary methodsFor: 'shrinking' stamp: 'cwp 11/8/2002 13:38'! discardNetworking "Discard the support for TCP/IP networking." SystemOrganization removeCategoriesMatching: 'Network-*'. ! ! SystemDictionary removeSelector: #discardPWS! SystemDictionary removeSelector: #discardPluggableWebServer! Smalltalk removeClassNamed: #ActiveSwikiAction! Smalltalk removeClassNamed: #AuthorizedServerAction! Smalltalk removeClassNamed: #AuthorizedSwikiAction! Smalltalk removeClassNamed: #AuthorizedWriteSwiki! Smalltalk removeClassNamed: #CachedSwikiAction! Smalltalk removeClassNamed: #ChatPage! Smalltalk removeClassNamed: #CodeServer! Smalltalk removeClassNamed: #Comment! Smalltalk removeClassNamed: #Discussion! Smalltalk removeClassNamed: #EmbeddedServerAction! Smalltalk removeClassNamed: #HTMLformatter! Smalltalk removeClassNamed: #LessHTMLformatter! Smalltalk removeClassNamed: #Note! Smalltalk removeClassNamed: #PSwikiAction! Smalltalk removeClassNamed: #PSwikiPage! Smalltalk removeClassNamed: #PURLmap! Smalltalk removeClassNamed: #PWS! Smalltalk removeClassNamed: #PluggableServerAction! Smalltalk removeClassNamed: #RenderedSwikiAction! Smalltalk removeClassNamed: #RendererSwikiAction! Smalltalk removeClassNamed: #RenderingSwikiAction! Smalltalk removeClassNamed: #ScreenshotAction! Smalltalk removeClassNamed: #ServerAction! Smalltalk removeClassNamed: #Session! Smalltalk removeClassNamed: #SinglePlugServerAction! Smalltalk removeClassNamed: #SwikiAction! Smalltalk removeClassNamed: #SwikiPage! Smalltalk removeClassNamed: #URLmap!