[rkward-cvs] SF.net SVN: rkward:[4385] branches/external_plugins/rk.subset
m-eik at users.sourceforge.net
m-eik at users.sourceforge.net
Sat Oct 20 17:28:32 UTC 2012
Revision: 4385
http://rkward.svn.sourceforge.net/rkward/?rev=4385&view=rev
Author: m-eik
Date: 2012-10-20 17:28:32 +0000 (Sat, 20 Oct 2012)
Log Message:
-----------
packaging first subsetting plugin
Modified Paths:
--------------
branches/external_plugins/rk.subset/DESCRIPTION
branches/external_plugins/rk.subset/inst/rkward/plugins/Subsetofdata.frame.js
branches/external_plugins/rk.subset/inst/rkward/plugins/Subsetofdata.frame.xml
branches/external_plugins/rk.subset/inst/rkward/rkwarddev_plugin_script.R
Added Paths:
-----------
branches/external_plugins/rk.subset/ChangeLog
branches/external_plugins/rk.subset/R/rk.subset-package.R
branches/external_plugins/rk.subset/inst/CITATION
branches/external_plugins/rk.subset/inst/NEWS.Rd
branches/external_plugins/rk.subset/man/
branches/external_plugins/rk.subset/man/rk.subset-package.Rd
Added: branches/external_plugins/rk.subset/ChangeLog
===================================================================
--- branches/external_plugins/rk.subset/ChangeLog (rev 0)
+++ branches/external_plugins/rk.subset/ChangeLog 2012-10-20 17:28:32 UTC (rev 4385)
@@ -0,0 +1,8 @@
+ChangeLog for package rk.subset
+
+changes in version 0.01-1 (2012-10-20)
+changed:
+ - initial release
+fixed:
+ - missing ChangeLog
+
Modified: branches/external_plugins/rk.subset/DESCRIPTION
===================================================================
--- branches/external_plugins/rk.subset/DESCRIPTION 2012-10-20 13:32:51 UTC (rev 4384)
+++ branches/external_plugins/rk.subset/DESCRIPTION 2012-10-20 17:28:32 UTC (rev 4385)
@@ -5,11 +5,14 @@
Date: 2012-10-20
Author: Meik Michalke <meik.michalke at hhu.de>
Maintainer: Meik Michalke <meik.michalke at hhu.de>
-Depends: rkward (>= 0.5.6)
+Depends:
+ rkward (>= 0.5.6)
Enhances: rkward
Description: RKWard GUI to define subsets of data objects
License: GPL (>= 3)
LazyLoad: yes
URL: http://rkward.sf.net
Authors at R: person(given="Meik", family="Michalke",
- email="meik.michalke at hhu.de", role=c("aut", "cre"))
+ email="meik.michalke at hhu.de", role=c("aut", "cre"))
+Collate:
+ 'rk.subset-package.R'
Added: branches/external_plugins/rk.subset/R/rk.subset-package.R
===================================================================
--- branches/external_plugins/rk.subset/R/rk.subset-package.R (rev 0)
+++ branches/external_plugins/rk.subset/R/rk.subset-package.R 2012-10-20 17:28:32 UTC (rev 4385)
@@ -0,0 +1,23 @@
+#' RKWard GUI to define subsets of data objects.
+#'
+#' \tabular{ll}{
+#' Package: \tab rk.subset\cr
+#' Type: \tab Package\cr
+#' Version: \tab 0.01-1\cr
+#' Date: \tab 2012-10-20\cr
+#' Depends: \tab rkward (>= 0.5.6)\cr
+#' Enhances: \tab rkward\cr
+#' License: \tab GPL (>= 3)\cr
+#' LazyLoad: \tab yes\cr
+#' URL: \tab http://rkward.sf.net\cr
+#' }
+#'
+#' RKWard GUI to define subsets of data objects
+#'
+#' @aliases rk.subset-package rk.subset
+#' @name rk.subset-package
+#' @docType package
+#' @title RKWard GUI to define subsets of data objects.
+#' @author Meik Michalke \email{meik.michalke@@hhu.de}
+#' @keywords package
+NULL
Added: branches/external_plugins/rk.subset/inst/CITATION
===================================================================
--- branches/external_plugins/rk.subset/inst/CITATION (rev 0)
+++ branches/external_plugins/rk.subset/inst/CITATION 2012-10-20 17:28:32 UTC (rev 4385)
@@ -0,0 +1,14 @@
+bibentry("Manual",
+ title="rk.subset: RKWard GUI to define subsets of data objects",
+ author="Meik Michalke",
+ year="2012",
+ note="(Version 0.01-1)",
+ url="http://rkward.sf.net",
+
+ textVersion =
+ paste("Michalke, M. (2012). ",
+ "rk.subset: RKWard GUI to define subsets of data objects (Version 0.01-1). ",
+ "Available from http://rkward.sf.net",
+ sep=""),
+
+ mheader = "To cite rk.subset in publications use:")
Added: branches/external_plugins/rk.subset/inst/NEWS.Rd
===================================================================
--- branches/external_plugins/rk.subset/inst/NEWS.Rd (rev 0)
+++ branches/external_plugins/rk.subset/inst/NEWS.Rd 2012-10-20 17:28:32 UTC (rev 4385)
@@ -0,0 +1,14 @@
+\name{NEWS}
+\title{News for Package 'rk.subset'}
+\section{Changes in rk.subset version 0.01-1 (2012-10-20)}{
+ \subsection{changed}{
+ \itemize{
+ \item initial release
+ }
+ }
+ \subsection{fixed}{
+ \itemize{
+ \item missing ChangeLog
+ }
+ }
+}
Modified: branches/external_plugins/rk.subset/inst/rkward/plugins/Subsetofdata.frame.js
===================================================================
--- branches/external_plugins/rk.subset/inst/rkward/plugins/Subsetofdata.frame.js 2012-10-20 13:32:51 UTC (rev 4384)
+++ branches/external_plugins/rk.subset/inst/rkward/plugins/Subsetofdata.frame.js 2012-10-20 17:28:32 UTC (rev 4385)
@@ -16,23 +16,20 @@
var drpFltrAll = getValue("drp_fltr_all");
var drpFltrFct = getValue("drp_fltr_fct");
var drpFltrLgc = getValue("drp_fltr_lgc");
+ var drpFltrNum = getValue("drp_fltr_num");
var inpVlpstdss = getValue("inp_Vlpstdss");
+ var spnValue = getValue("spn_Value");
var svbSvrsltst = getValue("svb_Svrsltst");
var frmOnlyssbsChecked = getValue("frm_Onlyssbs.checked");
var frmFltrrwsbChecked = getValue("frm_Fltrrwsb.checked");
// the R code to be evaluated
- var frmOnlyssbsChecked = getValue("frm_Onlyssbs.checked");
var vrslSlctdvrbShortname = getValue("vrsl_Slctdvrb.shortname").split("\n").join("\", \"");
- var frmFltrrwsbChecked = getValue("frm_Fltrrwsb.checked");
var vrslFilterbyShortname = getValue("vrsl_Filterby.shortname").split("\n").join("\", \"");
var drpFltrAllVisible = getValue("drp_fltr_all.visible");
var drpFltrFctVisible = getValue("drp_fltr_fct.visible");
var drpFltrLgcVisible = getValue("drp_fltr_lgc.visible");
- var frmOnlyssbsChecked = getValue("frm_Onlyssbs.checked");
- var vrslSlctdvrbShortname = getValue("vrsl_Slctdvrb.shortname").split("\n").join("\", \"");
- var frmFltrrwsbChecked = getValue("frm_Fltrrwsb.checked");
- var vrslFilterbyShortname = getValue("vrsl_Filterby.shortname").split("\n").join("\", \"");
+ var drpFltrNumVisible = getValue("drp_fltr_num.visible");
echo("\tsset.result <- subset(");
if(varData) {
echo("\n\t\t" + varData);
@@ -55,6 +52,8 @@
} else {
echo(",\n\t\t!" + vrslFilterbyShortname);
}
+ } else if(drpFltrNumVisible == "true" && frmFltrrwsbChecked) {
+ echo(",\n\t\t" + vrslFilterbyShortname + " " + drpFltrNum + " " + spnValue);
}
if(frmOnlyssbsChecked && vrslSlctdvrbShortname != "") {
echo(",\n\t\tselect=c(\"" + vrslSlctdvrbShortname + "\")");
@@ -64,9 +63,9 @@
function printout(){
// printout the results
- echo("rk.header(\"Data subset\")\n");
+
//// save result object
// read in saveobject variables
var svbSvrsltst = getValue("svb_Svrsltst");
Modified: branches/external_plugins/rk.subset/inst/rkward/plugins/Subsetofdata.frame.xml
===================================================================
--- branches/external_plugins/rk.subset/inst/rkward/plugins/Subsetofdata.frame.xml 2012-10-20 13:32:51 UTC (rev 4384)
+++ branches/external_plugins/rk.subset/inst/rkward/plugins/Subsetofdata.frame.xml 2012-10-20 17:28:32 UTC (rev 4385)
@@ -13,32 +13,48 @@
dataChanged = function(){
var filterFactor = "false";
var filterLogical = "false";
+ var filterNumeric = "false";
var filterAll = "true";
+ var enableVarSpin = "false";
+ var visibleVarSpin = "false";
+ var visibleVarInput = "true";
var enableVarInput = "true";
var requireVarInput = "false";
var thisObject = makeRObject(gui.getValue("vrsl_Filterby.available"));
if(thisObject.classes()){
requireVarInput = "true";
- if(thisObject.classes().indexOf("factor") != -1){
+ if(thisObject.isDataFactor() || thisObject.isDataCharacter()){
filterAll = "false";
filterFactor = "true";
- } else if(thisObject.classes().indexOf("logical") != -1){
+ } else if(thisObject.isDataLogical()){
filterAll = "false";
filterLogical = "true";
enableVarInput = "false";
requireVarInput = "false";
+ } else if(thisObject.isDataNumeric()){
+ filterAll = "false";
+ filterNumeric = "true";
+ enableVarSpin = "true";
+ visibleVarSpin = "true";
+ enableVarInput = "false";
+ visibleVarInput = "false";
+ requireVarInput = "false";
} else {}
} else {}
gui.setValue("drp_fltr_fct.visible", filterFactor);
gui.setValue("drp_fltr_lgc.visible", filterLogical);
+ gui.setValue("drp_fltr_num.visible", filterNumeric);
gui.setValue("drp_fltr_all.visible", filterAll);
gui.setValue("inp_Vlpstdss.enabled", enableVarInput);
+ gui.setValue("inp_Vlpstdss.visible", visibleVarInput);
gui.setValue("inp_Vlpstdss.required", requireVarInput);
+ gui.setValue("spn_Value.visible", visibleVarSpin);
}
]]>
</script>
<set id="drp_fltr_fct.visible" to="false" />
<set id="drp_fltr_lgc.visible" to="false" />
+ <set id="drp_fltr_num.visible" to="false" />
<connect governor="current_object" client="var_data.available" />
<connect governor="var_data.available" client="vrs_Selectdt.root" />
<convert id="lgc_vardata" sources="var_data.available" mode="notequals" />
@@ -75,7 +91,16 @@
<option label="is TRUE" value="TRUE" checked="true" />
<option label="is FALSE" value="FALSE" />
</dropdown>
+ <dropdown id="drp_fltr_num" label="Filter rule">
+ <option label="is not equal (!=)" value="!=" />
+ <option label="is less (<)" value="<" />
+ <option label="is less or equal(<=)" value="<=" />
+ <option label="is equal (==)" value="==" checked="true" />
+ <option label="is greater or equal (>=)" value=">=" />
+ <option label="is greater (>)" value=">" />
+ </dropdown>
<input label="Value (pasted as-is, use proper quoting!)" id="inp_Vlpstdss" />
+ <spinbox label="Value" id="spn_Value" />
</frame>
<stretch />
<saveobject label="Save results to workspace" checkable="true" checked="true" initial="sset.result" id="svb_Svrsltst" />
Modified: branches/external_plugins/rk.subset/inst/rkward/rkwarddev_plugin_script.R
===================================================================
--- branches/external_plugins/rk.subset/inst/rkward/rkwarddev_plugin_script.R 2012-10-20 13:32:51 UTC (rev 4384)
+++ branches/external_plugins/rk.subset/inst/rkward/rkwarddev_plugin_script.R 2012-10-20 17:28:32 UTC (rev 4385)
@@ -52,44 +52,70 @@
"is TRUE"=c(val="TRUE", chk=TRUE),
"is FALSE"=c(val="FALSE")
), id.name="drp_fltr_lgc")
+sset.filter.drop.numeric <- rk.XML.dropdown(label="Filter rule", options=list(
+ "is not equal (!=)"=c(val="!="),
+ "is less (<)"=c(val="<"),
+ "is less or equal(<=)"=c(val="<="),
+ "is equal (==)"=c(val="==", chk=TRUE),
+ "is greater or equal (>=)"=c(val=">="),
+ "is greater (>)"=c(val=">")
+ ), id.name="drp_fltr_num")
sset.input.filter <- rk.XML.input(label="Value (pasted as-is, use proper quoting!)")
+sset.spin.filter <- rk.XML.spinbox(label="Value")
frame.filter.var <- rk.XML.frame(
filter.var,
sset.filter.drop,
sset.filter.drop.factor,
sset.filter.drop.logical,
+ sset.filter.drop.numeric,
sset.input.filter,
+ sset.spin.filter,
label="Filter rows by variable", checkable=TRUE, chk=FALSE)
-# # for logic sections
+# for logic section
lgc.filter.script <- rk.comment(id("
gui.addChangeCommand(\"", filter.var, ".available\", \"dataChanged()\");
// this function is called whenever the data was changed
dataChanged = function(){
var filterFactor = \"false\";
var filterLogical = \"false\";
+ var filterNumeric = \"false\";
var filterAll = \"true\";
+ var enableVarSpin = \"false\";
+ var visibleVarSpin = \"false\";
+ var visibleVarInput = \"true\";
var enableVarInput = \"true\";
var requireVarInput = \"false\";
var thisObject = makeRObject(gui.getValue(\"", filter.var, ".available\"));
if(thisObject.classes()){
requireVarInput = \"true\";
- if(thisObject.classes().indexOf(\"factor\") != -1){
+ if(thisObject.isDataFactor() || thisObject.isDataCharacter()){
filterAll = \"false\";
filterFactor = \"true\";
- } else if(thisObject.classes().indexOf(\"logical\") != -1){
+ } else if(thisObject.isDataLogical()){
filterAll = \"false\";
filterLogical = \"true\";
enableVarInput = \"false\";
requireVarInput = \"false\";
+ } else if(thisObject.isDataNumeric()){
+ filterAll = \"false\";
+ filterNumeric = \"true\";
+ enableVarSpin = \"true\";
+ visibleVarSpin = \"true\";
+ enableVarInput = \"false\";
+ visibleVarInput = \"false\";
+ requireVarInput = \"false\";
} else {}
} else {}
gui.setValue(\"", sset.filter.drop.factor, ".visible\", filterFactor);
gui.setValue(\"", sset.filter.drop.logical, ".visible\", filterLogical);
+ gui.setValue(\"", sset.filter.drop.numeric, ".visible\", filterNumeric);
gui.setValue(\"", sset.filter.drop, ".visible\", filterAll);
gui.setValue(\"", sset.input.filter, ".enabled\", enableVarInput);
+ gui.setValue(\"", sset.input.filter, ".visible\", visibleVarInput);
gui.setValue(\"", sset.input.filter, ".required\", requireVarInput);
+ gui.setValue(\"", sset.spin.filter, ".visible\", visibleVarSpin);
}", js=FALSE))
save.results.sset <- rk.XML.saveobj("Save results to workspace", initial="sset.result", chk=TRUE)
@@ -114,6 +140,7 @@
lgc.filter.script,
rk.XML.set(sset.filter.drop.factor, set="visible", to="false"),
rk.XML.set(sset.filter.drop.logical, set="visible", to="false"),
+ rk.XML.set(sset.filter.drop.numeric, set="visible", to="false"),
rk.XML.connect(governor="current_object", client=var.data, set="available"),
rk.XML.connect(governor=var.data, client=var.select, get="available", set="root"),
sset.gov.data <- rk.XML.convert(sources=list(available=var.data), mode=c(notequals="")),
@@ -122,19 +149,16 @@
)
## JavaScript
+js.frm.filter <- rk.JS.vars(frame.filter.var, modifiers="checked") # see if the frame is checked
+js.frm.subset <- rk.JS.vars(frame.selected.vars, modifiers="checked")
sset.js.calc <- rk.paste.JS(
- js.frm.subset <- rk.JS.vars(frame.selected.vars, modifiers="checked"), # see if the frame is checked
js.selected.vars <- rk.JS.vars(selected.vars, modifiers="shortname", join="\\\", \\\""), # get selected vars
- js.frm.filter <- rk.JS.vars(frame.filter.var, modifiers="checked"), # see if the frame is checked
- js.filter.var <- rk.JS.vars(filter.var, modifiers="shortname", join="\\\", \\\""), # get selected vars
+ js.filter.var <- rk.JS.vars(filter.var, modifiers="shortname", join="\\\", \\\""),
js.filter.mode.all <- rk.JS.vars(sset.filter.drop, modifiers="visible"),
js.filter.mode.fct <- rk.JS.vars(sset.filter.drop.factor, modifiers="visible"),
js.filter.mode.lgc <- rk.JS.vars(sset.filter.drop.logical, modifiers="visible"),
- js.frm.subset,
- js.selected.vars,
- js.frm.filter,
- js.filter.var,
+ js.filter.mode.nmb <- rk.JS.vars(sset.filter.drop.numeric, modifiers="visible"),
echo("\tsset.result <- subset("),
ite(var.data, echo("\n\t\t", var.data)),
ite(id(js.filter.mode.all, " == \"true\" && ", js.frm.filter, " && ", js.filter.var, " != \"\""),
@@ -151,6 +175,9 @@
ite(id(sset.filter.drop.logical, " == \"TRUE\""),
echo(",\n\t\t", js.filter.var),
echo(",\n\t\t!", js.filter.var)
+ ),
+ ite(id(js.filter.mode.nmb, " == \"true\" && ", js.frm.filter),
+ echo(",\n\t\t", js.filter.var, " ", sset.filter.drop.numeric, " ", sset.spin.filter)
)
)
)
@@ -172,7 +199,7 @@
dialog=sset.full.dialog,
logic=lgc.sect.sset
),
- js=list(results.header="\"Data subset\"",
+ js=list(results.header=FALSE,
calculate=sset.js.calc),
pluginmap=list(name="Subset of data.frame", hierarchy=list("data")),
create=c("pmap", "xml", "js", "desc"),
Added: branches/external_plugins/rk.subset/man/rk.subset-package.Rd
===================================================================
--- branches/external_plugins/rk.subset/man/rk.subset-package.Rd (rev 0)
+++ branches/external_plugins/rk.subset/man/rk.subset-package.Rd 2012-10-20 17:28:32 UTC (rev 4385)
@@ -0,0 +1,22 @@
+\docType{package}
+\name{rk.subset-package}
+\alias{rk.subset}
+\alias{rk.subset-package}
+\title{RKWard GUI to define subsets of data objects.}
+\description{
+ RKWard GUI to define subsets of data objects.
+}
+\details{
+ \tabular{ll}{ Package: \tab rk.subset\cr Type: \tab
+ Package\cr Version: \tab 0.01-1\cr Date: \tab
+ 2012-10-20\cr Depends: \tab rkward (>= 0.5.6)\cr
+ Enhances: \tab rkward\cr License: \tab GPL (>= 3)\cr
+ LazyLoad: \tab yes\cr URL: \tab http://rkward.sf.net\cr }
+
+ RKWard GUI to define subsets of data objects
+}
+\author{
+ Meik Michalke \email{meik.michalke at hhu.de}
+}
+\keyword{package}
+
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