/[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 1457 by bh, Fri Jul 18 14:56:29 2003 UTC revision 1565 by bh, Thu Aug 7 19:20:05 2003 UTC
# Line 1  Line 1 
1    2003-08-07  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/data.py (DerivedShapeStore.RawShapeFormat): New.
4            Simply delegates to the original shapestore.
5    
6            * test/test_derivedshapestore.py
7            (TestDerivedShapeStore.test_raw_format): New. Test case for
8            DerivedShapeStore.RawShapeFormat
9    
10    2003-08-07  Bernhard Herzog  <[email protected]>
11    
12            Add raw data interface to shape objects.
13    
14            * Thuban/Model/data.py (ShapefileShape, Shape): Rname the shape
15            class to ShapefileShape which now holds shapefile specific
16            information.
17            (ShapefileShape.compute_bbox): Simplified to not cache any
18            information. The way this method is used that shouldn't matter
19            performance wise.
20            (ShapefileShape.RawData): New. Return the shapeid which is the raw
21            data format for shapes from shapefiles.
22            (ShapefileStore.RawShapeFormat): New. Return the raw datatype used
23            in the shape objects returned by a shapestore. For a
24            ShapefileStore this is always RAW_SHAPEFILE.
25            (RAW_PYTHON, RAW_SHAPEFILE): Constants for the RawShapeFormat
26            method.
27    
28            * test/test_shapefilestore.py
29            (TestShapefileStore.test_raw_format): New test to test the raw
30            format feature of shapes.
31    
32            * Thuban/Model/layer.py: Remove the unused import of Shape from
33            data. It was only there for interface compatibility but it's not
34            used inside of Thuban and the generic Shape class has gone away.
35    
36            * Thuban/UI/renderer.py (MapRenderer.low_level_renderer): Check
37            the raw data format and only use an optimized version of its a
38            shapefile.
39    
40    2003-08-07  Bernhard Herzog  <[email protected]>
41    
42            * test/test_baserenderer.py (SimpleShape): Shape class for the
43            tests.
44            (SimpleShapeStore.Shape): Use SimpleShape instead of
45            Thuban.Model.data.Shape to make the tests independed of the coming
46            changes.
47    
48    2003-08-07  Bernhard Herzog  <[email protected]>
49    
50            * test/support.py (SkipTest, ThubanTestResult, ThubanTestRunner)
51            (ThubanTestProgram): New classes that extend the respective
52            classes from unittest. These new version support skipping tests
53            under certain expected conditions. In the Thuban test suite we
54            uses this for tests that require the optional gdal support.
55            (run_tests): Use ThubanTestProgram instead of the unittest.main()
56    
57            * test/runtests.py (main): Use the new ThubanTestRunner instead of
58            the normal one from unittest
59    
60            * test/test_layer.py (TestLayer.test_raster_layer): If this test
61            is not run because gdal support isn't available report this to the
62            runner.
63    
64            * test/test_baserenderer.py
65            (TestBaseRenderer.test_raster_no_projection): Do not run this test
66            if gdal support isn't available and report this to the runner.
67    
68    2003-08-06  Bernhard Herzog  <[email protected]>
69    
70            Rearrange the renderers a bit, partly in preparation for changes
71            required for the postgis merge, partly to make it more testable.
72            Also make the representation of coordinates in Shapes more
73            consistent.
74    
75            * Thuban/UI/renderer.py (MapRenderer): Most of the code/methods in
76            this class is now in BaseRenderer. This class is now practically
77            only a specialization of BaseRenderer for rendering to an actual
78            wx DC.
79            (ScreenRenderer.draw_shape_layer): Use self.low_level_renderer()
80            to get the shapetype specific rendering functions.
81    
82            * Thuban/UI/baserenderer.py: New file with the basic rendering
83            logic. The code in this file is completely independend of wx.
84            (BaseRenderer): Class with the basic rendering logic
85    
86            * test/test_baserenderer.py: New. Test cases for BaseRenderer
87    
88            * Thuban/UI/view.py (MapCanvas.__init__): New instance variable
89            error_on_redraw to guard agains endless loops and stack overflows
90            when there's a bug in the rendering code that raises exceptions.
91            (MapCanvas.OnIdle, MapCanvas._do_redraw): Split the actual
92            rendering into a separate method _do_redraw so that error handling
93            is a bit easier. When an exception occurs, set error_on_redraw to
94            true. When it's true on entry to OnIdle do nothing and return
95            immediately.
96    
97            * Thuban/Model/data.py (ShapefileStore.Shape): For consistency, a
98            Shape object will always have the coordinates as a list of list of
99            coordinate pairs (tuples).
100            (Shape.compute_bbox): Adapt to new representation.
101    
102            * Thuban/UI/viewport.py (ViewPort.find_shape_at)
103            (ViewPort.LabelShapeAt): Adapt to new coordinate representation in
104            Shape objects.
105    
106            * test/test_shapefilestore.py
107            (ShapefileStoreTests.assertFloatTuplesEqual)
108            (ShapefileStoreTests.assertPointListEquals): Rename to
109            assertPointListEquals and change purpose to checking equality of
110            the lists returned by Shape.Points().
111            (TestShapefileStoreArc.test_shape)
112            (TestShapefileStorePolygon.test_shape)
113            (TestShapefileStorePoint.test_shape): Use the new
114            assertPointListEquals instead of assertFloatTuplesEqual
115    
116            * test/test_layer.py (TestLayer.assertFloatTuplesEqual)
117            (TestLayer.assertPointListEquals): Rename to assertPointListEquals
118            and change purpose to checking equality of the lists returned by
119            Shape.Points().
120            (TestLayer.test_arc_layer, TestLayer.test_arc_layer)
121            (TestLayer.test_polygon_layer, TestLayer.test_point_layer)
122            (TestLayer.test_derived_store): Use the new assertPointListEquals
123            instead of assertFloatTuplesEqual
124    
125            * test/test_derivedshapestore.py
126            (TestDerivedShapeStore.assertFloatTuplesEqual)
127            (TestDerivedShapeStore.assertPointListEquals): Rename to
128            assertPointListEquals and change purpose to checking equality of
129            the lists returned by Shape.Points().
130            (TestDerivedShapeStore.test_shape): Use the new
131            assertPointListEquals instead of assertFloatTuplesEqual
132    
133    2003-08-06  Jan-Oliver Wagner <[email protected]>
134    
135            * Thuban/UI/projdialog.py (UTMPanel._OnPropose): Added test for
136            a bounding box. A dialog is raised in case, no bounding box
137            is found. This fixes bug #2043:
138            https://intevation.de/rt/webrt?serial_num=2043
139    
140    2003-08-05  Bernhard Herzog  <[email protected]>
141    
142            * Thuban/Model/color.py (Color.__repr__): Make the repr of a color
143            object look like a Color instantiation. Formerly it looked like a
144            tuple.
145    
146            * test/test_color.py (TestColor.test_repr)
147            (TestColor.test_equality, TestColor.test_inequality): New. test
148            some more apects of the Color class
149            (TestTransparent.test_repr, TestTransparent.test_hex)
150            (TestTransparent.test_equality): New. Test cases for the
151            Transparent object.
152    
153    2003-08-04  Jan-Oliver Wagner <[email protected]>
154    
155            * Doc/manual/thuban-manual.xml: a number of small improvements.
156            The resulting file is the version submitted for GREAT-ER II.
157    
158    2003-08-01  Bernhard Herzog  <[email protected]>
159    
160            * Thuban/UI/resource.py, Thuban/UI/projdialog.py,
161            Thuban/UI/join.py, Thuban/UI/classgen.py, Thuban/UI/about.py,
162            Thuban/Model/resource.py: Insert cvs keywords and doc-strings.
163    
164            * Thuban/UI/common.py: Insert cvs keywords and doc-strings.
165            (Color2wxColour, wxColour2Color, ThubanBeginBusyCursor)
166            (ThubanEndBusyCursor): Add doc-strings
167    
168    2003-08-01  Bernhard Herzog  <[email protected]>
169    
170            First step towards PostGIS integration. More abstraction by movin
171            more code from the layer to the shapestore. More methods of the
172            layer are now simply delegated to the equivalent method of the
173            shapestore. The SHAPETYPE_* constants are now in data not in
174            layer.
175    
176            * Thuban/Model/data.py (SHAPETYPE_POLYGON, SHAPETYPE_ARC)
177            (SHAPETYPE_POINT, Shape): Move these constants and classes from
178            layer.py to data.py
179            (ShapefileStore.__init__): More Initialization for the new methods
180            and functionality.
181            (ShapefileStore.ShapeType, ShapefileStore.NumShapes)
182            (ShapefileStore.BoundingBox, ShapefileStore.ShapesInRegion)
183            (ShapefileStore.Shape): New methods that were formerly implemented
184            in the layer.
185            (DerivedShapeStore.Shape, DerivedShapeStore.ShapesInRegion)
186            (DerivedShapeStore.ShapeType, DerivedShapeStore.NumShapes)
187            (DerivedShapeStore.BoundingBox): New. DerivedShapeStore
188            equivalents of the new shape methods. These versions are simply
189            delegated to the original shapstore.
190    
191            * Thuban/Model/layer.py (SHAPETYPE_POLYGON, SHAPETYPE_ARC)
192            (SHAPETYPE_POINT, Shape): Removed. They're now in data.py
193            (Layer.SetShapeStore): Removed the initializatin of instance
194            variables that were needed for the stuff that's now in
195            ShapefileStore
196            (Layer.BoundingBox, Layer.NumShapes, Layer.ShapeType)
197            (Layer.Shape, Layer.ShapesInRegion): Simply delegate to the
198            shapestore.
199    
200            * Thuban/UI/classifier.py, Thuban/UI/renderer.py,
201            Thuban/UI/viewport.py: Import the SHAPETYPE_* constants from data
202            instead of layer.
203    
204            * test/test_shapefilestore.py: New. Tests for ShapefileStore.
205    
206            * test/test_derivedshapestore.py: New. Tests for DerivedShapeStore.
207    
208            * test/test_layer.py: Import the SHAPETYPE_* constants from data
209            instead of layer.
210            (TestLayer.test_derived_store): Remove the test for the exception
211            when instantiating the DerivedShapeStore with an incompatible
212            table which is now in test_derivedshapestore.py. Add some more
213            tests of the layer methods to determine whether they work for a
214            DerivedShapeStore as well.
215    
216    2003-07-31  Jonathan Coles   <[email protected]>
217    
218            * Doc/manual/thuban-manual.xml: Fix the list of required packages
219            by just listing the name and where they can be found.
220    
221    2003-07-31  Frank Koormann   <[email protected]>
222    
223            * Doc/manual/thuban-manual.xml:
224            Changed the screenshot elements to figure.
225            Changed some variablelist elements to itemizedlist.
226            Added section on GDAL formats.
227    
228    2003-07-31  Jonathan Coles   <[email protected]>
229    
230            * Doc/manual/thuban-manual.xml: Added a few sentences about
231            the Fix Border Color option when generating classes.
232    
233    2003-07-30  Jonathan Coles   <[email protected]>
234    
235            * Thuban/Model/classgen.py: Add docstrings. Rename specific
236            Ramp instances to use lower_case_style.
237    
238            * Thuban/UI/classgen.py: Use renamed Ramp instances.
239            
240            * Thuban/UI/classifier.py: Add docstrings.
241    
242            * Thuban/UI/dock.py: Add docstrings.
243    
244            * test/test_classgen.py: Use renamed Ramp instances.
245    
246    2003-07-30  Bernhard Herzog  <[email protected]>
247    
248            * Thuban/Lib/connector.py (QueueingPublisher): Removed. This class
249            was never used in Thuban.
250    
251    2003-07-30  Bernhard Herzog  <[email protected]>
252    
253            * Thuban/UI/join.py (JoinDialog.__init__): Use the table's Title()
254            method directly instead of going through the transient_table
255            method. This faster because transient_table may force the copy of
256            a DBF file into the transient database and setting a table's title
257            doesnm't affect the title of the associated transient table, so
258            this fixes RT #2042
259    
260            * Thuban/UI/main.py (__version__): Don't import the already
261            removed show_exception_dialog.
262    
263    2003-07-29  Jonathan Coles   <[email protected]>
264    
265            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
266            Put back this method and remove the equivalent function since we
267            are setting the exception hook from within this class (OnInit).
268    
269    2003-07-29  Jonathan Coles   <[email protected]>
270    
271            * Doc/manual/images/5_2_custom_ramp.png,
272            Doc/manual/images/5_2_quantiles.png,
273            Doc/manual/images/5_2_uniform_dist.png,
274            Doc/manual/images/5_2_unique_values.png,
275            Doc/manual/images/8_int_error.png: New screen shots.
276    
277            * Doc/manual/thuban-manual.xml: Fixed typos and wording, clarified
278            some points, and added more screen shots.
279    
280    2003-07-29  Bernhard Herzog  <[email protected]>
281    
282            * Thuban/Model/data.py: Remove the now unused import of warnings
283    
284    2003-07-29  Bernhard Herzog  <[email protected]>
285    
286            * Thuban/Model/data.py (SimpleStore): Removed. This class has been
287            deprecated since before the 0.8 release and isn't used in Thuban
288            itself anymore.
289    
290            * Thuban/Model/transientdb.py: Remove some unnecessary imports
291    
292    2003-07-29  Jonathan Coles   <[email protected]>
293    
294            * Thuban/UI/application.py (ThubanApplication.OnInit): set the
295            python exception hook here so that we are sure to catch any
296            Thuban exception that happen during initialization.
297    
298            * Thuban/UI/main.py (main): Don't set the exception hook here,
299            it will get set in ThubanApplication.OnInit.
300    
301    2003-07-29  Jonathan Coles   <[email protected]>
302                                                                                
303            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
304            Removed and called it show_exception_dialog() so that the exception
305            handler can be set before the class is created.
306                                                                                
307            * Thuban/UI/main.py (main): Install the exception handler before
308            a ThubanApplication is created.
309                                                                                    
310    2003-07-29  Bernhard Herzog  <[email protected]>
311    
312            * po/it.po: New. Italian translation by Maurizio Napolitano
313    
314            * po/ru.po: New. Russian translation by Alex Shevlakov
315    
316    2003-07-29  Frank Koormann   <[email protected]>
317    
318            * Doc/manual/thuban-manual.xml: Extended section on supported
319            projections.
320            
321    2003-07-29  Frank Koormann   <[email protected]>
322    
323            * Doc/manual/thuban-manual.xml: gaspell-checked.
324    
325    2003-07-29  Jonathan Coles   <[email protected]>
326    
327            * Doc/manual/images/3_5_legend.png: Added border to improve look
328            on white background.
329    
330    2003-07-29  Jonathan Coles   <[email protected]>
331    
332            * Doc/manual/thuban-manual.xml: Fixed grammar and typos. Added
333            descriptions for the legend toolbar.
334    
335            * Doc/manual/images/4_2_raster_layer_properties.png: Removed
336            cursor from dialog box.
337    
338    2003-07-28  Jonathan Coles   <[email protected]>
339    
340            * Doc/manual/thuban-manual.xml: More screenshots and more chapters.
341    
342            * Doc/manual/images/2_4_session_tree.png,
343            Doc/manual/images/3_5_legend.png, Doc/manual/images/3_rename_map.png,
344            Doc/manual/images/4_2_layer_properties.png,
345            Doc/manual/images/4_2_raster_layer_properties.png,
346            Doc/manual/images/5_3_genclass.png,
347            Doc/manual/images/5_classification.png,
348            Doc/manual/images/6_projection.png,
349            Doc/manual/images/7_1_table_view.png,
350            Doc/manual/images/7_2_5_join.png: New screenshots.
351    
352    2003-07-24  Jonathan Coles   <[email protected]>
353    
354            * Doc/manual/thuban-manual.xml: Chapter on Projection Management.
355    
356    2003-07-24  Jonathan Coles   <[email protected]>
357    
358            * Doc/manual/thuban-manual.xml: Added EPS images and wrote
359            chapter on Layer Management.
360    
361            * Doc/manual/Makefile: New. Makefile to generate all formats for the
362            manual and images.
363    
364    2003-07-24  Bernhard Herzog  <[email protected]>
365    
366            * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as
367            it annoys lintian which warns about these files not being
368            executable. The #1 isn't necessary here since if you absolutely
369            must execute them you can always say "python <filename>".
370    
371            * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove
372            superfluous code to set brush and pen for point shapes
373    
374            * Thuban/UI/viewport.py: Remove commented out code that wouldn't
375            belong in viewport anyway
376    
377    2003-07-24  Frank Koormann   <[email protected]>
378    
379            * Doc/manual/thuban-manual.xml: Added section on table management.
380    
381    2003-07-24  Bernhard Herzog  <[email protected]>
382    
383            * test/runtests.py (main): Recognize the long "verbose" option
384            correctly.
385    
386    2003-07-22  Jonathan Coles   <[email protected]>
387    
388            * Doc/manual/thuban-manual.xml: Continue to write first revision
389            of the manual.
390    
391            * Thuban/UI/renderer.py (MapRenderer.render_map): Wrap method
392            with Begin/EndDrawing() calls to ensure we aren't doing to
393            many updates to the dc during rendering.
394            (ScreenRenderer.draw_shape_layer): self.draw_point_shape takes
395            a pen and brush argument so they need to be passed to the function.
396    
397            * Thuban/UI/viewport.py (ViewPort.calc_min_max_scales): New.
398            Calculates the minimum and maximum scale values. Factored out
399            of set_view_transform so that it could be used to zoom all the
400            way into a single point.
401            (ViewPort.set_view_transform): Call calc_min_max_scales().
402            (ViewPort.FitSelectedToWindow): Zoom to the maximum scale
403            if only a single point is selected.
404    
405            * Doc/manual/images/1_2_legend_close.png,
406            Doc/manual/images/1_2_legend_dock.png,
407            Doc/manual/images/1_2_mainwindow.png,
408            Doc/manual/images/1_2_mainwindow.ps,
409            Doc/manual/images/1_2_mainwindow.sk,
410            Doc/manual/images/3_2_fullextent.png,
411            Doc/manual/images/3_2_fulllayerextent.png,
412            Doc/manual/images/3_2_fullshapeextent.png,
413            Doc/manual/images/3_2_pan.png,
414            Doc/manual/images/3_2_zoomin.png,
415            Doc/manual/images/3_2_zoomout.png,
416            Doc/manual/images/3_3_identify.png,
417            Doc/manual/images/3_3_label.png,
418            Doc/manual/images/3_5_invisible.png,
419            Doc/manual/images/3_5_movedown.png,
420            Doc/manual/images/3_5_moveup.png,
421            Doc/manual/images/3_5_props.png,
422            Doc/manual/images/3_5_tobottom.png,
423            Doc/manual/images/3_5_totop.png,
424            Doc/manual/images/3_5_visible.png: New. Images for the documentation.
425    
426    2003-07-18  Bernhard Herzog  <[email protected]>
427    
428            * Thuban/UI/messages.py (MAP_REPLACED): New message.
429    
430            * Thuban/UI/viewport.py (ViewPort.SetMap): Issue MAP_REPLACED
431            after the new map has been assigned
432    
433            * Thuban/UI/mainwindow.py (MainWindow.delegated_messages):
434            Delegate MAP_REPLACED to the canvas too
435            (MainWindow.prepare_new_session): Removed. Thanks to the new
436            MAP_REPLACED message it's no longer needed
437            (MainWindow.OpenSession, MainWindow.NewSession):
438            prepare_new_session has been removed.
439    
440            * Thuban/UI/classifier.py (Classifier.__init__): Subscribe to
441            MAP_REPLACED so that we can close the dialog if a new map is set.
442            (Classifier.unsubscribe_messages): Unsubscribe from MAP_REPLACED
443            (Classifier.map_replaced): Handle MAP_REPLACED by closing the
444            dialog
445    
446            * test/test_viewport.py (SimpleViewPortTest)
447            (SimpleViewPortTest.test_default_size): Add doc-strings
448            (ViewPortTest.setUp): Bind map to self.map so we can use it in
449            tests. Subscribe to MAP_REPLACED messages too.
450            (ViewPortTest.tearDown): No need to explicitly unsubscribe
451            (ViewPortTest.test_set_map): New test for the SetMap method.
452    
453    2003-07-18  Bernhard Herzog  <[email protected]>
454    
455            * test/test_viewport.py (SimpleViewPortTest.test_default_size):
456            Move this test from ViewPortTest.setUp to this new separate test
457            case. setUp is not the place for the actual tests.
458            (ViewPortTest.test_inital_settings, ViewPortTest.setUp): Move some
459            more of the test from setUp to the new test test_inital_settings.
460            (ViewPortTest.test_win_to_proj, ViewPortTest.test_proj_to_win)
461            (ViewPortTest.test_proj_conv): Split test_proj_conv into
462            test_win_to_proj and test_proj_to_win and make the tests easier to
463            understand
464            (ViewPortTest.testFitRectToWindow, ViewPortTest.testZoomFactor)
465            (ViewPortTest.testZoomOutToRect, ViewPortTest.testTranslate)
466            (ViewPortTest.test_unprojected_rect_around_point)
467            (ViewPortTest.test_find_shape_at, ViewPortTest.testTools):
468            Reformat to increase readability.
469    
470    2003-07-18  Bernhard Herzog  <[email protected]>
471    
472            * Thuban/UI/view.py (MapCanvas.OnLeftDown): Capture the mouse.
473    
474    2003-07-18  Bernhard Herzog  <[email protected]>
475    
476            * test/runtests.py: The test suite can now be run without an X
477            connection. To make sure this remains true, remove the DISPLAY
478            environment variable so that an error occurs if the wxGTK is
479            imported accidentally
480    
481  2003-07-18  Bernhard Herzog  <[email protected]>  2003-07-18  Bernhard Herzog  <[email protected]>
482    
483          * Thuban/UI/viewport.py: Remove unused imports          * Thuban/UI/viewport.py: Remove unused imports

Legend:
Removed from v.1457  
changed lines
  Added in v.1565

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26