/[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 1242 by frank, Thu Jun 19 09:26:10 2003 UTC revision 1325 by frank, Tue Jul 1 09:29:27 2003 UTC
# Line 1  Line 1 
1    2003-07-01  Frank Koormann   <[email protected]>
2    
3            * Thuban/UI/renderer.py (ExportRenderer.render_legend):
4            Reverse List of layers to render in same order as in desktop legend.
5    
6    2003-06-30  Jonathan Coles   <[email protected]>
7    
8            * Thuban/version.py: SQLite/PySQLite version dependencies
9            were too high.
10    
11    2003-06-30  Jonathan Coles   <[email protected]>
12    
13            * Thuban/version.py: Update version to 0.8.1
14            
15            * MANIFEST.in: Added Projections so that default.proj is
16            included.
17    
18    2003-06-26  Jonathan Coles   <[email protected]>
19    
20            New About box with lots more information including library
21            versions and credits. More/better version checking before
22            Thuban starts.
23    
24            * Thuban/UI/about.py: New. New About box that displays
25            library version information and credits.
26    
27            * Thuban/version.py: Added new 'versions' dictionary which
28            contains the verions of various libraries which are checked
29            when the module loads.
30            (verify_versions): Check all version numbers and returns
31            a list of errors.
32    
33            * Thuban/UI/classifier.py (Classifier.__EnableButtons):
34            Reset the status of the buttons as the situation warrants,
35            but in a better more reliable way by not relying on the
36            current status to determine what needs to change.
37    
38            * Thuban/UI/main.py (wxCHECK_VERSION): Removed. Not needed.
39            (verify_versions): Remove most of the code since it is
40            now in Thuban.version.verify_versions.o
41    
42            * Thuban/UI/mainwindow.py (MainWindow.About): Call new
43            About box in Thuban.UI.about.
44    
45            * extensions/thuban/gdalwarp.cpp (get_gdal_version): New.
46            Returns the version of gdal library being used as a string.
47    
48            * extensions/thuban/wxproj.cpp (check_version, check_version_gtk):
49            Removed.
50            (get_proj_version): Return the version of PROJ that the file
51            was compiled with.
52            (get_gtk_version): Return th version of GTK that the file
53            was compiled with.
54    
55    2003-06-25  Jonathan Coles   <[email protected]>
56    
57            * Thuban/UI/classifier.py (Classifier.EditSymbol): The parent
58            of the SelectPropertiesDialog should be self so the window
59            appears on top.
60            (ClassGroupPropertiesCtrl.DoEdit): The parent
61            of the SelectPropertiesDialog should be self so the window
62            appears on top.
63    
64            * Thuban/UI/resource.py: Cleaned up how we determine file
65            extensions.
66            (GetImageResource): Return an wxImage from our Resources.
67    
68    2003-06-24  Jonathan Coles   <[email protected]>
69    
70            * Thuban/UI/renderer.py (ExportRenderer.render_legend):
71            Check that a layer has a classification before trying
72            to get it. Raster layers don't have classifications.
73    
74    2003-06-23  Jonathan Coles   <[email protected]>
75            
76            * setup.py: Add Resources/XML to resource list.
77        
78    2003-06-23  Jonathan Coles   <[email protected]>
79    
80            * setup.cfg: Fix copyright dates
81        
82    2003-06-23  Jonathan Coles   <[email protected]>
83    
84            * MANIFEST.in: Update with Resources/XML
85    
86            * setup.py: Don't include Locale resources yet as we don't
87            have any and it causes problems building the distribution
88            for Windows. Update version to 0.8.0.
89    
90            * Doc/thuban.dtd: Removed since it is now in Resources/XML.
91    
92            * Thuban/UI/mainwindow.py: Add blank line at the end because
93            file was not being read correctly building the Windows
94            distribution.
95    
96    2003-06-23  Jonathan Coles   <[email protected]>
97    
98            * Thuban/UI/mainwindow.py (MainWindow.About): Fix text.
99    
100            * Thuban/version.py: Temporarily update longversion for
101            the 0.8 release so that it doesn't have the cvs revision.
102    
103    2003-06-23  Jonathan Coles   <[email protected]>
104    
105            * Thuban/UI/common.py (ThubanBeginBusyCursor): Call wxSafeYield
106            to make sure that we don't create reentrant possibilities with
107            wxYield.
108    
109            * Thuban/UI/view.py (MapCanvas.OnPaint): Call wxBeginBusyCursor()
110            directly to avoid the wxSafeYield() call which generates an
111            OnPaint event causing infinite recursion. Don't try to catch
112            exception anymore. This was for before there were limits on map
113            scaling.
114    
115    2003-06-23  Bernhard Herzog  <[email protected]>
116    
117            Bug fix for RT #1961:
118    
119            * Thuban/Model/load.py (SessionLoader.start_derivedshapesource):
120            Register DerivedShapestores with the session
121    
122            * Thuban/Model/session.py (Session.Tables): Make sure each table
123            is only listed once.
124    
125            * test/test_load.py (TestJoinedTable.test): Add check_format call.
126            Update file contents to match the one written out.
127    
128    2003-06-20  Bernhard Herzog  <[email protected]>
129    
130            * test/xmlsupport.py (SaxEventLister.startElementNS)
131            (SaxEventLister.endElementNS): Do not include the qname. Python
132            2.2.1 and 2.2.2 and 2.2.3 differ in this regard. In 2.2.1 qname it
133            is (presumably incorrectly) None, whereas it's a string with the
134            element name in the later versions.
135    
136            * test/test_xmlsupport.py (TestEventList.test_even_list_simple)
137            (TestEventList.test_even_list_namespace): Update tests to reflect
138            the new behaviour
139            (TestEventList.test_even_list_id_normalization): Fix doc-string
140    
141    2003-06-20  Jonathan Coles   <[email protected]>
142    
143            * Thuban/Model/layer.py (BaseLayer.HasShapes): New. Overridden
144            by deriving classes to determine if that layer supports shapes.
145            (Layer): Override HasShapes and return true.
146    
147            * Thuban/UI/classgen.py: Use Thuban[Begin|End]BusyCursor()
148            instead of a direct call to wx[Begin|End]CusyCursor().
149            (GenUniquePanel._OnRetrieve): Set busy cursor while retrieving
150            table data.
151    
152            * Thuban/UI/common.py (ThubanBeginBusyCursor, ThubanEndBusyCursor):
153            New. Wrappers around the wxWindows functions that allow us to
154            make additional calls such as wxYield which gives the native
155            system a chance to update the cursor correctly.
156    
157            * Thuban/UI/tableview.py: Use Thuban[Begin|End]BusyCursor()
158            instead of a direct call to wx[Begin|End]CusyCursor().
159    
160            * Thuban/UI/view.py: Use Thuban[Begin|End]BusyCursor()
161            instead of a direct call to wx[Begin|End]CusyCursor().
162            (MapCanvas.find_shape_at): Check if the current search layer
163            support shapes, otherwise go on to the next layer.
164    
165            * test/test_layer.py: Add tests in each type of layer for
166            HasClassification() and HasShapes()
167    
168    2003-06-20  Jonathan Coles   <[email protected]>
169    
170            * Thuban/UI/view.py (MapCanvas.OnPaint): Call wxYield after
171            turning on the busy cursor to allow the system to change the
172            cursor before we begin painting. This fixes a problem that
173            was occuring only under GTK. Fixes RTbug #1840.
174    
175    2003-06-20  Bernhard Herzog  <[email protected]>
176    
177            * Resources/XML/thuban-0.8.dtd: New DTD for the new file format
178            version.
179    
180            * Thuban/Model/save.py (sort_data_stores): New. Make topological
181            sort of the data sources so they can be written with sources that
182            data sources that depend on other data sources come after the
183            sources they depend on.
184            (SessionSaver.__init__): Add idmap instance variable to map from
185            objects to the ids used in the file.
186            (SessionSaver.get_id, SessionSaver.define_id)
187            (SessionSaver.has_id): New. Methods to manage the idmap
188            (SessionSaver.write): Use thuban-0.8.dtd
189            (SessionSaver.write_session): Add a namespace on the session and
190            write out the data sources before the maps.
191            (SessionSaver.write_data_containers): New. Write the data
192            containers.
193            (SessionSaver.write_layer): Layer elements now refer to a
194            shapestore and don't contain filenames anymore.
195    
196            * Thuban/Model/load.py (LoadError): Exception class to raise when
197            errors in the files are discovered
198            (SessionLoader.__init__): Define dispatchers for elements with a
199            thuban-0.8 namespace too.
200            (SessionLoader.check_attrs): New helper method to check and
201            convert attributes
202            (AttrDesc): New. Helper class for SessionLoader.check_attrs
203            (SessionLoader.start_fileshapesource)
204            (SessionLoader.start_derivedshapesource)
205            (SessionLoader.start_filetable, SessionLoader.start_jointable):
206            Handlers for the new elements in the new fileformat
207            (SessionLoader.start_layer): Handle the shapestore attribute in
208            addition to filename.
209            (SessionLoader.start_table, SessionLoader.end_table): Removed.
210            They were never used in the old formats and aren't needed for the
211            new.
212    
213            * Thuban/Model/session.py (Session.DataContainers): New method to
214            return all "data containers", i.e. shapestores and tables
215    
216            * test/xmlsupport.py (SaxEventLister.__init__)
217            (SaxEventLister.startElementNS, sax_eventlist): Add support to
218            normalize IDs.
219    
220            * test/test_xmlsupport.py
221            (TestEventList.test_even_list_id_normalization): New test case for
222            id normalization
223    
224            * test/test_load.py (LoadSessionTest.check_format): Use ID
225            normalization
226            (LoadSessionTest.thubanids, LoadSessionTest.thubanidrefs): New
227            class atrributes used for ID normalization
228            (TestSingleLayer, TestLayerVisibility, TestLabels.test)
229            (TestLayerProjection.test, TestRasterLayer.test): Adapt to new
230            file format
231            (TestJoinedTable): New test for loading sessions with joined
232            tables.
233            (TestLoadError): New. Test whether missing required attributes
234            cause a LoadError.
235    
236            * test/test_save.py (SaveSessionTest.thubanids)
237            (SaveSessionTest.thubanidrefs): New class attributes for ID
238            normalization in .thuban files.
239            (SaveSessionTest.compare_xml): Use id-normalization.
240            (SaveSessionTest.testEmptySession)
241            (SaveSessionTest.testLayerProjection)
242            (SaveSessionTest.testRasterLayer)
243            (SaveSessionTest.testClassifiedLayer): Adapt to new file format.
244            (SaveSessionTest.testLayerProjection): The filename used was the
245            same as for testSingleLayer. Use a different one.
246            (SaveSessionTest.test_dbf_table)
247            (SaveSessionTest.test_joined_table): New test cases for saving the
248            new data sources structures.
249            (TestStoreSort, MockDataStore): Classes to test the sorting of the
250            data stores for writing.
251    
252            * test/runtests.py: Add CVS keywords
253    
254    2003-06-20  Jonathan Coles   <[email protected]>
255    
256            * test/test_session.py
257            (UnreferencedTablesTests.test_unreferenced_tables_with_joins):
258            Use the cultural_landmark-point.dbf file for the store so that
259            the table rows and shape count match.
260    
261    2003-06-20  Jonathan Coles   <[email protected]>
262    
263            * Thuban/Model/data.py (DerivedShapeStore.__init__): Raise
264            an exception if the number of shapes is different from the
265            number of rows in the table. Address RTbug #1933.
266    
267            * test/test_layer.py (TestLayer.test_derived_store): Add
268            a test for the new exception in DerivedShapeStore.__init__.
269    
270            * test/support.py (FloatTestCase): Removed since there is
271            already FloatComparisonMixin. Fixes RTbug #1954.
272            (FloatComparisonMixin.assertFloatEqual): Include test for
273            infinity that was part of FloatTestCase.
274    
275            * test/test_range.py (RangeTest): Inherit from
276            support.FloatComparisonMixin now that we don't have
277            support.FloatTestCase.
278    
279    2003-06-20  Bernhard Herzog  <[email protected]>
280    
281            * test/test_save.py (SaxEventLister, sax_eventlist): Removed. Use
282            the implementation in xmlsupport instead.
283            (SaveSessionTest.compare_xml): sax_eventlist is now in xmlsupport
284    
285            * test/test_proj.py: Import sax_eventlist from xmlsupport instead
286            of test_save
287    
288    2003-06-20  Bernhard Herzog  <[email protected]>
289    
290            * test/test_load.py (LoadSessionTest.check_format): New helper
291            method to make sure the test files we load might have been written
292            by the current thuban version.
293            (ClassificationTest.TestLayers, TestSingleLayer.test)
294            (TestLayerVisibility.test, TestClassification.test)
295            (TestLabels.test, TestLayerProjection.test, TestRasterLayer.test):
296            Add check_format() calls and fix the thuban data to match the data
297            that would be written by saving the session loaded from it.
298    
299            * test/xmlsupport.py (SaxEventLister, sax_eventlist): Copies of
300            the same class and function in test_save.
301    
302            * test/test_xmlsupport.py (TestEventList): New. test cases for
303            sax_eventlist
304    
305    2003-06-20  Bernhard Herzog  <[email protected]>
306    
307            * Resources/XML/thuban.dtd: Add comment about which versions of
308            Thuban are covered by this DTD
309            (map): Fix content model for layers and raster layers. There can
310            be any number or layers and raster layers in any order.
311    
312    2003-06-20  Jonathan Coles   <[email protected]>
313    
314            This is mainly about fixing RTbug #1949.
315    
316            * Thuban/Model/classification.py: Remove "from __future__"
317            import statement since python 2.2 is the earliest supported
318            version.
319    
320            * Thuban/Model/proj.py (Projection.GetProjectedUnits): New.
321            Currently returns PROJ_UNITS_METERS or PROJ_UNITS_DEGREES
322            depending on the units this projection *forwards* into.
323    
324            * Thuban/Model/save.py (SessionSaver.write_classification):
325            Remove unnecessary use of lambdas and nested functions.
326    
327            * Thuban/UI/legend.py (ScaleBarBitmap.__SetScale): Do scale
328            adjustment here if the map projection uses degrees.
329    
330            * Thuban/UI/scalebar.py (ScaleBar.DrawScaleBar): Remove
331            scale adjust code since it is now done before calling
332            this method. Don't do anything if the map projection
333            is None.
334    
335    2003-06-19  Bernhard Herzog  <[email protected]>
336    
337            Move version specific load tests to their own file.
338    
339            * test/test_load.py: Expand the doc-string to explain a bit how to
340            handle file format changes.
341            (TestClassification.test): Update the docstring as this test is
342            not about Thuban 0.2 anymore.
343    
344            * test/test_load_0_2.py: New file with the load tests for thuban
345            files created with Thuban 0.2 and earlier.
346    
347    2003-06-19  Bernhard Herzog  <[email protected]>
348    
349            Add XML validation to some of the tests. Validation will only be
350            done if pyRXP is installed (http://reportlab.com/xml/pyrxp.html).
351            To make the DTD available to the test cases it's moved into
352            Resources/XML
353    
354            * Resources/XML/thuban.dtd: New. This is now the real Thuban DTD
355            for versions up to and including 0.2. Two slight changes: added an
356            encoding specification and fixed the comment which refered to
357            GRASS, not Thuban
358    
359            * test/xmlsupport.py: New support module for tests involving XML.
360            Currently there's a mix-in class for XML validation.
361    
362            * test/test_xmlsupport.py: New. Tests for the xmlsupport module
363    
364            * test/test_save.py (SaveSessionTest): Derive from ValidationTest
365            so that we can validate the
366            (SaveSessionTest.testEmptySession)
367            (SaveSessionTest.testSingleLayer)
368            (SaveSessionTest.testSingleLayer)
369            (SaveSessionTest.testLayerProjection)
370            (SaveSessionTest.testRasterLayer)
371            (SaveSessionTest.testClassifiedLayer): Validate the generated XML
372    
373            * test/runtests.py (main): Call print_additional_summary instead
374            of print_garbage_information
375    
376            * test/support.py (resource_dir): New function to return the
377            "Resource" subdirectory
378            (print_additional_summary): New function to combine several
379            summary functions
380            (run_tests): Use print_additional_summary instead of calling
381            print_garbage_information directly
382    
383    2003-06-19  Bernhard Herzog  <[email protected]>
384    
385            * Doc/thuban.dtd (classification): Correct the content model of
386            the classification element.
387            (projection): Add the "name" attribute
388    
389  2003-06-19  Frank Koormann   <[email protected]>  2003-06-19  Frank Koormann   <[email protected]>
390    
391          MERGE from the greater-ms3 branch.          MERGE from the greater-ms3 branch.

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26