Andreas Raab uploaded a new version of ST80 to project The Trunk:
http://source.squeak.org/trunk/ST80-ar.53.mcz ==================== Summary ==================== Name: ST80-ar.53 Author: ar Time: 18 September 2009, 10:03:05 am UUID: 6974d5c8-b0d7-0f46-a0ff-22437607078b Ancestors: ST80-ar.52 Project refactoring: Provide MVCProject to represent 'classic' Smalltalk-80 environments. =============== Diff against ST80-ar.52 =============== Item was changed: ----- Method: ScreenController>>openMorphicProject (in category 'menu messages') ----- openMorphicProject "Open a morphic project from within a MVC project" + Smalltalk at: #MorphicProject ifPresent:[:mp| ProjectView open: mp new].! - Smalltalk verifyMorphicAvailability ifFalse: [^ self]. - ProjectView open: Project newMorphic. - ! Item was added: + ----- Method: MVCProject class>>convertOldProjects (in category 'class initialization') ----- + convertOldProjects + "Convert old MVC projects to be MVCProjects" + Project allInstancesDo:[:p| + (p world isKindOf: ControlManager) + ifTrue:[p primitiveChangeClassTo: self basicNew]].! Item was added: + ----- Method: MVCProject>>initialize (in category 'initialize') ----- + initialize + super initialize. + world := ControlManager new.! Item was added: + ----- Method: MVCProject>>openProject: (in category 'initialize') ----- + openProject: aProject + "Create a new for a new project in the context of the receiver" + ProjectView openAndEnter: aProject.! Item was added: + ----- Method: MVCProject>>invalidate (in category 'display') ----- + invalidate + "Invalidate the entire project so that a redraw will be forced later." + world "ScheduledControllers" unCacheWindows! Item was changed: ----- Method: ScreenController>>openProject (in category 'menu messages') ----- openProject "Create and schedule a Project." + ProjectView open: MVCProject new.! - - | proj | - Smalltalk at: #ProjectView ifPresent: - [:c | proj := Project new. - c open: proj]. - ! Item was added: + ----- Method: MVCProject>>subProjects (in category 'utilities') ----- + subProjects + "Answer a list of all the subprojects of the receiver. " + ^(world controllersSatisfying: [:m | m model isKindOf: Project]) + collect: [:c | c model]! Item was added: + Project subclass: #MVCProject + instanceVariableNames: '' + classVariableNames: '' + poolDictionaries: '' + category: 'ST80-Support'! + + !MVCProject commentStamp: 'ar 9/18/2009 21:38' prior: 0! + Holds MVC Projects. + + Currently in transition from the hodge-podge in Project, it stores its control manager in the "world" instance variable inherited from Project.! Item was added: + ----- Method: MVCProject>>displaySizeChanged (in category 'display') ----- + displaySizeChanged + "Inform the current project that its display size has changed" + world "ScheduledControllers" restore; searchForActiveController! Item was added: + ----- Method: MVCProject>>restore (in category 'display') ----- + restore + "Redraw the entire Project" + world "ScheduledControllers" restore.! |
Free forum by Nabble | Edit this page |