fchan@watvlsi.waterloo.edu (Francis Chan) (03/02/89)
This is another attempt to solicit info regarding the porting of ST-V/286 to ST-80. So far, all I've received are requests for me to post a summary. Surely, somebody out there must have done something similar??? I have an article which mentions some pertinent stuff. The authors ported their stuff from ST-V (not V/286) to ST-80: The OFMspert Project (Its from July 88 issue of HOOPLA!) by K.S. Rubin, P.M. Jones and C.M. Mitchell. (Summarized without permission from authors.) Essentially you: {1} file out the source code into 2 files: (a) class defs and (b) methods {2} Adjust syntax as necessary (apparently a mechanical process). {3} File in the class defs. Class categories (ST-80) are added to the defs as they are being filed in. {4} File in the methods. This is apparently another mechanical operation. Return expressions should not be ended with ".". {5} Split large methods into smaller ones. {6} Add any classes native to ST-V that weren't in ST-80. The class they mentioned was the Pattern class. {7} Test like crazy. The authors indicated that the first 6 steps took approx. 15 hours for 2 experts to do (ported 33 classes and 291 methods to 244 classes(!!) and 4902 methods (!!!!!)). Apparently, the ST-V methods were larger than most so a lot of splitting had to be done. The testing part (7) took 120 hours. This is helpful in itself in order to gauge the time. However, I need to know how compatible the window interfaces are. I have unfortunately done some tweaking to the ST-V/286 window interface to do things like closing "children" windows and objects when the parent is closed. I have yet to receive our copy of ST-80 so I cannot look at the source code for the interface. Ok. Maybe some more direct questions may help make it easier to answer. (i) ST-V/286 has the concepts of buttons ... any equivalent in ST-80? (Not very important since use of menus can circumvent this) (ii) ST-V/286 handles windows by using an OrderedCollection of dispatchers for the window instances. Does ST-80 do the same (sounds like the logical way of doing it)? I ask this because of the lack of definitions for similar classes in the "Blue book". The "Red book" mentions something brief on the ScreenController class. (iii) ScreenController class: How does it know which window (view) is active? Is there a class (subclass) that is responsible for each browser that is then stored in a ScreenController variable? (iv) Can someone knowledgeable in the ST-80 interface mention the classes involved in closing and opening of a window? How it handles cycling? Details needed... Thanks. Francis Chan ---------------------------------------------------------------------- fchan@swen1.waterloo.edu fchan@watvlsi.waterloo.edu
johnson@p.cs.uiuc.edu (03/06/89)
I haven't used ST V much, but have used ST 80 a lot. The Journal of Object-Oriented Programming had a paper on Model/View/Controller in V1 N3 that describes the ST 80 user interface classes. Basically, they are a lot like the ones in ST V. (i) ST-80 has buttons. (ii) In ST-80, ControlManager has an OrderedCollection of window instances and keeps track of which window is active. (iii)ScreenController only manages a menu. (iv) StandardSystemView and StandardSystemController manage the opening and closing of a window, resizing, cycling, etc. Once you get the image, you shouldn't have much trouble figuring out what is happening, since the general philosophy is similar to that of ST V. Ralph Johnson