Inleiding tot het schrijven van plug-ins voor RKWard

Thomas Friedrichsmeier

Meik Michalke

Vertaler/Nalezer: Freek de Kruijf
Vertaler/Nalezer: Jaap Woldringh
herziening 0.6.400 (2015-11-05)

Dit is een gids voor het schrijven van plug-ins voor RKWard.


Inhoudsopgave

1. Inleiding
2. Vooraf: Wat zijn plugins in RKWard? Hoe werken zij?
3. Menu-ingangen aanmaken
Het regelen van de volgorde van de menu-ingangen
4. Het definiëren van de GUI (Grafische interface)
Een dialoog definiëren
Het toevoegen van een interface voor de assistent (wizard)
Enige beschouwingen bij het ontwerpen van een GUI
<radio> vs. <checkbox> vs. <dropdown>
5. Genereren van R code volgens de instellingen in de GUI
JavaScript gebruiken in plugins voor RKWard
preprocess()
calculate()
printout()
Conventies, policies, en achtergrond
De local() omgeving begrijpen
Programma-code formatteren
Omgaan met complexe opties
Tips en trucs
6. Een help-pagina schrijven:
7. Logische interacties tussen GUI-elementen
GUI-logica
GUI logica in scripts
8. Plugins inbedden in Plugins
Voorbeelden van plugins in plugins
Invoegen in een dialoog
Het genereren van code tijdens het invoegen
Inbedden in een assistent (wizard)
Minder ingebedde inbedding: knop voor verdere opties
Inbedden/definiëren van onvolledige plugins
9. Werken met vele soortgelijke plugins
Overzicht van de verschillende werkwijzen
Met behulp van de JS include statement
Includen van .xml-bestanden
<snippets> gebruiken
<include> en <snippets> vs. <embed>
10. Te gebruiken concepten voor gespecialiseerde plugins
Plugins die een plot maken
Een plot tekenen in het uitvoervenster
Toevoegen mogelijkheid voorbeeldweergave
Generieke plotopties
Een kaal voorbeeld
Voorbeeldweergaven (previews) voor gegevens, uitvoer en andere resultaten
Previews van (HTML)-uitvoer
Voorbeeldweergaven (previews) van (geïmporteerde) gegevens
Aangepaste voorbeeldweergaven (previews)
Context-afhankelijke plugins
Context voor X11-apparaat
Context voor importeren van gegevens
R bevragen naar informatie
Naar het huidige object verwijzen
Een (aantal) opties herhalen
"Driven" optionsets
Alternatieven: wanneer optionsets niet te gebruiken
11. Omgaan met afhankelijkheden (dependencies) en compatibiliteitsproblemen.
Versie-compatibiliteit van RKWard
R versie-compatibiliteit
Afhankelijkheden van R-pakketten
Dependencies (afhankelijkheden) van andere RKWard .pluginmaps
Een voorbeeld
12. Plugin vertalingen
Algemene beschouwingen
i18n in RKWard's xml-bestanden
i18n in RKWard's js-bestanden en secties
i18n en aanhalingstekens
i18n en backwards compatibility (terugwaartse compatibiliteit)
Onderhoud van vertalingen
Schrijven van vertalingen van plugins
13. Auteur, licentie en versie-informatie
14. Uw werk met anderen delen
Externe plugins
Waarom externe plugins?
Structuur van een plugin-pakket
Bestandshiërarchie
Het compileren (build) van het plugin-pakket
15. Plugin ontwikkelen met het rkwarddev pakket.
Overzicht
Praktijk-voorbeeld
GUI beschrijving
JavaScript code
Plugin map
Help-pagina
De plugin-bestanden genereren
Het volledige script
Toevoegen van help-pagina's
Plugins vertalen
A. Naslag
Typen van Eigenschappen/mModifiers
Elementen voor algemeen gebruik (general purpose) in elk XML-bestand (.xml, .rkh, .pluginmap)
Te gebruiken elementen in de XML-beschrijving van de plugin
Algemene elementen
Interface-definities
Elementen voor de indeling (layout)
Actieve elementen
Logische sectie
Eigenschappen van plugin-elementen
Ingebedde plugins meegeleverd met de officiële uitgave van RKWard
Elementen voor gebruik in .pluginmap-bestanden
Te gebruiken elementen in .rkh (help) bestanden
Functies die in logische scripts voor de GUI kunnen worden gebruikt
B. Problemen oplossen bij het ontwikkelen van een plugin
C. Licentie