NB: cet article fait suite à "DGPad : apparition des widgets (2/4)

widget de type script DGPad

Ce widget n'est pas le moindre. Il permet d'écrire des scripts DGPad autonomes.
Le bouton correspondant est un bouton "JS", mais c'est en fait de scripts DGPad dont il s'agit.

Examinons le code exemple :

js

 name= "..." et style= "... " sont des éléments qui ne font pas vraiment partie du script DGPad : ces éléments (de style) sont extraits pour générer le bouton de lancement (on peut copier-coller un style de bouton). Et en leur absence, un bouton run sera généré par défaut.

 La partie qui reste constitue un script DGPad. Ce script peut contenir du Javascript et des DGPadScripts (ceux-ci sont souvent identiques aux CaRScripts).

Pour le undo et le redo, ce n'est pas comme dans CaRMetal avec « annuler les effets du script » : on utilise la même commande qu'en mode construction (en bas à droite).

 

Par ailleurs (et c'est très important!), dans DGPad le code d'une figure et son script sont de même nature.
Si on prend le source intégral de n'importe quelle figure, on peut alors l'injecter sans problème dans les balises §§.
Et on obtient alors un script autonome de la figure !

Signalons aussi que des DGPadScripts attendus accompagnent l'arrivée des widgets de type script. La plupart fonctionnent comme dans CaRMetal.

  • Input
  • Print
  • Move
  • GetExpressionValue (avec la "DGPad touch" : un retour de tableau, ou de tableau de tableaux est possible)

  • Coords (qui remplace X et Y de CaRMetal)
    Coords renvoie un tableau à 2 éléments si l'objet est 2D, sinon 3 éléments.
  • SetExpressionValue

Et plus élaborés :

  • Find("my_input") renvoie l'objet HTML5 dont l'ID est "my_input"
  • Find("M") renvoie l'objet M de la construction (réservé aux power-users...)

 

Voilà. On a distingué jusqu'à présent les trois types de widget, mais on est dans une même console et on peut créer des widgets de type mixte... A suivre...