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

Legend:
Removed from v.1325  
changed lines
  Added in v.1529

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26