/[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 1349 by jonathan, Tue Jul 1 16:12:38 2003 UTC revision 1508 by frank, Tue Jul 29 14:30:46 2003 UTC
# Line 1  Line 1 
1    2003-07-29  Jonathan Coles   <[email protected]>
2    
3            * Thuban/UI/application.py (ThubanApplication.OnInit): set the
4            python exception hook here so that we are sure to catch any
5            Thuban exception that happen during initialization.
6    
7            * Thuban/UI/main.py (main): Don't set the exception hook here,
8            it will get set in ThubanApplication.OnInit.
9    
10    2003-07-29  Jonathan Coles   <[email protected]>
11                                                                                
12            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
13            Removed and called it show_exception_dialog() so that the exception
14            handler can be set before the class is created.
15                                                                                
16            * Thuban/UI/main.py (main): Install the exception handler before
17            a ThubanApplication is created.
18                                                                                    
19    2003-07-29  Bernhard Herzog  <[email protected]>
20    
21            * po/it.po: New. Italian translation by Maurizio Napolitano
22    
23            * po/ru.po: New. Russian translation by Alex Shevlakov
24    
25    2003-07-29  Frank Koormann   <[email protected]>
26    
27            * Doc/manual/thuban-manual.xml: Extended section on supported
28            projections.
29            
30    2003-07-29  Frank Koormann   <[email protected]>
31    
32            * Doc/manual/thuban-manual.xml: gaspell-checked.
33    
34    2003-07-29  Jonathan Coles   <[email protected]>
35    
36            * Doc/manual/images/3_5_legend.png: Added border to improve look
37            on white background.
38    
39    2003-07-29  Jonathan Coles   <[email protected]>
40    
41            * Doc/manual/thuban-manual.xml: Fixed grammar and typos. Added
42            descriptions for the legend toolbar.
43    
44            * Doc/manual/images/4_2_raster_layer_properties.png: Removed
45            cursor from dialog box.
46    
47    2003-07-28  Jonathan Coles   <[email protected]>
48    
49            * Doc/manual/thuban-manual.xml: More screenshots and more chapters.
50    
51            * Doc/manual/images/2_4_session_tree.png,
52            Doc/manual/images/3_5_legend.png, Doc/manual/images/3_rename_map.png,
53            Doc/manual/images/4_2_layer_properties.png,
54            Doc/manual/images/4_2_raster_layer_properties.png,
55            Doc/manual/images/5_3_genclass.png,
56            Doc/manual/images/5_classification.png,
57            Doc/manual/images/6_projection.png,
58            Doc/manual/images/7_1_table_view.png,
59            Doc/manual/images/7_2_5_join.png: New screenshots.
60    
61    2003-07-24  Jonathan Coles   <[email protected]>
62    
63            * Doc/manual/thuban-manual.xml: Chapter on Projection Management.
64    
65    2003-07-24  Jonathan Coles   <[email protected]>
66    
67            * Doc/manual/thuban-manual.xml: Added EPS images and wrote
68            chapter on Layer Management.
69    
70            * Doc/manual/Makefile: New. Makefile to generate all formats for the
71            manual and images.
72    
73    2003-07-24  Bernhard Herzog  <[email protected]>
74    
75            * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as
76            it annoys lintian which warns about these files not being
77            executable. The #1 isn't necessary here since if you absolutely
78            must execute them you can always say "python <filename>".
79    
80            * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove
81            superfluous code to set brush and pen for point shapes
82    
83            * Thuban/UI/viewport.py: Remove commented out code that wouldn't
84            belong in viewport anyway
85    
86    2003-07-24  Frank Koormann   <[email protected]>
87    
88            * Doc/manual/thuban-manual.xml: Added section on table management.
89    
90    2003-07-24  Bernhard Herzog  <[email protected]>
91    
92            * test/runtests.py (main): Recognize the long "verbose" option
93            correctly.
94    
95    2003-07-22  Jonathan Coles   <[email protected]>
96    
97            * Doc/manual/thuban-manual.xml: Continue to write first revision
98            of the manual.
99    
100            * Thuban/UI/renderer.py (MapRenderer.render_map): Wrap method
101            with Begin/EndDrawing() calls to ensure we aren't doing to
102            many updates to the dc during rendering.
103            (ScreenRenderer.draw_shape_layer): self.draw_point_shape takes
104            a pen and brush argument so they need to be passed to the function.
105    
106            * Thuban/UI/viewport.py (ViewPort.calc_min_max_scales): New.
107            Calculates the minimum and maximum scale values. Factored out
108            of set_view_transform so that it could be used to zoom all the
109            way into a single point.
110            (ViewPort.set_view_transform): Call calc_min_max_scales().
111            (ViewPort.FitSelectedToWindow): Zoom to the maximum scale
112            if only a single point is selected.
113    
114            * Doc/manual/images/1_2_legend_close.png,
115            Doc/manual/images/1_2_legend_dock.png,
116            Doc/manual/images/1_2_mainwindow.png,
117            Doc/manual/images/1_2_mainwindow.ps,
118            Doc/manual/images/1_2_mainwindow.sk,
119            Doc/manual/images/3_2_fullextent.png,
120            Doc/manual/images/3_2_fulllayerextent.png,
121            Doc/manual/images/3_2_fullshapeextent.png,
122            Doc/manual/images/3_2_pan.png,
123            Doc/manual/images/3_2_zoomin.png,
124            Doc/manual/images/3_2_zoomout.png,
125            Doc/manual/images/3_3_identify.png,
126            Doc/manual/images/3_3_label.png,
127            Doc/manual/images/3_5_invisible.png,
128            Doc/manual/images/3_5_movedown.png,
129            Doc/manual/images/3_5_moveup.png,
130            Doc/manual/images/3_5_props.png,
131            Doc/manual/images/3_5_tobottom.png,
132            Doc/manual/images/3_5_totop.png,
133            Doc/manual/images/3_5_visible.png: New. Images for the documentation.
134    
135    2003-07-18  Bernhard Herzog  <[email protected]>
136    
137            * Thuban/UI/messages.py (MAP_REPLACED): New message.
138    
139            * Thuban/UI/viewport.py (ViewPort.SetMap): Issue MAP_REPLACED
140            after the new map has been assigned
141    
142            * Thuban/UI/mainwindow.py (MainWindow.delegated_messages):
143            Delegate MAP_REPLACED to the canvas too
144            (MainWindow.prepare_new_session): Removed. Thanks to the new
145            MAP_REPLACED message it's no longer needed
146            (MainWindow.OpenSession, MainWindow.NewSession):
147            prepare_new_session has been removed.
148    
149            * Thuban/UI/classifier.py (Classifier.__init__): Subscribe to
150            MAP_REPLACED so that we can close the dialog if a new map is set.
151            (Classifier.unsubscribe_messages): Unsubscribe from MAP_REPLACED
152            (Classifier.map_replaced): Handle MAP_REPLACED by closing the
153            dialog
154    
155            * test/test_viewport.py (SimpleViewPortTest)
156            (SimpleViewPortTest.test_default_size): Add doc-strings
157            (ViewPortTest.setUp): Bind map to self.map so we can use it in
158            tests. Subscribe to MAP_REPLACED messages too.
159            (ViewPortTest.tearDown): No need to explicitly unsubscribe
160            (ViewPortTest.test_set_map): New test for the SetMap method.
161    
162    2003-07-18  Bernhard Herzog  <[email protected]>
163    
164            * test/test_viewport.py (SimpleViewPortTest.test_default_size):
165            Move this test from ViewPortTest.setUp to this new separate test
166            case. setUp is not the place for the actual tests.
167            (ViewPortTest.test_inital_settings, ViewPortTest.setUp): Move some
168            more of the test from setUp to the new test test_inital_settings.
169            (ViewPortTest.test_win_to_proj, ViewPortTest.test_proj_to_win)
170            (ViewPortTest.test_proj_conv): Split test_proj_conv into
171            test_win_to_proj and test_proj_to_win and make the tests easier to
172            understand
173            (ViewPortTest.testFitRectToWindow, ViewPortTest.testZoomFactor)
174            (ViewPortTest.testZoomOutToRect, ViewPortTest.testTranslate)
175            (ViewPortTest.test_unprojected_rect_around_point)
176            (ViewPortTest.test_find_shape_at, ViewPortTest.testTools):
177            Reformat to increase readability.
178    
179    2003-07-18  Bernhard Herzog  <[email protected]>
180    
181            * Thuban/UI/view.py (MapCanvas.OnLeftDown): Capture the mouse.
182    
183    2003-07-18  Bernhard Herzog  <[email protected]>
184    
185            * test/runtests.py: The test suite can now be run without an X
186            connection. To make sure this remains true, remove the DISPLAY
187            environment variable so that an error occurs if the wxGTK is
188            imported accidentally
189    
190    2003-07-18  Bernhard Herzog  <[email protected]>
191    
192            * Thuban/UI/viewport.py: Remove unused imports
193    
194            * Thuban/UI/view.py: Remove unused imports
195    
196    2003-07-18  Bernhard Herzog  <[email protected]>
197    
198            * test/test_export.py Remove unused imports. The OutputTransform
199            function is now in viewport.py and is called output_transform
200            (TestScalebar.test_output_transform)
201            (TestScalebar.test_OutputTransform): Renamed to
202            test_output_transform and updated to use output_transform instead
203            of OutputTransform
204    
205            * Thuban/UI/view.py (OutputTransform): Moved to viewport.py and
206            renamed.
207            (MapCanvas.Export, MapPrintout.draw_on_dc): OutputTransform was
208            renamed to output_transform
209    
210            * Thuban/UI/viewport.py (OutputTransform, output_transform):
211            Rename to output_transform
212    
213    2003-07-18  Bernhard Herzog  <[email protected]>
214    
215            * Thuban/Model/layer.py (Layer.__init__): Rename
216            classificationField to classificatin_column and init it here so
217            that it can be used in SetClassificationColumn
218            (Layer.GetClassificationColumn, Layer.GetClassificationField):
219            Rename to GetClassificationColumn.
220            (Layer.SetClassificationColumn, Layer.SetClassificationField):
221            Rename to SetClassificationColumn and issue a LAYER_CHANGED
222            message if the column changes.
223            (Layer._classification_changed, Layer.ClassChanged): Rename to
224            _classification_changed. Update the callers.
225            (Layer.SetShapeStore): Further field->column renames.
226    
227            * Thuban/Model/load.py (SessionLoader.start_classification)
228            (SessionLoader.start_clpoint): Updates because of
229            field->column method name changes in the Layer class
230    
231            * Thuban/Model/save.py (SessionSaver.write_classification): Updates
232            because of field->column method name changes in the Layer class
233    
234            * Thuban/UI/classifier.py (Classifier.__init__)
235            (Classifier._OnTry, Classifier._OnRevert): Updates because of
236            field->column method name changes in the Layer class
237    
238            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Updates
239            because of field->column method name changes in the Layer class
240    
241            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Updates because
242            of field->column method name changes in the Layer class
243    
244            * test/test_save.py (SaveSessionTest.testClassifiedLayer)
245            (SaveSessionTest.testClassifiedLayer): Update because of
246            field->column method name changes in the Layer class
247    
248            * test/test_layer.py (SetShapeStoreTests.setUp)
249            (SetShapeStoreTests.test_sanity): Update because of field->column
250            method name changes in the Layer class
251            (TestLayerModification.setUp): Subscribe to LAYER_CHANGED as well
252            (TestLayerModification.test_sanity)
253            (TestLayerModification.test_initial_settings): remove unsued code
254            and rename to test_sanity.
255            (TestLayerModification.test_set_classification): New test for
256            SetClassification and SetClassificationField.
257    
258    2003-07-18  Bernhard Herzog  <[email protected]>
259    
260            * test/test_classgen.py (TestFixedRamp.test): Extend test to check
261            the non-fixed values as well. The old test would have accepted a
262            fixed ramp that only returnes the fixed properties
263    
264    2003-07-17  Jonathan Coles   <[email protected]>
265    
266            * Doc/manual/mainwindow.png, Doc/manual/mainwindow.xcf: Screen
267            shots for the manual. The XCF file is the source image and
268            has additional layers to support changes.
269    
270            * Doc/manual/thuban-manual.xml: Wrote an initial Introduction.
271    
272            * Thuban/UI/classifier.py (Classifier.__BuildClassification):
273            Return both the new class and the field name.
274    
275            * Thuban/UI/mainwindow.py (MainWindow.ToggleLegend): Don't
276            fit the map to the window as this changes any zoom level that
277            the user may have set.
278    
279    2003-07-16  Jonathan Coles   <[email protected]>
280    
281            * Thuban/Model/classgen.py (generate_singletons,
282            generate_uniform_distribution, generate_quantiles): Remove
283            fixes parameter, but maintain the same functionality by having
284            the calling function pass a FixedRamp object for the ramp.
285            (FixedRamp): New. Adapts a ramp to have fixed property values.
286    
287            * Thuban/Model/classification.py: Use new CLASS_CHANGED message.
288            (Classification): Inherit from Publisher.
289            (Classification.__init__): Remove the layer parameter.
290            Classifications no longer need to have a parent layer.
291            (Classification.GetField, Classification.GetFieldType,
292            Classification.SetFieldInfo): Removed. The field name is stored
293            in the layer, and the type can be retreived by calling
294            Layer.GetFieldType().
295            (Classification._set_layer, Classification.GetLayer): Removed.
296            Classifications no longer have a parent layer.
297    
298            * Thuban/Model/layer.py (Layer.Destroy): Unsubscribe from the
299            classification.
300            (Layer.SetShapeStore): Reset the classification first while
301            we still have the old shape store to work with.
302            (Layer.GetClassificationField, Layer.SetClassificationField):
303            New. Method for getting/setting the field to classify on.
304            (Layer.SetClassification): Simplified now that the layer
305            simply has to hold a reference to the classification and not
306            tell the classification who owns it.
307            Fixes RTbug #2023.
308    
309            * Thuban/Model/load.py (SessionLoader.start_classification):
310            Set the field name on the layer, not the classification.
311    
312            * Thuban/Model/messages.py: Add CLASS_CHANGED for when a
313            classification is modified.
314    
315            * Thuban/Model/save.py (SessionSaver.write_classification):
316            Get the field name and type from the layer.
317    
318            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Renamed
319            parameter records to rows and add docstring. Fixes RTbug #1997.
320    
321            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Use a fixed
322            ramp when we need to fix certain values of a ramp rather than
323            using the old fixes parameter. Fixes RTbug #2024.
324    
325            * Thuban/UI/classifier.py (ClassGrid.CreateTable): Add fieldType
326            parameter.
327            (ClassTable.Reset): Add fieldType parameter and use it, rather
328            than asking the classification.
329            (Classifier.__init__): Remember the original class's field
330            and ask the layer for the field type, rather than the classification.
331            (Classifier.__SetGridTable): Retrieve the field and field type
332            for the table because they are not in the classification.
333            (Classifier._OnTry, Classifier._OnRevert): Set the classification
334            field on the layer in addition to the classification itself.
335    
336            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Get the
337            classification field from layer.
338    
339            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Get the
340            classification field from layer. Split up tests and remove
341            *-imports. Fixes RTbug #1992.
342    
343            * test/test_classgen.py (TestFixedRamp): Test for the FixedRamp class.
344    
345            * test/test_classification.py
346            (TestClassification.test_classification): Remove tests for methods
347            that no longer exist.
348    
349            * test/test_layer.py (SetShapeStoreTests.setUp): Classification
350            __init__ no longer has a field parameter, use SetClassificationField.
351            (SetShapeStoreTests.test_sanity): Use layer object to get class
352            field info.
353    
354            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Use
355            SetClassificationField on layer to set class field info.
356    
357            * test/test_viewport.py: Renamed from test/test_view.py.
358    
359    2003-07-16  Jan-Oliver Wagner <[email protected]>
360    
361            * Doc/manual/thuban-manual.xml: Added authors and an initial
362            coarse structure.
363    
364    2003-07-15  Bernhard Herzog  <[email protected]>
365    
366            * test/support.py (FloatComparisonMixin): This is a mix-in class
367            and therefore should not be derived from any other class.
368    
369            * test/test_range.py (RangeTest): FloatComparisonMixin is a
370            mix-in, so derive from TestCase as well.
371    
372    2003-07-15  Bernhard Herzog  <[email protected]>
373    
374            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Rework the
375            draw_func handling a bit to remove one layer of indirection. This
376            makes the renderer about 10% faster in the non-classifying case
377            and the code a bit cleaner
378            (MapRenderer.draw_point_shape): Add the pen and brush parameters
379            and set them in the dc. Now the draw_point_shape method and
380            wxproj's draw_polygon_shape function have basically the same
381            signature so that both can be directly used as draw_func
382    
383    2003-07-15  Bernhard Herzog  <[email protected]>
384    
385            * Thuban/Model/save.py (SessionSaver.write_classification): Encode
386            string values (in addition to the labels) as UTF 8
387    
388            * Thuban/Model/load.py (SessionLoader.start_clpoint): Decode the
389            values if the field type is string
390    
391            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Test
392            saving a session with non-ascii string classification values.
393    
394            * test/test_load.py (TestClassification.file_contents)
395            (TestClassification.test): Check for non-ascii values in string
396            classifications
397    
398    2003-07-14  Jonathan Coles   <[email protected]>
399    
400            * test/test_view.py: New. Tests for ViewPort.
401    
402    2003-07-14  Frank Koormann   <[email protected]>
403    
404            * Thuban/Model/load.py (SessionLoader.start_map): Encode map
405            title to latin1.  Fixes https://intevation.de/rt/webrt?serial_num=2013
406    
407            * test/test_load_0_8.py (TestUnicodeStrings): New, test load of
408            unicode strings from session file: session title, map title and
409            projection name.
410            
411    2003-07-10  Jonathan Coles   <[email protected]>
412    
413            * Thuban/UI/viewport.py (Tool.MouseUp): Should have called
414            drag_stop, not drag_move when the mouse is released.
415    
416    2003-07-10  Jonathan Coles   <[email protected]>
417    
418            The most important part of this is the seperation of view.py into
419            two pieces. viewport.py now has a class called ViewPort which
420            contains all the non-wx parts of view.py and can therefore be
421            tested. view.py contains only the wx-specific parts and is fairly
422            simple.
423    
424            * Thuban/UI/view.py: Stripped out all non-wx functionality. Fixes
425            RTTbug #1992.
426            * Thuban/UI/viewport.py: New. Contains non-wx view functionality.
427            RTTbug #1992.
428    
429            * Thuban/Model/classgen.py (generate_singletons,
430            generate_uniform_distribution, generate_quantiles):
431            Added 'fixes' parameter so that property attributes can
432            be held constant over the generated classification groups.
433            (CustomRamp.GetProperties): Remove unused variables.
434    
435            * Thuban/Model/map.py (Map.SetProjection): Send the old
436            projection as an argument to listeners of the MAP_PROJECTION_CHANGED
437            event.
438    
439            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Added 'records'
440            parameter which is a list of records that restricts which
441            records are saved. Fixes RTbug #1997.
442    
443            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
444            Port exception dialog from GREAT-ER. Fixes RTbug #1993.
445    
446            * Thuban/UI/classgen.py (ClassGenDialog.__init__): Add controls
447            to allow the user to fix line color/width on generated groups.
448            (ClassGenDialog.OnOK): Use new 'fixes' parameter of the generate_*
449            functions to optionally fix group properties.
450    
451            * Thuban/UI/main.py (main): Set exception hook to the
452            ShowExceptionDialog. Fixes RTbug #1993.
453    
454            * Thuban/UI/mainwindow.py (MainWindow.ShowTableView): Raise
455            the table window when it is selectd to be shown.
456    
457            * Thuban/UI/tableview.py (QueryTableFrame.__init__): Add an
458            Export Selection button and move the export buttons underneath
459            the table.
460            (QueryTableFrame.UpdateStatusText): Added event argument so
461            that it can respond to grid selection events. The status text
462            is now updated even when the table is not associated with a
463            layer as was previously assumed.
464            (QueryTableFrame.OnGridSelectRange, OnGridSelectCell): Removed.
465            UpdateStatusText responds to these events.
466            (QueryTableFrame.OnSaveAs): Renamed to doExport.
467            (QueryTableFrame.doExport): Helper function that saves the
468            entire table, or selected rows, to a file.
469            (QueryTableFrame.OnExport, QueryTableFrame.OnExportSel): New.
470            Respond to export button events and call doExport.
471    
472            * extensions/thuban/gdalwarp.cpp (ProjectRasterFile): Make sure
473            the function doesn't return NULL without first setting a Python
474            Error.
475    
476            * test/runtests.py (main): Only print "Unknown option" for
477            unsupported options.
478    
479            * test/support.py (FloatComparisonMixin.assertFloatEqual): Take
480            optional epsilon argument to specify floating point accuracy.
481            (FloatComparisonMixin.assertFloatSeqEqual): Call assertFloatEqual
482            for each item test.
483    
484            * test/test_csv_table.py (TestCSVTable.test_table_to_cvs): Add
485            tests for saving selected records.
486    
487            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): Add
488            tests for saving selected records.
489    
490            * test/test_map.py (TestMapWithContents.test_set_projection):
491            MAP_PROJECTION_CHANGED events send the old projection.
492    
493            * test/test_session.py
494            (TestSessionWithContent.test_forward_map_projection):
495            MAP_PROJECTION_CHANGED events send the old projection.
496    
497            * test/test_table.py (TableTest): Update tests to use non-deprecated
498            functions.
499    
500    2003-07-08  Bernhard Herzog  <[email protected]>
501    
502            * Thuban/Model/transientdb.py (TransientTableBase.Width): The type
503            constants in the column objects are the standard ones defined in
504            the table module.
505    
506            * test/test_transientdb.py
507            (TestTransientTable.test_transienttable_to_dbf): New. Test whether
508            exporting transient tables as DBF works. This should catch the bug
509            just fixed in TransientTableBase.Width.
510    
511    2003-07-08  Bernhard Herzog  <[email protected]>
512    
513            * Thuban/Model/classgen.py (CustomRamp.GetProperties): Compute the
514            interpolated colors correctly.
515    
516            * test/test_classgen.py (TestCustomRamp.test_color_interpolation):
517            New. Test case for the fix in classgen.py
518    
519    2003-07-08  Bernhard Herzog  <[email protected]>
520    
521            * test/runtests.py (main): Make the default output less verbose
522            and add a verbosity option (-v) to get the old output
523    
524    2003-07-08  Bernhard Herzog  <[email protected]>
525    
526            * Resources/XML/thuban-0.9.dtd: New. This will become the DTD for
527            0.9.
528    
529            * Thuban/Model/transientdb.py (TransientJoinedTable.JoinType):
530            New. Return the join type
531    
532            * Thuban/Model/save.py (SessionSaver.write_session): Use new 0.9
533            DTD
534            (SessionSaver.write_data_containers): Save the join type for
535            joined tables
536    
537            * Thuban/Model/load.py (SessionLoader.__init__): Add the new 0.9
538            namespace
539            (SessionLoader.start_jointable): Handle the jointype attribute
540    
541            * test/test_load_0_8.py: New. Effectively a copy of test_load.py
542            as of Thuban 0.8. These are now tests to determine whether Thuban
543            can still read files generated by Thuban 0.8
544    
545            * test/test_load.py (LoadSessionTest.dtd)
546            (TestSingleLayer.file_contents)
547            (TestLayerVisibility.file_contents, TestLabels.file_contents)
548            (TestLayerProjection.file_contents)
549            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
550            (TestJoinedTable.file_contents)
551            (TestLoadError.file_contents): Update for new DTD
552            (TestJoinedTable.file_contents, TestJoinedTable.setUp): Add test
553            for new join type attribute
554    
555            * test/test_save.py (SaveSessionTest.dtd)
556            (SaveSessionTest.testEmptySession)
557            (SaveSessionTest.testSingleLayer)
558            (SaveSessionTest.testLayerProjection)
559            (SaveSessionTest.testRasterLayer)
560            (SaveSessionTest.testClassifiedLayer)
561            (SaveSessionTest.test_dbf_table)
562            (SaveSessionTest.test_joined_table): Update for new DTD
563            (SaveSessionTest.test_joined_table): Add test for new join type
564            attribute
565    
566    2003-07-04  Bernhard Herzog  <[email protected]>
567    
568            * Thuban/Model/table.py (_find_dbf_column_names): New. Helper
569            function for table_to_dbf
570            (table_to_dbf): Deal with names longer than the 10 character limit
571    
572            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): Add
573            doc-string
574            (TestTableToDBF.test_table_to_dbf_long_col_names): New test for
575            long column names
576    
577    2003-07-03  Bernhard Herzog  <[email protected]>
578    
579            * Doc/manual/thuban-manual.xml: Fix the CVS Revision Tag syntax
580    
581    2003-07-03  Bernhard Herzog  <[email protected]>
582    
583            * Doc/manual/thuban-manual.xml, Doc/manual/README: New. Skeleton
584            for the Thuban manual and README with some basic information about
585            the manual
586    
587    2003-07-03  Bernhard Herzog  <[email protected]>
588    
589            * Thuban/Model/transientdb.py (TransientJoinedTable.__init__):
590            Update doc-string
591            (TransientJoinedTable.create): Do not modify the column objects of
592            the input tables in place and copy all columns of the input tables
593            into the joined table after all.
594    
595            * test/test_transientdb.py
596            (TestTransientTable.test_transient_joined_table_same_column_name):
597            Update to reflect the new behavior
598            (TestTransientTable.test_transient_joined_table_with_equal_column_names):
599            Update to reflect the new behavior
600            (TestTransientTable.test_transient_joined_table_name_collisions_dont_modify_in_place):
601            New test case for a bug which modified the column objects in place
602    
603    2003-07-02  Jonathan Coles   <[email protected]>
604    
605            * Thuban/Model/classgen.py (generate_singletons,
606            generate_uniform_distribution, generate_quantiles,
607            GenQuantiles0): Make sure maxValue isn't less than
608            one, otherwise we could divide by zero.
609    
610            * test/test_classgen.py (ClassGenTest.doClassRangeTest,
611            ClassGenTest.doClassSingleTest): Call doBoundsTest to
612            check the end classification groups against the
613            proper property values.
614            (ClassGenTest.doBoundsTest): New. Checks the first and
615            last classification groups to make sure their properties
616            are the correct upper and lower bounds for a color ramp.
617    
618    2003-07-02  Jonathan Coles   <[email protected]>
619    
620            * Thuban/Model/classgen.py (generate_singletons,
621            generate_uniform_distribution, generate_quantiles,
622            GenQuantiles0): The denominator was one to high when
623            calculating the index for the ramp causing the index
624            to never to reach one.
625    
626    2003-07-02  Jonathan Coles   <[email protected]>
627    
628            Changed the singature of ClassGroupRange.__init__ and
629            ClassGroupRange.SetRange() so that the min/max values are
630            passed as a tuple. This makes a better calling scheme for
631            when a Range object is passed instead.
632    
633            * Thuban/Model/classgen.py: Fixed parameters to
634            ClassGroupRange constructor.
635    
636            * Thuban/Model/classification.py (ClassGroupRange.__init__):
637            Consolidate the min/max parameters into a single _range which
638            can either be a tuple or a Range object.
639            (ClassGroupRange.SetRange): Consolidate the min/max parameters
640            into a single _range which can either be a tuple or a Range object.
641    
642            * Thuban/Model/load.py (SessionLoader.start_clrange): Fix
643            call to ClassGroupRange constructor to use a tuple.
644    
645            * Thuban/Model/layer.py (Layer.SetClassification): Switch
646            the classification instance variable to the new class
647            before calling _set_layer otherwise subscribers to a
648            LAYER_CHANGED event will not see any difference.
649    
650            * test/test_classification.py: Fix tests of ClassGroupRange
651            so that they use the new signature.
652    
653            * test/test_load.py: Fix use of ClassGroupRange so that it
654            uses the new signature.
655    
656            * test/test_load_0_2.py: Fix use of ClassGroupRange so that it
657            uses the new signature.
658    
659            * test/test_save.py: Fix use of ClassGroupRange so that it
660            uses the new signature.
661    
662    
663  2003-07-01  Jonathan Coles   <[email protected]>  2003-07-01  Jonathan Coles   <[email protected]>
664    
665          * Thuban/Model/classgen.py: Fixes RTbug #1972, 1971.          * Thuban/Model/classgen.py: Fixes RTbug #1972, 1971.

Legend:
Removed from v.1349  
changed lines
  Added in v.1508

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26