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 :

activé et désactivé une page d'un notebook


Sujet :

wxPython

  1. #1
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 151
    Points : 43
    Points
    43
    Par défaut activé et désactivé une page d'un notebook
    salut,j'utilise dans mon interface un notebook.Mon probléme et que je ne veux passer d'une page à une autre que si l'utilsateur a appuyé sur tout les bouton dans la page.Il doit faire toute les etapes d'une page pour pouvoir passé à l'autre page.Je ne sait pas comment faire.Est ce que quelqu"un peut m'aider?
    CI JOINT MON CODE.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 92
    Points : 109
    Points
    109
    Par défaut
    Bonjour,

    En clair, ce que tu voudrais, c'est pouvoir désactiver les pages 2,3 et 4. La page 2 ne serait activée que si la page 1 a été convenablement complétée, la page 3 ne serait activée que si la page 2 a été convenablement complétée et ainsi de suite.

    Ce n'est pas possible. Une page d'un notebook ne peut pas être désactivée.

    Si tu regardes des interfaces d'applis tant sous Windows que sous Linux, tu constateras que les onglets sont toujours actifs. Le problème est que tu veux utiliser un notebook d'une façon pour laquelle il n'a pas été conçu : tu veux que chaque onglet corresponde à une étape chronologique de la saisie.

    ll y a plusieurs moyens de contourner ton problème :
    - la meilleure à mon sens, serait de faire en sorte que, lorsque l'utilisateur cliquerait sur l'onglet 2, son contenu (et non l'onglet lui-même) soit inactif si les autres pages ne sont pas correctement remplies ;
    - une autre solution serait de remplacer le notebook par un autre contrôle à onglets dans lequel les onglets peuvent être désactivés. Tu pourrais envisager le FlatNotebook d'Andrea Gavana : je ne l'ai jamais employé mais s'il faut en croire la démo il supporte cette option.

    Pour la petite histoire, j'ai moi-même réalisé pour mes besoins persos un widget qui permet d'activer ou de désactiver des onglets et que j'ai baptisé PanelBook. Je ne puis toutefois le diffuser d'abord parce que j'ai réutilisé un widget réalisé par Cody Precord et que plus de 70% du code est de lui, et ensuite parce que tel quel le code n'est pas réutilisable en dehors de mon appli ; voici un screen, on voit que le panneau "apports" est désactivé :


  3. #3
    Membre du Club
    Inscrit en
    Juin 2010
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 151
    Points : 43
    Points
    43
    Par défaut
    salut Shadok,
    tu a bien compris mon probléme.
    pour le contourner est ce qu'on peut desactivé le panel dune page tant que celle qui la précédent n'est pa complétement remplis?
    ou est ce qu'on peut utilisé les addpage?initialement on ajoute une seule page 1 et au fur et au mesure on ajoute les pages?Cest possible?

  4. #4
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 92
    Points : 109
    Points
    109
    Par défaut
    Bonjour,

    Mon modeste avis sur tes deux suggestions...


    1 - Désactiver non pas une page mais le panel correspondant à cette page : si tu regardes bien en fait c'est ma proposition numéro 1 . Cela est très possible.

    Par contre, j'avoue être un peu rouillé, et je ne sais plus si on peut désactiver le panel lui-même ou s'il faut désactiver les widgets apposés sur ce panel : mais si tu dois passer par la seconde option ce ne sera pas trop pénible à faire vu que tes pages sont peu chargées en objets.


    2 - Ajouter une page de façon dynamique c'est-à-dire non pas lors de la création de l'objet mais ultérieurement au fur et à mesure que l'utilisateur effectue des actions : pourquoi pas ?

    Perso j'évite car il y a deux inconvénient (attention, là je vais être très subjectif !) :
    - cela veut dire que à l'initialisation tu auras un seul onglet, celui de la page 1 ; or, pour un utilisateur, un contrôle à onglets avec un seul onglet ça fait très bizarre ! Néanmoins ça existe : si l'on crée une nouvelle session avec Firefox, il s'ouvre avec un unique onglet vierge...
    - d'un point de vue de l'utilisateur, l'ajout dynamique de pages peut créer une fatigue occulaire.

    Je ne sais pas si on peut le faire avec le Notebook standard. Avec le FlatNotebook, je sais que c'est possible - d'ailleurs son créateur Andrea Gavanna voulait notamment reproduire le comportement de Firefox.


    Dans tous les cas, il te faudra beaucoup expérimenter et tâtonner. Faire une interface dynamique, c'est passionnant et au final c'est bien plus beau et agréable pour l'utilisateur, mais c'est long à mettre au point, j'en sais quelque chose !

    Si tu regardes mon screen, tu remarqueras que perso je suis plutôt sur le système numéro 1 ; il y a un contrôle à onglets avec deux pages "associés" et "gérants". Pour le moment, la liste des associés est vide, je pourrais donc ne pas avoir de page "associés" et la créer dynamiquement quand j'ajoute le premier associé (ce serait la méthode numéro 2) ; je préfère quant à moi créer toutes mes pages tout de suite ; par contre, tu constateras que les boutons à droite "modifier", "supprimer", etc, sont inactifs pour le moment : ils ne deviendront actifs que lorsque j'aurai ajouté au moins un associé dans ma liste.

  5. #5
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Bonjour maissaab,

    le comportement que tu cherches à obtenir se rapproche plus d'un wizard que d'un notebook, non?
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

  6. #6
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 92
    Points : 109
    Points
    109
    Par défaut
    Citation Envoyé par pacificator Voir le message
    Bonjour maissaab,

    le comportement que tu cherches à obtenir se rapproche plus d'un wizard que d'un notebook, non?
    Ah oui, ça c'est une très bonne idée !

    Franchement, un contrôle à onglets ne me semble pas très adapté du point de vue de l'utilisateur. Le wizard, lui, serait parfait.


    Edit : j'ai écrit une bêtise ce matin, les onglets inactifs dans une IHM, ça existe, hein...

Discussions similaires

  1. Active X dans une page asp.net
    Par videaste2009 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 08/12/2009, 11h02
  2. désactiver une page dans le sitemap selon le rôle
    Par folla_folla dans le forum ASP.NET
    Réponses: 10
    Dernier message: 19/08/2009, 10h00
  3. Rafraichir une page d'un notebook
    Par Norore dans le forum wxPython
    Réponses: 1
    Dernier message: 19/06/2009, 12h37
  4. Activer ou désactiver une connexion réseau et wifi
    Par koKoTis dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 10/10/2007, 23h49
  5. Réponses: 4
    Dernier message: 29/10/2005, 18h03

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