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

Legend:
Removed from v.1289  
changed lines
  Added in v.1403

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26