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.edufolta@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.