cca@pur-phy (Charles C. Allen) (05/11/89)
I'm becoming a little more disenchanted with the current release of Smalltalk/V Mac as I dig deeper into it. Basically, it looks like Digitalk needs to clean it up before it's truly usable as a Mac programming environment. Here are some further problems (& questions!) I've run across. The Pen>>fillAtX:andY: primitive is apparently not implemented. When trying to get the above method working, another apparent bug came to light: In the DemoClass multiSpiral method (for example, the specific method isn't important), stick pen fillAt: rectangle center. as the third to last line. An apparently infinite set of Walkback windows starts appearing. Each instance of any sort of SubPane has a CharacterScanner instance variable. I suppose this is a holdover from the days of the original Smalltalk/V on the IBM that had no graphics capabilities. It certainly is not necessary for many types of panes. I've been unable to figure out how to open a GraphPane that doesn't have scrollbars. The scrollbars scroll over something apparently the size of my screen, but I haven't tracked down where this info really comes from. Of course, the scrollbars are added in the addMenus method, right where EVERYBODY would immediately look for it. Thank goodness for Senders and Implementors browsers. Note that this behavior snuck in between the printing of the manual and the final image release. The pictures in the manual show no scrollbars for AnimalHabitat, etc. If anyone has figured out GraphPanes, please send me a note. DrawPanes seem simpler, but since they're not documented in the manual, and used only by DemoClass, it's difficult to figure out if they're going to stick around in future versions. FileIn the FreeDrawing demo. Open a new FreeDrawing, and scroll the small (actually, the "real" size) image on the left. You can scroll the thumb into hyperspace in either direction. Watch as it writes over the Save and Cancel buttons.... Charles Allen cca@newton.physics.purdue.edu
folta@tove.umd.edu (Wayne Folta) (05/12/89)
I have also noted one bug and one omission in Smalltalk/V Mac (a product which I heartily enjoy :-)): 1. Horizontal scrollbars don't scroll "by screens" correctly. By "by screens", I mean clicking to the right of the bubble, on the gray area, which should scroll in screen-sized chunks (the same for the vertical scrollbar). But if you generate something huge (such as 250 factorial), the page scrolling works twice, then you are forced to scroll with the arrow only. Dragging the bubble all the way to the right does not work, either. The only way to see the whole line is to use the scroll arrow--a slow proposition. 2. Is there any provision for a stream to/from the Serial port? I searched all through Inside Mac, and basically decided--am I right?--that the I/O calls that are documented are not direct Trap calls. Therefore, I would have to go to Lightspeed C and write a VPRM to do i/o. It is great that Smalltalk/V has this nice hook, but it would be nice to have serial i/o capability primitives supplied. Or did I just miss something? Wayne Folta (folta@tove.umd.edu 128.8.128.42)
chesley@goofy.apple.com (Harry Chesley) (05/16/89)
In article <17450@mimsy.UUCP> folta@tove.umd.edu (Wayne Folta) writes: > Is there any provision for a stream to/from the Serial port? I searched > all through Inside Mac, and basically decided--am I right?--that the I/O > calls that are documented are not direct Trap calls. Therefore, I would > have to go to Lightspeed C and write a VPRM to do i/o. It is great that > Smalltalk/V has this nice hook, but it would be nice to have serial > i/o capability primitives supplied. Or did I just miss something? The calls documented in Inside Macintosh are not direct trap calls, but they map easily to trap calls since the serial port driver is accessible via the standard PBRead/PBWrite/PBControl/etc. calls. The routines in Inside Macintosh provide an easier-to-use, "high level" interface. To find the "low level" equivalent calls, read the sections in the Inside Macintosh serial port section marked "Assembly-language note". This is true of pretty much all the other drivers as well. You can write some pretty low level stuff in Smalltalk/V and still stay entirely in Smalltalk. I've implemented a serial port stream, so I know this works. I'm afraid it isn't in distributable form though. However, feel free to email me any specific questions if you run into trouble implementing your own serial port stream.