IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

wxPython Discussion :

But de event.Skip()


Sujet :

wxPython

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de alexdevl
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 265
    Par défaut But de event.Skip()
    Bonjour à tous,

    Quelqu'un pourrais expliquer quel est le but de event.Skip().

    Je croyais qu'il fallait que cette ligne soit présente en fin de méthode lors d'appuis de menu ou bouton.

    Et en fait non cela génère un double appel.

    Merci de votre aide.

    Alex

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 84
    Par défaut
    Bonjour,

    Je l'ai jamais utilisé car effectivement j'avais constaté la même chose, ca fait deux appel. Tu as souci pour sortir de ton évènement ? Pose t-on bout de code qui pose problème, on pourra sans doute mieux t'aiguiller.

  3. #3
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Par défaut
    voici une réponse venant du forum cpp, car wxPython, est wxWidget porté pour python, donc je pense que cela doit répondre a ta question.
    http://www.developpez.net/forums/d55...de-event-skip/

    sinon, dans la doc on a:
    Event#skip

    skip(Boolean skip = true)

    This method can be used inside an event handler to control whether further event handlers bound to this event will be called after the current one returns. Without skip() (or equivalently if skip(false) is used), the event will not be processed any more. If skip(true) is called, the event processing system continues searching for a further handler function for this event, even though it has been processed already in the current handler.

    In general, it is recommended to skip all non-command events to allow the default handling to take place. The command events are, however, normally not skipped as usually a single command such as a button click or menu item selection must only be processed by one handler.
    donc je pense que la solution c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Event.Skip(skip = False)
    sicela existe en wxPython

  4. #4
    Membre expérimenté Avatar de alexdevl
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 265
    Par défaut
    En fait j'avais trouvé la réponse cpp et la doc mais je ne suis pas sûr de comprendre.

    Après avoir relut (10 fois) la doc j'aboutis à ceci :

    event.Skip() relance la méthode associé à la classe parente.

    Ceci est nécessaire dans le cas d'évènement créé mais inutile (et relance deux fois la méthode) pour les évènements qui n'ont pas de classe parente.

  5. #5
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Par défaut
    cela permet de mettre en place des évènements sur des composants dans le but d'une implantation future, ou d'un travail collaboratif je pense.
    Perso je design mes interfaces avec BOA, et j'implante les évènements aussi par là. Seulement il s'est souvent avéré que lors de l'évolution d'un logiciel certains evénements devaient disparaitre. Dans ce cas j'ai juste eu a mettre un event.Skip(), et a commenter l'ancien code dans l'evenement.
    Sinon, je supprime systématiquement le Event.Skip() si mon éévènement effectue bel et bien un traitement.

  6. #6
    Membre expérimenté Avatar de alexdevl
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 265
    Par défaut
    ok merci de ton aide


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comportement clavier curieux jdialog/joptionpane (skip d'event clavier)
    Par r2d2abc dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 11/03/2009, 17h42
  2. C'est quoi cte commande : event.Skip();
    Par firejocker dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 01/10/2005, 14h34
  3. skip xsl
    Par pram dans le forum XMLRAD
    Réponses: 3
    Dernier message: 04/04/2003, 10h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo