[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[udig-devel] Re: [Geotools-gt2-users] Question #4 - How is a displayed map organised?
|
Bernhard Kastner wrote:
Another question to be added to the FAQ as suggested in
http://lists.refractions.net/pipermail/udig-devel/2005-November/003189.html
----------
Hi,
am I assuming correctly, that a map, that has to be drawn, has a
context, which symbolizes "the map"?
The Map is represented as a Map. To make life easier Jesse has defined
a "Facade" object called a "context", indeed he defines
one almost everytime he sets up a formal API. So a ToolContext has
access to slightly different information then a RendererContext.
The use of this Context class is optional, it just contains helper
methods to make your life easier.
So everything I do, I do on the context and the context is the
representation (in the code) of the viewable map?
Am I assuming correctly, that a context has a viewport, which is the
current area I want to display? So if I zoom in, the viewport is
getting smaller (in coordinates)?
When I call repaint-function of the viewport, then the
paint()-function of the renderer with the coordinates of the viewport,
not the whole map, is being called?
The Map contains the definition of Layers, their Style and the Viewport.
All of it is "just" a model. The editor provides the "view", the tools
represent a "controller".
Note - to handle threading issues the "Tools" are not supposed to hack
the Map directly, they are to issue commands which will be run in the
correct thread. We found
we could not trust ourselves to always do the right thing, and made use
of commands to prevent having the user interface freeze up everytime we
made a mistake.
For more details please review:
-<http://udig.refractions.net/confluence/display/DEV/5+Working+with+GIS+Application>
In paticular I have added some pictures and a worked example to:
-<http://udig.refractions.net/confluence/display/DEV/7+Renderers>
Jody