[R-gui] Another R-GUI

Duncan Murdoch murdoch@stats.uwo.ca
Mon, 25 Nov 2002 11:25:28 -0500


On Mon, 25 Nov 2002 16:31:51 +0100, you wrote in message
<MABBLJDICACNFOLGIHJOEEEADBAA.phgrosjean@sciviews.org>:
> There will certainly be some cases where the
>programmer would like to use specific widgets, or exotic features. For
>instance, I have some ideas on how to implement dynamically a dialog box
>composed of standard widgets in Visual Basic, but it is not obvious to me
>how I could dynamically add some exotic OCXes at run time! 

I think the way Delphi handles this is good.  It doesn't use XML, it
uses its own language, but I think there's a 1-1 map to XML.  A
typical form definition file might look like this:

>object Form3: TForm3

Delphi calls windows "forms".  This is a dialog box declared to be of
type "TForm3", which I just created.  The compiler would see the
declaration and would know what TForm3 means.

>  Left = 247
>  Top = 122
>  Width = 870
>  Height = 640
>  Caption = 'Form3'
>  Color = clBtnFace
>  Font.Charset = DEFAULT_CHARSET
>  Font.Color = clWindowText
>  Font.Height = -13
>  Font.Name = 'MS Sans Serif'
>  Font.Style = []
>  OldCreateOrder = False
>  PixelsPerInch = 120
>  TextHeight = 16

These are a number of properties of the form that have been set to
non-default values.

>  object Button1: TButton
>    Left = 168
>    Top = 32
>    Width = 75
>    Height = 25
>    Caption = 'Button1'
>    TabOrder = 0
>  end


This is a button that has been added to the form, with some
non-default properties.  Delphi knows that TButton is a button,
because it has been registered with the system.  If I wanted an OCX,
I'd register TMyOCX with the system, and it would be allowed here too.

>end

If other components had been added to the form, their descriptions
would follow the button definition.  Some components can have other
components nested within them.

>P.S.: Duncan, I recently showed your RGL (R interface to OpenGL) at a
>R/PASTECS formation,... and I got a lot of Aahh! and Oohhh! By the way, in
>the choosen example, some particular features in the data set where only
>revealed by playing with the 3D graph in RGL, but not, for instance in a
>contour plot [image() followed by contour()].

Sounds great!  By the way, there's some progress on getting it past
being just a "prototype".  I'm hoping to get some help translating to
C++ early next year, at which point I can clean up some ugliness in
the original version, make it available on more platforms, and start
adding requested features to it.

Duncan Murdoch