[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [udig-devel] ActiveMapTracker and Visible Maps
|
Hi Emily, You can ping me anytime I am on line. I will try to watch
this computer.
Jesse
On 3-Nov-08, at 7:41 PM, Emily Gouge wrote:
So can you provide me with a hint as to where to get started with
this idea (or maybe we should have an irc chat?)
I looked at the PerspectiveAdapter adapter class and tried adding
one to the open windows just to see what happened. (I added this
adapter in the ActiveMapTracker when a new window was opened).
However, it only seems to capture events if the window is already
loaded. In my sample app the map view is displayed in the initial
perspective so it doesn't get around to adding the listener until
after the window and perspective have already been loaded.
I'm not sure how I would add a tracker for each perspective. Can
you elaborate a bit?
Thanks for you help!
Emily
Jesse Eichar wrote:
A good point emily.
I think we need to add a persective changed listener and reset all
the maps on a perspective change. For example. When a perspective
changes the list of active maps should be cleared and re-created
from all the active parts. Probably with the editor as the highest
priority (IE the last one put on the stack).
Another possiblity it to have a separate tracker per
perspective... Yeah that is probably best so that the active maps
order is better preserved when there are multiple perspective
switches taking place, which does happen on a extension that I am
currently working on.
Jesse
On 31-Oct-08, at 9:32 PM, Emily Gouge wrote:
I've come across a problem with the ActiveMapTracker that I'm
looking for input on how to fix it.
I have an application where the perspective includes a MapPart.
As a result when I start the application the map is shown by
default. However when I set the viewport bounds on the map, I see
nothing. I tracked this down to the render manager only
refreshing the map if the map is the current map:
if (ApplicationGIS.getActiveMap() != null &&
ApplicationGIS
.getVisibleMaps().contains(ApplicationGIS.getActiveMap())){
//refresh map
}
Somehow at this state the visible maps list is empty and the
active map is a non-existent map; so the map is not being drawn.
I tracked this down to the ActiveMapTracker (which is tracking the
visible maps and active maps). Normally when I create a new view
and it becomes visible the partVisible code is run which updates
the visible maps list. However it seems because this view is part
of a perspective being opened by default this code is not being
run. (The view is added to the perspective using a
perspectiveExtension extension point)
A little more hacking and I've found that if I change the
partOpened function to not only add the currentPart to the
openMaps list, but also the activeParts and visibleMaps list then
my program draws the map correctly.
I suspect this hack is bad and has other unknown implications; so
I'd like to know how I "properly" fix this issue.
Thanks,
Emily
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel