The Trunk: System-dtl.176.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: System-dtl.176.mcz

commits-2
David T. Lewis uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-dtl.176.mcz

==================== Summary ====================

Name: System-dtl.176
Author: dtl
Time: 27 November 2009, 2:21:25 am
UUID: e95ee3fd-391e-449c-90f5-1eb95e2ace2a
Ancestors: System-nice.175

Remove remaining direct Morphic dependencies from class side of Project


=============== Diff against System-nice.175 ===============

Item was changed:
  ----- Method: Project class>>canWeLoadAProjectNow (in category 'utilities') -----
  canWeLoadAProjectNow
 
+ ^ Smalltalk verifyMorphicAvailability
- Smalltalk verifyMorphicAvailability ifFalse: [^ false].
-
- "starting to see about eliminating the below"
- "Smalltalk isMorphic ifFalse: [
- self inform: 'Later, allow jumping from MVC to Morphic Projects.'.
- ^false
- ]."
-
- ^true
  !

Item was changed:
  ----- Method: Project>>decideAboutCreatingBlank: (in category 'file in/out') -----
  decideAboutCreatingBlank: otherProjectName
 
  | resp |
 
  "20 Oct - just do it"
  true "version isNil" ifFalse: [ "if saved, then maybe don't create"
  resp := (UIManager default chooseFrom: #('Yes, make it up' 'No, skip it')
  title: ('I cannot locate the project\',
  otherProjectName,
  '\Would you like me to create a new project\with that name?'
  ) withCRs).
  resp = 1 ifFalse: [^ nil]
  ].
+ ^Project current openBlankProjectNamed: otherProjectName!
- ^Project openBlankProjectNamed: otherProjectName!

Item was changed:
  ----- Method: Project class>>enterIfThereOrFind: (in category 'squeaklet on server') -----
  enterIfThereOrFind: aProjectName
 
+ ^ self current enterIfThereOrFind: aProjectName
+ !
- | newProject |
- newProject := Project named: aProjectName.
- newProject ifNotNil: [^newProject enter].
-
- ComplexProgressIndicator new
- targetMorph: nil;
- historyCategory: 'project loading';
- withProgressDo: [
- [
- newProject := CurrentProject fromMyServerLoad: aProjectName
- ]
- on: ProjectViewOpenNotification
- do: [ :ex | ex resume: false]
- "we probably don't want a project view morph in this case"
- ].
-
- newProject ifNotNil: [^newProject enter].
- Beeper beep.!

Item was added:
+ ----- Method: Project>>openBlankProjectNamed: (in category 'squeaklet on server') -----
+ openBlankProjectNamed: projName
+
+ "Project current openBlankProjectNamed: 'My new project'"
+
+ self subclassResponsibility
+ !

Item was changed:
  ----- Method: Project class>>fromUrl: (in category 'squeaklet on server') -----
  fromUrl: urlString
  "Load the project, and make a thumbnail to it in the current project.  Replace the old one if necessary.
  To test it, make sure you don't have AAEmptyTest.001.pr in your Squeaklets directory. Then do:
  Project fromUrl: 'http://209.143.91.36/super/SuperSwikiProj/AAEmptyTest.001.pr'.
  The project should open and you should enter it. Return to the previous project and delete the project. Then do:
  Project fromUrl: 'AAEmptyTest.001.pr'.
  The project should open again - this time faster - and you should enter it.
  "
  | absoluteUrl projectFilename projName proj serverDir pair |
  Project canWeLoadAProjectNow ifFalse: [^ self].
  absoluteUrl := Url absoluteFromFileNameOrUrlString: urlString.
  projectFilename := absoluteUrl fileName.
  projName := (Project parseProjectFileName: projectFilename unescapePercents) first.
  (proj := Project named: projName) ifNotNil: [
  "it appeared"
  ^ProjectEntryNotification signal: proj].
 
  serverDir := ServerDirectory serverForURL: absoluteUrl directoryUrl asString.
  serverDir ifNotNil: [
  pair := self mostRecent: projectFilename onServer: serverDir.
  "Pair first is name exactly as it is on the server"
+ pair first ifNil: [^self current openBlankProjectNamed: projName].
- pair first ifNil: [^self openBlankProjectNamed: projName].
  projectFilename := pair first].
 
  ProjectLoading
  installRemoteNamed: projectFilename
  from: absoluteUrl asString unescapePercents
  named: projName
  in: CurrentProject!

Item was added:
+ ----- Method: Project>>enterIfThereOrFind: (in category 'squeaklet on server') -----
+ enterIfThereOrFind: aProjectName
+
+ self subclassResponsibility
+ !

Item was removed:
- ----- Method: Project class>>openBlankProjectNamed: (in category 'squeaklet on server') -----
- openBlankProjectNamed: projName
-
- | proj projViewer |
-
- proj := MorphicProject openViewOn: nil.
- proj changeSet name: projName.
- proj world addMorph: (
- TextMorph new
- beAllFont: ((TextStyle default fontOfSize: 26) emphasized: 1);
- color: Color red;
- contents: 'Welcome to a new project - ',projName
- ).
- proj setParent: self current.
- projViewer := (CurrentProject findProjectView: projName) ifNil: [^proj].
- (projViewer owner isSystemWindow) ifTrue: [
- projViewer owner model: proj].
- ^ projViewer project: proj!