Rexx - Interface utilisateur graphique

Afin d'utiliser les interfaces utilisateur graphiques disponibles dans Rexx, il faut utiliser 2 packages, l'un s'appelle ActiveTcl et l'autre est le Rexxtkpaquet. Avec ces 2 packages, on peut concevoir des formulaires normaux qui peuvent avoir des boutons et d'autres contrôles sur les formulaires.

Configuration de l'environnement

La première chose à faire est la configuration de l'environnement. Passons en revue les étapes suivantes pour que l'environnement soit en place.

Step 1 - Téléchargez le package Activetcl sur le site Web suivant - https://www.activestate.com/activetcl

Step 2- L'étape suivante consiste à démarrer l'installation d'ActiveTCl. Cliquez sur le bouton Suivant à l'écran pour continuer.

Step 3 - Acceptez le contrat de licence et cliquez sur le bouton Suivant.

Step 4 - Choisissez un emplacement pour l'installation et cliquez sur le bouton suivant.

Step 5 - Choisissez un emplacement pour l'installation de la démo et cliquez sur le bouton Suivant.

Step 6 - Cliquez sur le bouton Suivant pour procéder à l'installation.

Step 7 - Cliquez sur le bouton Terminer pour terminer l'installation.

Step 8 - L'étape suivante consiste à télécharger le logiciel Rexxtk à partir du lien suivant - https://sourceforge.net/projects/rexxtk/

Step 9- Double-cliquez sur le fichier d'installation à partir du lien de l'étape précédente pour démarrer l'installation. Cliquez sur le bouton suivant pour continuer.

Step 10 - Dans l'écran suivant, cliquez sur le bouton Oui pour accepter le contrat de licence.

Step 11 - Dans l'écran suivant, choisissez l'emplacement de l'installation et cliquez sur le bouton Suivant.

Step 12 - Choisissez l'emplacement du dossier Programme et cliquez sur le bouton suivant.

Une fois l'installation terminée, nous pouvons maintenant commencer à programmer les interfaces graphiques dans Rexx.

Programme de base

Voyons comment nous pouvons concevoir un programme de base simple avec Rexx dans un format d'interface utilisateur graphique.

Exemple

/* Main program */ 
call RxFuncAdd 'TkLoadFuncs','rexxtk','TkLoadFuncs' 
call TkLoadFuncs 
do forever 
   interpret 'Call' TkWait() 
end 
call TkDropFuncs 
exit 0

Les choses suivantes doivent être notées à propos du programme ci-dessus -

  • La bibliothèque Rexxtk et toutes ses fonctions sont chargées à l'aide de la commande RxFuncAdd.

  • La boucle do forever gardera la fenêtre ouverte et attendra l'entrée de l'utilisateur.

  • Une fois que l'entrée utilisateur est détectée, le programme se fermera.

Lorsque le programme ci-dessus est exécuté, vous obtiendrez la sortie suivante.

Création de menus

Les menus sont créés à l'aide des fonctions TkMenu et TkAdd. La syntaxe de ces fonctions est donnée ci-dessous.

Syntaxe

TkMenu(widgetname,options,0)

Paramètres

Widgetname - Un nom à donner au menu.

Les options peuvent être l'une des suivantes:

  • selectcolor - si des cases à cocher ou des boutons radio sont utilisés comme options de menu, cette option spécifie la couleur à choisir lorsqu'une option de menu est sélectionnée.

  • tearoff - Cette option est utilisée pour ajouter des sous-menus au menu principal.

  • title - La chaîne qui doit être utilisée pour donner un titre à la fenêtre.

Valeur de retour

Un handle vers le menu créé.

Exemple

/* Main program */ 
call RxFuncAdd 'TkLoadFuncs','rexxtk','TkLoadFuncs' 
call TkLoadFuncs 

menubar = TkMenu('.m1') 
filemenu = TkMenu('.m1.file','-tearoff', 0) 
call TkAdd menubar, 'cascade', '-label', 'File', '-menu', filemenu 
call TkAdd filemenu, 'command', '-label', 'Open...', '-rexx', 'getfile' 
call TkConfig '.', '-menu', menubar 

do forever 
   interpret 'Call' TkWait() 
end 
call TkDropFuncs 
exit 0

Les choses suivantes doivent être notées à propos du programme ci-dessus -

  • La barre de menus est créée à l'aide de la fonction TkMenu. Le paramètre 'tearoff' signifie que nous devons créer des sous-menus qui seront attachés au menu principal.

  • Nous ajoutons ensuite 2 options de menu appelées Fichier et Ouvrir en utilisant la fonction TkAdd.

Lorsque le programme ci-dessus est exécuté, vous obtiendrez la sortie suivante.