Larry,

Thank you for your excellent explanation of undo/redo. This makes a
lot more sense to me now. Basically we only want to support undo/redo
for "edit" operations that change features and their geometries.

Larry wrote: " It seems like you should be able to simply move the
features from one layer to the other without deleting and creating,
but they probably have different schemas, so that won't work.  You can
do it for the geometry, of course, but I'm not sure of the
consequences of that.  I still remember the first time I tried to do a
copy from one layer to another in code.  I ended up with two features
sharing the same geometry."

Actually, I stole some code from the PasteItemsPlugIn that deals with
this very issue. In summary, my tool will clone selected features when
the "Send to Destination Layer" button is clicked and will send these
clones to the destination layer. The clones will not contain
references to the original feature geometry. The cloned features will
also contain "copies" of whatever attributes have matching names and
datatypes between the FeatureSchema objects of the layers involved.
This logic comes from the "conform" method of the PasteSelectedItems
tool.

The user will have the option to send only Feature geometries and also
whether or not to remove the selected Feature being sent from the
source layers.

Thanks for the help.

Landon
On 9/28/07, Stefan Steiniger <[EMAIL PROTECTED]> wrote:
>
> > not sure of the consequences of that.  I still remember the first time I
> > tried to do a copy from one layer to another in code.  I ended up with
> > two features sharing the same geometry.  A potentially useful, but scary
> > concept.
> ah yes.. i remember that you found this bug as well in my replicate
> function. So editing geometries become a bit funny
>
> stefan
>
> >
> > regards,
> > Larry
> >
> > On 9/27/07, *Sunburned Surveyor* <[EMAIL PROTECTED]
> > <mailto:[EMAIL PROTECTED]>> wrote:
> >
> >     I've been looking at the steps necessary to add undo/redo support to
> >     the Super Select Tool. I had a question or two about memory usage that
> >     someone who has worked with the undo/redo code may be able to help
> >     with.
> >
> >     How is the memory usage of undo/redo handled in OpenJUMP. For example,
> >     will I be hogging all sorts of memory if I implement an UndoableEdit
> >     that stores information needed to perform the "undo/redo" operation in
> >     memory, and then create a process where the user could potentially
> >     create lots of instances of these UndoableEdits? Does OpenJUMP enforce
> >     some type of limit on the number of supported undo/redo operations or
> >     a memory limit to keep this from happening?
> >
> >     If not, perhaps the smart thing to do is create an UndoableEdit that
> >     stores its data on-disk.
> >
> >     Does anyone have experience combining multiple UndoableEdits into a
> >     single undo/redo operation? As an example, the "send to layer" button
> >     in my Super Select Tool could perform up to three (2) separate
> >     operations depending on how it is configured:
> >
> >     [1] Copy selected features to the destination layer.
> >     [2] Clear the current selection.
> >     [3] Delete the copied features from the source layer.
> >
> >     I don't really want the user to be required to click the undo button
> >     three (3) times to undo what they did with a single click, do I? This
> >     means I have to find a way to combine the three (3) separate actions
> >     into a single UndoableEdit, correct?
> >
> >     Thanks,
> >
> >     The Sunburned Surveyor
> >
> >     
> > -------------------------------------------------------------------------
> >     This SF.net email is sponsored by: Microsoft
> >     Defy all challenges. Microsoft(R) Visual Studio 2005.
> >     http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> >     _______________________________________________
> >     Jump-pilot-devel mailing list
> >     Jump-pilot-devel@lists.sourceforge.net
> >     <mailto:Jump-pilot-devel@lists.sourceforge.net>
> >     https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> >
> >
> >
> >
> > --
> > http://amusingprogrammer.blogspot.com/
> >
> >
> > ------------------------------------------------------------------------
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by: Microsoft
> > Defy all challenges. Microsoft(R) Visual Studio 2005.
> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Jump-pilot-devel mailing list
> > Jump-pilot-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2005.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to