Date de mise à jour : 11 novembre 2004

Fonctions du namespace offsetWindow

Les fonctions qui suivent sont implémentées dans différents namespaces, de façon à isoler les variables et les fonctions du reste. Néanmoins elles sont appelées en faisant précéder le nom de la fonction du nom du namespace. Ainsi si le namespace est ::toto et possède une fonction ma_fonction, on peut l'appeler par : ::toto::ma_fonction les_arguments.

Les différents namespace décrits dans ce fichier ont pour but de créer des fenêtres qui permettent de saisir de manière graphique les paramètres de fonctions qu'ils encapsulent. Ainsi le namespace ::offsetWindow créé et gère une fenêtre qui permet de saisir les paramètres de la commande offset décrite dans le fichier aud1.tcl.

Namespace ::offsetWindow

Ce namespace implémente une fenêtre qui permet de saisir de manière graphique les paramètres de la commande offset. La commande qui ouvre la fenêtre est ::offsetWindow::run. C'est la seule qui doit normalement être appelée dans ce namespace.

::offsetWindow::run ?this?

Ouvre la fenêtre de gestion d'offset : le paramètre optionnel this correspond au chemin que l'on souhaite pour la fenêtre. Par défaut (si le paramètre n'est pas donné), le chemin de la fenêtre est .audace.offsetWindow.

::offsetWindow::createDialog

C'est la fonction qui créée l'interface proprement dite : la fenêtre et tous les widgets qui vont avec. Les bindings sur les boutons et la fenêtre sont également mis en place.

::offsetWindow::destroyDialog

Cette fonction a pour but de détruire la fenêtre, soit après que l'opération d'offset ait été effectuée, soit lorsque l'opération a été annulée.

::offsetWindow::cmdApply

Fonction qui réalise le traitement proprement dit.

::offsetWindow::cmdOk

Fonction appelée lorsqu'on appuie sur le bouton OK : elle réalise le traitement (par cmdApply), et ferme la fenêtre par un appel à destroyDialog.

::offsetWindow::cmdCancel

Cette fonction est appelée par appui sur le bouton Annuler : elle ferme uniquement la fenêtre par appel à destroyDialog.

Les autres namespaces

Cinq autres namespaces sont définis dans ce fichier, ils correspondent à la mise sous forme graphique des fonctions noffset, ngain, add, sub, div. Les noms des namespaces correspondants sont obtenus en accolant le nom de la fonction de traitement et Window. Cela donne : ngainWindow, etc.

Les adeptes de la programmation orientée objet ont pu noter que la plupart de ces namespaces sont redondants dans certains de leurs aspects (les boutons d'action, l'enchaînement des actions, etc.). Il est possible en TCL de faire de la programmation objet, en faisant appel à la librairie iTCL (i pour incremental). Nous avons préféré rester dans une philosophie non objet afin de permettre à tout un chacun de modifier suivant ses besoins le logiciel.