SystemOrganization addCategory: #'Helvetia-Loader'! Object subclass: #CHHelvetiaLoader instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Helvetia-Loader'! !CHHelvetiaLoader class methodsFor: 'public' stamp: 'lr 5/18/2009 14:59'! defineDesign World color: Color white. UIThemeStandardSqueak beCurrent. World submorphs do: [ :each | each isSketchMorph ifTrue: [ each delete ] ]! ! !CHHelvetiaLoader class methodsFor: 'public' stamp: 'lr 5/18/2009 14:58'! defineFonts | tinyFont codeFont baseFont boldFont | tinyFont := LogicalFont familyName: 'DejaVu Sans' fallbackFamilyNames: nil pointSize: 8 stretchValue: 0 weightValue: 400 slantValue: 0. codeFont := LogicalFont familyName: 'DejaVu Sans Mono' fallbackFamilyNames: nil pointSize: 9 stretchValue: 0 weightValue: 400 slantValue: 0. baseFont := LogicalFont familyName: 'DejaVu Sans' fallbackFamilyNames: nil pointSize: 10 stretchValue: 0 weightValue: 400 slantValue: 0. boldFont := LogicalFont familyName: 'DejaVu Sans' fallbackFamilyNames: nil pointSize: 11 stretchValue: 0 weightValue: 600 slantValue: 0. Preferences setBalloonHelpFontTo: tinyFont. Preferences setButtonFontTo: baseFont. Preferences setCodeFontTo: codeFont. Preferences setHaloLabelFontTo: baseFont. Preferences setListFontTo: baseFont. Preferences setMenuFontTo: baseFont. Preferences setSystemFontTo: baseFont. Preferences setWindowTitleFontTo: boldFont! ! !CHHelvetiaLoader class methodsFor: 'public' stamp: 'lr 5/18/2009 14:59'! defineSettings Preferences enable: #scrollBarsNarrow. Preferences disable: #scrollBarsWithoutMenuButton. Preferences disable: #useNewDiffToolsForMC! ! !CHHelvetiaLoader class methodsFor: 'initialization' stamp: 'lr 5/18/2009 15:25'! initialize self packages do: [ :each | each size = 1 ifTrue: [ self compilerClass evaluate: each first for: self logged: false ] ifFalse: [ each first isSymbol ifFalse: [ self load: each first version: each second ] ifTrue: [ (Preferences preferenceAt: each first) preferenceValue: each second ] ] ] displayingProgress: 'Loading Helvetia'! ! !CHHelvetiaLoader class methodsFor: 'public' stamp: 'lr 5/18/2009 15:35'! load: anUrlString version: aString | repository group version versions | ProgressNotification signal: '' extra: aString. repository := MCHttpRepository location: anUrlString user: '' password: ''. group := MCRepositoryGroup default. (group includes: repository) ifFalse: [ group addRepository: repository ] ifTrue: [ repository := group repositories detect: [ :each | each = repository] ]. repository cacheAllFileNamesDuring: [ versions := repository allVersionNames asArray select: [ :each | each beginsWith: aString ]. versions sort: [ :a :b | (a copyAfterLast: $.) asNumber < (b copyAfterLast: $.) asNumber ]. repository versionReaderForFileNamed: versions last , '.mcz' do: [ :reader | version := reader version. version isNil ifTrue: [ self error: 'Unable to load ' , aString printString ]. [ [ version load ] on: UndeclaredVariableWarning do: [ :err | err resume: true ] ] on: Notification do: [ :err | err resume ]. version workingCopy repositoryGroup addRepository: repository ] ]! ! !CHHelvetiaLoader class methodsFor: 'initialization' stamp: 'lr 5/18/2009 15:11'! packages ^ #( " refactoring tools " ('http://www.squeaksource.com/AST' 'AST-damiencassou.166') ('http://www.squeaksource.com/RefactoringEngine' 'Refactoring-Core-lr') ('http://www.squeaksource.com/RefactoringEngine' 'Refactoring-Spelling-lr') ('http://source.lukas-renggli.ch/omnibrowser/' 'VB-Regex-sd.9') " smacc " ('http://www.squeaksource.com/SmaccDevelopment' 'SmaCC-lr.13') ('http://www.squeaksource.com/SmaccDevelopment' 'SmaCCDev-ms.19') " new compiler " ('http://www.squeaksource.com/AST/' 'NewParser-marcus.denker.7') ('http://www.squeaksource.com/NewCompiler/' 'NewCompiler-marcus.denker.290') (#compileBlocksAsClosures false) (#compileUseNewCompiler false) " omnibrowser " ('http://source.lukas-renggli.ch/omnibrowser/' 'OmniBrowser') ('http://source.lukas-renggli.ch/omnibrowser/' 'OB-Standard') ('http://source.lukas-renggli.ch/omnibrowser/' 'OB-Morphic') ('http://source.lukas-renggli.ch/omnibrowser/' 'OB-Refactory') ('http://source.lukas-renggli.ch/omnibrowser/' 'OB-Regex') ('http://source.lukas-renggli.ch/omnibrowser/' 'OB-Tools') ('http://source.lukas-renggli.ch/omnibrowser/' 'OB-SUnitIntegration') ('ToolSet default: StandardToolSet') " shout and ecompletion" ('http://source.lukas-renggli.ch/unsorted/' 'RoelTyper') ('http://source.lukas-renggli.ch/unsorted/' 'Shout') ('http://source.lukas-renggli.ch/unsorted/' 'ECompletion') ('http://source.lukas-renggli.ch/unsorted/' 'ECompletionOmniBrowser') " actual tools " ('http://source.lukas-renggli.ch/petit' 'PetitParser') ('http://source.lukas-renggli.ch/helvetia' 'QuasiQuote') ('http://source.lukas-renggli.ch/helvetia' 'Helvetia-Core') (#compileUseNewCompiler true) ('http://source.lukas-renggli.ch/helvetia' 'Cutie-Helvetia') ('http://source.lukas-renggli.ch/helvetia' 'LanguageAspects') ('2 timesRepeat: [ LASmalltalkGrammar recompileAll ]') (#compileUseLanguageAspects true) ('http://source.lukas-renggli.ch/helvetia' 'Cutie-LanguageAspects') " settings " ('self defineFonts') ('self defineDesign') ('self defineSettings'))! ! CHHelvetiaLoader initialize!