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

Legend:
Removed from v.1655  
changed lines
  Added in v.1840

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26