[rkward] doc/rkwardplugins: updated plugin docs (preview)

m.eik michalke meik.michalke at uni-duesseldorf.de
Tue Jan 26 19:18:51 UTC 2016


Git commit 65000561f4d4dfd070f9b558beb4d5c457af1d6d by m.eik michalke.
Committed on 26/01/2016 at 19:18.
Pushed by meikm into branch 'master'.

updated plugin docs (preview)

  - re-wrote the JS sections to consistently show the new approach for preview code
  - replaced tabs with two spaces in the first example (lines 1409 to 1448), this seems to produce a much better indentation in the generated HTML doc. do this for the full document?

M  +45   -61   doc/rkwardplugins/index.docbook

http://commits.kde.org/rkward/65000561f4d4dfd070f9b558beb4d5c457af1d6d

diff --git a/doc/rkwardplugins/index.docbook b/doc/rkwardplugins/index.docbook
index b37deba..bb752d9 100644
--- a/doc/rkwardplugins/index.docbook
+++ b/doc/rkwardplugins/index.docbook
@@ -1406,53 +1406,46 @@ This chapter contains information on some topics that are useful only to certain
 			Here's an example .JS file that you should use as a template, whenever you create a plotting plugin:
 		</para>
 		<programlisting>
-	function preprocess () {
-		// the "somepackage" is needed to create the plot
-		echo ("require (somepackage)\n");
-	}
-
-	function printout () {
-		// all the real work is moved to a custom defined function doPrintout (), below
-
-		doPrintout (true);	// in this case, 'true' means: We want all the headers that should be printed in the output, not just the preview
-	}
-
-	function preview () {
-		// we call all stages of the general code. Only the printout () function needs to be slightly different for the plot preview
-		preprocess ();
-		// calculate (); // in this example, the plugin has no calculate () function.
-		doPrintout (false);	// in this case, 'false' means: Create the plot, but not any headers or other output.
-	}
-
-	function doPrintout (full) {
-		// this function takes care of generating the code for the printout() section. If "full" is set to true,
-		// it generates the full code, including headers. If full is set to false, only the essentials will
-		// be generated.
-
-		if (full) {
-			echo ('rk.header (' + i18n ("An example plot") + ')\n\n');
-			echo ('rk.graph.on ()\n');
-		}
-		// only the following section will be generated for full==false
-
-		// remember: everything between rk.graph.on() and rk.graph.off() should be wrapped inside a try() statement:
-		echo ('try ({\n');
-		// insert any option-setting code that should be run before the actual plotting commands.
-		// The code itself is provided by the embedded plot options plugin. printIndentedUnlessEmpty() takes care of pretty formatting.
-		printIndentedUnlessEmpty ('\t', getString ("plotoptions.code.preprocess"), '', '\n');
-
-		// create the actual plot. plotoptions.code.printout provides the part of the generic plot options
-		// that have to be added to the plotting call, itself.
-		echo ('plot (5, 5' + getString ("plotoptions.code.printout") + ')\n');
-
-		// insert any option-setting code that should be run after the actual plot.
-		printIndentedUnlessEmpty ('\t', getString ("plotoptions.code.calculate"), '\n');
-		echo ('})'\n);	// the closure of the try() statement
-
-		if (full) {
-			echo ('rk.graph.off ()\n');
-		}
-	}
+  function preprocess () {
+    // the "somepackage" is needed to create the plot
+    echo ("require (somepackage)\n");
+  }
+
+  function preview () {
+    // we call all stages of the general code. Only the printout () function needs to be called slightly different for the plot preview
+    preprocess ();
+    // calculate (); // in this example, the plugin has no calculate () function.
+    printout (true); // in this case, 'true' means: Create the plot, but not any headers or other output.
+  }
+  
+  function printout (is_preview) {
+    // If "is_preview" is set to false, it generates the full code, including headers.
+    // If "is_preview" is set to true, only the essentials will be generated.
+
+    if (!is_preview) {
+      echo ('rk.header (' + i18n ("An example plot") + ')\n\n');
+      echo ('rk.graph.on ()\n');
+    }
+    // only the following section will be generated for is_preview==true
+
+    // remember: everything between rk.graph.on() and rk.graph.off() should be wrapped inside a try() statement:
+    echo ('try ({\n');
+    // insert any option-setting code that should be run before the actual plotting commands.
+    // The code itself is provided by the embedded plot options plugin. printIndentedUnlessEmpty() takes care of pretty formatting.
+    printIndentedUnlessEmpty ('\t', getString ("plotoptions.code.preprocess"), '', '\n');
+
+    // create the actual plot. plotoptions.code.printout provides the part of the generic plot options
+    // that have to be added to the plotting call, itself.
+    echo ('plot (5, 5' + getString ("plotoptions.code.printout") + ')\n');
+
+    // insert any option-setting code that should be run after the actual plot.
+    printIndentedUnlessEmpty ('\t', getString ("plotoptions.code.calculate"), '\n');
+    echo ('})'\n);  // the closure of the try() statement
+
+    if (!is_preview) {
+      echo ('rk.graph.off ()\n');
+    }
+  }
 		</programlisting>
 	</sect2>
 	<sect2 id="preview_output">
@@ -1477,15 +1470,11 @@ This chapter contains information on some topics that are useful only to certain
 	// In the plugin's JS file
 	function preview () {
 		// generates the code used for preview
-		doPrintout (true);
+		printout (true);
 	}
 
-	function printout () {
-		// generates the code used for real
-		doPrintout (false);
-	}
-
-	function doPrintout (is_preview) {
+	function printout (is_preview) {
+		// only generates a header if is_preview==false
 		if (!is_preview) {
 			new Header ("This is a caption").print ();
 		}
@@ -1515,15 +1504,10 @@ This chapter contains information on some topics that are useful only to certain
 	// In the plugin's JS file
 	function preview () {
 		// generates the code used for preview
-		doCalculate (true);
-	}
-
-	function calculate () {
-		// generates the "final" code
-		doCalculate (false);
+		calculate (true);
 	}
 
-	function doCalculate (is_preview) {
+	function calculate (is_preview) {
 		echo ('imported <- read.csv (file="' + getString ("file") /* [+ options] */);
 		if (is_preview) {
 			echo ('preview_data <- imported\n');



More information about the rkward-tracker mailing list