[rkward-cvs] SF.net SVN: rkward:[2924] trunk/rkward

tfry at users.sourceforge.net tfry at users.sourceforge.net
Thu Jul 1 20:03:00 UTC 2010


Revision: 2924
          http://rkward.svn.sourceforge.net/rkward/?rev=2924&view=rev
Author:   tfry
Date:     2010-07-01 20:02:59 +0000 (Thu, 01 Jul 2010)

Log Message:
-----------
Add a variant of the sort-plugin for demonstration/discussion

Modified Paths:
--------------
    trunk/rkward/ChangeLog
    trunk/rkward/rkward/plugins/under_development.pluginmap

Added Paths:
-----------
    trunk/rkward/rkward/plugins/data/sort2.xml

Modified: trunk/rkward/ChangeLog
===================================================================
--- trunk/rkward/ChangeLog	2010-07-01 20:01:05 UTC (rev 2923)
+++ trunk/rkward/ChangeLog	2010-07-01 20:02:59 UTC (rev 2924)
@@ -3,7 +3,7 @@
 - Fixed: Placement of several menu items was broken - again - with KDE 4.4 and above
 - Allow sorting of results in help search window
 - Fixed: CPU usage would go to 100% for no good reason under certain circumstances
-- The save-object selector in plugins now allows to save as part of a data.frame / list		TODO: document plugin-API additions
+- The save-object selector in plugins now allows to save as part of a data.frame / list
 - Fixed: On some systems, dev.off() would spawn two new graphics windows
 - Support row names in the data.frame-editor
 - Fixed: When starting with an empty table, RKWard would sometimes claim that this object has been removed

Added: trunk/rkward/rkward/plugins/data/sort2.xml
===================================================================
--- trunk/rkward/rkward/plugins/data/sort2.xml	                        (rev 0)
+++ trunk/rkward/rkward/plugins/data/sort2.xml	2010-07-01 20:02:59 UTC (rev 2924)
@@ -0,0 +1,65 @@
+<!DOCTYPE rkplugin>
+<document>
+	<code file="sort.js"/>
+	<logic>
+		<connect governor="current_object" client="object.available"/>
+		<connect governor="object.available" client="sortby_selector.root"/>
+		<convert id="isok" mode="equals" sources="notice.text" standard="" require_true="true"/>
+		<convert id="no_current_object" mode="equals" sources="current_object" standard=""/>
+		<connect governor="no_current_object" client="object_select.visible"/>
+
+		<convert id="saveto_other_object" mode="equals" sources="saveto_select.string" standard="other"/>
+		<connect governor="saveto_other_object" client="saveto.enabled"/>
+		<connect governor="saveto_other_object" client="saveto.required"/>
+		<script><![CDATA[
+			// the top-level block is called only once
+			gui.addChangeCommand ("object.available", "objectChanged ()");
+
+			// this function is called on every change of the saveto's parent
+			objectChanged = function () {
+				object = makeRObject (gui.getValue ("object.available"));
+				gui.setValue ("sortby_frame.enabled", object.isDataFrame ());
+				gui.setValue ("sortby.required", object.isDataFrame ());
+
+				if (!(object.dimensions().length == 1 || object.isDataFrame())) {
+					// Not very elegant, but...
+					gui.setValue ("notice.text", "This type of object is not supported in this plugin");
+				} else {
+					gui.setValue ("notice.text", "");
+				}
+			}
+			]]></script>
+	</logic>
+	<dialog label="Sort data (Variant 2)">
+		<frame id="object_select">
+			<row>
+				<varselector label="Select the object to be sorted" id="selector"/>
+				<column>
+					<varslot id="object" source="selector" required="true"/>
+					<text id="notice" type="warning"></text>
+					<stretch/>
+				</column>
+			</row>
+		</frame>
+		<row>
+			<frame id="sortby_frame">
+				<varselector label="Sort by" id="sortby_selector"/>
+				<varslot source="sortby_selector" id="sortby" required="true"/>
+			</frame>
+			<column>
+				<radio id="order" label="Order">
+					<option label="Ascending" value="" checked="true"/>
+					<option label="Descending" value=", decreasing=TRUE"/>
+				</radio>
+				<stretch/>
+			</column>
+		</row>
+		<row>
+			<radio id="saveto_select" label="Save to">
+				<option label="Same object" value="same" checked="true"/>
+				<option label="Another object" value="other"/>
+			</radio>
+			<saveobject id="saveto" label="Object to save to" initial="sorted"/>
+		</row>
+	</dialog>
+</document>

Modified: trunk/rkward/rkward/plugins/under_development.pluginmap
===================================================================
--- trunk/rkward/rkward/plugins/under_development.pluginmap	2010-07-01 20:01:05 UTC (rev 2923)
+++ trunk/rkward/rkward/plugins/under_development.pluginmap	2010-07-01 20:02:59 UTC (rev 2924)
@@ -6,6 +6,7 @@
 		<component type="standard" id="sieve_plot" file="plots/sieve_plot.xml" label="Extended Sieve Plot" />
 		<component type="standard" id="generate_random" file="data/generate_random.xml" label="Generate random data" />
 		<component type="standard" id="sort_data" file="data/sort.xml" label="Sort data" />
+		<component type="standard" id="sort_data2" file="data/sort2.xml" label="Sort data (Variant 2)" />
 
 <!-- These are purely for testing: -->
 		<component type="standard" id="qtscript_test1" file="testing/test1.xml" label="QtScript Test 1" />
@@ -25,6 +26,7 @@
 		<menu id="data" label="Data" index="3">
 			<entry component="generate_random"/>
 			<entry component="sort_data"/>
+			<entry component="sort_data2"/>
 		</menu>
 		<menu id="analysis" label="Analysis" index="4">
 			<entry component="simple_anova" index="9"/>


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