/[thuban]/branches/WIP-pyshapelib-bramz/ChangeLog
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1560 by bh, Thu Aug 7 17:32:20 2003 UTC revision 1594 by bh, Fri Aug 15 14:10:48 2003 UTC
# Line 1  Line 1 
1    2003-08-15  Bernhard Herzog  <[email protected]>
2    
3            Change the way shapes are returned by a shape store. The
4            ShapesInRegion method returns an iterator over actual shape
5            objects instead of a list of shape ids.
6    
7            * Thuban/Model/data.py (ShapefileShape.ShapeID): New. Return shape
8            id.
9            (ShapefileStore.ShapesInRegion): Return an iterator over the
10            shapes which yields shape objects instead of returning a list of
11            shape ids
12            (ShapefileStore.AllShapes): New. Return an iterator over all
13            shapes in the shape store
14            (DerivedShapeStore.AllShapes): New. Like in ShapefileStore
15    
16            * Thuban/Model/layer.py (Layer.ShapesInRegion): Update
17            doc-string.
18    
19            * Thuban/UI/baserenderer.py
20            (BaseRenderer.layer_ids, BaseRenderer.layer_shapes): Rename to
21            layer_shapes and make it return an iterator containg shapes
22            instead of a list of ids.
23            (BaseRenderer.draw_shape_layer): Update doc-string; Adapt to
24            layer_shapes() change
25    
26            * Thuban/UI/renderer.py (ScreenRenderer.layer_ids)
27            (ScreenRenderer.layer_shapes): Rename as in BaseRenderer
28    
29            * Thuban/UI/viewport.py (ViewPort._find_shape_in_layer): Adapt to
30            changes in the ShapesInRegion return value.
31            (ViewPort._get_hit_tester): Remove commented out code
32    
33            * test/mockgeo.py (SimpleShapeStore.ShapesInRegion): Adapt to the
34            new return value.
35            (SimpleShapeStore.AllShapes): New. Implement this method too.
36    
37            * test/test_layer.py (TestLayer.test_arc_layer)
38            (TestLayer.test_polygon_layer, TestLayer.test_point_layer)
39            (TestLayer.test_point_layer_with_projection)
40            (TestLayer.test_derived_store): Adapt to changes in the
41            ShapesInRegion return value.
42    
43            * test/test_shapefilestore.py
44            (TestShapefileStoreArc.test_shapes_in_region)
45            (TestShapefileStorePolygon.test_shapes_in_region)
46            (TestShapefileStorePoint.test_shapes_in_region): Adapt to changes
47            in the ShapesInRegion return value.
48            (TestShapefileStorePoint.test_all_shapes)
49            (TestShapefileStoreArc.test_shape_shapeid): New tests for the new
50            methods
51    
52            * test/test_derivedshapestore.py
53            (TestDerivedShapeStore.test_shapes_in_region): Adapt to changes in
54            the ShapesInRegion return value.
55            (TestDerivedShapeStore.test_all_shapes)
56            (TestDerivedShapeStore.test_shape_shapeid): New tests for the new
57            methods
58    
59    2003-08-15  Bernhard Herzog  <[email protected]>
60    
61            Make the renderers deal correctly with raw vs. python level
62            representation of shape geometries
63    
64            * Thuban/UI/baserenderer.py (BaseRenderer.low_level_renderer):
65            Return a flag useraw in addition to the callable and the parameter
66            to indicate whether the callable can deal with the raw shape data
67            or uses the higher level python lists of coordinates. The callable
68            now should accept either the raw data or the return value of the
69            shape's Points() method.
70            (BaseRenderer.draw_shape_layer): Adapt to the low_level_renderer
71            change
72            (BaseRenderer.projected_points): Instead of the shape id use the
73            points list as parameter.
74            (BaseRenderer.draw_polygon_shape, BaseRenderer.draw_arc_shape)
75            (BaseRenderer.draw_point_shape): Adapt to projected_points()
76            change and accept the points list as parameter instead of the
77            shape id.
78    
79            * Thuban/UI/renderer.py (MapRenderer.low_level_renderer): Return
80            the useraw flag as required by the BaseRenderer
81            (ScreenRenderer.draw_shape_layer): Adapt to low-level renderer
82            changes.
83    
84            * test/test_baserenderer.py
85            (TestBaseRenderer.test_point_with_classification): New test for
86            rendering a map with classifications.
87    
88    2003-08-15  Bernhard Herzog  <[email protected]>
89    
90            * Thuban/UI/viewport.py (ViewPort.find_shape_at)
91            (ViewPort._find_shape_in_layer, ViewPort._find_shape_in_layer)
92            (ViewPort._get_hit_tester, ViewPort.projected_points)
93            (ViewPort._hit_point, ViewPort._hit_arc, ViewPort._hit_polygon)
94            (ViewPort._find_label_at): Split the find_shape_at method into
95            several new methods and use the functions in the hit-test module.
96    
97            * Thuban/UI/hittest.py: New module with Python-level hit-testing
98            functions
99    
100            * test/test_hittest.py: New. Test for the new hittest module
101    
102    2003-08-15  Bernhard Herzog  <[email protected]>
103    
104            * Thuban/Model/layer.py (Layer.ShapesInRegion): Apply the layer
105            projection to all corners of the bounding box to get a better
106            approximation of the projected bounding box
107    
108            * test/test_layer.py (TestLayer.test_point_layer_with_projection):
109            New. Test coordinate handling of a layer with a projection.
110            Catches the bug fixed in Layer.ShapesInRegion
111    
112    2003-08-15  Bernhard Herzog  <[email protected]>
113    
114            Move some of the mock objects in test_baserenderer into their own
115            module so they can easily be used from other tests
116    
117            * test/mockgeo.py: New test helper module with some mock objects
118            for geometry related things like shapes, shapestores and
119            projections.
120    
121            * test/test_mockgeo.py: New. Tests for the new helper module
122    
123            * test/test_baserenderer.py: Some of the mock-objects are in
124            mockgeo now.
125    
126    2003-08-12  Jan-Oliver Wagner <[email protected]>
127    
128            * Thuban/UI/about.py (About.__init__): Added Bj�rn Broscheit.
129    
130    2003-08-12  Bernhard Herzog  <[email protected]>
131    
132            * po/de.po: New. German translations by Bjoern Broscheit
133    
134    2003-08-12  Bernhard Herzog  <[email protected]>
135    
136            * Thuban/UI/projdialog.py (UnknownProjPanel._DoLayout): Translated
137            strings have to be one string literal.
138    
139    2003-08-11  Bernhard Herzog  <[email protected]>
140    
141            * test/support.py (FloatComparisonMixin.assertPointListEquals):
142            New. This method was used in various derived classes, but it's
143            better to have it here.
144    
145            * test/test_shapefilestore.py
146            (ShapefileStoreTests.assertPointListEquals): Removed. It's now in
147            FloatComparisonMixin
148    
149            * test/test_layer.py (TestLayer.assertPointListEquals): Removed.
150            It's now in FloatComparisonMixin
151    
152            * test/test_derivedshapestore.py
153            (TestDerivedShapeStore.assertPointListEquals): Removed. It's now
154            in FloatComparisonMixin
155    
156    2003-08-11  Bernhard Herzog  <[email protected]>
157    
158            * Thuban/UI/join.py (JoinDialog.OnJoin): Add missing space to
159            error message
160    
161    2003-08-08  Jan-Oliver Wagner <[email protected]>
162    
163            * Doc/manual/thuban-manual.xml: Now use authorgroup. Added revhistory
164            with version number.
165            Changed title to reflect version number of Thuban.
166    
167    2003-08-08  Jan-Oliver Wagner <[email protected]>
168    
169            * Thuban/UI/about.py (About.__init__): Reworked the hall of fame. Now
170            the list corresponds to the "About" web page.
171    
172    2003-08-08  Bernhard Herzog  <[email protected]>
173    
174            * Thuban/UI/projdialog.py (UTMProposeZoneDialog.dialogLayout):
175            Make sure translated strings are recognized as one string literal.
176    
177            * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog.dialogLayout):
178            Make sure translated strings are recognized as one string literal.
179    
180            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Make sure
181            translated strings are recognized as one string literal.
182    
183            * Thuban/UI/application.py (ThubanApplication.OpenSession): Make
184            sure translated strings are recognized as one string literal.
185    
186  2003-08-07  Bernhard Herzog  <[email protected]>  2003-08-07  Bernhard Herzog  <[email protected]>
187    
188            * Thuban/Model/data.py (DerivedShapeStore.RawShapeFormat): New.
189            Simply delegates to the original shapestore.
190    
191            * test/test_derivedshapestore.py
192            (TestDerivedShapeStore.test_raw_format): New. Test case for
193            DerivedShapeStore.RawShapeFormat
194    
195    2003-08-07  Bernhard Herzog  <[email protected]>
196    
197            Add raw data interface to shape objects.
198    
199            * Thuban/Model/data.py (ShapefileShape, Shape): Rname the shape
200            class to ShapefileShape which now holds shapefile specific
201            information.
202            (ShapefileShape.compute_bbox): Simplified to not cache any
203            information. The way this method is used that shouldn't matter
204            performance wise.
205            (ShapefileShape.RawData): New. Return the shapeid which is the raw
206            data format for shapes from shapefiles.
207            (ShapefileStore.RawShapeFormat): New. Return the raw datatype used
208            in the shape objects returned by a shapestore. For a
209            ShapefileStore this is always RAW_SHAPEFILE.
210            (RAW_PYTHON, RAW_SHAPEFILE): Constants for the RawShapeFormat
211            method.
212    
213            * test/test_shapefilestore.py
214            (TestShapefileStore.test_raw_format): New test to test the raw
215            format feature of shapes.
216    
217          * Thuban/Model/layer.py: Remove the unused import of Shape from          * Thuban/Model/layer.py: Remove the unused import of Shape from
218          data. It was only there for interface compatibility but it's not          data. It was only there for interface compatibility but it's not
219          used inside of Thuban and the generic Shape class will go away          used inside of Thuban and the generic Shape class has gone away.
220          soon anyway.  
221            * Thuban/UI/renderer.py (MapRenderer.low_level_renderer): Check
222            the raw data format and only use an optimized version of its a
223            shapefile.
224    
225    2003-08-07  Bernhard Herzog  <[email protected]>
226    
227          * test/test_baserenderer.py (SimpleShape): Shape class for the          * test/test_baserenderer.py (SimpleShape): Shape class for the
228          tests.          tests.

Legend:
Removed from v.1560  
changed lines
  Added in v.1594

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26