Obligement - L'Amiga au maximum

Lundi 20 novembre 2017 - 19:50  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Programmation : C - gadgets : exclusion mutuelle
(Article écrit par Batchman et extrait d'A-News (Amiga News) - mai 1989)


Dans A-News n°5 (premier article sur les gadgets), nous avions détaillé la structure Gadget. Nous avions laissé de côté le champ MutualExclude. Ce champ n'est pas géré par les versions actuelles d'Intuition. C'est dommage car nous aurions bien aimé pouvoir réaliser des effets d'exclusion mutuelle dans nos panneaux de gadgets, n'est-ce pas Frédéric Autechaud ?

L'exclusion mutuelle permet d'avoir plusieurs gadgets pour concrétiser un choix ; un seul d'entre eux peut être activé à un moment donné. En d'autres termes, le choix de l'un de ces gadgets exclut tous les autres.

Le champ "MutualExclude" n'étant pas pris en compte, si l'on veut réaliser cet effet, il est nécessaire de le gérer soi-même par l'intermédiaire de la fonction "RefreshGadgets".

Cette fonction permet de rendre l'apparence du gadget conforme aux champs de sa structure. En effet, quand vous changez un des paramètres d'un gadget, sa représentation n'est évidemment pas modifiée immédiatement et il faut donc demander à Intuition de prendre en compte ces changements. La fonction "RefreshGadgets" le fait en parcourant la liste des gadgets.

Ici, le problème de l'exclusion mutuelle revient bien entendu, quand un gadget est sélectionné, à éteindre ceux qu'il exclue. Voici le principe : il faut retirer le drapeau "SELECTED" des drapeaux de tous ces gadgets et appeler "RefreshGadgets". Elle va parcourir toute la liste et redessiner en position éteinte ceux qui doivent l'être.

C'est un exemple d'utilisation de cette fonction. Il y en a d'autres mais je ne rentrerai pas plus dans les détails car elle n'est pas facile d'emploi. Si vous l'utilisez en appliquant simplement le principe que je vous ai énoncé, vous risquez fort d'avoir de drôles de résultats (j'ai testé pour vous et je peux vous assurer que cette fonction est aussi boguée que les bêtises sont de Cambrai).

Cependant, on peut obtenir de bons résultats si l'on prend certaines précautions. C'est ce que vous pouvez voir dans le programme "MutExGadg", en téléchargement sur 3615 DEEP. Le listing étant trop long (tout du moins pour être reproduit dans A-News), je vous laisse le consulter sur DEEP si le sujet vous intéresse.

Maintenant, vous connaissez toutes les finesses de la programmation des gadgets booléens. Les autres types de gadgets appliquant les mêmes principes, je n'exposerai pas ici leur fonctionnement. Le mois prochain, nous reprendrons l'initiation au C puisque vous êtes nombreux à nous le réclamer.


[Retour en haut] / [Retour aux articles] [Article précédent]