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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26