Hi all,

Google summer of code has officially ended.

I was working on the core of JOSM a lot for the past three months. You
probably didn't notice much, except for some bug report windows popping
up when using the latest JOSM version.

But there were a lot of changes under the hood that should make JOSM
more robust in the long run. But you may have noticed the side effects
of them while using JOSM:
- The bug report dialog is easier to use
- JOSM won't crash completely on rendering problems - you can still save.
- Copy and Paste supports pasting between windows
- A new paste-at-source action
- Download areas are displayed correctly in every projection.

A new imagery rendering code will come in 16.9, it will then allow you
to use imagery for every projection.

Feel free to report any problems you encounter.

Main changes for (plugin) developers are:
- You can use Main.getLayerManager() to access the layers. No need to
check if the map view was created
- Register listeners on the layer manager instead of the map view
- Listener registration order is enforced - you cannot add them twice.
- Your layers should call invalidate() every time they are changed - no
need to use the isChanged flag any more.
- You should try to avoid accessing Main.map.
- There is a new MapViewPath class. It makes drawing lines easier.
- Do not use the JOSM Predicates class any more
- You can use multiple MapViews to e.g. display an old version of the
data. Imagery support is on the way.
- You can access preferences by e.g. creating a ColorProperty object and
then calling get()/put() on it. No need for the Main.pref.get...
methods. You can even add a listener on that object to get notified for
changes of that specific preference. Create a cached version of it using
.cached() if you access it often.

A more complete project history can be found at:
http://wiki.openstreetmap.org/wiki/Google_Summer_of_Code/2016/AcceptedProjects/JOSM_core

Michael

_______________________________________________
josm-dev mailing list
josm-dev@openstreetmap.org
https://lists.openstreetmap.org/listinfo/josm-dev

Reply via email to