Opened 10 years ago

Last modified 9 years ago

#13030 new enhancement

Allow the creation of two map views — at Version 1

Reported by: michael2402 Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: gsoc-core Cc: Don-vip, bastiK, stoecker

Description (last modified by michael2402)

The main goal of this ticket is to allow the creation and use of two map views. It is a central place to collect things preventing us from using multiple map views.

So far, those are the main problems for displaying the same layers twice:

  • Main.map.mapView.repaint() or Main.map.repaint() calls. They can be traced using the --trace option. The stach trace triggering such a repaint will be dumped. Layers should simply invalidate their layer. Use #12654
    • undo does not trigger a layer invalidated
  • Layer.isChanged() cannot be used with multiple map views. Map view needs to track changes by itself using the invalidation events
  • AbstractTileSourceLayer needs to be changed to use one TileSet per MapView.

Displaying different layers:

  • The layer list is already prepared to work with multiple layer managers.
  • Many layers assume they are only added/removed once to a layer manager (AbstractTileSourceLayer, ValidatorLayer, MarkerLayer, ...). #12872 might solve this for implicitly added layers.

Editing in the second view will be much harder, because:

  • MapModes assume there is only one map view

This works:

  • Creating a second MapView
  • Moving and zooming the map
  • Display a data layer
  • Display selection


Change History (2)

by michael2402, 10 years ago

Attachment: mapview-window.png added

comment:1 by michael2402, 10 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.