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

Legend:
Removed from v.2471  
changed lines
  Added in v.2597

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26