/[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 1422 by bh, Tue Jul 15 14:47:06 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]>
336    
337            * Thuban/UI/join.py (JoinDialog.__init__): Use the table's Title()
338            method directly instead of going through the transient_table
339            method. This faster because transient_table may force the copy of
340            a DBF file into the transient database and setting a table's title
341            doesnm't affect the title of the associated transient table, so
342            this fixes RT #2042
343    
344            * Thuban/UI/main.py (__version__): Don't import the already
345            removed show_exception_dialog.
346    
347    2003-07-29  Jonathan Coles   <[email protected]>
348    
349            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
350            Put back this method and remove the equivalent function since we
351            are setting the exception hook from within this class (OnInit).
352    
353    2003-07-29  Jonathan Coles   <[email protected]>
354    
355            * Doc/manual/images/5_2_custom_ramp.png,
356            Doc/manual/images/5_2_quantiles.png,
357            Doc/manual/images/5_2_uniform_dist.png,
358            Doc/manual/images/5_2_unique_values.png,
359            Doc/manual/images/8_int_error.png: New screen shots.
360    
361            * Doc/manual/thuban-manual.xml: Fixed typos and wording, clarified
362            some points, and added more screen shots.
363    
364    2003-07-29  Bernhard Herzog  <[email protected]>
365    
366            * Thuban/Model/data.py: Remove the now unused import of warnings
367    
368    2003-07-29  Bernhard Herzog  <[email protected]>
369    
370            * Thuban/Model/data.py (SimpleStore): Removed. This class has been
371            deprecated since before the 0.8 release and isn't used in Thuban
372            itself anymore.
373    
374            * Thuban/Model/transientdb.py: Remove some unnecessary imports
375    
376    2003-07-29  Jonathan Coles   <[email protected]>
377    
378            * Thuban/UI/application.py (ThubanApplication.OnInit): set the
379            python exception hook here so that we are sure to catch any
380            Thuban exception that happen during initialization.
381    
382            * Thuban/UI/main.py (main): Don't set the exception hook here,
383            it will get set in ThubanApplication.OnInit.
384    
385    2003-07-29  Jonathan Coles   <[email protected]>
386                                                                                
387            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
388            Removed and called it show_exception_dialog() so that the exception
389            handler can be set before the class is created.
390                                                                                
391            * Thuban/UI/main.py (main): Install the exception handler before
392            a ThubanApplication is created.
393                                                                                    
394    2003-07-29  Bernhard Herzog  <[email protected]>
395    
396            * po/it.po: New. Italian translation by Maurizio Napolitano
397    
398            * po/ru.po: New. Russian translation by Alex Shevlakov
399    
400    2003-07-29  Frank Koormann   <[email protected]>
401    
402            * Doc/manual/thuban-manual.xml: Extended section on supported
403            projections.
404            
405    2003-07-29  Frank Koormann   <[email protected]>
406    
407            * Doc/manual/thuban-manual.xml: gaspell-checked.
408    
409    2003-07-29  Jonathan Coles   <[email protected]>
410    
411            * Doc/manual/images/3_5_legend.png: Added border to improve look
412            on white background.
413    
414    2003-07-29  Jonathan Coles   <[email protected]>
415    
416            * Doc/manual/thuban-manual.xml: Fixed grammar and typos. Added
417            descriptions for the legend toolbar.
418    
419            * Doc/manual/images/4_2_raster_layer_properties.png: Removed
420            cursor from dialog box.
421    
422    2003-07-28  Jonathan Coles   <[email protected]>
423    
424            * Doc/manual/thuban-manual.xml: More screenshots and more chapters.
425    
426            * Doc/manual/images/2_4_session_tree.png,
427            Doc/manual/images/3_5_legend.png, Doc/manual/images/3_rename_map.png,
428            Doc/manual/images/4_2_layer_properties.png,
429            Doc/manual/images/4_2_raster_layer_properties.png,
430            Doc/manual/images/5_3_genclass.png,
431            Doc/manual/images/5_classification.png,
432            Doc/manual/images/6_projection.png,
433            Doc/manual/images/7_1_table_view.png,
434            Doc/manual/images/7_2_5_join.png: New screenshots.
435    
436    2003-07-24  Jonathan Coles   <[email protected]>
437    
438            * Doc/manual/thuban-manual.xml: Chapter on Projection Management.
439    
440    2003-07-24  Jonathan Coles   <[email protected]>
441    
442            * Doc/manual/thuban-manual.xml: Added EPS images and wrote
443            chapter on Layer Management.
444    
445            * Doc/manual/Makefile: New. Makefile to generate all formats for the
446            manual and images.
447    
448    2003-07-24  Bernhard Herzog  <[email protected]>
449    
450            * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as
451            it annoys lintian which warns about these files not being
452            executable. The #1 isn't necessary here since if you absolutely
453            must execute them you can always say "python <filename>".
454    
455            * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove
456            superfluous code to set brush and pen for point shapes
457    
458            * Thuban/UI/viewport.py: Remove commented out code that wouldn't
459            belong in viewport anyway
460    
461    2003-07-24  Frank Koormann   <[email protected]>
462    
463            * Doc/manual/thuban-manual.xml: Added section on table management.
464    
465    2003-07-24  Bernhard Herzog  <[email protected]>
466    
467            * test/runtests.py (main): Recognize the long "verbose" option
468            correctly.
469    
470    2003-07-22  Jonathan Coles   <[email protected]>
471    
472            * Doc/manual/thuban-manual.xml: Continue to write first revision
473            of the manual.
474    
475            * Thuban/UI/renderer.py (MapRenderer.render_map): Wrap method
476            with Begin/EndDrawing() calls to ensure we aren't doing to
477            many updates to the dc during rendering.
478            (ScreenRenderer.draw_shape_layer): self.draw_point_shape takes
479            a pen and brush argument so they need to be passed to the function.
480    
481            * Thuban/UI/viewport.py (ViewPort.calc_min_max_scales): New.
482            Calculates the minimum and maximum scale values. Factored out
483            of set_view_transform so that it could be used to zoom all the
484            way into a single point.
485            (ViewPort.set_view_transform): Call calc_min_max_scales().
486            (ViewPort.FitSelectedToWindow): Zoom to the maximum scale
487            if only a single point is selected.
488    
489            * Doc/manual/images/1_2_legend_close.png,
490            Doc/manual/images/1_2_legend_dock.png,
491            Doc/manual/images/1_2_mainwindow.png,
492            Doc/manual/images/1_2_mainwindow.ps,
493            Doc/manual/images/1_2_mainwindow.sk,
494            Doc/manual/images/3_2_fullextent.png,
495            Doc/manual/images/3_2_fulllayerextent.png,
496            Doc/manual/images/3_2_fullshapeextent.png,
497            Doc/manual/images/3_2_pan.png,
498            Doc/manual/images/3_2_zoomin.png,
499            Doc/manual/images/3_2_zoomout.png,
500            Doc/manual/images/3_3_identify.png,
501            Doc/manual/images/3_3_label.png,
502            Doc/manual/images/3_5_invisible.png,
503            Doc/manual/images/3_5_movedown.png,
504            Doc/manual/images/3_5_moveup.png,
505            Doc/manual/images/3_5_props.png,
506            Doc/manual/images/3_5_tobottom.png,
507            Doc/manual/images/3_5_totop.png,
508            Doc/manual/images/3_5_visible.png: New. Images for the documentation.
509    
510    2003-07-18  Bernhard Herzog  <[email protected]>
511    
512            * Thuban/UI/messages.py (MAP_REPLACED): New message.
513    
514            * Thuban/UI/viewport.py (ViewPort.SetMap): Issue MAP_REPLACED
515            after the new map has been assigned
516    
517            * Thuban/UI/mainwindow.py (MainWindow.delegated_messages):
518            Delegate MAP_REPLACED to the canvas too
519            (MainWindow.prepare_new_session): Removed. Thanks to the new
520            MAP_REPLACED message it's no longer needed
521            (MainWindow.OpenSession, MainWindow.NewSession):
522            prepare_new_session has been removed.
523    
524            * Thuban/UI/classifier.py (Classifier.__init__): Subscribe to
525            MAP_REPLACED so that we can close the dialog if a new map is set.
526            (Classifier.unsubscribe_messages): Unsubscribe from MAP_REPLACED
527            (Classifier.map_replaced): Handle MAP_REPLACED by closing the
528            dialog
529    
530            * test/test_viewport.py (SimpleViewPortTest)
531            (SimpleViewPortTest.test_default_size): Add doc-strings
532            (ViewPortTest.setUp): Bind map to self.map so we can use it in
533            tests. Subscribe to MAP_REPLACED messages too.
534            (ViewPortTest.tearDown): No need to explicitly unsubscribe
535            (ViewPortTest.test_set_map): New test for the SetMap method.
536    
537    2003-07-18  Bernhard Herzog  <[email protected]>
538    
539            * test/test_viewport.py (SimpleViewPortTest.test_default_size):
540            Move this test from ViewPortTest.setUp to this new separate test
541            case. setUp is not the place for the actual tests.
542            (ViewPortTest.test_inital_settings, ViewPortTest.setUp): Move some
543            more of the test from setUp to the new test test_inital_settings.
544            (ViewPortTest.test_win_to_proj, ViewPortTest.test_proj_to_win)
545            (ViewPortTest.test_proj_conv): Split test_proj_conv into
546            test_win_to_proj and test_proj_to_win and make the tests easier to
547            understand
548            (ViewPortTest.testFitRectToWindow, ViewPortTest.testZoomFactor)
549            (ViewPortTest.testZoomOutToRect, ViewPortTest.testTranslate)
550            (ViewPortTest.test_unprojected_rect_around_point)
551            (ViewPortTest.test_find_shape_at, ViewPortTest.testTools):
552            Reformat to increase readability.
553    
554    2003-07-18  Bernhard Herzog  <[email protected]>
555    
556            * Thuban/UI/view.py (MapCanvas.OnLeftDown): Capture the mouse.
557    
558    2003-07-18  Bernhard Herzog  <[email protected]>
559    
560            * test/runtests.py: The test suite can now be run without an X
561            connection. To make sure this remains true, remove the DISPLAY
562            environment variable so that an error occurs if the wxGTK is
563            imported accidentally
564    
565    2003-07-18  Bernhard Herzog  <[email protected]>
566    
567            * Thuban/UI/viewport.py: Remove unused imports
568    
569            * Thuban/UI/view.py: Remove unused imports
570    
571    2003-07-18  Bernhard Herzog  <[email protected]>
572    
573            * test/test_export.py Remove unused imports. The OutputTransform
574            function is now in viewport.py and is called output_transform
575            (TestScalebar.test_output_transform)
576            (TestScalebar.test_OutputTransform): Renamed to
577            test_output_transform and updated to use output_transform instead
578            of OutputTransform
579    
580            * Thuban/UI/view.py (OutputTransform): Moved to viewport.py and
581            renamed.
582            (MapCanvas.Export, MapPrintout.draw_on_dc): OutputTransform was
583            renamed to output_transform
584    
585            * Thuban/UI/viewport.py (OutputTransform, output_transform):
586            Rename to output_transform
587    
588    2003-07-18  Bernhard Herzog  <[email protected]>
589    
590            * Thuban/Model/layer.py (Layer.__init__): Rename
591            classificationField to classificatin_column and init it here so
592            that it can be used in SetClassificationColumn
593            (Layer.GetClassificationColumn, Layer.GetClassificationField):
594            Rename to GetClassificationColumn.
595            (Layer.SetClassificationColumn, Layer.SetClassificationField):
596            Rename to SetClassificationColumn and issue a LAYER_CHANGED
597            message if the column changes.
598            (Layer._classification_changed, Layer.ClassChanged): Rename to
599            _classification_changed. Update the callers.
600            (Layer.SetShapeStore): Further field->column renames.
601    
602            * Thuban/Model/load.py (SessionLoader.start_classification)
603            (SessionLoader.start_clpoint): Updates because of
604            field->column method name changes in the Layer class
605    
606            * Thuban/Model/save.py (SessionSaver.write_classification): Updates
607            because of field->column method name changes in the Layer class
608    
609            * Thuban/UI/classifier.py (Classifier.__init__)
610            (Classifier._OnTry, Classifier._OnRevert): Updates because of
611            field->column method name changes in the Layer class
612    
613            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Updates
614            because of field->column method name changes in the Layer class
615    
616            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Updates because
617            of field->column method name changes in the Layer class
618    
619            * test/test_save.py (SaveSessionTest.testClassifiedLayer)
620            (SaveSessionTest.testClassifiedLayer): Update because of
621            field->column method name changes in the Layer class
622    
623            * test/test_layer.py (SetShapeStoreTests.setUp)
624            (SetShapeStoreTests.test_sanity): Update because of field->column
625            method name changes in the Layer class
626            (TestLayerModification.setUp): Subscribe to LAYER_CHANGED as well
627            (TestLayerModification.test_sanity)
628            (TestLayerModification.test_initial_settings): remove unsued code
629            and rename to test_sanity.
630            (TestLayerModification.test_set_classification): New test for
631            SetClassification and SetClassificationField.
632    
633    2003-07-18  Bernhard Herzog  <[email protected]>
634    
635            * test/test_classgen.py (TestFixedRamp.test): Extend test to check
636            the non-fixed values as well. The old test would have accepted a
637            fixed ramp that only returnes the fixed properties
638    
639    2003-07-17  Jonathan Coles   <[email protected]>
640    
641            * Doc/manual/mainwindow.png, Doc/manual/mainwindow.xcf: Screen
642            shots for the manual. The XCF file is the source image and
643            has additional layers to support changes.
644    
645            * Doc/manual/thuban-manual.xml: Wrote an initial Introduction.
646    
647            * Thuban/UI/classifier.py (Classifier.__BuildClassification):
648            Return both the new class and the field name.
649    
650            * Thuban/UI/mainwindow.py (MainWindow.ToggleLegend): Don't
651            fit the map to the window as this changes any zoom level that
652            the user may have set.
653    
654    2003-07-16  Jonathan Coles   <[email protected]>
655    
656            * Thuban/Model/classgen.py (generate_singletons,
657            generate_uniform_distribution, generate_quantiles): Remove
658            fixes parameter, but maintain the same functionality by having
659            the calling function pass a FixedRamp object for the ramp.
660            (FixedRamp): New. Adapts a ramp to have fixed property values.
661    
662            * Thuban/Model/classification.py: Use new CLASS_CHANGED message.
663            (Classification): Inherit from Publisher.
664            (Classification.__init__): Remove the layer parameter.
665            Classifications no longer need to have a parent layer.
666            (Classification.GetField, Classification.GetFieldType,
667            Classification.SetFieldInfo): Removed. The field name is stored
668            in the layer, and the type can be retreived by calling
669            Layer.GetFieldType().
670            (Classification._set_layer, Classification.GetLayer): Removed.
671            Classifications no longer have a parent layer.
672    
673            * Thuban/Model/layer.py (Layer.Destroy): Unsubscribe from the
674            classification.
675            (Layer.SetShapeStore): Reset the classification first while
676            we still have the old shape store to work with.
677            (Layer.GetClassificationField, Layer.SetClassificationField):
678            New. Method for getting/setting the field to classify on.
679            (Layer.SetClassification): Simplified now that the layer
680            simply has to hold a reference to the classification and not
681            tell the classification who owns it.
682            Fixes RTbug #2023.
683    
684            * Thuban/Model/load.py (SessionLoader.start_classification):
685            Set the field name on the layer, not the classification.
686    
687            * Thuban/Model/messages.py: Add CLASS_CHANGED for when a
688            classification is modified.
689    
690            * Thuban/Model/save.py (SessionSaver.write_classification):
691            Get the field name and type from the layer.
692    
693            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Renamed
694            parameter records to rows and add docstring. Fixes RTbug #1997.
695    
696            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Use a fixed
697            ramp when we need to fix certain values of a ramp rather than
698            using the old fixes parameter. Fixes RTbug #2024.
699    
700            * Thuban/UI/classifier.py (ClassGrid.CreateTable): Add fieldType
701            parameter.
702            (ClassTable.Reset): Add fieldType parameter and use it, rather
703            than asking the classification.
704            (Classifier.__init__): Remember the original class's field
705            and ask the layer for the field type, rather than the classification.
706            (Classifier.__SetGridTable): Retrieve the field and field type
707            for the table because they are not in the classification.
708            (Classifier._OnTry, Classifier._OnRevert): Set the classification
709            field on the layer in addition to the classification itself.
710    
711            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Get the
712            classification field from layer.
713    
714            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Get the
715            classification field from layer. Split up tests and remove
716            *-imports. Fixes RTbug #1992.
717    
718            * test/test_classgen.py (TestFixedRamp): Test for the FixedRamp class.
719    
720            * test/test_classification.py
721            (TestClassification.test_classification): Remove tests for methods
722            that no longer exist.
723    
724            * test/test_layer.py (SetShapeStoreTests.setUp): Classification
725            __init__ no longer has a field parameter, use SetClassificationField.
726            (SetShapeStoreTests.test_sanity): Use layer object to get class
727            field info.
728    
729            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Use
730            SetClassificationField on layer to set class field info.
731    
732            * test/test_viewport.py: Renamed from test/test_view.py.
733    
734    2003-07-16  Jan-Oliver Wagner <[email protected]>
735    
736            * Doc/manual/thuban-manual.xml: Added authors and an initial
737            coarse structure.
738    
739  2003-07-15  Bernhard Herzog  <[email protected]>  2003-07-15  Bernhard Herzog  <[email protected]>
740    
741          * test/support.py (FloatComparisonMixin): This is a mix-in class          * test/support.py (FloatComparisonMixin): This is a mix-in class

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26