/[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 2412 by jan, Sat Nov 20 21:58:58 2004 UTC revision 2562 by jonathan, Wed Feb 16 21:14:47 2005 UTC
# Line 1  Line 1 
1    2005-02-16  Jonathan Coles <[email protected]>
2    
3            Further wxPython 2.5 changes using patches from Daniel Calvelo Aros
4            so that that wxproj doesn't crash. Added GUI support for selecting
5            alpha channel (opacity can't be selected yet).
6    
7            NOTE: If wxPython.h is including in future distribution packages
8            then it will not be necessary to have the files swigPtrConvertHack.h
9            and wxPython_int.h included with Thuban. This is hopefully
10            a temporary workaround.
11    
12            * setup.py (thuban_build_ext.finalize_options): gdalwarp needs
13            access to the macro wxCHECK_VERSION so that it will properly
14            generate a bit mask. There was a problem between wx2.4 and wx2.5
15            that this works around.
16    
17            * Thuban/Model/layer.py (RasterLayer.UseMask): Removed in favor
18            of RasterLayer.MaskType.
19            (RasterLayer.SetUseMask): Removed in favor of RasterLayer.SetMaskType
20            (RasterLayer.MaskType): New. Returns the type of mask to use. Can
21            specify none, a bitmap, or an alpha channel.
22            (RasterLayer.SetMaskType): New. Set what kind of mask to use.
23    
24            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
25            Set the raster warping options for the mask based on the value
26            of RasterLayer.MaskType.
27    
28            * Thuban/UI/legend.py (LegendTree.__FillTreeLayer): Remove
29            deprecated calls to SetItemSelectedImage in favor of SetItemImage
30            with wxTreeItemIcon_Selected.
31    
32            * Thuban/UI/rasterlayerproperties.py: Support selecting to use
33            an alpha channel for the mask.
34    
35            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Use alpha
36            data if it is available and an alpha channel is supported under
37            the current version of wxPython.
38    
39            * libraries/thuban/gdalwarp.cpp (GetImageData): Added compiler define
40            to select whether 1's or 0's select the desired portion of an image
41            in the bit mask. wx2.4 has a bug where the documentation is the opposite
42            from behavior.
43            (ProjectRasterFile): Only generate an alpha channel if the version
44            of wxPython is >= 2.5.3.
45    
46            * libraries/thuban/wxproj.cpp: Applied patches from Daniel Calvelo Aros.
47            When wxPython >= 2.5.3 use the special swig functions to decode an
48            object's address.
49    
50            * libraries/thuban/swigPtrConvertHack.h: Includes conditional code
51            based on the version of wxPython. If >= 2.5.3 use the special swig
52            functions from wxPython to decode wxPython objects, otherwise use
53            the old method of retrieving the address from the object __repr__ string.
54    
55            * libraries/thuban/wxPython_int.h: Copied from wxPython source.
56            Unnecessary code was removed to make it smaller.
57    
58            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
59            Add tests for returning an alpha channel.
60    
61            * test/test_layer.py (TestLayerModification.test_raster_layer): Fix
62            tests that used removed functions UseMask and SetUseMask
63    
64    
65    2005-02-08  Bernhard Herzog  <[email protected]>
66    
67            More wxPython 2.5 changes.  This time taken from a patch from
68            Daniel Calvelo Aros.
69    
70            * Thuban/UI/tableview.py (QueryTableFrame.__init__)
71            (QueryTableFrame.__init__): Pass the size of a spacer as a single
72            item.
73    
74            * Thuban/UI/projdialog.py (ProjFrame.build_dialog)
75            (ProjFrame.build_dialog): Pass the size of a spacer as a single
76            item.
77    
78            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Pass the
79            size of a spacer as a single item.
80    
81            * Thuban/UI/classifier.py (Classifier.dialog_layout): Pass the
82            size of a spacer as a single item.
83    
84    2005-02-08  Bernhard Herzog  <[email protected]>
85    
86            Compatibility with wxPython 2.5.  The changes should make it work
87            better with 2.5 while still keeping compatibility with 2.4.  There
88            are still problems with 2.5, though.
89    
90            * Thuban/UI/dock.py (DockableWindow.__CreateBorder): Pass the size
91            of a spacer as a single item.
92    
93            * Thuban/UI/classifier.py (ClassGroupPropertiesCtrl): Derive only
94            from wxControl
95    
96            * Thuban/UI/legend.py (LegendTree): When running with wxPython <
97            2.5, add an implementation of the GetFirstChild method that does
98            not require the second parameter.
99            (LegendTree.find_layer, LegendTree._OnMsgMapLayersAdded)
100            (LegendTree._OnMsgMapLayersRemoved, LegendTree.DeleteAllItems)
101            (LegendTree.DeleteChildren, LegendTree.__ShowHideLayer): Do not
102            pass the second parameter to GetFirstChild
103    
104    2005-02-08  Nina H�ffmeyer <[email protected]>
105    
106            * Extensions/ogr/ogrshapes.py: Removed some print commands.
107    
108            * Extensions/ogr/ogrstart.py: Changed the GUI. OGR is no longer an
109            additional menu but appears as a possibility in the menu Map.
110    
111    2005-02-07  Jonathan Coles <[email protected]>
112            * libraries/thuban/gdalwarp.cpp: Removed the macros PYTHON_ERR
113            and PYTHON_ERRF since they were no longer necessary.
114    
115    2005-02-07  Bernhard Reiter <[email protected]>
116            * Thuban/UI/classifier.py (ClassGrid.DeleteSelectedRows):
117            Enable translation for message string.
118    
119    2005-02-06  Martin Schulze  <[email protected]>
120    
121            * Extensions/wms/infodialog.py (wmsInfoDialog.__init__): Adjusted
122            the arguments of the contstructor to fit the global scheme
123    
124    2005-01-31  Nina H�ffmeyer <[email protected]>
125    
126            * Extensions/ogr/ogrdialog.py: Added class ogrdialog.py, which provides
127            some dialogs needed to start ogr.
128            
129            * Extensions/ogr/__init__.py: Changed comments to avoid encoding
130            warnings.
131    
132            * Extensions/ogr/test/test_OGRShapestore.py: Changed comments to avoid
133            encoding warnings.
134    
135    2005-01-28  Jonathan Coles <[email protected]>
136    
137            * libraries/thuban/gdalwarp.cpp (GetImageData): Recode how the
138            mask is packed into a bit array. It's now slightly faster.
139    
140    2005-01-28  Jonathan Coles <[email protected]>
141    
142            * Thuban/Model/layer.py (RasterLayer.__init__): Make use_mask
143            default to true.
144    
145            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Remove
146            code that loads the state of the layer's use_mask flag. Its
147            usefulness is still being debated.
148    
149            * Thuban/Model/save.py (SessionSaver.write_layer): Remove
150            code that saves the state of the layer's use_mask flag. Its
151            usefulness is still being debated.
152    
153            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Pass
154            options to ProjectRasterFile based on the state of layer.UseMask().
155            Catch more exceptions from ProjectRasterFile so that Thuban doesn't
156            quit is there is a problem projecting.
157            (BaseRenderer.draw_raster_data): Change the documentation to
158            describe the new format (XBM) that the mask data will be in.
159    
160            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): The mask
161            data is in XBM format when format='RAW' which means it doesn't
162            need to be converted to a wxImage before being used as a mask
163            for a wxBitmap. Assume that if format != 'RAW' that the image
164            data and mask data are in the same format.
165    
166            * libraries/thuban/gdalwarp.cpp (GetImageData): If alpha is enabled
167            and a mask is requested, convert the alpha band to a bit array in
168            XBM format. if an alpha channel is requested, simply return the
169            data in the alpha band. Provide better error handling by returning
170            python error messages (also fixes RT #2947).
171            (ProjectRasterFile): Support multiple mask options, rather than simply
172            a flag indicating that a mask should or should not be used. Provide
173            better error handling by returning python error messages.
174    
175            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
176            Add mask data to test.
177    
178            * test/test_layer.py (TestLayer.test_raster_layer): Test that a layer
179            should use the mask by default.
180            (TestLayerModificaton.test_raster_layer): Test that a layer should use
181            the mask by default.
182    
183            * test/test_load.py (TestRasterLayer.test): Remove testing for
184            use_mask flag in file.
185    
186            * test/test_save.py (SaveSessionTest.testRasterLayer): Remove testing
187            for use_mask in file.
188    
189            * test/test_load_1_0_1.py: Removed. Shouldn't have been checked in.
190            
191    2005-01-26  Jonathan Coles <[email protected]>
192    
193            Add a new dialog box for raster layers. The dialog box allows
194            the user to toggle a mask that is generated by ProjectRasterFile
195            and is used to only draw the real parts of the projected image.
196    
197            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
198            Instruct the warping code to generate a mask if the raster layer
199            requests one.
200            (BaseRenderer.draw_raster_data): Removed obsolete optional mask argument.
201    
202            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Removed
203            obsolete optional mask argument.
204    
205            * Thuban/UI/classifier.py (Classifier): Change the parent class
206            to LayerProperties and rework the code to support layout calls
207            from the parent.
208            (Classifier.dialog_layout): New. Layout the dialog box.
209            (Classifier.map_layers_removed): Removed. Moved to parent class.
210            (Classifier.map_replaced): Removed. Moved to parent class.
211            (Classifier._OnTry): Renamed to OnTry to support parent class.
212            (Classifier.OnClose): Removed. Supplied in parent class.
213            (Classifier._OnCloseBtn): Removed. Supplied in parent class as OnCloseBtn.
214            (Classifier._OnOK): Renamed to OnOK to support parent class.
215            (Classifier._OnRevert): Renamed to OnRevert to support parent class.
216    
217            * Thuban/UI/layerproperties.py: New. Base class for layer properties
218            dialog boxes.
219    
220            * Thuban/UI/rasterlayerproperties.py: New. Class for displaying
221            raster layer properties.
222    
223            * libraries/thuban/gdalwarp.cpp: Replace the old gdalwarp.cpp code
224            with the non-simple version supplied with gdal. This allows added
225            features such as creating an alpha band.
226            (GetImageData): Generate a mask array from the alpha band that is
227            generated by gdal if the user has selected it. Try to support images
228            that have more than three bands, such as images with RGB plus an
229            alpha band.
230            (ProjectRasterFile): Convert python argument for mask and tell
231            gdal to enable or disable an alpha band.
232    
233            * Thuban/Model/layer.py (BaseLayer.Type): New. Returns a string
234            describing what kind of layer the class is. Defaults to "Unknown",
235            but should be overridden by subclasses.
236            (Layer.Type): New. Override base class method.
237            (RasterLayer.__init__): Create a flag for using a mask. Record extra
238            data from gdal for display in the properties dialog.
239            (RasterLayer.Type): New. Override base class method.
240            (RasterLayer.UseMask): New. Returns True if the mask should be used.
241            (RasterLayer.SetUseMask): New. Set if the mask should be used.
242            (RasterLayer.ImageInfo): New. Return extra information about the image.
243    
244            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Load
245            the mask information.
246    
247            * Thuban/Model/save.py (SessionSaver.write_layer): Save mask information.
248    
249            * Thuban/UI/mainwindow.py: Register the RasterLayerProperties and
250            Classifier classes as dialogs to use with the proper layer types.
251    
252            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
253            Fix test.
254    
255            * test/test_layer.py (TestLayer.test_raster_layer): Test new methods.
256            (TestLayerModification.build_path): New. Support function.
257            (TestLayerModification.test_raster_layer): New. Test new methods.
258    
259            * test/test_save.py (SaveSessionTest.testRasterLayer): Add tests for mask.
260    
261            * test/test_load.py (TestRasterLayer): Add tests for mask.
262    
263            * test/test_load_1_0_1.py: New. Copied from test_load.py.
264    
265            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Removed
266            obsolete optional mask argument.
267    
268    2005-01-26  Nina H�ffmeyer <[email protected]>
269    
270            * Extensions/ogr/ogrshapes.py: Added two dictionaries to ShapeStore
271            which maps the ids and the ordinals. Fixed RowIdToOrdinal(),
272            RowOrdinalToId() and ReadRowAsDict().
273    
274            * Extensions/ogr/ogrstart.py: Added menu item which opens database
275            layers for existing database connections.
276    
277            * Extensions/ogr/test/test_OGRShapestore.py: Fixed a message string.
278    
279    
280    2005-01-26  Jan-Oliver Wagner <[email protected]>
281    
282            * Doc/manual/thuban-manual-de.xml: More translations.
283    
284    2005-01-24  Bernhard Herzog  <[email protected]>
285    
286            Rework the status bar updates a bit to make sure the message about
287            the projections is produced at the right times.
288    
289            * Thuban/UI/mainwindow.py (MainWindow.update_status_bar_messages):
290            New class variable with messages that may require a status bar
291            update.
292            (MainWindow.view_position_changed)
293            (MainWindow.update_status_bar): Rename from view_position_changed
294            to update_status_bar.  It's meaning has changed now that it may
295            also generate messages about problems with projection settings.
296            (MainWindow.__init__): Use the new update_status_bar_messages
297            class variable to subscribe update_status_bar
298            (MainWindow.set_position_text): Update doc-string.  This method
299            has to be renamed at some point.  See doc-string and comments.
300            (MainWindow.OnClose): Unsubscribe update_status_bar from all
301            messages in update_status_bar_messages
302    
303            * Thuban/UI/viewport.py (ViewPort.forwarded_map_messages): New
304            class attribute.  map messages to be forwarded by the viewport.
305            (ViewPort._subscribe_map, ViewPort._unsubscribe_map): (un)subscribe
306            the messages in forwarded_map_messages
307    
308    2005-01-21  Bernhard Herzog  <[email protected]>
309    
310            * test/postgissupport.py (PostGISDatabase.__init__): Tweak
311            doc-string
312            (find_postgis_sql): Update for postgis-1.0.0-rc1, which uses a
313            different name for the initialization SQL file.
314    
315    2005-01-21  Jonathan Coles <[email protected]>
316    
317            * Thuban/UI/baserenderer.py (proj_params_to_str): New. Takes
318            a projection and returns a formatted string representing the
319            parameters to feed to gdalwarp. This function eliminates
320            redundancy in draw_raster_layer().
321            (BaseRenderer.render_map_incrementally): Removed the optimization which
322            drew the top most raster layer first and then only those vector-
323            based layers that are above it. With the support for transparency
324            this optimization breaks correct behaviour.
325            (BaseRenderer.draw_raster_layer): Reorganize code to support possible
326            future enhancements to raster layer bounding box. The old behaviour has
327            not changed. Also, change calling parameters to draw_raster_data()
328            to specify new RAW data format and mask.
329            (BaseRenderer.draw_raster_data): Change signature to include an optional
330            parameter for mask information. Change documentation to mention
331            support for new parameter and added option for RAW data format.
332            The data argument is now a list of [width, height, data].
333    
334            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Add new optional
335            mask parameter. Add new condition for RAW format, which
336            significantly reduces rendering time. Add condition for
337            mask parameter.
338    
339            * libraries/thuban/gdalwarp.cpp (GetImageData): New. Creates a
340            data array of RGB values from the projected image returned from
341            the gdal warping functions. In the case of palette based images, it
342            converts the NO_DATA index to the mask color.
343            (ProjectRasterFile): Removed all custom memory driver references
344            and replaced it with the standard in-memory dataset provided
345            by gdal. The return data is no longer a BMP file, but an array
346            of RGB values, one set triple per pixel.
347    
348            * libraries/thuban/bmpdataset.cpp: Removed. Unnecessary.
349            * libraries/thuban/cpl_mfile.h: Removed. Unnecessary.
350            * libraries/thuban/cpl_mfile.cpp: Removed. Unnecessary.
351    
352            * setup.py (thuban_build_ext.finalize_options): Removed mention
353            of cpl_mfile.cpp and bmpdataset.cpp files in the list of source
354            files. These are obsolete with the new version of gdalwarp.cpp
355    
356            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data):
357            Updated signature.
358            (TestBaseRenderer.test_raster_no_projection): Changed the test
359            data to be data in the uncompressed RAW format returned from
360            ProjectRasterFile.
361    
362    2005-01-21  Jan-Oliver Wagner <[email protected]>
363    
364            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Made
365            string available for i18n.
366    
367    2005-01-20  Russell Nelson  <[email protected]>
368    
369            * Resources/Projections/defaults.proj: Ruin the speling of the
370            Lambert-93 projection so it doesn't run into the wx UTF-8 bug.
371            It's the wrong thing to do in the long run, but it's necessary for
372            those users until that bug is fixed.  Otherwise the projection
373            dialog segfaults.  Better to annoy some Lambert-93 users with a
374            spelling mistake than every Fedora Core 3 user of Thuban-CVS.
375    
376    2005-01-20  Bernhard Reiter <[email protected]>
377    
378            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Added
379            docstring and comment that the warning code here is a hack.
380    
381    2005-01-20  Russell Nelson  <[email protected]>
382    
383            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Warn
384            user about misprojected layers when their lat/lon bounding
385            box exceeds rational lat/lon values.
386    
387    2005-01-20  Bernhard Reiter <[email protected]>
388    
389            * Thuban/UI/about.py (unicodeToLocale): Improved:
390            Use 'ascii' and then 'replace' for other characters
391            when getdefaultlocale returns None. Thanks to Bernhard H. .
392    
393    2005-01-20  Bernhard Reiter <[email protected]>
394    
395            * Thuban/UI/classgen.py (GenQuantilesPanel.OnRetrieve): Added a comment
396            that OnRangeText might be called twice and using None as argument.
397    
398    2005-01-20  Bernhard Reiter <[email protected]>
399    
400            * Thuban/UI/classgen.py (GenQuantilesPanel.OnRetrieve): Add a
401            OnRangeText(0) to work around a different in wx Behaviour noticed
402            on MacOSX, thanks to Lorenzo Moretti and Daniel Calvelo for the fix.
403    
404    2005-01-20  Bernhard Reiter <[email protected]>
405    
406            * Thuban/UI/about.py: take iso-8859-15 when getdefaultlocale returns
407            None. (Fixes rt#2910.)
408            
409    2005-01-18  Frank Koormann <[email protected]>
410    
411            New Extension: mouseposition
412            Tool to collect mouse click positions (map coordinates) in a dialog.
413    
414            * Extensions/mouseposition/__init__.py: New, extension registration
415    
416            * Extensions/mouseposition/mouseposition.py: New, implements the
417            dialog and adds a tool to Thuban mainwindow.
418    
419            * Extensions/mouseposition/position.xpm: New, icon for tool.
420    
421    2005-01-14  Jan-Oliver Wagner <[email protected]>
422    
423            * Doc/manual/thuban-manual-de.xml: More translations.
424    
425    2005-01-11  Frank Koormann <[email protected]>
426    
427            * Thuban/UI/mainwindow.py (MainWindow.DuplicateLayer):
428            Fix indention bug.
429    
430    2005-01-09  Frank Koormann <[email protected]>
431    
432            * Thuban/UI/mainwindow.py (MainWindow.DuplicateLayer):
433            BugFix 2901: Explicitly copy layers ClassificationColumn since it
434            is not part of the layers Classification.
435    
436    2005-01-03  Frank Koormann <[email protected]>
437    
438            * Thuban/UI/renderer.py (ScreenRendererdraw_selection_incrementally):
439            BugFix 2883: Former implementation only worked on classified point
440            layers: KeyError was raised, now use the default size if field is None.
441    
442    2004-12-27  Bernhard Reiter <[email protected]>
443    
444            svgexport 1.0.0cvs: Fixed label export.
445    
446            * Extensions/svgexport/test/test_svgmapwriter.py:
447            class TestSVGRenderer(): New class; new test test_label_font().
448    
449            * Extensions/svgexport/svgmapwriter.py
450            (SVGRenderer.label_font()): initialised Font size with self.factor now,
451            makes test_label_font happy.
452    
453            * Extensions/svgexport/TODO: crossed out fixed label export item.
454            Added item for options.
455    
456            * Extensions/svgexport/__init__.py: Bumped version to 1.0.0cvs.
457    
458    2004-12-27  Russell Nelson  <[email protected]>
459    
460            Middle mouse button pans.
461    
462            * Thuban/UI/view.py (MapCanvas.__init__): Subscribe also
463            OnMiddleDown and OnMiddleUp events.
464            (MapCanvas.OnMiddleDown): New. Activate the pan tool and remember the
465            previously used tool.
466            (MapCanvas.OnMiddleUp): New. Reactivate the remebered tool used before
467            pressing the middle mouse button.
468    
469    2004-12-27  Jan-Oliver Wagner <[email protected]>
470    
471            * Doc/manual/thuban-manual-de.xml: More translations.
472    
473    2004-12-23  Jan-Oliver Wagner <[email protected]>
474    
475            * Thuban/UI/projdialog.py (ProjFrame.load_user_proj): Added a
476            \n to stderr after the warnings. Thanks to Russell Nelson.
477    
478    2004-12-20  Nina Hueffmeyer <[email protected]>
479    
480            * Extensions/ogr/ogrshapes.py: Fixed some issues from
481            Bernhard (coding guidelines etc.). Additionally it is now possible to
482            display shapefiles containing feature collections (e.g.polygons
483            with holes). Works with gdal 1.2.1 now.
484    
485            * Extensions/ogr/test/test_OGRShapestore.py: Fixed some issues
486            from Bernhard (coding guidelines etc.). If ogr can't be imported,
487            tests are skipped now.
488    
489            * Extensions/ogr/ogrstart.py: Fixed some typings.
490    
491    2004-12-20  Bernhard Reiter <[email protected]>
492    
493            * Extensions/svgexport/TODO: updated to add support for
494            raster layers and labels for 1.0.1.
495    
496            * Extensions/svgexport/svgmapwriter.py (draw_raster_layer):
497            Issue a warning now.
498    
499    2004-12-19  Bernhard Reiter <[email protected]>
500    
501            * Extensions/svgexport/TODO: Added idea to support triggering
502            the application down the pipe.
503    
504    2004-12-19  Bernhard Reiter <[email protected]>
505    
506            svgexport: Improved code quality, mainly by better naming.
507    
508            * Extensions/svgexport/svgmapwriter.py:
509            DrawPath() renamed to DrawPolygonPath(),
510            added documentation, improved comments and variable names.
511            
512            * Extensions/svgexport/svgmapwriter.py,
513              Extensions/svgexport/test/test_svgmapwriter.py:
514            All using DrawPolygonPath() now, the default parameter closed=True
515            omitted.
516    
517            * Extensions/svgexport/test/test_svgmapwriter.py:
518            renamed test_polygon_opened() to test_polyline()
519            renamed test_transparent_polygon() to test_transparent_polyline()
520    
521    2004-12-18  Jan-Oliver Wagner <[email protected]>
522    
523            Some fixes of gns2shp extension.
524    
525            * Extensions/gns2shp/test/__init__.py: New. Make this directory a
526            package.
527    
528            * Extensions/gns2shp/test/test_gns2shp.py: Add some import paths
529            dynamically.
530    
531            * Extensions/gns2shp/test/README: Simplified description how to test.
532    
533            * Extensions/gns2shp/gns2shp.py (gns2shp): Fixed doc-string,
534            fixed some dimensions of fields according to the GNS documentation
535            which seems to change undocumented.
536            Now killing trailing \n and/or \r from MODIFY_DATE.
537            This fixes RT#2453.
538    
539    2004-12-18  Bernhard Reiter <[email protected]>
540    
541            svgexport 1.0.0: Treats holes and islands nicely. Documentation added.
542    
543            * Extensions/svgexport/test/test_svgmapwriter.py:
544            Added new tests: test_export_polygon_with_hole()
545            and test_polygon_with_hole().
546    
547            * Extensions/svgexport/svgmapwriter.py
548            (draw_polygon_shape()): Uses DrawPath correctly now.
549    
550            * Doc/manual/thuban-manual.xml: Added documentation for stable
551            extention svgexport.    
552            * Doc/manual/thuban-manual-de.xml: Copied English section about
553            svexport over.
554    
555            * Extensions/svgexport/__init__.py: Bumped version number to 1.0.0.
556    
557            * Extensions/svgexport/svgsaver.py,maplegend.py:
558            Moved from experimental to stable extension menu.
559    
560            * Extensions/svgexport/TODO: updated.
561    
562    
563    2004-12-18  Bernhard Reiter <[email protected]>
564    
565            Added Extensions/svgexport/TODO
566    
567    2004-12-18  Bernhard Reiter <[email protected]>
568    
569            Refactored in svgexport:
570            DrawPath replaces DrawPolygon; added newline in front of "M" in paths.
571    
572            * Extensions/svgexport/svgmapwriter.py
573            Added verbosity level 3 to print out polygon points.
574            (class Point): added __repr__
575            (class Brush, __str__()): Added space after ,.
576            (DrawPolygon): Renamed to DrawPath()
577            (DrawPath): Takes list of polygons as input now, adds \n before "M"s.
578            (DrawLines): Using DrawPath now.
579    
580            * Extensions/svgexport/test/test_svgmapwriter.py:
581            Replaced DrawPolygon() calls with DrawPath() and put the first argument
582            inside another list. Adapted test data with a newline before "M".
583    
584    2004-12-18  Bernhard Reiter <[email protected]>
585            
586            Refactored svgexport tests: 9 double tests runs eliminated;
587            code size reduced by 8 lines.
588    
589            * Extensions/svgexport/test/test_svgmapwriter.py:
590            (class TestWithDC): Renamed to BaseTestWithDC, moved to top.
591            (class BaseWithDCtools): New, subclass from BaseTestWithDC.
592            (class TestDrawSplines): now subclass from BaseTestWithDCtools,
593            this fixed the double running of the nine tests of TestVirtualDC.
594            (class TestVirtualDC): Using self.dc and self.file from setUp().
595    
596    2004-12-17  Bernhard Herzog  <[email protected]>
597    
598            Two windows specific fixes ported from thuban-1�0-branch:
599    
600            * Thuban/UI/about.py (unicodeToLocale): Use getdefaultlocale
601            instead of getlocale because getlocale doesn't return a usable
602            encoding name on a german windows 2000
603    
604            * setup.py: windows build: Removed the absolute path names and
605            made all prfixes relative to the directory containing setup.py.
606            Makes it a little easier to adapt to a different system.
607    
608    2004-12-16  Bernhard Herzog  <[email protected]>
609    
610            Add support for PostGIS tables with LINESTRING geometries.
611            Fixes RT#2299
612    
613            * Thuban/Model/postgisdb.py (shapetype_map): Add LINESTRING
614    
615            * test/postgissupport.py
616            (PostgreSQLServer.get_default_static_data_db): Rename the "roads"
617            table to "roads-multi" because it now uses MULTILINESTRING
618            geometries and introduce a new "roads" table that uses LINESTRING
619            (coords_to_multilinestring): Make the doc string more precise
620            (coords_to_linestring): New.  Create a LINESTRING WKT
621            representatin
622            (wkt_converter): Add coords_to_linestring
623            (upload_shapefile): Rephrase the doc-string a bit.
624    
625            * test/test_postgis_db.py (TestPostGISShapestoreArc)
626            (LineStringTests)
627            (TestPostGISShapestoreLineString)
628            (TestPostGISShapestoreMultiLineString): Split
629            TestPostGISShapestoreArc into a base class LineStringTests and two
630            derived classes TestPostGISShapestoreLineString for LINESTRING
631            geometries and TestPostGISShapestoreMultiLineString for
632            MULTILINESTRING geometries.  Most test methods are in the base
633            class with the exception of tests that explicitly check the raw
634            format.
635    
636    2004-12-16  Bernhard Herzog  <[email protected]>
637    
638            Make the test suite work with PostGIS 0.8.2 and PostgreSQL 7.4
639    
640            * test/postgissupport.py (find_postgis_sql): Different postgis
641            versions put the postgis.sql file into slightly different places
642            so we have to look in both.  The updated doc string describes this
643            is more detail.
644    
645            * test/test_postgis_db.py
646            (TestPostGISSpecialCases.test_column_name_quoting): The return
647            value of UniqueValues is unsorted, so it has to be sorted for
648            comparison.
649    
650    2004-12-16  Bernhard Herzog  <[email protected]>
651    
652            Fix for RT#2237
653    
654            * Thuban/UI/projdialog.py (ProjFrame._show_proj_panel): If the
655            panel to be shown is the UnknownProjPanel disable the OK and Try
656            buttons.  Otherwise enable them.
657            (ProjFrame.__GetProjection): The UnknownProjPanel returns None for
658            the parameters.  In that case __GetProjection also returns None
659            now.
660    
661    2004-12-15  Bernhard Herzog  <[email protected]>
662    
663            * Thuban/UI/classgen.py (GenQuantilesPanel.__init__): Set the
664            minimum number of classes to 2.  The calculate_quantiles needs at
665            least two and raises an exception otherwise.  
666            Fixes RT#2549
667    
668    2004-12-15  Bernhard Herzog  <[email protected]>
669    
670            * test/postgissupport.py (PostgreSQLServer.execute_sql): Extend to
671            so that it returns a result for select statements.
672            (PostgreSQLServer.server_version): New.  Return the version of the
673            server software.
674            (PostgreSQLServer.require_authentication): The format of
675            pg_hba.conf has changed between PostgrSQL 7.2 and 7.3.  Check the
676            server version and generate the file in the correct format
677    
678    2004-12-15  Bernhard Herzog  <[email protected]>
679    
680            * test/postgissupport.py (PostgreSQLServer.is_running): Fix typo
681            in the doc string and rephrase it a little.
682    
683    2004-12-15  Frank Koormann <[email protected]>
684    
685            * test/test_load.py (TestAltPath.checkSession): New, extended checks if
686            session has been loaded successfully. The check is called by the relevant
687            tests after executing load_session().
688    
689    2004-12-13  Bernhard Herzog  <[email protected]>
690    
691            Make sure the region used to determine which shapes are visible
692            actually matches the region on the printed page.  If this isn't
693            done properly some shapes might not be printed.  
694            Fixes RT #2692
695    
696            * Thuban/UI/view.py (MapPrintout.draw_on_dc): The region for the
697            renderer has to be at the same position as the mapregion
698    
699            * Thuban/UI/renderer.py (ExportRenderer.RenderMap): self.region
700            has to be moved by (self.shiftx, self.shifty) too.
701    
702    2004-12-13  Bernhard Herzog  <[email protected]>
703    
704            * libraries/pyprojection/Projection.i: Work around a bug in the
705            generated python code which leads to exception in the __del__
706            method when the constructor fails.  See the comments in the code
707            for more details.
708    
709            * libraries/pyprojection/Projection.py: Updated from Projection.i
710            with SWIG.
711    
712    2004-12-13  Bernhard Herzog  <[email protected]>
713    
714            * test/test_load.py (TestAltPath.test_01_single_path_error_fix)
715            (TestAltPath.test_02_path_error_fix_from_list)
716            (TestAltPath.test_05_path_error_fix_from_list_changed)
717            (TestAltPath.test_06_path_error_fix_from_list_fails): self.session
718            is destroyed in tearDown, so there's no need to do it in a test
719            case.
720    
721            * Thuban/Model/load.py (SessionLoader.open_shapefile): Remove a
722            debug print
723    
724    2004-12-13  Bernhard Herzog  <[email protected]>
725    
726            * Extensions/svgexport/test/test_svgmapwriter.py
727            (TestDrawSplines.setUp): Do not use super with the unittest
728            classes because in Python 2.2 they're still old-style classes.
729    
730    2004-12-13  Frank Koormann <[email protected]>
731    
732        Alternative Path feature: When loading a (moved) session where
733            shapefiles cannot be found, ask the user. Use the specified path
734            if further shapefiles are missing. However, ask the usr for confirmation
735            in such cases.
736    
737            * test/test_load.py (TestAltPath): New, tests for alternative path feature
738            in load_session()
739            (Shapefile_CallBack): Helper, implements controllable callback.
740    
741            * Thuban/UI/application.py (ThubanApplication.OnInit):
742            Added "alt_path" to self.path
743            (ThubanApplication.OpenSession): Added shapefile_callback as second
744            callback similar to db_connection_callback.
745            (ThubanApplication.run_alt_path_dialog): New, implementaion of
746            shapefile_callback. In addition to raising the dialog the control of
747            self.path('alt_path') is implemented here.
748    
749            * Thuban/Model/load.py (SessionLoader.__init__): Added shapefile_callback.
750            (SessionLoader.open_shapefile): Open shapefile, eventually with
751            alternative path. This wrapps the "theSession.OpenShapefile(filename)"
752            formerly used in start_fileshapesource()/start_layer().
753            (SessionLoader.start_fileshapesource): Call open_shapefile().
754            (SessionLoader.start_layer): Call open_shapefile().
755            (load_session): Added shapefile_callback.
756    
757            * Thuban/UI/altpathdialog.py: New, implements dialogs for alternative path
758            feature (search / check).
759            
760            * Doc/manual/thuban-manual.xml: Added documentation of new feature.
761    
762    2004-12-11  Bernhard Reiter <[email protected]>
763    
764             svgexport 0.9.2: Point size supports for maps.
765    
766            * Extensions/svgexport/svgmapwriter.py: Added import of SHAPETYPE_POINT
767            (def draw_point_shape): new parameter size defaults to 2 as before.
768            (draw_shape_layer_incrementally): Moved draw_func log line higher.
769            Added draw_func call with size when dealing with a point layer.
770    
771            * Extensions/svgexport/__init__.py: bumped version to 0.9.2.
772            
773    2004-12-11  Bernhard Reiter <[email protected]>
774    
775            Made sure that newlines are inserted in the svg path d attributes
776            to raise the chance that the line length will be below 255 characters,
777            as recommended by REC SVG 1.1 in section 8.3.1.
778    
779            * Extensions/svgexport/svgmapwriter.py(DrawPolygon):
780            Adding \n before L's and changed whitespace handling.
781    
782            * Extensions/svgexport/test/test_svgmapwriter.py:
783            Adapted tests to new whitespace handling of DrawPolygon.
784    
785    2004-12-11  Bernhard Reiter <[email protected]>
786    
787            * Doc/technotes/coding_guidelines.txt: easy typo fixed.
788    
789            * Extensions/svgexport/test/test_svgmapwriter.py:
790            Removed test_drawbezier in favour of new test_drawspline3 and
791            test_drawspline4 within new class TestDrawSplines(TestVirtualDC).
792            All only to test DrawSpline.
793    
794            * Extensions/svgexport/svgmapwriter.py(DrawSpline):
795            New implementation now really using the strange algorithm of
796            xfig 3.1's approximated splines and its conversion to postscript
797            with one twist: SVG can do quadratic beziers, so skipped translation
798            to cubic beziers.
799            (TestWithDC): Typo in comment fixed.
800    
801    2004-12-09  Martin Schulze  <[email protected]>
802    
803            * Thuban/Model/classgen.py: Added missing character encoding
804    
805            * Extensions/wms/properties.py (OpenWMSProperties): removed
806    
807            * Extensions/wms/parser.py (WMSCapabilitiesParser.error): Dropped
808            support for get_srs_discrepancies() since there are no
809            discrepancies anymore (was a thinko)
810    
811            * Extensions/wms/layer.py (WMSLayer.GetMapImg): Improved graphic
812            format priority now that more formats are supported globally by
813            the render engine.
814    
815    2004-12-08  Silke Reimer <[email protected]>
816            * Extensions/ogr/ogrshapes.py: Substituted ogr-method CloseRings
817            because it is not available in all versions of ogr
818    
819    2004-12-08  Bernhard Reiter <[email protected]>
820            * Extensions/ogr/__init__.py: Added empty __init__.py to heal
821            global tests until a real one is commited.
822    
823    2004-12-07 Nina H�ffmeyer <[email protected]>
824    
825            * /Extensions/ogr/: Adding a new extension to read shapefiles with
826            ogr. It is planned to add other vector formats.
827    
828            * /test/runtests.py: Adding tests from /Extensions/ogr/test/.
829    
830    2004-12-07  Jan-Oliver Wagner <[email protected]>
831    
832            * /Extensions/svgexport/test/test_svgmapwriter.py: Reverting
833            part of a (non-)fix to renable that the tests are always
834            executed.
835    
836    2004-12-07  Bernhard Reiter <[email protected]>
837    
838            * Extensions/svgexport/test/test_svgmapwriter.py:
839            Added test_drawbezier() to test DrawSpline().
840    
841            * Extensions/svgexport/svgmapwriter.py(DrawSpline):
842            Really implemented bezier drawing.
843    
844            * Extensions/svgexport/__init__.py: Bumped version of svgexport
845            to 0.9.1 because now the legend examples lines styles
846            will be drawing with beziers.
847    
848    2004-12-05  Martin Schulze  <[email protected]>
849    
850            * Thuban/UI/renderer.py (raster_format_map): Added PNG, TIFF and
851            GIF as supported bitmap image formats (helpful for the WMS extension)
852    
853    2004-11-30  Martin Schulze  <[email protected]>
854    
855            * Extensions/wms/test/test_ogclib.py (TestOGCLib.test_compareURLs):
856            Improved the test for the internal compare method
857    
858    2004-11-27  Jan-Oliver Wagner <[email protected]>
859    
860            * Thuban/UI/about.py (About.__init__): Added
861            Norbert Solymosi for hungarian translation and Ole Rahn
862            as contrbutor. Moved Bernhard Reiter from Contributor
863            to Developer.
864    
865    2004-11-27  Bernhard Reiter <[email protected]>
866    
867            * Extensions/svgexport/test/test_svgmapwriter.py:
868            Removed Jan from author list as he did not change enough significant
869            lines yet.
870    
871            * Extensions/svgexport/__init__.py: Added Bernhard as author
872            of the Extension.
873    
874    2004-11-27  Jan-Oliver Wagner <[email protected]>
875    
876            * po/hu.po: New. Hungarian translation. Contributed
877            by Norbert Solymosi.
878    
879    2004-11-26  Bernhard Herzog  <[email protected]>
880    
881            * Extensions/svgexport/test/test_svgmapwriter.py
882            (Testobjectexport.test_transparent_polygon): Commented out some
883            debug prints
884    
885    2004-11-24  Jan-Oliver Wagner <[email protected]>
886    
887            Fix broken tests for svg extension and added svg legend
888            to Experimental menu.
889    
890            * Extensions/svgexport/test/test_svgmapwriter.py: Fix to have
891            the test run correctly even if the extension is a package.
892            Also removed the "import Thuban" which makes no sense.
893    
894            * Extensions/svgexport/__init__.py: Fix to have the extensions'
895            test module also be executed from the global test routine.
896            This is done by looking for the absense of the DISPLAY variable.
897    
898            * Extensions/svgexport/maplegend.py: Moved the menu entry from Extensions
899            to Experimental menu since this module has yet not reached a stable
900            status (ie. 1.0).
901    
902    2004-11-22  Bernhard Reiter <[email protected]>
903    
904            * Extensions/svgexport/svgmapwriter.py:
905            Added verbose variable and some logging depending on it.
906            (class VirtualDC(XMLWriter)): Minor improvement in the polygon loop,
907            because counting i is not necessary.
908            (class Pen, class Brush): Added simple __str__ methods.
909            (SVGRenderer.draw_polygone_shape): Fix #2698 (transparent polygons are
910            not exported to svg file) Note: holes still unhandled.
911    
912            * Extensions/svgexport/test/test_svgmapwriter.py:
913                    Made a baseclass TestWithDC for test needed a DC.
914                    Added tests for bug #2698 (transparent polygons are not
915                    exported to svg file):
916                    Testobjectexport.test_transparent_polygon()
917    
918            * Thuban/Model/base.py (UnsetModified):
919            Fixed some typos in docstring.
920    
921            * Thuban/UI/baserenderer.py (BaseRenderer.draw_polygon_shape()):
922            Added hints on the used algorithm for handling holes.
923    
924  2004-11-20  Jan-Oliver Wagner <[email protected]>  2004-11-20  Jan-Oliver Wagner <[email protected]>
925    
926          Some face lifting for the examples.          Some face lifting for the examples.

Legend:
Removed from v.2412  
changed lines
  Added in v.2562

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26