[rkward-cvs] SF.net SVN: rkward:[3917] trunk/rkward/packages/rkwarddev
m-eik at users.sourceforge.net
m-eik at users.sourceforge.net
Sun Oct 9 20:38:54 UTC 2011
Revision: 3917
http://rkward.svn.sourceforge.net/rkward/?rev=3917&view=rev
Author: m-eik
Date: 2011-10-09 20:38:53 +0000 (Sun, 09 Oct 2011)
Log Message:
-----------
rkwarddev: fixed plugin detection, also a lot of functions now use "..." instead of a named option for multiple nodes, so you don't need to list() them any more
Modified Paths:
--------------
trunk/rkward/packages/rkwarddev/ChangeLog
trunk/rkward/packages/rkwarddev/DESCRIPTION
trunk/rkward/packages/rkwarddev/R/rk-internal.R
trunk/rkward/packages/rkwarddev/R/rk.XML.col.R
trunk/rkward/packages/rkwarddev/R/rk.XML.components.R
trunk/rkward/packages/rkwarddev/R/rk.XML.context.R
trunk/rkward/packages/rkwarddev/R/rk.XML.convert.R
trunk/rkward/packages/rkwarddev/R/rk.XML.dialog.R
trunk/rkward/packages/rkwarddev/R/rk.XML.frame.R
trunk/rkward/packages/rkwarddev/R/rk.XML.hierarchy.R
trunk/rkward/packages/rkwarddev/R/rk.XML.logic.R
trunk/rkward/packages/rkwarddev/R/rk.XML.page.R
trunk/rkward/packages/rkwarddev/R/rk.XML.row.R
trunk/rkward/packages/rkwarddev/R/rk.XML.snippet.R
trunk/rkward/packages/rkwarddev/R/rk.XML.snippets.R
trunk/rkward/packages/rkwarddev/R/rk.XML.tabbook.R
trunk/rkward/packages/rkwarddev/R/rk.XML.text.R
trunk/rkward/packages/rkwarddev/R/rk.XML.wizard.R
trunk/rkward/packages/rkwarddev/R/rk.rkh.related.R
trunk/rkward/packages/rkwarddev/R/rk.rkh.settings.R
trunk/rkward/packages/rkwarddev/R/rkwarddev-package.R
trunk/rkward/packages/rkwarddev/demo/skeleton_dialog.R
trunk/rkward/packages/rkwarddev/inst/CITATION
trunk/rkward/packages/rkwarddev/inst/rkward/RKWardPluginSkeleton.pluginmap
trunk/rkward/packages/rkwarddev/inst/rkward/plugins/RKWardPluginSkeleton.xml
trunk/rkward/packages/rkwarddev/man/rk.XML.col.Rd
trunk/rkward/packages/rkwarddev/man/rk.XML.components.Rd
trunk/rkward/packages/rkwarddev/man/rk.XML.context.Rd
trunk/rkward/packages/rkwarddev/man/rk.XML.convert.Rd
trunk/rkward/packages/rkwarddev/man/rk.XML.dialog.Rd
trunk/rkward/packages/rkwarddev/man/rk.XML.frame.Rd
trunk/rkward/packages/rkwarddev/man/rk.XML.hierarchy.Rd
trunk/rkward/packages/rkwarddev/man/rk.XML.logic.Rd
trunk/rkward/packages/rkwarddev/man/rk.XML.page.Rd
trunk/rkward/packages/rkwarddev/man/rk.XML.row.Rd
trunk/rkward/packages/rkwarddev/man/rk.XML.snippet.Rd
trunk/rkward/packages/rkwarddev/man/rk.XML.snippets.Rd
trunk/rkward/packages/rkwarddev/man/rk.XML.text.Rd
trunk/rkward/packages/rkwarddev/man/rk.XML.wizard.Rd
trunk/rkward/packages/rkwarddev/man/rk.rkh.related.Rd
trunk/rkward/packages/rkwarddev/man/rk.rkh.settings.Rd
trunk/rkward/packages/rkwarddev/man/rkwarddev-package.Rd
Added Paths:
-----------
trunk/rkward/packages/rkwarddev/inst/rkward/rkwarddev.pluginmap
Modified: trunk/rkward/packages/rkwarddev/ChangeLog
===================================================================
--- trunk/rkward/packages/rkwarddev/ChangeLog 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/ChangeLog 2011-10-09 20:38:53 UTC (rev 3917)
@@ -1,5 +1,15 @@
ChangeLog for package rkwarddev
+## 0.03-3 (2011-10-09)
+ - replaced most of the "nodes" and "children" options with "..." in functions rk.rkh.related(), rk.rkh.settings(),
+ rk.XML.col(), rk.XML.components(), rk.XML.context(), rk.XML.dialog(), rk.XML.frame(), rk.XML.hierarchy(), rk.XML.logic(),
+ rk.XML.page(), rk.XML.row(), rk.XML.snippet(), rk.XML.snippets() and rk.XML.wizard(). therefore, you don't
+ need to list() objects any more.
+ - any function which generates an ID now has an automation mechanism for it, which is also the default.
+
+## 0.03-2 (2011-10-09)
+ - fixed skeleton GUI pluginmap not being found
+
## 0.03-1 (2011-10-08)
- added new shortcut function qp() -- "quote + plus" -- for id()
- added option to create arrays with rk.JS.options()
Modified: trunk/rkward/packages/rkwarddev/DESCRIPTION
===================================================================
--- trunk/rkward/packages/rkwarddev/DESCRIPTION 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/DESCRIPTION 2011-10-09 20:38:53 UTC (rev 3917)
@@ -14,8 +14,8 @@
URL: http://rkward.sourceforge.net
Authors at R: c(person(given="Meik", family="Michalke",
email="meik.michalke at hhu.de", role=c("aut", "cre")))
-Version: 0.03-1
-Date: 2011-10-08
+Version: 0.03-3
+Date: 2011-10-09
Collate:
'echo.R'
'id.R'
Modified: trunk/rkward/packages/rkwarddev/R/rk-internal.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk-internal.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk-internal.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -17,7 +17,14 @@
child.list <- function(children){
if(inherits(children, "XiMpLe.node")){
children <- list(children)
- } else {}
+ } else {
+ # if already a list, check if it's a list in a list and get it out
+ if(inherits(children, "list") & length(children) == 1){
+ if(inherits(children[[1]], "list")){
+ children <- children[[1]]
+ } else {}
+ } else {}
+ }
return(children)
} ## end function child.list()
@@ -207,11 +214,13 @@
## function node.soup()
# pastes the nodes as XML, only alphanumeric characters, e.g. to generate auto-IDs
node.soup <- function(nodes){
- if(inherits(nodes, "XiMpLe.node")){
- the.soup <- gsub("[^[:alnum:]]", "", pasteXMLNode(nodes, shine=0))
- } else {
- stop(simpleError("Nodes must be of class XiMpLe.node!"))
- }
+ the.soup <- paste(unlist(sapply(child.list(nodes), function(this.node){
+ if(inherits(this.node, "XiMpLe.node")){
+ return(gsub("[^[:alnum:]]", "", pasteXMLNode(this.node, shine=0)))
+ } else {
+ stop(simpleError("Nodes must be of class XiMpLe.node!"))
+ }
+ })), sep="", collapse="")
return(the.soup)
} ## end function node.soup()
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.col.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.col.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.col.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -1,29 +1,34 @@
#' Create XML node "column" for RKWard plugins
#'
-#' @param children An optional list with objects of class \code{XiMpLe.node}.
+#' @param ... Objects of class \code{XiMpLe.node}.
#' @param id.name Character string, a unique ID for this plugin element.
+#' If \code{"auto"}, an ID will be generated automatically from the objects in \code{...}.
#' If \code{NULL}, no ID will be given.
#' @return An object of class \code{XiMpLe.node}.
#' @export
#' @seealso \href{help:rkwardplugins}{Introduction to Writing Plugins for RKWard}
#' @examples
#' test.checkboxes <- rk.XML.row(rk.XML.col(
-#' list(
#' rk.XML.cbox(label="foo", val="foo1", chk=TRUE),
-#' rk.XML.cbox(label="bar", val="bar2"))))
+#' rk.XML.cbox(label="bar", val="bar2")))
#' cat(pasteXMLNode(test.checkboxes))
-rk.XML.col <- function(children=list(), id.name=NULL){
- if(!is.null(id.name)){
+rk.XML.col <- function(..., id.name="auto"){
+ nodes <- list(...)
+
+ if(identical(id.name, "auto")){
+ # try autogenerating some id
+ attr.list <- list(id=auto.ids(node.soup(nodes), prefix=ID.prefix("column"), chars=10))
+ } else if(is.null(id.name)){
+ attr.list <- list()
+ } else {
attr.list <- list(id=id.name)
- } else {
- attr.list <- list()
}
col <- new("XiMpLe.node",
name="column",
attributes=attr.list,
- children=child.list(children),
+ children=child.list(nodes),
value="")
return(col)
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.components.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.components.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.components.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,7 +2,7 @@
#'
#' This function will create a components node for a .pluginmap file, with mandatory child nodes "component".
#'
-#' @param nodes A (list of) objects of class \code{XiMpLe.node}. They must all have the name "component".
+#' @param ... Objects of class \code{XiMpLe.node}. They must all have the name "component".
#' @return A list of objects of class \code{XiMpLe.node}.
#' @export
#' @seealso
@@ -14,7 +14,9 @@
#' test.components <- rk.XML.components(test.component)
#' cat(pasteXMLNode(test.components))
-rk.XML.components <- function(nodes){
+rk.XML.components <- function(...){
+ nodes <- list(...)
+
# check the node names and allow only valid ones
sapply(child.list(nodes), function(this.node){
node.name <- this.node at name
@@ -25,7 +27,8 @@
node <- new("XiMpLe.node",
name="components",
- children=child.list(nodes)
+ children=child.list(nodes),
+ value=""
)
return(node)
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.context.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.context.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.context.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -3,7 +3,7 @@
#' This function will create a context node for .pluginmap files,
#' with mandatory child nodes "menu".
#'
-#' @param nodes A (list of) objects of class \code{XiMpLe.node}, must all be "menu".
+#' @param ... Objects of class \code{XiMpLe.node}, must all be "menu".
#' @param id Character string, either "x11" or "import".
#' @return An object of class \code{XiMpLe.node}.
#' @export
@@ -19,7 +19,9 @@
#' test.context <- rk.XML.context(test.menu)
#' cat(pasteXMLNode(test.context))
-rk.XML.context <- function(nodes, id="x11"){
+rk.XML.context <- function(..., id="x11"){
+ nodes <- list(...)
+
# check the node names and allow only valid ones
node.names <- sapply(child.list(nodes), function(this.node){
this.node at name
@@ -38,7 +40,8 @@
node <- new("XiMpLe.node",
name="context",
attributes=list(id=id),
- children=child.list(nodes)
+ children=child.list(nodes),
+ value=""
)
return(node)
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.convert.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.convert.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.convert.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -42,7 +42,7 @@
#' \code{\link[rkwarddev:rk.XML.set]{rk.XML.set}},
#' and the \href{help:rkwardplugins}{Introduction to Writing Plugins for RKWard}
#' @examples
-#' test.convert <- rk.XML.convert(c(string="foo"), mode=c(notequals="bar"))
+#' test.convert <- rk.XML.convert(list(string="foo"), mode=c(notequals="bar"))
#' cat(pasteXMLNode(test.convert))
rk.XML.convert <- function(sources, mode=c(), required=FALSE, id.name="auto"){
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.dialog.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.dialog.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.dialog.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -4,7 +4,7 @@
#' "column", "copy", "dropdown", "embed", "formula", "frame", "include", "input", "insert",
#' "preview", "radio", "row", "saveobject", "spinbox", "stretch", "tabbook", "text", "varselector" and "varslot".
#'
-#' @param nodes A (list of) objects of class \code{XiMpLe.node}.
+#' @param ... Objects of class \code{XiMpLe.node}.
#' @param label Character string, a text label for this plugin element.
#' @return An object of class \code{XiMpLe.node}.
#' @export
@@ -17,10 +17,12 @@
#' test.input <- rk.XML.input("Type some text")
#' test.cbox1 <- rk.XML.cbox(label="Want to type?", val="true")
#' test.cbox2 <- rk.XML.cbox(label="Are you shure?", val="true")
-#' test.dialog <- rk.XML.dialog(rk.XML.col(list(test.input, test.cbox1, test.cbox2)))
+#' test.dialog <- rk.XML.dialog(rk.XML.col(test.input, test.cbox1, test.cbox2))
#' cat(pasteXMLNode(test.dialog))
-rk.XML.dialog <- function(nodes, label=NULL){
+rk.XML.dialog <- function(..., label=NULL){
+ nodes <- list(...)
+
# check the node names and allow only valid ones
node.names <- sapply(child.list(nodes), function(this.node){
this.node at name
@@ -34,10 +36,17 @@
stop(simpleError(paste("Invalid XML nodes for dialog section: ", paste(node.names[invalid.sets], collapse=", "), sep="")))
} else {}
+ if(!is.null(label)){
+ attr.list <- list(label=label)
+ } else {
+ attr.list <- list()
+ }
+
node <- new("XiMpLe.node",
name="dialog",
- attributes=list(label=label),
- children=child.list(nodes)
+ attributes=attr.list,
+ children=child.list(nodes),
+ value=""
)
return(node)
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.frame.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.frame.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.frame.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -1,9 +1,10 @@
#' Create XML node "column" for RKWard plugins
#'
-#' @param children An optional list with objects of class \code{XiMpLe.node}.
+#' @param ... Objects of class \code{XiMpLe.node}.
#' @param label Character string, a text label for this plugin element.
#' @param id.name Character string, a unique ID for this plugin element.
-#' If \code{"auto"} and a label was provided, an ID will be generated automatically from the label.
+#' If \code{"auto"} and a label was provided, an ID will be generated automatically from the label
+#' if presen, otherwise from the objects in the frame.
#' If \code{NULL}, no ID will be given.
#' @return An object of class \code{XiMpLe.node}.
#' @seealso
@@ -15,22 +16,30 @@
#' "Second Option"=c(val="val2", chk=TRUE)))
#' cat(pasteXMLNode(rk.XML.frame(test.dropdown, label="Some options")))
-rk.XML.frame <- function(children=list(), label=NULL, id.name="auto"){
+rk.XML.frame <- function(..., label=NULL, id.name="auto"){
+ nodes <- list(...)
+
if(!is.null(label)){
attr.list <- list(label=label)
- if(identical(id.name, "auto")){
- attr.list[["id"]] <- list(id=auto.ids(label, prefix=ID.prefix("frame")))
- } else if(!is.null(id.name)){
- attr.list[["id"]] <- id.name
- } else {}
} else {
attr.list <- list()
}
+ if(identical(id.name, "auto")){
+ if(!is.null(label)){
+ attr.list[["id"]] <- auto.ids(label, prefix=ID.prefix("frame"))
+ } else {
+ # try autogenerating some id
+ attr.list[["id"]] <- auto.ids(node.soup(nodes), prefix=ID.prefix("frame"), chars=10)
+ }
+ } else if(!is.null(id.name)){
+ attr.list[["id"]] <- id.name
+ } else {}
+
frame <- new("XiMpLe.node",
name="frame",
attributes=attr.list,
- children=child.list(children),
+ children=child.list(nodes),
value="")
return(frame)
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.hierarchy.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.hierarchy.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.hierarchy.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -3,7 +3,7 @@
#' This function will create a hierarchy section for .pluginmap files,
#' with mandatory child nodes "menu".
#'
-#' @param nodes A (list of) objects of class \code{XiMpLe.node}, must all be "menu".
+#' @param ... Objects of class \code{XiMpLe.node}, must all be "menu".
#' @return An object of class \code{XiMpLe.node}.
#' @export
#' @seealso
@@ -19,7 +19,9 @@
#' test.hierarchy <- rk.XML.hierarchy(test.menu)
#' cat(pasteXMLNode(test.hierarchy))
-rk.XML.hierarchy <- function(nodes){
+rk.XML.hierarchy <- function(...){
+ nodes <- list(...)
+
# check the node names and allow only valid ones
node.names <- sapply(child.list(nodes), function(this.node){
this.node at name
@@ -33,7 +35,8 @@
node <- new("XiMpLe.node",
name="hierarchy",
- children=child.list(nodes)
+ children=child.list(nodes),
+ value=""
)
return(node)
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.logic.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.logic.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.logic.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,7 +2,7 @@
#'
#' This function will create a logic section with "convert", "connect", "include", "insert", "external" and "set" nodes.
#'
-#' @param nodes A list of objects of class \code{XiMpLe.node}.
+#' @param ... Objects of class \code{XiMpLe.node}.
#' @return An object of class \code{XiMpLe.node}.
#' @export
#' @seealso
@@ -19,15 +19,17 @@
#' # now create some logic so that the input field is only enabled when both boxes are checked
#' test.convert <- rk.XML.convert(c(state=test.cbox1,state=test.cbox2), mode=c(and=""))
#' test.connect <- rk.XML.connect(governor=test.convert, client=test.input, set="enabled")
-#' test.logic <- rk.XML.logic(nodes=list(test.convert, test.connect))
+#' test.logic <- rk.XML.logic(test.convert, test.connect)
#' cat(pasteXMLNode(test.logic))
#'
#' # with only one checkbox, you can directly query if it's checked
#' test.connect2 <- rk.XML.connect(governor=test.cbox1, client=test.input, set="enabled")
-#' test.logic2 <- rk.XML.logic(nodes=list(test.connect2))
+#' test.logic2 <- rk.XML.logic(test.connect2)
#' cat(pasteXMLNode(test.logic2))
-rk.XML.logic <- function(nodes){
+rk.XML.logic <- function(...){
+ nodes <- list(...)
+
# check the node names and allow only valid ones
node.names <- sapply(child.list(nodes), function(this.node){
this.node at name
@@ -40,7 +42,8 @@
node <- new("XiMpLe.node",
name="logic",
- children=child.list(nodes)
+ children=child.list(nodes),
+ value=""
)
return(node)
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.page.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.page.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.page.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -4,8 +4,10 @@
#' "column", "copy", "dropdown", "formula", "frame", "input", "page", "radio", "row", "saveobject",
#' "spinbox", "stretch", "tabbook", "text", "varselector" and "varslot".
#'
-#' @param nodes A (list of) objects of class \code{XiMpLe.node}.
+#' @param ... Objects of class \code{XiMpLe.node}.
#' @param id.name Character string, a unique ID for this plugin element.
+#' If \code{"auto"}, an ID will be generated automatically from the objects in \code{...}.
+#' If \code{NULL}, no ID will be given.
#' @return An object of class \code{XiMpLe.node}.
#' @export
#' @seealso
@@ -16,11 +18,13 @@
#' test.cbox1 <- rk.XML.cbox(label="More than 30 subjects", val="true")
#' # define the wizard
#' test.text <- rk.XML.text("Did you test more than 30 subjects?")
-#' test.copy <- rk.XML.copy(id.name=test.cbox1)
-#' test.wizard <- rk.XML.wizard(rk.XML.page(list(test.text, test.copy)))
+#' test.copy <- rk.XML.copy(id=test.cbox1)
+#' test.wizard <- rk.XML.wizard(rk.XML.page(test.text, test.copy))
#' cat(pasteXMLNode(test.wizard))
-rk.XML.page <- function(nodes, id.name=NULL){
+rk.XML.page <- function(..., id.name="auto"){
+ nodes <- list(...)
+
# check the node names and allow only valid ones
node.names <- sapply(child.list(nodes), function(this.node){
this.node at name
@@ -33,10 +37,20 @@
stop(simpleError(paste("Invalid XML nodes for page/wizard section: ", paste(node.names[invalid.sets], collapse=", "), sep="")))
} else {}
+ if(identical(id.name, "auto")){
+ # try autogenerating some id
+ attr.list <- list(id=auto.ids(node.soup(nodes), prefix=ID.prefix("page"), chars=10))
+ } else if(is.null(id.name)){
+ attr.list <- list()
+ } else {
+ attr.list <- list(id=id.name)
+ }
+
node <- new("XiMpLe.node",
name="page",
- attributes=list(id=id.name),
- children=child.list(nodes)
+ attributes=attr.list,
+ children=child.list(nodes),
+ value=""
)
return(node)
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.row.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.row.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.row.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -1,29 +1,34 @@
#' Create XML node "row" for RKWard plugins
#'
-#' @param children An optional list with objects of class \code{XiMpLe.node}.
+#' @param ... Objects of class \code{XiMpLe.node}.
#' @param id.name Character string, a unique ID for this plugin element.
+#' If \code{"auto"}, an ID will be generated automatically from the objects in \code{...}.
#' If \code{NULL}, no ID will be given.
#' @return An object of class \code{XiMpLe.node}.
#' @export
#' @seealso \href{help:rkwardplugins}{Introduction to Writing Plugins for RKWard}
#' @examples
#' test.checkboxes <- rk.XML.row(rk.XML.col(
-#' list(
#' rk.XML.cbox(label="foo", val="foo1", chk=TRUE),
-#' rk.XML.cbox(label="bar", val="bar2"))))
+#' rk.XML.cbox(label="bar", val="bar2")))
#' cat(pasteXMLNode(test.checkboxes))
-rk.XML.row <- function(children=list(), id.name=NULL){
- if(!is.null(id.name)){
+rk.XML.row <- function(..., id.name="auto"){
+ nodes <- list(...)
+
+ if(identical(id.name, "auto")){
+ # try autogenerating some id
+ attr.list <- list(id=auto.ids(node.soup(nodes), prefix=ID.prefix("row"), chars=10))
+ } else if(is.null(id.name)){
+ attr.list <- list()
+ } else {
attr.list <- list(id=id.name)
- } else {
- attr.list <- list()
}
row <- new("XiMpLe.node",
name="row",
attributes=attr.list,
- children=child.list(children),
+ children=child.list(nodes),
value="")
return(row)
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.snippet.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.snippet.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.snippet.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,7 +2,7 @@
#'
#' This function will create a snippet node for snippets sections.
#'
-#' @param nodes A (list of) objects of class \code{XiMpLe.node}.
+#' @param ... Objects of class \code{XiMpLe.node}.
#' @param id.name Character string, a unique ID for this plugin element.
#' If \code{"auto"}, an ID will be generated automatically from the tag names and
#' IDs of the given nodes.
@@ -18,7 +18,9 @@
#' test.snippet <- rk.XML.snippet(test.formula)
#' cat(pasteXMLNode(test.snippet))
-rk.XML.snippet <- function(nodes, id.name="auto"){
+rk.XML.snippet <- function(..., id.name="auto"){
+ nodes <- list(...)
+
if(identical(id.name, "auto")){
# try autogenerating some id
id.name <- auto.ids(node.soup(nodes), prefix=ID.prefix("snippet"), chars=10)
@@ -29,7 +31,8 @@
node <- new("XiMpLe.node",
name="snippet",
attributes=list(id=id.name),
- children=child.list(nodes)
+ children=child.list(nodes),
+ value=""
)
return(node)
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.snippets.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.snippets.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.snippets.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,7 +2,7 @@
#'
#' This function will create a snippets node for the document section, with optional child nodes "snippet".
#'
-#' @param nodes A (list of) objects of class \code{XiMpLe.node}. They must all have the name "snippet".
+#' @param ... Objects of class \code{XiMpLe.node}. They must all have the name "snippet".
#' @return An object of class \code{XiMpLe.node}.
#' @export
#' @seealso
@@ -17,20 +17,18 @@
#' test.snippets <- rk.XML.snippets(test.snippet)
#' cat(pasteXMLNode(test.snippets))
-rk.XML.snippets <- function(nodes=NULL){
- if(!is.null(nodes)){
- # check the node names and allow only valid ones
- sapply(child.list(nodes), function(this.node){
- stopifnot(inherits(this.node, "XiMpLe.node"))
- node.name <- this.node at name
- if(!identical(node.name, "snippet")){
- stop(simpleError(paste("Invalid XML nodes for snippets section: ", node.name, sep="")))
- } else {}
- })
- } else {
- nodes <- list()
- }
+rk.XML.snippets <- function(...){
+ nodes <- list(...)
+ # check the node names and allow only valid ones
+ sapply(child.list(nodes), function(this.node){
+ stopifnot(inherits(this.node, "XiMpLe.node"))
+ node.name <- this.node at name
+ if(!identical(node.name, "snippet")){
+ stop(simpleError(paste("Invalid XML nodes for snippets section: ", node.name, sep="")))
+ } else {}
+ })
+
node <- new("XiMpLe.node",
name="snippets",
children=child.list(nodes),
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.tabbook.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.tabbook.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.tabbook.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -44,7 +44,7 @@
}
if(identical(id.name, "auto")){
- tab.ids <- auto.ids(tab.labels, prefix=ID.prefix("tabbook", length=3))
+ tab.ids <- auto.ids(tab.labels, prefix=ID.prefix("tab", length=3))
} else {}
tabs <- sapply(1:num.tabs, function(this.num){
this.tab <- tab.labels[[this.num]]
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.text.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.text.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.text.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -3,6 +3,8 @@
#' @param text Character string, the text to be displayed.
#' @param type One value of either "normal", "warning" or "error".
#' @param id.name Character string, a unique ID for this plugin element.
+#' If \code{"auto"}, an ID will be generated automatically from \code{text}.
+#' If \code{NULL}, no ID will be given.
#' @return An object of class \code{XiMpLe.node}.
#' @export
#' @seealso
@@ -11,11 +13,14 @@
#' test.text <- rk.XML.text("Added this text.")
#' cat(pasteXMLNode(test.text))
-rk.XML.text <- function(text, type="normal", id.name=NULL){
- if(!is.null(id.name)){
+rk.XML.text <- function(text, type="normal", id.name="auto"){
+ if(identical(id.name, "auto")){
+ # try autogenerating some id
+ attr.list <- list(id=auto.ids(text, prefix=ID.prefix("text")))
+ } else if(is.null(id.name)){
+ attr.list <- list()
+ } else {
attr.list <- list(id=id.name)
- } else {
- attr.list <- list()
}
if(identical(type, "warning") | identical(type, "error")){
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.wizard.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.wizard.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.wizard.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -4,7 +4,7 @@
#' "column", "copy", "dropdown", "embed", "formula", "frame", "include", "input", "insert",
#' "page", "preview", "radio", "row", "saveobject", "spinbox", "stretch", "tabbook", "text", "varselector" and "varslot".
#'
-#' @param nodes A (list of) objects of class \code{XiMpLe.node}
+#' @param ... Objects of class \code{XiMpLe.node}
#' @param label Character string, a text label for this plugin element.
#' @return An object of class \code{XiMpLe.node}.
#' @export
@@ -21,7 +21,9 @@
#' test.wizard <- rk.XML.wizard(rk.XML.page(list(test.text, test.copy)))
#' cat(pasteXMLNode(test.wizard))
-rk.XML.wizard <- function(nodes, label=NULL){
+rk.XML.wizard <- function(..., label=NULL){
+ nodes <- list(...)
+
# check the node names and allow only valid ones
node.names <- sapply(child.list(nodes), function(this.node){
this.node at name
@@ -35,10 +37,17 @@
stop(simpleError(paste("Invalid XML nodes for wizard section: ", paste(node.names[invalid.sets], collapse=", "), sep="")))
} else {}
+ if(!is.null(label)){
+ attr.list <- list(label=label)
+ } else {
+ attr.list <- list()
+ }
+
node <- new("XiMpLe.node",
name="wizard",
- attributes=list(label=label),
- children=child.list(nodes)
+ attributes=attr.list,
+ children=child.list(nodes),
+ value=""
)
return(node)
Modified: trunk/rkward/packages/rkwarddev/R/rk.rkh.related.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.rkh.related.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.rkh.related.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -1,37 +1,37 @@
#' Create XML "related" node for RKWard help pages
#'
-#' @param links A (list of) objects of class \code{XiMpLe.node}. They must all have the name "link".
+#' @param ... Objects of class \code{XiMpLe.node}. They must all have the name "link".
#' @param text Character string, the text to be displayed.
#' @return An object of class \code{XiMpLe.node}.
#' @export
#' @seealso
#' \code{\link[rkwarddev:rk.rkh.doc]{rk.rkh.doc}}
#' and the \href{help:rkwardplugins}{Introduction to Writing Plugins for RKWard}
-# @examples
-# package.link <- rk.rkh.link("Spice")
-# plugin.related <- rk.rkh.related(package.link)
-# cat(pasteXMLNode(plugin.related))
+#' @examples
+#' package.link <- rk.rkh.link("Spice")
+#' plugin.related <- rk.rkh.related(package.link)
+#' cat(pasteXMLNode(plugin.related))
-rk.rkh.related <- function(links=NULL, text=NULL){
- if(!is.null(links)){
- # check the node names and allow only valid ones
- li.elements <- sapply(child.list(links), function(this.node){
- if(!identical(this.node at name, "link")){
- stop(simpleError(paste("Invalid XML nodes for links section: ", this.node at name, sep="")))
- } else {
- li.element <- new("XiMpLe.node",
- name="li",
- children=child.list(this.node))
- }
- return(li.element)
- })
- } else {
- li.elements <- list()
- }
+rk.rkh.related <- function(..., text=NULL){
+ links <- list(...)
+ # check the node names and allow only valid ones
+ li.elements <- sapply(child.list(links), function(this.node){
+ if(!identical(this.node at name, "link")){
+ stop(simpleError(paste("Invalid XML nodes for links section: ", this.node at name, sep="")))
+ } else {
+ li.element <- new("XiMpLe.node",
+ name="li",
+ children=child.list(this.node),
+ value="")
+ }
+ return(li.element)
+ })
+
ul <- new("XiMpLe.node",
name="ul",
- children=child.list(li.elements))
+ children=child.list(li.elements),
+ value="")
if(is.null(text)){
text <- ""
Modified: trunk/rkward/packages/rkwarddev/R/rk.rkh.settings.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.rkh.settings.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rk.rkh.settings.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,7 +2,7 @@
#'
#' This function will create a settings node for the document section, with optional child nodes "setting" and "caption".
#'
-#' @param nodes A (list of) objects of class \code{XiMpLe.node}. They must all have the name "setting" or "caption".
+#' @param ... Objects of class \code{XiMpLe.node}. They must all have the name "setting" or "caption".
#' @return An object of class \code{XiMpLe.node}.
#' @export
#' @seealso
@@ -10,7 +10,7 @@
#' \code{\link[rkwarddev:rk.rkh.setting]{rk.rkh.setting}},
#' \code{\link[rkwarddev:rk.rkh.caption]{rk.rkh.caption}},
#' and the \href{help:rkwardplugins}{Introduction to Writing Plugins for RKWard}
-# @examples
+#' @examples
#' # define a sample frame
#' test.dropdown <- rk.XML.dropdown("mydrop",
#' options=list("First Option"=c(val="val1"),
@@ -22,21 +22,19 @@
#' test.settings <- rk.rkh.settings(list(test.caption, test.setting))
# cat(pasteXMLNode(test.settings))
-rk.rkh.settings <- function(nodes=NULL){
- if(!is.null(nodes)){
- # check the node names and allow only valid ones
- node.names <- sapply(child.list(nodes), function(this.node){
- this.node at name
- })
+rk.rkh.settings <- function(...){
+ nodes <- list(...)
- invalid.sets <- !node.names %in% c("setting", "caption")
- if(any(invalid.sets)){
- stop(simpleError(paste("Invalid XML nodes for settings section: ", paste(node.names[invalid.sets], collapse=", "), sep="")))
- } else {}
- } else {
- nodes <- list()
- }
+ # check the node names and allow only valid ones
+ node.names <- sapply(child.list(nodes), function(this.node){
+ this.node at name
+ })
+ invalid.sets <- !node.names %in% c("setting", "caption")
+ if(any(invalid.sets)){
+ stop(simpleError(paste("Invalid XML nodes for settings section: ", paste(node.names[invalid.sets], collapse=", "), sep="")))
+ } else {}
+
node <- new("XiMpLe.node",
name="settings",
children=child.list(nodes),
Modified: trunk/rkward/packages/rkwarddev/R/rkwarddev-package.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rkwarddev-package.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/R/rkwarddev-package.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -3,8 +3,8 @@
#' \tabular{ll}{
#' Package: \tab rkwarddev\cr
#' Type: \tab Package\cr
-#' Version: \tab 0.03-1\cr
-#' Date: \tab 2011-10-08\cr
+#' Version: \tab 0.03-3\cr
+#' Date: \tab 2011-10-09\cr
#' Depends: \tab R (>= 2.9.0),XiMpLe,rkward (>= 0.5.6)\cr
#' Enhances: \tab rkward\cr
#' Encoding: \tab UTF-8\cr
Modified: trunk/rkward/packages/rkwarddev/demo/skeleton_dialog.R
===================================================================
--- trunk/rkward/packages/rkwarddev/demo/skeleton_dialog.R 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/demo/skeleton_dialog.R 2011-10-09 20:38:53 UTC (rev 3917)
@@ -8,52 +8,54 @@
person(given="Meik", family="Michalke",
email="meik.michalke at hhu.de", role=c("aut","cre"))),
about=list(desc="GUI interface to create RKWard plugin skeletons",
- version="0.03-1", url="http://rkward.sf.net"),
+ version="0.03-3", url="http://rkward.sf.net"),
dependencies=list(rkward.min="0.5.7")
)
# tab1: information on the thing
-about.plugin <- rk.XML.frame(list(
- rk.XML.row(list(
+about.plugin <- rk.XML.frame(
+ rk.XML.row(
pl.name <- rk.XML.input("Plugin name", required=TRUE, size="small"),
- pl.license <- rk.XML.input("License", initial="GPL (>= 3)", required=TRUE))),
+ pl.license <- rk.XML.input("License", initial="GPL (>= 3)", required=TRUE)),
rk.XML.row(pl.desc <- rk.XML.input("Short description", required=TRUE)),
- rk.XML.row(list(
+ rk.XML.row(
pl.version <- rk.XML.input("Version number", initial="0.01-0", required=TRUE),
- pl.date <- rk.XML.input("Release date (empty for today)"))),
- rk.XML.row(list(
+ pl.date <- rk.XML.input("Release date (empty for today)")),
+ rk.XML.row(
pl.homepage <- rk.XML.input("Homepage"),
- pl.category<- rk.XML.input("Category")))), label="About the plugin")
+ pl.category<- rk.XML.input("Category")), label="About the plugin")
about.contact <- rk.XML.frame(
- rk.XML.row(list(
- rk.XML.col(rk.XML.stretch(before=list(
+ rk.XML.row(
+ rk.XML.col(
aut.given <- rk.XML.input("Given name", required=TRUE),
aut.family <- rk.XML.input("Family name", required=TRUE),
- aut.email <- rk.XML.input("E-mail", required=TRUE)))),
- rk.XML.col(rk.XML.frame(rk.XML.stretch(before=list(
+ aut.email <- rk.XML.input("E-mail", required=TRUE),
+ rk.XML.stretch()),
+ rk.XML.col(rk.XML.frame(
aut.auth <- rk.XML.cbox("Author", "aut", chk=TRUE),
- aut.maint <- rk.XML.cbox("Maintainer", "cre", chk=TRUE))), label="Author roles")))),
- label="Plugin author")
+ aut.maint <- rk.XML.cbox("Maintainer", "cre", chk=TRUE),
+ rk.XML.stretch(), label="Author roles"))),
+ label="Plugin author")
-tab1.about <- rk.XML.col(list(
- about.plugin,
- about.contact))
+tab1.about <- rk.XML.col(about.plugin, about.contact)
# tab2: create options
-crt.opts <- rk.XML.frame(list(
+crt.opts <- rk.XML.frame(
rk.XML.row(pl.dir <- rk.XML.browser("Directory to save to (empty for $TEMPDIR)", type="dir", required=FALSE)),
- rk.XML.row(list(
- rk.XML.col(rk.XML.stretch(before=list(
+ rk.XML.row(
+ rk.XML.col(
pl.overw <- rk.XML.cbox("Overwrite existing files", "true", chk=FALSE),
pl.wiz <- rk.XML.cbox("Add wizard section", "true", chk=FALSE),
- pl.tests <- rk.XML.cbox("Include plugin tests", "true", chk=TRUE)))),
- rk.XML.col(rk.XML.stretch(before=list(
+ pl.tests <- rk.XML.cbox("Include plugin tests", "true", chk=TRUE),
+ rk.XML.stretch()),
+ rk.XML.col(
pl.edit <- rk.XML.cbox("Open files for editing", "true", chk=TRUE),
pl.add <- rk.XML.cbox("Add plugin to RKWard configuration", "true", chk=TRUE),
- pl.show <- rk.XML.cbox("Show the plugin", "true", chk=FALSE)
- )))
- )),
- rk.XML.row(pl.hier <- rk.XML.dropdown("Place in top menu", options=list(
+ pl.show <- rk.XML.cbox("Show the plugin", "true", chk=FALSE),
+ rk.XML.stretch())
+ ),
+ rk.XML.row(pl.hier <- rk.XML.dropdown("Place in top menu",
+ options=list(
"Test (created if needed)"=c(val="test", chk=TRUE),
"File"=c(val="file"),
"Edit"=c(val="edit"),
@@ -67,37 +69,40 @@
"Windows"=c(val="windows"),
"Settings"=c(val="settings"),
"Help"=c(val="help")
- )))
- ))
-dep.opts <- rk.XML.frame(list(
+ )
+ ))
+ )
+dep.opts <- rk.XML.frame(
rk.XML.row(dep.checkbox <- rk.XML.cbox("Define dependencies", "true", chk=FALSE)),
- rk.XML.row(list(
- dep.frame.RKWard <- rk.XML.frame(rk.XML.stretch(before=list(
- dep.rkmin <- rk.XML.input("RKWard min", size="small"),
- dep.rkmax <- rk.XML.input("RKWard max", size="small"))), label="Depends on RKWard version"),
- dep.frame.R <- rk.XML.frame(rk.XML.stretch(before=list(
- dep.rmin <- rk.XML.input("R min", size="small"),
- dep.rmax <- rk.XML.input("R max", size="small"))), label="Depends on R version")))#,
+ rk.XML.row(
+ dep.frame.RKWard <- rk.XML.frame(
+ dep.rkmin <- rk.XML.input("RKWard min", size="small"),
+ dep.rkmax <- rk.XML.input("RKWard max", size="small"),
+ rk.XML.stretch(), label="Depends on RKWard version"),
+ dep.frame.R <- rk.XML.frame(
+ dep.rmin <- rk.XML.input("R min", size="small"),
+ dep.rmax <- rk.XML.input("R max", size="small"),
+ rk.XML.stretch(), label="Depends on R version")#,
# rk.XML.row(dep.frame.packages <- rk.XML.frame(rk.XML.stretch(before=list(
# rk.XML.text("Separate package names by space:"),
# dep.pckg <- rk.XML.input("Packages"))), label="Depends on R packages"))
), label="Dependencies")
-tab2.create <- rk.XML.col(list(
- crt.opts, dep.opts
- ))
+tab2.create <- rk.XML.col(crt.opts, dep.opts)
+
# tab3: varslot to select the actual content
children.text <- rk.XML.text("If you already created XML content for the plugin, select the main dialog object here (probably a tabbook?)")
-children.var <- rk.XML.row(list(
+children.var <- rk.XML.row(
children.varselector <- rk.XML.varselector(label="Plugin content"),
- rk.XML.col(list(
+ rk.XML.col(
cont.dial <- rk.XML.varslot("Select an object of class XiMpLe.node", source=children.varselector, classes="XiMpLe.node"),
- rk.XML.frame(rk.XML.stretch(before=list(
+ rk.XML.frame(
js.prep <- rk.XML.varslot("preprocess()", source=children.varselector),
js.calc <- rk.XML.varslot("calculate()", source=children.varselector),
- js.prnt <- rk.XML.varslot("printout()", source=children.varselector)))))
- )))
-tab3.children <- rk.XML.col(list(rk.XML.row(children.text), rk.XML.row(children.var)))
+ js.prnt <- rk.XML.varslot("printout()", source=children.varselector),
+ rk.XML.stretch())
+ ))
+tab3.children <- rk.XML.col(rk.XML.row(children.text), rk.XML.row(children.var))
## glue all of the above together in one tabbook
# sklt.tabbook <- rk.XML.dialog(rk.XML.tabbook("Plugin Skeleton",
@@ -108,11 +113,11 @@
children=list(tab1.about, tab2.create)), label="RKWard Plugin Skeleton")
## some logic
-logic.section <- rk.XML.logic(nodes=list(
+logic.section <- rk.XML.logic(
rk.XML.connect(governor=dep.checkbox, client=dep.frame.RKWard, set="enabled"),
rk.XML.connect(governor=dep.checkbox, client=dep.frame.R, set="enabled")#,
# rk.XML.connect(governor=dep.checkbox, client=dep.frame.packages, set="enabled")
- ))
+ )
## JS code generation
# author section
Modified: trunk/rkward/packages/rkwarddev/inst/CITATION
===================================================================
--- trunk/rkward/packages/rkwarddev/inst/CITATION 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/inst/CITATION 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,12 +2,12 @@
title="rkwarddev: A collection of tools for RKWard plugin development",
author="Meik Michalke",
year="2011",
- note="(Version 0.03-1)",
+ note="(Version 0.03-3)",
url="http://rkward.sourceforge.net",
textVersion =
paste("Michalke, M. (2011). ",
- "rkwarddev: A collection of tools for RKWard plugin development (Version 0.03-1). ",
+ "rkwarddev: A collection of tools for RKWard plugin development (Version 0.03-3). ",
"Available from http://rkward.sourceforge.net",
sep=""),
Modified: trunk/rkward/packages/rkwarddev/inst/rkward/RKWardPluginSkeleton.pluginmap
===================================================================
--- trunk/rkward/packages/rkwarddev/inst/rkward/RKWardPluginSkeleton.pluginmap 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/inst/rkward/RKWardPluginSkeleton.pluginmap 2011-10-09 20:38:53 UTC (rev 3917)
@@ -6,8 +6,8 @@
<about
name="Plugin Skeleton"
shortinfo="GUI interface to create RKWard plugin skeletons"
- version="0.03-1"
- releasedate="2011-10-08"
+ version="0.03-3"
+ releasedate="2011-10-09"
url="http://rkward.sf.net"
license="GPL (>= 3)"
>
Modified: trunk/rkward/packages/rkwarddev/inst/rkward/plugins/RKWardPluginSkeleton.xml
===================================================================
--- trunk/rkward/packages/rkwarddev/inst/rkward/plugins/RKWardPluginSkeleton.xml 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/inst/rkward/plugins/RKWardPluginSkeleton.xml 2011-10-09 20:38:53 UTC (rev 3917)
@@ -9,34 +9,34 @@
</logic>
<dialog label="RKWard Plugin Skeleton">
<tabbook id="tbbk_PlgnSklt" label="Plugin Skeleton">
- <tab label="About the plugin" id="tbb_Abtthplg">
- <column>
+ <tab label="About the plugin" id="tab_Abtthplg">
+ <column id="clm_fAAPPLLGPL">
<frame label="About the plugin" id="frm_Abtthplg">
- <row>
+ <row id="row_inPPLLGPL3">
<input label="Plugin name" id="inp_Pluginnm" size="small" required="true" />
<input label="License" id="inp_License" initial="GPL (>= 3)" required="true" />
</row>
- <row>
+ <row id="row_inptlblShS">
<input label="Short description" id="inp_Shrtdscr" required="true" />
</row>
- <row>
+ <row id="row_inVV0010RR">
<input label="Version number" id="inp_Vrsnnmbr" initial="0.01-0" required="true" />
<input label="Release date (empty for today)" id="inp_Rlsdtmpt" />
</row>
- <row>
+ <row id="row_inptlbHHCC">
<input label="Homepage" id="inp_Homepage" />
<input label="Category" id="inp_Category" />
</row>
</frame>
<frame label="Plugin author" id="frm_Plugnthr">
- <row>
- <column>
+ <row id="row_cGGFFEEGGF">
+ <column id="clm_inptGGFFEE">
<input label="Given name" id="inp_Givennam" required="true" />
<input label="Family name" id="inp_Familynm" required="true" />
<input label="E-mail" id="inp_Email" required="true" />
<stretch />
</column>
- <column>
+ <column id="clm_frmlAAAAMM">
<frame label="Author roles" id="frm_Authrrls">
<checkbox id="chc_Author" label="Author" value="aut" checked="true" />
<checkbox id="chc_Maintanr" label="Maintainer" value="cre" checked="true" />
@@ -47,27 +47,27 @@
</frame>
</column>
</tab>
- <tab label="Create options" id="tbb_Cretptns">
- <column>
- <frame>
- <row>
+ <tab label="Create options" id="tab_Cretptns">
+ <column id="clm_fDTEMPDIRD">
+ <frame id="frm_rDTEMPDIRD">
+ <row id="row_bDTEMPDIRD">
<browser label="Directory to save to (empty for $TEMPDIR)" type="dir" id="brw_DTEMPDIR" required="false" />
</row>
- <row>
- <column>
+ <row id="row_cOOAAIIOOA">
+ <column id="clm_chckOOAAII">
<checkbox id="chc_Ovrwrtxs" label="Overwrite existing files" value="true" />
<checkbox id="chc_Addwzrds" label="Add wizard section" value="true" />
<checkbox id="chc_Incldplg" label="Include plugin tests" value="true" checked="true" />
<stretch />
</column>
- <column>
+ <column id="clm_cOOARKWARK">
<checkbox id="chc_Opnflsfr" label="Open files for editing" value="true" checked="true" />
<checkbox id="chc_AddplRKW" label="Add plugin to RKWard configuration" value="true" checked="true" />
<checkbox id="chc_Shwthplg" label="Show the plugin" value="true" />
<stretch />
</column>
</row>
- <row>
+ <row id="row_dPPTFEVWRD">
<dropdown id="drp_Plcntpmn" label="Place in top menu">
<option label="Test (created if needed)" value="test" checked="true" />
<option label="File" value="file" />
@@ -86,10 +86,10 @@
</row>
</frame>
<frame label="Dependencies" id="frm_Depndncs">
- <row>
+ <row id="row_chckbxdcDD">
<checkbox id="chc_Dfndpndn" label="Define dependencies" value="true" />
</row>
- <row>
+ <row id="row_fDRKWDRKWR">
<frame label="Depends on RKWard version" id="frm_DpndsRKW">
<input label="RKWard min" id="inp_RKWardmn" size="small" />
<input label="RKWard max" id="inp_RKWardmx" size="small" />
Added: trunk/rkward/packages/rkwarddev/inst/rkward/rkwarddev.pluginmap
===================================================================
--- trunk/rkward/packages/rkwarddev/inst/rkward/rkwarddev.pluginmap (rev 0)
+++ trunk/rkward/packages/rkwarddev/inst/rkward/rkwarddev.pluginmap 2011-10-09 20:38:53 UTC (rev 3917)
@@ -0,0 +1,5 @@
+<!DOCTYPE rkpluginmap>
+
+<document base_prefix="" namespace="rkward">
+ <require file="RKWardPluginSkeleton.pluginmap" />
+</document>
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.col.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.col.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.col.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,14 +2,15 @@
\alias{rk.XML.col}
\title{Create XML node "column" for RKWard plugins}
\usage{
- rk.XML.col(children = list(), id.name = NULL)
+ rk.XML.col(..., id.name = "auto")
}
\arguments{
- \item{children}{An optional list with objects of class
- \code{XiMpLe.node}.}
+ \item{...}{Objects of class \code{XiMpLe.node}.}
\item{id.name}{Character string, a unique ID for this
- plugin element. If \code{NULL}, no ID will be given.}
+ plugin element. If \code{"auto"}, an ID will be generated
+ automatically from the objects in \code{...}. If
+ \code{NULL}, no ID will be given.}
}
\value{
An object of class \code{XiMpLe.node}.
@@ -19,9 +20,8 @@
}
\examples{
test.checkboxes <- rk.XML.row(rk.XML.col(
-list(
rk.XML.cbox(label="foo", val="foo1", chk=TRUE),
-rk.XML.cbox(label="bar", val="bar2"))))
+rk.XML.cbox(label="bar", val="bar2")))
cat(pasteXMLNode(test.checkboxes))
}
\seealso{
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.components.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.components.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.components.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,12 +2,11 @@
\alias{rk.XML.components}
\title{Create XML "components" node for RKWard plugins}
\usage{
- rk.XML.components(nodes)
+ rk.XML.components(...)
}
\arguments{
- \item{nodes}{A (list of) objects of class
- \code{XiMpLe.node}. They must all have the name
- "component".}
+ \item{...}{Objects of class \code{XiMpLe.node}. They must
+ all have the name "component".}
}
\value{
A list of objects of class \code{XiMpLe.node}.
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.context.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.context.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.context.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,11 +2,11 @@
\alias{rk.XML.context}
\title{Create XML "context" node for RKWard plugins}
\usage{
- rk.XML.context(nodes, id = "x11")
+ rk.XML.context(..., id = "x11")
}
\arguments{
- \item{nodes}{A (list of) objects of class
- \code{XiMpLe.node}, must all be "menu".}
+ \item{...}{Objects of class \code{XiMpLe.node}, must all
+ be "menu".}
\item{id}{Character string, either "x11" or "import".}
}
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.convert.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.convert.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.convert.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -60,7 +60,7 @@
automatically checked for that tag.
}
\examples{
-test.convert <- rk.XML.convert(c(string="foo"), mode=c(notequals="bar"))
+test.convert <- rk.XML.convert(list(string="foo"), mode=c(notequals="bar"))
cat(pasteXMLNode(test.convert))
}
\seealso{
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.dialog.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.dialog.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.dialog.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,11 +2,10 @@
\alias{rk.XML.dialog}
\title{Create XML dialog section for RKWard plugins}
\usage{
- rk.XML.dialog(nodes, label = NULL)
+ rk.XML.dialog(..., label = NULL)
}
\arguments{
- \item{nodes}{A (list of) objects of class
- \code{XiMpLe.node}.}
+ \item{...}{Objects of class \code{XiMpLe.node}.}
\item{label}{Character string, a text label for this
plugin element.}
@@ -27,7 +26,7 @@
test.input <- rk.XML.input("Type some text")
test.cbox1 <- rk.XML.cbox(label="Want to type?", val="true")
test.cbox2 <- rk.XML.cbox(label="Are you shure?", val="true")
-test.dialog <- rk.XML.dialog(rk.XML.col(list(test.input, test.cbox1, test.cbox2)))
+test.dialog <- rk.XML.dialog(rk.XML.col(test.input, test.cbox1, test.cbox2))
cat(pasteXMLNode(test.dialog))
}
\seealso{
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.frame.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.frame.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.frame.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,12 +2,10 @@
\alias{rk.XML.frame}
\title{Create XML node "column" for RKWard plugins}
\usage{
- rk.XML.frame(children = list(), label = NULL, id.name =
- "auto")
+ rk.XML.frame(..., label = NULL, id.name = "auto")
}
\arguments{
- \item{children}{An optional list with objects of class
- \code{XiMpLe.node}.}
+ \item{...}{Objects of class \code{XiMpLe.node}.}
\item{label}{Character string, a text label for this
plugin element.}
@@ -15,7 +13,8 @@
\item{id.name}{Character string, a unique ID for this
plugin element. If \code{"auto"} and a label was
provided, an ID will be generated automatically from the
- label. If \code{NULL}, no ID will be given.}
+ label if presen, otherwise from the objects in the frame.
+ If \code{NULL}, no ID will be given.}
}
\value{
An object of class \code{XiMpLe.node}.
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.hierarchy.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.hierarchy.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.hierarchy.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,11 +2,11 @@
\alias{rk.XML.hierarchy}
\title{Create XML hierarchy section for RKWard plugins}
\usage{
- rk.XML.hierarchy(nodes)
+ rk.XML.hierarchy(...)
}
\arguments{
- \item{nodes}{A (list of) objects of class
- \code{XiMpLe.node}, must all be "menu".}
+ \item{...}{Objects of class \code{XiMpLe.node}, must all
+ be "menu".}
}
\value{
An object of class \code{XiMpLe.node}.
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.logic.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.logic.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.logic.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,11 +2,10 @@
\alias{rk.XML.logic}
\title{Create XML logic section for RKWard plugins}
\usage{
- rk.XML.logic(nodes)
+ rk.XML.logic(...)
}
\arguments{
- \item{nodes}{A list of objects of class
- \code{XiMpLe.node}.}
+ \item{...}{Objects of class \code{XiMpLe.node}.}
}
\value{
An object of class \code{XiMpLe.node}.
@@ -24,12 +23,12 @@
# now create some logic so that the input field is only enabled when both boxes are checked
test.convert <- rk.XML.convert(c(state=test.cbox1,state=test.cbox2), mode=c(and=""))
test.connect <- rk.XML.connect(governor=test.convert, client=test.input, set="enabled")
-test.logic <- rk.XML.logic(nodes=list(test.convert, test.connect))
+test.logic <- rk.XML.logic(test.convert, test.connect)
cat(pasteXMLNode(test.logic))
# with only one checkbox, you can directly query if it's checked
test.connect2 <- rk.XML.connect(governor=test.cbox1, client=test.input, set="enabled")
-test.logic2 <- rk.XML.logic(nodes=list(test.connect2))
+test.logic2 <- rk.XML.logic(test.connect2)
cat(pasteXMLNode(test.logic2))
}
\seealso{
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.page.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.page.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.page.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,14 +2,15 @@
\alias{rk.XML.page}
\title{Create XML "page" node for RKWard plugins}
\usage{
- rk.XML.page(nodes, id.name = NULL)
+ rk.XML.page(..., id.name = "auto")
}
\arguments{
- \item{nodes}{A (list of) objects of class
- \code{XiMpLe.node}.}
+ \item{...}{Objects of class \code{XiMpLe.node}.}
\item{id.name}{Character string, a unique ID for this
- plugin element.}
+ plugin element. If \code{"auto"}, an ID will be generated
+ automatically from the objects in \code{...}. If
+ \code{NULL}, no ID will be given.}
}
\value{
An object of class \code{XiMpLe.node}.
@@ -27,8 +28,8 @@
test.cbox1 <- rk.XML.cbox(label="More than 30 subjects", val="true")
# define the wizard
test.text <- rk.XML.text("Did you test more than 30 subjects?")
-test.copy <- rk.XML.copy(id.name=test.cbox1)
-test.wizard <- rk.XML.wizard(rk.XML.page(list(test.text, test.copy)))
+test.copy <- rk.XML.copy(id=test.cbox1)
+test.wizard <- rk.XML.wizard(rk.XML.page(test.text, test.copy))
cat(pasteXMLNode(test.wizard))
}
\seealso{
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.row.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.row.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.row.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,14 +2,15 @@
\alias{rk.XML.row}
\title{Create XML node "row" for RKWard plugins}
\usage{
- rk.XML.row(children = list(), id.name = NULL)
+ rk.XML.row(..., id.name = "auto")
}
\arguments{
- \item{children}{An optional list with objects of class
- \code{XiMpLe.node}.}
+ \item{...}{Objects of class \code{XiMpLe.node}.}
\item{id.name}{Character string, a unique ID for this
- plugin element. If \code{NULL}, no ID will be given.}
+ plugin element. If \code{"auto"}, an ID will be generated
+ automatically from the objects in \code{...}. If
+ \code{NULL}, no ID will be given.}
}
\value{
An object of class \code{XiMpLe.node}.
@@ -19,9 +20,8 @@
}
\examples{
test.checkboxes <- rk.XML.row(rk.XML.col(
-list(
rk.XML.cbox(label="foo", val="foo1", chk=TRUE),
-rk.XML.cbox(label="bar", val="bar2"))))
+rk.XML.cbox(label="bar", val="bar2")))
cat(pasteXMLNode(test.checkboxes))
}
\seealso{
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.snippet.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.snippet.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.snippet.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,11 +2,10 @@
\alias{rk.XML.snippet}
\title{Create XML "snippet" node for RKWard plugins}
\usage{
- rk.XML.snippet(nodes, id.name = "auto")
+ rk.XML.snippet(..., id.name = "auto")
}
\arguments{
- \item{nodes}{A (list of) objects of class
- \code{XiMpLe.node}.}
+ \item{...}{Objects of class \code{XiMpLe.node}.}
\item{id.name}{Character string, a unique ID for this
plugin element. If \code{"auto"}, an ID will be generated
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.snippets.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.snippets.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.snippets.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,12 +2,11 @@
\alias{rk.XML.snippets}
\title{Create XML "snippets" node for RKWard plugins}
\usage{
- rk.XML.snippets(nodes = NULL)
+ rk.XML.snippets(...)
}
\arguments{
- \item{nodes}{A (list of) objects of class
- \code{XiMpLe.node}. They must all have the name
- "snippet".}
+ \item{...}{Objects of class \code{XiMpLe.node}. They must
+ all have the name "snippet".}
}
\value{
An object of class \code{XiMpLe.node}.
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.text.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.text.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.text.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,7 +2,7 @@
\alias{rk.XML.text}
\title{Create XML node "text" for RKWard plugins}
\usage{
- rk.XML.text(text, type = "normal", id.name = NULL)
+ rk.XML.text(text, type = "normal", id.name = "auto")
}
\arguments{
\item{text}{Character string, the text to be displayed.}
@@ -11,7 +11,9 @@
"error".}
\item{id.name}{Character string, a unique ID for this
- plugin element.}
+ plugin element. If \code{"auto"}, an ID will be generated
+ automatically from \code{text}. If \code{NULL}, no ID
+ will be given.}
}
\value{
An object of class \code{XiMpLe.node}.
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.wizard.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.wizard.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.wizard.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,11 +2,10 @@
\alias{rk.XML.wizard}
\title{Create XML wizard section for RKWard plugins}
\usage{
- rk.XML.wizard(nodes, label = NULL)
+ rk.XML.wizard(..., label = NULL)
}
\arguments{
- \item{nodes}{A (list of) objects of class
- \code{XiMpLe.node}}
+ \item{...}{Objects of class \code{XiMpLe.node}}
\item{label}{Character string, a text label for this
plugin element.}
Modified: trunk/rkward/packages/rkwarddev/man/rk.rkh.related.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.rkh.related.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.rkh.related.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,11 +2,11 @@
\alias{rk.rkh.related}
\title{Create XML "related" node for RKWard help pages}
\usage{
- rk.rkh.related(links = NULL, text = NULL)
+ rk.rkh.related(..., text = NULL)
}
\arguments{
- \item{links}{A (list of) objects of class
- \code{XiMpLe.node}. They must all have the name "link".}
+ \item{...}{Objects of class \code{XiMpLe.node}. They must
+ all have the name "link".}
\item{text}{Character string, the text to be displayed.}
}
@@ -16,6 +16,11 @@
\description{
Create XML "related" node for RKWard help pages
}
+\examples{
+package.link <- rk.rkh.link("Spice")
+plugin.related <- rk.rkh.related(package.link)
+cat(pasteXMLNode(plugin.related))
+}
\seealso{
\code{\link[rkwarddev:rk.rkh.doc]{rk.rkh.doc}} and the
\href{help:rkwardplugins}{Introduction to Writing Plugins
Modified: trunk/rkward/packages/rkwarddev/man/rk.rkh.settings.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.rkh.settings.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rk.rkh.settings.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -2,12 +2,11 @@
\alias{rk.rkh.settings}
\title{Create XML "settings" node for RKWard help pages}
\usage{
- rk.rkh.settings(nodes = NULL)
+ rk.rkh.settings(...)
}
\arguments{
- \item{nodes}{A (list of) objects of class
- \code{XiMpLe.node}. They must all have the name "setting"
- or "caption".}
+ \item{...}{Objects of class \code{XiMpLe.node}. They must
+ all have the name "setting" or "caption".}
}
\value{
An object of class \code{XiMpLe.node}.
@@ -17,19 +16,22 @@
document section, with optional child nodes "setting" and
"caption".
}
+\examples{
+# define a sample frame
+test.dropdown <- rk.XML.dropdown("mydrop",
+options=list("First Option"=c(val="val1"),
+"Second Option"=c(val="val2", chk=TRUE)))
+test.frame <- rk.XML.frame(test.dropdown, label="Some options")
+# create the caption
+test.caption <- rk.rkh.caption(test.frame)
+test.setting <- rk.rkh.setting(test.dropdown, text="Chose one of the options.")
+test.settings <- rk.rkh.settings(list(test.caption, test.setting))
+}
\seealso{
\code{\link[rkwarddev:rk.rkh.doc]{rk.rkh.doc}},
\code{\link[rkwarddev:rk.rkh.setting]{rk.rkh.setting}},
\code{\link[rkwarddev:rk.rkh.caption]{rk.rkh.caption}},
and the \href{help:rkwardplugins}{Introduction to Writing
- Plugins for RKWard} # define a sample frame test.dropdown
- <- rk.XML.dropdown("mydrop", options=list("First
- Option"=c(val="val1"), "Second Option"=c(val="val2",
- chk=TRUE))) test.frame <- rk.XML.frame(test.dropdown,
- label="Some options") # create the caption test.caption
- <- rk.rkh.caption(test.frame) test.setting <-
- rk.rkh.setting(test.dropdown, text="Chose one of the
- options.") test.settings <-
- rk.rkh.settings(list(test.caption, test.setting))
+ Plugins for RKWard}
}
Modified: trunk/rkward/packages/rkwarddev/man/rkwarddev-package.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rkwarddev-package.Rd 2011-10-09 20:36:04 UTC (rev 3916)
+++ trunk/rkward/packages/rkwarddev/man/rkwarddev-package.Rd 2011-10-09 20:38:53 UTC (rev 3917)
@@ -8,8 +8,8 @@
}
\details{
\tabular{ll}{ Package: \tab rkwarddev\cr Type: \tab
- Package\cr Version: \tab 0.03-1\cr Date: \tab
- 2011-10-08\cr Depends: \tab R (>= 2.9.0),XiMpLe,rkward
+ Package\cr Version: \tab 0.03-3\cr Date: \tab
+ 2011-10-09\cr Depends: \tab R (>= 2.9.0),XiMpLe,rkward
(>= 0.5.6)\cr Enhances: \tab rkward\cr Encoding: \tab
UTF-8\cr License: \tab GPL (>= 3)\cr LazyLoad: \tab
yes\cr URL: \tab http://rkward.sourceforge.net\cr }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the rkward-tracker
mailing list