NEWS {rkwarddev} | R Documentation |
rk.updatePluginMessages()
: check that python is version 3
rk.XML.connect()
: no dot is appended to the governor any more if 'get=""
'
rk.plugin.component()
: also use 'gen.info' with autogenerated help
documents (from scanned XML nodes)
rk.plugin.skeleton()
: add "Encoding: UTF-8" to the DESCRIPTION file,
required to satisfy roxygen2
modifier checks: private function modif.validity()
now also lists valid
modifiers when in stop-at-error mode, not only when a warning should be
shown
rk.XML.convert()
: does now try not to complain if sources is not a list
vignette: converted into RMarkdown and updated screenshots
rk.XML.select()
: new parameter "single"
(available as of RKWard 0.7.1).
rk.uniqueIDs()
was using lists internally in some cases which caused an
unneccessary warning
rk.XML.formula()
was missing the label attribute (also missing in the
documentation)
rk.JS.scan()
omitted <formula> nodes
re-implemented the dropping of variables if they're globally defined in
rk.JS.doc()
private function p2s.checkModifiers()
(called by plugin2script()
) didn't
detect *.not modifiers correctly
plugin2script()
does now output numeric values when mandatory; internally
this is defined in the FONA list
rk.XML.about()
now prints dates correctly
rk.XML.vars()
now knows type "numeric"
instead of "number"
fixed tests/generate_test_standards.R (replacing "number"
with "numeric"
)
rk.JS.header()
doesn't fail any longer if ".add"
vectors have no names
internal function get.IDs()
now uses new internal function
filter.relevant.tags()
function rk.JS.scan()
now has a new mode switch and supports scanning for
<preview /> nodes
rk.JS.scan()
can now also check if a variable is actually being used in
the script body (if given via the new script argument), and if not omit it
from its result; this is the new default, but can be turned off by setting
the new argument unused.vars=TRUE in rk.plugin.component()
and
rk.plugin.skeleton()
handling of previews was changed; using "doPrintout"
is deprecated now,
but still works. most scripts should still do without changes, allthough
the JS code looks different now
improved output of rk.JS.doc()
improved the handling of <frame> nodes in JS code: previously id()
just
returned the camelCode id of frames, you had to manually define an object
outside rk.paste.JS()
via rk.JS.vars(<frame object>, modifiers="checked"
).
the default is now to add the checked modifier, since using frames in JS
is most likely useless otherwise. i.e., you now need to manually call via
rk.JS.vars(<frame object>) with no modifiers if you happen to need the
frame's ID for whatever reason
adjusted plugin2script()
to the new rk.XML.preview()
parameters (see
"added"
)
rk.XML.embed()
now also accepts objects of class rk.plug.comp as
components
rk.plotOptions()
gained new argument namespace to work well with the
changed approach of rk.XML.embed()
rk.XML.connect()
now allows objects of class rk.plug.comp to be used as
clients and <external> nodes to be used as the "set"
modifier for that
client, and can therefore be used to connect properties from embedded plugins
objects of class rk.JS.var now have a new slot "methods"
to append method
calls
moved internal js.try.scan()
function from body of rk.plugin.component()
to rk-internal.R
rk.XML.about()
finally no longer supports "dependency"
, "package"
or
"pluginmap"
; these arguments were deprecated for years now
adjusted test standards
new parameters "mode"
, "placement"
, "active"
and "id.name"
in
rk.XML.preview()
new parameter "preview"
in rk.JS.doc()
to force adding a preview()
function
rk.plugin.component()
and rk.plugin.skeleton()
now support "preview"
in
both the "js"
option and the "scan"
option
new options "preview"
and "level"
in rk.JS.saveobj()
id()
gained the new attribute "guess.modifier"
to toggle the new default
for <frame> nodes in JS (see above)
new parameter "namespace"
in rk.XML.embed()
to result in
"namespace::component", takes character strings, <about> nodes and pluginmap XML trees and
is not yet covered by plugin2script()
new function rk.JS.method()
to generate JS method calls
plugin2script()
now also scans *.rkh and *.pluginmap files
rk.JS.header()
now accepts rk.JS.ite objects as the second value of "add"
entries and prints them in a condensed statement
attribute "max_precision"
in <spinbox> was misspelled
rk.XML.connect()
still handled modifiers for "governor"
wrong if it
wasn't a XiMpLe node
also fixed how rk.XML.convert()
and rk.XML.switch()
were handling
modifier checking
rk.XML.dependencies()
didn't know about min/max versions of pluginmaps
(fixed in rk.XML.about()
as well)
some fixes to the skeleton GUI and demo script
prevent internal function indent()
from losing it over negative values
indentation of rk.paste.JS.graph()
was incorrect
pasting comments via rk.paste.JS()
gained an extra space for subsequent
lines
the "i18n"
attribute in lists e.g. for rk.XML.radio()
didn't really work
improved indetation for rk.JS.oset objects
rk.XML.varslot()
and rk.XML.valueslot()
didn't correctly add sources if
they were character strings (which is valid)
R.comment()
didn't correctly paste indentation levels > 2
new methods plugin2script()
to try to translate raw plugin XML into
working rkwarddev script calls
new option "ignore"
enables rk.uniqueIDs()
to not check nodes for
duplicates (e.g., <copy>)
new wrapper function js()
for id()
makes it possible to use several
operators without quoting, preserve "if"
conditions and "for"
loops, which all
will be translated to JavaScript equivalents without the need for quoting.
however, the "for"
loop code is not publicly documented and remains a
proof of concept kind of thing for now
new option ".objects"
in id()
and ".ite"
in rk.JS.options()
to provide
objects as a list
new option "rk.JS.vars"
to make JS variables match the name of the
original R object
new function idq()
to print quoted IDs of XML nodes for use in JavaScript
sections
new function modifiers()
to make checking for valid mdifiers of a given
node easier
new functions rk.get.indent()
and rk.set.indent()
to globally set
indentation string
new functions rk.get.empty.e()
and rk.set.empty.e()
to globally define
the handling of empty "else"
clauses in JavaScript
in rk.JS.header()
, the second value provided by "add"
can now be named
"noquote"
to have it nested in the JS noquote()
function
new wrapper function rk.updatePluginMessages()
for
update_plugin_messages.py, the package now comes with its own copy of this core i18n script
the generator info gained support for hinting at the very rkwarddev script file that was used to generate a particular plugin file
new function rk.local()
to be used as an alternative to local()
with a
predefined local environment to solve scope issues with js()
improved error handling in rk.JS.header()
, error messages are more
informative now
rk.uniqueIDs()
now checks "dialog"
and "wizard"
sections separately
updated the vignette with information on js()
, plugin2script()
, and how
to add help pages
internal function modif.validity()
now calls modifiers()
to give more
useful feedback
all functions offering "intent.by"
as an option now fetch the default
value by calling rk.get.indent()
all functions offering "empty.e"
as an option now fetch the default value
by calling rk.get.empty.e()
removed trailing newline in rk.JS.header()
output
updated test standards
rk.JS.header()
now produces usable level options
new slot "opt.sep"
in classes rk.JS.arr and rk.JS.opt, as well as new
option "opt.sep"
in rk.paste.JS()
, rk.JS.array()
and rk.JS.options()
, to
manipulate the character string separating the previous options from the ones
defined by these objects
replaced the outdated links to sourceforge with our new KDE URL
rk.XML.optionset()
does now allow to re-use objects defined in the same
function call (i.e., refer to optioncolumns in the logic section)
removed arguments "help"
and "component"
from rk.XML.optionscolumn()
again, as these are already being documented via the objects they connect to.
rk.build.plugin()
was still only using the "–no-vignettes" option from R
< 3
rk.XML.pluginmap()
malformed label argument names if they referred to
standrad maneu entries
rk.plugin.skeleton()
still allowed invalid IDs, fixed the regexp
rk.XML.snippets()
now also accepts <include> as child node
rk.XML.tabbook()
returns <insert> nodes as-is, not nested in <tab></tab>
rk.JS.scan()
now sets "state"
as default modifier for checkboxes if
guess.getter is TRUE
rk.XML.connect()
handled modifiers too strict if "client"
was a string,
and too liberal when "governor"
was
join()
referenced a wrong object name if "var"
was of class rk.JS.arr
rk.XML.about()
had a malformed error message
rk.plugin.component()
called XMLAttrs()
with too many arguments
rk.XML.values()
and rk.XML.vars()
do now handle all combinations of
"horiz"
and "add.nodes"
properly
fixed wrong link to rk.plugin.skeleton()
in documentation of
rk.XML.pluginmap()
all "help"
values can now be a list of character strings or XiMpLe nodes,
to have more control over the markup
added "property"
and "duplicates"
arguments to rk.XML.valueslot()
and
rk.XML.varslot()
.
rk.XML.pluginmap()
now adds a "po_id"
attribute to pluginmaps, necessary
for i18n
new attribute "require.defaults"
in rk.XML.pluginmap()
to add
rkward::menu and rkward::embedded as requirements
new attribute "i18n"
added to several XML functions; it takes a list with
the named arguments "comment"
or "context"
to either produce an i18n
comment node or an "i18n_context"
attribute
new function rk.i18n.comment()
to give context for translators
new function rk.JS.header()
to easily generate JavaScript header code fit
for i18n
rk.JS.doc()
, rk.plugin.skeleton()
and rk.plugin.component()
now use
rk.JS.header()
instead of rk.header()
, and also accept its "header.add"
attribute
new function R.comment()
to generate JavaScript "comment()
" calls
first unit tests using the testthat package
added documentation to the used S4 classes
enhanced rk.XML.values()
to also accept "options"
and "duplicates"
, and
rk.XML.vars()
to also accept "duplicates"
new argument "var"
in rk.paste.JS()
to define whether the JS keyword
"var"
should be used or omitted for rk.JS.var objects
rk.XML.matrix()
now also accepts the arguments "min_rows"
and
"min_columns"
<dropdown>, <radio> and <select> have gained "string.quoted"
as a valid
property/modifier
new function rk.XML.i18n()
to define translatable labels in logic sections
new function rk.rkh.label()
for extracting labels from plugin elements
function i18n()
was changed to be used in JavaScript generation only;
this breaks code using the function introduced with 0.06-4, but that was to
be shortlived from the start... the i18n features of 0.06-4 will be
completely replaced with some proper methods now
comment nodes (<!– foo –>) are now globally allowed as child nodes in XML; important for i18n comments
modifier checks now point to rkwarddev:::all.valid.modifiers directly in case of errors
internally, moved the definitions of valid child nodes and modifiers as well as default getter functions and modifiers to separate files, so they're more obvious to find and check
rk.XML.input()
now checks wheter "size"
is exactly one of "small"
,
"medium"
or "large"
rk.JS.doc()
now uses a more robust method to set global variables, namely
by defining an additional function setGlobalVars()
and calling that
inside preprocess()
due to changes needed for i18n and rk.JS.header()
to work, check your
"result.header"
values, there might be quote issues. for the most part,
remove quotes you added for rkwarddev >= 0.05-0
updated the generation of author and maintainer fileds in DESCRIPTIONs
made by rk.plugin.skeleton()
, borrowing get.authors()
from roxyPackage
rk.plugin.component()
will now also move <dependencies> from <about> to a
top level child node of plugin XML code, with a warning
rk.plugin.skeleton()
has a new logical switch called "internal"
, to set
some defaults for plugins to be distributed with RKWard itself
the "pluginmap"
argument of rk.plugin.skeleton()
now also accepts
"namespace"
the functions rk.set.language()
rk.get.language()
were no longer useful
and therefore removed
also removed the option "lang"
from rk.rkh.doc()
, rk.XML.plugin()
,
rk.XML.pluginmap()
and rk.plugin.skeleton()
the "show"
feature in rk.plugin.skeleton()
was broken due to changes in
the namespace defaults
scanning plugin XML code for JS and help related content didn't work as
expected in rk.plugin.component()
rk.rkh.scan()
now also recognises <optioncolumn> and <matrix> nodes
a logical bug prevented rk.plugin.component()
to run with default values
for XML
internal function paste.JS.options()
, used by rk.JS.options()
, was only
working correctly for the "then"
part if ite()
statements in arrays; now
also produces usable code for an "else"
part, if available
new functions rk.XML.valueselector()
, rk.XML.valueslot()
and the
combining rk.XML.values()
to define <valueselector> and <valueslot> nodes,
similar to rk.XML.varselector()
, rk.XML.varslot()
and rk.XML.vars()
new function rk.XML.select()
to define <select> nodes
new functions rk.set.rkh.prompter()
and rk.get.rkh.prompter()
to make it
easier to generate help files (later...)
rk.rkh.scan()
(and automatically rk.plugin.skeleton()
and
rk.plugin.component()
) are now capable of fetching text set with rk.set.rkh.prompter()
and use it to generate help files
all functions scanned by rk.rkh.scan()
for setting nodes in .rkh files
have gained two additional arguments, "help"
and "component"
, to register
the text to be used via rk.set.rkh.prompter()
new function rk.XML.option()
to allow setting and accessing IDs for
single options as well
new function rk.JS.optionset()
and object class "rk.JS.oset"
to generate
for loops over <optionset> columns
updated the plugin skeleton example script; e.g., it now uses the new .rkh file generating features
rk.XML.radio()
and rk.XML.dropdown()
now also accept objects made with
rk.XML.option()
in their respective list of options
renamed all class definition files due to include problems with
roxygenize()
allow non-maintainers to omit email addresses in <about> nodes
new functions rk.set.language()
, rk.get.language()
and i18n()
to
facilitate static internationalisation of plugins; makes use of a new internal
environment .rkdev.env
new parameter "lang"
in functions rk.rkh.doc()
, rk.XML.plugin()
,
rk.XML.pluginmap()
and rk.plugin.skeleton()
for internationalisation. if used, the
attributes "lang"
and "xml:lang" will be set in the <document> root of
the generated files, respectively
new parameter "localized"
in rk.XML.require()
for internationalisation
the document id in rk.XML.pluginmap()
can now be set manually
abbreviation of labels now limits valid characters to [0-9A-Za-z]
in rk.XML.pluginmap()
, "components"
and "hierarchy"
may be set to NULL if
"require"
is used accordingly
fixed outdated example code for rk.plugin.component()
new function rk.uniqueIDs()
checks for duplicate IDs
rk.JS.array()
can now be told to quote values
rk.plugin.component()
and rk.rkh.doc()
do now interpret the "hints"
argument to prevent the generation of optional XML nodes.
rk.plugin.component()
now automatically calls rk.uniqueIDs()
and stops if
IDs are not unique
the structure of <about> nodes will change in RKWard 0.6.1, <dependencies> will become a direct child of <document> or <component>, which explains several changes in this release. this is not really critical, because this information wasn't evaluated by RKWard until now anyway
for consistency, from now on <component> is never an empty node
rk.XML.pluginmap()
, rk.XML.plugin()
and rk.plugin.skeleton()
will now
move <dependencies> from <about> to a top level child node of plugin maps,
with a warning
from rk.plugin.component()
and rk.XML.plugin()
, the "pluginmap"
argument
was replaced by the more general "include"
, which can now also process a
vector of file names
the object class rk.JS.var gained a new slot "getter"
to set a default JS
function to query variable values. it defaults to "getValue"
to ensure
compatibility with earlier releases. consequently, rk.JS.vars()
and
rk.paste.JS()
have a new "getter"
argument to set or overwrite this value.
another new argument, "guess.getter"
, can be used to turn on automatic guessing
which getter function might be most appropriate. this was also added to
rk.plugin.component()
and rk.plugin.skeleton()
.
updated the skeleton_dialog.R demo file and recreated the plugin code
JavaScript functions like rk.JS.scan()
and id()
learned how to treat
<optionset>, <optioncolumn> and <matrix>
internally paste(..., sep=""
) was replaced with paste0(...), in a way
that ensures compatibility with R < 2.15
new function rk.XML.switch()
new function rk.XML.optiondisplay()
new function rk.XML.optionset()
new function rk.XML.matrix()
new function rk.XML.dependencies()
new function rk.XML.dependency_check()
new function join()
to simplify ".join()
" for JavaScript arrays
added options "dependencies"
, "namespace"
and "priority"
to
rk.XML.pluginmap()
added option "dependencies"
to rk.XML.component()
added "map"
to rk.XML.require()
the new class rk.JS.echo allows having objects in an echo()
statement
without quoting it
new combined modifiers "visible.not"
, "visible.numeric"
, "enabled.not"
,
"enabled.numeric"
, "state.not"
and "state.numeric"
are now supported
modifiers have been added for <optionset> and <matrix>, and <switch> can have any modifier
added some missing parameter in the docs for rk.paste.JS.graph()
fixed a bug in the modifier checks; this unveiled a bug in how
rk.JS.scan()
dealt with <frame> nodes, which was also fixed
fixed a duplicate entry in this ChangeLog for version 0.04-6
rk.plugin.skeleton()
now correctly works with more than one author
pluginmap files are no longer included into plugin XML files automatically
rk.plugin.skeleton()
: "tests"
will now ignore "overwrite"
and not replace
existing testsuite files
dots will now be removed from pluginmap IDs
modifiers of "external"
XML nodes will not be checked, since it can be
all kinds of stuff
new function rk.plotOptions()
and class "rk.plot.opts"
to simplify code
generation for plots; this also caused changes in the internal workflow,
especially for child.node()
and rk.paste.JS()
rk.paste.JS.graph()
also takes objects of class "rk.plot.opts"
rk.XML.embed()
now supresses the label if "button=FALSE"
new function rk.paste.JS.graph()
to simplify JS code generation for plots
rk.XML.wizard()
and rk.XML.dialog()
can now set the "recommended"
attribute
rk.plugin.skeleton()
can now also generate initial ChangeLog files (but
won't overwrite existing ones)
added a LICENSE file to the sources
sources were initially debianized by roxyPackage
if files are being skipped by rk.plugin.skeleton()
, the corresponding
warning will now include the 'create' actions that these files belong to
rk.paste.JS()
pastes rk.comment()
objects correctly again
rk.XML.frame()
didn't generate attributes due to a typo
fixed: rk.XML.text()
now preserves XML tags in the text value
internally, functions now call XiMpLe::XMLNode()
and XiMpLe::XMLTree()
constructors instead of new()
, and pasteXMLNode()
and pasteXMLTree()
were
globally renamed into pasteXML()
internally, replaced object@node with slot(object, "node"
)
internally, moved checks for valid child and parent nodes to an internal
functions, valid.child()
and valid.parent()
added missing dependency to package methods
fixed docs in rk.XML.plugin()
, rk.XML.saveobj()
and rk.plugin.skeleton()
fixed bug in rk.XML.snippets()
re-formatted the ChangeLog so roxyPackage can translate it into a NEWS.Rd file
removed superfluous "level=1" arguments from automatic "rk.header()
"s in
rk.JS.doc()
added wrapper function rk.XML.checkbox()
for rk.XML.cbox()
changed rk.JS.saveobj()
to use ".GlobalEnv$" instead of "assign()
" in the
resulting code
added option to toggle the addition of empty "else {}" statements in
rk.JS.ite objects to rk.paste.JS()
"result.header"
now doesn't add quotes by itself in rk.JS.doc()
, so you
can have R objects pasted. previous scripts need to be adapted accordingly!
the headers can also be deactivated by setting to FALSE or ""
fixed show method for objects of class rk.JS.var with more than one variable object
added support for global variables to rk.JS.doc()
and
rk.plugin.component()
, and therefore also rk.plugin.skeleton()
"variables"
and "globals"
in rk.JS.doc()
can now also be given as objects
of class rk.JS.var
worked on the vignette
set default value of checked checkboxes to "true"
in rk.XML.cbox()
rk.XML.connect()
now correctly supports 'governor="<ID>.<modifier>.not"'
added function tf()
for even quicker JavaScript code generation from
checkboxes
fixed issue with "about"
not being an XML node in rk.plugin.skeleton()
ite()
now supports full recursion also for the "thenjs"
option.
fixed superfluous first newline in rk.JS.vars()
when using rk.comment()
for logic scripting, its contents will
automatically be placed inside a <script> node now
left over stuff from JS printout()
function is now added to doPrintout()
R 2.14 creates source archives which are incompatible with earlier versions. attempt to deal with this by adding empty R directory and NAMESPACE file
added long description support to rk.XML.about()
, used for the
DESCRIPTION file
added <frame> to the tags which are scanned by rk.JS.scan()
, they're
considered only if checkable
improved output of rk.JS.var class objects by rk.paste.JS()
set dependency of rkward to >= 0.5.6 to work around a glitch in rkward's package versioning. this can cause errors on real 0.5.6 installations because they lack functions introduced in 0.5.7 (to add & load a plugin automatically), but shouldn't really break anything
added support to turn off modifier checks to rk.XML.set()
added option "load.silencer"
to rk.JS.doc()
, to easily add a switch to
turn off package load messages in output.
fixed bug in check for valid modifiers (used to warn when mixed lists with/without modifiers were given)
fixed bug in rk.XML.convert()
(false output if provided with list without
modifiers)
added option "check.modifiers"
to rk.JS.vars()
added support for definint doPrintout()
JS functions to rk.JS.doc()
,
rk.plugin.skeleton()
and rk.plugin.component()
added function rk.comment()
to add comments to the generated code. it's a
<!– comment –> node by default, but will be turned into // comment by
rk.paste.JS()
and <![CDATA[ comment ]]> for logic sections automatically
added option "gen.info"
to all file producing functions, to add a comment
note that the file was generated and changes should be made to the script
rather than the code directly
fixed missing "id.name"
option in rk.XML.embed()
fixed automatic menu hierarchy generation for lists of legth 1 in
rk.XML.pluginmap()
removed the superfluous "name"
option from rk.plugin.skeleton()
and
rk.plugin.component()
; names are now always provided by "about"
, either as an
<about> node or just the name.
result headers now start at level 1 by default in rk.JS.doc()
added option "suggest.required"
to rk.plugin.skeleton()
to add package
requirements as suggestions, not dependencies
updated skeleton GUI dialog
added "about"
option to rk.XML.plugin()
to overrule pluginmap defaults
added rk.plugin.component()
, i.e. modularized the component generation,
to allow for more than one component in rk.plugin.skeleton()
, which
subsequently gained the new option "components"
improved dependency support, rk.plugin.skeleton()
writes dependencies
from <about> to DESCRIPTION now
fixed dependency definition in rk.XML.about()
fixed "verion"
typo in rk.XML.about()
the dot "."
is now also allowed in file names
for accurcy and consistency with the docs, the "properties"
option
changed to "modifiers"
in rk.JS.vars()
added further property modifiers to the internal validation
added class rk.JS.var, including show method
added support for class rk.JS.var in rk.paste.JS()
an id()
rk.JS.vars()
now returns a list of class rk.JS.var
added support for all valid modifiers to rk.XML.convert()
and
rk.XML.connect()
added "checkable"
and "checked"
options to rk.XML.frame()
set rk.paste.JS()
default level to 2
fixed bug in rk.JS.array()
(superfluous "=" in generated code)
lifted rkward package dependecies to 0.5.7 (needed for
rk.load.pluginmaps()
)
rk.XML.menu()
and rk.plugin.skeleton()
can now recursively generate
deeper menu structures if you provide it with a list
fixed bug in autogeneration of IDs in rk.XML.input()
and rk.XML.saveobj()
rk.XML.tabbook()
can now autogenerate IDs without a label
fixed bug in autogeneration of IDs in rk.XML.spinbox()
shortened syntax of rk.XML.tabbook()
tabs are now simply a named list
added functions rk.XML.code()
and rk.XML.help()
fixed bug in internal function check.ID()
(produced false entry nodes
under certain circumstances)
fixed bug in rk.XML.pluginmap()
for automatic component IDs
fixed bug in rk.plugin.skeleton()
for cases where XML file exists and is
not overwritten, but JS/help files need to be generated
cleaned up rk.XML.pluginmap()
and rk.XML.plugin()
hint code
changed "nodes"
option to "..."
also in rk.XML.menu()
added beginnings of a vignette (to be continued...)
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.
fixed skeleton GUI pluginmap not being found
added new shortcut function qp()
– "quote + plus" – for id()
added option to create arrays with rk.JS.options()
enhanced class rk.JS.opt
rk.paste.JS()
now adds some comments to the generated code
fixed wrong default value for "required"
in rk.XML.browser()
added demo script
added skeleton GUI, was generated by the demo script
redesigned options for rk.plugin.skeleton()
again, to make them more
intuitive and flexible at the same time. unfortunately, this breaks backwards
compatibility again.
rk.plugin.skeleton()
and rk.XML.pluginmap()
now only accept
rk.XML.about()
made objects for "about"
rk.plugin.skeleton()
uses internal function XML2person()
to create nicer
Authors@R entries in DESCRIPTION
fixed bug in id()
(now generates JS variable names, not XML IDs)
added functions rk.rkh.caption()
, rk.rkh.link()
, rk.rkh.related()
,
rk.rkh.section()
, rk.rkh.setting()
, rk.rkh.settings()
, rk.rkh.summary()
,
rk.rkh.technical()
, rk.rkh.title()
and rk.rkh.usage()
rk.rkh.doc()
now only accepts nodes of the above functions as input (and
gained support for title and sections)
rk.rkh.scan()
now also looks for captions
added full help page support to rk.plugin.skeleton()
added support for properties to rk.JS.vars()
added function rk.JS.saveobj()
to generate JS code for saveobject nodes.
added function rk.JS.options()
to generate code for JS variables holding
multiple options
added class rk.JS.opt and a show method for it (use rk.paste.JS()
on that)
id()
and echo()
now also replace objects of classes rk.JS.opt and
rk.JS.arr with their relevant ID
linked "Introduction to Writing Plugins for RKWard" locally to the manual pages
some experimental JavaScript generator tools added, might very well be
changed soon again: - added functions rk.JS.vars()
, echo()
, id()
, ite()
and
rk.paste.JS()
to help generate JavaScript code - added classes rk.JS.ite,
rk.JS.arr and show methods for them - function rk.JS.array()
now returns
an object of class rk.JS.arr (use rk.paste.JS()
on that)
added functions rk.XML.attribute()
, rk.XML.component()
,
rk.XML.components()
, rk.XML.context()
, rk.XML.entry()
, rk.XML.hierarchy()
, rk.XML.menu()
and rk.XML.require()
rk.plugin.skeleton()
and rk.XML.pluginmap()
now use the new functions,
which makes them much more flexible
added option "menu"
to rk.plugin.skeleton()
added options "require"
, "x11.context"
, "import.context"
and "hints"
to
rk.XML.pluginmap()
removed now superfluous option "plugin.dir"
from rk.XML.pluginmap()
tuned rk.plugin.skeleton()
to only skip file writing if they exist
added "load"
and "show"
options to rk.plugin.skeleton()
to call
rk.load.pluginmaps()
and the plugin itself
added function rk.build.plugin()
added functions rk.XML.insert()
, rk.XML.include()
, rk.XML.embed()
,
rk.XML.preview()
, rk.XML.snippet()
, and rk.XML.snippets()
added support for snippets section to rk.XML.plugin()
and
rk.plugin.skeleton()
included formula node into rk.XML.vars()
wrapper
rk.XML.varslot()
now automatically sets "multi=TRUE" if "min"
, "max"
or
"any"
are set
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()
added functions rk.XML.formula()
, rk.XML.convert()
, rk.XML.connect()
,
rk.XML.logic()
, rk.XML.set()
and rk.XML.external()
added possibility to add custom XML code to the logic section with
rk.XML.plugin()
and rk.plugin.skeleton()
fixed id setting in rk.XML.browser()
simplified rk.plugin.skeleton()
and rk.XML.pluginmap()
by making "about"
entirely optional
fixed wrong doc link and one wrong object name in rk.plugin.skeleton()
fixed attribute typo in rk.XML.vars()
fixed issue with auto-generated IDs (now using "_"
instead of "."
)
added wizard code options to rk.XML.plugin()
and rk.plugin.skeleton()
added "edit"
and "create"
options to rk.plugin.skeleton()
added function rk.XML.varslot()
added possibility to add custom XML nodes to the varslot in rk.XML.vars()
added possibility to paste ready-to-use JavaScript code directly to the
preprocess()
, calculate()
and printout()
functions, respectively
added rk.XML.spinbox()
and missing options to rk.XML.browser()
and
rk.XML.saveobj()
corrected browser default type in rk.XML.browser()
added wizard option to rk.plugin.skeleton()
reworked rk.XML.about()
to use person class objects for authors, and need
less info to produce usable output
added rk.JS.scan()
, rk.JS.doc()
, rk.JS.array()
, rk.rkh.scan()
and
rk.rkh.doc()
added rk.XML.browser()
, rk.XML.input()
, rk.XML.saveobj()
,
rk.XML.stretch()
and rk.XML.text()
added rk.testsuite.doc()
shortened package name from "rkwardplugdev"
to "rkwarddev"
merged code into RKWard's svn tree
forked rk.* functions from XiMpLe package into this one
added functions rk.XML.cbox()
, rk.XML.row()
, rk.XML.col()
,
rk.XML.frame()
, rk.XML.radio()
and rk.XML.vars()
rewrote the ID handling
added docs
initial release via reaktanz.de