[R-gui] Sample Action Scripts

Zed A. Shaw zed.shaw@ubc.ca
Wed, 27 Nov 2002 15:16:43 -0800


> This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

--B_3121255007_144168
Content-type: text/plain; charset="US-ASCII"
Content-transfer-encoding: 7bit

I forgot to include this before, but I've attached a couple of action
scripts to this e-mail for those who are interested.  The syntax may be
unfamiliar as it is Jelly (http://jakarta.apache.org/commons/sandbox/jelly/)
but the principle is there.  Here's a breakdown of what is in the Jelly
scripts:

1.  The top part is just what you need to get Jelly scripts up and running.
2.  The meat of the action is in the
<ob:actionInterface></ob:actionInterface> tag.  It contains the necessary
stuff for the action.
3.  Then I create any variables and functions I need to do the processing.
4.  I then have an "onClosing" function that actually processes the variable
the user puts in the interface and sends the resulting generated R script to
the console.
    4a.  This function has two parts.  The top part is just R script
(defined as a variable) with different variable replacements in it (the
${Yvariable.text} and so on).
    4b.  The next part is the code that actually processes the variable,
creates the console, and then sends it to the console for processing by R.
5.  Finally, I define an interface starting at the <frame>...</frame> tag.
This interface is just a really basic Swing interface using the Jelly swing
stuff.  It is not generic in the way that people are proposing here.  I'm
hoping that this list will develop a generic GUI description language which
will be a replacement for something like this.

So, that's how the actions look.  Take a look at them, and let me know what
you think.  Keep in mind that I am probably going to be dropping this syntax
real soon in favor of another easier (and faster) language, but the idea is
still the same:  Present an interface to configure a code generator.


-- 
Zed A. Shaw




--B_3121255007_144168
Content-type: text/plain; name="obversive.xml";
 x-mac-creator="4A455350";
 x-mac-type="54455854"
Content-disposition: attachment
Content-transfer-encoding: base64

PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxqOmplbGx5IAoJeG1sbnM6aj0iamVsbHk6Y29yZSIg
Cgl4bWxucz0iamVsbHk6c3dpbmciIAoJeG1sbnM6bG9nPSJqZWxseTpsb2ciCgl4bWxuczpk
ZWZpbmU9ImplbGx5OmRlZmluZSIKCXhtbG5zOm9iPSJvYnZlcnNpdmUiPgoKCgk8b2I6YWN0
aW9uSW50ZXJmYWNlPgoJCSAgPGo6bmV3IGNsYXNzTmFtZT0iamF2YXguc3dpbmcuRGVmYXVs
dExpc3RNb2RlbCIgdmFyPSJsaXN0TW9kZWwiIC8+CgkJICAke2xpc3RNb2RlbC5hZGQoMCwi
c3dpc3MiKX0KCQkgICR7bGlzdE1vZGVsLmFkZCgxLCJ2b2xjYW5vIil9CgkJICAke2xpc3RN
b2RlbC5hZGQoMSwiVVNBcnJlc3RzIil9CgkJICAKCQkgIDxkZWZpbmU6c2NyaXB0IHZhcj0i
b25DbG9zaW5nIj4KCQkJPGxvZzppbmZvPkZyYW1lIGNsb3NlZCwgcHJvY2Vzc2luZyB2YXJp
YWJsZXM8L2xvZzppbmZvPgoJCQk8ajpzZXQgdmFyPSJzY3JpcHRUZXh0Ij4KZGF0YShzd2lz
cykKYXR0YWNoKHN3aXNzKQpsbSggJHtZVmFyaWFibGUudGV4dH0gfiAke1hWYXJpYWJsZS50
ZXh0fSApCmRldGFjaChzd2lzcykKCQkJPC9qOnNldD4KCQkJPGxvZzppbmZvPldpbGwgcnVu
IHRoZSBmb2xsb3dpbmc6PC9sb2c6aW5mbz4KCQkJPGxvZzppbmZvPgoJCQkJJHtzY3JpcHRU
ZXh0fQoJCQk8L2xvZzppbmZvPgoJCQkKCQkJPGo6bmV3IGNsYXNzTmFtZT0ib3JnLm9idmVy
c2l2ZS51aS5Db25zb2xlIiB2YXI9ImNvbnNvbGVXaW5kb3ciIC8+CgkJCSR7Y29uc29sZVdp
bmRvdy5zZXRTY3JpcHRUZXh0QXJlYVRleHQoc2NyaXB0VGV4dCl9CgkJCSR7Y29uc29sZVdp
bmRvdy5zaG93KCl9CgkJCSR7Y29uc29sZVdpbmRvdy5ydW5TY3JpcHQobnVsbCl9CgkJICA8
L2RlZmluZTpzY3JpcHQ+CgkJCgkJICA8ZnJhbWUgdGl0bGU9IkFjdGlvbiBJbnRlcmZhY2Ui
IHZhcj0iZnJhbWUiIGxvY2F0aW9uPSIxMDAsMTAwIiBzaXplPSI4MDAsNDAwIj4KCQkJPHNw
bGl0UGFuZT4KCQkJCTxqOm5ldyBjbGFzc05hbWU9ImphdmEuYXd0LkJvcmRlckxheW91dCIg
dmFyPSJwYW5lbExheW91dCIvPgkJCgkJCSAgPHBhbmVsIGxheW91dD0iJHtwYW5lbExheW91
dH0iPgoJCQkgIDxsaXN0IG1vZGVsPSIke2xpc3RNb2RlbH0iIHZhcj0iYWN0aW9uTGlzdCIg
c2l6ZT0iMjAwLDQwMCI+CgkJCQk8L2xpc3Q+CgkJCSAgPC9wYW5lbD4KCQkJICAKCQkJICA8
c2Nyb2xsUGFuZT4KCQkJICAJPGo6bmV3IGNsYXNzTmFtZT0iamF2YS5hd3QuRmxvd0xheW91
dCIgdmFyPSJmaWVsZHNMYXlvdXQiIC8+CgkJCQk8cGFuZWwgbGF5b3V0PSIke2ZpZWxkc0xh
eW91dH0iPgoJCQkJCTxsYWJlbCB0ZXh0PSJZIFZhcmlhYmxlOiIgLz4KCQkJCQk8dGV4dEZp
ZWxkIHRleHQ9IkNhdGhvbGljIiBjb2x1bW5zPSIyMCIgdmFyPSJZVmFyaWFibGUiIC8+CgkJ
CQkJPGxhYmVsIHRleHQ9IlggVmFyaWFibGU6IiAvPgoJCQkJCTx0ZXh0RmllbGQgdGV4dD0i
QWdyaWN1bHR1cmUiIGNvbHVtbnM9IjIwIiB2YXI9IlhWYXJpYWJsZSIgLz4KCQkJCTwvcGFu
ZWw+CgkJCSAgPC9zY3JvbGxQYW5lPgoJCQk8L3NwbGl0UGFuZT4KCQkJPHdpbmRvd0xpc3Rl
bmVyIHZhcj0iZXZlbnQiIGNsb3Npbmc9IiR7b25DbG9zaW5nfSIvPgoJCSAgPC9mcmFtZT4K
CQkgIAoJCSAgJHtmcmFtZS5zaG93KCl9Cgk8L29iOmFjdGlvbkludGVyZmFjZT4KCQoJCjwv
ajpqZWxseT4KCgoK

--B_3121255007_144168
Content-type: text/plain; name="cluster.xml";
 x-mac-creator="4A455350";
 x-mac-type="54455854"
Content-disposition: attachment
Content-transfer-encoding: base64

PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxqOmplbGx5IAoJeG1sbnM6aj0iamVsbHk6Y29yZSIg
Cgl4bWxucz0iamVsbHk6c3dpbmciIAoJeG1sbnM6bG9nPSJqZWxseTpsb2ciCgl4bWxuczpk
ZWZpbmU9ImplbGx5OmRlZmluZSIKCXhtbG5zOm9iPSJvYnZlcnNpdmUiPgoKCgk8b2I6YWN0
aW9uSW50ZXJmYWNlPgoJCSAgPGo6bmV3IGNsYXNzTmFtZT0iamF2YXguc3dpbmcuRGVmYXVs
dExpc3RNb2RlbCIgdmFyPSJsaXN0TW9kZWwiIC8+CgkJICAke2xpc3RNb2RlbC5hZGQoMCwi
c3dpc3MiKX0KCQkgICR7bGlzdE1vZGVsLmFkZCgxLCJ2b2xjYW5vIil9CgkJICAke2xpc3RN
b2RlbC5hZGQoMSwiVVNBcnJlc3RzIil9CgkJICAKCQkgIDxkZWZpbmU6c2NyaXB0IHZhcj0i
b25DbG9zaW5nIj4KCQkJPGxvZzppbmZvPkZyYW1lIGNsb3NlZCwgcHJvY2Vzc2luZyB2YXJp
YWJsZXM8L2xvZzppbmZvPgoJCQk8ajpzZXQgdmFyPSJzY3JpcHRUZXh0Ij4Kc291cmNlKCJs
c19vYmplY3RzLlIiKQpzb3VyY2UoIm9idmVyc2l2ZV9jbHVzdGVyX2JpcGxvdC5SIikKc291
cmNlKCJvYnZlcnNpdmVfY2x1c3Rlcl9rbWVhbnMuUiIpCmNsdXN0ZXJEYXRhID0gcmVhZC5j
c3YoIiR7ZGF0YUZpbGUudGV4dH0iLHJvdy5uYW1lcz0xKQpvYnZlcnNpdmUuY2x1c3Rlci5r
bWVhbnMoJHtmb3JtdWxhLnRleHR9LGNsdXN0ZXJEYXRhLCR7Y2x1c3RlcnMudGV4dH0scmVw
b3J0PSR7ZG9SZXBvcnQudGV4dH0sZ3JhcGg9JHtkb0dyYXBoLnRleHR9KQoJCQk8L2o6c2V0
PgoJCQk8bG9nOmluZm8+V2lsbCBydW4gdGhlIGZvbGxvd2luZzo8L2xvZzppbmZvPgoJCQk8
bG9nOmluZm8+CgkJCQkke3NjcmlwdFRleHR9CgkJCTwvbG9nOmluZm8+CgkJCQoJCQk8ajpu
ZXcgY2xhc3NOYW1lPSJvcmcub2J2ZXJzaXZlLnVpLkNvbnNvbGUiIHZhcj0iY29uc29sZVdp
bmRvdyIgLz4KCQkJJHtjb25zb2xlV2luZG93LnNldFNjcmlwdFRleHRBcmVhVGV4dChzY3Jp
cHRUZXh0KX0KCQkJJHtjb25zb2xlV2luZG93LnNob3coKX0KCQkJJHtjb25zb2xlV2luZG93
LnJ1blNjcmlwdChudWxsKX0KCQkgIDwvZGVmaW5lOnNjcmlwdD4KCQkKCQkgIDxmcmFtZSB0
aXRsZT0iQWN0aW9uIEludGVyZmFjZSIgdmFyPSJmcmFtZSIgbG9jYXRpb249IjEwMCwxMDAi
IHNpemU9IjQwMCwyMDAiPgoJCSAgCQkKCQkJICAJPGo6bmV3IGNsYXNzTmFtZT0iamF2YS5h
d3QuR3JpZExheW91dCIgdmFyPSJmaWVsZHNMYXlvdXQiIC8+CgkJCQkke2ZpZWxkc0xheW91
dC5zZXRDb2x1bW5zKDIpfQoJCQkJJHtmaWVsZHNMYXlvdXQuc2V0Um93cyg2KX0KCQkJCTxw
YW5lbCBsYXlvdXQ9IiR7ZmllbGRzTGF5b3V0fSI+CgkJCQkJPGxhYmVsIHRleHQ9IkZvcm11
bGE6IiAvPgoJCQkJCTx0ZXh0RmllbGQgdGV4dD0ifldpbitHcmFkK1Zpb2xhdCtBdHRuZCtU
ZWFtcytGZW0rRmluYW4iIGNvbHVtbnM9IjUwIiB2YXI9ImZvcm11bGEiIC8+CgkJCQkJPGxh
YmVsIHRleHQ9IkRhdGEgRmlsZToiIC8+CgkJCQkJPHRleHRGaWVsZCB0ZXh0PSJhdGhsZXRp
Yy5jc3YiIGNvbHVtbnM9IjIwIiB2YXI9ImRhdGFGaWxlIiAvPgoJCQkJCTxsYWJlbCB0ZXh0
PSJOdW1iZXIgQ2x1c3RlcnM6IiAvPgoJCQkJCTx0ZXh0RmllbGQgdGV4dD0iNCIgY29sdW1u
cz0iNSIgdmFyPSJjbHVzdGVycyIgLz4KCQkJCQk8bGFiZWwgdGV4dD0iUmVwb3J0PzoiIC8+
CgkJCQkJPHRleHRGaWVsZCB0ZXh0PSJUUlVFIiBjb2x1bW5zPSI1IiB2YXI9ImRvUmVwb3J0
IiAvPgoJCQkJCTxsYWJlbCB0ZXh0PSJHcmFwaD86IiAvPgoJCQkJCTx0ZXh0RmllbGQgdGV4
dD0iVFJVRSIgY29sdW1ucz0iNSIgdmFyPSJkb0dyYXBoIiAvPgoJCQkJCTxsYWJlbCB0ZXh0
PSJDbG9zZSB0aGlzIHdpbmRvdyB0byBydW4gaXQuIi8+CgkJCQk8L3BhbmVsPgoJCQk8d2lu
ZG93TGlzdGVuZXIgdmFyPSJldmVudCIgY2xvc2luZz0iJHtvbkNsb3Npbmd9Ii8+CgkJICA8
L2ZyYW1lPgoJCSAgCgkJICAke2ZyYW1lLnNob3coKX0KCTwvb2I6YWN0aW9uSW50ZXJmYWNl
PgoJCgkKPC9qOmplbGx5PgoKCgo=

--B_3121255007_144168--