Canvas Map API: Difference between revisions

Jump to navigation Jump to search
m
Line 10: Line 10:
== Objective ==
== Objective ==
Heavily reduce the amount of specialized Canvas/Nasal code in XML dialogs and instruments related to mapping/charting (airport-selection, map widget, navdisplay etc) and ensure that a maximum degree of code sharing is accomplished, regardless of the canvas placement mode that is used - bottom line being, it really shouldn't matter if a map is shown as part of an airport selection dialog, as part of the moving map dialog, as part of the navdisplay etc.
Heavily reduce the amount of specialized Canvas/Nasal code in XML dialogs and instruments related to mapping/charting (airport-selection, map widget, navdisplay etc) and ensure that a maximum degree of code sharing is accomplished, regardless of the canvas placement mode that is used - bottom line being, it really shouldn't matter if a map is shown as part of an airport selection dialog, as part of the moving map dialog, as part of the navdisplay etc.
== Open Issues ==
* Supporting multi-symbol instancing at the core canvas/C++ level, i.e. using "pointers" to point to another group, instead of replicating it over and over again
* re-implementing object "marking" (runways/parking) in the airports dialog
* Refining the model API
* Using the system for different dialogs & instruments
* generalizing the currently required dialog "prologue" in the Nasal/open block (using caller() and closure())
* supporting/addressing multiple canvases per dialog
* support all major canvas placement modes (CanvasWidget, CanvasWindow, Instrument, Scenery?)
* implementing a real MVC '''controller''' and porting the code to use it
* improving the MVC separation further
* resource cleanup (listeners & timers)
* start using the canvas-generic-map dialog in more dialogs (route manager, map dialog)
* port more dialogs
* support use in instruments
* add a stress test with multiple canvas maps per dialog, all showing different maps/locations, and being active


== Design ==
== Design ==

Navigation menu