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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26