More refactoring work-in-progress
[potlatch2.git] / REFACTOR.txt
1 == Potlatch 2 refactoring ==
2
3 Aims:
4 - to enable multiple Maps to be shown on-screen (e.g. for junction editor)
5 - to bring Connection and VectorLayer code together
6
7 Map.as changes:
8 becomes a collection of MapPaint objects, all with the same lat/long/scale
9 (plus a backdrop sprite and a background imagery sprite)
10 √ move listeners to Connection to MapPaint (e.g. new way created in the Connection - MapPaint should know about it, not Map)
11
12 MapPaint.as changes:
13 - gains a reference to a Connection - i.e. the source data for this layer
14 - needs an 'interactive' flag
15 √ UpdateEntityUIs no longer needs a set of entities passing to it - it can read directly from the Connection
16 - consider whether it's better to have a backreference to Map or for Map to update edges/lat/long/scale etc.
17 - wayuis, nodeuis etc. should ideally be private
18 - removeLayer should blank
19
20 VectorLayer.as changes:
21 - move into Connection
22
23 Global changes:
24 - move lots of connection.map to connection.map.editableLayer
25 - remove all references to getConnection etc. - there can now be more than one Connection
26 - remove all back-references to Map except where necessary for lat/long/scale
27 - getParam is broken - there needs to be a global equivalent (not in Connection) for stuff sent via flashvars - i.e. loaderInfo.parameters (but that's Flex-only)
28 - Look for Connection. - lots of static stuff which shouldn't be that any more
29
30 Further refactoring probably needed:
31 - move AttentionEvent stuff (some may be commented out)
32 - Traces (e.g. in potlatch2.mxml) - seems a bit mixed up
33 - refactor tileset/setbackground stuff?