/[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 1657 by bh, Mon Aug 25 18:27:16 2003 UTC revision 1837 by frank, Tue Oct 21 09:29:52 2003 UTC
# Line 1  Line 1 
1    2003-10-21  Frank Koormann   <[email protected]>
2    
3            Popup menu for legend. Scheduled for the 1.2 release this was too
4            simple to implement: The popup menu is bound to the legend tree, while
5            the events are hanlded by its anchestor, the legend panel. This
6            allows reuse of all the event handlers already implemented for the
7            legend toolbar buttons.
8    
9            * Thuban/UI/legend.py (LegendPanel.__init__): EVT_MENU macros
10            to add handlers for the events issued by the popup menu.
11            (LegendPanel._OnToggleVisibility): Handler for toggling layer
12            visibility event
13            (LegendPanel._OnProjection): Handler for layer projection event.
14            (LegendTree.__init__): Added EVT_TREE_ITEM_RIGHT_CLICK
15            (LegendTree._OnRightClick): Event handler for right click, select item
16            and pop up menu.
17            (LegendTree.ToggleVisibility): Toggle layer visibility
18            (LegendTree.LayerProjection): Raise layer projection dialog for
19            current layer.
20    
21    2003-10-21  Bernhard Herzog  <[email protected]>
22    
23            * Resources/Projections/defaults.proj: Use correct DOCTYPE
24            declaration. The top-level element is projectionlist not projfile
25    
26    2003-10-20  Bernhard Herzog  <[email protected]>
27    
28            * Thuban/UI/projdialog.py (ProjFrame.write_proj_file): New. helper
29            method to write a projfile and display a busy cursor and error
30            dialogs.
31            (ProjFrame._OnSave, ProjFrame._OnAddToList, ProjFrame._OnImport)
32            (ProjFrame._OnExport, ProjFrame._OnRemove): Use write_proj_file
33            (ProjFrame.__FillAvailList): Translate "<None>" too and display a
34            busy cursor while loading the user and system prj files.
35    
36    2003-10-16  Bernhard Herzog  <[email protected]>
37    
38            * Thuban/Model/resource.py (projfile_cache): Introduce a cache for
39            ProjFile objects
40            (clear_proj_file_cache): New function to clear the cache. Mainly
41            useful for use by the test suite
42            (read_proj_file): Use the cache.
43    
44            * test/test_proj.py (TestProjFile): Clarify the doc-string
45            (ProjFileReadTests): Update doc-string
46            (ProjFileReadTests.test_get_system_proj_file): Check whether the
47            system proj files is cached.
48            (ProjFileLoadTestCase): New base class for the proj file tests
49            derived from support.FileLoadTestCase to provide some common
50            behavior.
51            (TestLoadingProjFile)
52            (TestLoadingProjFileWithEmptyProjectionlist.file_contents)
53            (TestProjFileWithInvalidParameters.file_contents): Derive from
54            ProjFileLoadTestCase
55            (TestLoadingProjFile.test_caching): New. Test whether the cache
56            works
57    
58    2003-10-16      Silke Reimer    <[email protected]>
59    
60            * debian/*: New directory with configuration files for building a thuban
61              deb-package.
62    
63    2003-10-14  Bernhard Herzog  <[email protected]>
64    
65            * test/test_proj.py: Execute support.run_tests when run as
66            __main__ so that missing unsubscribes are detected
67            (TestProjFile.tearDown): Destroy the proj_file properly
68    
69    2003-10-14  Bernhard Herzog  <[email protected]>
70    
71            * Thuban/Model/messages.py (PROJECTION_ADDED)
72            (PROJECTION_REPLACED, PROJECTION_REMOVED): New message types for
73            the ProjFile objects
74    
75            * Thuban/Model/proj.py (ProjFile): Derive from Publisher so we can
76            easily send messages when the projections change
77            (ProjFile.Add, ProjFile.Remove, ProjFile.Replace): Issue messages
78            when the change was successful
79    
80            * test/test_proj.py (TestProjFile.setUp): Subscribe to some of the
81            proj file messages
82            (TestProjFile.test_add_remove)
83            (TestProjFile.test_remove_non_existing)
84            (TestProjFile.test_replace)
85            (TestProjFile.test_replace_non_existing): Test whether the right
86            messages are sent
87    
88    2003-10-14  Bernhard Herzog  <[email protected]>
89    
90            * test/test_proj.py (TestProjFile.test): Refactor into several
91            tests
92            (TestProjFile.test_add_remove)
93            (TestProjFile.test_remove_non_existing)
94            (TestProjFile.test_replace)
95            (TestProjFile.test_replace_non_existing): Some of the new
96            individual test cases
97            (TestProjFileSimple): New class for the rest of the test cases
98            that came out of the refactoring
99            (ProjFileTest): Derive from xmlsupport.ValidationTest so that the
100            derived classes don't have to
101    
102    2003-10-13  Bernhard Herzog  <[email protected]>
103    
104            Add an optional EPSG code to the projection objects and extend the
105            .proj file format accordingly.
106    
107            * Resources/XML/projfile.dtd (element projection): Add epsg
108            attribute
109    
110            * Thuban/Model/proj.py (Projection.__init__): New parameter and
111            instance variable epsg. Update doc-string
112            (Projection.EPSGCode, Projection.Label): New methods to provide
113            access to EPSG code and a label for use in dialogs
114    
115            * Thuban/Model/resource.py (ProjFileReader.start_projection)
116            (ProjFileReader.end_projection, ProjFileSaver.write_projfile):
117            Handle the epsg code attribute when reading or writing proj files
118    
119            * Thuban/UI/projdialog.py (ProjFrame._OnSave)
120            (ProjFrame._OnAddToList, ProjFrame.__DoOnProjAvail)
121            (ProjFrame.__FillAvailList): Use the projection's Label method to
122            get the string for the list box
123    
124            * test/test_proj.py (TestProjection.test_label)
125            (TestProjection.test_label_epsg)
126            (TestProjection.test_epsgcode_for_non_epsg_projection)
127            (TestProjection.test_epsgcode_for_real_epsg_projection): New tests
128            for the label and EPSGCode methods
129            (WriteProjFileTests.doTestWrite, WriteProjFileTests.test_write)
130            (WriteProjFileTests.test_write_empty_file): Create the ProjFile
131            objects in the test cases and put the expected contents into the
132            test case methods too. Update doTestWrite accordingly
133            (TestLoadingProjFile)
134            (TestLoadingProjFileWithEmptyProjectionlist): New classes with the
135            read tests from TestProjFile.
136            (TestProjFile.doTestRead, TestProjFile.testRead): Removed. These
137            tests are now in the new classes.
138            (sample_projfile, sample_projfile_data)
139            (sample_projfile2, sample_projfile_data2): Removed. Not used
140            anymore.
141            (TestProjFile.test_read_unreadable_file): No need to reset the
142            permissions at the end anymore since we use a unique filename
143    
144    2003-10-13  Bernhard Herzog  <[email protected]>
145    
146            * test/test_proj.py: Some more refactoring of the test cases
147            (ProjFileTest): New base class for the proj file tests.
148            (TestProjFile): Derive from ProjFileTest
149            (TestProjFile.test_read_unreadable_file)
150            (TestProjFile.test_read_empty_file, TestProjFile.doTestRead): Use
151            the new filename method to get a unique filename
152            (TestProjFile.doTestWrite, TestProjFile.testWrite): Removed.
153            (WriteProjFileTests): New class for proj file write tests.
154            Contains the write test that were in TestProjFile originally.
155    
156    2003-10-13  Bernhard Herzog  <[email protected]>
157    
158            * test/test_proj.py (TestProjFile.testRead)
159            (TestProjFile.test_read_non_existing_file)
160            (TestProjFile.test_read_unreadable_file)
161            (TestProjFile.test_read_empty_file): Split into several methods.
162    
163    2003-10-10  Bernhard Herzog  <[email protected]>
164    
165            * Thuban/UI/sizers.py: New file with custom sizers.
166    
167            * Thuban/UI/projdialog.py (ProjFrame.build_dialog): Instantiate
168            all projection type specific panels and put them into a
169            NotebookLikeSizer. This way the dialog doesn't change its size
170            when a different projection is selected
171            (ProjFrame.__init__): Rename projection_panels
172            projection_panel_defs and reuse projection_panels for a list of
173            the instantiated panels.
174            (ProjFrame._show_proj_panel, ProjFrame.__DoOnProjAvail)
175            (ProjFrame.__DoOnProjChoice): Changes due to the new handling of
176            the panels
177            (UnknownProjPanel._DoLayout): Place the newlines in the message
178            differently to make the panel narrower.
179            (TMPanel._DoLayout): Layout the parameters in one column.
180    
181    2003-10-10  Bernhard Herzog  <[email protected]>
182    
183            * Thuban/UI/projdialog.py (ProjFrame.build_dialog): New method
184            that contains all the setup for the dialog's widgets, layout and
185            event handling.
186            (__): Call build_dialog to build the dialog.
187            (ProjFrame.__set_properties, ProjFrame.__do_layout): Removed.
188            Their functionality is now in build_dialog
189            (ProjFrame.__VerifyButtons, ProjFrame.__VerifyButtons)
190            (ProjFrame.__DoOnProjAvail, ProjFrame.__DoOnProjAvail)
191            (ProjFrame.__DoOnProjChoice): Small updates due to slightly
192            different widget names and hierarchy introduced with build_dialog.
193    
194    2003-10-10  Bernhard Herzog  <[email protected]>
195    
196            * README: Fix typo.
197    
198    2003-10-09  Bernhard Herzog  <[email protected]>
199    
200            * Thuban/Model/proj.py (ProjFile.Add): Do not check whether the
201            projection is already in the list. This is *a lot* faster when
202            loading files with hundreds of projections since it saves a linear
203            search. OTOH this will allow adding the same projection to the
204            user.proj file multiple times in the projection dialog but we'll
205            deal with that later
206    
207    2003-10-09  Jan-Oliver Wagner <[email protected]>
208    
209            * devtools: New. Directory for developer tools that are not intended
210            for the regular user.
211    
212            * devtools/create_epsg.py: New. Convert the epsg file of proj into
213            a python .proj file.
214    
215    2003-10-09  Bernhard Herzog  <[email protected]>
216    
217            * test/test_proj.py
218            (TestProjection.test_get_parameter_without_equals_sign): New. Test
219            whether GetParameter handles parameters without "=" sign correctly
220    
221            * Thuban/Model/proj.py (Projection.GetParameter): Handle
222            parameters that do not contain a "=". Update the doc-string
223    
224    2003-10-08  Bernhard Herzog  <[email protected]>
225    
226            * Thuban/UI/projdialog.py (ProjFrame.__set_properties): Remove the
227            length limit on the projname text control
228    
229    2003-10-08  Bernhard Herzog  <[email protected]>
230    
231            * test/test_proj.py (TestProjection.test_get_projection_units_geo)
232            (TestProjection.test_get_projection_units_normal): New. Tests for
233            the Projection.GetProjectedUnits method
234    
235    2003-10-08  Jan-Oliver Wagner <[email protected]>
236    
237            * Thuban/Model/resource.py (get_user_proj_file): small bug-fix:
238            Added missing 'val' parameter.
239    
240    2003-10-08  Bernhard Herzog  <[email protected]>
241    
242            * Thuban/UI/projdialog.py (ProjFrame.__DoOnProjAvail): When the
243            projection type of the currently selected projection is not known,
244            i.e. there's no panel for it, use the UnknownProjPanel
245            (ProjFrame.__DoOnProjChoice, ProjFrame._show_proj_panel): Split
246            the actual replacing of the proj panel into the new method
247            _show_proj_panel.
248            (UnknownProjPanel): Add doc-string.
249            (UnknownProjPanel._DoLayout): Insert a newline into the text so
250            that the panel is not so wide.
251    
252    2003-10-08  Bernhard Herzog  <[email protected]>
253    
254            * Thuban/Model/resource.py (read_proj_file): Return the warnings
255            too. Update the doc-string
256            (get_proj_files): Removed. It wasn't used anywhere
257            (get_system_proj_files, get_system_proj_file): Rename to
258            get_system_proj_file and return the ProjFile object and not a list
259            of ProjFile objects. Update the callers.
260            (get_user_proj_files, get_user_proj_file): Rename to
261            get_user_proj_file return the ProjFile object and not a list of
262            ProjFile objects. Update the callers.
263            (ProjFileReader.__init__): New instance variable for the warnings.
264            Rename the __pf ivar to projfile. Update the methods referring to
265            __pf
266            (ProjFileReader.end_projection): Catch any errors raised when
267            instantiating the projection and record that as an error. The
268            projection will not be in the final ProjFile object.
269            (ProjFileReader.GetWarnings): New method to return the warnings.
270    
271            * Thuban/UI/projdialog.py (ProjFrame.show_warnings): New method to
272            show the warnings from the projfile reader
273            (ProjFrame._OnImport): Deal with any warnings returned by
274            read_proj_file
275            (ProjFrame.__FillAvailList): Deal with any warnings returned by
276            get_system_proj_file or get_user_proj_file.
277    
278            * test/test_proj.py (TestProjFile.doTestRead): Check the warnings.
279            (TestProjFileWithInvalidParameters.file_contents): New test cases
280            to test whether read_proj_file handles invalid projection
281            parameters correctly
282            (TestProjFile.test_get_system_proj_file): New. Simple test for
283            resource.get_system_proj_file
284    
285    2003-10-07  Bernhard Herzog  <[email protected]>
286    
287            * test/test_derivedshapestore.py
288            (TestDerivedShapeStoreExceptions.tearDown): Clear the session
289            properly so that the temporary directories get deleted correctly
290    
291    2003-10-06  Bernhard Herzog  <[email protected]>
292    
293            Handle the title changes in a proper MVC way.
294    
295            * Thuban/UI/mainwindow.py (MainWindow.__init__): Subscribe to the
296            canvas' TITLE_CHANGED messages
297            (MainWindow.update_title): New. Update the main window's title
298            (MainWindow.__SetTitle): Removed. Use update_title instead.
299            (MainWindow.SetMap): Use update_title instead of __SetTitle
300            (MainWindow.RenameMap): Do change the window title explicitly
301            here. That's handled in a proper MVC way now.
302            (MainWindow.title_changed): New. Subscriber for the TITLE_CHANGED
303            messages
304    
305            * Thuban/Lib/connector.py (Conduit): New class to help classes
306            that forward messages
307    
308            * Thuban/UI/viewport.py: Forward the map's TITLE_CHANGED messages
309            (ViewPort): Derive from Conduit instead of Publisher
310            (ViewPort.Subscribe, ViewPort.Unsubscribe): Use the new base class
311            when calling the inherited versions
312            (ViewPort._subscribe_map, ViewPort._unsubscribe_map): New helper
313            methods to subscribe and unsubscribe map messages
314            (ViewPort.SetMap, ViewPort.Destroy): Use the new helper methods to
315            handle the map subscriptions
316            (ViewPort.Map, ViewPort.map_projection_changed)
317            (ViewPort.layer_projection_changed): Add or update doc-strings
318    
319            * test/test_connector.py (TestPublisher.test_issue_simple): Fix
320            typo
321            (MyConduit): Helper class for the Conduit test.
322            (TestConduit): Test cases for Conduit
323    
324            * test/test_connector.py: Use support.run_tests as main.
325    
326            * test/test_viewport.py (ViewPortTest.setUp): Also subscribe to
327            the TITLE_CHANGED messages
328            (ViewPortTest.test_forwarding_title_changed): New test to check
329            whether the viewport forwards the map's TITLE_CHANGED messages
330            (TestViewportWithPostGIS.tearDown): Call the map's Destroy method
331            after the port's because the latter may require a still functional
332            map.
333    
334    2003-10-06  Bernhard Herzog  <[email protected]>
335    
336            * Thuban/UI/application.py (ThubanApplication.maps_changed): Add
337            doc-string
338    
339    2003-10-06  Bernhard Herzog  <[email protected]>
340    
341            * test/test_viewport.py (ViewPortTest.setUp)
342            (SimpleViewPortTest.test_init_with_size): Move the test for the
343            initial size as a constructor parameter from ViewPortTest.setUp
344            method to a new separate test in SimpleViewPortTest.
345    
346    2003-10-06  Bernhard Herzog  <[email protected]>
347    
348            * test/test_viewport.py (MockView): New class derived from
349            ViewPort with a mock implementation of GetTextExtent to be used in
350            the test cases
351            (ViewPortTest.setUp): Use MockView instead of ViewPort
352    
353            * Thuban/UI/viewport.py (ViewPort.GetTextExtent): Turn this method
354            into what would be a "pure virtual function" in C++: always raise
355            NotImplementedError. Mock implementations for test cases don't
356            belong into the real code
357    
358    2003-10-02  Bernhard Herzog  <[email protected]>
359    
360            * test/test_layer.py (TestLayer.test_empty_layer): Explicitly
361            close the dbf file we create so that it's contents have been
362            written properly.
363    
364            * libraries/shapelib/shptree.c, libraries/shapelib/shpopen.c,
365            libraries/shapelib/shapefil.h, libraries/shapelib/dbfopen.c:
366            Update to shapelib 1.2.10
367    
368    2003-10-01  Jan-Oliver Wagner <[email protected]>
369    
370            * Thuban/UI/tree.py, Thuban/UI/main.py: Remove the #! line as
371            it annoys lintian which warns about these files not being
372            executable. The #! isn't necessary here since if you absolutely
373            must execute them you can always say "python <filename>".
374    
375    2003-09-26  Bernhard Herzog  <[email protected]>
376    
377            * Thuban/Model/classgen.py (GenQuantiles0): Removed since it's
378            only used in GREAT-ER but not used in Thuban itself. When GREAT-ER
379            is ported to a newer the import will fail, so it should be noticed
380            immediately that this function is gone.
381            Fixes RT#1919
382    
383    2003-09-26  Bernhard Herzog  <[email protected]>
384    
385            Add a DTD for the projection files and make thuban write valid
386            projection files
387    
388            * Resources/XML/projfile.dtd: New. DTD for thuban's projection
389            files
390    
391            * Thuban/Model/resource.py (ProjFileSaver.write): Use
392            'projectionlist' as the name in the document type declaration so
393            that it matches the element type of the root element.
394    
395            * test/test_proj.py (sample_projfile, sample_projfile2): Use
396            'projectionlist' as the name in the document type declaration just
397            as it is done now in the files thuban would write
398            (sample_projfile, sample_projfile_data): Fix spelling of
399            "Mercator"
400            (TestProjFile.doTestWrite): Validate the written and the expected
401            XML data
402            (TestProjFile): Derive from ValidationTest so that we can run xml
403            validation tests
404    
405    2003-09-24  Bernhard Herzog  <[email protected]>
406    
407            * Thuban/UI/renderer.py (ExportRenderer.render_legend): Do not
408            modify the list returned by map.Layers() in place since it is the
409            actual list of layers used by the map.
410    
411    2003-09-23  Jan-Oliver Wagner <[email protected]>
412    
413            * Doc/manual/thuban-manual.xml: Added subsection to chapter
414            Extensions to describe the extensions coming with the Thuban
415            standard package (gns2shp and importAPR).
416    
417    2003-09-23  Bernhard Herzog  <[email protected]>
418    
419            * libraries/thuban/wxproj.cpp (project_point): if there's an
420            inverse but no forward projection, convert to degrees after
421            applying the inverse projection. Fixes RT#2096
422    
423            * test/test_wxproj.py: New. Test cases for wxproj.so. One test
424            implicitly tests for the fix to RT#2096
425    
426            * test/support.py (FloatComparisonMixin.assertFloatSeqEqual):
427            Check that the sequences have the same lengths
428    
429            * Resources/Projections/defaults.proj (Geographic projection): Use
430            a much more precise value for the to_meter attribute.
431    
432    2003-09-22  Bernhard Herzog  <[email protected]>
433    
434            * test/support.py (initthuban): Make sure to unset the LANG env.
435            var. so that tests that compare translated strings work. Solves RT
436            #2094
437    
438    2003-09-22  Jan-Oliver Wagner <[email protected]>
439    
440            Small improvement of APR import.
441    
442            * Extensions/importAPR/test/test_apr.py (aprTest.test_LClass):
443            Added tests for text-ranges.
444    
445            * Extensions/importAPR/apr.py (APR_LClass.GetThubanRange): Now
446            returns a string object if the range is based on text.
447    
448            * Extensions/importAPR/importAPR.py (import_apr_dialog): Unified
449            range retrieval.
450    
451    2003-09-22  Jan-Oliver Wagner <[email protected]>
452    
453            Initial version of the importAPR extension which is in
454            experimental state.
455    
456            * /Extensions/importAPR/, /Extensions/importAPR/samples/,
457            /Extensions/importAPR/test/: New directories.
458    
459            * /Extensions/importAPR/samples/README: New: Howto load the samples.
460    
461            * /Extensions/importAPR/samples/iceland.apr: New: A sample APR
462            file which refers to the Thuban Iceland demo data.
463    
464            * /Extensions/importAPR/test/README: New: Howto execute the tests.
465    
466            * /Extensions/importAPR/test/test_apr.py: New: Tests for APR classes.
467    
468            * /Extensions/importAPR/apr.py: New: Classes for ArcView Objects
469            as in '.apr'-files.
470    
471            * /Extensions/importAPR/odb.py: New: Classes for generic ArcView
472            ODB Objects as in '.apr', '.avl' and other files.
473    
474            * /Extensions/importAPR/__init__.py: New: Init to make this
475            directory a package.
476    
477            * /Extensions/importAPR/importAPR.py: New: Import a ArcView
478            project file (.apr) and convert it to Thuban.
479    
480    2003-09-22  Jan-Oliver Wagner <[email protected]>
481    
482            * Extensions/gns2shp.gns2shp.py: The main module of gns2shp.
483    
484    2003-09-19  Jan-Oliver Wagner <[email protected]>
485    
486            * Doc/manual/thuban-manual.xml: Extended section 'Installation'
487            with description on RPM installation and RPM binary package
488            creation.
489    
490    2003-09-18  Bernhard Herzog  <[email protected]>
491    
492            * setup.py (data_files): Only add the mo files if the Locales
493            directory actually exists, so that setup.py works with a fresh CVS
494            checkout
495    
496    2003-09-12  Jan-Oliver Wagner <[email protected]>
497    
498            * Examples/simple_extensions/simple_tool.py: bugfix: Tool is now
499            in viewport, not anymore in view
500    
501    2003-09-04  Jan-Oliver Wagner <[email protected]>
502    
503            Introducing first Extension (gns2shp).
504    
505            * Extensions, Extensions/gns2shp, Extensions/gns2shp/test: New.
506    
507            * Extensions/__init__.py: New. init to make this dir a package.
508    
509            * Extensions/gns2shp/__init__.py: New. init to make this dir a package.
510    
511            * Extensions/gns2shp/test/README: New. some info on this test directory.
512    
513            * Extensions/gns2shp/test/ls.txt: New. test data set (Liechtenstein).
514    
515            * Extensions/gns2shp/test/test_gns2shp.py: New. Test for correct creation
516            of Shapefile from GNS text file format
517    
518    2003-09-03  Jan-Oliver Wagner <[email protected]>
519    
520            Fix/workaround for bug #2019:
521            https://intevation.de/rt/webrt?serial_num=2019
522    
523            * Thuban/UI/identifyview.py (IdentifyView.ID_STOP): New.
524            (IdentifyView.__init__): Added another button that allows to
525            stop the identify mode.
526            (IdentifyView.OnStop): New. Stops the identify mode.
527    
528    2003-09-03  Jan-Oliver Wagner <[email protected]>
529    
530            Introducing a new exception dialog that allows to exit the
531            application immediately.
532            This fixes bug #2060: https://intevation.de/rt/webrt?serial_num=2060
533    
534            * Thuban/UI/exceptiondialog.py: New. A special exception dialog.
535    
536            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
537            Made strings available to translations. Exchanged the simple
538            ScrolledMessageDialog by the new ExceptionDialog.
539    
540    2003-09-01  Bernhard Herzog  <[email protected]>
541    
542            * NEWS: New. Summary of changes and release notes.
543    
544            * MANIFEST.in: Add NEWS
545    
546    2003-09-01  Bernhard Herzog  <[email protected]>
547    
548            * MANIFEST.in: Correct the include statement for the mo-files and
549            include the documentation too.
550    
551            * setup.py (data_files): Add the .mo files
552            (setup call): Up to version 0.9.0
553    
554    2003-09-01  Bernhard Herzog  <[email protected]>
555    
556            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Change the
557            parameter list to just parent and session
558            (ChooseDBTableDialog.__set_properties): Removed. Setting the
559            selection of empty list boxes is not allowed (and produces C++
560            assertion errors) and the rest of the setup is better done in
561            __init__ anyway.
562            (ChooseDBTableDialog.OnCancel, ChooseDBTableDialog.OnOK)
563            (ChooseDBTableDialog.OnLBDClick, DBDialog.OnOK): Use the Python
564            builtins True/False for booleans to avoid warnings from wxPython
565    
566            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): Adapt to new
567            ChooseDBTableDialog constructor parameters.
568    
569    2003-09-01  Bernhard Herzog  <[email protected]>
570    
571            * Thuban/Model/postgisdb.py
572            (PostGISTable): Extend doc-string
573            (PostGISTable._fetch_table_information): Set the column index
574            correctly, pretending ignored columns don't exist.
575    
576            * test/test_postgis_db.py (TestPostGISIgnoredColumns): New tests
577            for postgis tables with data types not yet supported by thuban.
578    
579    2003-08-29  Bernhard Herzog  <[email protected]>
580    
581            * HOWTO-Release: Tweak item about running the tests.
582    
583    2003-08-29  Jan-Oliver Wagner <[email protected]>
584    
585            * /Doc/manual/thuban-manual.xml: updated to version 1.0pre2.
586    
587    2003-08-29  Bernhard Herzog  <[email protected]>
588    
589            Add some missing parameters to projections. Proj complains about
590            them on windows but for some reason not on Linux.
591    
592            * test/test_save.py (SaveSessionTest.testLayerProjection): Add
593            missing required projection parameters
594    
595            * test/test_proj.py (TestProjFile.test): Add missing required
596            projection parameters
597    
598            * test/test_load_0_8.py (TestLayerProjection.file_contents)
599            (TestLayerProjection.test): Add missing required projection
600            parameters and tests for them
601    
602            * test/test_load.py (TestLayerProjection.file_contents)
603            (TestLayerProjection.test): Add missing required projection
604            parameters and tests for them
605    
606            * test/test_layer.py (TestLayer.test_base_layer): Add missing
607            required projection parameters
608    
609    2003-08-29  Bernhard Herzog  <[email protected]>
610    
611            * libraries/pyprojection/Projection.i: Use pj_get_errno_ref to
612            access the pj_errno because directly accessing pj_errno doesn't
613            work on windows if the proj library is in a DLL
614    
615            * libraries/pyprojection/Projection_wrap.c: Update from Projection.i
616    
617    2003-08-28  Bernhard Herzog  <[email protected]>
618    
619            * test/test_proj.py: Import things from Thuban after calling
620            initthuban
621    
622            * test/test_load.py (LoadSessionTest.filenames): New class
623            variable with the filename attributes to normalize
624            (LoadSessionTest.check_format): Pass self.filenames to
625            sax_eventlist to normalize the filename attributes
626    
627            * test/xmlsupport.py: Add cvs keywords
628            (SaxEventLister.__init__): New parameter filenames which indicates
629            attributes that contain filenames
630            (SaxEventLister.startElementNS): Normalize the filename attributes
631            with os.path.normpath
632            (sax_eventlist): New parameter filenames to pass through to
633            SaxEventLister
634    
635            * test/test_derivedshapestore.py: Make this file callable as a
636            program to execute the tests
637            (TestDerivedShapeStoreExceptions.test_table_with_wrong_size): Bind
638            the session to self.session so that it gets destroyed properly
639    
640            * test/test_layer.py (TestLayer.tearDown): Call the session's
641            Destroy method
642    
643            * test/test_map.py (TestMapBase.tearDown): Destroy self.session
644            too if it exists
645            (TestMapAddLayer.test_add_layer): Bind the session to self.session
646            so that it gets destroyed properly
647    
648            * test/postgissupport.py (reason_for_not_running_tests): Add a
649            test for the existence of popen2.Popen4.
650    
651            * test/test_save.py (SaveSessionTest.tearDown): New. Provide a
652            reliable way to destroy the sessions created in the test cases
653            (SaveSessionTest.test_dbf_table): Bind the session to self.session
654            so that it gets destroyed properly
655            (SaveSessionTest.testLayerProjection): Bind the session to
656            self.session so that it gets destroyed properly
657    
658            * test/test_session.py (UnreferencedTablesTests.tearDown): Make
659            sure that the session is destroyed properly
660    
661            * test/test_shapefilestore.py: Make this callable as a program to
662            execute the tests
663    
664            * test/test_scalebar.py: Remove unnecessary import of _ from
665            Thuban
666    
667            * test/support.py (print_garbage_information): Call initthuban
668            here because it may be called indirectly from test cases that test
669            test support modules which do not use anything from thuban itself
670            (ThubanTestProgram.runTests): Remove unnecessary debug print
671    
672    2003-08-28  Bernhard Herzog  <[email protected]>
673    
674            * Thuban/version.py (longversion): Update to 0.9
675    
676            * Thuban/UI/mainwindow.py: Remove some unused imports
677    
678            * README: Add section about required additional software. Add date
679            and revision CVS keywords
680    
681            * HOWTO-Release: Add item about the translations. Add date and
682            revision CVs keywords and change formatting to match README a bit
683            better
684    
685            * po/de.po: Update for 0.9
686    
687            * test/README: Tweak the wording a little because many tests are
688            not really unittest.
689    
690    2003-08-27  Bernhard Herzog  <[email protected]>
691    
692            As preparation for the 0.9 release, switch thuban files to a
693            non-dev namespace
694    
695            * Thuban/Model/save.py (SessionSaver.write_session): Write files
696            with the http://thuban.intevation.org/dtds/thuban-0.9.dtd
697            namespace
698    
699            * Thuban/Model/load.py (SessionLoader.__init__): Accept the
700            http://thuban.intevation.org/dtds/thuban-0.9.dtd namespace too
701    
702            * test/test_save.py (SaveSessionTest.dtd)
703            (SaveSessionTest.testEmptySession)
704            (SaveSessionTest.testSingleLayer)
705            (SaveSessionTest.testLayerProjection)
706            (SaveSessionTest.testRasterLayer)
707            (SaveSessionTest.testClassifiedLayer)
708            (SaveSessionTest.test_dbf_table)
709            (SaveSessionTest.test_joined_table)
710            (SaveSessionTest.test_save_postgis): Update for new namespace
711    
712            * test/test_load.py (LoadSessionTest.dtd, TestSingleLayer)
713            (TestLayerVisibility.file_contents, TestLabels.file_contents)
714            (TestLayerProjection.file_contents)
715            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
716            (TestPostGISLayer.file_contents)
717            (TestPostGISLayerPassword.file_contents)
718            (TestLoadError.file_contents, TestLoadError.test): Update for new
719            namespace
720    
721    2003-08-27  Bernhard Herzog  <[email protected]>
722    
723            Make the table interface distinguish between row ids (an integer
724            that uniquely identifies a row) and row ordinals (a simple row
725            count from 0 to NumRows() - 1)
726    
727            * Thuban/Model/postgisdb.py (PostGISTable.RowIdToOrdinal)
728            (PostGISTable.RowOrdinalToId): New methods to conver between row
729            ids and row ordinals
730            (PostGISTable.ReadRowAsDict, PostGISTable.ReadValue): New keyword
731            parameter row_is_ordinal to indicate whether the row parameter is
732            the row id or the ordinal
733    
734            * Thuban/Model/transientdb.py (TransientTableBase.RowIdToOrdinal)
735            (TransientTableBase.RowOrdinalToId)
736            (AutoTransientTable.RowIdToOrdinal)
737            (AutoTransientTable.RowOrdinalToId): Same new methods as in
738            PostGISTable.
739            (TransientTableBase.ReadRowAsDict, TransientTableBase.ReadValue)
740            (AutoTransientTable.ReadRowAsDict, AutoTransientTable.ReadValue):
741            Same new parameter as in PostGISTable.
742    
743            * Thuban/Model/table.py (DBFTable.RowIdToOrdinal)
744            (DBFTable.RowOrdinalToId, MemoryTable.RowIdToOrdinal)
745            (MemoryTable.RowOrdinalToId): Same new methods as in PostGISTable.
746            (DBFTable.ReadValue, DBFTable.ReadRowAsDict)
747            (MemoryTable.ReadValue, MemoryTable.ReadRowAsDict): Same new
748            parameter as in PostGISTable.
749    
750            * Thuban/UI/tableview.py (DataTable.RowIdToOrdinal)
751            (DataTable.RowOrdinalToId): New methods to convert between row ids
752            and row ordinals.
753            (TableGrid.SelectRowById): New method to select a row based on its
754            ID as opposed to its ordinal
755            (DataTable.GetValue, TableGrid.OnRangeSelect)
756            (TableGrid.OnSelectCell, LayerTableGrid.select_shapes)
757            (QueryTableFrame.OnQuery, QueryTableFrame.get_selected)
758            (LayerTableFrame.__init__): Convert between row ids and row
759            ordinals as appropriate
760    
761            * test/postgissupport.py (PostGISDatabase.__init__): Add
762            doc-string.
763            (PostGISDatabase.initdb): The optional third item in a tuple in
764            tables is now a (key, value) list with additional arguments to
765            pass to upload_shapefile
766            (upload_shapefile): New parameter gid_offset to allow gids that
767            are not the same as the shapeids in the shapefile
768            (PostgreSQLServer.get_default_static_data_db): Use the new
769            gid_offset to make the gids in landmarks 1000 higher than the
770            shapeids in the shapefile
771    
772            * test/test_viewport.py
773            (TestViewportWithPostGIS.test_find_shape_at_point): Adapt to the
774            new shapeids in the landmarks table
775    
776            * test/test_transientdb.py
777            (TestTransientTable.run_iceland_political_tests)
778            (TestTransientTable.test_transient_joined_table): Add tests for
779            the new table methods and new keywords arguments.
780    
781            * test/test_postgis_db.py
782            (TestPostGISTable.test_read_row_as_dict_row_count_mode)
783            (TestPostGISTable.test_read_value_row_count_mode)
784            (TestPostGISTable.test_row_id_to_ordinal)
785            (TestPostGISTable.test_row_oridnal_to_id): New test for the new
786            table methods and the new arguments
787            (TestPostGISShapestorePoint.test_shapes_in_region)
788            (TestPostGISShapestorePoint.test_shape_raw_data)
789            (TestPostGISShapestorePoint.test_shape_points)
790            (TestPostGISShapestorePoint.test_shape_shapeid)
791            (TestPostGISShapestorePoint.test_all_shapes)
792            (TestPostGISTable.test_simple_query)
793            (TestPostGISTable.test_simple_query)
794            (TestPostGISTable.test_simple_query)
795            (TestPostGISTable.test_read_value)
796            (TestPostGISTable.test_read_row_as_dict): Adapt to the new
797            shapeids in the landmarks table
798    
799            * test/test_memory_table.py
800            (TestMemoryTable.test_read_row_as_dict_row_count_mode)
801            (TestMemoryTable.test_read_value_row_count_mode)
802            (TestMemoryTable.test_row_id_to_ordinal)
803            (TestMemoryTable.test_row_oridnal_to_id): New test for the new
804            table methods and the new arguments
805    
806            * test/test_dbf_table.py
807            (TestDBFTable.test_read_row_as_dict_row_count_mode)
808            (TestDBFTable.test_read_value_row_count_mode)
809            (TestDBFTable.test_row_id_to_ordinal)
810            (TestDBFTable.test_row_oridnal_to_id): New test for the new table
811            methods and the new arguments
812    
813    2003-08-26  Bernhard Herzog  <[email protected]>
814    
815            * Thuban/Model/postgisdb.py (PostGISShapeStore.BoundingBox): Use a
816            more postgis specific but much faster method to get the bounding
817            box
818    
819    2003-08-26  Bernhard Herzog  <[email protected]>
820    
821            * Thuban/Model/postgisdb.py (PostGISTable.Title)
822            (PostGISShapeStore.AllShapes): Add these missing methods.
823            (PostGISShapeStore.ShapesInRegion): No need to raise
824            StopIteration. We can simply return
825    
826            * test/test_postgis_db.py (TestPostGISTable.test_title)
827            (TestPostGISShapestorePoint.test_all_shapes): New tests for the
828            new methods
829    
830  2003-08-25  Bernhard Herzog  <[email protected]>  2003-08-25  Bernhard Herzog  <[email protected]>
831    
832          * Thuban/Model/postgisdb.py (shapetype_map): Add MUTLIPOLYGON.          * Thuban/Model/postgisdb.py (shapetype_map): Add MUTLIPOLYGON.
# Line 966  Line 1795 
1795    
1796          * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as          * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as
1797          it annoys lintian which warns about these files not being          it annoys lintian which warns about these files not being
1798          executable. The #1 isn't necessary here since if you absolutely          executable. The #! isn't necessary here since if you absolutely
1799          must execute them you can always say "python <filename>".          must execute them you can always say "python <filename>".
1800    
1801          * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove          * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove

Legend:
Removed from v.1657  
changed lines
  Added in v.1837

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26