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

Legend:
Removed from v.1522  
changed lines
  Added in v.1588

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26