re: property inheritence

Steve Pothier (starnet!apple!aries.saic.com!pothiers)
Tue, 22 Jun 93 06:57:44 MST

From: uunet!aries.saic.com!pothiers (Steve Pothier)

>> The question: should the object return empty in these cases, or go and
>> fetch its parent's attributes?

> It seems reasonable to me for empty to be returned for the API. The
> script COULD find the inheritance source by itself, right? (using
> SENDs)

Steve, I'm not sure I follow you on this one, can you clarify? The only
way that I can think of to find the inheritance source is to put the long
name of the object, (which would provide group, card and stack info.),
and then check back up the hierarchy until one of the objects returns
a non-blank value for the property.

Basically, what I had in mind.

> From a scripting standpoint, I don't believe that the programmer
> will typically be concerned with whether a property is inherited.
> But then again, you never know. I'd suggest that, inherited or
> otherwise, the value of properties always be returned. I'd also
> suggest the addition of a function that returns the value of a
> property, whether the property was inherited, and if so, the
> object the property was inherited from.

After giving the subject a bit more thought, I've come to the conclusion
that a separate function would not be required to retrieve
inheritance information. Use of the "long" modifier could be
extended to provide this capability. For example, the command:
put the textFont of field "testfield"
might return the string "times". Using the modifier, the command:
put the long textFont of field "testfield"
might return the string "times inherited from card testcard".

The API seems easy, I wonder if the implementation from within MC
would be any different then the (script based) mechanism you
described above.

-Pothier-