/[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 2460 by bh, Wed Dec 15 14:01:04 2004 UTC revision 2565 by jan, Wed Feb 16 23:16:14 2005 UTC
# Line 1  Line 1 
1    2005-02-17  Jan-Oliver Wagner <[email protected]>
2    
3            Docstring improvements and minor fixes for labellayer.
4    
5            * Thuban/Model/map.py:
6            (Map, Map.Destroy, Map.RemoveLayer, Map.ClearLayers,
7            Map.Layers, Map.HasLayers, Map.MoveLayerToTop,
8            Map.RaiseLayer, Map.LowerLayer, Map.MoveLayerToBottom,
9            Map.ProjectedBoundingBox, Map.GetProjection): Improved/added
10            doc string.
11            (Map.BoundingBox): Removed superfluous test for label_layer
12            and improved doc string.
13            (Map.TreeInfo): Added label_layer and improved sdo string.
14    
15            * Thuban/Model/label.py: Added import of _.
16            (Label, Label.__init__): Improved/added doc string.
17            (LabelLayer, LabelLayer.__init__, LabelLayer.Labels,
18            LabelLayer.RemoveLabel, LabelLayer.ClearLabels):
19            Improved/added doc string.
20            (LabelLayer.AddLabel): Use already defined names for
21            align strings and improved doc string.
22            (LabelLayer.TreeInfo): New. Return the object data for
23            the tree view.
24    
25    2005-02-16  Jonathan Coles <[email protected]>
26    
27            Further wxPython 2.5 changes using patches from Daniel Calvelo Aros
28            so that that wxproj doesn't crash. Added GUI support for selecting
29            alpha channel (opacity can't be selected yet).
30    
31            NOTE: If wxPython.h is including in future distribution packages
32            then it will not be necessary to have the files swigPtrConvertHack.h
33            and wxPython_int.h included with Thuban. This is hopefully
34            a temporary workaround.
35    
36            * setup.py (thuban_build_ext.finalize_options): gdalwarp needs
37            access to the macro wxCHECK_VERSION so that it will properly
38            generate a bit mask. There was a problem between wx2.4 and wx2.5
39            that this works around.
40    
41            * Thuban/Model/layer.py (RasterLayer.UseMask): Removed in favor
42            of RasterLayer.MaskType.
43            (RasterLayer.SetUseMask): Removed in favor of RasterLayer.SetMaskType
44            (RasterLayer.MaskType): New. Returns the type of mask to use. Can
45            specify none, a bitmap, or an alpha channel.
46            (RasterLayer.SetMaskType): New. Set what kind of mask to use.
47    
48            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
49            Set the raster warping options for the mask based on the value
50            of RasterLayer.MaskType.
51    
52            * Thuban/UI/legend.py (LegendTree.__FillTreeLayer): Remove
53            deprecated calls to SetItemSelectedImage in favor of SetItemImage
54            with wxTreeItemIcon_Selected.
55    
56            * Thuban/UI/rasterlayerproperties.py: Support selecting to use
57            an alpha channel for the mask.
58    
59            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Use alpha
60            data if it is available and an alpha channel is supported under
61            the current version of wxPython.
62    
63            * libraries/thuban/gdalwarp.cpp (GetImageData): Added compiler define
64            to select whether 1's or 0's select the desired portion of an image
65            in the bit mask. wx2.4 has a bug where the documentation is the opposite
66            from behavior.
67            (ProjectRasterFile): Only generate an alpha channel if the version
68            of wxPython is >= 2.5.3.
69    
70            * libraries/thuban/wxproj.cpp: Applied patches from Daniel Calvelo Aros.
71            When wxPython >= 2.5.3 use the special swig functions to decode an
72            object's address.
73    
74            * libraries/thuban/swigPtrConvertHack.h: Includes conditional code
75            based on the version of wxPython. If >= 2.5.3 use the special swig
76            functions from wxPython to decode wxPython objects, otherwise use
77            the old method of retrieving the address from the object __repr__ string.
78    
79            * libraries/thuban/wxPython_int.h: Copied from wxPython source.
80            Unnecessary code was removed to make it smaller.
81    
82            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
83            Add tests for returning an alpha channel.
84    
85            * test/test_layer.py (TestLayerModification.test_raster_layer): Fix
86            tests that used removed functions UseMask and SetUseMask
87    
88    
89    2005-02-08  Bernhard Herzog  <[email protected]>
90    
91            More wxPython 2.5 changes.  This time taken from a patch from
92            Daniel Calvelo Aros.
93    
94            * Thuban/UI/tableview.py (QueryTableFrame.__init__)
95            (QueryTableFrame.__init__): Pass the size of a spacer as a single
96            item.
97    
98            * Thuban/UI/projdialog.py (ProjFrame.build_dialog)
99            (ProjFrame.build_dialog): Pass the size of a spacer as a single
100            item.
101    
102            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Pass the
103            size of a spacer as a single item.
104    
105            * Thuban/UI/classifier.py (Classifier.dialog_layout): Pass the
106            size of a spacer as a single item.
107    
108    2005-02-08  Bernhard Herzog  <[email protected]>
109    
110            Compatibility with wxPython 2.5.  The changes should make it work
111            better with 2.5 while still keeping compatibility with 2.4.  There
112            are still problems with 2.5, though.
113    
114            * Thuban/UI/dock.py (DockableWindow.__CreateBorder): Pass the size
115            of a spacer as a single item.
116    
117            * Thuban/UI/classifier.py (ClassGroupPropertiesCtrl): Derive only
118            from wxControl
119    
120            * Thuban/UI/legend.py (LegendTree): When running with wxPython <
121            2.5, add an implementation of the GetFirstChild method that does
122            not require the second parameter.
123            (LegendTree.find_layer, LegendTree._OnMsgMapLayersAdded)
124            (LegendTree._OnMsgMapLayersRemoved, LegendTree.DeleteAllItems)
125            (LegendTree.DeleteChildren, LegendTree.__ShowHideLayer): Do not
126            pass the second parameter to GetFirstChild
127    
128    2005-02-08  Nina H�ffmeyer <[email protected]>
129    
130            * Extensions/ogr/ogrshapes.py: Removed some print commands.
131    
132            * Extensions/ogr/ogrstart.py: Changed the GUI. OGR is no longer an
133            additional menu but appears as a possibility in the menu Map.
134    
135    2005-02-07  Jonathan Coles <[email protected]>
136            * libraries/thuban/gdalwarp.cpp: Removed the macros PYTHON_ERR
137            and PYTHON_ERRF since they were no longer necessary.
138    
139    2005-02-07  Bernhard Reiter <[email protected]>
140            * Thuban/UI/classifier.py (ClassGrid.DeleteSelectedRows):
141            Enable translation for message string.
142    
143    2005-02-06  Martin Schulze  <[email protected]>
144    
145            * Extensions/wms/infodialog.py (wmsInfoDialog.__init__): Adjusted
146            the arguments of the contstructor to fit the global scheme
147    
148    2005-01-31  Nina H�ffmeyer <[email protected]>
149    
150            * Extensions/ogr/ogrdialog.py: Added class ogrdialog.py, which provides
151            some dialogs needed to start ogr.
152            
153            * Extensions/ogr/__init__.py: Changed comments to avoid encoding
154            warnings.
155    
156            * Extensions/ogr/test/test_OGRShapestore.py: Changed comments to avoid
157            encoding warnings.
158    
159    2005-01-28  Jonathan Coles <[email protected]>
160    
161            * libraries/thuban/gdalwarp.cpp (GetImageData): Recode how the
162            mask is packed into a bit array. It's now slightly faster.
163    
164    2005-01-28  Jonathan Coles <[email protected]>
165    
166            * Thuban/Model/layer.py (RasterLayer.__init__): Make use_mask
167            default to true.
168    
169            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Remove
170            code that loads the state of the layer's use_mask flag. Its
171            usefulness is still being debated.
172    
173            * Thuban/Model/save.py (SessionSaver.write_layer): Remove
174            code that saves the state of the layer's use_mask flag. Its
175            usefulness is still being debated.
176    
177            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Pass
178            options to ProjectRasterFile based on the state of layer.UseMask().
179            Catch more exceptions from ProjectRasterFile so that Thuban doesn't
180            quit is there is a problem projecting.
181            (BaseRenderer.draw_raster_data): Change the documentation to
182            describe the new format (XBM) that the mask data will be in.
183    
184            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): The mask
185            data is in XBM format when format='RAW' which means it doesn't
186            need to be converted to a wxImage before being used as a mask
187            for a wxBitmap. Assume that if format != 'RAW' that the image
188            data and mask data are in the same format.
189    
190            * libraries/thuban/gdalwarp.cpp (GetImageData): If alpha is enabled
191            and a mask is requested, convert the alpha band to a bit array in
192            XBM format. if an alpha channel is requested, simply return the
193            data in the alpha band. Provide better error handling by returning
194            python error messages (also fixes RT #2947).
195            (ProjectRasterFile): Support multiple mask options, rather than simply
196            a flag indicating that a mask should or should not be used. Provide
197            better error handling by returning python error messages.
198    
199            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
200            Add mask data to test.
201    
202            * test/test_layer.py (TestLayer.test_raster_layer): Test that a layer
203            should use the mask by default.
204            (TestLayerModificaton.test_raster_layer): Test that a layer should use
205            the mask by default.
206    
207            * test/test_load.py (TestRasterLayer.test): Remove testing for
208            use_mask flag in file.
209    
210            * test/test_save.py (SaveSessionTest.testRasterLayer): Remove testing
211            for use_mask in file.
212    
213            * test/test_load_1_0_1.py: Removed. Shouldn't have been checked in.
214            
215    2005-01-26  Jonathan Coles <[email protected]>
216    
217            Add a new dialog box for raster layers. The dialog box allows
218            the user to toggle a mask that is generated by ProjectRasterFile
219            and is used to only draw the real parts of the projected image.
220    
221            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
222            Instruct the warping code to generate a mask if the raster layer
223            requests one.
224            (BaseRenderer.draw_raster_data): Removed obsolete optional mask argument.
225    
226            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Removed
227            obsolete optional mask argument.
228    
229            * Thuban/UI/classifier.py (Classifier): Change the parent class
230            to LayerProperties and rework the code to support layout calls
231            from the parent.
232            (Classifier.dialog_layout): New. Layout the dialog box.
233            (Classifier.map_layers_removed): Removed. Moved to parent class.
234            (Classifier.map_replaced): Removed. Moved to parent class.
235            (Classifier._OnTry): Renamed to OnTry to support parent class.
236            (Classifier.OnClose): Removed. Supplied in parent class.
237            (Classifier._OnCloseBtn): Removed. Supplied in parent class as OnCloseBtn.
238            (Classifier._OnOK): Renamed to OnOK to support parent class.
239            (Classifier._OnRevert): Renamed to OnRevert to support parent class.
240    
241            * Thuban/UI/layerproperties.py: New. Base class for layer properties
242            dialog boxes.
243    
244            * Thuban/UI/rasterlayerproperties.py: New. Class for displaying
245            raster layer properties.
246    
247            * libraries/thuban/gdalwarp.cpp: Replace the old gdalwarp.cpp code
248            with the non-simple version supplied with gdal. This allows added
249            features such as creating an alpha band.
250            (GetImageData): Generate a mask array from the alpha band that is
251            generated by gdal if the user has selected it. Try to support images
252            that have more than three bands, such as images with RGB plus an
253            alpha band.
254            (ProjectRasterFile): Convert python argument for mask and tell
255            gdal to enable or disable an alpha band.
256    
257            * Thuban/Model/layer.py (BaseLayer.Type): New. Returns a string
258            describing what kind of layer the class is. Defaults to "Unknown",
259            but should be overridden by subclasses.
260            (Layer.Type): New. Override base class method.
261            (RasterLayer.__init__): Create a flag for using a mask. Record extra
262            data from gdal for display in the properties dialog.
263            (RasterLayer.Type): New. Override base class method.
264            (RasterLayer.UseMask): New. Returns True if the mask should be used.
265            (RasterLayer.SetUseMask): New. Set if the mask should be used.
266            (RasterLayer.ImageInfo): New. Return extra information about the image.
267    
268            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Load
269            the mask information.
270    
271            * Thuban/Model/save.py (SessionSaver.write_layer): Save mask information.
272    
273            * Thuban/UI/mainwindow.py: Register the RasterLayerProperties and
274            Classifier classes as dialogs to use with the proper layer types.
275    
276            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
277            Fix test.
278    
279            * test/test_layer.py (TestLayer.test_raster_layer): Test new methods.
280            (TestLayerModification.build_path): New. Support function.
281            (TestLayerModification.test_raster_layer): New. Test new methods.
282    
283            * test/test_save.py (SaveSessionTest.testRasterLayer): Add tests for mask.
284    
285            * test/test_load.py (TestRasterLayer): Add tests for mask.
286    
287            * test/test_load_1_0_1.py: New. Copied from test_load.py.
288    
289            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Removed
290            obsolete optional mask argument.
291    
292    2005-01-26  Nina H�ffmeyer <[email protected]>
293    
294            * Extensions/ogr/ogrshapes.py: Added two dictionaries to ShapeStore
295            which maps the ids and the ordinals. Fixed RowIdToOrdinal(),
296            RowOrdinalToId() and ReadRowAsDict().
297    
298            * Extensions/ogr/ogrstart.py: Added menu item which opens database
299            layers for existing database connections.
300    
301            * Extensions/ogr/test/test_OGRShapestore.py: Fixed a message string.
302    
303    
304    2005-01-26  Jan-Oliver Wagner <[email protected]>
305    
306            * Doc/manual/thuban-manual-de.xml: More translations.
307    
308    2005-01-24  Bernhard Herzog  <[email protected]>
309    
310            Rework the status bar updates a bit to make sure the message about
311            the projections is produced at the right times.
312    
313            * Thuban/UI/mainwindow.py (MainWindow.update_status_bar_messages):
314            New class variable with messages that may require a status bar
315            update.
316            (MainWindow.view_position_changed)
317            (MainWindow.update_status_bar): Rename from view_position_changed
318            to update_status_bar.  It's meaning has changed now that it may
319            also generate messages about problems with projection settings.
320            (MainWindow.__init__): Use the new update_status_bar_messages
321            class variable to subscribe update_status_bar
322            (MainWindow.set_position_text): Update doc-string.  This method
323            has to be renamed at some point.  See doc-string and comments.
324            (MainWindow.OnClose): Unsubscribe update_status_bar from all
325            messages in update_status_bar_messages
326    
327            * Thuban/UI/viewport.py (ViewPort.forwarded_map_messages): New
328            class attribute.  map messages to be forwarded by the viewport.
329            (ViewPort._subscribe_map, ViewPort._unsubscribe_map): (un)subscribe
330            the messages in forwarded_map_messages
331    
332    2005-01-21  Bernhard Herzog  <[email protected]>
333    
334            * test/postgissupport.py (PostGISDatabase.__init__): Tweak
335            doc-string
336            (find_postgis_sql): Update for postgis-1.0.0-rc1, which uses a
337            different name for the initialization SQL file.
338    
339    2005-01-21  Jonathan Coles <[email protected]>
340    
341            * Thuban/UI/baserenderer.py (proj_params_to_str): New. Takes
342            a projection and returns a formatted string representing the
343            parameters to feed to gdalwarp. This function eliminates
344            redundancy in draw_raster_layer().
345            (BaseRenderer.render_map_incrementally): Removed the optimization which
346            drew the top most raster layer first and then only those vector-
347            based layers that are above it. With the support for transparency
348            this optimization breaks correct behaviour.
349            (BaseRenderer.draw_raster_layer): Reorganize code to support possible
350            future enhancements to raster layer bounding box. The old behaviour has
351            not changed. Also, change calling parameters to draw_raster_data()
352            to specify new RAW data format and mask.
353            (BaseRenderer.draw_raster_data): Change signature to include an optional
354            parameter for mask information. Change documentation to mention
355            support for new parameter and added option for RAW data format.
356            The data argument is now a list of [width, height, data].
357    
358            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Add new optional
359            mask parameter. Add new condition for RAW format, which
360            significantly reduces rendering time. Add condition for
361            mask parameter.
362    
363            * libraries/thuban/gdalwarp.cpp (GetImageData): New. Creates a
364            data array of RGB values from the projected image returned from
365            the gdal warping functions. In the case of palette based images, it
366            converts the NO_DATA index to the mask color.
367            (ProjectRasterFile): Removed all custom memory driver references
368            and replaced it with the standard in-memory dataset provided
369            by gdal. The return data is no longer a BMP file, but an array
370            of RGB values, one set triple per pixel.
371    
372            * libraries/thuban/bmpdataset.cpp: Removed. Unnecessary.
373            * libraries/thuban/cpl_mfile.h: Removed. Unnecessary.
374            * libraries/thuban/cpl_mfile.cpp: Removed. Unnecessary.
375    
376            * setup.py (thuban_build_ext.finalize_options): Removed mention
377            of cpl_mfile.cpp and bmpdataset.cpp files in the list of source
378            files. These are obsolete with the new version of gdalwarp.cpp
379    
380            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data):
381            Updated signature.
382            (TestBaseRenderer.test_raster_no_projection): Changed the test
383            data to be data in the uncompressed RAW format returned from
384            ProjectRasterFile.
385    
386    2005-01-21  Jan-Oliver Wagner <[email protected]>
387    
388            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Made
389            string available for i18n.
390    
391    2005-01-20  Russell Nelson  <[email protected]>
392    
393            * Resources/Projections/defaults.proj: Ruin the speling of the
394            Lambert-93 projection so it doesn't run into the wx UTF-8 bug.
395            It's the wrong thing to do in the long run, but it's necessary for
396            those users until that bug is fixed.  Otherwise the projection
397            dialog segfaults.  Better to annoy some Lambert-93 users with a
398            spelling mistake than every Fedora Core 3 user of Thuban-CVS.
399    
400    2005-01-20  Bernhard Reiter <[email protected]>
401    
402            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Added
403            docstring and comment that the warning code here is a hack.
404    
405    2005-01-20  Russell Nelson  <[email protected]>
406    
407            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Warn
408            user about misprojected layers when their lat/lon bounding
409            box exceeds rational lat/lon values.
410    
411    2005-01-20  Bernhard Reiter <[email protected]>
412    
413            * Thuban/UI/about.py (unicodeToLocale): Improved:
414            Use 'ascii' and then 'replace' for other characters
415            when getdefaultlocale returns None. Thanks to Bernhard H. .
416    
417    2005-01-20  Bernhard Reiter <[email protected]>
418    
419            * Thuban/UI/classgen.py (GenQuantilesPanel.OnRetrieve): Added a comment
420            that OnRangeText might be called twice and using None as argument.
421    
422    2005-01-20  Bernhard Reiter <[email protected]>
423    
424            * Thuban/UI/classgen.py (GenQuantilesPanel.OnRetrieve): Add a
425            OnRangeText(0) to work around a different in wx Behaviour noticed
426            on MacOSX, thanks to Lorenzo Moretti and Daniel Calvelo for the fix.
427    
428    2005-01-20  Bernhard Reiter <[email protected]>
429    
430            * Thuban/UI/about.py: take iso-8859-15 when getdefaultlocale returns
431            None. (Fixes rt#2910.)
432            
433    2005-01-18  Frank Koormann <[email protected]>
434    
435            New Extension: mouseposition
436            Tool to collect mouse click positions (map coordinates) in a dialog.
437    
438            * Extensions/mouseposition/__init__.py: New, extension registration
439    
440            * Extensions/mouseposition/mouseposition.py: New, implements the
441            dialog and adds a tool to Thuban mainwindow.
442    
443            * Extensions/mouseposition/position.xpm: New, icon for tool.
444    
445    2005-01-14  Jan-Oliver Wagner <[email protected]>
446    
447            * Doc/manual/thuban-manual-de.xml: More translations.
448    
449    2005-01-11  Frank Koormann <[email protected]>
450    
451            * Thuban/UI/mainwindow.py (MainWindow.DuplicateLayer):
452            Fix indention bug.
453    
454    2005-01-09  Frank Koormann <[email protected]>
455    
456            * Thuban/UI/mainwindow.py (MainWindow.DuplicateLayer):
457            BugFix 2901: Explicitly copy layers ClassificationColumn since it
458            is not part of the layers Classification.
459    
460    2005-01-03  Frank Koormann <[email protected]>
461    
462            * Thuban/UI/renderer.py (ScreenRendererdraw_selection_incrementally):
463            BugFix 2883: Former implementation only worked on classified point
464            layers: KeyError was raised, now use the default size if field is None.
465    
466    2004-12-27  Bernhard Reiter <[email protected]>
467    
468            svgexport 1.0.0cvs: Fixed label export.
469    
470            * Extensions/svgexport/test/test_svgmapwriter.py:
471            class TestSVGRenderer(): New class; new test test_label_font().
472    
473            * Extensions/svgexport/svgmapwriter.py
474            (SVGRenderer.label_font()): initialised Font size with self.factor now,
475            makes test_label_font happy.
476    
477            * Extensions/svgexport/TODO: crossed out fixed label export item.
478            Added item for options.
479    
480            * Extensions/svgexport/__init__.py: Bumped version to 1.0.0cvs.
481    
482    2004-12-27  Russell Nelson  <[email protected]>
483    
484            Middle mouse button pans.
485    
486            * Thuban/UI/view.py (MapCanvas.__init__): Subscribe also
487            OnMiddleDown and OnMiddleUp events.
488            (MapCanvas.OnMiddleDown): New. Activate the pan tool and remember the
489            previously used tool.
490            (MapCanvas.OnMiddleUp): New. Reactivate the remebered tool used before
491            pressing the middle mouse button.
492    
493    2004-12-27  Jan-Oliver Wagner <[email protected]>
494    
495            * Doc/manual/thuban-manual-de.xml: More translations.
496    
497    2004-12-23  Jan-Oliver Wagner <[email protected]>
498    
499            * Thuban/UI/projdialog.py (ProjFrame.load_user_proj): Added a
500            \n to stderr after the warnings. Thanks to Russell Nelson.
501    
502    2004-12-20  Nina Hueffmeyer <[email protected]>
503    
504            * Extensions/ogr/ogrshapes.py: Fixed some issues from
505            Bernhard (coding guidelines etc.). Additionally it is now possible to
506            display shapefiles containing feature collections (e.g.polygons
507            with holes). Works with gdal 1.2.1 now.
508    
509            * Extensions/ogr/test/test_OGRShapestore.py: Fixed some issues
510            from Bernhard (coding guidelines etc.). If ogr can't be imported,
511            tests are skipped now.
512    
513            * Extensions/ogr/ogrstart.py: Fixed some typings.
514    
515    2004-12-20  Bernhard Reiter <[email protected]>
516    
517            * Extensions/svgexport/TODO: updated to add support for
518            raster layers and labels for 1.0.1.
519    
520            * Extensions/svgexport/svgmapwriter.py (draw_raster_layer):
521            Issue a warning now.
522    
523    2004-12-19  Bernhard Reiter <[email protected]>
524    
525            * Extensions/svgexport/TODO: Added idea to support triggering
526            the application down the pipe.
527    
528    2004-12-19  Bernhard Reiter <[email protected]>
529    
530            svgexport: Improved code quality, mainly by better naming.
531    
532            * Extensions/svgexport/svgmapwriter.py:
533            DrawPath() renamed to DrawPolygonPath(),
534            added documentation, improved comments and variable names.
535            
536            * Extensions/svgexport/svgmapwriter.py,
537              Extensions/svgexport/test/test_svgmapwriter.py:
538            All using DrawPolygonPath() now, the default parameter closed=True
539            omitted.
540    
541            * Extensions/svgexport/test/test_svgmapwriter.py:
542            renamed test_polygon_opened() to test_polyline()
543            renamed test_transparent_polygon() to test_transparent_polyline()
544    
545    2004-12-18  Jan-Oliver Wagner <[email protected]>
546    
547            Some fixes of gns2shp extension.
548    
549            * Extensions/gns2shp/test/__init__.py: New. Make this directory a
550            package.
551    
552            * Extensions/gns2shp/test/test_gns2shp.py: Add some import paths
553            dynamically.
554    
555            * Extensions/gns2shp/test/README: Simplified description how to test.
556    
557            * Extensions/gns2shp/gns2shp.py (gns2shp): Fixed doc-string,
558            fixed some dimensions of fields according to the GNS documentation
559            which seems to change undocumented.
560            Now killing trailing \n and/or \r from MODIFY_DATE.
561            This fixes RT#2453.
562    
563    2004-12-18  Bernhard Reiter <[email protected]>
564    
565            svgexport 1.0.0: Treats holes and islands nicely. Documentation added.
566    
567            * Extensions/svgexport/test/test_svgmapwriter.py:
568            Added new tests: test_export_polygon_with_hole()
569            and test_polygon_with_hole().
570    
571            * Extensions/svgexport/svgmapwriter.py
572            (draw_polygon_shape()): Uses DrawPath correctly now.
573    
574            * Doc/manual/thuban-manual.xml: Added documentation for stable
575            extention svgexport.    
576            * Doc/manual/thuban-manual-de.xml: Copied English section about
577            svexport over.
578    
579            * Extensions/svgexport/__init__.py: Bumped version number to 1.0.0.
580    
581            * Extensions/svgexport/svgsaver.py,maplegend.py:
582            Moved from experimental to stable extension menu.
583    
584            * Extensions/svgexport/TODO: updated.
585    
586    
587    2004-12-18  Bernhard Reiter <[email protected]>
588    
589            Added Extensions/svgexport/TODO
590    
591    2004-12-18  Bernhard Reiter <[email protected]>
592    
593            Refactored in svgexport:
594            DrawPath replaces DrawPolygon; added newline in front of "M" in paths.
595    
596            * Extensions/svgexport/svgmapwriter.py
597            Added verbosity level 3 to print out polygon points.
598            (class Point): added __repr__
599            (class Brush, __str__()): Added space after ,.
600            (DrawPolygon): Renamed to DrawPath()
601            (DrawPath): Takes list of polygons as input now, adds \n before "M"s.
602            (DrawLines): Using DrawPath now.
603    
604            * Extensions/svgexport/test/test_svgmapwriter.py:
605            Replaced DrawPolygon() calls with DrawPath() and put the first argument
606            inside another list. Adapted test data with a newline before "M".
607    
608    2004-12-18  Bernhard Reiter <[email protected]>
609            
610            Refactored svgexport tests: 9 double tests runs eliminated;
611            code size reduced by 8 lines.
612    
613            * Extensions/svgexport/test/test_svgmapwriter.py:
614            (class TestWithDC): Renamed to BaseTestWithDC, moved to top.
615            (class BaseWithDCtools): New, subclass from BaseTestWithDC.
616            (class TestDrawSplines): now subclass from BaseTestWithDCtools,
617            this fixed the double running of the nine tests of TestVirtualDC.
618            (class TestVirtualDC): Using self.dc and self.file from setUp().
619    
620    2004-12-17  Bernhard Herzog  <[email protected]>
621    
622            Two windows specific fixes ported from thuban-1�0-branch:
623    
624            * Thuban/UI/about.py (unicodeToLocale): Use getdefaultlocale
625            instead of getlocale because getlocale doesn't return a usable
626            encoding name on a german windows 2000
627    
628            * setup.py: windows build: Removed the absolute path names and
629            made all prfixes relative to the directory containing setup.py.
630            Makes it a little easier to adapt to a different system.
631    
632    2004-12-16  Bernhard Herzog  <[email protected]>
633    
634            Add support for PostGIS tables with LINESTRING geometries.
635            Fixes RT#2299
636    
637            * Thuban/Model/postgisdb.py (shapetype_map): Add LINESTRING
638    
639            * test/postgissupport.py
640            (PostgreSQLServer.get_default_static_data_db): Rename the "roads"
641            table to "roads-multi" because it now uses MULTILINESTRING
642            geometries and introduce a new "roads" table that uses LINESTRING
643            (coords_to_multilinestring): Make the doc string more precise
644            (coords_to_linestring): New.  Create a LINESTRING WKT
645            representatin
646            (wkt_converter): Add coords_to_linestring
647            (upload_shapefile): Rephrase the doc-string a bit.
648    
649            * test/test_postgis_db.py (TestPostGISShapestoreArc)
650            (LineStringTests)
651            (TestPostGISShapestoreLineString)
652            (TestPostGISShapestoreMultiLineString): Split
653            TestPostGISShapestoreArc into a base class LineStringTests and two
654            derived classes TestPostGISShapestoreLineString for LINESTRING
655            geometries and TestPostGISShapestoreMultiLineString for
656            MULTILINESTRING geometries.  Most test methods are in the base
657            class with the exception of tests that explicitly check the raw
658            format.
659    
660    2004-12-16  Bernhard Herzog  <[email protected]>
661    
662            Make the test suite work with PostGIS 0.8.2 and PostgreSQL 7.4
663    
664            * test/postgissupport.py (find_postgis_sql): Different postgis
665            versions put the postgis.sql file into slightly different places
666            so we have to look in both.  The updated doc string describes this
667            is more detail.
668    
669            * test/test_postgis_db.py
670            (TestPostGISSpecialCases.test_column_name_quoting): The return
671            value of UniqueValues is unsorted, so it has to be sorted for
672            comparison.
673    
674    2004-12-16  Bernhard Herzog  <[email protected]>
675    
676            Fix for RT#2237
677    
678            * Thuban/UI/projdialog.py (ProjFrame._show_proj_panel): If the
679            panel to be shown is the UnknownProjPanel disable the OK and Try
680            buttons.  Otherwise enable them.
681            (ProjFrame.__GetProjection): The UnknownProjPanel returns None for
682            the parameters.  In that case __GetProjection also returns None
683            now.
684    
685    2004-12-15  Bernhard Herzog  <[email protected]>
686    
687            * Thuban/UI/classgen.py (GenQuantilesPanel.__init__): Set the
688            minimum number of classes to 2.  The calculate_quantiles needs at
689            least two and raises an exception otherwise.  
690            Fixes RT#2549
691    
692  2004-12-15  Bernhard Herzog  <[email protected]>  2004-12-15  Bernhard Herzog  <[email protected]>
693    
694          * test/postgissupport.py (PostgreSQLServer.execute_sql): Extend to          * test/postgissupport.py (PostgreSQLServer.execute_sql): Extend to

Legend:
Removed from v.2460  
changed lines
  Added in v.2565

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26