[josm-dev] Layer specific history

Vincent Privat vincent.privat at gmail.com
Wed Dec 30 18:05:12 UTC 2015


I think 2) is the best solution. It remains simple for most users who work
on a single modifiable layer at a time, but provides a nice flexibility for
those who work on several layers.
3) is too complex. The less dialogs we have the best it is.


2015-12-29 17:16 GMT+01:00 Holger Mappt <holgerosm at gmx.net>:

> Hi,
>
> See https://josm.openstreetmap.de/ticket/11904.
> What is the recommended way to add a command history with undo/redo
> functionality to a layer that is not an OSM data layer?  In this case the
> GeoImageLayer.
>
> The other software I know has one history stack.  Every modification
> generates a history entry.  JOSM default is to have history only for OSM
> data layers.  The Mapillary plugin implements a history as toggle dialog
> with separate undo/redo buttons.
>
> I can imagine three options:
> 1) One linear history stack for all actions with one interface.  This is
> what is usually done in other software.  The interface is the undo/redo in
> the edit menu and the main toolbar and the command stack toggle dialog.
>
> 2) One history stack per layer with one interface.  Similar to 1), but
> undo/redo applies only to the active layer.  This decouples the actions
> done in different layers.  It requires that actions done in one layer do
> not depend on actions in another layer.  "Layer" can either be a single
> layer or one layer type.
>
> 3) Each layer implements a custom history.  Similar to 2), but different
> interface for each layer.  Has the advantage that fancy things can be
> done.  E.g. for the GeoImageLayer the history could be per image.  But the
> user is confronted with many history dialogs and undo mechanisms.
>
> To be useful the history needs a concept of "connected actions" and the
> possibility to undo unconnected actions independently.  Example: The key
> "opening_hours" is added to a POI node, then the key "name" of an other PI
> node is changed.  To undo the opening_hours the name change has to undone
> too with the current implementation.  But the two POI nodes are not
> connected, it should be possible to undo either change.
>
> Regards,
> Holger
>
> _______________________________________________
> josm-dev mailing list
> josm-dev at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/josm-dev
>


More information about the josm-dev mailing list