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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26