Better support for MapCSS 0.2, including subparts
[potlatch2.git] / REFACTOR.txt
index 7746a8689902e647a6b71fe9976fcaf4433c9e78..fd67b90252ea8415a609ffd85d24dfc1743952c7 100644 (file)
@@ -4,28 +4,19 @@ Aims:
 - to enable multiple Maps to be shown on-screen (e.g. for junction editor)
 - to bring Connection and VectorLayer code together
 
-==== think what to do about controllers ====
+== Changes overall ==
 
-
-Map.as changes:
-becomes a collection of MapPaint objects, all with the same lat/long/scale
+Map.as becomes a collection of MapPaint objects, all with the same lat/long/scale
 (plus a backdrop sprite and a background imagery sprite)
-√ move listeners to Connection to MapPaint (e.g. new way created in the Connection - MapPaint should know about it, not Map)
-- refactor tileset/setbackground stuff?
-
-MapPaint.as changes:
-- gains a reference to a Connection - i.e. the source data for this layer
-- needs an 'interactive' flag
-√ UpdateEntityUIs no longer needs a set of entities passing to it - it can read directly from the Connection
-- consider whether it's better to have a backreference to Map or for Map to update edges/lat/long/scale etc.
-- wayuis, nodeuis etc. should ideally be private
-- removeLayer should blank
-
-VectorLayer.as changes:
-- move into Connection
-
-Global changes:
-- remove all references to getConnection etc. - there can now be more than one Connection
+
+Map.editableLayer returns a reference to the single MapPaint object where isBackground is false
+
+MapPaint.as gains a reference to a Connection - i.e. the source data for this layer
+
+== Code tidying ==
+
+There are lots more of these throughout the code, marked with fixmes of the form '>>>> REFACTOR'
+
 - remove all back-references to Map except where necessary for lat/long/scale
-- Controllers are full of references to controller.map and to controller.connection
-- move AttentionEvent stuff
+- getParam is messy - stuff sent via flashvars needs somewhere to live: currently in Globals which is ugly
+- tileset/setbackground stuff is screwed up again and needs refactoring a little