/[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 1286 by jonathan, Mon Jun 23 10:31:01 2003 UTC revision 1418 by bh, Tue Jul 15 08:44:20 2003 UTC
# Line 1  Line 1 
1    2003-07-15  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/Model/save.py (SessionSaver.write_classification): Encode
4            string values (in addition to the labels) as UTF 8
5    
6            * Thuban/Model/load.py (SessionLoader.start_clpoint): Decode the
7            values if the field type is string
8    
9            * test/test_save.py (SaveSessionTest.testClassifiedLayer): Test
10            saving a session with non-ascii string classification values.
11    
12            * test/test_load.py (TestClassification.file_contents)
13            (TestClassification.test): Check for non-ascii values in string
14            classifications
15    
16    2003-07-14  Jonathan Coles   <[email protected]>
17    
18            * test/test_view.py: New. Tests for ViewPort.
19    
20    2003-07-14  Frank Koormann   <[email protected]>
21    
22            * Thuban/Model/load.py (SessionLoader.start_map): Encode map
23            title to latin1.  Fixes https://intevation.de/rt/webrt?serial_num=2013
24    
25            * test/test_load_0_8.py (TestUnicodeStrings): New, test load of
26            unicode strings from session file: session title, map title and
27            projection name.
28            
29    2003-07-10  Jonathan Coles   <[email protected]>
30    
31            * Thuban/UI/viewport.py (Tool.MouseUp): Should have called
32            drag_stop, not drag_move when the mouse is released.
33    
34    2003-07-10  Jonathan Coles   <[email protected]>
35    
36            The most important part of this is the seperation of view.py into
37            two pieces. viewport.py now has a class called ViewPort which
38            contains all the non-wx parts of view.py and can therefore be
39            tested. view.py contains only the wx-specific parts and is fairly
40            simple.
41    
42            * Thuban/UI/view.py: Stripped out all non-wx functionality. Fixes
43            RTTbug #1992.
44            * Thuban/UI/viewport.py: New. Contains non-wx view functionality.
45            RTTbug #1992.
46    
47            * Thuban/Model/classgen.py (generate_singletons,
48            generate_uniform_distribution, generate_quantiles):
49            Added 'fixes' parameter so that property attributes can
50            be held constant over the generated classification groups.
51            (CustomRamp.GetProperties): Remove unused variables.
52    
53            * Thuban/Model/map.py (Map.SetProjection): Send the old
54            projection as an argument to listeners of the MAP_PROJECTION_CHANGED
55            event.
56    
57            * Thuban/Model/table.py (table_to_dbf, table_to_csv): Added 'records'
58            parameter which is a list of records that restricts which
59            records are saved. Fixes RTbug #1997.
60    
61            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
62            Port exception dialog from GREAT-ER. Fixes RTbug #1993.
63    
64            * Thuban/UI/classgen.py (ClassGenDialog.__init__): Add controls
65            to allow the user to fix line color/width on generated groups.
66            (ClassGenDialog.OnOK): Use new 'fixes' parameter of the generate_*
67            functions to optionally fix group properties.
68    
69            * Thuban/UI/main.py (main): Set exception hook to the
70            ShowExceptionDialog. Fixes RTbug #1993.
71    
72            * Thuban/UI/mainwindow.py (MainWindow.ShowTableView): Raise
73            the table window when it is selectd to be shown.
74    
75            * Thuban/UI/tableview.py (QueryTableFrame.__init__): Add an
76            Export Selection button and move the export buttons underneath
77            the table.
78            (QueryTableFrame.UpdateStatusText): Added event argument so
79            that it can respond to grid selection events. The status text
80            is now updated even when the table is not associated with a
81            layer as was previously assumed.
82            (QueryTableFrame.OnGridSelectRange, OnGridSelectCell): Removed.
83            UpdateStatusText responds to these events.
84            (QueryTableFrame.OnSaveAs): Renamed to doExport.
85            (QueryTableFrame.doExport): Helper function that saves the
86            entire table, or selected rows, to a file.
87            (QueryTableFrame.OnExport, QueryTableFrame.OnExportSel): New.
88            Respond to export button events and call doExport.
89    
90            * extensions/thuban/gdalwarp.cpp (ProjectRasterFile): Make sure
91            the function doesn't return NULL without first setting a Python
92            Error.
93    
94            * test/runtests.py (main): Only print "Unknown option" for
95            unsupported options.
96    
97            * test/support.py (FloatComparisonMixin.assertFloatEqual): Take
98            optional epsilon argument to specify floating point accuracy.
99            (FloatComparisonMixin.assertFloatSeqEqual): Call assertFloatEqual
100            for each item test.
101    
102            * test/test_csv_table.py (TestCSVTable.test_table_to_cvs): Add
103            tests for saving selected records.
104    
105            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): Add
106            tests for saving selected records.
107    
108            * test/test_map.py (TestMapWithContents.test_set_projection):
109            MAP_PROJECTION_CHANGED events send the old projection.
110    
111            * test/test_session.py
112            (TestSessionWithContent.test_forward_map_projection):
113            MAP_PROJECTION_CHANGED events send the old projection.
114    
115            * test/test_table.py (TableTest): Update tests to use non-deprecated
116            functions.
117    
118    2003-07-08  Bernhard Herzog  <[email protected]>
119    
120            * Thuban/Model/transientdb.py (TransientTableBase.Width): The type
121            constants in the column objects are the standard ones defined in
122            the table module.
123    
124            * test/test_transientdb.py
125            (TestTransientTable.test_transienttable_to_dbf): New. Test whether
126            exporting transient tables as DBF works. This should catch the bug
127            just fixed in TransientTableBase.Width.
128    
129    2003-07-08  Bernhard Herzog  <[email protected]>
130    
131            * Thuban/Model/classgen.py (CustomRamp.GetProperties): Compute the
132            interpolated colors correctly.
133    
134            * test/test_classgen.py (TestCustomRamp.test_color_interpolation):
135            New. Test case for the fix in classgen.py
136    
137    2003-07-08  Bernhard Herzog  <[email protected]>
138    
139            * test/runtests.py (main): Make the default output less verbose
140            and add a verbosity option (-v) to get the old output
141    
142    2003-07-08  Bernhard Herzog  <[email protected]>
143    
144            * Resources/XML/thuban-0.9.dtd: New. This will become the DTD for
145            0.9.
146    
147            * Thuban/Model/transientdb.py (TransientJoinedTable.JoinType):
148            New. Return the join type
149    
150            * Thuban/Model/save.py (SessionSaver.write_session): Use new 0.9
151            DTD
152            (SessionSaver.write_data_containers): Save the join type for
153            joined tables
154    
155            * Thuban/Model/load.py (SessionLoader.__init__): Add the new 0.9
156            namespace
157            (SessionLoader.start_jointable): Handle the jointype attribute
158    
159            * test/test_load_0_8.py: New. Effectively a copy of test_load.py
160            as of Thuban 0.8. These are now tests to determine whether Thuban
161            can still read files generated by Thuban 0.8
162    
163            * test/test_load.py (LoadSessionTest.dtd)
164            (TestSingleLayer.file_contents)
165            (TestLayerVisibility.file_contents, TestLabels.file_contents)
166            (TestLayerProjection.file_contents)
167            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
168            (TestJoinedTable.file_contents)
169            (TestLoadError.file_contents): Update for new DTD
170            (TestJoinedTable.file_contents, TestJoinedTable.setUp): Add test
171            for new join type attribute
172    
173            * test/test_save.py (SaveSessionTest.dtd)
174            (SaveSessionTest.testEmptySession)
175            (SaveSessionTest.testSingleLayer)
176            (SaveSessionTest.testLayerProjection)
177            (SaveSessionTest.testRasterLayer)
178            (SaveSessionTest.testClassifiedLayer)
179            (SaveSessionTest.test_dbf_table)
180            (SaveSessionTest.test_joined_table): Update for new DTD
181            (SaveSessionTest.test_joined_table): Add test for new join type
182            attribute
183    
184    2003-07-04  Bernhard Herzog  <[email protected]>
185    
186            * Thuban/Model/table.py (_find_dbf_column_names): New. Helper
187            function for table_to_dbf
188            (table_to_dbf): Deal with names longer than the 10 character limit
189    
190            * test/test_dbf_table.py (TestTableToDBF.test_table_to_dbf): Add
191            doc-string
192            (TestTableToDBF.test_table_to_dbf_long_col_names): New test for
193            long column names
194    
195    2003-07-03  Bernhard Herzog  <[email protected]>
196    
197            * Doc/manual/thuban-manual.xml: Fix the CVS Revision Tag syntax
198    
199    2003-07-03  Bernhard Herzog  <[email protected]>
200    
201            * Doc/manual/thuban-manual.xml, Doc/manual/README: New. Skeleton
202            for the Thuban manual and README with some basic information about
203            the manual
204    
205    2003-07-03  Bernhard Herzog  <[email protected]>
206    
207            * Thuban/Model/transientdb.py (TransientJoinedTable.__init__):
208            Update doc-string
209            (TransientJoinedTable.create): Do not modify the column objects of
210            the input tables in place and copy all columns of the input tables
211            into the joined table after all.
212    
213            * test/test_transientdb.py
214            (TestTransientTable.test_transient_joined_table_same_column_name):
215            Update to reflect the new behavior
216            (TestTransientTable.test_transient_joined_table_with_equal_column_names):
217            Update to reflect the new behavior
218            (TestTransientTable.test_transient_joined_table_name_collisions_dont_modify_in_place):
219            New test case for a bug which modified the column objects in place
220    
221    2003-07-02  Jonathan Coles   <[email protected]>
222    
223            * Thuban/Model/classgen.py (generate_singletons,
224            generate_uniform_distribution, generate_quantiles,
225            GenQuantiles0): Make sure maxValue isn't less than
226            one, otherwise we could divide by zero.
227    
228            * test/test_classgen.py (ClassGenTest.doClassRangeTest,
229            ClassGenTest.doClassSingleTest): Call doBoundsTest to
230            check the end classification groups against the
231            proper property values.
232            (ClassGenTest.doBoundsTest): New. Checks the first and
233            last classification groups to make sure their properties
234            are the correct upper and lower bounds for a color ramp.
235    
236    2003-07-02  Jonathan Coles   <[email protected]>
237    
238            * Thuban/Model/classgen.py (generate_singletons,
239            generate_uniform_distribution, generate_quantiles,
240            GenQuantiles0): The denominator was one to high when
241            calculating the index for the ramp causing the index
242            to never to reach one.
243    
244    2003-07-02  Jonathan Coles   <[email protected]>
245    
246            Changed the singature of ClassGroupRange.__init__ and
247            ClassGroupRange.SetRange() so that the min/max values are
248            passed as a tuple. This makes a better calling scheme for
249            when a Range object is passed instead.
250    
251            * Thuban/Model/classgen.py: Fixed parameters to
252            ClassGroupRange constructor.
253    
254            * Thuban/Model/classification.py (ClassGroupRange.__init__):
255            Consolidate the min/max parameters into a single _range which
256            can either be a tuple or a Range object.
257            (ClassGroupRange.SetRange): Consolidate the min/max parameters
258            into a single _range which can either be a tuple or a Range object.
259    
260            * Thuban/Model/load.py (SessionLoader.start_clrange): Fix
261            call to ClassGroupRange constructor to use a tuple.
262    
263            * Thuban/Model/layer.py (Layer.SetClassification): Switch
264            the classification instance variable to the new class
265            before calling _set_layer otherwise subscribers to a
266            LAYER_CHANGED event will not see any difference.
267    
268            * test/test_classification.py: Fix tests of ClassGroupRange
269            so that they use the new signature.
270    
271            * test/test_load.py: Fix use of ClassGroupRange so that it
272            uses the new signature.
273    
274            * test/test_load_0_2.py: Fix use of ClassGroupRange so that it
275            uses the new signature.
276    
277            * test/test_save.py: Fix use of ClassGroupRange so that it
278            uses the new signature.
279    
280    
281    2003-07-01  Jonathan Coles   <[email protected]>
282    
283            * Thuban/Model/classgen.py: Fixes RTbug #1972, 1971.
284            Import used objects/class from color.
285            (generate_singletons): We don't
286            need the numGroups parameter anymore because we are using
287            the new ramps with GetProperties().
288            (generate_uniform_distribution): Use new ramp method
289            GetProperties().
290            (generate_quantiles, GenQuantiles0): Use new ramp method
291            GetProperties().
292            (CustomRamp.SetNumGroups): Removed. The ramps now map
293            a value from 0 to 1 to class properties so the number
294            of groups is not needed ahead of time.
295            (CustomRamp.next): Removed. CustomRamp does not support
296            interation anymore.
297            (CustomRamp.GetProperties): Returns a ClassGroupProperties
298            object based on the index value from 0 to 1 that is
299            passed to it.
300            (GreyRamp, RedRamp, GreenRamp, BlueRamp, GreenToRedRamp):
301            Made into instances of Monochromatic class instread of
302            deriving from it.
303            (HotToCold.SetNumGroups): Removed. See CustomRamp.
304            (HotToCold.next): Removed. See CustomRamp.
305    
306            * Thuban/Model/classification.py: Fixes RTbug #1973, 1971.
307            (Classification.SetField, Classification.SetFieldType):
308            Replaced with SetFieldInfo.
309            (Classification.SetFieldInfo): New. Does a better job of
310            what SetField and SetFieldType used to do by combining
311            their function since they should really always be done
312            at the same time.
313            (Classification.SetLayer): Renamed to _set_layer.
314            (Classification._set_layer): Should only be called from
315            Layer's SetClassification. This does not cause a recursive
316            call as SetLayer did because we know that Layer knows about
317            the classification.
318    
319            * Thuban/Model/color.py: Fixes RTbug #1971.
320            (_Transparent): Renamed from Transparent so it doesn't
321            conflict with the module variable.
322            (Transparent, Black): Renamed from Color.Transparent,
323            Color.Black so they are not class variables.
324    
325            * Thuban/Model/layer.py: Fixes RTbug #1971, 1973.
326            (Layer.Destroy): We don't need to call SetClassification
327            anymore to clear out the back reference in the classifcation
328            to the layer. It's better to set it to None using _set_layer,
329            and we won't be creating another clas object too.
330            (Layer.SetClassification): Classification._set_layer is not
331            recursive so remove all the locking variables. Also clean
332            up the code so that it remains unchanged if something fails.
333    
334            * Thuban/Model/load.py: Fixes RTbug #1971.
335            (SessionLoader.start_classification): Call
336            Classification.SetFieldInfo().
337    
338            * Thuban/Model/save.py: Removed import of Color which wasn't
339            being used.
340    
341            * Thuban/UI/classgen.py: Fixes RTbug #1972.
342            (ClassGenDialog.__init__): Color ramps are now instances
343            already so we don't need to create any new objects.
344            (ClassGenDialog.OnOK): Check for numGroups is no longer
345            necessary because we never use it.
346    
347            * Thuban/UI/classifier.py: Fixes RTbug #1971.
348            (Classifier.__BuildClassification, Classifier.__SetGridTable):
349            Call Classification.SetFieldInfo() instead of SetFieldType.
350    
351            * Thuban/UI/renderer.py: Fixes RTbug #1971.
352    
353            * Thuban/UI/view.py: Fixes RTbug #1974, 1971.
354            (MapCanvas.__init__): Subscribe to the idle time event. Set
355            background color to white.
356            (MapCanvas.OnPaint): Set a flag indicating that we should
357            render the map during idle time. If we already have a bitmap
358            just draw it now.
359            (MapCanvas.OnIdle): New. Render the map only during idle time.
360            This also fixes a problem with the busy cursor under gtk.
361    
362            * test/test_classgen.py (ClassGenTest.test_generate_singletons):
363            Fix calls to generate_singletons because the signature changed.
364    
365            * test/test_classification.py: Fix color references and
366            change calls to Classification.[SetField|SetFieldType] to
367            SetFieldInfo.
368    
369            * test/test_load.py: Fix color references.
370    
371            * test/test_load_0_2.py: Fix color references.
372    
373            * test/test_save.py (SaveSessionTest.testClassifiedLayer):
374            Change calls to Classification.[SetField|SetFieldType] to
375            SetFieldInfo.
376    
377    2003-07-01  Frank Koormann   <[email protected]>
378    
379            MERGE from the greater-ms3 branch.
380    
381            * test/test_transientdb.py
382            (TestTransientTable.test_transient_joined_table_with_equal_column_names):
383            New. Test join of two tables with partly equal column names.
384    
385            * Thuban/Model/transientdb.py (TransientJoinedTable.create):
386            If duplicates in left and right tables column names are found,
387            append '_' (underscores) to the name until it is unique.
388            Create always new internal names for the resulting table and reference
389            columns in the join statement with <table>.<column>
390    
391    2003-07-01  Bernhard Herzog  <[email protected]>
392    
393            * test/test_transientdb.py
394            (TestTransientTable.test_transient_joined_table_same_column_name):
395            New. Test whether joining on columns with the same names in both
396            tables works.
397            
398            * Thuban/Model/transientdb.py (TransientJoinedTable.create): Make
399            sure to use the right internal names even when joining on field
400            with the same names in both tables. Also, detect duplicate names
401            in the joined table correctly.
402    
403    2003-07-01  Frank Koormann   <[email protected]>
404    
405            * Thuban/UI/renderer.py (ExportRenderer.render_legend):
406            Reverse List of layers to render in same order as in desktop legend.
407    
408    2003-06-30  Jonathan Coles   <[email protected]>
409    
410            * Thuban/version.py (make_tuple): Takes a version string
411            and splits it into a tuple of at most three integers.
412            Used make_tuple() to make tuple versions of the version
413            numbers.
414    
415            * Thuban/UI/about.py: Add Thuban email addresses.
416    
417    2003-06-30  Jonathan Coles   <[email protected]>
418    
419            * Thuban/version.py: SQLite/PySQLite version dependencies
420            were too high.
421    
422    2003-06-30  Jonathan Coles   <[email protected]>
423    
424            * Thuban/version.py: Update version to 0.8.1
425            
426            * MANIFEST.in: Added Projections so that default.proj is
427            included.
428    
429    2003-06-26  Jonathan Coles   <[email protected]>
430    
431            New About box with lots more information including library
432            versions and credits. More/better version checking before
433            Thuban starts.
434    
435            * Thuban/UI/about.py: New. New About box that displays
436            library version information and credits.
437    
438            * Thuban/version.py: Added new 'versions' dictionary which
439            contains the verions of various libraries which are checked
440            when the module loads.
441            (verify_versions): Check all version numbers and returns
442            a list of errors.
443    
444            * Thuban/UI/classifier.py (Classifier.__EnableButtons):
445            Reset the status of the buttons as the situation warrants,
446            but in a better more reliable way by not relying on the
447            current status to determine what needs to change.
448    
449            * Thuban/UI/main.py (wxCHECK_VERSION): Removed. Not needed.
450            (verify_versions): Remove most of the code since it is
451            now in Thuban.version.verify_versions.o
452    
453            * Thuban/UI/mainwindow.py (MainWindow.About): Call new
454            About box in Thuban.UI.about.
455    
456            * extensions/thuban/gdalwarp.cpp (get_gdal_version): New.
457            Returns the version of gdal library being used as a string.
458    
459            * extensions/thuban/wxproj.cpp (check_version, check_version_gtk):
460            Removed.
461            (get_proj_version): Return the version of PROJ that the file
462            was compiled with.
463            (get_gtk_version): Return th version of GTK that the file
464            was compiled with.
465    
466    2003-06-25  Jonathan Coles   <[email protected]>
467    
468            * Thuban/UI/classifier.py (Classifier.EditSymbol): The parent
469            of the SelectPropertiesDialog should be self so the window
470            appears on top.
471            (ClassGroupPropertiesCtrl.DoEdit): The parent
472            of the SelectPropertiesDialog should be self so the window
473            appears on top.
474    
475            * Thuban/UI/resource.py: Cleaned up how we determine file
476            extensions.
477            (GetImageResource): Return an wxImage from our Resources.
478    
479    2003-06-24  Jonathan Coles   <[email protected]>
480    
481            * Thuban/UI/renderer.py (ExportRenderer.render_legend):
482            Check that a layer has a classification before trying
483            to get it. Raster layers don't have classifications.
484    
485    2003-06-23  Jonathan Coles   <[email protected]>
486            
487            * setup.py: Add Resources/XML to resource list.
488        
489    2003-06-23  Jonathan Coles   <[email protected]>
490    
491            * setup.cfg: Fix copyright dates
492        
493    2003-06-23  Jonathan Coles   <[email protected]>
494    
495            * MANIFEST.in: Update with Resources/XML
496    
497            * setup.py: Don't include Locale resources yet as we don't
498            have any and it causes problems building the distribution
499            for Windows. Update version to 0.8.0.
500    
501            * Doc/thuban.dtd: Removed since it is now in Resources/XML.
502    
503            * Thuban/UI/mainwindow.py: Add blank line at the end because
504            file was not being read correctly building the Windows
505            distribution.
506    
507    2003-06-23  Jonathan Coles   <[email protected]>
508    
509            * Thuban/UI/mainwindow.py (MainWindow.About): Fix text.
510    
511            * Thuban/version.py: Temporarily update longversion for
512            the 0.8 release so that it doesn't have the cvs revision.
513    
514  2003-06-23  Jonathan Coles   <[email protected]>  2003-06-23  Jonathan Coles   <[email protected]>
515    
516          * Thuban/UI/common.py (ThubanBeginBusyCursor): Call wxSafeYield          * Thuban/UI/common.py (ThubanBeginBusyCursor): Call wxSafeYield

Legend:
Removed from v.1286  
changed lines
  Added in v.1418

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26