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

Legend:
Removed from v.1237  
changed lines
  Added in v.1304

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26