/[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 1534 by jonathan, Thu Jul 31 12:44:30 2003 UTC revision 1586 by bh, Fri Aug 15 10:27:06 2003 UTC
# Line 1  Line 1 
1    2003-08-15  Bernhard Herzog  <[email protected]>
2    
3            Move some of the mock objects in test_baserenderer into their own
4            module so they can easily be used from other tests
5    
6            * test/mockgeo.py: New test helper module with some mock objects
7            for geometry related things like shapes, shapestores and
8            projections.
9    
10            * test/test_mockgeo.py: New. Tests for the new helper module
11    
12            * test/test_baserenderer.py: Some of the mock-objects are in
13            mockgeo now.
14    
15    2003-08-12  Jan-Oliver Wagner <[email protected]>
16    
17            * Thuban/UI/about.py (About.__init__): Added Bj�rn Broscheit.
18    
19    2003-08-12  Bernhard Herzog  <[email protected]>
20    
21            * po/de.po: New. German translations by Bjoern Broscheit
22    
23    2003-08-12  Bernhard Herzog  <[email protected]>
24    
25            * Thuban/UI/projdialog.py (UnknownProjPanel._DoLayout): Translated
26            strings have to be one string literal.
27    
28    2003-08-11  Bernhard Herzog  <[email protected]>
29    
30            * test/support.py (FloatComparisonMixin.assertPointListEquals):
31            New. This method was used in various derived classes, but it's
32            better to have it here.
33    
34            * test/test_shapefilestore.py
35            (ShapefileStoreTests.assertPointListEquals): Removed. It's now in
36            FloatComparisonMixin
37    
38            * test/test_layer.py (TestLayer.assertPointListEquals): Removed.
39            It's now in FloatComparisonMixin
40    
41            * test/test_derivedshapestore.py
42            (TestDerivedShapeStore.assertPointListEquals): Removed. It's now
43            in FloatComparisonMixin
44    
45    2003-08-11  Bernhard Herzog  <[email protected]>
46    
47            * Thuban/UI/join.py (JoinDialog.OnJoin): Add missing space to
48            error message
49    
50    2003-08-08  Jan-Oliver Wagner <[email protected]>
51    
52            * Doc/manual/thuban-manual.xml: Now use authorgroup. Added revhistory
53            with version number.
54            Changed title to reflect version number of Thuban.
55    
56    2003-08-08  Jan-Oliver Wagner <[email protected]>
57    
58            * Thuban/UI/about.py (About.__init__): Reworked the hall of fame. Now
59            the list corresponds to the "About" web page.
60    
61    2003-08-08  Bernhard Herzog  <[email protected]>
62    
63            * Thuban/UI/projdialog.py (UTMProposeZoneDialog.dialogLayout):
64            Make sure translated strings are recognized as one string literal.
65    
66            * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog.dialogLayout):
67            Make sure translated strings are recognized as one string literal.
68    
69            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Make sure
70            translated strings are recognized as one string literal.
71    
72            * Thuban/UI/application.py (ThubanApplication.OpenSession): Make
73            sure translated strings are recognized as one string literal.
74    
75    2003-08-07  Bernhard Herzog  <[email protected]>
76    
77            * Thuban/Model/data.py (DerivedShapeStore.RawShapeFormat): New.
78            Simply delegates to the original shapestore.
79    
80            * test/test_derivedshapestore.py
81            (TestDerivedShapeStore.test_raw_format): New. Test case for
82            DerivedShapeStore.RawShapeFormat
83    
84    2003-08-07  Bernhard Herzog  <[email protected]>
85    
86            Add raw data interface to shape objects.
87    
88            * Thuban/Model/data.py (ShapefileShape, Shape): Rname the shape
89            class to ShapefileShape which now holds shapefile specific
90            information.
91            (ShapefileShape.compute_bbox): Simplified to not cache any
92            information. The way this method is used that shouldn't matter
93            performance wise.
94            (ShapefileShape.RawData): New. Return the shapeid which is the raw
95            data format for shapes from shapefiles.
96            (ShapefileStore.RawShapeFormat): New. Return the raw datatype used
97            in the shape objects returned by a shapestore. For a
98            ShapefileStore this is always RAW_SHAPEFILE.
99            (RAW_PYTHON, RAW_SHAPEFILE): Constants for the RawShapeFormat
100            method.
101    
102            * test/test_shapefilestore.py
103            (TestShapefileStore.test_raw_format): New test to test the raw
104            format feature of shapes.
105    
106            * Thuban/Model/layer.py: Remove the unused import of Shape from
107            data. It was only there for interface compatibility but it's not
108            used inside of Thuban and the generic Shape class has gone away.
109    
110            * Thuban/UI/renderer.py (MapRenderer.low_level_renderer): Check
111            the raw data format and only use an optimized version of its a
112            shapefile.
113    
114    2003-08-07  Bernhard Herzog  <[email protected]>
115    
116            * test/test_baserenderer.py (SimpleShape): Shape class for the
117            tests.
118            (SimpleShapeStore.Shape): Use SimpleShape instead of
119            Thuban.Model.data.Shape to make the tests independed of the coming
120            changes.
121    
122    2003-08-07  Bernhard Herzog  <[email protected]>
123    
124            * test/support.py (SkipTest, ThubanTestResult, ThubanTestRunner)
125            (ThubanTestProgram): New classes that extend the respective
126            classes from unittest. These new version support skipping tests
127            under certain expected conditions. In the Thuban test suite we
128            uses this for tests that require the optional gdal support.
129            (run_tests): Use ThubanTestProgram instead of the unittest.main()
130    
131            * test/runtests.py (main): Use the new ThubanTestRunner instead of
132            the normal one from unittest
133    
134            * test/test_layer.py (TestLayer.test_raster_layer): If this test
135            is not run because gdal support isn't available report this to the
136            runner.
137    
138            * test/test_baserenderer.py
139            (TestBaseRenderer.test_raster_no_projection): Do not run this test
140            if gdal support isn't available and report this to the runner.
141    
142    2003-08-06  Bernhard Herzog  <[email protected]>
143    
144            Rearrange the renderers a bit, partly in preparation for changes
145            required for the postgis merge, partly to make it more testable.
146            Also make the representation of coordinates in Shapes more
147            consistent.
148    
149            * Thuban/UI/renderer.py (MapRenderer): Most of the code/methods in
150            this class is now in BaseRenderer. This class is now practically
151            only a specialization of BaseRenderer for rendering to an actual
152            wx DC.
153            (ScreenRenderer.draw_shape_layer): Use self.low_level_renderer()
154            to get the shapetype specific rendering functions.
155    
156            * Thuban/UI/baserenderer.py: New file with the basic rendering
157            logic. The code in this file is completely independend of wx.
158            (BaseRenderer): Class with the basic rendering logic
159    
160            * test/test_baserenderer.py: New. Test cases for BaseRenderer
161    
162            * Thuban/UI/view.py (MapCanvas.__init__): New instance variable
163            error_on_redraw to guard agains endless loops and stack overflows
164            when there's a bug in the rendering code that raises exceptions.
165            (MapCanvas.OnIdle, MapCanvas._do_redraw): Split the actual
166            rendering into a separate method _do_redraw so that error handling
167            is a bit easier. When an exception occurs, set error_on_redraw to
168            true. When it's true on entry to OnIdle do nothing and return
169            immediately.
170    
171            * Thuban/Model/data.py (ShapefileStore.Shape): For consistency, a
172            Shape object will always have the coordinates as a list of list of
173            coordinate pairs (tuples).
174            (Shape.compute_bbox): Adapt to new representation.
175    
176            * Thuban/UI/viewport.py (ViewPort.find_shape_at)
177            (ViewPort.LabelShapeAt): Adapt to new coordinate representation in
178            Shape objects.
179    
180            * test/test_shapefilestore.py
181            (ShapefileStoreTests.assertFloatTuplesEqual)
182            (ShapefileStoreTests.assertPointListEquals): Rename to
183            assertPointListEquals and change purpose to checking equality of
184            the lists returned by Shape.Points().
185            (TestShapefileStoreArc.test_shape)
186            (TestShapefileStorePolygon.test_shape)
187            (TestShapefileStorePoint.test_shape): Use the new
188            assertPointListEquals instead of assertFloatTuplesEqual
189    
190            * test/test_layer.py (TestLayer.assertFloatTuplesEqual)
191            (TestLayer.assertPointListEquals): Rename to assertPointListEquals
192            and change purpose to checking equality of the lists returned by
193            Shape.Points().
194            (TestLayer.test_arc_layer, TestLayer.test_arc_layer)
195            (TestLayer.test_polygon_layer, TestLayer.test_point_layer)
196            (TestLayer.test_derived_store): Use the new assertPointListEquals
197            instead of assertFloatTuplesEqual
198    
199            * test/test_derivedshapestore.py
200            (TestDerivedShapeStore.assertFloatTuplesEqual)
201            (TestDerivedShapeStore.assertPointListEquals): Rename to
202            assertPointListEquals and change purpose to checking equality of
203            the lists returned by Shape.Points().
204            (TestDerivedShapeStore.test_shape): Use the new
205            assertPointListEquals instead of assertFloatTuplesEqual
206    
207    2003-08-06  Jan-Oliver Wagner <[email protected]>
208    
209            * Thuban/UI/projdialog.py (UTMPanel._OnPropose): Added test for
210            a bounding box. A dialog is raised in case, no bounding box
211            is found. This fixes bug #2043:
212            https://intevation.de/rt/webrt?serial_num=2043
213    
214    2003-08-05  Bernhard Herzog  <[email protected]>
215    
216            * Thuban/Model/color.py (Color.__repr__): Make the repr of a color
217            object look like a Color instantiation. Formerly it looked like a
218            tuple.
219    
220            * test/test_color.py (TestColor.test_repr)
221            (TestColor.test_equality, TestColor.test_inequality): New. test
222            some more apects of the Color class
223            (TestTransparent.test_repr, TestTransparent.test_hex)
224            (TestTransparent.test_equality): New. Test cases for the
225            Transparent object.
226    
227    2003-08-04  Jan-Oliver Wagner <[email protected]>
228    
229            * Doc/manual/thuban-manual.xml: a number of small improvements.
230            The resulting file is the version submitted for GREAT-ER II.
231    
232    2003-08-01  Bernhard Herzog  <[email protected]>
233    
234            * Thuban/UI/resource.py, Thuban/UI/projdialog.py,
235            Thuban/UI/join.py, Thuban/UI/classgen.py, Thuban/UI/about.py,
236            Thuban/Model/resource.py: Insert cvs keywords and doc-strings.
237    
238            * Thuban/UI/common.py: Insert cvs keywords and doc-strings.
239            (Color2wxColour, wxColour2Color, ThubanBeginBusyCursor)
240            (ThubanEndBusyCursor): Add doc-strings
241    
242    2003-08-01  Bernhard Herzog  <[email protected]>
243    
244            First step towards PostGIS integration. More abstraction by movin
245            more code from the layer to the shapestore. More methods of the
246            layer are now simply delegated to the equivalent method of the
247            shapestore. The SHAPETYPE_* constants are now in data not in
248            layer.
249    
250            * Thuban/Model/data.py (SHAPETYPE_POLYGON, SHAPETYPE_ARC)
251            (SHAPETYPE_POINT, Shape): Move these constants and classes from
252            layer.py to data.py
253            (ShapefileStore.__init__): More Initialization for the new methods
254            and functionality.
255            (ShapefileStore.ShapeType, ShapefileStore.NumShapes)
256            (ShapefileStore.BoundingBox, ShapefileStore.ShapesInRegion)
257            (ShapefileStore.Shape): New methods that were formerly implemented
258            in the layer.
259            (DerivedShapeStore.Shape, DerivedShapeStore.ShapesInRegion)
260            (DerivedShapeStore.ShapeType, DerivedShapeStore.NumShapes)
261            (DerivedShapeStore.BoundingBox): New. DerivedShapeStore
262            equivalents of the new shape methods. These versions are simply
263            delegated to the original shapstore.
264    
265            * Thuban/Model/layer.py (SHAPETYPE_POLYGON, SHAPETYPE_ARC)
266            (SHAPETYPE_POINT, Shape): Removed. They're now in data.py
267            (Layer.SetShapeStore): Removed the initializatin of instance
268            variables that were needed for the stuff that's now in
269            ShapefileStore
270            (Layer.BoundingBox, Layer.NumShapes, Layer.ShapeType)
271            (Layer.Shape, Layer.ShapesInRegion): Simply delegate to the
272            shapestore.
273    
274            * Thuban/UI/classifier.py, Thuban/UI/renderer.py,
275            Thuban/UI/viewport.py: Import the SHAPETYPE_* constants from data
276            instead of layer.
277    
278            * test/test_shapefilestore.py: New. Tests for ShapefileStore.
279    
280            * test/test_derivedshapestore.py: New. Tests for DerivedShapeStore.
281    
282            * test/test_layer.py: Import the SHAPETYPE_* constants from data
283            instead of layer.
284            (TestLayer.test_derived_store): Remove the test for the exception
285            when instantiating the DerivedShapeStore with an incompatible
286            table which is now in test_derivedshapestore.py. Add some more
287            tests of the layer methods to determine whether they work for a
288            DerivedShapeStore as well.
289    
290  2003-07-31  Jonathan Coles   <[email protected]>  2003-07-31  Jonathan Coles   <[email protected]>
291    
292          * Doc/manual/thuban-manual.xml: Fix the list of required packages          * Doc/manual/thuban-manual.xml: Fix the list of required packages

Legend:
Removed from v.1534  
changed lines
  Added in v.1586

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26