/[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 1692 by bh, Fri Aug 29 10:07:23 2003 UTC revision 1822 by bh, Tue Oct 14 13:54:19 2003 UTC
# Line 1  Line 1 
1    2003-10-14  Bernhard Herzog  <[email protected]>
2    
3            * test/test_proj.py (TestProjFile.test): Refactor into several
4            tests
5            (TestProjFile.test_add_remove)
6            (TestProjFile.test_remove_non_existing)
7            (TestProjFile.test_replace)
8            (TestProjFile.test_replace_non_existing): Some of the new
9            individual test cases
10            (TestProjFileSimple): New class for the rest of the test cases
11            that came out of the refactoring
12            (ProjFileTest): Derive from xmlsupport.ValidationTest so that the
13            derived classes don't have to
14    
15    2003-10-13  Bernhard Herzog  <[email protected]>
16    
17            Add an optional EPSG code to the projection objects and extend the
18            .proj file format accordingly.
19    
20            * Resources/XML/projfile.dtd (element projection): Add epsg
21            attribute
22    
23            * Thuban/Model/proj.py (Projection.__init__): New parameter and
24            instance variable epsg. Update doc-string
25            (Projection.EPSGCode, Projection.Label): New methods to provide
26            access to EPSG code and a label for use in dialogs
27    
28            * Thuban/Model/resource.py (ProjFileReader.start_projection)
29            (ProjFileReader.end_projection, ProjFileSaver.write_projfile):
30            Handle the epsg code attribute when reading or writing proj files
31    
32            * Thuban/UI/projdialog.py (ProjFrame._OnSave)
33            (ProjFrame._OnAddToList, ProjFrame.__DoOnProjAvail)
34            (ProjFrame.__FillAvailList): Use the projection's Label method to
35            get the string for the list box
36    
37            * test/test_proj.py (TestProjection.test_label)
38            (TestProjection.test_label_epsg)
39            (TestProjection.test_epsgcode_for_non_epsg_projection)
40            (TestProjection.test_epsgcode_for_real_epsg_projection): New tests
41            for the label and EPSGCode methods
42            (WriteProjFileTests.doTestWrite, WriteProjFileTests.test_write)
43            (WriteProjFileTests.test_write_empty_file): Create the ProjFile
44            objects in the test cases and put the expected contents into the
45            test case methods too. Update doTestWrite accordingly
46            (TestLoadingProjFile)
47            (TestLoadingProjFileWithEmptyProjectionlist): New classes with the
48            read tests from TestProjFile.
49            (TestProjFile.doTestRead, TestProjFile.testRead): Removed. These
50            tests are now in the new classes.
51            (sample_projfile, sample_projfile_data)
52            (sample_projfile2, sample_projfile_data2): Removed. Not used
53            anymore.
54            (TestProjFile.test_read_unreadable_file): No need to reset the
55            permissions at the end anymore since we use a unique filename
56    
57    2003-10-13  Bernhard Herzog  <[email protected]>
58    
59            * test/test_proj.py: Some more refactoring of the test cases
60            (ProjFileTest): New base class for the proj file tests.
61            (TestProjFile): Derive from ProjFileTest
62            (TestProjFile.test_read_unreadable_file)
63            (TestProjFile.test_read_empty_file, TestProjFile.doTestRead): Use
64            the new filename method to get a unique filename
65            (TestProjFile.doTestWrite, TestProjFile.testWrite): Removed.
66            (WriteProjFileTests): New class for proj file write tests.
67            Contains the write test that were in TestProjFile originally.
68    
69    2003-10-13  Bernhard Herzog  <[email protected]>
70    
71            * test/test_proj.py (TestProjFile.testRead)
72            (TestProjFile.test_read_non_existing_file)
73            (TestProjFile.test_read_unreadable_file)
74            (TestProjFile.test_read_empty_file): Split into several methods.
75    
76    2003-10-10  Bernhard Herzog  <[email protected]>
77    
78            * Thuban/UI/sizers.py: New file with custom sizers.
79    
80            * Thuban/UI/projdialog.py (ProjFrame.build_dialog): Instantiate
81            all projection type specific panels and put them into a
82            NotebookLikeSizer. This way the dialog doesn't change its size
83            when a different projection is selected
84            (ProjFrame.__init__): Rename projection_panels
85            projection_panel_defs and reuse projection_panels for a list of
86            the instantiated panels.
87            (ProjFrame._show_proj_panel, ProjFrame.__DoOnProjAvail)
88            (ProjFrame.__DoOnProjChoice): Changes due to the new handling of
89            the panels
90            (UnknownProjPanel._DoLayout): Place the newlines in the message
91            differently to make the panel narrower.
92            (TMPanel._DoLayout): Layout the parameters in one column.
93    
94    2003-10-10  Bernhard Herzog  <[email protected]>
95    
96            * Thuban/UI/projdialog.py (ProjFrame.build_dialog): New method
97            that contains all the setup for the dialog's widgets, layout and
98            event handling.
99            (__): Call build_dialog to build the dialog.
100            (ProjFrame.__set_properties, ProjFrame.__do_layout): Removed.
101            Their functionality is now in build_dialog
102            (ProjFrame.__VerifyButtons, ProjFrame.__VerifyButtons)
103            (ProjFrame.__DoOnProjAvail, ProjFrame.__DoOnProjAvail)
104            (ProjFrame.__DoOnProjChoice): Small updates due to slightly
105            different widget names and hierarchy introduced with build_dialog.
106    
107    2003-10-10  Bernhard Herzog  <[email protected]>
108    
109            * README: Fix typo.
110    
111    2003-10-09  Bernhard Herzog  <[email protected]>
112    
113            * Thuban/Model/proj.py (ProjFile.Add): Do not check whether the
114            projection is already in the list. This is *a lot* faster when
115            loading files with hundreds of projections since it saves a linear
116            search. OTOH this will allow adding the same projection to the
117            user.proj file multiple times in the projection dialog but we'll
118            deal with that later
119    
120    2003-10-09  Jan-Oliver Wagner <[email protected]>
121    
122            * devtools: New. Directory for developer tools that are not intended
123            for the regular user.
124    
125            * devtools/create_epsg.py: New. Convert the epsg file of proj into
126            a python .proj file.
127    
128    2003-10-09  Bernhard Herzog  <[email protected]>
129    
130            * test/test_proj.py
131            (TestProjection.test_get_parameter_without_equals_sign): New. Test
132            whether GetParameter handles parameters without "=" sign correctly
133    
134            * Thuban/Model/proj.py (Projection.GetParameter): Handle
135            parameters that do not contain a "=". Update the doc-string
136    
137    2003-10-08  Bernhard Herzog  <[email protected]>
138    
139            * Thuban/UI/projdialog.py (ProjFrame.__set_properties): Remove the
140            length limit on the projname text control
141    
142    2003-10-08  Bernhard Herzog  <[email protected]>
143    
144            * test/test_proj.py (TestProjection.test_get_projection_units_geo)
145            (TestProjection.test_get_projection_units_normal): New. Tests for
146            the Projection.GetProjectedUnits method
147    
148    2003-10-08  Jan-Oliver Wagner <[email protected]>
149    
150            * Thuban/Model/resource.py (get_user_proj_file): small bug-fix:
151            Added missing 'val' parameter.
152    
153    2003-10-08  Bernhard Herzog  <[email protected]>
154    
155            * Thuban/UI/projdialog.py (ProjFrame.__DoOnProjAvail): When the
156            projection type of the currently selected projection is not known,
157            i.e. there's no panel for it, use the UnknownProjPanel
158            (ProjFrame.__DoOnProjChoice, ProjFrame._show_proj_panel): Split
159            the actual replacing of the proj panel into the new method
160            _show_proj_panel.
161            (UnknownProjPanel): Add doc-string.
162            (UnknownProjPanel._DoLayout): Insert a newline into the text so
163            that the panel is not so wide.
164    
165    2003-10-08  Bernhard Herzog  <[email protected]>
166    
167            * Thuban/Model/resource.py (read_proj_file): Return the warnings
168            too. Update the doc-string
169            (get_proj_files): Removed. It wasn't used anywhere
170            (get_system_proj_files, get_system_proj_file): Rename to
171            get_system_proj_file and return the ProjFile object and not a list
172            of ProjFile objects. Update the callers.
173            (get_user_proj_files, get_user_proj_file): Rename to
174            get_user_proj_file return the ProjFile object and not a list of
175            ProjFile objects. Update the callers.
176            (ProjFileReader.__init__): New instance variable for the warnings.
177            Rename the __pf ivar to projfile. Update the methods referring to
178            __pf
179            (ProjFileReader.end_projection): Catch any errors raised when
180            instantiating the projection and record that as an error. The
181            projection will not be in the final ProjFile object.
182            (ProjFileReader.GetWarnings): New method to return the warnings.
183    
184            * Thuban/UI/projdialog.py (ProjFrame.show_warnings): New method to
185            show the warnings from the projfile reader
186            (ProjFrame._OnImport): Deal with any warnings returned by
187            read_proj_file
188            (ProjFrame.__FillAvailList): Deal with any warnings returned by
189            get_system_proj_file or get_user_proj_file.
190    
191            * test/test_proj.py (TestProjFile.doTestRead): Check the warnings.
192            (TestProjFileWithInvalidParameters.file_contents): New test cases
193            to test whether read_proj_file handles invalid projection
194            parameters correctly
195            (TestProjFile.test_get_system_proj_file): New. Simple test for
196            resource.get_system_proj_file
197    
198    2003-10-07  Bernhard Herzog  <[email protected]>
199    
200            * test/test_derivedshapestore.py
201            (TestDerivedShapeStoreExceptions.tearDown): Clear the session
202            properly so that the temporary directories get deleted correctly
203    
204    2003-10-06  Bernhard Herzog  <[email protected]>
205    
206            Handle the title changes in a proper MVC way.
207    
208            * Thuban/UI/mainwindow.py (MainWindow.__init__): Subscribe to the
209            canvas' TITLE_CHANGED messages
210            (MainWindow.update_title): New. Update the main window's title
211            (MainWindow.__SetTitle): Removed. Use update_title instead.
212            (MainWindow.SetMap): Use update_title instead of __SetTitle
213            (MainWindow.RenameMap): Do change the window title explicitly
214            here. That's handled in a proper MVC way now.
215            (MainWindow.title_changed): New. Subscriber for the TITLE_CHANGED
216            messages
217    
218            * Thuban/Lib/connector.py (Conduit): New class to help classes
219            that forward messages
220    
221            * Thuban/UI/viewport.py: Forward the map's TITLE_CHANGED messages
222            (ViewPort): Derive from Conduit instead of Publisher
223            (ViewPort.Subscribe, ViewPort.Unsubscribe): Use the new base class
224            when calling the inherited versions
225            (ViewPort._subscribe_map, ViewPort._unsubscribe_map): New helper
226            methods to subscribe and unsubscribe map messages
227            (ViewPort.SetMap, ViewPort.Destroy): Use the new helper methods to
228            handle the map subscriptions
229            (ViewPort.Map, ViewPort.map_projection_changed)
230            (ViewPort.layer_projection_changed): Add or update doc-strings
231    
232            * test/test_connector.py (TestPublisher.test_issue_simple): Fix
233            typo
234            (MyConduit): Helper class for the Conduit test.
235            (TestConduit): Test cases for Conduit
236    
237            * test/test_connector.py: Use support.run_tests as main.
238    
239            * test/test_viewport.py (ViewPortTest.setUp): Also subscribe to
240            the TITLE_CHANGED messages
241            (ViewPortTest.test_forwarding_title_changed): New test to check
242            whether the viewport forwards the map's TITLE_CHANGED messages
243            (TestViewportWithPostGIS.tearDown): Call the map's Destroy method
244            after the port's because the latter may require a still functional
245            map.
246    
247    2003-10-06  Bernhard Herzog  <[email protected]>
248    
249            * Thuban/UI/application.py (ThubanApplication.maps_changed): Add
250            doc-string
251    
252    2003-10-06  Bernhard Herzog  <[email protected]>
253    
254            * test/test_viewport.py (ViewPortTest.setUp)
255            (SimpleViewPortTest.test_init_with_size): Move the test for the
256            initial size as a constructor parameter from ViewPortTest.setUp
257            method to a new separate test in SimpleViewPortTest.
258    
259    2003-10-06  Bernhard Herzog  <[email protected]>
260    
261            * test/test_viewport.py (MockView): New class derived from
262            ViewPort with a mock implementation of GetTextExtent to be used in
263            the test cases
264            (ViewPortTest.setUp): Use MockView instead of ViewPort
265    
266            * Thuban/UI/viewport.py (ViewPort.GetTextExtent): Turn this method
267            into what would be a "pure virtual function" in C++: always raise
268            NotImplementedError. Mock implementations for test cases don't
269            belong into the real code
270    
271    2003-10-02  Bernhard Herzog  <[email protected]>
272    
273            * test/test_layer.py (TestLayer.test_empty_layer): Explicitly
274            close the dbf file we create so that it's contents have been
275            written properly.
276    
277            * libraries/shapelib/shptree.c, libraries/shapelib/shpopen.c,
278            libraries/shapelib/shapefil.h, libraries/shapelib/dbfopen.c:
279            Update to shapelib 1.2.10
280    
281    2003-10-01  Jan-Oliver Wagner <[email protected]>
282    
283            * Thuban/UI/tree.py, Thuban/UI/main.py: Remove the #! line as
284            it annoys lintian which warns about these files not being
285            executable. The #! isn't necessary here since if you absolutely
286            must execute them you can always say "python <filename>".
287    
288    2003-09-26  Bernhard Herzog  <[email protected]>
289    
290            * Thuban/Model/classgen.py (GenQuantiles0): Removed since it's
291            only used in GREAT-ER but not used in Thuban itself. When GREAT-ER
292            is ported to a newer the import will fail, so it should be noticed
293            immediately that this function is gone.
294            Fixes RT#1919
295    
296    2003-09-26  Bernhard Herzog  <[email protected]>
297    
298            Add a DTD for the projection files and make thuban write valid
299            projection files
300    
301            * Resources/XML/projfile.dtd: New. DTD for thuban's projection
302            files
303    
304            * Thuban/Model/resource.py (ProjFileSaver.write): Use
305            'projectionlist' as the name in the document type declaration so
306            that it matches the element type of the root element.
307    
308            * test/test_proj.py (sample_projfile, sample_projfile2): Use
309            'projectionlist' as the name in the document type declaration just
310            as it is done now in the files thuban would write
311            (sample_projfile, sample_projfile_data): Fix spelling of
312            "Mercator"
313            (TestProjFile.doTestWrite): Validate the written and the expected
314            XML data
315            (TestProjFile): Derive from ValidationTest so that we can run xml
316            validation tests
317    
318    2003-09-24  Bernhard Herzog  <[email protected]>
319    
320            * Thuban/UI/renderer.py (ExportRenderer.render_legend): Do not
321            modify the list returned by map.Layers() in place since it is the
322            actual list of layers used by the map.
323    
324    2003-09-23  Jan-Oliver Wagner <[email protected]>
325    
326            * Doc/manual/thuban-manual.xml: Added subsection to chapter
327            Extensions to describe the extensions coming with the Thuban
328            standard package (gns2shp and importAPR).
329    
330    2003-09-23  Bernhard Herzog  <[email protected]>
331    
332            * libraries/thuban/wxproj.cpp (project_point): if there's an
333            inverse but no forward projection, convert to degrees after
334            applying the inverse projection. Fixes RT#2096
335    
336            * test/test_wxproj.py: New. Test cases for wxproj.so. One test
337            implicitly tests for the fix to RT#2096
338    
339            * test/support.py (FloatComparisonMixin.assertFloatSeqEqual):
340            Check that the sequences have the same lengths
341    
342            * Resources/Projections/defaults.proj (Geographic projection): Use
343            a much more precise value for the to_meter attribute.
344    
345    2003-09-22  Bernhard Herzog  <[email protected]>
346    
347            * test/support.py (initthuban): Make sure to unset the LANG env.
348            var. so that tests that compare translated strings work. Solves RT
349            #2094
350    
351    2003-09-22  Jan-Oliver Wagner <[email protected]>
352    
353            Small improvement of APR import.
354    
355            * Extensions/importAPR/test/test_apr.py (aprTest.test_LClass):
356            Added tests for text-ranges.
357    
358            * Extensions/importAPR/apr.py (APR_LClass.GetThubanRange): Now
359            returns a string object if the range is based on text.
360    
361            * Extensions/importAPR/importAPR.py (import_apr_dialog): Unified
362            range retrieval.
363    
364    2003-09-22  Jan-Oliver Wagner <[email protected]>
365    
366            Initial version of the importAPR extension which is in
367            experimental state.
368    
369            * /Extensions/importAPR/, /Extensions/importAPR/samples/,
370            /Extensions/importAPR/test/: New directories.
371    
372            * /Extensions/importAPR/samples/README: New: Howto load the samples.
373    
374            * /Extensions/importAPR/samples/iceland.apr: New: A sample APR
375            file which refers to the Thuban Iceland demo data.
376    
377            * /Extensions/importAPR/test/README: New: Howto execute the tests.
378    
379            * /Extensions/importAPR/test/test_apr.py: New: Tests for APR classes.
380    
381            * /Extensions/importAPR/apr.py: New: Classes for ArcView Objects
382            as in '.apr'-files.
383    
384            * /Extensions/importAPR/odb.py: New: Classes for generic ArcView
385            ODB Objects as in '.apr', '.avl' and other files.
386    
387            * /Extensions/importAPR/__init__.py: New: Init to make this
388            directory a package.
389    
390            * /Extensions/importAPR/importAPR.py: New: Import a ArcView
391            project file (.apr) and convert it to Thuban.
392    
393    2003-09-22  Jan-Oliver Wagner <[email protected]>
394    
395            * Extensions/gns2shp.gns2shp.py: The main module of gns2shp.
396    
397    2003-09-19  Jan-Oliver Wagner <[email protected]>
398    
399            * Doc/manual/thuban-manual.xml: Extended section 'Installation'
400            with description on RPM installation and RPM binary package
401            creation.
402    
403    2003-09-18  Bernhard Herzog  <[email protected]>
404    
405            * setup.py (data_files): Only add the mo files if the Locales
406            directory actually exists, so that setup.py works with a fresh CVS
407            checkout
408    
409    2003-09-12  Jan-Oliver Wagner <[email protected]>
410    
411            * Examples/simple_extensions/simple_tool.py: bugfix: Tool is now
412            in viewport, not anymore in view
413    
414    2003-09-04  Jan-Oliver Wagner <[email protected]>
415    
416            Introducing first Extension (gns2shp).
417    
418            * Extensions, Extensions/gns2shp, Extensions/gns2shp/test: New.
419    
420            * Extensions/__init__.py: New. init to make this dir a package.
421    
422            * Extensions/gns2shp/__init__.py: New. init to make this dir a package.
423    
424            * Extensions/gns2shp/test/README: New. some info on this test directory.
425    
426            * Extensions/gns2shp/test/ls.txt: New. test data set (Liechtenstein).
427    
428            * Extensions/gns2shp/test/test_gns2shp.py: New. Test for correct creation
429            of Shapefile from GNS text file format
430    
431    2003-09-03  Jan-Oliver Wagner <[email protected]>
432    
433            Fix/workaround for bug #2019:
434            https://intevation.de/rt/webrt?serial_num=2019
435    
436            * Thuban/UI/identifyview.py (IdentifyView.ID_STOP): New.
437            (IdentifyView.__init__): Added another button that allows to
438            stop the identify mode.
439            (IdentifyView.OnStop): New. Stops the identify mode.
440    
441    2003-09-03  Jan-Oliver Wagner <[email protected]>
442    
443            Introducing a new exception dialog that allows to exit the
444            application immediately.
445            This fixes bug #2060: https://intevation.de/rt/webrt?serial_num=2060
446    
447            * Thuban/UI/exceptiondialog.py: New. A special exception dialog.
448    
449            * Thuban/UI/application.py (ThubanApplication.ShowExceptionDialog):
450            Made strings available to translations. Exchanged the simple
451            ScrolledMessageDialog by the new ExceptionDialog.
452    
453    2003-09-01  Bernhard Herzog  <[email protected]>
454    
455            * NEWS: New. Summary of changes and release notes.
456    
457            * MANIFEST.in: Add NEWS
458    
459    2003-09-01  Bernhard Herzog  <[email protected]>
460    
461            * MANIFEST.in: Correct the include statement for the mo-files and
462            include the documentation too.
463    
464            * setup.py (data_files): Add the .mo files
465            (setup call): Up to version 0.9.0
466    
467    2003-09-01  Bernhard Herzog  <[email protected]>
468    
469            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Change the
470            parameter list to just parent and session
471            (ChooseDBTableDialog.__set_properties): Removed. Setting the
472            selection of empty list boxes is not allowed (and produces C++
473            assertion errors) and the rest of the setup is better done in
474            __init__ anyway.
475            (ChooseDBTableDialog.OnCancel, ChooseDBTableDialog.OnOK)
476            (ChooseDBTableDialog.OnLBDClick, DBDialog.OnOK): Use the Python
477            builtins True/False for booleans to avoid warnings from wxPython
478    
479            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): Adapt to new
480            ChooseDBTableDialog constructor parameters.
481    
482    2003-09-01  Bernhard Herzog  <[email protected]>
483    
484            * Thuban/Model/postgisdb.py
485            (PostGISTable): Extend doc-string
486            (PostGISTable._fetch_table_information): Set the column index
487            correctly, pretending ignored columns don't exist.
488    
489            * test/test_postgis_db.py (TestPostGISIgnoredColumns): New tests
490            for postgis tables with data types not yet supported by thuban.
491    
492  2003-08-29  Bernhard Herzog  <[email protected]>  2003-08-29  Bernhard Herzog  <[email protected]>
493    
494          * HOWTO-Release: Tweak item about running the tests.          * HOWTO-Release: Tweak item about running the tests.
# Line 1217  Line 1708 
1708    
1709          * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as          * Thuban/Model/range.py, Thuban/version.py: Remove the #! line as
1710          it annoys lintian which warns about these files not being          it annoys lintian which warns about these files not being
1711          executable. The #1 isn't necessary here since if you absolutely          executable. The #! isn't necessary here since if you absolutely
1712          must execute them you can always say "python <filename>".          must execute them you can always say "python <filename>".
1713    
1714          * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove          * Thuban/UI/renderer.py (ScreenRenderer.draw_shape_layer): Remove

Legend:
Removed from v.1692  
changed lines
  Added in v.1822

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26