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

GWT et Vaadin Java Discussion :

undo/redo avec le pattern Commande


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement Java/Web
    Inscrit en
    Juin 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement Java/Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 61
    Par défaut undo/redo avec le pattern Commande
    Bonjour,

    Je suis en train de chercher des exemples sur la mise en place de l'"undo/redo" en utilisant le pattern Command, je n'ai pas trouvé aucun exemple qui permet d'expliquer l'utilisation de ce pattern pour ce cas précis.

    Imaginons que j'ai une zone texte, lorsque l'utilisateur change la valeur de cette zone et tape sur "Entrée" un appel RPC est lancé vers le serveur pour enregistrer ce changement. Je voulais ajouter un bouton "undo" pour que lorsque l'utilisateur clique au dessus, la zone texte prend la valeur précédente et un appel RPC est lancé pour mettre à jour la valeur dans le serveur et prendre en compte l'undo.

    Je voulais aussi ajouter un bouton "redo" pour le comportement inverse.

    Pourriez-vous me donner une idée concrète sur l'implémentation de ce comportement avec le pattern Commande?

    Merci d'avance pour votre aide

    pour infos: j'utilise GWT 2.3 sur Eclipse 3.6 et sans librairies graphiques additionnelles

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 37
    Par défaut
    Salut,

    Tout d'abord, je pense que le choix de conserver les commandes de undo/redo côté serveur me paraît peu judicieux.
    En effet, GWT peut train bien gérer ça côté client. A moins que le contenu de la commande soit important, mais ça ne semble pas être ton cas.

  3. #3
    Membre chevronné
    Profil pro
    Lead Tech Agile
    Inscrit en
    Septembre 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Lead Tech Agile

    Informations forums :
    Inscription : Septembre 2004
    Messages : 316
    Par défaut
    Salut,

    Ca dépend, si le redo doit remettre la valeur d'une donnée à l'état précédent, ca peut être utile.

    Dans ce cas, d'une manière générale, tu dois mettre en cache les valeurs que tu souhaites conserver pour un retour afin d'avoir le contexte suffisant pour faire ton appel avec les bonnes valeurs.

    Grosso modo, tu auras en mémoire une liste avec toutes tes commandes, et les commandes précédentes gardes les valeurs utiles dans leur structure afin de pouvoir les injuecter lors d'un redo.

    Attention tout de même, ce principe peux-être dangereux pour la cohérence de tes données s'il est utilisé n'importe comment. Il faut bien réfléchir sur la mise en place dans le contexte métier et bien faire tout les cas de tests.

Discussions similaires

  1. Undo - redo avec les Commands et Handlers en Eclipse 4 ?
    Par ThElskens dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 21/10/2014, 17h30
  2. Réponses: 1
    Dernier message: 15/01/2011, 12h49
  3. design pattern pour un Undo/redo
    Par kespy13 dans le forum Design Patterns
    Réponses: 1
    Dernier message: 09/10/2008, 15h09
  4. Probleme avec Undo Redo
    Par issou dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 06/04/2006, 00h06

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