Ceci est une ancienne révision du document !
Table des matières
This page is not fully translated, yet. Please help completing the translation.
(remove this paragraph once the translation is finished)
Éditeur de boîte à outil
Cette fenêtre s'affiche lorsque vous cliquez sur le bouton Éditeur de script au bas d'une boîte à outil. Il permet de configurer et de programmer les actions pour la boîte à outils.
Créer la mise en page de l'outil
Définissez d'abord le titre de votre outil dans le champ de texte en haut.
Ensuite, vous devez ajouter au moins un groupe: cliquez sur le bouton Groupe, définissez le titre du groupe et le nombre d'éléments souhaité sur chaque ligne. Cliquez ensuite sur le bouton Ajouter.
Utilisez ensuite le même principe pour ajouter les éléments que vous voulez, par exemple une zone de saisie de texte et un bouton.
Ces éléments ne peuvent être ajoutés qu'à un groupe.
Un nom est automatiquement attribué à chaque élément, par exemple Edit_1. C'est le nom que vous devez utiliser pour accéder aux propriétés de l'élément à partir de votre script.
Pour certains éléments, vous pouvez sélectionner un titre ou une hauteur en pixels.
Pour modifier le nombre d'éléments par ligne, créez un nouveau groupe avec la valeur requise mais sans titre.
Les événements sont des éléments spéciaux. Cela n'ajoute rien de visible sur l'écran, mais vous permet d'écrire le script qui va traiter un événement.
Les événements sont:
- Initialisation: Exécuté une fois après avoir cliqué sur le bouton Appliquer, ou lorsque le programme démarre.
- Activation: Exécuté chaque fois que cette boîte à outils est affichée.
- Timer: Exécuté à intervalle périodique, entrez l'intervalle en seconde lorsque vous sélectionnez cet événement.
- Telescope move: Chaque fois que la position du télescope change.
- Chart refresh: Chaque fois que la carte est redessinée.
- Object identification click: quand un objet est sélectionné par un clic sur la carte ou suite a une recherche.
- Distance measurement: Lorsque vous mesurez une distance sur la carte.
- Telescope connected: Lorsque le télescope est connecté.
- Telescope disconnected: Lorsque le télescope est déconnecté.
- Translation: Exécuté après l'initialisation ou lorsque vous changez la langue du programme.
Les événements sont normalement inactifs lorsque l'outil n'est pas affiché. Une exception est l'événement Timer que vous pouvez toujours activer en cochant la case correspondante. Mais attention que cette option peut engendrer des problèmes de performance.
Utilisez plutôt l'événement Activation pour mettre à jour votre outil avec les modifications ont pu se produire sur la carte lorsque l'outil était inactif.
Vous pouvez réorganiser les groupe ou les éléments à l'aide des flèches verticales ou par glisser-déplacer dans l'arborescence de gauche.
Si vous sélectionnez un élément dans l'arborescence et que vous modifiez l'une de ses propriétés, le bouton Mise à jour apparaît pour permettre d'appliquer la modification.
Un script peut être attaché aux éléments suivants: Bouton, Menu, Liste déroulante, Événement.
Lorsque vous sélectionnez l'un de ces éléments dans l'arborescence, le bouton “Modifier le script” apparaît. Voir ci-dessous pour les détails.
Vous pouvez ajouter une fonction au menu contextuel de la carte. Pour cela, créez un bouton et cochez “Menu”.
Lorsque vous êtes prêt, cliquez sur le bouton Enregistrer pour enregistrer votre travail dans un fichier et afficher vos éléments dans la boîte à outils ainsi que compiler les scripts. (l'extension de fichier par défaut est .cdcps).
Sauvegardez également la configuration du programme pour vous recharger la boîte d'outils automatiquement la prochaine fois que vous démarrez le programme.
Script editor
The editor allow to write the script itself that execute on a button click, a combobox selection, or an event.
The language to use is Pascal Script, based on Object Pascal.
Define first the global variables, then the procedure and function if any, then the private variable, and finally the main code start with begin and end with end.
Read the script example page for a quick start.
As the each script is specific to one event there is no possibility to have global variables across scripts. For example you cannot set a variable when a button is pressed and later use this variable in another button click.
To solve this issue a number of global variables are predefined in the main program and specific functions allow to write and read them.
This functions and other specific to the interface with Skychart, they are described in a separate script reference page.
Use the Save button to record your change and return to the main window.
The top button are related to the debugging function as describe below.
Script debugger
Simple debugging function are available to test your code.
To run the script in debug mode press the green arrow Run button. The program is first compiled.
In case of compilation error, the corresponding row is highlighted in yellow, and the error message is show in the bottom message area.
If the compilation finish without error the program start to run and stop on the first code line of the main procedure. The current execution position is highlighted in blue.
You can now use the Step over button to execute your program line by line.
The Step into button do the same, except if the current line is a call to one of your function. In this case Step into allow to run the function line by line, but Step over execute the function and stop at the main program next line.
You can also set a breakpoint on a specific line to jump directly at this position.
To set a breakpoint click on the leftmost column to show a red icon.
Use the Run button to jump to the next breakpoint. The current line is then highlighted in red.
You can remove a breakpoint by clicking on the red icon or all at at time with the Remove all breakpoint button.
You can display the value of variables when the program is in pause at a breakpoint or after a Step over click.
Just click on the variable name anywhere in the program source to display the value in the message area.
Note this work only for local variables, not for object properties.
You can use the Pause button to pause the program execution. This can be useful to examine the condition of an infinite loop for example.
The Stop button terminate the program execution immediately.



