/[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 1368 by bh, Thu Jul 3 16:25:48 2003 UTC
# Line 1  Line 1 
1    2003-07-03  Bernhard Herzog  <[email protected]>
2    
3            * Doc/manual/thuban-manual.xml, Doc/manual/README: New. Skeleton
4            for the Thuban manual and README with some basic information about
5            the manual
6    
7    2003-07-03  Bernhard Herzog  <[email protected]>
8    
9            * Thuban/Model/transientdb.py (TransientJoinedTable.__init__):
10            Update doc-string
11            (TransientJoinedTable.create): Do not modify the column objects of
12            the input tables in place and copy all columns of the input tables
13            into the joined table after all.
14    
15            * test/test_transientdb.py
16            (TestTransientTable.test_transient_joined_table_same_column_name):
17            Update to reflect the new behavior
18            (TestTransientTable.test_transient_joined_table_with_equal_column_names):
19            Update to reflect the new behavior
20            (TestTransientTable.test_transient_joined_table_name_collisions_dont_modify_in_place):
21            New test case for a bug which modified the column objects in place
22    
23    2003-07-02  Jonathan Coles   <[email protected]>
24    
25            * Thuban/Model/classgen.py (generate_singletons,
26            generate_uniform_distribution, generate_quantiles,
27            GenQuantiles0): Make sure maxValue isn't less than
28            one, otherwise we could divide by zero.
29    
30            * test/test_classgen.py (ClassGenTest.doClassRangeTest,
31            ClassGenTest.doClassSingleTest): Call doBoundsTest to
32            check the end classification groups against the
33            proper property values.
34            (ClassGenTest.doBoundsTest): New. Checks the first and
35            last classification groups to make sure their properties
36            are the correct upper and lower bounds for a color ramp.
37    
38    2003-07-02  Jonathan Coles   <[email protected]>
39    
40            * Thuban/Model/classgen.py (generate_singletons,
41            generate_uniform_distribution, generate_quantiles,
42            GenQuantiles0): The denominator was one to high when
43            calculating the index for the ramp causing the index
44            to never to reach one.
45    
46    2003-07-02  Jonathan Coles   <[email protected]>
47    
48            Changed the singature of ClassGroupRange.__init__ and
49            ClassGroupRange.SetRange() so that the min/max values are
50            passed as a tuple. This makes a better calling scheme for
51            when a Range object is passed instead.
52    
53            * Thuban/Model/classgen.py: Fixed parameters to
54            ClassGroupRange constructor.
55    
56            * Thuban/Model/classification.py (ClassGroupRange.__init__):
57            Consolidate the min/max parameters into a single _range which
58            can either be a tuple or a Range object.
59            (ClassGroupRange.SetRange): Consolidate the min/max parameters
60            into a single _range which can either be a tuple or a Range object.
61    
62            * Thuban/Model/load.py (SessionLoader.start_clrange): Fix
63            call to ClassGroupRange constructor to use a tuple.
64    
65            * Thuban/Model/layer.py (Layer.SetClassification): Switch
66            the classification instance variable to the new class
67            before calling _set_layer otherwise subscribers to a
68            LAYER_CHANGED event will not see any difference.
69    
70            * test/test_classification.py: Fix tests of ClassGroupRange
71            so that they use the new signature.
72    
73            * test/test_load.py: Fix use of ClassGroupRange so that it
74            uses the new signature.
75    
76            * test/test_load_0_2.py: Fix use of ClassGroupRange so that it
77            uses the new signature.
78    
79            * test/test_save.py: Fix use of ClassGroupRange so that it
80            uses the new signature.
81    
82    
83    2003-07-01  Jonathan Coles   <[email protected]>
84    
85            * Thuban/Model/classgen.py: Fixes RTbug #1972, 1971.
86            Import used objects/class from color.
87            (generate_singletons): We don't
88            need the numGroups parameter anymore because we are using
89            the new ramps with GetProperties().
90            (generate_uniform_distribution): Use new ramp method
91            GetProperties().
92            (generate_quantiles, GenQuantiles0): Use new ramp method
93            GetProperties().
94            (CustomRamp.SetNumGroups): Removed. The ramps now map
95            a value from 0 to 1 to class properties so the number
96            of groups is not needed ahead of time.
97            (CustomRamp.next): Removed. CustomRamp does not support
98            interation anymore.
99            (CustomRamp.GetProperties): Returns a ClassGroupProperties
100            object based on the index value from 0 to 1 that is
101            passed to it.
102            (GreyRamp, RedRamp, GreenRamp, BlueRamp, GreenToRedRamp):
103            Made into instances of Monochromatic class instread of
104            deriving from it.
105            (HotToCold.SetNumGroups): Removed. See CustomRamp.
106            (HotToCold.next): Removed. See CustomRamp.
107    
108            * Thuban/Model/classification.py: Fixes RTbug #1973, 1971.
109            (Classification.SetField, Classification.SetFieldType):
110            Replaced with SetFieldInfo.
111            (Classification.SetFieldInfo): New. Does a better job of
112            what SetField and SetFieldType used to do by combining
113            their function since they should really always be done
114            at the same time.
115            (Classification.SetLayer): Renamed to _set_layer.
116            (Classification._set_layer): Should only be called from
117            Layer's SetClassification. This does not cause a recursive
118            call as SetLayer did because we know that Layer knows about
119            the classification.
120    
121            * Thuban/Model/color.py: Fixes RTbug #1971.
122            (_Transparent): Renamed from Transparent so it doesn't
123            conflict with the module variable.
124            (Transparent, Black): Renamed from Color.Transparent,
125            Color.Black so they are not class variables.
126    
127            * Thuban/Model/layer.py: Fixes RTbug #1971, 1973.
128            (Layer.Destroy): We don't need to call SetClassification
129            anymore to clear out the back reference in the classifcation
130            to the layer. It's better to set it to None using _set_layer,
131            and we won't be creating another clas object too.
132            (Layer.SetClassification): Classification._set_layer is not
133            recursive so remove all the locking variables. Also clean
134            up the code so that it remains unchanged if something fails.
135    
136            * Thuban/Model/load.py: Fixes RTbug #1971.
137            (SessionLoader.start_classification): Call
138            Classification.SetFieldInfo().
139    
140            * Thuban/Model/save.py: Removed import of Color which wasn't
141            being used.
142    
143            * Thuban/UI/classgen.py: Fixes RTbug #1972.
144            (ClassGenDialog.__init__): Color ramps are now instances
145            already so we don't need to create any new objects.
146            (ClassGenDialog.OnOK): Check for numGroups is no longer
147            necessary because we never use it.
148    
149            * Thuban/UI/classifier.py: Fixes RTbug #1971.
150            (Classifier.__BuildClassification, Classifier.__SetGridTable):
151            Call Classification.SetFieldInfo() instead of SetFieldType.
152    
153            * Thuban/UI/renderer.py: Fixes RTbug #1971.
154    
155            * Thuban/UI/view.py: Fixes RTbug #1974, 1971.
156            (MapCanvas.__init__): Subscribe to the idle time event. Set
157            background color to white.
158            (MapCanvas.OnPaint): Set a flag indicating that we should
159            render the map during idle time. If we already have a bitmap
160            just draw it now.
161            (MapCanvas.OnIdle): New. Render the map only during idle time.
162            This also fixes a problem with the busy cursor under gtk.
163    
164            * test/test_classgen.py (ClassGenTest.test_generate_singletons):
165            Fix calls to generate_singletons because the signature changed.
166    
167            * test/test_classification.py: Fix color references and
168            change calls to Classification.[SetField|SetFieldType] to
169            SetFieldInfo.
170    
171            * test/test_load.py: Fix color references.
172    
173            * test/test_load_0_2.py: Fix color references.
174    
175            * test/test_save.py (SaveSessionTest.testClassifiedLayer):
176            Change calls to Classification.[SetField|SetFieldType] to
177            SetFieldInfo.
178    
179    2003-07-01  Frank Koormann   <[email protected]>
180    
181            MERGE from the greater-ms3 branch.
182    
183            * test/test_transientdb.py
184            (TestTransientTable.test_transient_joined_table_with_equal_column_names):
185            New. Test join of two tables with partly equal column names.
186    
187            * Thuban/Model/transientdb.py (TransientJoinedTable.create):
188            If duplicates in left and right tables column names are found,
189            append '_' (underscores) to the name until it is unique.
190            Create always new internal names for the resulting table and reference
191            columns in the join statement with <table>.<column>
192    
193    2003-07-01  Bernhard Herzog  <[email protected]>
194    
195            * test/test_transientdb.py
196            (TestTransientTable.test_transient_joined_table_same_column_name):
197            New. Test whether joining on columns with the same names in both
198            tables works.
199            
200            * Thuban/Model/transientdb.py (TransientJoinedTable.create): Make
201            sure to use the right internal names even when joining on field
202            with the same names in both tables. Also, detect duplicate names
203            in the joined table correctly.
204    
205    2003-07-01  Frank Koormann   <[email protected]>
206    
207            * Thuban/UI/renderer.py (ExportRenderer.render_legend):
208            Reverse List of layers to render in same order as in desktop legend.
209    
210    2003-06-30  Jonathan Coles   <[email protected]>
211    
212            * Thuban/version.py (make_tuple): Takes a version string
213            and splits it into a tuple of at most three integers.
214            Used make_tuple() to make tuple versions of the version
215            numbers.
216    
217            * Thuban/UI/about.py: Add Thuban email addresses.
218    
219    2003-06-30  Jonathan Coles   <[email protected]>
220    
221            * Thuban/version.py: SQLite/PySQLite version dependencies
222            were too high.
223    
224    2003-06-30  Jonathan Coles   <[email protected]>
225    
226            * Thuban/version.py: Update version to 0.8.1
227            
228            * MANIFEST.in: Added Projections so that default.proj is
229            included.
230    
231    2003-06-26  Jonathan Coles   <[email protected]>
232    
233            New About box with lots more information including library
234            versions and credits. More/better version checking before
235            Thuban starts.
236    
237            * Thuban/UI/about.py: New. New About box that displays
238            library version information and credits.
239    
240            * Thuban/version.py: Added new 'versions' dictionary which
241            contains the verions of various libraries which are checked
242            when the module loads.
243            (verify_versions): Check all version numbers and returns
244            a list of errors.
245    
246            * Thuban/UI/classifier.py (Classifier.__EnableButtons):
247            Reset the status of the buttons as the situation warrants,
248            but in a better more reliable way by not relying on the
249            current status to determine what needs to change.
250    
251            * Thuban/UI/main.py (wxCHECK_VERSION): Removed. Not needed.
252            (verify_versions): Remove most of the code since it is
253            now in Thuban.version.verify_versions.o
254    
255            * Thuban/UI/mainwindow.py (MainWindow.About): Call new
256            About box in Thuban.UI.about.
257    
258            * extensions/thuban/gdalwarp.cpp (get_gdal_version): New.
259            Returns the version of gdal library being used as a string.
260    
261            * extensions/thuban/wxproj.cpp (check_version, check_version_gtk):
262            Removed.
263            (get_proj_version): Return the version of PROJ that the file
264            was compiled with.
265            (get_gtk_version): Return th version of GTK that the file
266            was compiled with.
267    
268    2003-06-25  Jonathan Coles   <[email protected]>
269    
270            * Thuban/UI/classifier.py (Classifier.EditSymbol): The parent
271            of the SelectPropertiesDialog should be self so the window
272            appears on top.
273            (ClassGroupPropertiesCtrl.DoEdit): The parent
274            of the SelectPropertiesDialog should be self so the window
275            appears on top.
276    
277            * Thuban/UI/resource.py: Cleaned up how we determine file
278            extensions.
279            (GetImageResource): Return an wxImage from our Resources.
280    
281    2003-06-24  Jonathan Coles   <[email protected]>
282    
283            * Thuban/UI/renderer.py (ExportRenderer.render_legend):
284            Check that a layer has a classification before trying
285            to get it. Raster layers don't have classifications.
286    
287    2003-06-23  Jonathan Coles   <[email protected]>
288            
289            * setup.py: Add Resources/XML to resource list.
290        
291    2003-06-23  Jonathan Coles   <[email protected]>
292    
293            * setup.cfg: Fix copyright dates
294        
295    2003-06-23  Jonathan Coles   <[email protected]>
296    
297            * MANIFEST.in: Update with Resources/XML
298    
299            * setup.py: Don't include Locale resources yet as we don't
300            have any and it causes problems building the distribution
301            for Windows. Update version to 0.8.0.
302    
303            * Doc/thuban.dtd: Removed since it is now in Resources/XML.
304    
305            * Thuban/UI/mainwindow.py: Add blank line at the end because
306            file was not being read correctly building the Windows
307            distribution.
308    
309    2003-06-23  Jonathan Coles   <[email protected]>
310    
311            * Thuban/UI/mainwindow.py (MainWindow.About): Fix text.
312    
313            * Thuban/version.py: Temporarily update longversion for
314            the 0.8 release so that it doesn't have the cvs revision.
315    
316    2003-06-23  Jonathan Coles   <[email protected]>
317    
318            * Thuban/UI/common.py (ThubanBeginBusyCursor): Call wxSafeYield
319            to make sure that we don't create reentrant possibilities with
320            wxYield.
321    
322            * Thuban/UI/view.py (MapCanvas.OnPaint): Call wxBeginBusyCursor()
323            directly to avoid the wxSafeYield() call which generates an
324            OnPaint event causing infinite recursion. Don't try to catch
325            exception anymore. This was for before there were limits on map
326            scaling.
327    
328    2003-06-23  Bernhard Herzog  <[email protected]>
329    
330            Bug fix for RT #1961:
331    
332            * Thuban/Model/load.py (SessionLoader.start_derivedshapesource):
333            Register DerivedShapestores with the session
334    
335            * Thuban/Model/session.py (Session.Tables): Make sure each table
336            is only listed once.
337    
338            * test/test_load.py (TestJoinedTable.test): Add check_format call.
339            Update file contents to match the one written out.
340    
341    2003-06-20  Bernhard Herzog  <[email protected]>
342    
343            * test/xmlsupport.py (SaxEventLister.startElementNS)
344            (SaxEventLister.endElementNS): Do not include the qname. Python
345            2.2.1 and 2.2.2 and 2.2.3 differ in this regard. In 2.2.1 qname it
346            is (presumably incorrectly) None, whereas it's a string with the
347            element name in the later versions.
348    
349            * test/test_xmlsupport.py (TestEventList.test_even_list_simple)
350            (TestEventList.test_even_list_namespace): Update tests to reflect
351            the new behaviour
352            (TestEventList.test_even_list_id_normalization): Fix doc-string
353    
354    2003-06-20  Jonathan Coles   <[email protected]>
355    
356            * Thuban/Model/layer.py (BaseLayer.HasShapes): New. Overridden
357            by deriving classes to determine if that layer supports shapes.
358            (Layer): Override HasShapes and return true.
359    
360            * Thuban/UI/classgen.py: Use Thuban[Begin|End]BusyCursor()
361            instead of a direct call to wx[Begin|End]CusyCursor().
362            (GenUniquePanel._OnRetrieve): Set busy cursor while retrieving
363            table data.
364    
365            * Thuban/UI/common.py (ThubanBeginBusyCursor, ThubanEndBusyCursor):
366            New. Wrappers around the wxWindows functions that allow us to
367            make additional calls such as wxYield which gives the native
368            system a chance to update the cursor correctly.
369    
370            * Thuban/UI/tableview.py: Use Thuban[Begin|End]BusyCursor()
371            instead of a direct call to wx[Begin|End]CusyCursor().
372    
373            * Thuban/UI/view.py: Use Thuban[Begin|End]BusyCursor()
374            instead of a direct call to wx[Begin|End]CusyCursor().
375            (MapCanvas.find_shape_at): Check if the current search layer
376            support shapes, otherwise go on to the next layer.
377    
378            * test/test_layer.py: Add tests in each type of layer for
379            HasClassification() and HasShapes()
380    
381    2003-06-20  Jonathan Coles   <[email protected]>
382    
383            * Thuban/UI/view.py (MapCanvas.OnPaint): Call wxYield after
384            turning on the busy cursor to allow the system to change the
385            cursor before we begin painting. This fixes a problem that
386            was occuring only under GTK. Fixes RTbug #1840.
387    
388    2003-06-20  Bernhard Herzog  <[email protected]>
389    
390            * Resources/XML/thuban-0.8.dtd: New DTD for the new file format
391            version.
392    
393            * Thuban/Model/save.py (sort_data_stores): New. Make topological
394            sort of the data sources so they can be written with sources that
395            data sources that depend on other data sources come after the
396            sources they depend on.
397            (SessionSaver.__init__): Add idmap instance variable to map from
398            objects to the ids used in the file.
399            (SessionSaver.get_id, SessionSaver.define_id)
400            (SessionSaver.has_id): New. Methods to manage the idmap
401            (SessionSaver.write): Use thuban-0.8.dtd
402            (SessionSaver.write_session): Add a namespace on the session and
403            write out the data sources before the maps.
404            (SessionSaver.write_data_containers): New. Write the data
405            containers.
406            (SessionSaver.write_layer): Layer elements now refer to a
407            shapestore and don't contain filenames anymore.
408    
409            * Thuban/Model/load.py (LoadError): Exception class to raise when
410            errors in the files are discovered
411            (SessionLoader.__init__): Define dispatchers for elements with a
412            thuban-0.8 namespace too.
413            (SessionLoader.check_attrs): New helper method to check and
414            convert attributes
415            (AttrDesc): New. Helper class for SessionLoader.check_attrs
416            (SessionLoader.start_fileshapesource)
417            (SessionLoader.start_derivedshapesource)
418            (SessionLoader.start_filetable, SessionLoader.start_jointable):
419            Handlers for the new elements in the new fileformat
420            (SessionLoader.start_layer): Handle the shapestore attribute in
421            addition to filename.
422            (SessionLoader.start_table, SessionLoader.end_table): Removed.
423            They were never used in the old formats and aren't needed for the
424            new.
425    
426            * Thuban/Model/session.py (Session.DataContainers): New method to
427            return all "data containers", i.e. shapestores and tables
428    
429            * test/xmlsupport.py (SaxEventLister.__init__)
430            (SaxEventLister.startElementNS, sax_eventlist): Add support to
431            normalize IDs.
432    
433            * test/test_xmlsupport.py
434            (TestEventList.test_even_list_id_normalization): New test case for
435            id normalization
436    
437            * test/test_load.py (LoadSessionTest.check_format): Use ID
438            normalization
439            (LoadSessionTest.thubanids, LoadSessionTest.thubanidrefs): New
440            class atrributes used for ID normalization
441            (TestSingleLayer, TestLayerVisibility, TestLabels.test)
442            (TestLayerProjection.test, TestRasterLayer.test): Adapt to new
443            file format
444            (TestJoinedTable): New test for loading sessions with joined
445            tables.
446            (TestLoadError): New. Test whether missing required attributes
447            cause a LoadError.
448    
449            * test/test_save.py (SaveSessionTest.thubanids)
450            (SaveSessionTest.thubanidrefs): New class attributes for ID
451            normalization in .thuban files.
452            (SaveSessionTest.compare_xml): Use id-normalization.
453            (SaveSessionTest.testEmptySession)
454            (SaveSessionTest.testLayerProjection)
455            (SaveSessionTest.testRasterLayer)
456            (SaveSessionTest.testClassifiedLayer): Adapt to new file format.
457            (SaveSessionTest.testLayerProjection): The filename used was the
458            same as for testSingleLayer. Use a different one.
459            (SaveSessionTest.test_dbf_table)
460            (SaveSessionTest.test_joined_table): New test cases for saving the
461            new data sources structures.
462            (TestStoreSort, MockDataStore): Classes to test the sorting of the
463            data stores for writing.
464    
465            * test/runtests.py: Add CVS keywords
466    
467    2003-06-20  Jonathan Coles   <[email protected]>
468    
469            * test/test_session.py
470            (UnreferencedTablesTests.test_unreferenced_tables_with_joins):
471            Use the cultural_landmark-point.dbf file for the store so that
472            the table rows and shape count match.
473    
474    2003-06-20  Jonathan Coles   <[email protected]>
475    
476            * Thuban/Model/data.py (DerivedShapeStore.__init__): Raise
477            an exception if the number of shapes is different from the
478            number of rows in the table. Address RTbug #1933.
479    
480            * test/test_layer.py (TestLayer.test_derived_store): Add
481            a test for the new exception in DerivedShapeStore.__init__.
482    
483            * test/support.py (FloatTestCase): Removed since there is
484            already FloatComparisonMixin. Fixes RTbug #1954.
485            (FloatComparisonMixin.assertFloatEqual): Include test for
486            infinity that was part of FloatTestCase.
487    
488            * test/test_range.py (RangeTest): Inherit from
489            support.FloatComparisonMixin now that we don't have
490            support.FloatTestCase.
491    
492    2003-06-20  Bernhard Herzog  <[email protected]>
493    
494            * test/test_save.py (SaxEventLister, sax_eventlist): Removed. Use
495            the implementation in xmlsupport instead.
496            (SaveSessionTest.compare_xml): sax_eventlist is now in xmlsupport
497    
498            * test/test_proj.py: Import sax_eventlist from xmlsupport instead
499            of test_save
500    
501    2003-06-20  Bernhard Herzog  <[email protected]>
502    
503            * test/test_load.py (LoadSessionTest.check_format): New helper
504            method to make sure the test files we load might have been written
505            by the current thuban version.
506            (ClassificationTest.TestLayers, TestSingleLayer.test)
507            (TestLayerVisibility.test, TestClassification.test)
508            (TestLabels.test, TestLayerProjection.test, TestRasterLayer.test):
509            Add check_format() calls and fix the thuban data to match the data
510            that would be written by saving the session loaded from it.
511    
512            * test/xmlsupport.py (SaxEventLister, sax_eventlist): Copies of
513            the same class and function in test_save.
514    
515            * test/test_xmlsupport.py (TestEventList): New. test cases for
516            sax_eventlist
517    
518    2003-06-20  Bernhard Herzog  <[email protected]>
519    
520            * Resources/XML/thuban.dtd: Add comment about which versions of
521            Thuban are covered by this DTD
522            (map): Fix content model for layers and raster layers. There can
523            be any number or layers and raster layers in any order.
524    
525    2003-06-20  Jonathan Coles   <[email protected]>
526    
527            This is mainly about fixing RTbug #1949.
528    
529            * Thuban/Model/classification.py: Remove "from __future__"
530            import statement since python 2.2 is the earliest supported
531            version.
532    
533            * Thuban/Model/proj.py (Projection.GetProjectedUnits): New.
534            Currently returns PROJ_UNITS_METERS or PROJ_UNITS_DEGREES
535            depending on the units this projection *forwards* into.
536    
537            * Thuban/Model/save.py (SessionSaver.write_classification):
538            Remove unnecessary use of lambdas and nested functions.
539    
540            * Thuban/UI/legend.py (ScaleBarBitmap.__SetScale): Do scale
541            adjustment here if the map projection uses degrees.
542    
543            * Thuban/UI/scalebar.py (ScaleBar.DrawScaleBar): Remove
544            scale adjust code since it is now done before calling
545            this method. Don't do anything if the map projection
546            is None.
547    
548    2003-06-19  Bernhard Herzog  <[email protected]>
549    
550            Move version specific load tests to their own file.
551    
552            * test/test_load.py: Expand the doc-string to explain a bit how to
553            handle file format changes.
554            (TestClassification.test): Update the docstring as this test is
555            not about Thuban 0.2 anymore.
556    
557            * test/test_load_0_2.py: New file with the load tests for thuban
558            files created with Thuban 0.2 and earlier.
559    
560    2003-06-19  Bernhard Herzog  <[email protected]>
561    
562            Add XML validation to some of the tests. Validation will only be
563            done if pyRXP is installed (http://reportlab.com/xml/pyrxp.html).
564            To make the DTD available to the test cases it's moved into
565            Resources/XML
566    
567            * Resources/XML/thuban.dtd: New. This is now the real Thuban DTD
568            for versions up to and including 0.2. Two slight changes: added an
569            encoding specification and fixed the comment which refered to
570            GRASS, not Thuban
571    
572            * test/xmlsupport.py: New support module for tests involving XML.
573            Currently there's a mix-in class for XML validation.
574    
575            * test/test_xmlsupport.py: New. Tests for the xmlsupport module
576    
577            * test/test_save.py (SaveSessionTest): Derive from ValidationTest
578            so that we can validate the
579            (SaveSessionTest.testEmptySession)
580            (SaveSessionTest.testSingleLayer)
581            (SaveSessionTest.testSingleLayer)
582            (SaveSessionTest.testLayerProjection)
583            (SaveSessionTest.testRasterLayer)
584            (SaveSessionTest.testClassifiedLayer): Validate the generated XML
585    
586            * test/runtests.py (main): Call print_additional_summary instead
587            of print_garbage_information
588    
589            * test/support.py (resource_dir): New function to return the
590            "Resource" subdirectory
591            (print_additional_summary): New function to combine several
592            summary functions
593            (run_tests): Use print_additional_summary instead of calling
594            print_garbage_information directly
595    
596    2003-06-19  Bernhard Herzog  <[email protected]>
597    
598            * Doc/thuban.dtd (classification): Correct the content model of
599            the classification element.
600            (projection): Add the "name" attribute
601    
602    2003-06-19  Frank Koormann   <[email protected]>
603    
604            MERGE from the greater-ms3 branch.
605    
606            * Thuban/UI/scalebar.py (ScaleBar.DrawScaleBar): Apply conversion to
607            scale if projection is latlong to get better estimate.
608    
609            Fix problem of hidden properties dialog under windows after double
610            click on layer tree:
611            The tree control always gets an Expanded / Collapsed event after
612            the ItemActivated  on double click, which raises the main window again.         We add a second ItemActivated event to the queue, which simply
613            raises the already displayed window.
614    
615            * Thuban/UI/legend.py (LegendTree.__init__): Instance variable
616            raiseProperties initialized to prevent endless loops
617            (LegendTree._OnItemActivated): Depending on self.raiseProperties
618            simply raise the properties or open the dialog and issue a second
619            event.
620    
621    2003-06-18  Jonathan Coles   <[email protected]>
622    
623            * setup.py: Fix a few problems that occured under Windows.
624    
625  2003-06-18  Jonathan Coles   <[email protected]>  2003-06-18  Jonathan Coles   <[email protected]>
626    
627          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.1368

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26