/[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 1925 by bh, Fri Nov 7 12:07:38 2003 UTC revision 2077 by bh, Thu Feb 19 15:19:55 2004 UTC
# Line 1  Line 1 
1    2004-02-19  Bernhard Herzog  <[email protected]>
2    
3            * Thuban/UI/application.py (ThubanApplication.OnInit): Make sure
4            the mainwindow has a reference to the map of the initial session.
5            This fixes a bug introduced with the fix for RT#2245
6    
7    2004-02-19  Bernhard Herzog  <[email protected]>
8    
9            * Extensions/svgexport/svgsaver.py,
10            Extensions/svgexport/svgmapwriter.py,
11            Extensions/svgexport/maplegend.py: Added again.  This time in the
12            correct place.
13    
14    2004-02-17  Bernhard Herzog  <[email protected]>
15    
16            Fix for RT#2245
17    
18            * Thuban/UI/application.py (ThubanApplication.OnInit): Initialize
19            instance variables before trying to create any windows.  Creating
20            windows can start an event loop if e.g. message boxes are popped
21            up for some reason, and event handlers, especially EVT_UPDATE_UI
22            may want to access things from the application.
23            (ThubanApplication.maps_changed): The mainwindow may not have been
24            created yet, so check whether it has been created before calling
25            its methods
26    
27            * Thuban/UI/view.py (MapCanvas.OnIdle): Only try to redraw if we
28            have a map
29    
30    2004-02-17  Bernhard Herzog  <[email protected]>
31    
32            * test/test_svgmapwriter.py, Extensions/svgsaver.py,
33            Extensions/svgmapwriter.py, Extensions/maplegend.py,
34            extensions/svgexport/svgsaver.py,
35            extensions/svgexport/svgmapwriter.py,
36            extensions/svgexport/maplegend.py: Removed.  These files were in
37            the wrong places or didn't work at all.
38    
39    2004-02-16  Bernhard Herzog  <[email protected]>
40    
41            * Thuban/UI/view.py (MapCanvas.Export): Remove accidentally added
42            line
43    
44    2004-02-16  Bernhard Herzog  <[email protected]>
45    
46            * Thuban/UI/view.py (MapCanvas.Export): Avoid UnboundLocalError.
47    
48    2004-02-15  Markus Rechtien  <[email protected]>
49            
50            * Extensions/svgexport/svgmapwriter.py: New. Adds the capability
51            to write a session to a file in SVG format.
52            * Extensions/svgexport/svgsaver.py: New. Uses svgmapwriter.py
53            to write a SVG map of a session.
54            * Extensions/svgexport/maplegend: New. Writes a basic maplegend
55            in SVG format for the current session.
56    
57    2004-02-13  Bernhard Herzog  <[email protected]>
58    
59            * Thuban/UI/mainwindow.py (MainWindow.AddDBLayer): When the layer
60            can't be created, return immediately after displaying the error
61            message.
62    
63    2004-02-11  Bernhard Herzog  <[email protected]>
64    
65            Handle postgis tables with more than one geometry column.
66    
67            * Thuban/Model/postgisdb.py
68            (PostGISTable._fetch_table_information): Delegate the creation of
69            column objects to a different method so that we can extend that in
70            derived classes
71            (PostGISTable._create_col_from_description): New. Column object
72            creation part of _fetch_table_information
73            (PostGISShapeStore._create_col_from_description): New. Extend
74            inherited method to handle geometry columns
75            (PostGISShapeStore.__init__): New parameter geometry_column to
76            specify which geometry column to use.  Optional but mandatory for
77            tables with more than one geometry column
78            (PostGISShapeStore._fetch_table_information): Also use the name of
79            the geometry column when looking for the srid
80            (PostGISShapeStore.ShapeType): Also use the name of the geometry
81            column when looking for the shape type
82    
83            * test/test_save.py (SaveSessionTest.test_save_postgis): Adapt
84            NonConnectionStore to changes in the PostGISShapeStore
85    
86            * test/test_postgis_db.py
87            (TestPostGISSpecialCases.test_shapestore_two_geom_cols): Test
88            PostGISShapeStore with tables having two geometry columns.
89    
90    2004-02-10  Bernhard Herzog  <[email protected]>
91    
92            Fix some postgis problems.  What remains to be done is real
93            handling of SRIDs as they affect how reprojection is done
94    
95            * Thuban/Model/postgisdb.py (quote_identifier): Fix typo in
96            doc-string
97            (PostGISShapeStore._fetch_table_information): New. Extend
98            inherited method to retrieve srid
99            (PostGISShapeStore.BoundingBox): Handle tables without data.
100            extent yields NULL for those
101            (PostGISShapeStore.ShapesInRegion): Use the srid of the table.
102    
103            * test/test_postgis_db.py
104            (TestPostGISSpecialCases.test_shapestore_empty_table): New test
105            for the special case of a table without any data
106            (TestPostGISShapestorePointSRID): New class with tests for a table
107            that uses srids
108            (PolygonTests): Fix a doc-string typo
109    
110            * test/postgissupport.py (PostGISDatabase.__init__): New parameter
111            reference_systems with a specification of spacial reference
112            systems to create in the new db.
113            (PostgreSQLServer.new_postgis_db)
114            (PostgreSQLServer.get_static_data_db): New parameter
115            reference_systems to be passed through ultimately to
116            PostGISDatabase.  In new_postgis_db also check whether an existing
117            db already has the right srids
118            (PostgreSQLServer.get_default_static_data_db): Add srids and a
119            table that uses srids
120            (PostGISDatabase.initdb): Create the entries for the reference
121            systems
122            (PostGISDatabase.has_data): Add reference_systems parameter to
123            check for those too
124            (upload_shapefile): New parameter srid to create tables with a
125            specific srid
126    
127    2004-02-06  Frank Koormann  <[email protected]>
128    
129            * po/pt_BR.po: Fixed charset
130    
131    2004-02-05  Frank Koormann  <[email protected]>
132    
133            * po/pt_BR.po: Fixed format string for error message, missing %s
134            added (Thuban/UI/application.py:273)
135    
136    2004-02-03  Frank Koormann  <[email protected]>
137            
138            First version of Portuguese (Brazilian) translation
139    
140            * po/pt_BR.po: New, translation of pot (2004-01-15 16:07+0300) for
141            Brazilian Portuguese by Eduardo Patto Kanegae.
142    
143            * Thuban/UI/about.py (About.__init.py__): Added Eduardo to the list of
144            translators.
145    
146    
147    2004-01-22  Frank Koormann  <[email protected]>
148    
149            * Doc/manual/thuban-manual.xml: Added section on installation of
150            Thuban under Win32 systems. Fixed image path references in the postgis
151            section. Some minor source formattings.
152    
153    2004-01-21  Frank Koormann  <[email protected]>
154    
155            Make Thuban remember path selections (at least for one application run).
156    
157            * Thuban/UI/application.py (Application.OnInit): Initialize path as a
158            attribute of application object. Path is a dictionary of
159            strings, currently with the items "data" and "projection".  
160            (Application.SetPath): New, stores path for the specified item.
161            (Application.Path): New, return path for the specified item.
162    
163            * Thuban/UI/mainwindow.py
164            (MainWindow.OpenSession, MainWindow.SaveSessionAs,
165            MainWindow.AddLayer, MainWindow.AddRasterLayer,
166            MainWindow.TableOpen): Access "data" path information of the
167            application.
168            
169            * Thuban/UI/projdialog.py (ProjFrame._OnImport, ProjFrame._OnExport):
170            Access "projection" path information of the application.
171    
172    2004-01-05  Bernhard Herzog  <[email protected]>
173    
174            * po/ru.po: Updated translations from Alex Shevlakov
175    
176    2004-01-05  Bernhard Herzog  <[email protected]>
177    
178            * po/Makefile, po/README: Move the description of how to generate
179            the translation statistics to the README.
180    
181    2003-12-23  Bernhard Herzog  <[email protected]>
182    
183            * NEWS: Update for 1.0.0
184    
185            * po/it.po: Another update from Maurizio Napolitano
186    
187    2003-12-23  Bernhard Herzog  <[email protected]>
188    
189            * po/it.po: Updated translation from Maurizio Napolitano
190    
191    2003-12-23  Bernhard Herzog  <[email protected]>
192    
193            * Thuban/UI/join.py (JoinDialog.__init__): Mark one more string
194            for translation
195    
196            * Thuban/UI/mainwindow.py (MainWindow.TableRename)
197            (MainWindow.RenameMap, MainWindow.RenameLayer): Mark some more
198            strings for translation
199    
200            * po/de.po: Update with the newly marked strings.
201    
202    2003-12-22  Bernhard Herzog  <[email protected]>
203    
204            * HOWTO-Release: Fix the places where version numbers have to be
205            updated
206    
207    2003-12-22  Bernhard Herzog  <[email protected]>
208    
209            * setup.py (setup call): 1.0.0, yeah!
210    
211            * Thuban/version.py (longversion): 1.0.0, yeah!
212    
213            * Thuban/Model/load.py (SessionLoader.__init__): Accept the
214            1.0.0 namespace too
215    
216            * Thuban/Model/save.py (SessionSaver.write_session): Save with
217            1.0.0 namespace
218    
219            * test/test_load.py (LoadSessionTest.dtd)
220            (TestSingleLayer.file_contents)
221            (TestNonAsciiColumnName.file_contents)
222            (TestLayerVisibility.file_contents)
223            (TestClassification.file_contents, TestLabels.file_contents)
224            (TestLayerProjection.file_contents)
225            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
226            (TestLabelLayer.file_contents, TestPostGISLayer.file_contents)
227            (TestPostGISLayerPassword.file_contents)
228            (TestLoadError.file_contents, TestLoadError.test): Update for
229            1.0.0 namespace
230    
231            * test/test_save.py (SaveSessionTest.dtd)
232            (SaveSessionTest.testEmptySession)
233            (SaveSessionTest.testSingleLayer)
234            (SaveSessionTest.testLayerProjection)
235            (SaveSessionTest.testRasterLayer)
236            (SaveSessionTest.testClassifiedLayer)
237            (SaveSessionTest.test_dbf_table)
238            (SaveSessionTest.test_joined_table)
239            (SaveSessionTest.test_save_postgis): Update for 1.0.0 namespace
240    
241    2003-12-22  Bernhard Herzog  <[email protected]>
242    
243            * Thuban/Model/load.py (SessionLoader.start_label): Make sure the
244            alignment flags are byte strings not unicode and that they have
245            valid values
246    
247            * test/test_load.py (TestLabelLayer): New. Test loading (and
248            indirectly saving) of maps with labels.
249    
250    2003-12-22  Bernhard Herzog  <[email protected]>
251    
252            * Thuban/UI/tableview.py (TableGrid.OnDestroy)
253            (TableGrid.__init__): Handle EVT_WINDOW_DESTROY in the grid to
254            unsubscribe all subscribers.
255            (LayerTableFrame.OnDestroy): Do not unsubscribe any messages from
256            self.grid since it may already have been destroyed.
257            Fixes RT #2256
258    
259    2003-12-19  Bernhard Herzog  <[email protected]>
260    
261            * po/fr.po, po/es.po: Updated translations from Daniel Calvelo
262    
263    2003-12-16  Bernhard Herzog  <[email protected]>
264            
265            * debian/bitmappath.patch, debian/setup.py.patch:
266                    added to ensure compliance with FHS for debian
267            * debian/rules, debian/changelog:
268                added patches in rules to ensure compliance with FHS for debian
269    
270    2003-12-16  Bernhard Herzog  <[email protected]>
271    
272            * po/Makefile (mo): Make the output a bit nicer so that it prints
273            statistics about the translations. Add a comment how produce even
274            nicer statistics with sed.
275    
276    2003-12-09  Frank Koormann   <[email protected]>
277    
278            * Resources/Projections/defaults.proj:
279            French projection sample with correct accents (UNICODE).
280    
281    2003-12-05  Bernhard Herzog  <[email protected]>
282    
283            * MANIFEST.in: Add the devtools directory
284    
285            * setup.py (setup call): Use license instead of licence. This
286            silences a deprecation warning on Python 2.3
287    
288    2003-12-05  Frank Koormann   <[email protected]>
289    
290            Documentation synced with 1.0rc1
291    
292            * Doc/manual/thuban-manual.xml:
293            Minor formatting changes and references to database layers .
294            Introduction.Internationalization: New section on i18n.
295            MapManagement.AddingandRemovingLayers: Added item on database layers.  
296            MapManagement.TheLegend: Added section and screenshot on popup menu.
297            ProjectionManagement: Updated screenshot and sentence on EPSG.
298            Appendix.SupportedDataSources: Added PostGIS.
299            Appendix.WorkingwithPostGIS: New section.
300    
301            * Doc/manual/images/6_projection.png: Updated screenshot including
302            EPSG checkboxes.
303    
304            * Doc/manual/images/3_5_popup_menu.png: New, popup menu screenshot.
305    
306            * Doc/manual/images/app_postgis_add_layer.png,
307            Doc/manual/images/app_postgis_db_add.png,
308            Doc/manual/images/app_postgis_db_management.png:
309            New screenshots focussing on database layers
310    
311    2003-12-05  Frank Koormann   <[email protected]>
312    
313            * Thuban/UI/projdialog.py (load_user_proj): If user.proj is missing
314            write warning to stderr instead of rising a warning dialog
315    
316    2003-12-03  Bernhard Herzog  <[email protected]>
317    
318            Fix for RT #2243
319    
320            * Thuban/UI/mainwindow.py (MainWindow.has_selected_shape_layer):
321            New. Like has_selected_layer but for shape layers only
322            (_has_selected_shape_layer): New. Like _has_selected_layer but for
323            shape layers only
324            (layer_show_table command, layer_jointable command): Use these
325            commands should only be available for shape layers
326    
327    2003-12-03  Bernhard Herzog  <[email protected]>
328    
329            * Thuban/UI/mainwindow.py (MainWindow.Unsubscribe): Deal with
330            publishers that are wx objects and may have been destroyed by wx
331            already. Fixes RT #2242.
332    
333    2003-12-03  Bernhard Herzog  <[email protected]>
334    
335            * po/ru.po: Updates from Alex Shevlakov
336    
337    2003-12-03  Silke Reimer <silkeintevation.de>
338    
339            * debian/control, debian/changelog: Added gdal-support to
340                    debian package, updated to new thuban version
341    
342    
343    2003-12-03  Bernhard Herzog  <[email protected]>
344    
345            * Thuban/Lib/version.py: New. Module for version number
346            manipulations. The version of make_tuple here also deals better
347            with more unusual version number strings, such as e.g.
348            "1.2+cvs20031111"
349    
350            * Thuban/version.py (make_tuple): Removed. It's now in
351            Thuban.Lib.version. Use that implementation instead.
352    
353            * test/test_lib_version.py: New. Tests for Thuban/Lib/version.py
354    
355    2003-12-02  Bernhard Herzog  <[email protected]>
356    
357            * MANIFEST.in: Add debian files
358    
359            * setup.py (setup call): Add packages for the Extensions so that
360            they're installed too
361            (data_files): Add READMEs and sample data from some Extensions
362    
363            * NEWS: Add note about the extensions in binary packages
364    
365    2003-12-02  Bernhard Herzog  <[email protected]>
366    
367            * Thuban/Model/save.py (SessionSaver.write_session): Save files
368            with the thuban-1.0rc1
369    
370            * Thuban/Model/load.py (SessionLoader.__init__): Recognize the
371            thuban-1.0rc1 namespace too
372    
373            * test/test_save.py (SaveSessionTest.dtd)
374            (SaveSessionTest.testEmptySession)
375            (SaveSessionTest.testSingleLayer)
376            (SaveSessionTest.testLayerProjection)
377            (SaveSessionTest.testRasterLayer)
378            (SaveSessionTest.testClassifiedLayer)
379            (SaveSessionTest.test_dbf_table)
380            (SaveSessionTest.test_joined_table)
381            (SaveSessionTest.test_save_postgis): Update to thuban-1.0rc1
382            namespace
383    
384            * test/test_load.py (LoadSessionTest.dtd): Update to thuban-1.0rc1
385            namespace
386            (TestSingleLayer.file_contents)
387            (TestNonAsciiColumnName.file_contents)
388            (TestLayerVisibility.file_contents)
389            (TestClassification.file_contents, TestLabels.file_contents)
390            (TestLayerProjection.file_contents)
391            (TestRasterLayer.file_contents, TestJoinedTable.file_contents)
392            (TestPostGISLayer.file_contents)
393            (TestPostGISLayerPassword.file_contents)
394            (TestLoadError.file_contents, TestLoadError.test): Update to
395            thuban-1.0rc1 namespace
396    
397    2003-12-01  Bernhard Herzog  <[email protected]>
398    
399            * setup.py (proj4_prefix, wx_prefix, gdal_prefix): Fix these for
400            nt to better match Intevation's current w32 setup
401    
402            * HOWTO-Release: Add note about updating MANIFEST.in
403    
404            * MANIFEST.in: Add the Extensions
405    
406            * NEWS: Update for 1.0rc1
407    
408    2003-12-01  Bernhard Herzog  <[email protected]>
409    
410            * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Change the wild
411            cards for the dialog so that shapefiles ending in all uppercase
412            SHP are listed too
413    
414    2003-11-28  Bernhard Herzog  <[email protected]>
415    
416            * Thuban/version.py (longversion): Update to 1.0rc1
417    
418            * setup.py (setup call): Update version to 1.0rc1. Use the
419            [email protected] email address as author email instead of my
420            personal one.
421    
422    2003-11-28  Bernhard Herzog  <[email protected]>
423    
424            * po/de.po: Update german translation.
425    
426    2003-11-28  Bernhard Herzog  <[email protected]>
427    
428            Unify the filenames stored in .thuban files so that the .thuban
429            files are more platform independend
430    
431            * Thuban/Model/save.py (unify_filename): New. Unify filenames so
432            that they can be used on both windows and unix
433            (SessionSaver.prepare_filename): New. Handle all filename
434            transformations for filenames stored in the thuban file
435            (SessionSaver.write_data_containers, SessionSaver.write_layer):
436            Use prepare_filename
437    
438            * test/test_save.py (SaveSessionTest.testSingleLayer)
439            (SaveSessionTest.testLayerProjection)
440            (SaveSessionTest.testRasterLayer)
441            (SaveSessionTest.testClassifiedLayer)
442            (SaveSessionTest.test_dbf_table)
443            (SaveSessionTest.test_joined_table): Filenames are always stored
444            with slashes on all currently supported platforms so adapt all
445            tests to this
446    
447            * test/test_load.py (LoadSessionTest.filenames): With the new
448            filename scheme the filenames in the tests should be
449            understandable on all currently supported platforms so we turn
450            this into an empty list because we don't have to normalize them
451            anymore
452    
453    2003-11-28  Bernhard Herzog  <[email protected]>
454    
455            * test/test_layer.py (TestLayer.test_arc_layer_with_projection):
456            Add the ellipsoid to the projection since some Proj versions
457            complain if it's missing.
458    
459    2003-11-27  Bernhard Herzog  <[email protected]>
460    
461            Corect some bounding box projection problems
462    
463            * Thuban/Model/proj.py (Projection.InverseBBox): New. Inverse
464            version of ForwardBBox
465            (Projection._transform_bbox): New. common implementation of
466            ForwardBBox and InverseBBox
467            (Projection.ForwardBBox): Use _transform_bbox.
468    
469            * test/test_proj.py (TestProjection.test): Add test for
470            InverseBBox
471    
472            * Thuban/Model/layer.py (Layer.LatLongBoundingBox)
473            (Layer.ShapesBoundingBox, RasterLayer.LatLongBoundingBox): Use the
474            new InverseBBox method to determine the unprojected bounding box
475            (Layer.ShapesInRegion): Use the ForwardBBox method to project the
476            bbox.
477    
478            * test/test_layer.py (TestLayer.test_point_layer_with_projection):
479            Removed.
480            (TestLayer.test_arc_layer_with_projection): New. This test is
481            better able to test whether bounding boxes are projected correctly
482            than test_point_layer_with_projection
483    
484            * Thuban/UI/viewport.py (ViewPort.map_projection_changed): Use
485            InverseBBox to unproject bboxes
486    
487    2003-11-25  Bernhard Herzog  <[email protected]>
488    
489            * Thuban/UI/about.py (About.__init__): Make sure we have ASCII
490            source code.
491    
492    2003-11-25  Bernhard Herzog  <[email protected]>
493    
494            * Thuban/Model/layer.py (Layer.__getattr__): Removed. It was only
495            there for backwards compatibility and all code relying on that
496            should have been updated by now.
497    
498    2003-11-25  Bernhard Herzog  <[email protected]>
499    
500            * test/test_load.py (TestClassification.test): Add the missing
501            round trip test.
502            (TestClassification.file_contents): Update to the newest file
503            format
504    
505    2003-11-25  Bernhard Herzog  <[email protected]>
506    
507            Add very experimental (and possibly dangerous) extension to draw
508            polygons:
509    
510            * Extensions/drawshape/README: New. Brief installation
511            instructions
512    
513            * Extensions/drawshape/drawshape.py: New. Implementation of the
514            drawshape extensions
515    
516            * Extensions/drawshape/patch.diff: Patch to apply before the
517            extension can be used.
518    
519    2003-11-24  Bernhard Herzog  <[email protected]>
520    
521            * Thuban/Model/data.py (ShapefileStore._open_shapefile)
522            (ShapefileStore.__init__): Factor opening the shapefile into a
523            separate method (the new _open_shapefile). This makes the code a
524            bit more readable but the real reason is that it makes some evil
525            hacks easier. :-)
526    
527    2003-11-24  Bernhard Herzog  <[email protected]>
528    
529            * Thuban/Model/load.py (SessionLoader.check_attrs): If no
530            converter is specified for an attribute assume it's a string
531            containing only Latin1 characters. Update doc-string accordingly.
532            This change should fix many places where unicode objects might
533            accidentally enter Thuban.
534    
535            * test/test_load.py (TestNonAsciiColumnName): New test to check
536            what happens with column names in DBF files that contain non-ascii
537            characters
538    
539    2003-11-21  Bernhard Herzog  <[email protected]>
540    
541            Enable the experimental attribute editing again and introduce a
542            command line switch to actually activate it
543    
544            * Thuban/UI/main.py (options): New. Container for options set on
545            the commmand line
546            (main): Add the --enable-attribute-editing flag.
547    
548            * Thuban/UI/identifyview.py (IdentifyView.__init__): If attribute
549            editing is enabled use the grid ctrl which allows editing of the
550            values
551    
552            * Thuban/Model/transientdb.py (AutoTransientTable.write_record):
553            New. Just delegate this to the underlying table.
554    
555    2003-11-20  Bernhard Herzog  <[email protected]>
556    
557            * test/test_proj.py (ProjFileReadTests.test_read_unreadable_file):
558            Skip this test if run under non-posix systems since it only works
559            there
560    
561    2003-11-19  Bernhard Herzog  <[email protected]>
562    
563            * Thuban/Model/resource.py: Rework the way gdal support is
564            determined so that we can give a reason in the about why gdal is
565            not supported.
566            (gdal_support_status): New. Variable holding a string with the
567            reason for no gdal support
568    
569            * Thuban/UI/about.py (About.__init__): Add the reason why gdal is
570            not supported to the message
571    
572    2003-11-19  Bernhard Herzog  <[email protected]>
573    
574            Remove the old table interface and its test cases
575    
576            * Thuban/Model/table.py (OldTableInterfaceMixin): Removed.
577            (DBFTable, MemoryTable): Do not derive from OldTableInterfaceMixin
578            anymore
579    
580            * Thuban/Model/transientdb.py (TransientTableBase)
581            (AutoTransientTable): Do not derive from OldTableInterfaceMixin
582            anymore
583    
584            * test/test_table.py: Removed since the old interface it tests is
585            gone.
586    
587            * test/runtests.py (main): The old table interface is gone and
588            with it the deprecation warnings so remove the code that turns
589            these warnings into errors
590    
591    2003-11-19  Bernhard Herzog  <[email protected]>
592    
593            * test/test_table.py: Revert to revision 1.5 again. Changing the
594            tests to use the new table interface is completely wrong since the
595            whole purpose of the tests in this module is to test the old
596            interface.
597    
598    2003-11-18  Bernhard Herzog  <[email protected]>
599    
600            * Thuban/Model/postgisdb.py (PostGISConnection.MatchesParameters):
601            New. Test whether the connection matches a set of connection
602            parameters
603    
604            * Thuban/UI/dbdialog.py (DBFrame.conns_changed): Fix doc-string
605            (DBFrame.OnAdd): Use the new MatchesParameters method when looking
606            for existing connections with the same parameters and break out of
607            the loop correctly.
608    
609            * test/test_postgis_db.py (TestBriefDescription)
610            (TestPostGISSimple.test_brief_description): Rename
611            TestBriefDescription to TestPostGISSimple and the test method to
612            test_brief_description so that we can add more test methods.
613            (TestPostGISSimple.test_matches_parameters): New. Test the new
614            MatchesParameters method
615    
616    2003-11-18  Bernhard Herzog  <[email protected]>
617    
618            * Thuban/Lib/connector.py (Publisher): Introduce a new flag,
619            _was_destroyed, to indicate whether an publisher instance has
620            already been destroyed.
621            (Publisher.Unsubscribe): Only disconnect if the publisher has not
622            been destroyed yet.
623            (Publisher.Destroy): Set the _was_destroyed flag to true.
624    
625            * test/test_connector.py
626            (TestPublisher.test_unsubscribe_after_destroy): New. Test that
627            calling Unsubscribe after Destroy doesn't raise an exception
628    
629    2003-11-14  Bernhard Herzog  <[email protected]>
630    
631            * Thuban/UI/identifyview.py (IdentifyView.selected_shape): Fix
632            typo in doc-string
633    
634    2003-11-13  Bernhard Herzog  <[email protected]>
635    
636            Quote table and column names properly for postgis.
637    
638            * Thuban/Model/postgisdb.py (quote_identifier): New. Function to
639            quote an identifier for use in an sql statement
640            (PostGISColumn.__init__): Add the quoted_name attribute
641            (PostGISTable.__init__): New instance variable quoted_tablename
642            (PostGISTable._fetch_table_information): Use the quoted table
643            name. New isntance variable quoted_geo_col with a quoted version
644            of geometry_column
645            (PostGISTable.NumRows, PostGISTable.RowIdToOrdinal)
646            (PostGISTable.RowOrdinalToId): Use the quoted table name
647            (PostGISTable.ReadValue, PostGISTable.ValueRange)
648            (PostGISTable.UniqueValues, PostGISTable.SimpleQuery)
649            (PostGISShapeStore.BoundingBox, PostGISShapeStore.Shape)
650            (PostGISShapeStore.AllShapes, PostGISShapeStore.ShapesInRegion):
651            Use quoted table and column names
652    
653            * test/test_postgis_db.py (TestPostGISSpecialCases)
654            (TestPostGISIgnoredColumns): Rename the class to
655            TestPostGISSpecialCases because that better describes the new
656            cases
657            (TestPostGISSpecialCases.test_unsupported_types)
658            (TestPostGISSpecialCases.test): Rename the method to
659            test_unsupported_types because we need a more descriptive name now
660            that there are more methods
661            (TestPostGISSpecialCases.test_table_name_quoting)
662            (TestPostGISSpecialCases.test_column_name_quoting)
663            (TestPostGISSpecialCases.test_shapestore_name_quoting): New test
664            cases to test quoting of table and column names in PostGISTable
665            and PostGISShapeStore
666    
667            * test/postgissupport.py
668            (skip_if_addgeometrycolumn_does_not_use_quote_ident): New. Skip if
669            AddGeometryColumn desn't support table or column names with sapces
670            or double quotes
671    
672    2003-11-12  Jan-Oliver Wagner <[email protected]>
673    
674            * Extensions/wms/__init__.py: New: Init to make this
675            directory a package.
676    
677            * Extensions/wms/wms.py: New: Provide layers via OGC WMS.
678    
679    2003-11-11  Bernhard Herzog  <[email protected]>
680    
681            * Thuban/Model/resource.py (EPSG_DEPRECATED_PROJ_FILE): New.
682            Constant for the file woth deprecated epsg projections
683            (get_system_proj_file): Update doc-string
684    
685            * Thuban/UI/projdialog.py (ProjFrame.build_dialog): Add a space
686            above the EPS widgets, introduce a check box for the deprecated
687            eps projections and a label for the epsg widgets
688            (ProjFrame._OnShowEPSG): Handle the deprecated EPSG projections
689            too
690    
691    2003-11-11  Bernhard Herzog  <[email protected]>
692    
693            Avoid warnings when run under Python 2.3
694    
695            * Thuban/UI/baserenderer.py (BaseRenderer.draw_point_shape)
696            (BaseRenderer.draw_label_layer): Coordinates must be ints.
697    
698            * Thuban/UI/renderer.py (MapRenderer.make_point): Turn this into a
699            real method so that we can convert to int.
700            (MapRenderer.label_font): The font size mist be an int.
701    
702            * Thuban/UI/common.py (Color2wxColour): The color values must be
703            ints. Also, remove the unnecessary asserts.
704    
705            * test/test_load_0_8.py (TestUnicodeStrings.file_contents)
706            (TestUnicodeStrings.test): Python source code should not contain
707            non-ascii characters unless an encoding is specified in the file.
708            Therefore use \x escapes in the string literals for non-ascii
709            characters.
710    
711    2003-11-11  Bernhard Herzog  <[email protected]>
712    
713            * Thuban/Model/resource.py (get_system_proj_file): Add a filename
714            parameter so that this function can be used for all proj files in
715            Resource/Projections
716            (DEFAULT_PROJ_FILE, EPSG_PROJ_FILE): New. Predefined filenames for
717            get_system_proj_file
718    
719            * Thuban/UI/projdialog.py (ProjFrame.__init__): Instead of one
720            ProjFile self.__sysProjFile use a dictionary of system ProjFile
721            objects self._sys_proj_files
722            (ProjFrame.build_dialog): Adapt to the new changes in the
723            ProjectionList constructor. Add a check button to toggle whether
724            EPSG projections are shown
725            (ProjFrame._OnShowEPSG): New. Handler for the epsg check button
726            events.
727            (ProjFrame.load_user_proj, ProjFrame.load_system_proj): Only show
728            the busy cursor if the files have not yet been loaded by the
729            dialog.
730            (ProjFrame.load_system_proj): Add a parameter for the name of the
731            proj file. Maintain the dictionary of system projections
732            self._sys_proj_files
733    
734            * Thuban/UI/projlist.py (ProjectionList): Merge the system_projs,
735            user_projs parameters into one parameter proj_files which is a
736            list of proj files.
737            (ProjectionList._subscribe_proj_files)
738            (ProjectionList._unsubscribe_proj_files): New. Move
739            subscription/unsubscription of projfile messages to separate
740            methods
741            (ProjectionList.Destroy): The unsubscribe is now done in
742            _unsubscribe_proj_files
743            (ProjectionList.update_projections): We now have a list of proj
744            file objects
745            (ProjectionList.SetProjFiles): New method to set a new list of
746            proj file objects
747    
748            * test/test_proj.py (ProjFileReadTests.test_get_system_proj_file):
749            Specify explicitly which system proj file to load.
750    
751    2003-11-11  Bernhard Herzog  <[email protected]>
752    
753            * Thuban/Model/load.py (SessionLoader.Destroy): New. Clear all
754            instance variables to cut cyclic references. The GC would have
755            collected the loader eventually but it can happen that it doesn't
756            run at all until thuban is closed (2.3 but not 2.2 tries a bit
757            harder and forces a collection when the interpreter terminates)
758            (load_session): Call the handler's Destroy method to make sure
759            that it gets garbage collected early. Otherwise it will be
760            collected very late if at all and it holds some references to e.g.
761            shapestores and the session which can lead to leaks (of e.g. the
762            temporary files)
763    
764            * test/test_load.py (TestSingleLayer.test_leak): New. test for the
765            resource leak in load_session
766    
767    2003-11-10  Bernhard Herzog  <[email protected]>
768    
769            * Thuban/UI/baserenderer.py: Add a way to specify how layers in
770            extensions are to be rendered.
771            (_renderer_extensions): New. List with renderer for layers in
772            extensions
773            (add_renderer_extension): New. Add a renderer extension
774            (init_renderer_extensions): New. Init the renderer extensions
775            (BaseRenderer.render_map_incrementally): Search
776            _renderer_extensions for how to draw unknown layer types
777            (BaseRenderer.draw_raster_data): Add format parameter so that
778            formats other than BMP can be drawn
779            (BaseRenderer.draw_raster_layer): Pass an explicit format to
780            draw_raster_data
781    
782            * Thuban/UI/renderer.py (raster_format_map): New. Mapping form the
783            strings of the format parameter of draw_raster_data method to wx
784            constants
785            (MapRenderer.draw_raster_data): Add the format parameter and use
786            raster_format_map to map it to the right wxwindows constant for
787            wxImageFromStream
788    
789            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Add
790            the format parameter and record it
791            (TestBaseRenderer.test_raster_no_projection): check the format
792            paramter of the draw_raster_data method
793            (TestBaseRenderer.test_renderer_extension): New. Test the renderer
794            extension facility
795    
796  2003-11-07  Bernhard Herzog  <[email protected]>  2003-11-07  Bernhard Herzog  <[email protected]>
797    
798          Tweak the usage of the sqlite database to make common use cases          Tweak the usage of the sqlite database to make common use cases

Legend:
Removed from v.1925  
changed lines
  Added in v.2077

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26