[rkward-cvs] SF.net SVN: rkward:[3853] trunk/rkward/rkward/rbackend/rpackages/rkwarddev

m-eik at users.sourceforge.net m-eik at users.sourceforge.net
Tue Sep 27 20:44:03 UTC 2011


Revision: 3853
          http://rkward.svn.sourceforge.net/rkward/?rev=3853&view=rev
Author:   m-eik
Date:     2011-09-27 20:44:03 +0000 (Tue, 27 Sep 2011)
Log Message:
-----------
rkwarddev: mainly added type checks

Modified Paths:
--------------
    trunk/rkward/rkward/rbackend/rpackages/rkwarddev/ChangeLog
    trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk-internal.R
    trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.XML.plugin.R
    trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.XML.pluginmap.R
    trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.XML.spinbox.R
    trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.plugin.skeleton.R
    trunk/rkward/rkward/rbackend/rpackages/rkwarddev/man/rk.XML.plugin.Rd
    trunk/rkward/rkward/rbackend/rpackages/rkwarddev/man/rk.XML.pluginmap.Rd
    trunk/rkward/rkward/rbackend/rpackages/rkwarddev/man/rk.plugin.skeleton.Rd

Modified: trunk/rkward/rkward/rbackend/rpackages/rkwarddev/ChangeLog
===================================================================
--- trunk/rkward/rkward/rbackend/rpackages/rkwarddev/ChangeLog	2011-09-27 20:39:46 UTC (rev 3852)
+++ trunk/rkward/rkward/rbackend/rpackages/rkwarddev/ChangeLog	2011-09-27 20:44:03 UTC (rev 3853)
@@ -1,10 +1,11 @@
 ChangeLog for package rkwarddev
 
-## 0.02-0 (2011-09-26)
+## 0.02-0 (2011-09-27)
   - redesigned options for rk.XML.plugin() and rk.plugin.skeleton() for more consistency.
     unfortunately, this breaks backwards compatibility!
   - added functions rk.XML.varselector(), rk.XML.copy(), rk.XML.dialog(), rk.XML.page() and
     rk.XML.wizard()
+  - added type checks to rk.XML.spinbox()
   - added "id.name" and "label" to various functions
   - updated rk.XML.formula()
 

Modified: trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk-internal.R
===================================================================
--- trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk-internal.R	2011-09-27 20:39:46 UTC (rev 3852)
+++ trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk-internal.R	2011-09-27 20:44:03 UTC (rev 3853)
@@ -231,4 +231,32 @@
 		}
 	}
 }
-## end function prop.validity()
\ No newline at end of file
+## end function prop.validity()
+
+## function check.type()
+check.type <- function(value, type, var.name, warn.only=TRUE){
+	if(inherits(value, type)){
+		return(invisible(NULL))
+	} else {
+		msg.text <- paste(sQuote(var.name), " should be of type ", type, "!", sep="")
+		if(isTRUE(warn.only)){
+			warning(msg.text)
+		} else {
+			stop(simpleError(msg.text))
+		}
+	}
+}
+## end function check.type()
+
+## function clean.name()
+clean.name <- function(name, message=TRUE){
+	name.orig <- name
+	name <- gsub("[[:space:]]*[^[:alnum:]_]*", "", name)
+	if(!identical(name.orig, name)){
+		if(isTRUE(message)){
+			message(paste("For filenames ", sQuote(name.orig), " was renamed to ", sQuote(name), ".", sep=""))
+		} else {}
+	} else {}
+	return(name)
+}
+## end function clean.name()

Modified: trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.XML.plugin.R
===================================================================
--- trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.XML.plugin.R	2011-09-27 20:39:46 UTC (rev 3852)
+++ trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.XML.plugin.R	2011-09-27 20:44:03 UTC (rev 3853)
@@ -1,21 +1,21 @@
 #' Create XML document for RKWard plugins
 #'
-#' @param name Character string, the name of the plugin.
-#' @param dialog An object of class \code{XiMpLe.node} to be pasted as the \code{<dialog>} section
-#'		(but only if \code{provides} includes \code{"dialog"} as well). See
+#' @param name Character string, the name of the plugin. Will be used for the names of the JavaScript and
+#'		help files to be included, following the scheme \emph{"<name>.<ext>"}.
+#' @param dialog An object of class \code{XiMpLe.node} to be pasted as the \code{<dialog>} section. See
 #'		\code{\link[rkwarddev:rk.XML.dialog]{rk.XML.dialog}} for details.
-#' @param wizard An object of class \code{XiMpLe.node} to be pasted as the \code{<wizard>} section
-#'		(but only if \code{provides} includes \code{"wizard"} as well). See
+#' @param wizard An object of class \code{XiMpLe.node} to be pasted as the \code{<wizard>} section. See
 #'		\code{\link[rkwarddev:rk.XML.wizard]{rk.XML.wizard}} for details.
-#' @param logic An object of class \code{XiMpLe.node} to be pasted as the \code{<logic>} section
-#'		(but only if \code{provides} includes \code{"logic"} as well). See
+#' @param logic An object of class \code{XiMpLe.node} to be pasted as the \code{<logic>} section. See
 #'		\code{\link[rkwarddev:rk.XML.logic]{rk.XML.logic}} for details.
-#' @param provides Character vector with at least one entry of \code{"logic"}, \code{"dialog"} or \code{"wizard"}, defining what the document provides.
-#'		If \code{"logic"} is specified, a logic section will be added to the document. If \code{logic=NULL}, must be edited manually and is therefore commented out.
+#' @param provides Character vector with possible entries of \code{"logic"}, \code{"dialog"} or \code{"wizard"}, defining what
+#'		sections the document should provide even if \code{dialog}, \code{wizard} and \code{logic} are \code{NULL}.
+#'		These sections must be edited manually and some parts are therefore commented out.
 #' @param help Logical, if \code{TRUE} an include tag for a help file named \emph{"<name>.rkh"} will be added to the header.
 #' @param pluginmap Character string, relative path to the pluginmap file, which will then be included in the head of this document.
 #' @param label Character string, a text label for the plugin's top level, i.e. the window title of the dialog.
 #'		Will only be used if \code{dialog} or \code{wizard} are \code{NULL}.
+#' @param clean.name Logical, if \code{TRUE}, all non-alphanumeric characters except the underscore (\code{"_"}) will be removed from \code{name}.
 #' @return An object of class \code{XiMpLe.doc}.
 #' @export
 #' @examples
@@ -30,14 +30,13 @@
 #' test.tabbook <- rk.XML.tabbook("My Tabbook", tab.labels=c("First Tab",
 #'   "Second Tab"), dialog=list(test.checkboxes, test.dropdown))
 #' # make a plugin with that tabbook
-#' test.plugin <- rk.XML.plugin("My test", label="Check this out", dialog=test.tabbook)
+#' test.plugin <- rk.XML.plugin("My test", dialog=test.tabbook)
 #' cat(pasteXMLTree(test.plugin, shine=1))
 
-rk.XML.plugin <- function(name, dialog=NULL, wizard=NULL, logic=NULL, provides=c("logic", "dialog"), help=TRUE, pluginmap=NULL, label=NULL){
-	name.orig <- name
-	name <- gsub("[[:space:]]*[^[:alnum:]]*", "", name)
-	if(!identical(name.orig, name)){
-		message(paste("For filenames ", sQuote(name.orig), " was renamed to ", sQuote(name), ".", sep=""))
+rk.XML.plugin <- function(name, dialog=NULL, wizard=NULL, logic=NULL, provides=NULL, help=TRUE, pluginmap=NULL, label=NULL, clean.name=TRUE){
+	if(isTRUE(clean.name)){
+		name.orig <- name
+		name <- clean.name(name)
 	} else {}
 
 	all.children <- list(new("XiMpLe.node",
@@ -59,8 +58,8 @@
 		)
 	} else {}
 
-	if("logic" %in% provides){
-		if(is.null(logic)){
+	if(is.null(logic)){
+		if("logic" %in% provides){
 			lgc.children <- list(
 					new("XiMpLe.node",
 						# add these as comments because they need editing
@@ -74,42 +73,42 @@
 				name="logic",
 				children=lgc.children
 			)
+		} else {}
+	} else {
+		# check if this is *really* a logic section, otherwise quit and go dancing
+		if(inherits(logic, "XiMpLe.node")){
+			logic.node.name <- logic at name
 		} else {
-			# check if this is *really* a logic section, otherwise quit and go dancing
-			if(inherits(logic, "XiMpLe.node")){
-				logic.node.name <- logic at name
-			} else {
-				logic.node.name <- "yougottabekiddingme"
-			}
-			if(!identical(logic.node.name, "logic")){
-				stop(simpleError("I don't know what this is, but 'logic' is not a logic section!"))
-			} else {}
-			all.children[[length(all.children)+1]] <- logic
+			logic.node.name <- "yougottabekiddingme"
 		}
-	} else {}
+		if(!identical(logic.node.name, "logic")){
+			stop(simpleError("I don't know what this is, but 'logic' is not a logic section!"))
+		} else {}
+		all.children[[length(all.children)+1]] <- logic
+	}
 
-	if("dialog" %in% provides){
-		if(is.null(dialog)){
+	if(is.null(dialog)){
+		if("dialog" %in% provides){
 			all.children[[length(all.children)+1]] <- new("XiMpLe.node",
 					name="dialog",
 					attributes=list(label=label),
 					value="")
+		} else {}
+	} else {
+		# check if this is *really* a dialog section
+		if(inherits(dialog, "XiMpLe.node")){
+			dialog.node.name <- dialog at name
 		} else {
-			# check if this is *really* a dialog section
-			if(inherits(dialog, "XiMpLe.node")){
-				dialog.node.name <- dialog at name
-			} else {
-				dialog.node.name <- "yougottabekiddingme"
-			}
-			if(!identical(dialog.node.name, "dialog")){
-				stop(simpleError("I don't know what this is, but 'dialog' is not a dialog section!"))
-			} else {}
-			all.children[[length(all.children)+1]] <- dialog
+			dialog.node.name <- "yougottabekiddingme"
 		}
-	} else {}
+		if(!identical(dialog.node.name, "dialog")){
+			stop(simpleError("I don't know what this is, but 'dialog' is not a dialog section!"))
+		} else {}
+		all.children[[length(all.children)+1]] <- dialog
+	}
 
-	if("wizard" %in% provides){
-		if(is.null(wizard)){
+	if(is.null(wizard)){
+		if("wizard" %in% provides){
 			# create a first page for the wizard section
 			plugin.wizard.page <- new("XiMpLe.node",
 					name="page",
@@ -121,18 +120,18 @@
 					children=child.list(plugin.wizard.page),
 					value="")
 			all.children[[length(all.children)+1]] <- plugin.wizard
+		} else {}
+	} else {
+		# check if this is *really* a wizard section
+		if(inherits(wizard, "XiMpLe.node")){
+			wizard.node.name <- wizard at name
 		} else {
-			# check if this is *really* a wizard section
-			if(inherits(wizard, "XiMpLe.node")){
-				wizard.node.name <- wizard at name
-			} else {
-				wizard.node.name <- "yougottabekiddingme"
-			}
-			if(!identical(wizard.node.name, "wizard")){
-				stop(simpleError("I don't know what this is, but 'wizard' is not a wizard section!"))
-			} else {}
-			all.children[[length(all.children)+1]] <- wizard
+			wizard.node.name <- "yougottabekiddingme"
 		}
+		if(!identical(wizard.node.name, "wizard")){
+			stop(simpleError("I don't know what this is, but 'wizard' is not a wizard section!"))
+		} else {}
+		all.children[[length(all.children)+1]] <- wizard
 	}
 
 	top.doc <- new("XiMpLe.node",

Modified: trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.XML.pluginmap.R
===================================================================
--- trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.XML.pluginmap.R	2011-09-27 20:39:46 UTC (rev 3852)
+++ trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.XML.pluginmap.R	2011-09-27 20:44:03 UTC (rev 3853)
@@ -9,14 +9,14 @@
 #' @param hierarchy A character vector with instructions where to place the plugin in the menu hierarchy,
 #'		one string for each included component. Valid values are \code{"analysis"},  \code{"plots"} and  
 #'		\code{"data"}. To place your dialogs somewhere else, edit the pluginmap manually.
+#' @param clean.name Logical, if \code{TRUE}, all non-alphanumeric characters except the underscore (\code{"_"}) will be removed from \code{name}.
 #' @export
 
-rk.XML.pluginmap <- function(name, about=NULL, components, plugin.dir="plugins", hierarchy="analysis"){
-	# to besure, remove all non-character symbols from name
-	name.orig <- name
-	name <- gsub("[[:space:]]*[^[:alnum:]]*", "", name)
-	if(!identical(name.orig, name)){
-		message(paste("For filenames ", sQuote(name.orig), " was renamed to ", sQuote(name), ".", sep=""))
+rk.XML.pluginmap <- function(name, about=NULL, components, plugin.dir="plugins", hierarchy="analysis", clean.name=TRUE){
+	if(isTRUE(clean.name)){
+		# to besure, remove all non-character symbols from name
+		name.orig <- name
+		name <- clean.name(name)
 	} else {}
 
 	# .pluginmap has three children in <document>:

Modified: trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.XML.spinbox.R
===================================================================
--- trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.XML.spinbox.R	2011-09-27 20:39:46 UTC (rev 3852)
+++ trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.XML.spinbox.R	2011-09-27 20:44:03 UTC (rev 3853)
@@ -25,23 +25,28 @@
 		attr.list[["id"]] <- id.name
 	} else {}
 
-	if(is.numeric(initial) & initial != 0){
-		attr.list[["initial"]] <- initial
+	if(initial != 0){
+		check.type(initial, "numeric", "initial")
+		attr.list[["initial"]] <- as.numeric(initial)
 	} else {}
 	if(!is.null(min)){
-		attr.list[["min"]] <- min
+		check.type(min, "numeric", "min")
+		attr.list[["min"]] <- as.numeric(min)
 	} else {}
 	if(!is.null(max)){
-		attr.list[["max"]] <- max
+		check.type(max, "numeric", "max")
+		attr.list[["max"]] <- as.numeric(max)
 	} else {}
 	if(!isTRUE(real)){
 		attr.list[["type"]] <- "integer"
 	} else {}
-	if(is.numeric(precision) & precision != 2){
-		attr.list[["precision"]] <- precision
+	if(precision != 2){
+		check.type(precision, "numeric", "precision")
+		attr.list[["precision"]] <- as.numeric(precision)
 	} else {}
-	if(is.numeric(max.precision) & max.precision != 8){
-		attr.list[["max.precision"]] <- max.precision
+	if(max.precision != 8){
+		check.type(max.precision, "numeric", "max.precision")
+		attr.list[["max.precision"]] <- as.numeric(max.precision)
 	} else {}
 
 	node <- new("XiMpLe.node",

Modified: trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.plugin.skeleton.R
===================================================================
--- trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.plugin.skeleton.R	2011-09-27 20:39:46 UTC (rev 3852)
+++ trunk/rkward/rkward/rbackend/rpackages/rkwarddev/R/rk.plugin.skeleton.R	2011-09-27 20:44:03 UTC (rev 3853)
@@ -6,17 +6,15 @@
 #'		See \code{\link[rkwarddev:rk.XML.about]{rk.XML.about}} for details and a full list of elements!
 #'		If \code{NULL}, no \code{DESCRIPTION} file will be created either.
 #' @param path Character sting, path to the main directory where the skeleton should be created.
-#' @param dialog An object of class \code{XiMpLe.node} to be pasted as the \code{<dialog>} section
-#'		(but only if \code{provides} includes \code{"dialog"} as well). See
+#' @param dialog An object of class \code{XiMpLe.node} to be pasted as the \code{<dialog>} section. See
 #'		\code{\link[rkwarddev:rk.XML.dialog]{rk.XML.dialog}} for details.
-#' @param wizard An object of class \code{XiMpLe.node} to be pasted as the \code{<wizard>} section
-#'		(but only if \code{provides} includes \code{"wizard"} as well). See
+#' @param wizard An object of class \code{XiMpLe.node} to be pasted as the \code{<wizard>} section. See
 #'		\code{\link[rkwarddev:rk.XML.wizard]{rk.XML.wizard}} for details.
-#' @param logic An object of class \code{XiMpLe.node} to be pasted as the \code{<logic>} section
-#'		(but only if \code{provides} includes \code{"logic"} as well). See
+#' @param logic An object of class \code{XiMpLe.node} to be pasted as the \code{<logic>} section. See
 #'		\code{\link[rkwarddev:rk.XML.logic]{rk.XML.logic}} for details.
-#' @param provides Character vector with at least one entry of \code{"logic"}, \code{"dialog"} or \code{"wizard"}, defining what the plugin XML provides.
-#'		If \code{"logic"} is specified, a logic section will be added to the document. If \code{logic=NULL}, must be edited manually and is therefore commented out.
+#' @param provides Character vector with possible entries of \code{"logic"}, \code{"dialog"} or \code{"wizard"}, defining what
+#'		sections the document should provide even if \code{dialog}, \code{wizard} and \code{logic} are \code{NULL}.
+#'		These sections must be edited manually and some parts are therefore commented out.
 #' @param dial.require A character vector with names of R packages that the dialog requires.
 #' @param overwrite Logical, whether existing files should be replaced. Defaults to \code{FALSE}.
 #' @param tests Logical, whether directories and files for plugin tests should be created.
@@ -105,10 +103,7 @@
 	JS.prep=NULL, JS.calc=NULL, JS.prnt=NULL, create=c("pmap", "xml", "js", "rkh", "desc"), edit=FALSE){
 	# to besure, remove all non-character symbols from name
 	name.orig <- name
-	name <- gsub("[[:space:]]*[^[:alnum:]]*", "", name)
-	if(!identical(name.orig, name)){
-		message(paste("For filenames ", sQuote(name.orig), " was renamed to ", sQuote(name), ".", sep=""))
-	} else {}
+	name <- clean.name(name)
 
 	if(!is.null(about)){
 		# create an about.node, which probably has some default values

Modified: trunk/rkward/rkward/rbackend/rpackages/rkwarddev/man/rk.XML.plugin.Rd
===================================================================
--- trunk/rkward/rkward/rbackend/rpackages/rkwarddev/man/rk.XML.plugin.Rd	2011-09-27 20:39:46 UTC (rev 3852)
+++ trunk/rkward/rkward/rbackend/rpackages/rkwarddev/man/rk.XML.plugin.Rd	2011-09-27 20:44:03 UTC (rev 3853)
@@ -3,36 +3,36 @@
 \title{Create XML document for RKWard plugins}
 \usage{
   rk.XML.plugin(name, dialog = NULL, wizard = NULL, logic =
-  NULL, provides = c("logic", "dialog"), help = TRUE,
-  pluginmap = NULL, label = NULL)
+  NULL, provides = NULL, help = TRUE, pluginmap = NULL,
+  label = NULL, clean.name = TRUE)
 }
 \arguments{
-  \item{name}{Character string, the name of the plugin.}
+  \item{name}{Character string, the name of the plugin.
+  Will be used for the names of the JavaScript and help
+  files to be included, following the scheme
+  \emph{"<name>.<ext>"}.}
 
   \item{dialog}{An object of class \code{XiMpLe.node} to be
-  pasted as the \code{<dialog>} section (but only if
-  \code{provides} includes \code{"dialog"} as well). See
+  pasted as the \code{<dialog>} section. See
   \code{\link[rkwarddev:rk.XML.dialog]{rk.XML.dialog}} for
   details.}
 
   \item{wizard}{An object of class \code{XiMpLe.node} to be
-  pasted as the \code{<wizard>} section (but only if
-  \code{provides} includes \code{"wizard"} as well). See
+  pasted as the \code{<wizard>} section. See
   \code{\link[rkwarddev:rk.XML.wizard]{rk.XML.wizard}} for
   details.}
 
   \item{logic}{An object of class \code{XiMpLe.node} to be
-  pasted as the \code{<logic>} section (but only if
-  \code{provides} includes \code{"logic"} as well). See
+  pasted as the \code{<logic>} section. See
   \code{\link[rkwarddev:rk.XML.logic]{rk.XML.logic}} for
   details.}
 
-  \item{provides}{Character vector with at least one entry
-  of \code{"logic"}, \code{"dialog"} or \code{"wizard"},
-  defining what the document provides. If \code{"logic"} is
-  specified, a logic section will be added to the document.
-  If \code{logic=NULL}, must be edited manually and is
-  therefore commented out.}
+  \item{provides}{Character vector with possible entries of
+  \code{"logic"}, \code{"dialog"} or \code{"wizard"},
+  defining what sections the document should provide even
+  if \code{dialog}, \code{wizard} and \code{logic} are
+  \code{NULL}. These sections must be edited manually and
+  some parts are therefore commented out.}
 
   \item{help}{Logical, if \code{TRUE} an include tag for a
   help file named \emph{"<name>.rkh"} will be added to the
@@ -46,6 +46,10 @@
   plugin's top level, i.e. the window title of the dialog.
   Will only be used if \code{dialog} or \code{wizard} are
   \code{NULL}.}
+
+  \item{clean.name}{Logical, if \code{TRUE}, all
+  non-alphanumeric characters except the underscore
+  (\code{"_"}) will be removed from \code{name}.}
 }
 \value{
   An object of class \code{XiMpLe.doc}.
@@ -65,7 +69,7 @@
 test.tabbook <- rk.XML.tabbook("My Tabbook", tab.labels=c("First Tab",
 "Second Tab"), dialog=list(test.checkboxes, test.dropdown))
 # make a plugin with that tabbook
-test.plugin <- rk.XML.plugin("My test", label="Check this out", dialog=test.tabbook)
+test.plugin <- rk.XML.plugin("My test", dialog=test.tabbook)
 cat(pasteXMLTree(test.plugin, shine=1))
 }
 

Modified: trunk/rkward/rkward/rbackend/rpackages/rkwarddev/man/rk.XML.pluginmap.Rd
===================================================================
--- trunk/rkward/rkward/rbackend/rpackages/rkwarddev/man/rk.XML.pluginmap.Rd	2011-09-27 20:39:46 UTC (rev 3852)
+++ trunk/rkward/rkward/rbackend/rpackages/rkwarddev/man/rk.XML.pluginmap.Rd	2011-09-27 20:44:03 UTC (rev 3853)
@@ -3,7 +3,8 @@
 \title{Write a pluginmap file for RKWard}
 \usage{
   rk.XML.pluginmap(name, about = NULL, components,
-  plugin.dir = "plugins", hierarchy = "analysis")
+  plugin.dir = "plugins", hierarchy = "analysis",
+  clean.name = TRUE)
 }
 \arguments{
   \item{name}{Character string, name of the plugin.}
@@ -25,6 +26,10 @@
   \code{"analysis"}, \code{"plots"} and \code{"data"}. To
   place your dialogs somewhere else, edit the pluginmap
   manually.}
+
+  \item{clean.name}{Logical, if \code{TRUE}, all
+  non-alphanumeric characters except the underscore
+  (\code{"_"}) will be removed from \code{name}.}
 }
 \description{
   Write a pluginmap file for RKWard

Modified: trunk/rkward/rkward/rbackend/rpackages/rkwarddev/man/rk.plugin.skeleton.Rd
===================================================================
--- trunk/rkward/rkward/rbackend/rpackages/rkwarddev/man/rk.plugin.skeleton.Rd	2011-09-27 20:39:46 UTC (rev 3852)
+++ trunk/rkward/rkward/rbackend/rpackages/rkwarddev/man/rk.plugin.skeleton.Rd	2011-09-27 20:44:03 UTC (rev 3853)
@@ -23,29 +23,26 @@
   where the skeleton should be created.}
 
   \item{dialog}{An object of class \code{XiMpLe.node} to be
-  pasted as the \code{<dialog>} section (but only if
-  \code{provides} includes \code{"dialog"} as well). See
+  pasted as the \code{<dialog>} section. See
   \code{\link[rkwarddev:rk.XML.dialog]{rk.XML.dialog}} for
   details.}
 
   \item{wizard}{An object of class \code{XiMpLe.node} to be
-  pasted as the \code{<wizard>} section (but only if
-  \code{provides} includes \code{"wizard"} as well). See
+  pasted as the \code{<wizard>} section. See
   \code{\link[rkwarddev:rk.XML.wizard]{rk.XML.wizard}} for
   details.}
 
   \item{logic}{An object of class \code{XiMpLe.node} to be
-  pasted as the \code{<logic>} section (but only if
-  \code{provides} includes \code{"logic"} as well). See
+  pasted as the \code{<logic>} section. See
   \code{\link[rkwarddev:rk.XML.logic]{rk.XML.logic}} for
   details.}
 
-  \item{provides}{Character vector with at least one entry
-  of \code{"logic"}, \code{"dialog"} or \code{"wizard"},
-  defining what the plugin XML provides. If \code{"logic"}
-  is specified, a logic section will be added to the
-  document. If \code{logic=NULL}, must be edited manually
-  and is therefore commented out.}
+  \item{provides}{Character vector with possible entries of
+  \code{"logic"}, \code{"dialog"} or \code{"wizard"},
+  defining what sections the document should provide even
+  if \code{dialog}, \code{wizard} and \code{logic} are
+  \code{NULL}. These sections must be edited manually and
+  some parts are therefore commented out.}
 
   \item{dial.require}{A character vector with names of R
   packages that the dialog requires.}

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