I have placed the work on "upstream/legend" so it can be looked at another 
time.  

This is a case of getting 90% of the way there and needing to back out in order 
to not get in the way of others.

What went well:
- The model changes went smoothly; git very was useful in keeping track of 
everything
- Tracking down references and events related to context model
- Using "containment" for the LegendItems (including Layers) so they get saved; 
while letting the layers list hold on to Layers by reference

What did not go well:
- The MapItemProvider (an Item provider which uses a child fetcher job to load 
things in the background rather than stall out the display thread). The code 
was a little bit magic in that it had been hacked up to delegate to the 
ContextModel (including events forwarding).

What got stuck:
- The Layers view makes use of the default MapItemProvider; which appears as if 
it would like to follow the "eStructure" heirarchy --> which we are trying to 
change over to storing things in the legend item list.

What to try for next time:
1. Start from the legend branch; in particular the model is much easier to 
follow now
2. Look into how the MapItemProvider works; and make a couple variations (one 
for layers list, one for legend items) prior to starting
3. Trace through the event handling around context model and make a checklist 
of what it is used for (so we can be sure of hitting those points again)

I will not be able to return to this work for the rest of the week due to some 
deadlines at work.
--  
Jody Garnett


On Sunday, 4 March 2012 at 11:42 PM, Jody Garnett wrote:

> I have just finished:
> 1) finding all references to the class ContextModel and replacing them
> 2) finding all references to map.getContextModel()
> 3) reviewing each mention of ProjectPackage.CONTEXT_MODEL
>  
> I should have something that can be tested shortly..
> --  
> Jody Garnett
>  
>  
>  
> --  
> Jody Garnett
>  
>  
> On Friday, 2 March 2012 at 2:50 PM, Jody Garnett wrote:
>  
> > Productive day thus far …  
> >  
> >  
> > 1) Paul has review and accepted Naz's addition of a LegendView (he even ran 
> > find bugs etc… thanks Paul / Naz)
> > 2) Paul has helped me updated the core EMF model here are the highlights …
> > - Map now directly has list of references to layers (with each layer having 
> > a back pointer to its map). This should be the zorder sorted layer list 
> > used for rendering and the replacement for the current context model.
> > - Map now contains a list of legend item
> > - I checked over the use of LegendItem (so that Folder and Layer reuse 
> > LegendItem fields of name, isShown and icon).
> > - Made sure Folder was containing a list of LegendItem
> >  
> > Summary:
> > - Map saves out legend items now
> > - We will try having Map keep a layers list (rather than context model) we 
> > will need some event listening code so that any layer added to the legend 
> > item list is sorted into the correct spot in the layers list. If this does 
> > not work (or is too complicated to maintain) we will use the Legend list 
> > directly.
> > - MapContext is still around -> used to load "old" maps for a bit; but 
> > should vanish after one release or so
> > --  
> > Jody Garnett
> >  
>  

_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel

Reply via email to