'From VisualWorks® NonCommercial, Release 5i.4 of August 9, 2001 on June 7, 2002 at 5:36:10 pm'! !CormasNS.Kernel.Cormas methodsFor: 'main menu'! importModel | choosenDirectoryModelName stFileName evFileName tmp aCategory defaultFileName | self currentModel notNil ifTrue: [self currentModel visualStateIsOpen ifTrue: [self visualStateWin closeRequest]. self closeModel]. "Selection dans la liste des modeles importables" tmp := self class modelsPath asFilename directoryContents asOrderedCollection. tmp isEmpty ifTrue: [self alert_NoModel. ^self]. tmp := tmp asSortedCollection: [:a :b | a < b]. choosenDirectoryModelName := Dialog choose: self chooseModel fromList: tmp asList values: tmp lines: 8 cancel: [^nil]. "Chargement du code des classes du modele" (CormasNS.Models keys includes: choosenDirectoryModelName asSymbol) ifTrue: [(Dialog confirm: (UserMessage defaultString: '' key: #stModelAlreadyInSystem)) ifFalse: [^nil] ifTrue: [self closeModel. aCategory := (CormasNS.Models at: choosenDirectoryModelName asSymbol) category. Cursor wait showWhile: [| classes | classes := (CormasNS.Models at: choosenDirectoryModelName asSymbol) allClasses. classes reverseDo: [:cls | cls isObsolete not ifTrue:[ cls quietlyRemoveFromSystem]]. (CormasNS.Models organization listAtCategoryNamed: aCategory) isEmpty ifTrue: [CormasNS.Models organization removeCategory: aCategory. ChangeSet current reorganizeSystem]]]]. defaultFileName := (self class modelPath: choosenDirectoryModelName asSymbol) construct: choosenDirectoryModelName , '.st'. stFileName := Dialog requestFileName: (UserMessage defaultString: '' key: #import) asString default: defaultFileName. stFileName = '' ifTrue:[^nil]. stFileName asFilename exists ifFalse: [Dialog warn: (UserMessage defaultString: '' key: #noStModelFilename). ^nil]. "self testParcelsRequired: stFileName." [(stFileName asFilename withEncoding: #Source) fileIn] on: ClassBuilder nilSuperclassSignal do: [:ex | Dialog warn: (UserMessage defaultString: '' key: #convertModel). ^nil]. self currentModel: ((CormasNS.Models at: choosenDirectoryModelName asSymbol) at: choosenDirectoryModelName asSymbol). "Chargement eventuel des etats visuels des classes du modele" evFileName := (self class modelPath: choosenDirectoryModelName asSymbol) construct: choosenDirectoryModelName , '.ev'. evFileName asFilename exists ifTrue: [self readVSFile. self currentModel initializeWithVS] ifFalse: [self currentModel initialize]. self currentModel allClasses do: [:ent | ent activePov: nil]. self setModelVersion: self currentModel equalTo: stFileName asFilename. self displayModel: self currentModel. self currentModel visualStateIsOpen: false. self currentSimulation: self currentModel new. self createPdvDict. self resetSimulation! !