On Tue, Jun 04, 2013 at 07:27:02AM +0100, Frank Shearar wrote:
On 4 June 2013 00:52, David T. Lewis lewis@mail.msen.com wrote:
From the point of view of getting rid of #isMorphic, you are right that it
would be better to implement MVCProject>>createViewIfAppropriate, as well as this:
Project>>createViewIfAppropriate ^self subclassResponsibility
I'm not sure if the change carries its weight though. This does not seem like something that needs to be part of the Project API, and refactoring it may make it harder to understand what happens in #makeExistingView:project:projectsToBeDeleted: in the event that someone tries to use it in MVC.
This seems to be an Etoys method in which the #isMorphic test serves to document a bad thing that is going to happen if you were to use it in MVC (if you need to create the new view, you will enter that view and never execute the remainder of the method).
The call to #isMorphic may be bad but I think that adding unnecessary vocabulary to Project is undesirable, so in balance I would vote to not change the method.
I do suspect that a better refactoring is possible, but I don't know enough about how the project loading should work to suggest something.
Dang. I agree with you, and am keen to hear other proposals. I dislike the #isMorphic call, but mainly I'm trying to lose the ProjectView reference. This is one of, if I recall correctly, two references to the ST80 package in the base image.
Ah yes, now I see the problem. You're right, this needs to be fixed. I think that Project>>openProject: does what we want here.
MVC is supposed to be completely unloadable/reloadable. What is the other reference to ST80 in the base image?
Dave