[Python] Undo e Redo con wxPython
Giorgio Zoppi
giorgio.zoppi a gmail.com
Lun 31 Mar 2008 17:16:41 CEST
+ o meno, tu mantieni una lista di comandi eseguiti. ogni comando
e un oggetto con un metodo do e un metodo undo.
ecc.
Il 31/03/08, jacopo<back2primitive a autistici.org> ha scritto:
> Grazie mille, scusa se rispondo solo ora ma mi sono documentato sui
> pattern e sopratutto sulle metaclassi che non conoscevo in python.
>
> Ora volevo chiedervi se l'idea che mi sono fatto fosse giusta prima di
> provare ad implementarla.
> E' sufficente mantenere una cache (una lista) di tuple di elementi (
> (attribuiti della penna come colore, spessore ecc) (attributi della
> funzione ottenuti con getattr) (parametri attuali con cui e' stata
> invocata) ).
> In questo modo alla richiesta di un undo e' sufficente cancellare il
> device context e ripetere in sequenza tutte le azioni fatte settando
> ogni volta la penna come indicato, e richiamando la funzione mediante i
> sui attribuiti ritornati da gettatr con i parametri specificati, per
> tutti gli elementi della lista tranne l'ultimo...
>
> E' giusto come concetto?
> grazie ancora
>
> jacopo
>
>
>
> Giorgio Zoppi wrote:
> > Ti serve il design pattern Memento+Command.
> > Per il memento in Python, vedi il post di valentino:
> > http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/286132
> >
> > Ti salvi nella cache i comandi che hai eseguito, senza salvare le immagini.
> > io feci qualcosa di simile con le wx in C++ qualche hanno fa.
> > Ciao,
> > Giorgio.
> > ---
> > Giorgio Zoppi giorgio.zoppi a gmail.com
> >
> > You're not your job. You're not how much money you have in the bank.
> > You're not the car you drive. You're not the contents of your wallet.
> > You're not your fucking khakis. You're the all-singing, all-dancing
> > crap of the world. - Tyler Durden (Fight Club)
>
> > _______________________________________________
> > Python mailing list
> > Python a lists.python.it
> > http://lists.python.it/mailman/listinfo/python
> >
> >
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
--
Ciao,
Giorgio.
---
Giorgio Zoppi giorgio.zoppi a gmail.com
You're not your job. You're not how much money you have in the bank.
You're not the car you drive. You're not the contents of your wallet.
You're not your fucking khakis. You're the all-singing, all-dancing
crap of the world. - Tyler Durden (Fight Club)
Maggiori informazioni sulla lista
Python