Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information
aide





Programmation.autre : pygtk (ou gtk tout court)

Posté par thor_tue () le 29 avril 2008

Salut.



Je poursuis ma découverte de pygtk et je suis confronté

au problème suivant ; comment faire communiquer des widgets

entre-eux ?



Considérez l'exemple suivant, pour fixer les idées :



widget1 : une "drawingarea" dessinant un segment de droite, grâce à

la souris

widget2 : une boîte avec 4 "entry" (les coordonnées des extrémités du segment)

widget3 : un "label" affichant la longueur du segment

les widget{1,2,3} dans une fenêtre.



Illustration :



...widget1......widget2..........widget3

######################

#.............#...................#..................#

#.............#...................#..................#

#.............#.x1.=.|10|...#..................#

#.......+...#.y1.=.|20.|..#..................#

#......+....#.x2.=.|15.|..#.long.=.47.#

#.....+.....#.y2.=.|23.|..#..................#

#....+......#..................#..................#

#...+.......#..................#..................#

#.............#..................#..................#

######################



Ce que je veux :



1) lorsque l'utilisateur modifie le widget1 (w1),

les widget w2 et w3 sont mis à jour en "temps réel"

(coordonnées modifiés, long. recalculée)



2) lorsque l'utilisateur édite les "entry" de w2 alors w1 et w3

sont mis à jour en temps réel (segment redessiné, long. recalculée)



Bref, en schématisant (la flèche signifiant ordre de mise à jour) :



w1 -> w2, w1 -> w3

w2 -> w1, w2 -> w3

w3 -> aucun



Comment peut-on architecturer tout cela "sainement" ?



Faut-il créer une classe "gestionnaire de signaux" centrale, qui

à chaque widget (variable) donné associe une liste des widgets

à modifier ? Ou le simple emploi d'"EventBox" suffira ?

Bien évidemment, en pratique je vais avoir beaucoup plus

de widgets et de variables, c'est juste un exemple artificiel

pour illustrer. Je voudrais juste le PRINCIPE GÉNÉRAL à utiliser pour

ne pas m'embarquer dans une solution foireuse, les docs que j'ai

trouvées expliquent *comment* manipuler les widgets, mais parlent

peu d'organisation générale.



Merci.

> Lire le message (4 commentaires, moyenne: 1,5).  

Re: Les docs ne parlent pas d'oganisation générale

Posté par thor_tue () le 01/05/2008 à 09:32. (lien). Évalué à 0.

Merci, MVC est exactement ce que je cherchais. Je vais fouiller tout ça.

[ Répondre ]

Vous ne pouvez plus rajouter de commentaires! (trop vieux)