Bonjour,
La capture d'écran ci-dessus représente une boite de dialogue de réservation dans mon interface de vidéo-conférence. L'utilisateur, ayant saisi une date et une durée, va sélectionner les participants dans le tableau en cliquant sur la première colonne. Au fur des clics cette colonne va basculer entre 'X' (desélectionnés), 'Satellite' et 'Internet'. C'est le mode de connexion du participant. Mais attention, certains participants n'ont pas accès à des terminaux satellites. Ils ne peuvent donc se connecter que via Internet.
Le type de session est déduit en fonction des connexions des participants. Le tableau est dynamique dans le sens ou selon le type de session, les participants qui ne peuvent plus être sélectionnés sont grisés. Par exemple, si 2 connexions Satellite sont sélectionnés, on ne peut plus ajouter de connexions via Internet et on ne peut ajouter que des connexions Satellite. Tous les Participants qui n'ont pas accès à un terminal Satellite sont donc grisés et ne peuvent être sélectionnés.
Voici les règles à l'état actuel :
Satellite = un maximum de 300 connexions Satellites
Internet = un maximum de 4 connexions Internet
Mixte = 2 connexions de types différents
A l'état actuel c'est la méthode 'MouseAdapter::mouseReleased' qui gère tout dans un véritable jungle de 'if-else' de 200 lignes! Il récupère l'objet 'Participation' qui correspond à la ligne cliquée et déduit le mode de connexion du participant et le nouveau type de session. Bref, un bordel pas possible!Ca marche mais à chaque fois que je veux changer quelque chose je dois me retaper toute la méthode.
Est-ce que quelqu'un à une meilleure idée? J'y travaille mais pour l'instant je n'ai pas trouvé de solution 'élégante'.
Merci d'avance,
Anthony
Partager