SystemOrganization addCategory: #'Helvetia-Loader'! Object subclass: #CHHelvetiaLoader instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Helvetia-Loader'! !CHHelvetiaLoader class methodsFor: 'installing-settings (4000)' stamp: 'lr 8/21/2010 17:04'! defineCleanup Author reset. MCCacheRepository instVarNamed: 'default' put: nil. MCFileBasedRepository flushAllCaches. MCMethodDefinition shutDown. MCDefinition clearInstances. Smalltalk flushClassNameCache. Smalltalk organization removeEmptyCategories. Smalltalk allClassesAndTraitsDo: [ :each | each organization removeEmptyCategories; sortCategories. each class organization removeEmptyCategories; sortCategories ]. Smalltalk garbageCollect. Symbol compactSymbolTable ! ! !CHHelvetiaLoader class methodsFor: 'installing-settings (4000)' stamp: 'lr 8/21/2010 17:07'! defineDesign | stream morph | UIThemeWatery2 beCurrent. World color: Color white. World submorphs do: [ :each | each class = ImageMorph ifTrue: [ each delete ] ]. stream := HTTPSocket httpGet: 'http://scg.unibe.ch/download/helvetia/helvetia.png'. stream binary; reset. morph := (PNGReadWriter on: stream) nextImage asMorph. morph left: 10; top: 10; lock: true; sticky: true. World addMorph: morph! ! !CHHelvetiaLoader class methodsFor: 'installing-settings (4000)' stamp: 'lr 8/21/2010 17:05'! defineFonts StrikeFont installDejaVu. StandardFonts setFontsFromSpec: #( (balloonFont: 'BitmapDejaVu' 7) (buttonFont: 'BitmapDejaVu' 9) (codeFont: 'BitmapDejaVu' 9) (defaultFont: 'BitmapDejaVu' 9) (haloFont: 'BitmapDejaVu' 7) (listFont: 'BitmapDejaVu' 9) (menuFont: 'BitmapDejaVu' 9) (windowTitleFont: 'BitmapDejaVuBold' 12)) ! ! !CHHelvetiaLoader class methodsFor: 'installing-settings (4000)' stamp: 'lr 8/21/2010 17:06'! definePreferences SystemWindow fullScreenMargin: 0. WorldState showUpdateOptionInWorldMenu: false. PSMCPatchMorph usedByDefault: false. UITheme currentAnimationSettings useAnimation: false; animateClosing: false! ! !CHHelvetiaLoader class methodsFor: 'initialization' stamp: 'lr 1/11/2010 10:53'! initialize self specification do: [ :pragma | pragma arguments first isString ifTrue: [ ProgressNotification signal: '' extra: pragma arguments first ]. self perform: pragma selector ] displayingProgress: 'Loading Helvetia'! ! !CHHelvetiaLoader class methodsFor: 'installing-tools (2000)' stamp: 'lr 8/21/2010 17:02'! loadDevelopmentTools Gofer new renggli: 'unsorted'; package: 'Shout'; package: 'ShoutWorkspace'; package: 'RoelTyper'; package: 'ECompletion'; package: 'ECompletionOmniBrowser'; load! ! !CHHelvetiaLoader class methodsFor: 'installing-helvetia (3000)' stamp: 'lr 4/27/2010 16:42'! loadHelvetia Gofer new renggli: 'helvetia'; package: 'AST-Compiler'; package: 'QuasiQuote'; package: 'Helvetia-Core'; load. CHCompiler enable! ! !CHHelvetiaLoader class methodsFor: 'installing-helvetia (3000)' stamp: 'lr 4/27/2010 16:56'! loadHelvetiaExamples Gofer new renggli: 'helvetia'; package: 'Cutie-Helvetia'; load! ! !CHHelvetiaLoader class methodsFor: 'installing-helvetia (3000)' stamp: 'lr 5/4/2010 14:16'! loadLanguageBoxes Gofer new renggli: 'helvetia'; package: 'LanguageBoxes'; load! ! !CHHelvetiaLoader class methodsFor: 'installing-helvetia (3000)' stamp: 'lr 9/2/2010 19:06'! loadLanguageBoxesExamples Gofer new renggli: 'helvetia'; package: 'Cutie-LanguageBoxes'; load! ! !CHHelvetiaLoader class methodsFor: 'installing-tools (2000)' stamp: 'lr 2/14/2010 10:59'! loadOmniBrowser Gofer new renggli: 'omnibrowser'; package: 'OmniBrowser'; package: 'OB-Standard'; package: 'OB-Morphic'; package: 'OB-Shout'; package: 'OB-Refactory'; package: 'OB-Regex'; package: 'OB-SUnitIntegration'; load. SystemBrowser default: (Smalltalk at: #OBSystemBrowserAdaptor)! ! !CHHelvetiaLoader class methodsFor: 'installing-tools (2000)' stamp: 'lr 9/2/2010 12:03'! loadPetitParser Gofer new renggli: 'petit'; package: 'PetitParser'; package: 'PetitTests'; package: 'PetitAnalyzer'; package: 'PetitBeta'; package: 'PrettyPetit'; package: 'PetitSmalltalk'; package: 'PetitJson'; package: 'PetitSQL'; package: 'PetitXml'; load! ! !CHHelvetiaLoader class methodsFor: 'installing-tools (2000)' stamp: 'lr 9/11/2010 09:22'! loadRefactoringEngine Gofer new squeaksource: 'rb'; package: 'AST-Core'; package: 'AST-Tests-Core'; package: 'AST-Semantic'; package: 'AST-Tests-Semantic'; package: 'Refactoring-Core'; package: 'Refactoring-Tests-Core'; package: 'Refactoring-Critics'; package: 'Refactoring-Tests-Critics'; package: 'Refactoring-Changes'; package: 'Refactoring-Tests-Changes'; package: 'Refactoring-Spelling'; package: 'Refactoring-Tests-Spelling'; package: 'Refactoring-Environment'; package: 'Refactoring-Tests-Environment'; load! ! !CHHelvetiaLoader class methodsFor: 'installing-validation (1000)' stamp: 'lr 4/27/2010 16:57'! patchMonticello "Since some smart-ass tried to make Monticello atomic (and failed miserabely), we do have to patch it. This compiled and loads all the code nicely in order, nothing 'smart' done anymore." MCPackageLoader compile: 'basicLoad errorDefinitions := OrderedCollection new. [[additions do: [:ea | self tryToLoad: ea] displayingProgress: ''Loading...''. removals do: [:ea | ea unload] displayingProgress: ''Cleaning up...''. self shouldWarnAboutErrors ifTrue: [self warnAboutErrors]. errorDefinitions do: [:ea | ea loadOver: (self obsoletionFor: ea)] displayingProgress: ''Reloading...''. additions do: [:ea | ea postloadOver: (self obsoletionFor: ea)] displayingProgress: ''Initializing...''] on: InMidstOfFileinNotification do: [:n | n resume: true]] ensure: [self flushChangesFile]' classified: #private withStamp: 'lr 4/26/2010 20:13' notifying: SyntaxError new. MCPackageLoader compile: 'tryToLoad: aDefinition [aDefinition loadOver: (self obsoletionFor: aDefinition)] on: Error do: [errorDefinitions add: aDefinition]' classified: #private withStamp: 'lr 4/26/2010 20:13' notifying: SyntaxError new. MCWorkingCopy allManagers do: [ :each | each packageName = 'Monticello' ifTrue: [ each modified: false ] ]! ! !CHHelvetiaLoader class methodsFor: 'initialization' stamp: 'lr 1/11/2010 10:46'! specification ^ Pragma allNamed: #install:priority: in: self class sortedByArgument: 2! ! !CHHelvetiaLoader class methodsFor: 'installing-validation (1000)' stamp: 'lr 8/21/2010 17:00'! validatePlatform (SystemVersion current version beginsWith: 'Pharo1.1') ifFalse: [ self notify: 'Helvetia might not work with this image: ' , SystemVersion current version , '. Please consider using a Pharo 1.1 image.' ]. (SystemVersion current highestUpdate >= 11411) ifFalse: [ self notify: 'Helvetia might not work with this image: ' , SystemVersion current version , '. Please consider using a Pharo 1.1 image.' ]! ! CHHelvetiaLoader initialize!