The Trunk: System-dtl.255.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.255.mcz

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

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

Name: System-dtl.255
Author: dtl
Time: 15 February 2010, 10:37:15.416 pm
UUID: b70348f2-a094-4adc-80fa-696552b171f0
Ancestors: System-dtl.254

Update SystemDictionary>>discardMVC to perform complete MVC removal. MVC may be reinstalled by loading packages ST80 and ToolBuilder-MVC.

=============== Diff against System-dtl.254 ===============

Item was changed:
  ----- Method: SystemDictionary>>discardMVC (in category 'shrinking') -----
  discardMVC
+ "After suitable checks, remove all of MVC from the system. Removal will destroy current
+ MVC projects. MVC may be reinstalled by loading packages ST80 and ToolBuilder-MVC."
+
- "After suitable checks, strip out much of MVC from the system"
  "Smalltalk discardMVC"
+
- | keepers |
- self flag: #bob. "zapping projects"
  self isMorphic
  ifFalse: [^self inform: 'You must be in a Morphic project to discard MVC.'].
  "Check that there are no MVC Projects"
  (Project allProjects allSatisfy: [:proj | proj isMorphic])
  ifFalse: [(self confirm: 'Would you like a chance to remove your
  MVC projects in an orderly manner?')
  ifTrue: [^ self].
  (self confirm: 'If you wish, I can remove all MVC projects,
  make this project be the top project, and place
  all orphaned sub-projects of MVC parents here.
  Would you like be to do this
  and proceed to discard all MVC classes?')
  ifTrue: [self zapMVCprojects]
  ifFalse: [^ self]].
+ (MCPackage named: 'ToolBuilder-MVC') unload.
+ (MCPackage named: 'ST80') unload.
- self reclaimDependents.
- "Remove old Paragraph classes and View classes."
- self at: #Paragraph ifPresent: [:paraClass |
- (ChangeSet superclassOrder: paraClass withAllSubclasses asArray)
- reverseDo: [:c | c removeFromSystem]].
- self at: #View ifPresent: [:viewClass |
- (ChangeSet superclassOrder: viewClass withAllSubclasses asArray)
- reverseDo: [:c | c removeFromSystem]].
- "Get rid of ParagraphEditor's ScrollController dependence"
- self at: #ParagraphEditor ifPresent: [:paragraphEditor |
- #(#markerDelta #viewDelta #scrollAmount #scrollBar #computeMarkerRegion )
- do: [:sel | paragraphEditor removeSelector: sel].
- paragraphEditor compile: 'updateMarker'.
- "Reshape to MouseMenuController"
- Compiler evaluate: (paragraphEditor definition copyReplaceAll: 'ScrollController' with: 'MouseMenuController')].
- "Get rid of all Controller classes not needed by ParagraphEditor and ScreenController"
- self at: #ScreenController ifPresent: [:screenController |
- keepers := TextMorphEditor withAllSuperclasses copyWith: screenController].
- self at: #Controller ifPresent: [:controller |
- (ChangeSet superclassOrder: controller withAllSubclasses asArray)
- reverseDo: [:c | (keepers includes: c)
- ifFalse: [c removeFromSystem]]].
- SystemOrganization removeCategoriesMatching: 'ST80-Paths'.
- SystemOrganization removeCategoriesMatching: 'ST80-Symbols'.
- SystemOrganization removeCategoriesMatching: 'ST80-Pluggable Views'.
- self removeClassNamed: 'FormButtonCache'.
- self removeClassNamed: 'WindowingTransformation'.
- self removeClassNamed: 'ControlManager'.
- self removeClassNamed: 'DisplayTextView'.
  ScheduledControllers := nil.
+ Smalltalk garbageCollect.
  Undeclared removeUnreferencedKeys.
  SystemOrganization removeEmptyCategories.
  Symbol rehash!