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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26