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

Legend:
Removed from v.2470  
changed lines
  Added in v.2574

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26