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

Legend:
Removed from v.1459  
changed lines
  Added in v.1580

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26