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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26