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

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26