Zeph Le 28/04/2009 à 23:14 Alors toi quand t'as décidé de pas comprendre un truc... bref, fin du HS.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
onur Le 29/04/2009 à 00:13 t0: "C'est trop pas performant."
après: "Au mieux c'est linéaire."
après: "C'est pas linéaire mais de tte façon, la syntaxe deviendra trop complexe"
après: "Ouais mais [] je vais utiliser ailleurs".
Fin du HS mais fin de la mauvaise foi aussi j'espère :-/
Tout ce qui passe pas par le port 80, c'est de la triche.
Zeph Le 29/04/2009 à 00:35 onur > la problématique du départ n'a jamais été un problème de performance, relis le topic. J'ai dit dès le début que je voulais une syntaxe légère, et tu me proposes un truc à la fois plus lent qu'un accès direct (O(1) ou autre je m'en tape, ça reste plus lent qu'un accesseur simple) et plus lourd au niveau de la syntaxe, je suis censé répondre quoi à part que ça ne m'intéresse pas ?
noisette > l'astuce est sympa, mais au final il faut quand même mettre un attribut public dans la classe :/

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Zeph Le 29/04/2009 à 09:29 Ah désolé, j'avais mal compris ton post. Par contre je n'ai pas toujours pas compris comment on évitait l'attribut public ? (pour avoir un accès au final qui se fasse via une syntaxe aussi simple et lisible que "myObject.Property = value;")

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Ah, c'est l'attribut public Property<X> x qui te dérange? Et ben, ce n'est pas un vrai attribut public, les opérations d'assignation et de récupération sont surchargées, l'objet de type X est parfaitement encapsulé.
Zeph Le 30/04/2009 à 11:08 Gros retour au sujet avec une nouvelle question : jusqu'à maintenant, je n'avais pas envisagé faire de transmission d'évènements autrement que de père en fils. Par exemple, quand on appuie sur une touche du clavier, la fenêtre active transmet à l'onglet du TabControl actif, qui transmet à la TextBox active, qui traite l'évènement.
D'emblée, ça pose un petit problème qui n'est pas bien compliqué à résoudre mais que je ne trouve quand même pas très naturel : on connait le contrôle actif mais pas le parent du contrôle actif, et encore moins le parent du parent du contrôle actif, etc. Il faut donc en permanence conserver non pas le contrôle actif, mais toute la chaine qui permet d'y arriver en partant du contrôle racine ("Desktop", dans mon cas).
Autre soucis : quand on clique sur un bouton dans une fenêtre inactive, ça doit activer la fenêtre (pour la faire passer au premier plan, entre autres). Mais même s'il est possible de gérer ça avec une transmission de père en fils (la fenêtre va intercepter l'évènement "au passage", s'activer, et transmettre à ses fils), une transmission inverse m'aurait semblé plus logique (la fenêtre s'active parceque l'un de ses fils a reçu un évènement, et non l'inverse).
Bref, est-ce vraiment la bonne technique ?

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Hmm si tes contrôles ne connaissent pas leur parent ça peut effectivement être problématique ^^
Sinon pour ce qui est de la propagation en sens inverse je te rappelle que les fonctions ont une valeur de retour (et que tu peux utiliser des paramètres de sortie, etc...) donc il n'y a pas forcément besoin de te casser la tête.
Après pour l'activation des forms je serais plutôt d'avis d'intercepter l'évènement avant de le transmettre au contrôle fils (En fait ça revient à faire une séparation entre deux types de propagation de message) car de toutes façons cela doit fonctionner pareil, qu'il y ait ou non un contrôle fils, et que le contrôle fils choisisse de répondre ou non.
Enfin ce que je veux dire c'est que l'activation du parent ne dois, dans ce cas au moins, pas dépendre de l'activation du fils ^^
Zeph Le 30/04/2009 à 17:22 je me suis démerdé comme ça pour le moment, reste à voir si ça tiendra la route au fur et à mesure que les fonctions vont se multiplier ^^

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
onur Le 30/04/2009 à 17:29 Au fait, sans indiscrétion, tu fais ça pourquoi?
Tout ce qui passe pas par le port 80, c'est de la triche.
Zeph Le 30/04/2009 à 18:02 juste pour voir comment ça marche ^^

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Zeph Le 01/05/2009 à 00:26 oui, ça me semble bien plus simple en théorie, mais je demande si ça ne va pas bloquer à un moment où à un autre ?

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Zeph Le 01/05/2009 à 00:47 Je sais pas, j'avais l'impression que les "vraies" GUI fonctionnaient avec une propagation de père en fils donc je suis spontanément parti dans cette direction (et puis c'est ce que semblent suggérer certaines propositions sur ce topic aussi), mais j'avoue que pour l'instant je vois pas d'exemple qui ne puisse pas être géré avec un système inverse.

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)