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

Legend:
Removed from v.1239  
changed lines
  Added in v.1318

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26