Morse

Morse

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.

Ainsi de n'importe quel programme, il suffit de sélectionner une zone de texte et de cliquer sur l'entrée voulue du menu. Le système s'occupe de tout le reste. Par exemple les entrées de Morse sont désactivées si du texte n'est pas sélectionné.

Pour optenir ce résultat, il suffit de mettre dans le wrapper de l'application le fichier services.txt qui contient les lignes suivantes :

services.txt
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.