/[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 1418 by bh, Tue Jul 15 08:44:20 2003 UTC revision 1559 by bh, Thu Aug 7 17:32:20 2003 UTC
# Line 1  Line 1 
1    2003-08-07  Bernhard Herzog  <[email protected]>
2    
3            * test/test_baserenderer.py (SimpleShape): Shape class for the
4            tests.
5            (SimpleShapeStore.Shape): Use SimpleShape instead of
6            Thuban.Model.data.Shape to make the tests independed of the coming
7            changes.
8    
9    2003-08-07  Bernhard Herzog  <[email protected]>
10    
11            * test/support.py (SkipTest, ThubanTestResult, ThubanTestRunner)
12            (ThubanTestProgram): New classes that extend the respective
13            classes from unittest. These new version support skipping tests
14            under certain expected conditions. In the Thuban test suite we
15            uses this for tests that require the optional gdal support.
16            (run_tests): Use ThubanTestProgram instead of the unittest.main()
17    
18            * test/runtests.py (main): Use the new ThubanTestRunner instead of
19            the normal one from unittest
20    
21            * test/test_layer.py (TestLayer.test_raster_layer): If this test
22            is not run because gdal support isn't available report this to the
23            runner.
24    
25            * test/test_baserenderer.py
26            (TestBaseRenderer.test_raster_no_projection): Do not run this test
27            if gdal support isn't available and report this to the runner.
28    
29    2003-08-06  Bernhard Herzog  <[email protected]>
30    
31            Rearrange the renderers a bit, partly in preparation for changes
32            required for the postgis merge, partly to make it more testable.
33            Also make the representation of coordinates in Shapes more
34            consistent.
35    
36            * Thuban/UI/renderer.py (MapRenderer): Most of the code/methods in
37            this class is now in BaseRenderer. This class is now practically
38            only a specialization of BaseRenderer for rendering to an actual
39            wx DC.
40            (ScreenRenderer.draw_shape_layer): Use self.low_level_renderer()
41            to get the shapetype specific rendering functions.
42    
43            * Thuban/UI/baserenderer.py: New file with the basic rendering
44            logic. The code in this file is completely independend of wx.
45            (BaseRenderer): Class with the basic rendering logic
46    
47            * test/test_baserenderer.py: New. Test cases for BaseRenderer
48    
49            * Thuban/UI/view.py (MapCanvas.__init__): New instance variable
50            error_on_redraw to guard agains endless loops and stack overflows
51            when there's a bug in the rendering code that raises exceptions.
52            (MapCanvas.OnIdle, MapCanvas._do_redraw): Split the actual
53            rendering into a separate method _do_redraw so that error handling
54            is a bit easier. When an exception occurs, set error_on_redraw to
55            true. When it's true on entry to OnIdle do nothing and return
56            immediately.
57    
58            * Thuban/Model/data.py (ShapefileStore.Shape): For consistency, a
59            Shape object will always have the coordinates as a list of list of
60            coordinate pairs (tuples).
61            (Shape.compute_bbox): Adapt to new representation.
62    
63            * Thuban/UI/viewport.py (ViewPort.find_shape_at)
64            (ViewPort.LabelShapeAt): Adapt to new coordinate representation in
65            Shape objects.
66    
67            * test/test_shapefilestore.py
68            (ShapefileStoreTests.assertFloatTuplesEqual)
69            (ShapefileStoreTests.assertPointListEquals): Rename to
70            assertPointListEquals and change purpose to checking equality of
71            the lists returned by Shape.Points().
72            (TestShapefileStoreArc.test_shape)
73            (TestShapefileStorePolygon.test_shape)
74            (TestShapefileStorePoint.test_shape): Use the new
75            assertPointListEquals instead of assertFloatTuplesEqual
76    
77            * test/test_layer.py (TestLayer.assertFloatTuplesEqual)
78            (TestLayer.assertPointListEquals): Rename to assertPointListEquals
79            and change purpose to checking equality of the lists returned by
80            Shape.Points().
81            (TestLayer.test_arc_layer, TestLayer.test_arc_layer)
82            (TestLayer.test_polygon_layer, TestLayer.test_point_layer)
83            (TestLayer.test_derived_store): Use the new assertPointListEquals
84            instead of assertFloatTuplesEqual
85    
86            * test/test_derivedshapestore.py
87            (TestDerivedShapeStore.assertFloatTuplesEqual)
88            (TestDerivedShapeStore.assertPointListEquals): Rename to
89            assertPointListEquals and change purpose to checking equality of
90            the lists returned by Shape.Points().
91            (TestDerivedShapeStore.test_shape): Use the new
92            assertPointListEquals instead of assertFloatTuplesEqual
93    
94    2003-08-06  Jan-Oliver Wagner <[email protected]>
95    
96            * Thuban/UI/projdialog.py (UTMPanel._OnPropose): Added test for
97            a bounding box. A dialog is raised in case, no bounding box
98            is found. This fixes bug #2043:
99            https://intevation.de/rt/webrt?serial_num=2043
100    
101    2003-08-05  Bernhard Herzog  <[email protected]>
102    
103            * Thuban/Model/color.py (Color.__repr__): Make the repr of a color
104            object look like a Color instantiation. Formerly it looked like a
105            tuple.
106    
107            * test/test_color.py (TestColor.test_repr)
108            (TestColor.test_equality, TestColor.test_inequality): New. test
109            some more apects of the Color class
110            (TestTransparent.test_repr, TestTransparent.test_hex)
111            (TestTransparent.test_equality): New. Test cases for the
112            Transparent object.
113    
114    2003-08-04  Jan-Oliver Wagner <[email protected]>
115    
116            * Doc/manual/thuban-manual.xml: a number of small improvements.
117            The resulting file is the version submitted for GREAT-ER II.
118    
119    2003-08-01  Bernhard Herzog  <[email protected]>
120    
121            * Thuban/UI/resource.py, Thuban/UI/projdialog.py,
122            Thuban/UI/join.py, Thuban/UI/classgen.py, Thuban/UI/about.py,
123            Thuban/Model/resource.py: Insert cvs keywords and doc-strings.
124    
125            * Thuban/UI/common.py: Insert cvs keywords and doc-strings.
126            (Color2wxColour, wxColour2Color, ThubanBeginBusyCursor)
127            (ThubanEndBusyCursor): Add doc-strings
128    
129    2003-08-01  Bernhard Herzog  <[email protected]>
130    
131            First step towards PostGIS integration. More abstraction by movin
132            more code from the layer to the shapestore. More methods of the
133            layer are now simply delegated to the equivalent method of the
134            shapestore. The SHAPETYPE_* constants are now in data not in
135            layer.
136    
137            * Thuban/Model/data.py (SHAPETYPE_POLYGON, SHAPETYPE_ARC)
138            (SHAPETYPE_POINT, Shape): Move these constants and classes from
139            layer.py to data.py
140            (ShapefileStore.__init__): More Initialization for the new methods
141            and functionality.
142            (ShapefileStore.ShapeType, ShapefileStore.NumShapes)
143            (ShapefileStore.BoundingBox, ShapefileStore.ShapesInRegion)
144            (ShapefileStore.Shape): New methods that were formerly implemented
145            in the layer.
146            (DerivedShapeStore.Shape, DerivedShapeStore.ShapesInRegion)
147            (DerivedShapeStore.ShapeType, DerivedShapeStore.NumShapes)
148            (DerivedShapeStore.BoundingBox): New. DerivedShapeStore
149            equivalents of the new shape methods. These versions are simply
150            delegated to the original shapstore.
151    
152            * Thuban/Model/layer.py (SHAPETYPE_POLYGON, SHAPETYPE_ARC)
153            (SHAPETYPE_POINT, Shape): Removed. They're now in data.py
154            (Layer.SetShapeStore): Removed the initializatin of instance
155            variables that were needed for the stuff that's now in
156            ShapefileStore
157            (Layer.BoundingBox, Layer.NumShapes, Layer.ShapeType)
158            (Layer.Shape, Layer.ShapesInRegion): Simply delegate to the
159            shapestore.
160    
161            * Thuban/UI/classifier.py, Thuban/UI/renderer.py,
162            Thuban/UI/viewport.py: Import the SHAPETYPE_* constants from data
163            instead of layer.
164    
165            * test/test_shapefilestore.py: New. Tests for ShapefileStore.
166    
167            * test/test_derivedshapestore.py: New. Tests for DerivedShapeStore.
168    
169            * test/test_layer.py: Import the SHAPETYPE_* constants from data
170            instead of layer.
171            (TestLayer.test_derived_store): Remove the test for the exception
172            when instantiating the DerivedShapeStore with an incompatible
173            table which is now in test_derivedshapestore.py. Add some more
174            tests of the layer methods to determine whether they work for a
175            DerivedShapeStore as well.
176    
177    2003-07-31  Jonathan Coles   <[email protected]>
178    
179            * Doc/manual/thuban-manual.xml: Fix the list of required packages
180            by just listing the name and where they can be found.
181    
182    2003-07-31  Frank Koormann   <[email protected]>
183    
184            * Doc/manual/thuban-manual.xml:
185            Changed the screenshot elements to figure.
186            Changed some variablelist elements to itemizedlist.
187            Added section on GDAL formats.
188    
189    2003-07-31  Jonathan Coles   <[email protected]>
190    
191            * Doc/manual/thuban-manual.xml: Added a few sentences about
192            the Fix Border Color option when generating classes.
193    
194    2003-07-30  Jonathan Coles   <[email protected]>
195    
196            * Thuban/Model/classgen.py: Add docstrings. Rename specific
197            Ramp instances to use lower_case_style.
198    
199            * Thuban/UI/classgen.py: Use renamed Ramp instances.
200            
201            * Thuban/UI/classifier.py: Add docstrings.
202    
203            * Thuban/UI/dock.py: Add docstrings.
204    
205            * test/test_classgen.py: Use renamed Ramp instances.
206    
207    2003-07-30  Bernhard Herzog  <[email protected]>
208    
209            * Thuban/Lib/connector.py (QueueingPublisher): Removed. This class
210            was never used in Thuban.
211    
212    2003-07-30  Bernhard Herzog  <[email protected]>
213    
214            * Thuban/UI/join.py (JoinDialog.__init__): Use the table's Title()
215            method directly instead of going through the transient_table
216            method. This faster because transient_table may force the copy of
217            a DBF file into the transient database and setting a table's title
218            doesnm't affect the title of the associated transient table, so
219            this fixes RT #2042
220    
221            * Thuban/UI/main.py (__version__): Don't import the already
222            removed show_exception_dialog.
223    
224    2003-07-29  Jonathan Coles   <[email protected]>
225    
226            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
227            Put back this method and remove the equivalent function since we
228            are setting the exception hook from within this class (OnInit).
229    
230    2003-07-29  Jonathan Coles   <[email protected]>
231    
232            * Doc/manual/images/5_2_custom_ramp.png,
233            Doc/manual/images/5_2_quantiles.png,
234            Doc/manual/images/5_2_uniform_dist.png,
235            Doc/manual/images/5_2_unique_values.png,
236            Doc/manual/images/8_int_error.png: New screen shots.
237    
238            * Doc/manual/thuban-manual.xml: Fixed typos and wording, clarified
239            some points, and added more screen shots.
240    
241    2003-07-29  Bernhard Herzog  <[email protected]>
242    
243            * Thuban/Model/data.py: Remove the now unused import of warnings
244    
245    2003-07-29  Bernhard Herzog  <[email protected]>
246    
247            * Thuban/Model/data.py (SimpleStore): Removed. This class has been
248            deprecated since before the 0.8 release and isn't used in Thuban
249            itself anymore.
250    
251            * Thuban/Model/transientdb.py: Remove some unnecessary imports
252    
253    2003-07-29  Jonathan Coles   <[email protected]>
254    
255            * Thuban/UI/application.py (ThubanApplication.OnInit): set the
256            python exception hook here so that we are sure to catch any
257            Thuban exception that happen during initialization.
258    
259            * Thuban/UI/main.py (main): Don't set the exception hook here,
260            it will get set in ThubanApplication.OnInit.
261    
262    2003-07-29  Jonathan Coles   <[email protected]>
263                                                                                
264            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
265            Removed and called it show_exception_dialog() so that the exception
266            handler can be set before the class is created.
267                                                                                
268            * Thuban/UI/main.py (main): Install the exception handler before
269            a ThubanApplication is created.
270                                                                                    
271    2003-07-29  Bernhard Herzog  <[email protected]>
272    
273            * po/it.po: New. Italian translation by Maurizio Napolitano
274    
275            * po/ru.po: New. Russian translation by Alex Shevlakov
276    
277    2003-07-29  Frank Koormann   <[email protected]>
278    
279            * Doc/manual/thuban-manual.xml: Extended section on supported
280            projections.
281            
282    2003-07-29  Frank Koormann   <[email protected]>
283    
284            * Doc/manual/thuban-manual.xml: gaspell-checked.
285    
286    2003-07-29  Jonathan Coles   <[email protected]>
287    
288            * Doc/manual/images/3_5_legend.png: Added border to improve look
289            on white background.
290    
291    2003-07-29  Jonathan Coles   <[email protected]>
292    
293            * Doc/manual/thuban-manual.xml: Fixed grammar and typos. Added
294            descriptions for the legend toolbar.
295    
296            * Doc/manual/images/4_2_raster_layer_properties.png: Removed
297            cursor from dialog box.
298    
299    2003-07-28  Jonathan Coles   <[email protected]>
300    
301            * Doc/manual/thuban-manual.xml: More screenshots and more chapters.
302    
303            * Doc/manual/images/2_4_session_tree.png,
304            Doc/manual/images/3_5_legend.png, Doc/manual/images/3_rename_map.png,
305            Doc/manual/images/4_2_layer_properties.png,
306            Doc/manual/images/4_2_raster_layer_properties.png,
307            Doc/manual/images/5_3_genclass.png,
308            Doc/manual/images/5_classification.png,
309            Doc/manual/images/6_projection.png,
310            Doc/manual/images/7_1_table_view.png,
311            Doc/manual/images/7_2_5_join.png: New screenshots.
312    
313    2003-07-24  Jonathan Coles   <[email protected]>
314    
315            * Doc/manual/thuban-manual.xml: Chapter on Projection Management.
316    
317    2003-07-24  Jonathan Coles   <[email protected]>
318    
319            * Doc/manual/thuban-manual.xml: Added EPS images and wrote
320            chapter on Layer Management.
321    
322            * Doc/manual/Makefile: New. Makefile to generate all formats for the
323            manual and images.
324    
325    2003-07-24  Bernhard Herzog  <[email protected]>
326    
327            * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as
328            it annoys lintian which warns about these files not being
329            executable. The #1 isn't necessary here since if you absolutely
330            must execute them you can always say "python <filename>".
331    
332            * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove
333            superfluous code to set brush and pen for point shapes
334    
335            * Thuban/UI/viewport.py: Remove commented out code that wouldn't
336            belong in viewport anyway
337    
338    2003-07-24  Frank Koormann   <[email protected]>
339    
340            * Doc/manual/thuban-manual.xml: Added section on table management.
341    
342    2003-07-24  Bernhard Herzog  <[email protected]>
343    
344            * test/runtests.py (main): Recognize the long "verbose" option
345            correctly.
346    
347    2003-07-22  Jonathan Coles   <[email protected]>
348    
349            * Doc/manual/thuban-manual.xml: Continue to write first revision
350            of the manual.
351    
352            * Thuban/UI/renderer.py (MapRenderer.render_map): Wrap method
353            with Begin/EndDrawing() calls to ensure we aren't doing to
354            many updates to the dc during rendering.
355            (ScreenRenderer.draw_shape_layer): self.draw_point_shape takes
356            a pen and brush argument so they need to be passed to the function.
357    
358            * Thuban/UI/viewport.py (ViewPort.calc_min_max_scales): New.
359            Calculates the minimum and maximum scale values. Factored out
360            of set_view_transform so that it could be used to zoom all the
361            way into a single point.
362            (ViewPort.set_view_transform): Call calc_min_max_scales().
363            (ViewPort.FitSelectedToWindow): Zoom to the maximum scale
364            if only a single point is selected.
365    
366            * Doc/manual/images/1_2_legend_close.png,
367            Doc/manual/images/1_2_legend_dock.png,
368            Doc/manual/images/1_2_mainwindow.png,
369            Doc/manual/images/1_2_mainwindow.ps,
370            Doc/manual/images/1_2_mainwindow.sk,
371            Doc/manual/images/3_2_fullextent.png,
372            Doc/manual/images/3_2_fulllayerextent.png,
373            Doc/manual/images/3_2_fullshapeextent.png,
374            Doc/manual/images/3_2_pan.png,
375            Doc/manual/images/3_2_zoomin.png,
376            Doc/manual/images/3_2_zoomout.png,
377            Doc/manual/images/3_3_identify.png,
378            Doc/manual/images/3_3_label.png,
379            Doc/manual/images/3_5_invisible.png,
380            Doc/manual/images/3_5_movedown.png,
381            Doc/manual/images/3_5_moveup.png,
382            Doc/manual/images/3_5_props.png,
383            Doc/manual/images/3_5_tobottom.png,
384            Doc/manual/images/3_5_totop.png,
385            Doc/manual/images/3_5_visible.png: New. Images for the documentation.
386    
387    2003-07-18  Bernhard Herzog  <[email protected]>
388    
389            * Thuban/UI/messages.py (MAP_REPLACED): New message.
390    
391            * Thuban/UI/viewport.py (ViewPort.SetMap): Issue MAP_REPLACED
392            after the new map has been assigned
393    
394            * Thuban/UI/mainwindow.py (MainWindow.delegated_messages):
395            Delegate MAP_REPLACED to the canvas too
396            (MainWindow.prepare_new_session): Removed. Thanks to the new
397            MAP_REPLACED message it's no longer needed
398            (MainWindow.OpenSession, MainWindow.NewSession):
399            prepare_new_session has been removed.
400    
401            * Thuban/UI/classifier.py (Classifier.__init__): Subscribe to
402            MAP_REPLACED so that we can close the dialog if a new map is set.
403            (Classifier.unsubscribe_messages): Unsubscribe from MAP_REPLACED
404            (Classifier.map_replaced): Handle MAP_REPLACED by closing the
405            dialog
406    
407            * test/test_viewport.py (SimpleViewPortTest)
408            (SimpleViewPortTest.test_default_size): Add doc-strings
409            (ViewPortTest.setUp): Bind map to self.map so we can use it in
410            tests. Subscribe to MAP_REPLACED messages too.
411            (ViewPortTest.tearDown): No need to explicitly unsubscribe
412            (ViewPortTest.test_set_map): New test for the SetMap method.
413    
414    2003-07-18  Bernhard Herzog  <[email protected]>
415    
416            * test/test_viewport.py (SimpleViewPortTest.test_default_size):
417            Move this test from ViewPortTest.setUp to this new separate test
418            case. setUp is not the place for the actual tests.
419            (ViewPortTest.test_inital_settings, ViewPortTest.setUp): Move some
420            more of the test from setUp to the new test test_inital_settings.
421            (ViewPortTest.test_win_to_proj, ViewPortTest.test_proj_to_win)
422            (ViewPortTest.test_proj_conv): Split test_proj_conv into
423            test_win_to_proj and test_proj_to_win and make the tests easier to
424            understand
425            (ViewPortTest.testFitRectToWindow, ViewPortTest.testZoomFactor)
426            (ViewPortTest.testZoomOutToRect, ViewPortTest.testTranslate)
427            (ViewPortTest.test_unprojected_rect_around_point)
428            (ViewPortTest.test_find_shape_at, ViewPortTest.testTools):
429            Reformat to increase readability.
430    
431    2003-07-18  Bernhard Herzog  <[email protected]>
432    
433            * Thuban/UI/view.py (MapCanvas.OnLeftDown): Capture the mouse.
434    
435    2003-07-18  Bernhard Herzog  <[email protected]>
436    
437            * test/runtests.py: The test suite can now be run without an X
438            connection. To make sure this remains true, remove the DISPLAY
439            environment variable so that an error occurs if the wxGTK is
440            imported accidentally
441    
442    2003-07-18  Bernhard Herzog  <[email protected]>
443    
444            * Thuban/UI/viewport.py: Remove unused imports
445    
446            * Thuban/UI/view.py: Remove unused imports
447    
448    2003-07-18  Bernhard Herzog  <[email protected]>
449    
450            * test/test_export.py Remove unused imports. The OutputTransform
451            function is now in viewport.py and is called output_transform
452            (TestScalebar.test_output_transform)
453            (TestScalebar.test_OutputTransform): Renamed to
454            test_output_transform and updated to use output_transform instead
455            of OutputTransform
456    
457            * Thuban/UI/view.py (OutputTransform): Moved to viewport.py and
458            renamed.
459            (MapCanvas.Export, MapPrintout.draw_on_dc): OutputTransform was
460            renamed to output_transform
461    
462            * Thuban/UI/viewport.py (OutputTransform, output_transform):
463            Rename to output_transform
464    
465    2003-07-18  Bernhard Herzog  <[email protected]>
466    
467            * Thuban/Model/layer.py (Layer.__init__): Rename
468            classificationField to classificatin_column and init it here so
469            that it can be used in SetClassificationColumn
470            (Layer.GetClassificationColumn, Layer.GetClassificationField):
471            Rename to GetClassificationColumn.
472            (Layer.SetClassificationColumn, Layer.SetClassificationField):
473            Rename to SetClassificationColumn and issue a LAYER_CHANGED
474            message if the column changes.
475            (Layer._classification_changed, Layer.ClassChanged): Rename to
476            _classification_changed. Update the callers.
477            (Layer.SetShapeStore): Further field->column renames.
478    
479            * Thuban/Model/load.py (SessionLoader.start_classification)
480            (SessionLoader.start_clpoint): Updates because of
481            field->column method name changes in the Layer class
482    
483            * Thuban/Model/save.py (SessionSaver.write_classification): Updates
484            because of field->column method name changes in the Layer class
485    
486            * Thuban/UI/classifier.py (Classifier.__init__)
487            (Classifier._OnTry, Classifier._OnRevert): Updates because of
488            field->column method name changes in the Layer class
489    
490            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Updates
491            because of field->column method name changes in the Layer class
492    
493            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Updates because
494            of field->column method name changes in the Layer class
495    
496            * test/test_save.py (SaveSessionTest.testClassifiedLayer)
497            (SaveSessionTest.testClassifiedLayer): Update because of
498            field->column method name changes in the Layer class
499    
500            * test/test_layer.py (SetShapeStoreTests.setUp)
501            (SetShapeStoreTests.test_sanity): Update because of field->column
502            method name changes in the Layer class
503            (TestLayerModification.setUp): Subscribe to LAYER_CHANGED as well
504            (TestLayerModification.test_sanity)
505            (TestLayerModification.test_initial_settings): remove unsued code
506            and rename to test_sanity.
507            (TestLayerModification.test_set_classification): New test for
508            SetClassification and SetClassificationField.
509    
510    2003-07-18  Bernhard Herzog  <[email protected]>
511    
512            * test/test_classgen.py (TestFixedRamp.test): Extend test to check
513            the non-fixed values as well. The old test would have accepted a
514            fixed ramp that only returnes the fixed properties
515    
516    2003-07-17  Jonathan Coles   <[email protected]>
517    
518            * Doc/manual/mainwindow.png, Doc/manual/mainwindow.xcf: Screen
519            shots for the manual. The XCF file is the source image and
520            has additional layers to support changes.
521    
522            * Doc/manual/thuban-manual.xml: Wrote an initial Introduction.
523    
524            * Thuban/UI/classifier.py (Classifier.__BuildClassification):
525            Return both the new class and the field name.
526    
527            * Thuban/UI/mainwindow.py (MainWindow.ToggleLegend): Don't
528            fit the map to the window as this changes any zoom level that
529            the user may have set.
530    
531    2003-07-16  Jonathan Coles   <[email protected]>
532    
533            * Thuban/Model/classgen.py (generate_singletons,
534            generate_uniform_distribution, generate_quantiles): Remove
535            fixes parameter, but maintain the same functionality by having
536            the calling function pass a FixedRamp object for the ramp.
537            (FixedRamp): New. Adapts a ramp to have fixed property values.
538    
539            * Thuban/Model/classification.py: Use new CLASS_CHANGED message.
540            (Classification): Inherit from Publisher.
541            (Classification.__init__): Remove the layer parameter.
542            Classifications no longer need to have a parent layer.
543            (Classification.GetField, Classification.GetFieldType,
544            Classification.SetFieldInfo): Removed. The field name is stored
545            in the layer, and the type can be retreived by calling
546            Layer.GetFieldType().
547            (Classification._set_layer, Classification.GetLayer): Removed.
548            Classifications no longer have a parent layer.
549    
550            * Thuban/Model/layer.py (Layer.Destroy): Unsubscribe from the
551            classification.
552            (Layer.SetShapeStore): Reset the classification first while
553            we still have the old shape store to work with.
554            (Layer.GetClassificationField, Layer.SetClassificationField):
555            New. Method for getting/setting the field to classify on.
556            (Layer.SetClassification): Simplified now that the layer
557            simply has to hold a reference to the classification and not
558            tell the classification who owns it.
559            Fixes RTbug #2023.
560    
561            * Thuban/Model/load.py (SessionLoader.start_classification):
562            Set the field name on the layer, not the classification.
563    
564            * Thuban/Model/messages.py: Add CLASS_CHANGED for when a
565            classification is modified.
566    
567            * Thuban/Model/save.py (SessionSaver.write_classification):
568            Get the field name and type from the layer.
569    
570            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Renamed
571            parameter records to rows and add docstring. Fixes RTbug #1997.
572    
573            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Use a fixed
574            ramp when we need to fix certain values of a ramp rather than
575            using the old fixes parameter. Fixes RTbug #2024.
576    
577            * Thuban/UI/classifier.py (ClassGrid.CreateTable): Add fieldType
578            parameter.
579            (ClassTable.Reset): Add fieldType parameter and use it, rather
580            than asking the classification.
581            (Classifier.__init__): Remember the original class's field
582            and ask the layer for the field type, rather than the classification.
583            (Classifier.__SetGridTable): Retrieve the field and field type
584            for the table because they are not in the classification.
585            (Classifier._OnTry, Classifier._OnRevert): Set the classification
586            field on the layer in addition to the classification itself.
587    
588            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Get the
589            classification field from layer.
590    
591            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Get the
592            classification field from layer. Split up tests and remove
593            *-imports. Fixes RTbug #1992.
594    
595            * test/test_classgen.py (TestFixedRamp): Test for the FixedRamp class.
596    
597            * test/test_classification.py
598            (TestClassification.test_classification): Remove tests for methods
599            that no longer exist.
600    
601            * test/test_layer.py (SetShapeStoreTests.setUp): Classification
602            __init__ no longer has a field parameter, use SetClassificationField.
603            (SetShapeStoreTests.test_sanity): Use layer object to get class
604            field info.
605    
606            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Use
607            SetClassificationField on layer to set class field info.
608    
609            * test/test_viewport.py: Renamed from test/test_view.py.
610    
611    2003-07-16  Jan-Oliver Wagner <[email protected]>
612    
613            * Doc/manual/thuban-manual.xml: Added authors and an initial
614            coarse structure.
615    
616    2003-07-15  Bernhard Herzog  <[email protected]>
617    
618            * test/support.py (FloatComparisonMixin): This is a mix-in class
619            and therefore should not be derived from any other class.
620    
621            * test/test_range.py (RangeTest): FloatComparisonMixin is a
622            mix-in, so derive from TestCase as well.
623    
624    2003-07-15  Bernhard Herzog  <[email protected]>
625    
626            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Rework the
627            draw_func handling a bit to remove one layer of indirection. This
628            makes the renderer about 10% faster in the non-classifying case
629            and the code a bit cleaner
630            (MapRenderer.draw_point_shape): Add the pen and brush parameters
631            and set them in the dc. Now the draw_point_shape method and
632            wxproj's draw_polygon_shape function have basically the same
633            signature so that both can be directly used as draw_func
634    
635  2003-07-15  Bernhard Herzog  <[email protected]>  2003-07-15  Bernhard Herzog  <[email protected]>
636    
637          * Thuban/Model/save.py (SessionSaver.write_classification): Encode          * Thuban/Model/save.py (SessionSaver.write_classification): Encode

Legend:
Removed from v.1418  
changed lines
  Added in v.1559

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26