/[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 1272 by jonathan, Fri Jun 20 16:43:13 2003 UTC revision 1459 by bh, Fri Jul 18 15:09:32 2003 UTC
# Line 1  Line 1 
1    2003-07-18  Bernhard Herzog  <[email protected]>
2    
3            * test/runtests.py: The test suite can now be run without an X
4            connection. To make sure this remains true, remove the DISPLAY
5            environment variable so that an error occurs if the wxGTK is
6            imported accidentally
7    
8    2003-07-18  Bernhard Herzog  <[email protected]>
9    
10            * Thuban/UI/viewport.py: Remove unused imports
11    
12            * Thuban/UI/view.py: Remove unused imports
13    
14    2003-07-18  Bernhard Herzog  <[email protected]>
15    
16            * test/test_export.py Remove unused imports. The OutputTransform
17            function is now in viewport.py and is called output_transform
18            (TestScalebar.test_output_transform)
19            (TestScalebar.test_OutputTransform): Renamed to
20            test_output_transform and updated to use output_transform instead
21            of OutputTransform
22    
23            * Thuban/UI/view.py (OutputTransform): Moved to viewport.py and
24            renamed.
25            (MapCanvas.Export, MapPrintout.draw_on_dc): OutputTransform was
26            renamed to output_transform
27    
28            * Thuban/UI/viewport.py (OutputTransform, output_transform):
29            Rename to output_transform
30    
31    2003-07-18  Bernhard Herzog  <[email protected]>
32    
33            * Thuban/Model/layer.py (Layer.__init__): Rename
34            classificationField to classificatin_column and init it here so
35            that it can be used in SetClassificationColumn
36            (Layer.GetClassificationColumn, Layer.GetClassificationField):
37            Rename to GetClassificationColumn.
38            (Layer.SetClassificationColumn, Layer.SetClassificationField):
39            Rename to SetClassificationColumn and issue a LAYER_CHANGED
40            message if the column changes.
41            (Layer._classification_changed, Layer.ClassChanged): Rename to
42            _classification_changed. Update the callers.
43            (Layer.SetShapeStore): Further field->column renames.
44    
45            * Thuban/Model/load.py (SessionLoader.start_classification)
46            (SessionLoader.start_clpoint): Updates because of
47            field->column method name changes in the Layer class
48    
49            * Thuban/Model/save.py (SessionSaver.write_classification): Updates
50            because of field->column method name changes in the Layer class
51    
52            * Thuban/UI/classifier.py (Classifier.__init__)
53            (Classifier._OnTry, Classifier._OnRevert): Updates because of
54            field->column method name changes in the Layer class
55    
56            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Updates
57            because of field->column method name changes in the Layer class
58    
59            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Updates because
60            of field->column method name changes in the Layer class
61    
62            * test/test_save.py (SaveSessionTest.testClassifiedLayer)
63            (SaveSessionTest.testClassifiedLayer): Update because of
64            field->column method name changes in the Layer class
65    
66            * test/test_layer.py (SetShapeStoreTests.setUp)
67            (SetShapeStoreTests.test_sanity): Update because of field->column
68            method name changes in the Layer class
69            (TestLayerModification.setUp): Subscribe to LAYER_CHANGED as well
70            (TestLayerModification.test_sanity)
71            (TestLayerModification.test_initial_settings): remove unsued code
72            and rename to test_sanity.
73            (TestLayerModification.test_set_classification): New test for
74            SetClassification and SetClassificationField.
75    
76    2003-07-18  Bernhard Herzog  <[email protected]>
77    
78            * test/test_classgen.py (TestFixedRamp.test): Extend test to check
79            the non-fixed values as well. The old test would have accepted a
80            fixed ramp that only returnes the fixed properties
81    
82    2003-07-17  Jonathan Coles   <[email protected]>
83    
84            * Doc/manual/mainwindow.png, Doc/manual/mainwindow.xcf: Screen
85            shots for the manual. The XCF file is the source image and
86            has additional layers to support changes.
87    
88            * Doc/manual/thuban-manual.xml: Wrote an initial Introduction.
89    
90            * Thuban/UI/classifier.py (Classifier.__BuildClassification):
91            Return both the new class and the field name.
92    
93            * Thuban/UI/mainwindow.py (MainWindow.ToggleLegend): Don't
94            fit the map to the window as this changes any zoom level that
95            the user may have set.
96    
97    2003-07-16  Jonathan Coles   <[email protected]>
98    
99            * Thuban/Model/classgen.py (generate_singletons,
100            generate_uniform_distribution, generate_quantiles): Remove
101            fixes parameter, but maintain the same functionality by having
102            the calling function pass a FixedRamp object for the ramp.
103            (FixedRamp): New. Adapts a ramp to have fixed property values.
104    
105            * Thuban/Model/classification.py: Use new CLASS_CHANGED message.
106            (Classification): Inherit from Publisher.
107            (Classification.__init__): Remove the layer parameter.
108            Classifications no longer need to have a parent layer.
109            (Classification.GetField, Classification.GetFieldType,
110            Classification.SetFieldInfo): Removed. The field name is stored
111            in the layer, and the type can be retreived by calling
112            Layer.GetFieldType().
113            (Classification._set_layer, Classification.GetLayer): Removed.
114            Classifications no longer have a parent layer.
115    
116            * Thuban/Model/layer.py (Layer.Destroy): Unsubscribe from the
117            classification.
118            (Layer.SetShapeStore): Reset the classification first while
119            we still have the old shape store to work with.
120            (Layer.GetClassificationField, Layer.SetClassificationField):
121            New. Method for getting/setting the field to classify on.
122            (Layer.SetClassification): Simplified now that the layer
123            simply has to hold a reference to the classification and not
124            tell the classification who owns it.
125            Fixes RTbug #2023.
126    
127            * Thuban/Model/load.py (SessionLoader.start_classification):
128            Set the field name on the layer, not the classification.
129    
130            * Thuban/Model/messages.py: Add CLASS_CHANGED for when a
131            classification is modified.
132    
133            * Thuban/Model/save.py (SessionSaver.write_classification):
134            Get the field name and type from the layer.
135    
136            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Renamed
137            parameter records to rows and add docstring. Fixes RTbug #1997.
138    
139            * Thuban/UI/classgen.py (ClassGenDialog.OnOK): Use a fixed
140            ramp when we need to fix certain values of a ramp rather than
141            using the old fixes parameter. Fixes RTbug #2024.
142    
143            * Thuban/UI/classifier.py (ClassGrid.CreateTable): Add fieldType
144            parameter.
145            (ClassTable.Reset): Add fieldType parameter and use it, rather
146            than asking the classification.
147            (Classifier.__init__): Remember the original class's field
148            and ask the layer for the field type, rather than the classification.
149            (Classifier.__SetGridTable): Retrieve the field and field type
150            for the table because they are not in the classification.
151            (Classifier._OnTry, Classifier._OnRevert): Set the classification
152            field on the layer in addition to the classification itself.
153    
154            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Get the
155            classification field from layer.
156    
157            * Thuban/UI/viewport.py (ViewPort.find_shape_at): Get the
158            classification field from layer. Split up tests and remove
159            *-imports. Fixes RTbug #1992.
160    
161            * test/test_classgen.py (TestFixedRamp): Test for the FixedRamp class.
162    
163            * test/test_classification.py
164            (TestClassification.test_classification): Remove tests for methods
165            that no longer exist.
166    
167            * test/test_layer.py (SetShapeStoreTests.setUp): Classification
168            __init__ no longer has a field parameter, use SetClassificationField.
169            (SetShapeStoreTests.test_sanity): Use layer object to get class
170            field info.
171    
172            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Use
173            SetClassificationField on layer to set class field info.
174    
175            * test/test_viewport.py: Renamed from test/test_view.py.
176    
177    2003-07-16  Jan-Oliver Wagner <[email protected]>
178    
179            * Doc/manual/thuban-manual.xml: Added authors and an initial
180            coarse structure.
181    
182    2003-07-15  Bernhard Herzog  <[email protected]>
183    
184            * test/support.py (FloatComparisonMixin): This is a mix-in class
185            and therefore should not be derived from any other class.
186    
187            * test/test_range.py (RangeTest): FloatComparisonMixin is a
188            mix-in, so derive from TestCase as well.
189    
190    2003-07-15  Bernhard Herzog  <[email protected]>
191    
192            * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Rework the
193            draw_func handling a bit to remove one layer of indirection. This
194            makes the renderer about 10% faster in the non-classifying case
195            and the code a bit cleaner
196            (MapRenderer.draw_point_shape): Add the pen and brush parameters
197            and set them in the dc. Now the draw_point_shape method and
198            wxproj's draw_polygon_shape function have basically the same
199            signature so that both can be directly used as draw_func
200    
201    2003-07-15  Bernhard Herzog  <[email protected]>
202    
203            * Thuban/Model/save.py (SessionSaver.write_classification): Encode
204            string values (in addition to the labels) as UTF 8
205    
206            * Thuban/Model/load.py (SessionLoader.start_clpoint): Decode the
207            values if the field type is string
208    
209            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Test
210            saving a session with non-ascii string classification values.
211    
212            * test/test_load.py (TestClassification.file_contents)
213            (TestClassification.test): Check for non-ascii values in string
214            classifications
215    
216    2003-07-14  Jonathan Coles   <[email protected]>
217    
218            * test/test_view.py: New. Tests for ViewPort.
219    
220    2003-07-14  Frank Koormann   <[email protected]>
221    
222            * Thuban/Model/load.py (SessionLoader.start_map): Encode map
223            title to latin1.  Fixes https://intevation.de/rt/webrt?serial_num=2013
224    
225            * test/test_load_0_8.py (TestUnicodeStrings): New, test load of
226            unicode strings from session file: session title, map title and
227            projection name.
228            
229    2003-07-10  Jonathan Coles   <[email protected]>
230    
231            * Thuban/UI/viewport.py (Tool.MouseUp): Should have called
232            drag_stop, not drag_move when the mouse is released.
233    
234    2003-07-10  Jonathan Coles   <[email protected]>
235    
236            The most important part of this is the seperation of view.py into
237            two pieces. viewport.py now has a class called ViewPort which
238            contains all the non-wx parts of view.py and can therefore be
239            tested. view.py contains only the wx-specific parts and is fairly
240            simple.
241    
242            * Thuban/UI/view.py: Stripped out all non-wx functionality. Fixes
243            RTTbug #1992.
244            * Thuban/UI/viewport.py: New. Contains non-wx view functionality.
245            RTTbug #1992.
246    
247            * Thuban/Model/classgen.py (generate_singletons,
248            generate_uniform_distribution, generate_quantiles):
249            Added 'fixes' parameter so that property attributes can
250            be held constant over the generated classification groups.
251            (CustomRamp.GetProperties): Remove unused variables.
252    
253            * Thuban/Model/map.py (Map.SetProjection): Send the old
254            projection as an argument to listeners of the MAP_PROJECTION_CHANGED
255            event.
256    
257            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Added 'records'
258            parameter which is a list of records that restricts which
259            records are saved. Fixes RTbug #1997.
260    
261            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
262            Port exception dialog from GREAT-ER. Fixes RTbug #1993.
263    
264            * Thuban/UI/classgen.py (ClassGenDialog.__init__): Add controls
265            to allow the user to fix line color/width on generated groups.
266            (ClassGenDialog.OnOK): Use new 'fixes' parameter of the generate_*
267            functions to optionally fix group properties.
268    
269            * Thuban/UI/main.py (main): Set exception hook to the
270            ShowExceptionDialog. Fixes RTbug #1993.
271    
272            * Thuban/UI/mainwindow.py (MainWindow.ShowTableView): Raise
273            the table window when it is selectd to be shown.
274    
275            * Thuban/UI/tableview.py (QueryTableFrame.__init__): Add an
276            Export Selection button and move the export buttons underneath
277            the table.
278            (QueryTableFrame.UpdateStatusText): Added event argument so
279            that it can respond to grid selection events. The status text
280            is now updated even when the table is not associated with a
281            layer as was previously assumed.
282            (QueryTableFrame.OnGridSelectRange, OnGridSelectCell): Removed.
283            UpdateStatusText responds to these events.
284            (QueryTableFrame.OnSaveAs): Renamed to doExport.
285            (QueryTableFrame.doExport): Helper function that saves the
286            entire table, or selected rows, to a file.
287            (QueryTableFrame.OnExport, QueryTableFrame.OnExportSel): New.
288            Respond to export button events and call doExport.
289    
290            * extensions/thuban/gdalwarp.cpp (ProjectRasterFile): Make sure
291            the function doesn't return NULL without first setting a Python
292            Error.
293    
294            * test/runtests.py (main): Only print "Unknown option" for
295            unsupported options.
296    
297            * test/support.py (FloatComparisonMixin.assertFloatEqual): Take
298            optional epsilon argument to specify floating point accuracy.
299            (FloatComparisonMixin.assertFloatSeqEqual): Call assertFloatEqual
300            for each item test.
301    
302            * test/test_csv_table.py (TestCSVTable.test_table_to_cvs): Add
303            tests for saving selected records.
304    
305            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): Add
306            tests for saving selected records.
307    
308            * test/test_map.py (TestMapWithContents.test_set_projection):
309            MAP_PROJECTION_CHANGED events send the old projection.
310    
311            * test/test_session.py
312            (TestSessionWithContent.test_forward_map_projection):
313            MAP_PROJECTION_CHANGED events send the old projection.
314    
315            * test/test_table.py (TableTest): Update tests to use non-deprecated
316            functions.
317    
318    2003-07-08  Bernhard Herzog  <[email protected]>
319    
320            * Thuban/Model/transientdb.py (TransientTableBase.Width): The type
321            constants in the column objects are the standard ones defined in
322            the table module.
323    
324            * test/test_transientdb.py
325            (TestTransientTable.test_transienttable_to_dbf): New. Test whether
326            exporting transient tables as DBF works. This should catch the bug
327            just fixed in TransientTableBase.Width.
328    
329    2003-07-08  Bernhard Herzog  <[email protected]>
330    
331            * Thuban/Model/classgen.py (CustomRamp.GetProperties): Compute the
332            interpolated colors correctly.
333    
334            * test/test_classgen.py (TestCustomRamp.test_color_interpolation):
335            New. Test case for the fix in classgen.py
336    
337    2003-07-08  Bernhard Herzog  <[email protected]>
338    
339            * test/runtests.py (main): Make the default output less verbose
340            and add a verbosity option (-v) to get the old output
341    
342    2003-07-08  Bernhard Herzog  <[email protected]>
343    
344            * Resources/XML/thuban-0.9.dtd: New. This will become the DTD for
345            0.9.
346    
347            * Thuban/Model/transientdb.py (TransientJoinedTable.JoinType):
348            New. Return the join type
349    
350            * Thuban/Model/save.py (SessionSaver.write_session): Use new 0.9
351            DTD
352            (SessionSaver.write_data_containers): Save the join type for
353            joined tables
354    
355            * Thuban/Model/load.py (SessionLoader.__init__): Add the new 0.9
356            namespace
357            (SessionLoader.start_jointable): Handle the jointype attribute
358    
359            * test/test_load_0_8.py: New. Effectively a copy of test_load.py
360            as of Thuban 0.8. These are now tests to determine whether Thuban
361            can still read files generated by Thuban 0.8
362    
363            * test/test_load.py (LoadSessionTest.dtd)
364            (TestSingleLayer.file_contents)
365            (TestLayerVisibility.file_contents, TestLabels.file_contents)
366            (TestLayerProjection.file_contents)
367            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
368            (TestJoinedTable.file_contents)
369            (TestLoadError.file_contents): Update for new DTD
370            (TestJoinedTable.file_contents, TestJoinedTable.setUp): Add test
371            for new join type attribute
372    
373            * test/test_save.py (SaveSessionTest.dtd)
374            (SaveSessionTest.testEmptySession)
375            (SaveSessionTest.testSingleLayer)
376            (SaveSessionTest.testLayerProjection)
377            (SaveSessionTest.testRasterLayer)
378            (SaveSessionTest.testClassifiedLayer)
379            (SaveSessionTest.test_dbf_table)
380            (SaveSessionTest.test_joined_table): Update for new DTD
381            (SaveSessionTest.test_joined_table): Add test for new join type
382            attribute
383    
384    2003-07-04  Bernhard Herzog  <[email protected]>
385    
386            * Thuban/Model/table.py (_find_dbf_column_names): New. Helper
387            function for table_to_dbf
388            (table_to_dbf): Deal with names longer than the 10 character limit
389    
390            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): Add
391            doc-string
392            (TestTableToDBF.test_table_to_dbf_long_col_names): New test for
393            long column names
394    
395    2003-07-03  Bernhard Herzog  <[email protected]>
396    
397            * Doc/manual/thuban-manual.xml: Fix the CVS Revision Tag syntax
398    
399    2003-07-03  Bernhard Herzog  <[email protected]>
400    
401            * Doc/manual/thuban-manual.xml, Doc/manual/README: New. Skeleton
402            for the Thuban manual and README with some basic information about
403            the manual
404    
405    2003-07-03  Bernhard Herzog  <[email protected]>
406    
407            * Thuban/Model/transientdb.py (TransientJoinedTable.__init__):
408            Update doc-string
409            (TransientJoinedTable.create): Do not modify the column objects of
410            the input tables in place and copy all columns of the input tables
411            into the joined table after all.
412    
413            * test/test_transientdb.py
414            (TestTransientTable.test_transient_joined_table_same_column_name):
415            Update to reflect the new behavior
416            (TestTransientTable.test_transient_joined_table_with_equal_column_names):
417            Update to reflect the new behavior
418            (TestTransientTable.test_transient_joined_table_name_collisions_dont_modify_in_place):
419            New test case for a bug which modified the column objects in place
420    
421    2003-07-02  Jonathan Coles   <[email protected]>
422    
423            * Thuban/Model/classgen.py (generate_singletons,
424            generate_uniform_distribution, generate_quantiles,
425            GenQuantiles0): Make sure maxValue isn't less than
426            one, otherwise we could divide by zero.
427    
428            * test/test_classgen.py (ClassGenTest.doClassRangeTest,
429            ClassGenTest.doClassSingleTest): Call doBoundsTest to
430            check the end classification groups against the
431            proper property values.
432            (ClassGenTest.doBoundsTest): New. Checks the first and
433            last classification groups to make sure their properties
434            are the correct upper and lower bounds for a color ramp.
435    
436    2003-07-02  Jonathan Coles   <[email protected]>
437    
438            * Thuban/Model/classgen.py (generate_singletons,
439            generate_uniform_distribution, generate_quantiles,
440            GenQuantiles0): The denominator was one to high when
441            calculating the index for the ramp causing the index
442            to never to reach one.
443    
444    2003-07-02  Jonathan Coles   <[email protected]>
445    
446            Changed the singature of ClassGroupRange.__init__ and
447            ClassGroupRange.SetRange() so that the min/max values are
448            passed as a tuple. This makes a better calling scheme for
449            when a Range object is passed instead.
450    
451            * Thuban/Model/classgen.py: Fixed parameters to
452            ClassGroupRange constructor.
453    
454            * Thuban/Model/classification.py (ClassGroupRange.__init__):
455            Consolidate the min/max parameters into a single _range which
456            can either be a tuple or a Range object.
457            (ClassGroupRange.SetRange): Consolidate the min/max parameters
458            into a single _range which can either be a tuple or a Range object.
459    
460            * Thuban/Model/load.py (SessionLoader.start_clrange): Fix
461            call to ClassGroupRange constructor to use a tuple.
462    
463            * Thuban/Model/layer.py (Layer.SetClassification): Switch
464            the classification instance variable to the new class
465            before calling _set_layer otherwise subscribers to a
466            LAYER_CHANGED event will not see any difference.
467    
468            * test/test_classification.py: Fix tests of ClassGroupRange
469            so that they use the new signature.
470    
471            * test/test_load.py: Fix use of ClassGroupRange so that it
472            uses the new signature.
473    
474            * test/test_load_0_2.py: Fix use of ClassGroupRange so that it
475            uses the new signature.
476    
477            * test/test_save.py: Fix use of ClassGroupRange so that it
478            uses the new signature.
479    
480    
481    2003-07-01  Jonathan Coles   <[email protected]>
482    
483            * Thuban/Model/classgen.py: Fixes RTbug #1972, 1971.
484            Import used objects/class from color.
485            (generate_singletons): We don't
486            need the numGroups parameter anymore because we are using
487            the new ramps with GetProperties().
488            (generate_uniform_distribution): Use new ramp method
489            GetProperties().
490            (generate_quantiles, GenQuantiles0): Use new ramp method
491            GetProperties().
492            (CustomRamp.SetNumGroups): Removed. The ramps now map
493            a value from 0 to 1 to class properties so the number
494            of groups is not needed ahead of time.
495            (CustomRamp.next): Removed. CustomRamp does not support
496            interation anymore.
497            (CustomRamp.GetProperties): Returns a ClassGroupProperties
498            object based on the index value from 0 to 1 that is
499            passed to it.
500            (GreyRamp, RedRamp, GreenRamp, BlueRamp, GreenToRedRamp):
501            Made into instances of Monochromatic class instread of
502            deriving from it.
503            (HotToCold.SetNumGroups): Removed. See CustomRamp.
504            (HotToCold.next): Removed. See CustomRamp.
505    
506            * Thuban/Model/classification.py: Fixes RTbug #1973, 1971.
507            (Classification.SetField, Classification.SetFieldType):
508            Replaced with SetFieldInfo.
509            (Classification.SetFieldInfo): New. Does a better job of
510            what SetField and SetFieldType used to do by combining
511            their function since they should really always be done
512            at the same time.
513            (Classification.SetLayer): Renamed to _set_layer.
514            (Classification._set_layer): Should only be called from
515            Layer's SetClassification. This does not cause a recursive
516            call as SetLayer did because we know that Layer knows about
517            the classification.
518    
519            * Thuban/Model/color.py: Fixes RTbug #1971.
520            (_Transparent): Renamed from Transparent so it doesn't
521            conflict with the module variable.
522            (Transparent, Black): Renamed from Color.Transparent,
523            Color.Black so they are not class variables.
524    
525            * Thuban/Model/layer.py: Fixes RTbug #1971, 1973.
526            (Layer.Destroy): We don't need to call SetClassification
527            anymore to clear out the back reference in the classifcation
528            to the layer. It's better to set it to None using _set_layer,
529            and we won't be creating another clas object too.
530            (Layer.SetClassification): Classification._set_layer is not
531            recursive so remove all the locking variables. Also clean
532            up the code so that it remains unchanged if something fails.
533    
534            * Thuban/Model/load.py: Fixes RTbug #1971.
535            (SessionLoader.start_classification): Call
536            Classification.SetFieldInfo().
537    
538            * Thuban/Model/save.py: Removed import of Color which wasn't
539            being used.
540    
541            * Thuban/UI/classgen.py: Fixes RTbug #1972.
542            (ClassGenDialog.__init__): Color ramps are now instances
543            already so we don't need to create any new objects.
544            (ClassGenDialog.OnOK): Check for numGroups is no longer
545            necessary because we never use it.
546    
547            * Thuban/UI/classifier.py: Fixes RTbug #1971.
548            (Classifier.__BuildClassification, Classifier.__SetGridTable):
549            Call Classification.SetFieldInfo() instead of SetFieldType.
550    
551            * Thuban/UI/renderer.py: Fixes RTbug #1971.
552    
553            * Thuban/UI/view.py: Fixes RTbug #1974, 1971.
554            (MapCanvas.__init__): Subscribe to the idle time event. Set
555            background color to white.
556            (MapCanvas.OnPaint): Set a flag indicating that we should
557            render the map during idle time. If we already have a bitmap
558            just draw it now.
559            (MapCanvas.OnIdle): New. Render the map only during idle time.
560            This also fixes a problem with the busy cursor under gtk.
561    
562            * test/test_classgen.py (ClassGenTest.test_generate_singletons):
563            Fix calls to generate_singletons because the signature changed.
564    
565            * test/test_classification.py: Fix color references and
566            change calls to Classification.[SetField|SetFieldType] to
567            SetFieldInfo.
568    
569            * test/test_load.py: Fix color references.
570    
571            * test/test_load_0_2.py: Fix color references.
572    
573            * test/test_save.py (SaveSessionTest.testClassifiedLayer):
574            Change calls to Classification.[SetField|SetFieldType] to
575            SetFieldInfo.
576    
577    2003-07-01  Frank Koormann   <[email protected]>
578    
579            MERGE from the greater-ms3 branch.
580    
581            * test/test_transientdb.py
582            (TestTransientTable.test_transient_joined_table_with_equal_column_names):
583            New. Test join of two tables with partly equal column names.
584    
585            * Thuban/Model/transientdb.py (TransientJoinedTable.create):
586            If duplicates in left and right tables column names are found,
587            append '_' (underscores) to the name until it is unique.
588            Create always new internal names for the resulting table and reference
589            columns in the join statement with <table>.<column>
590    
591    2003-07-01  Bernhard Herzog  <[email protected]>
592    
593            * test/test_transientdb.py
594            (TestTransientTable.test_transient_joined_table_same_column_name):
595            New. Test whether joining on columns with the same names in both
596            tables works.
597            
598            * Thuban/Model/transientdb.py (TransientJoinedTable.create): Make
599            sure to use the right internal names even when joining on field
600            with the same names in both tables. Also, detect duplicate names
601            in the joined table correctly.
602    
603    2003-07-01  Frank Koormann   <[email protected]>
604    
605            * Thuban/UI/renderer.py (ExportRenderer.render_legend):
606            Reverse List of layers to render in same order as in desktop legend.
607    
608    2003-06-30  Jonathan Coles   <[email protected]>
609    
610            * Thuban/version.py (make_tuple): Takes a version string
611            and splits it into a tuple of at most three integers.
612            Used make_tuple() to make tuple versions of the version
613            numbers.
614    
615            * Thuban/UI/about.py: Add Thuban email addresses.
616    
617    2003-06-30  Jonathan Coles   <[email protected]>
618    
619            * Thuban/version.py: SQLite/PySQLite version dependencies
620            were too high.
621    
622    2003-06-30  Jonathan Coles   <[email protected]>
623    
624            * Thuban/version.py: Update version to 0.8.1
625            
626            * MANIFEST.in: Added Projections so that default.proj is
627            included.
628    
629    2003-06-26  Jonathan Coles   <[email protected]>
630    
631            New About box with lots more information including library
632            versions and credits. More/better version checking before
633            Thuban starts.
634    
635            * Thuban/UI/about.py: New. New About box that displays
636            library version information and credits.
637    
638            * Thuban/version.py: Added new 'versions' dictionary which
639            contains the verions of various libraries which are checked
640            when the module loads.
641            (verify_versions): Check all version numbers and returns
642            a list of errors.
643    
644            * Thuban/UI/classifier.py (Classifier.__EnableButtons):
645            Reset the status of the buttons as the situation warrants,
646            but in a better more reliable way by not relying on the
647            current status to determine what needs to change.
648    
649            * Thuban/UI/main.py (wxCHECK_VERSION): Removed. Not needed.
650            (verify_versions): Remove most of the code since it is
651            now in Thuban.version.verify_versions.o
652    
653            * Thuban/UI/mainwindow.py (MainWindow.About): Call new
654            About box in Thuban.UI.about.
655    
656            * extensions/thuban/gdalwarp.cpp (get_gdal_version): New.
657            Returns the version of gdal library being used as a string.
658    
659            * extensions/thuban/wxproj.cpp (check_version, check_version_gtk):
660            Removed.
661            (get_proj_version): Return the version of PROJ that the file
662            was compiled with.
663            (get_gtk_version): Return th version of GTK that the file
664            was compiled with.
665    
666    2003-06-25  Jonathan Coles   <[email protected]>
667    
668            * Thuban/UI/classifier.py (Classifier.EditSymbol): The parent
669            of the SelectPropertiesDialog should be self so the window
670            appears on top.
671            (ClassGroupPropertiesCtrl.DoEdit): The parent
672            of the SelectPropertiesDialog should be self so the window
673            appears on top.
674    
675            * Thuban/UI/resource.py: Cleaned up how we determine file
676            extensions.
677            (GetImageResource): Return an wxImage from our Resources.
678    
679    2003-06-24  Jonathan Coles   <[email protected]>
680    
681            * Thuban/UI/renderer.py (ExportRenderer.render_legend):
682            Check that a layer has a classification before trying
683            to get it. Raster layers don't have classifications.
684    
685    2003-06-23  Jonathan Coles   <[email protected]>
686            
687            * setup.py: Add Resources/XML to resource list.
688        
689    2003-06-23  Jonathan Coles   <[email protected]>
690    
691            * setup.cfg: Fix copyright dates
692        
693    2003-06-23  Jonathan Coles   <[email protected]>
694    
695            * MANIFEST.in: Update with Resources/XML
696    
697            * setup.py: Don't include Locale resources yet as we don't
698            have any and it causes problems building the distribution
699            for Windows. Update version to 0.8.0.
700    
701            * Doc/thuban.dtd: Removed since it is now in Resources/XML.
702    
703            * Thuban/UI/mainwindow.py: Add blank line at the end because
704            file was not being read correctly building the Windows
705            distribution.
706    
707    2003-06-23  Jonathan Coles   <[email protected]>
708    
709            * Thuban/UI/mainwindow.py (MainWindow.About): Fix text.
710    
711            * Thuban/version.py: Temporarily update longversion for
712            the 0.8 release so that it doesn't have the cvs revision.
713    
714    2003-06-23  Jonathan Coles   <[email protected]>
715    
716            * Thuban/UI/common.py (ThubanBeginBusyCursor): Call wxSafeYield
717            to make sure that we don't create reentrant possibilities with
718            wxYield.
719    
720            * Thuban/UI/view.py (MapCanvas.OnPaint): Call wxBeginBusyCursor()
721            directly to avoid the wxSafeYield() call which generates an
722            OnPaint event causing infinite recursion. Don't try to catch
723            exception anymore. This was for before there were limits on map
724            scaling.
725    
726    2003-06-23  Bernhard Herzog  <[email protected]>
727    
728            Bug fix for RT #1961:
729    
730            * Thuban/Model/load.py (SessionLoader.start_derivedshapesource):
731            Register DerivedShapestores with the session
732    
733            * Thuban/Model/session.py (Session.Tables): Make sure each table
734            is only listed once.
735    
736            * test/test_load.py (TestJoinedTable.test): Add check_format call.
737            Update file contents to match the one written out.
738    
739    2003-06-20  Bernhard Herzog  <[email protected]>
740    
741            * test/xmlsupport.py (SaxEventLister.startElementNS)
742            (SaxEventLister.endElementNS): Do not include the qname. Python
743            2.2.1 and 2.2.2 and 2.2.3 differ in this regard. In 2.2.1 qname it
744            is (presumably incorrectly) None, whereas it's a string with the
745            element name in the later versions.
746    
747            * test/test_xmlsupport.py (TestEventList.test_even_list_simple)
748            (TestEventList.test_even_list_namespace): Update tests to reflect
749            the new behaviour
750            (TestEventList.test_even_list_id_normalization): Fix doc-string
751    
752    2003-06-20  Jonathan Coles   <[email protected]>
753    
754            * Thuban/Model/layer.py (BaseLayer.HasShapes): New. Overridden
755            by deriving classes to determine if that layer supports shapes.
756            (Layer): Override HasShapes and return true.
757    
758            * Thuban/UI/classgen.py: Use Thuban[Begin|End]BusyCursor()
759            instead of a direct call to wx[Begin|End]CusyCursor().
760            (GenUniquePanel._OnRetrieve): Set busy cursor while retrieving
761            table data.
762    
763            * Thuban/UI/common.py (ThubanBeginBusyCursor, ThubanEndBusyCursor):
764            New. Wrappers around the wxWindows functions that allow us to
765            make additional calls such as wxYield which gives the native
766            system a chance to update the cursor correctly.
767    
768            * Thuban/UI/tableview.py: Use Thuban[Begin|End]BusyCursor()
769            instead of a direct call to wx[Begin|End]CusyCursor().
770    
771            * Thuban/UI/view.py: Use Thuban[Begin|End]BusyCursor()
772            instead of a direct call to wx[Begin|End]CusyCursor().
773            (MapCanvas.find_shape_at): Check if the current search layer
774            support shapes, otherwise go on to the next layer.
775    
776            * test/test_layer.py: Add tests in each type of layer for
777            HasClassification() and HasShapes()
778    
779  2003-06-20  Jonathan Coles   <[email protected]>  2003-06-20  Jonathan Coles   <[email protected]>
780    
781          * Thuban/UI/view.py (MapCanvas.OnPaint): Call wxYield after          * Thuban/UI/view.py (MapCanvas.OnPaint): Call wxYield after

Legend:
Removed from v.1272  
changed lines
  Added in v.1459

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26