[prev in list] [next in list] [prev in thread] [next in thread]
List: gtk-devel
Subject: Re: Undo stack for GTK+ (was: Re: undo in textview)
From: Holger Berndt <berndth () gmx ! de>
Date: 2009-12-31 0:55:15
Message-ID: 20091231005536.449227500C2 () menubar ! gnome ! org
[Download RAW message or body]
On Mi, 30.12.2009 21:32, Tristan Van Berkom wrote:
>Particularly point 5, nested transactions; I banged my head around that one
>for a while and finally did not implement this; my interpretation of
>nested transactions
>was something like this:
> o User initiates action
> o action goes and modifies data on the model
> o model data change callback initiates "nested action"
>
> a.) it was complex as hell to implement without re-creating commands
> when the data model changes due to undo/redo or something other
>than an action
> (and however nice the api, the complexity spills into the
>individual action initiating code).
I don't really see the problem in nesting groups of undo stack elements.
Quite on the contrary, I find it very useful, if not essential, to be
able to use the stack from applications that don't follow the command
pattern already anyways.
>without making a huge unusable command stack (i.e. Glade uses this for
>instance; to make sure
>that 15 edits to a string property will only show up as one command).
Qt's undo stack implementation has something along these lines.
>Also finally, it would be nice to see this targeted somewhere below
>GTK+ in the stack, would be
>a shame to do all this work and not be able to use it from; say;
>Clutter apps or such...
True, I would have put it below GTK+ too, but given that such a stack
requires GObject, I didn't really find a better-fitting place. Also,
being able to rely on GTK+ has advantages, too, like being able to offer
convenience GtkAction's for undo and redo with up-to-date labels.
Holger
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic