[R-gui] Another R-GUI

Duncan Murdoch murdoch@stats.uwo.ca
Mon, 25 Nov 2002 14:22:15 -0500


On 25 Nov 2002 09:43:16 -0800, you wrote in message
<87znrxh7ez.fsf@jeeves.blindglobe.net>:

>The level isn't terribly critical -- we will need both, to describe
>both fine grained as well as higher level control of widgets,
>especially if there is to be any hope for crafting similar UIs.  

Yes, that's right. 

One other thing:  like XML, we should allow details to be put into the
widget description even if they are meaningless on some systems,
instead of restricting descriptors to those that are common
everywhere.  

For example, things that don't make sense (like "font=Helvetica" on a
text mode display) should just be ignored.  Things that ask for too
much (e.g. "position this at (0.314159, 0.271828)" on a system that
only allows widgets to be placed on a coarse grid) should be
approximated sensibly.

This way it should be relatively easy to write a bare bones display
engine, and then extra features could be gradually added to it over
time.

One question I'd like to hear opinions about:  if we're allowing the
user to create new specialized widgets, should we use an
object-oriented inheritance scheme, or do everything by delegation?
For example, I said I'd like to see a string selector being used by
the varselector that Thomas described.  But that could be done in two
ways:  either the varselector is a descendant of a string selector, or
it's a new component that contains a string selector.  Opinions?  (For
what it's worth, Delphi uses the inheritance system, and it works
pretty well, so that's where I'd lean.)

Duncan Murdoch