Le but de ce petit programme est de traduire du texte en Morse, et inversement. Ce programme montre ce qu'il est possible de faire très simplement sous NeXTSTEP.

On entre le texte dans la zone de texte du haut (par couper/coller par exemple), on appuie sur un des boutons de codage/décodage, et on obtient le résultat dans la zone de texte du bas.
Services
Mais pour que ce programme soit facile d'utilisation, il utilise aussi les services de NeXTSTEP. Ainsi chaque application voit dans son menu Services un sous menu Morse avec les différents codage/décodage du programme.

Pour optenir ce résultat, il suffit de mettre dans le wrapper de l'application le fichier services.txt qui contient les lignes suivantes :
Message: MorseService Port: Morse Send Type: NXAsciiPboardType User Data: 0 Menu Item: Morse/Encode Message: MorseService Port: Morse Send Type: NXAsciiPboardType User Data: 1 Menu Item: Morse/Decode Message: MorseService Port: Morse Send Type: NXAsciiPboardType User Data: 2 Menu Item: Morse/Encode Rot13 Message: MorseService Port: Morse Send Type: NXAsciiPboardType User Data: 3 Menu Item: Morse/Decode Rot13 Message: MorseService Port: Morse Send Type: NXAsciiPboardType User Data: 4 Menu Item: Morse/Rot13
Lorsque l'on va cliquer sur une des entrées du menu Morse, la méthode MorseService de l'application Morse sera appellée avec comme argument un nombre de 0 à 4 (le User Data du fichier). La méthode du programme va alors lire le presse-papier et le mettre dans la zone de saisie du programme, et suivant la valeur du nombre passé en argument, le programme va simuler l'appui d'un des boutons d'action.
Sources
Les sources du programme se trouvent au format tar.gz ici :
Le codage/décodage en morse supprime les caractères accentués des lettres, et donc le code source de l'application dépend de l'encodage des caractères de NeXTSTEP. Le programme peut-être compilé en fat-binary (pour marcher sur plusieurs architectures). Il sauvegarde ses paramétrages dans les Default du système, et est donc multiutilisateur. Il utilise aussi des fichiers de traductions et est donc multilangue.