Les commutateurs
Pour commander un dispositif à partir d'une interface graphique, on peut se servir des commutateurs.
Dans l'exemple qui va suivre, nous allons créer une interface graphique mettant en
oeuvre un voyant lumineux commandé par un commutateur.
-
- Lorsque le commutateur sera sur la position "Off", le voyant sera rouge;
- Lorsqu'il sera sur la position "On", le voyant sera vert.
Quand il est actionné, le commutateur envoie au programme son état sous forme d'une
chaîne de caractères qui peut prendre la valeur "Off" ou "On".
Il ne reste plus qu'à placer les composants sur la face avant.
Callback du commutateur:
Ce callback va vérifier l'état du commutateur, puis changer la couleur du voyant en cas de besoin.
Un clic droit sur le commuateur, puis sur "Callback", ouvre immédiatement la zone de code à compléter. Après modifications les instructions du callback seront semblables à ceci:
% Callbacks that handle component events
methods (Access = private)
% Value changed function: Switch
function SwitchValueChanged(app, event)
cvalue = app.Switch.Value;
if(strcmp(cvalue,'On'))
app.Lamp.Color = 'green';
else
app.Lamp.Color = 'red';
end
end
end
Le programme commence d'abord par lire l'état du commutateur puis, stocke cet état dans la variable cvalue.
Ensuite l'instruction: if(strcmp(cvalue,'On')) vérifie, grâce à la fonction prédéfinie strcmp(), si le contenu de cvalue est égal à la chaîne de caractères "On". Si c'est le cas alors le voyant sera vert, si non il sera rouge.
Il est aussi possible de grouper des composants dans App Designer, en utilisant par
exemple l'objet "Panel" de la librairie. Cela a pour intérêt de déplacer facilement
un ensemble de composants, d'ajouter une couleur de fond, un titre,...
Au final notre interface utilisateur aura l'allure suivante:
La vidéo ci-dessous donne un résumé sur l'utilisation des commutateurs:
La librairie App Designer propose des commutateurs à glissière, à bascule,
ou à levier; qu'on peut facilement adapter selon les besoins dans une interface graphique.