gvSIG Map Sheets is a conventional extension for gvSIG. You can see here a basic introduction to its functionality. It adds most of its functionality by extending existing classes in the gvSIG core (inheritance). Essentially it deals with:
This very simple diagram shows the basics of the gvSIG 1.X architecture. Red circled numbers indicate -in order of relevance- the parts where the Map Sheets extension adds a new component:
(1) A new type of map document is added which allows the management of active fields refreshed with the geometry and attributes from a certain feature. Also adds special types of frames (for view and texts)
(2) Adds new menu 'View > Map Sheets' and 'Map > Map Sheets' and plenty of dialogs following the fwAndami framework. The most relevant dialog is the one that allows the user to browse different maps by selecting the desired feature ID.
(3) Adds a new type of vector layer (a grid) consisting of a set of rectangles and certain attriburtes.
(4) It also adds a map tool to easily adjust the frames in the map sheet grid.
(5) A new in-memory vector driver is added since the grid is kept in memory during the gvSIG session.
This very simple diagram shows the relationships between the main entities in the problem domain and how user actions guide the process until the final goal (printing or persisting)
Package overview showing relationships between main classes and interfaces only. Relevant classes and interfaces in other packages are shown inside a labeled package box:
Package overview showing relationships between main classes and interfaces only. Relevant classes and interfaces in other packages are shown inside a labeled package box:
Package overview showing relationships between main classes and interfaces only. Relevant classes and interfaces in other packages are shown inside a labeled package box:
This package only contains the MapSheetsGrid class which is a subclass of FLyrVect and uses an in-memory datasource. It is persisted in the project file inclkuding all its field values and geometries (rotated frames).
Package overview showing relationships between main classes and interfaces only. Relevant classes and interfaces in other packages are shown inside a labeled package box: