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 <[email protected]>: > 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 > [email protected] > https://lists.openstreetmap.org/listinfo/josm-dev > _______________________________________________ josm-dev mailing list [email protected] https://lists.openstreetmap.org/listinfo/josm-dev
