← Back to team overview

openshot.developers team mailing list archive

Re: undo-redo system

 

I was considering an approach similar to what is used in saving project
file:
using cPickle to create a "state" of project object (written to a
StringIO object), and inserted in a "history" stack/list.
This way we could have a undo/redo system, but a history system as well,
with the possibility to go back to any previous state of the working
session, and besides it would use a rather simple trick, with parts of
code already implemented.
History stack size can be limited to a certain number of stages with
user preferences system, or set to a reasonable hardcoded value.
With some work on set_project_modified() function that can trigger
project's state storing action...
The doubts I have are about memory usage (not a great issue I suppose
using binary protocol of cpickle and with a stack limited to e.g. 10
passes) and speed (but cPickle and cStringIO are supposed to be rather
fast)
what do you think?

francesco


Il giorno gio, 21/01/2010 alle 09.56 +0000, Andy Finch ha scritto:
> I haven't, I've been looking at other stuff. Although I have been
> looking around recently at how undo is done in python and came across
> this, which may help:
> 
> http://www.nongnu.org/skencil/doc.html
> 
> then follow the link to the undo documentation:
> 
> http://www.nongnu.org/skencil/Doc/devguide-19.html#N1
> 
> Cheers,
> Andy.
> 
> 2010/1/21 francesco fantoni <francesco@xxxxxxxxxxxxxxxxxxxx>
>         just to know, has someone already started working on the
>         undo/history
>         thing?
>         
>         best to all,
>         francesco
>         --
>         architetto Francesco Fantoni
>         <HVA - Hermanitos Verdes Architetti>
>         l.go san giacomo, 38
>         I-41100 modena (italia)
>         tel.& fax. +39.059.217554
>         skype:  hva_studio
>         e.mail: francesco@xxxxxxxx
>         web:    http://www.hv-a.com
>         
>         
>         _______________________________________________
>         Mailing list: https://launchpad.net/~openshot.developers
>         Post to     : openshot.developers@xxxxxxxxxxxxxxxxxxx
>         Unsubscribe : https://launchpad.net/~openshot.developers
>         More help   : https://help.launchpad.net/ListHelp
> 
-- 
architetto Francesco Fantoni
<HVA - Hermanitos Verdes Architetti>
l.go san giacomo, 38
I-41100 modena (italia)
tel.& fax. +39.059.217554
skype:  hva_studio
e.mail: francesco@xxxxxxxx
web:    http://www.hv-a.com




Follow ups

References