/[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 2333 by jan, Tue Aug 10 00:24:15 2004 UTC revision 2562 by jonathan, Wed Feb 16 21:14:47 2005 UTC
# Line 1  Line 1 
1    2005-02-16  Jonathan Coles <[email protected]>
2    
3            Further wxPython 2.5 changes using patches from Daniel Calvelo Aros
4            so that that wxproj doesn't crash. Added GUI support for selecting
5            alpha channel (opacity can't be selected yet).
6    
7            NOTE: If wxPython.h is including in future distribution packages
8            then it will not be necessary to have the files swigPtrConvertHack.h
9            and wxPython_int.h included with Thuban. This is hopefully
10            a temporary workaround.
11    
12            * setup.py (thuban_build_ext.finalize_options): gdalwarp needs
13            access to the macro wxCHECK_VERSION so that it will properly
14            generate a bit mask. There was a problem between wx2.4 and wx2.5
15            that this works around.
16    
17            * Thuban/Model/layer.py (RasterLayer.UseMask): Removed in favor
18            of RasterLayer.MaskType.
19            (RasterLayer.SetUseMask): Removed in favor of RasterLayer.SetMaskType
20            (RasterLayer.MaskType): New. Returns the type of mask to use. Can
21            specify none, a bitmap, or an alpha channel.
22            (RasterLayer.SetMaskType): New. Set what kind of mask to use.
23    
24            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
25            Set the raster warping options for the mask based on the value
26            of RasterLayer.MaskType.
27    
28            * Thuban/UI/legend.py (LegendTree.__FillTreeLayer): Remove
29            deprecated calls to SetItemSelectedImage in favor of SetItemImage
30            with wxTreeItemIcon_Selected.
31    
32            * Thuban/UI/rasterlayerproperties.py: Support selecting to use
33            an alpha channel for the mask.
34    
35            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Use alpha
36            data if it is available and an alpha channel is supported under
37            the current version of wxPython.
38    
39            * libraries/thuban/gdalwarp.cpp (GetImageData): Added compiler define
40            to select whether 1's or 0's select the desired portion of an image
41            in the bit mask. wx2.4 has a bug where the documentation is the opposite
42            from behavior.
43            (ProjectRasterFile): Only generate an alpha channel if the version
44            of wxPython is >= 2.5.3.
45    
46            * libraries/thuban/wxproj.cpp: Applied patches from Daniel Calvelo Aros.
47            When wxPython >= 2.5.3 use the special swig functions to decode an
48            object's address.
49    
50            * libraries/thuban/swigPtrConvertHack.h: Includes conditional code
51            based on the version of wxPython. If >= 2.5.3 use the special swig
52            functions from wxPython to decode wxPython objects, otherwise use
53            the old method of retrieving the address from the object __repr__ string.
54    
55            * libraries/thuban/wxPython_int.h: Copied from wxPython source.
56            Unnecessary code was removed to make it smaller.
57    
58            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
59            Add tests for returning an alpha channel.
60    
61            * test/test_layer.py (TestLayerModification.test_raster_layer): Fix
62            tests that used removed functions UseMask and SetUseMask
63    
64    
65    2005-02-08  Bernhard Herzog  <[email protected]>
66    
67            More wxPython 2.5 changes.  This time taken from a patch from
68            Daniel Calvelo Aros.
69    
70            * Thuban/UI/tableview.py (QueryTableFrame.__init__)
71            (QueryTableFrame.__init__): Pass the size of a spacer as a single
72            item.
73    
74            * Thuban/UI/projdialog.py (ProjFrame.build_dialog)
75            (ProjFrame.build_dialog): Pass the size of a spacer as a single
76            item.
77    
78            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Pass the
79            size of a spacer as a single item.
80    
81            * Thuban/UI/classifier.py (Classifier.dialog_layout): Pass the
82            size of a spacer as a single item.
83    
84    2005-02-08  Bernhard Herzog  <[email protected]>
85    
86            Compatibility with wxPython 2.5.  The changes should make it work
87            better with 2.5 while still keeping compatibility with 2.4.  There
88            are still problems with 2.5, though.
89    
90            * Thuban/UI/dock.py (DockableWindow.__CreateBorder): Pass the size
91            of a spacer as a single item.
92    
93            * Thuban/UI/classifier.py (ClassGroupPropertiesCtrl): Derive only
94            from wxControl
95    
96            * Thuban/UI/legend.py (LegendTree): When running with wxPython <
97            2.5, add an implementation of the GetFirstChild method that does
98            not require the second parameter.
99            (LegendTree.find_layer, LegendTree._OnMsgMapLayersAdded)
100            (LegendTree._OnMsgMapLayersRemoved, LegendTree.DeleteAllItems)
101            (LegendTree.DeleteChildren, LegendTree.__ShowHideLayer): Do not
102            pass the second parameter to GetFirstChild
103    
104    2005-02-08  Nina H�ffmeyer <[email protected]>
105    
106            * Extensions/ogr/ogrshapes.py: Removed some print commands.
107    
108            * Extensions/ogr/ogrstart.py: Changed the GUI. OGR is no longer an
109            additional menu but appears as a possibility in the menu Map.
110    
111    2005-02-07  Jonathan Coles <[email protected]>
112            * libraries/thuban/gdalwarp.cpp: Removed the macros PYTHON_ERR
113            and PYTHON_ERRF since they were no longer necessary.
114    
115    2005-02-07  Bernhard Reiter <[email protected]>
116            * Thuban/UI/classifier.py (ClassGrid.DeleteSelectedRows):
117            Enable translation for message string.
118    
119    2005-02-06  Martin Schulze  <[email protected]>
120    
121            * Extensions/wms/infodialog.py (wmsInfoDialog.__init__): Adjusted
122            the arguments of the contstructor to fit the global scheme
123    
124    2005-01-31  Nina H�ffmeyer <[email protected]>
125    
126            * Extensions/ogr/ogrdialog.py: Added class ogrdialog.py, which provides
127            some dialogs needed to start ogr.
128            
129            * Extensions/ogr/__init__.py: Changed comments to avoid encoding
130            warnings.
131    
132            * Extensions/ogr/test/test_OGRShapestore.py: Changed comments to avoid
133            encoding warnings.
134    
135    2005-01-28  Jonathan Coles <[email protected]>
136    
137            * libraries/thuban/gdalwarp.cpp (GetImageData): Recode how the
138            mask is packed into a bit array. It's now slightly faster.
139    
140    2005-01-28  Jonathan Coles <[email protected]>
141    
142            * Thuban/Model/layer.py (RasterLayer.__init__): Make use_mask
143            default to true.
144    
145            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Remove
146            code that loads the state of the layer's use_mask flag. Its
147            usefulness is still being debated.
148    
149            * Thuban/Model/save.py (SessionSaver.write_layer): Remove
150            code that saves the state of the layer's use_mask flag. Its
151            usefulness is still being debated.
152    
153            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Pass
154            options to ProjectRasterFile based on the state of layer.UseMask().
155            Catch more exceptions from ProjectRasterFile so that Thuban doesn't
156            quit is there is a problem projecting.
157            (BaseRenderer.draw_raster_data): Change the documentation to
158            describe the new format (XBM) that the mask data will be in.
159    
160            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): The mask
161            data is in XBM format when format='RAW' which means it doesn't
162            need to be converted to a wxImage before being used as a mask
163            for a wxBitmap. Assume that if format != 'RAW' that the image
164            data and mask data are in the same format.
165    
166            * libraries/thuban/gdalwarp.cpp (GetImageData): If alpha is enabled
167            and a mask is requested, convert the alpha band to a bit array in
168            XBM format. if an alpha channel is requested, simply return the
169            data in the alpha band. Provide better error handling by returning
170            python error messages (also fixes RT #2947).
171            (ProjectRasterFile): Support multiple mask options, rather than simply
172            a flag indicating that a mask should or should not be used. Provide
173            better error handling by returning python error messages.
174    
175            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
176            Add mask data to test.
177    
178            * test/test_layer.py (TestLayer.test_raster_layer): Test that a layer
179            should use the mask by default.
180            (TestLayerModificaton.test_raster_layer): Test that a layer should use
181            the mask by default.
182    
183            * test/test_load.py (TestRasterLayer.test): Remove testing for
184            use_mask flag in file.
185    
186            * test/test_save.py (SaveSessionTest.testRasterLayer): Remove testing
187            for use_mask in file.
188    
189            * test/test_load_1_0_1.py: Removed. Shouldn't have been checked in.
190            
191    2005-01-26  Jonathan Coles <[email protected]>
192    
193            Add a new dialog box for raster layers. The dialog box allows
194            the user to toggle a mask that is generated by ProjectRasterFile
195            and is used to only draw the real parts of the projected image.
196    
197            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
198            Instruct the warping code to generate a mask if the raster layer
199            requests one.
200            (BaseRenderer.draw_raster_data): Removed obsolete optional mask argument.
201    
202            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Removed
203            obsolete optional mask argument.
204    
205            * Thuban/UI/classifier.py (Classifier): Change the parent class
206            to LayerProperties and rework the code to support layout calls
207            from the parent.
208            (Classifier.dialog_layout): New. Layout the dialog box.
209            (Classifier.map_layers_removed): Removed. Moved to parent class.
210            (Classifier.map_replaced): Removed. Moved to parent class.
211            (Classifier._OnTry): Renamed to OnTry to support parent class.
212            (Classifier.OnClose): Removed. Supplied in parent class.
213            (Classifier._OnCloseBtn): Removed. Supplied in parent class as OnCloseBtn.
214            (Classifier._OnOK): Renamed to OnOK to support parent class.
215            (Classifier._OnRevert): Renamed to OnRevert to support parent class.
216    
217            * Thuban/UI/layerproperties.py: New. Base class for layer properties
218            dialog boxes.
219    
220            * Thuban/UI/rasterlayerproperties.py: New. Class for displaying
221            raster layer properties.
222    
223            * libraries/thuban/gdalwarp.cpp: Replace the old gdalwarp.cpp code
224            with the non-simple version supplied with gdal. This allows added
225            features such as creating an alpha band.
226            (GetImageData): Generate a mask array from the alpha band that is
227            generated by gdal if the user has selected it. Try to support images
228            that have more than three bands, such as images with RGB plus an
229            alpha band.
230            (ProjectRasterFile): Convert python argument for mask and tell
231            gdal to enable or disable an alpha band.
232    
233            * Thuban/Model/layer.py (BaseLayer.Type): New. Returns a string
234            describing what kind of layer the class is. Defaults to "Unknown",
235            but should be overridden by subclasses.
236            (Layer.Type): New. Override base class method.
237            (RasterLayer.__init__): Create a flag for using a mask. Record extra
238            data from gdal for display in the properties dialog.
239            (RasterLayer.Type): New. Override base class method.
240            (RasterLayer.UseMask): New. Returns True if the mask should be used.
241            (RasterLayer.SetUseMask): New. Set if the mask should be used.
242            (RasterLayer.ImageInfo): New. Return extra information about the image.
243    
244            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Load
245            the mask information.
246    
247            * Thuban/Model/save.py (SessionSaver.write_layer): Save mask information.
248    
249            * Thuban/UI/mainwindow.py: Register the RasterLayerProperties and
250            Classifier classes as dialogs to use with the proper layer types.
251    
252            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
253            Fix test.
254    
255            * test/test_layer.py (TestLayer.test_raster_layer): Test new methods.
256            (TestLayerModification.build_path): New. Support function.
257            (TestLayerModification.test_raster_layer): New. Test new methods.
258    
259            * test/test_save.py (SaveSessionTest.testRasterLayer): Add tests for mask.
260    
261            * test/test_load.py (TestRasterLayer): Add tests for mask.
262    
263            * test/test_load_1_0_1.py: New. Copied from test_load.py.
264    
265            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Removed
266            obsolete optional mask argument.
267    
268    2005-01-26  Nina H�ffmeyer <[email protected]>
269    
270            * Extensions/ogr/ogrshapes.py: Added two dictionaries to ShapeStore
271            which maps the ids and the ordinals. Fixed RowIdToOrdinal(),
272            RowOrdinalToId() and ReadRowAsDict().
273    
274            * Extensions/ogr/ogrstart.py: Added menu item which opens database
275            layers for existing database connections.
276    
277            * Extensions/ogr/test/test_OGRShapestore.py: Fixed a message string.
278    
279    
280    2005-01-26  Jan-Oliver Wagner <[email protected]>
281    
282            * Doc/manual/thuban-manual-de.xml: More translations.
283    
284    2005-01-24  Bernhard Herzog  <[email protected]>
285    
286            Rework the status bar updates a bit to make sure the message about
287            the projections is produced at the right times.
288    
289            * Thuban/UI/mainwindow.py (MainWindow.update_status_bar_messages):
290            New class variable with messages that may require a status bar
291            update.
292            (MainWindow.view_position_changed)
293            (MainWindow.update_status_bar): Rename from view_position_changed
294            to update_status_bar.  It's meaning has changed now that it may
295            also generate messages about problems with projection settings.
296            (MainWindow.__init__): Use the new update_status_bar_messages
297            class variable to subscribe update_status_bar
298            (MainWindow.set_position_text): Update doc-string.  This method
299            has to be renamed at some point.  See doc-string and comments.
300            (MainWindow.OnClose): Unsubscribe update_status_bar from all
301            messages in update_status_bar_messages
302    
303            * Thuban/UI/viewport.py (ViewPort.forwarded_map_messages): New
304            class attribute.  map messages to be forwarded by the viewport.
305            (ViewPort._subscribe_map, ViewPort._unsubscribe_map): (un)subscribe
306            the messages in forwarded_map_messages
307    
308    2005-01-21  Bernhard Herzog  <[email protected]>
309    
310            * test/postgissupport.py (PostGISDatabase.__init__): Tweak
311            doc-string
312            (find_postgis_sql): Update for postgis-1.0.0-rc1, which uses a
313            different name for the initialization SQL file.
314    
315    2005-01-21  Jonathan Coles <[email protected]>
316    
317            * Thuban/UI/baserenderer.py (proj_params_to_str): New. Takes
318            a projection and returns a formatted string representing the
319            parameters to feed to gdalwarp. This function eliminates
320            redundancy in draw_raster_layer().
321            (BaseRenderer.render_map_incrementally): Removed the optimization which
322            drew the top most raster layer first and then only those vector-
323            based layers that are above it. With the support for transparency
324            this optimization breaks correct behaviour.
325            (BaseRenderer.draw_raster_layer): Reorganize code to support possible
326            future enhancements to raster layer bounding box. The old behaviour has
327            not changed. Also, change calling parameters to draw_raster_data()
328            to specify new RAW data format and mask.
329            (BaseRenderer.draw_raster_data): Change signature to include an optional
330            parameter for mask information. Change documentation to mention
331            support for new parameter and added option for RAW data format.
332            The data argument is now a list of [width, height, data].
333    
334            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Add new optional
335            mask parameter. Add new condition for RAW format, which
336            significantly reduces rendering time. Add condition for
337            mask parameter.
338    
339            * libraries/thuban/gdalwarp.cpp (GetImageData): New. Creates a
340            data array of RGB values from the projected image returned from
341            the gdal warping functions. In the case of palette based images, it
342            converts the NO_DATA index to the mask color.
343            (ProjectRasterFile): Removed all custom memory driver references
344            and replaced it with the standard in-memory dataset provided
345            by gdal. The return data is no longer a BMP file, but an array
346            of RGB values, one set triple per pixel.
347    
348            * libraries/thuban/bmpdataset.cpp: Removed. Unnecessary.
349            * libraries/thuban/cpl_mfile.h: Removed. Unnecessary.
350            * libraries/thuban/cpl_mfile.cpp: Removed. Unnecessary.
351    
352            * setup.py (thuban_build_ext.finalize_options): Removed mention
353            of cpl_mfile.cpp and bmpdataset.cpp files in the list of source
354            files. These are obsolete with the new version of gdalwarp.cpp
355    
356            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data):
357            Updated signature.
358            (TestBaseRenderer.test_raster_no_projection): Changed the test
359            data to be data in the uncompressed RAW format returned from
360            ProjectRasterFile.
361    
362    2005-01-21  Jan-Oliver Wagner <[email protected]>
363    
364            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Made
365            string available for i18n.
366    
367    2005-01-20  Russell Nelson  <[email protected]>
368    
369            * Resources/Projections/defaults.proj: Ruin the speling of the
370            Lambert-93 projection so it doesn't run into the wx UTF-8 bug.
371            It's the wrong thing to do in the long run, but it's necessary for
372            those users until that bug is fixed.  Otherwise the projection
373            dialog segfaults.  Better to annoy some Lambert-93 users with a
374            spelling mistake than every Fedora Core 3 user of Thuban-CVS.
375    
376    2005-01-20  Bernhard Reiter <[email protected]>
377    
378            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Added
379            docstring and comment that the warning code here is a hack.
380    
381    2005-01-20  Russell Nelson  <[email protected]>
382    
383            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Warn
384            user about misprojected layers when their lat/lon bounding
385            box exceeds rational lat/lon values.
386    
387    2005-01-20  Bernhard Reiter <[email protected]>
388    
389            * Thuban/UI/about.py (unicodeToLocale): Improved:
390            Use 'ascii' and then 'replace' for other characters
391            when getdefaultlocale returns None. Thanks to Bernhard H. .
392    
393    2005-01-20  Bernhard Reiter <[email protected]>
394    
395            * Thuban/UI/classgen.py (GenQuantilesPanel.OnRetrieve): Added a comment
396            that OnRangeText might be called twice and using None as argument.
397    
398    2005-01-20  Bernhard Reiter <[email protected]>
399    
400            * Thuban/UI/classgen.py (GenQuantilesPanel.OnRetrieve): Add a
401            OnRangeText(0) to work around a different in wx Behaviour noticed
402            on MacOSX, thanks to Lorenzo Moretti and Daniel Calvelo for the fix.
403    
404    2005-01-20  Bernhard Reiter <[email protected]>
405    
406            * Thuban/UI/about.py: take iso-8859-15 when getdefaultlocale returns
407            None. (Fixes rt#2910.)
408            
409    2005-01-18  Frank Koormann <[email protected]>
410    
411            New Extension: mouseposition
412            Tool to collect mouse click positions (map coordinates) in a dialog.
413    
414            * Extensions/mouseposition/__init__.py: New, extension registration
415    
416            * Extensions/mouseposition/mouseposition.py: New, implements the
417            dialog and adds a tool to Thuban mainwindow.
418    
419            * Extensions/mouseposition/position.xpm: New, icon for tool.
420    
421    2005-01-14  Jan-Oliver Wagner <[email protected]>
422    
423            * Doc/manual/thuban-manual-de.xml: More translations.
424    
425    2005-01-11  Frank Koormann <[email protected]>
426    
427            * Thuban/UI/mainwindow.py (MainWindow.DuplicateLayer):
428            Fix indention bug.
429    
430    2005-01-09  Frank Koormann <[email protected]>
431    
432            * Thuban/UI/mainwindow.py (MainWindow.DuplicateLayer):
433            BugFix 2901: Explicitly copy layers ClassificationColumn since it
434            is not part of the layers Classification.
435    
436    2005-01-03  Frank Koormann <[email protected]>
437    
438            * Thuban/UI/renderer.py (ScreenRendererdraw_selection_incrementally):
439            BugFix 2883: Former implementation only worked on classified point
440            layers: KeyError was raised, now use the default size if field is None.
441    
442    2004-12-27  Bernhard Reiter <[email protected]>
443    
444            svgexport 1.0.0cvs: Fixed label export.
445    
446            * Extensions/svgexport/test/test_svgmapwriter.py:
447            class TestSVGRenderer(): New class; new test test_label_font().
448    
449            * Extensions/svgexport/svgmapwriter.py
450            (SVGRenderer.label_font()): initialised Font size with self.factor now,
451            makes test_label_font happy.
452    
453            * Extensions/svgexport/TODO: crossed out fixed label export item.
454            Added item for options.
455    
456            * Extensions/svgexport/__init__.py: Bumped version to 1.0.0cvs.
457    
458    2004-12-27  Russell Nelson  <[email protected]>
459    
460            Middle mouse button pans.
461    
462            * Thuban/UI/view.py (MapCanvas.__init__): Subscribe also
463            OnMiddleDown and OnMiddleUp events.
464            (MapCanvas.OnMiddleDown): New. Activate the pan tool and remember the
465            previously used tool.
466            (MapCanvas.OnMiddleUp): New. Reactivate the remebered tool used before
467            pressing the middle mouse button.
468    
469    2004-12-27  Jan-Oliver Wagner <[email protected]>
470    
471            * Doc/manual/thuban-manual-de.xml: More translations.
472    
473    2004-12-23  Jan-Oliver Wagner <[email protected]>
474    
475            * Thuban/UI/projdialog.py (ProjFrame.load_user_proj): Added a
476            \n to stderr after the warnings. Thanks to Russell Nelson.
477    
478    2004-12-20  Nina Hueffmeyer <[email protected]>
479    
480            * Extensions/ogr/ogrshapes.py: Fixed some issues from
481            Bernhard (coding guidelines etc.). Additionally it is now possible to
482            display shapefiles containing feature collections (e.g.polygons
483            with holes). Works with gdal 1.2.1 now.
484    
485            * Extensions/ogr/test/test_OGRShapestore.py: Fixed some issues
486            from Bernhard (coding guidelines etc.). If ogr can't be imported,
487            tests are skipped now.
488    
489            * Extensions/ogr/ogrstart.py: Fixed some typings.
490    
491    2004-12-20  Bernhard Reiter <[email protected]>
492    
493            * Extensions/svgexport/TODO: updated to add support for
494            raster layers and labels for 1.0.1.
495    
496            * Extensions/svgexport/svgmapwriter.py (draw_raster_layer):
497            Issue a warning now.
498    
499    2004-12-19  Bernhard Reiter <[email protected]>
500    
501            * Extensions/svgexport/TODO: Added idea to support triggering
502            the application down the pipe.
503    
504    2004-12-19  Bernhard Reiter <[email protected]>
505    
506            svgexport: Improved code quality, mainly by better naming.
507    
508            * Extensions/svgexport/svgmapwriter.py:
509            DrawPath() renamed to DrawPolygonPath(),
510            added documentation, improved comments and variable names.
511            
512            * Extensions/svgexport/svgmapwriter.py,
513              Extensions/svgexport/test/test_svgmapwriter.py:
514            All using DrawPolygonPath() now, the default parameter closed=True
515            omitted.
516    
517            * Extensions/svgexport/test/test_svgmapwriter.py:
518            renamed test_polygon_opened() to test_polyline()
519            renamed test_transparent_polygon() to test_transparent_polyline()
520    
521    2004-12-18  Jan-Oliver Wagner <[email protected]>
522    
523            Some fixes of gns2shp extension.
524    
525            * Extensions/gns2shp/test/__init__.py: New. Make this directory a
526            package.
527    
528            * Extensions/gns2shp/test/test_gns2shp.py: Add some import paths
529            dynamically.
530    
531            * Extensions/gns2shp/test/README: Simplified description how to test.
532    
533            * Extensions/gns2shp/gns2shp.py (gns2shp): Fixed doc-string,
534            fixed some dimensions of fields according to the GNS documentation
535            which seems to change undocumented.
536            Now killing trailing \n and/or \r from MODIFY_DATE.
537            This fixes RT#2453.
538    
539    2004-12-18  Bernhard Reiter <[email protected]>
540    
541            svgexport 1.0.0: Treats holes and islands nicely. Documentation added.
542    
543            * Extensions/svgexport/test/test_svgmapwriter.py:
544            Added new tests: test_export_polygon_with_hole()
545            and test_polygon_with_hole().
546    
547            * Extensions/svgexport/svgmapwriter.py
548            (draw_polygon_shape()): Uses DrawPath correctly now.
549    
550            * Doc/manual/thuban-manual.xml: Added documentation for stable
551            extention svgexport.    
552            * Doc/manual/thuban-manual-de.xml: Copied English section about
553            svexport over.
554    
555            * Extensions/svgexport/__init__.py: Bumped version number to 1.0.0.
556    
557            * Extensions/svgexport/svgsaver.py,maplegend.py:
558            Moved from experimental to stable extension menu.
559    
560            * Extensions/svgexport/TODO: updated.
561    
562    
563    2004-12-18  Bernhard Reiter <[email protected]>
564    
565            Added Extensions/svgexport/TODO
566    
567    2004-12-18  Bernhard Reiter <[email protected]>
568    
569            Refactored in svgexport:
570            DrawPath replaces DrawPolygon; added newline in front of "M" in paths.
571    
572            * Extensions/svgexport/svgmapwriter.py
573            Added verbosity level 3 to print out polygon points.
574            (class Point): added __repr__
575            (class Brush, __str__()): Added space after ,.
576            (DrawPolygon): Renamed to DrawPath()
577            (DrawPath): Takes list of polygons as input now, adds \n before "M"s.
578            (DrawLines): Using DrawPath now.
579    
580            * Extensions/svgexport/test/test_svgmapwriter.py:
581            Replaced DrawPolygon() calls with DrawPath() and put the first argument
582            inside another list. Adapted test data with a newline before "M".
583    
584    2004-12-18  Bernhard Reiter <[email protected]>
585            
586            Refactored svgexport tests: 9 double tests runs eliminated;
587            code size reduced by 8 lines.
588    
589            * Extensions/svgexport/test/test_svgmapwriter.py:
590            (class TestWithDC): Renamed to BaseTestWithDC, moved to top.
591            (class BaseWithDCtools): New, subclass from BaseTestWithDC.
592            (class TestDrawSplines): now subclass from BaseTestWithDCtools,
593            this fixed the double running of the nine tests of TestVirtualDC.
594            (class TestVirtualDC): Using self.dc and self.file from setUp().
595    
596    2004-12-17  Bernhard Herzog  <[email protected]>
597    
598            Two windows specific fixes ported from thuban-1�0-branch:
599    
600            * Thuban/UI/about.py (unicodeToLocale): Use getdefaultlocale
601            instead of getlocale because getlocale doesn't return a usable
602            encoding name on a german windows 2000
603    
604            * setup.py: windows build: Removed the absolute path names and
605            made all prfixes relative to the directory containing setup.py.
606            Makes it a little easier to adapt to a different system.
607    
608    2004-12-16  Bernhard Herzog  <[email protected]>
609    
610            Add support for PostGIS tables with LINESTRING geometries.
611            Fixes RT#2299
612    
613            * Thuban/Model/postgisdb.py (shapetype_map): Add LINESTRING
614    
615            * test/postgissupport.py
616            (PostgreSQLServer.get_default_static_data_db): Rename the "roads"
617            table to "roads-multi" because it now uses MULTILINESTRING
618            geometries and introduce a new "roads" table that uses LINESTRING
619            (coords_to_multilinestring): Make the doc string more precise
620            (coords_to_linestring): New.  Create a LINESTRING WKT
621            representatin
622            (wkt_converter): Add coords_to_linestring
623            (upload_shapefile): Rephrase the doc-string a bit.
624    
625            * test/test_postgis_db.py (TestPostGISShapestoreArc)
626            (LineStringTests)
627            (TestPostGISShapestoreLineString)
628            (TestPostGISShapestoreMultiLineString): Split
629            TestPostGISShapestoreArc into a base class LineStringTests and two
630            derived classes TestPostGISShapestoreLineString for LINESTRING
631            geometries and TestPostGISShapestoreMultiLineString for
632            MULTILINESTRING geometries.  Most test methods are in the base
633            class with the exception of tests that explicitly check the raw
634            format.
635    
636    2004-12-16  Bernhard Herzog  <[email protected]>
637    
638            Make the test suite work with PostGIS 0.8.2 and PostgreSQL 7.4
639    
640            * test/postgissupport.py (find_postgis_sql): Different postgis
641            versions put the postgis.sql file into slightly different places
642            so we have to look in both.  The updated doc string describes this
643            is more detail.
644    
645            * test/test_postgis_db.py
646            (TestPostGISSpecialCases.test_column_name_quoting): The return
647            value of UniqueValues is unsorted, so it has to be sorted for
648            comparison.
649    
650    2004-12-16  Bernhard Herzog  <[email protected]>
651    
652            Fix for RT#2237
653    
654            * Thuban/UI/projdialog.py (ProjFrame._show_proj_panel): If the
655            panel to be shown is the UnknownProjPanel disable the OK and Try
656            buttons.  Otherwise enable them.
657            (ProjFrame.__GetProjection): The UnknownProjPanel returns None for
658            the parameters.  In that case __GetProjection also returns None
659            now.
660    
661    2004-12-15  Bernhard Herzog  <[email protected]>
662    
663            * Thuban/UI/classgen.py (GenQuantilesPanel.__init__): Set the
664            minimum number of classes to 2.  The calculate_quantiles needs at
665            least two and raises an exception otherwise.  
666            Fixes RT#2549
667    
668    2004-12-15  Bernhard Herzog  <[email protected]>
669    
670            * test/postgissupport.py (PostgreSQLServer.execute_sql): Extend to
671            so that it returns a result for select statements.
672            (PostgreSQLServer.server_version): New.  Return the version of the
673            server software.
674            (PostgreSQLServer.require_authentication): The format of
675            pg_hba.conf has changed between PostgrSQL 7.2 and 7.3.  Check the
676            server version and generate the file in the correct format
677    
678    2004-12-15  Bernhard Herzog  <[email protected]>
679    
680            * test/postgissupport.py (PostgreSQLServer.is_running): Fix typo
681            in the doc string and rephrase it a little.
682    
683    2004-12-15  Frank Koormann <[email protected]>
684    
685            * test/test_load.py (TestAltPath.checkSession): New, extended checks if
686            session has been loaded successfully. The check is called by the relevant
687            tests after executing load_session().
688    
689    2004-12-13  Bernhard Herzog  <[email protected]>
690    
691            Make sure the region used to determine which shapes are visible
692            actually matches the region on the printed page.  If this isn't
693            done properly some shapes might not be printed.  
694            Fixes RT #2692
695    
696            * Thuban/UI/view.py (MapPrintout.draw_on_dc): The region for the
697            renderer has to be at the same position as the mapregion
698    
699            * Thuban/UI/renderer.py (ExportRenderer.RenderMap): self.region
700            has to be moved by (self.shiftx, self.shifty) too.
701    
702    2004-12-13  Bernhard Herzog  <[email protected]>
703    
704            * libraries/pyprojection/Projection.i: Work around a bug in the
705            generated python code which leads to exception in the __del__
706            method when the constructor fails.  See the comments in the code
707            for more details.
708    
709            * libraries/pyprojection/Projection.py: Updated from Projection.i
710            with SWIG.
711    
712    2004-12-13  Bernhard Herzog  <[email protected]>
713    
714            * test/test_load.py (TestAltPath.test_01_single_path_error_fix)
715            (TestAltPath.test_02_path_error_fix_from_list)
716            (TestAltPath.test_05_path_error_fix_from_list_changed)
717            (TestAltPath.test_06_path_error_fix_from_list_fails): self.session
718            is destroyed in tearDown, so there's no need to do it in a test
719            case.
720    
721            * Thuban/Model/load.py (SessionLoader.open_shapefile): Remove a
722            debug print
723    
724    2004-12-13  Bernhard Herzog  <[email protected]>
725    
726            * Extensions/svgexport/test/test_svgmapwriter.py
727            (TestDrawSplines.setUp): Do not use super with the unittest
728            classes because in Python 2.2 they're still old-style classes.
729    
730    2004-12-13  Frank Koormann <[email protected]>
731    
732        Alternative Path feature: When loading a (moved) session where
733            shapefiles cannot be found, ask the user. Use the specified path
734            if further shapefiles are missing. However, ask the usr for confirmation
735            in such cases.
736    
737            * test/test_load.py (TestAltPath): New, tests for alternative path feature
738            in load_session()
739            (Shapefile_CallBack): Helper, implements controllable callback.
740    
741            * Thuban/UI/application.py (ThubanApplication.OnInit):
742            Added "alt_path" to self.path
743            (ThubanApplication.OpenSession): Added shapefile_callback as second
744            callback similar to db_connection_callback.
745            (ThubanApplication.run_alt_path_dialog): New, implementaion of
746            shapefile_callback. In addition to raising the dialog the control of
747            self.path('alt_path') is implemented here.
748    
749            * Thuban/Model/load.py (SessionLoader.__init__): Added shapefile_callback.
750            (SessionLoader.open_shapefile): Open shapefile, eventually with
751            alternative path. This wrapps the "theSession.OpenShapefile(filename)"
752            formerly used in start_fileshapesource()/start_layer().
753            (SessionLoader.start_fileshapesource): Call open_shapefile().
754            (SessionLoader.start_layer): Call open_shapefile().
755            (load_session): Added shapefile_callback.
756    
757            * Thuban/UI/altpathdialog.py: New, implements dialogs for alternative path
758            feature (search / check).
759            
760            * Doc/manual/thuban-manual.xml: Added documentation of new feature.
761    
762    2004-12-11  Bernhard Reiter <[email protected]>
763    
764             svgexport 0.9.2: Point size supports for maps.
765    
766            * Extensions/svgexport/svgmapwriter.py: Added import of SHAPETYPE_POINT
767            (def draw_point_shape): new parameter size defaults to 2 as before.
768            (draw_shape_layer_incrementally): Moved draw_func log line higher.
769            Added draw_func call with size when dealing with a point layer.
770    
771            * Extensions/svgexport/__init__.py: bumped version to 0.9.2.
772            
773    2004-12-11  Bernhard Reiter <[email protected]>
774    
775            Made sure that newlines are inserted in the svg path d attributes
776            to raise the chance that the line length will be below 255 characters,
777            as recommended by REC SVG 1.1 in section 8.3.1.
778    
779            * Extensions/svgexport/svgmapwriter.py(DrawPolygon):
780            Adding \n before L's and changed whitespace handling.
781    
782            * Extensions/svgexport/test/test_svgmapwriter.py:
783            Adapted tests to new whitespace handling of DrawPolygon.
784    
785    2004-12-11  Bernhard Reiter <[email protected]>
786    
787            * Doc/technotes/coding_guidelines.txt: easy typo fixed.
788    
789            * Extensions/svgexport/test/test_svgmapwriter.py:
790            Removed test_drawbezier in favour of new test_drawspline3 and
791            test_drawspline4 within new class TestDrawSplines(TestVirtualDC).
792            All only to test DrawSpline.
793    
794            * Extensions/svgexport/svgmapwriter.py(DrawSpline):
795            New implementation now really using the strange algorithm of
796            xfig 3.1's approximated splines and its conversion to postscript
797            with one twist: SVG can do quadratic beziers, so skipped translation
798            to cubic beziers.
799            (TestWithDC): Typo in comment fixed.
800    
801    2004-12-09  Martin Schulze  <[email protected]>
802    
803            * Thuban/Model/classgen.py: Added missing character encoding
804    
805            * Extensions/wms/properties.py (OpenWMSProperties): removed
806    
807            * Extensions/wms/parser.py (WMSCapabilitiesParser.error): Dropped
808            support for get_srs_discrepancies() since there are no
809            discrepancies anymore (was a thinko)
810    
811            * Extensions/wms/layer.py (WMSLayer.GetMapImg): Improved graphic
812            format priority now that more formats are supported globally by
813            the render engine.
814    
815    2004-12-08  Silke Reimer <[email protected]>
816            * Extensions/ogr/ogrshapes.py: Substituted ogr-method CloseRings
817            because it is not available in all versions of ogr
818    
819    2004-12-08  Bernhard Reiter <[email protected]>
820            * Extensions/ogr/__init__.py: Added empty __init__.py to heal
821            global tests until a real one is commited.
822    
823    2004-12-07 Nina H�ffmeyer <[email protected]>
824    
825            * /Extensions/ogr/: Adding a new extension to read shapefiles with
826            ogr. It is planned to add other vector formats.
827    
828            * /test/runtests.py: Adding tests from /Extensions/ogr/test/.
829    
830    2004-12-07  Jan-Oliver Wagner <[email protected]>
831    
832            * /Extensions/svgexport/test/test_svgmapwriter.py: Reverting
833            part of a (non-)fix to renable that the tests are always
834            executed.
835    
836    2004-12-07  Bernhard Reiter <[email protected]>
837    
838            * Extensions/svgexport/test/test_svgmapwriter.py:
839            Added test_drawbezier() to test DrawSpline().
840    
841            * Extensions/svgexport/svgmapwriter.py(DrawSpline):
842            Really implemented bezier drawing.
843    
844            * Extensions/svgexport/__init__.py: Bumped version of svgexport
845            to 0.9.1 because now the legend examples lines styles
846            will be drawing with beziers.
847    
848    2004-12-05  Martin Schulze  <[email protected]>
849    
850            * Thuban/UI/renderer.py (raster_format_map): Added PNG, TIFF and
851            GIF as supported bitmap image formats (helpful for the WMS extension)
852    
853    2004-11-30  Martin Schulze  <[email protected]>
854    
855            * Extensions/wms/test/test_ogclib.py (TestOGCLib.test_compareURLs):
856            Improved the test for the internal compare method
857    
858    2004-11-27  Jan-Oliver Wagner <[email protected]>
859    
860            * Thuban/UI/about.py (About.__init__): Added
861            Norbert Solymosi for hungarian translation and Ole Rahn
862            as contrbutor. Moved Bernhard Reiter from Contributor
863            to Developer.
864    
865    2004-11-27  Bernhard Reiter <[email protected]>
866    
867            * Extensions/svgexport/test/test_svgmapwriter.py:
868            Removed Jan from author list as he did not change enough significant
869            lines yet.
870    
871            * Extensions/svgexport/__init__.py: Added Bernhard as author
872            of the Extension.
873    
874    2004-11-27  Jan-Oliver Wagner <[email protected]>
875    
876            * po/hu.po: New. Hungarian translation. Contributed
877            by Norbert Solymosi.
878    
879    2004-11-26  Bernhard Herzog  <[email protected]>
880    
881            * Extensions/svgexport/test/test_svgmapwriter.py
882            (Testobjectexport.test_transparent_polygon): Commented out some
883            debug prints
884    
885    2004-11-24  Jan-Oliver Wagner <[email protected]>
886    
887            Fix broken tests for svg extension and added svg legend
888            to Experimental menu.
889    
890            * Extensions/svgexport/test/test_svgmapwriter.py: Fix to have
891            the test run correctly even if the extension is a package.
892            Also removed the "import Thuban" which makes no sense.
893    
894            * Extensions/svgexport/__init__.py: Fix to have the extensions'
895            test module also be executed from the global test routine.
896            This is done by looking for the absense of the DISPLAY variable.
897    
898            * Extensions/svgexport/maplegend.py: Moved the menu entry from Extensions
899            to Experimental menu since this module has yet not reached a stable
900            status (ie. 1.0).
901    
902    2004-11-22  Bernhard Reiter <[email protected]>
903    
904            * Extensions/svgexport/svgmapwriter.py:
905            Added verbose variable and some logging depending on it.
906            (class VirtualDC(XMLWriter)): Minor improvement in the polygon loop,
907            because counting i is not necessary.
908            (class Pen, class Brush): Added simple __str__ methods.
909            (SVGRenderer.draw_polygone_shape): Fix #2698 (transparent polygons are
910            not exported to svg file) Note: holes still unhandled.
911    
912            * Extensions/svgexport/test/test_svgmapwriter.py:
913                    Made a baseclass TestWithDC for test needed a DC.
914                    Added tests for bug #2698 (transparent polygons are not
915                    exported to svg file):
916                    Testobjectexport.test_transparent_polygon()
917    
918            * Thuban/Model/base.py (UnsetModified):
919            Fixed some typos in docstring.
920    
921            * Thuban/UI/baserenderer.py (BaseRenderer.draw_polygon_shape()):
922            Added hints on the used algorithm for handling holes.
923    
924    2004-11-20  Jan-Oliver Wagner <[email protected]>
925    
926            Some face lifting for the examples.
927    
928            * Examples/__init__.py: Make this directory a package.
929    
930            * Examples/simple_extensions/__init__.py: Make this directory a package.
931    
932            * Examples/simple_extensions/hello_world.py: Moved entry from Extensions
933            menu to Examples menu.
934    
935            * Examples/simple_extensions/simple_command.py: Some more comments,
936            minor changes.
937    
938            * Examples/simple_extensions/simple_tool.py: Minor changes.
939    
940    2004-11-20  Jan-Oliver Wagner <[email protected]>
941    
942            Changed way of extension registry for wms and added extension
943            registry for umn_mapserver extension.
944    
945            * Extensions/wms/__init__.py: Added registry entry and the importing
946            of the actual wms module. Included a test for the required PyOGCLib.
947    
948            * Extensions/wms/wms.py: Removed registry entry (moved to __init__.py).
949    
950            * Extensions/umn_mapserver/__init__.py: Added registry entry and the
951            importing of the actual umn mapserver management modules.
952            Included a test for the required Python MapScript.
953    
954    2004-11-20  Jan-Oliver Wagner <[email protected]>
955    
956            Changed way of extension registry for importAPR, bboxdump
957            and added extension registry for svgexport.extension registry for
958            svgexport.
959    
960            * Extensions/importAPR/__init__.py: Added registry entry and the importing
961            of the actual importAPR module.
962    
963            * Extensions/importAPR/importAPR.py: Removed registry entry (moved to
964            __init__.py).
965    
966            * Extensions/bboxdump/__init__.py: Added registry entry and the importing
967            ����of the actual bboxdump module.
968    
969            * Extensions/bboxdump/bboxdump.py: Removed registry entry (moved to
970            ����__init__.py).
971    
972            * Extensions/svgexport/__init__.py: Added registry entry and the importing
973            of the svgsaver module.
974    
975            * Extensions/svgexport/svgsaver.py: Moved the menu entry from Extensions
976            to Experimental menu since this module has yet not reached a stable
977            status (ie. 1.0).
978    
979    2004-11-18  Jan-Oliver Wagner <[email protected]>
980    
981            Now the hit test considers the size of point symbols.
982    
983            * Thuban/UI/viewport.py (ViewPort._hit_point): Added optional parameter
984            'size' defaulting to the previously fixed value 5.
985            Extended doc-string.
986            (Viewport._find_shape_in_layer): Resolved FIXME regarding flexibility
987            for symbols.
988            Now the size of the largest point symbol is determined to find out
989            about whether the point has been hit.
990            This fixes the problem that only clicks inside a fixed distance of
991            5 where found.
992    
993    2004-11-17  Jan-Oliver Wagner <[email protected]>
994    
995            Another open issue fixed regarding sizeable symbols: correct rendering of
996            selected symbols.
997    
998            * Thuban/UI/renderer.py (ScreenRenderer.draw_selection_incrementally):
999            Added consideration of the specific size of point symbols.
1000            The property for each point symbol is retrieved and the size applied
1001            for the rendering method.
1002            Added doc-string.
1003    
1004    2004-11-16  Jan-Oliver Wagner <[email protected]>
1005    
1006            Changed way of Extension Registry for gns2shp and profiling.
1007    
1008            * Extensions/gns2shp/gns2shp.py: Removed registry entry (moved to
1009            __init__.py).
1010    
1011            * Extensions/gns2shp/__init__.py: Added registry entry and the importing
1012            of the actual gns2shp module.
1013    
1014            * Extensions/profiling/profiling.py: Removed registry entry (moved to
1015            __init__.py).
1016    
1017            * Extensions/profiling/__init__.py: Added registry entry and the importing
1018            of the actual profiling module.
1019    
1020    2004-10-28  Bernhard Reiter <[email protected]>
1021    
1022            * Extensions/svgexport/: Minor improvements to doc strings.
1023    
1024    2004-10-07  Jan-Oliver Wagner <[email protected]>
1025    
1026            Further elements for sizable point objects now
1027            making this feature usable though not yet complete.
1028    
1029            * Thuban/Model/save.py (SessionSaver.write_classification): Write
1030            attribute 'size' for cldata when the shape layer is of point type.
1031            This also now make the test_load.py tests happy.
1032    
1033            * Thuban/Model/classgen.py (CustomRamp.GetProperties): Added size
1034            gradient.
1035    
1036            * Thuban/UI/classifier.py (ID_SELPROP_SPINCTRL): Renamed to
1037            ID_SELPROP_SPINCTRL_LINEWIDTH.
1038            (ID_SELPROP_SPINCTRL_LINEWIDTH): New Id replaces ID_SELPROP_SPINCTRL.
1039            (ID_SELPROP_SPINCTRL_SIZE): New Id.
1040            (SelectPropertiesDialog.__init__): Added a second spin control
1041            for the size in case the corresponding layer is of point type.
1042            (SelectPropertiesDialog._OnSpin): Renamed to _OnSpinLineWidth.
1043            (SelectPropertiesDialog._OnSpinLineWidth): New. Former _OnSpin.
1044            (SelectPropertiesDialog._OnSpinSize): New. Set size of property
1045            and refresh preview.
1046    
1047    
1048    
1049    2004-10-04  Martin Schulze  <[email protected]>
1050    
1051            * Extensions/wms/test/test_parser.py
1052            (TestWMSCapabilitiesParser.test_compareLists): Added missing
1053            self-test for compareLists()
1054            (TestWMSCapabilitiesParser.test_compareDicts): Added missing
1055            self-test for compareDicts()
1056            (TestWMSCapabilitiesParser.test_compareLists): Adding more tests
1057            to verify the test routine fails with non-equal arguments
1058            (TestWMSCapabilitiesParser.test_compareDicts): Adding more tests
1059            to verify the test routine fails with non-equal arguments
1060    
1061    2004-10-03  Jan-Oliver Wagner <[email protected]>
1062    
1063            First elements for sizeable point objects.
1064    
1065            * Resources/XML/thuban-1.1.dtd: Added size attribute to cldata.
1066    
1067            * Data/iceland_sample_size.thuban: New. Sample for sized point objects.
1068    
1069            * test/test_load.py (ClassificationTest.TestLayers): Added SetSize in case
1070            of a corresponding argument is given.
1071            (TestSymbolSize): New. Test the size attribute of cldata.
1072    
1073            * Thuban/Model/classification.py: Removed some trailing whitespaces.
1074            (ClassGroupProperties.__init__): Set default size.
1075            (ClassGroupProperties.SetProperties): Set the size.
1076            (ClassGroupProperties.GetSize): New. Return the size.
1077            (ClassGroupProperties.SetSize): New. Set the size.
1078            (ClassGroupProperties__eq__): Compare also size.
1079            (ClassGroupProperties__repr__): Print also size.
1080    
1081            * Thuban/Model/load.py (SessionLoader.start_cldata): Also parse
1082            the size attribute.
1083    
1084            * Thuban/UI/classifier.py (ClassDataPreviewer.Draw): Added doc-string.
1085            Also, now there is a return value that indicates whether the drawing
1086            size exceeded the given rect extent and if so the new extent.
1087            Finally, point objects are drawn depending on the size. If either
1088            the width or height is exceeded, the new extent is returned.
1089            (ClassRenderer.Draw): Now when calling the previewer drawing function,
1090            evaluate the return value and, if not None, adapt the grid widget size
1091            accordingly and redraw again.
1092    
1093            * Thuban/UI/baserenderer.py (BaseRenderer.draw_shape_layer_incrementally):
1094            If the draw function is for points, call it with the size as additional
1095            parameter.
1096            (BaseRenderer.draw_point_shape): Added additional, optional parameter for
1097            the size. Compute the radius using the size.
1098    
1099            * Extensions/importAPR/apr.py (APR_BMkSym.GetThubanProp): Now
1100            that Thuban supports size, apply this correctly.
1101    
1102            * Extensions/importAPR/importAPR.py: Bumped version to 0.1.1.
1103    
1104    2004-10-03  Jan-Oliver Wagner <[email protected]>
1105    
1106            * Doc/manual/thuban-manual-de.xml: Started translation of
1107            Map chapter.
1108    
1109    2004-10-01  Martin Schulze  <[email protected]>
1110    
1111            * Extensions/wms/properties.py (wmsProperties.__init__): Extended
1112            argument for general use through properties-dialog selector
1113            
1114            * Thuban/UI/classifier.py: Register properties dialog classes for
1115            both provided layer classes/types.
1116    
1117            * Thuban/UI/mainwindow.py (MainWindow.OpenLayerProperties): The
1118            map can be retrieved through the parent which is passed to the
1119            constructor anyway and doesn't require an argument of its own,
1120            required for the unification of arguments for general use through
1121            properties-dialog selector.
1122            (MainWindow.OpenOrRaiseDialog): Move the logic for checking
1123            whether a dialog is already opened (and raising it to the users
1124            attention) and creating a new dialog into a function of its own
1125            (MainWindow.OpenLayerProperties): Use the new OpenOrRaiseDialog()
1126            method
1127            (MainWindow.OpenLayerProperties): Utilise the new ClassMapper for
1128            global registration of properties dialog classes (which are indeed
1129            layer-specific).
1130    
1131            * Thuban/UI/classifier.py (Classifier.__init__): Unify arguments
1132            for general use through properties-dialog selector, the map can be
1133            retrieved through the parent and doesn't require an argument of
1134            its own.
1135    
1136            * Extensions/wms/wms.py: Register the properties dialog class for
1137            the provided WMS layer
1138    
1139    2004-09-28  Jan-Oliver Wagner <[email protected]>
1140    
1141            New feature: Registry for Extensions.
1142    
1143            * Thuban/UI/extensionregistry.py: This module defines a registry for
1144            Extensions.
1145    
1146            * Thuban/UI/about.py (About.__init__): Added description
1147            of the registered extensions with all of the information.
1148    
1149            * Thuban/Model/extension.py (Extension): Improved doc-string.
1150    
1151            * Extensions/gns2shp/gns2shp.py, Extensions/importAPR/importAPR.py,
1152            Extensions/bboxdump/bboxdump.py, Extensions/profiling/profiling.py,
1153            Extensions/wms/wms.py: Added registration of the extension.
1154    
1155    2004-09-27  Bernhard Reiter <[email protected]>
1156    
1157            More fixes to svgexport to make used ids unique and
1158            conforming to XML's Name production.
1159    
1160            * Extensions/svgexport/test/test_svgmapwriter.py: Added new tests
1161            test_xml_id_constraints(), test_make_ide_nosetbaseid() and
1162            test_make_id_nonintegersetid().  Switched SetID and SetBaseID.
1163            Added Bernhard R. as author.
1164            * Extensions/svgexport/svgmapwriter.py (make_id): Using "_" as
1165            concatenation char now (makes test_make_ide_nosetbaseid() valid).
1166            Also transform second id part with "%d" and catch the TypeError
1167            to raise SVGMapWriterError (making test_make_id_nonintegersetid() ok).
1168            Corrected typo inBernhard's author line.
1169            (SetBaseID): Return the transformed base id. Transform characters
1170            which are not alnum() or in ".-_" to binascii.b2a_hex(). Added
1171            import binascii. If to be set string starts with "xml" or so, add "t".
1172            (draw_shape_layer_incrementally): use the returned value of SetBaseID
1173            for used_baseids checks.
1174    
1175    2004-09-25  Bernhard Herzog  <[email protected]>
1176    
1177            * test/test_layer.py (TestLayer.test_arc_layer_with_projection):
1178            Remove a debug print and some tab characters.
1179    
1180    2004-09-25  Bernhard Reiter <[email protected]>
1181    
1182            * Extensions/svgexport/svgmapwriter.py: Added Bernhard R. as Author.
1183            (SetBaseID, SetID, make_id): Improved docstring comments to explain
1184            the interaction of the three functions and the XML id contrains.
1185    
1186    
1187    2004-09-23  Jan-Oliver Wagner <[email protected]>
1188    
1189            * Doc/ThubanModel.xmi: New. UML file for Thuban Model
1190            Module.
1191    
1192            * Doc/README: Added info on ThubanModel.xmi.
1193    
1194    2004-09-23  Jan-Oliver Wagner <[email protected]>
1195    
1196            * Doc/README: New. Some info about how to generate technical
1197            documentation from the source code.
1198            This text was send to the Thuban developer mailing list on
1199            September 21st 2004 by Bernhard Reiter.
1200    
1201    2004-09-21  Bernhard Reiter <[email protected]>
1202    
1203            Improved the svgexport to only use unique ids. Will issues
1204            an error message dialoge when two layer names are the same.
1205            ShapeIDs are now added with a dash within the svg ids.
1206    
1207            * Extensions/svgexport/svgmapwriter.py (SVGMapWriterError): New.
1208            * Extensions/svgexport/test/test_svgmapwriter.py: Added imports
1209            (TestSVGRenderer): New test class with test_make_in() and
1210            test_check_for_layer_name_clash()
1211            * Extensions/svgexport/svgmapwriter.py (SVGRenderer): Fixed __init__()
1212            and draw_shape_layer_incrementally() to not use a baseid twice,
1213            satisfying test_check_for_layer_name_clash()
1214            (VirtualDC.make_id): Use a dash between baseit and id, satisfies
1215            test_make_in().
1216            * Extensions/svexport/svgsaver.py: Import SVGMapWriterError, wxOK
1217            and wxICON_HAND.
1218            (write_to_svg): Put dc and rendering in a try statement and on
1219            catching SVGmapWriterError notify the user and delete the target file.
1220    
1221    2004-09-20  Bernhard Reiter <[email protected]>
1222    
1223            * Model/base.by, Model/layer.py: Fixed typos in docstrings.
1224    
1225    2004-09-03  Jan Sch�ngel  <[email protected]>
1226    
1227            * Extensions/umn_mapserver/mapfile(MF_Class.add_thubanstyle): Fix a
1228            small bug with the line color. Now the line color will now only set
1229            if it is set in Thuban an not Transparent.
1230            
1231            * Extensions/umn_mapserver/mf_export(tblayer_to_map): Fixed a bug with
1232            deleting the layers from mapfile. Now all layers will delete backwards
1233            from the last.
1234    
1235    2004-08-20  Silke Reimer <[email protected]>
1236    
1237            * Thuban/Model/layer.py:
1238            Fixes bug in projection handling: Otherwise very large region might not
1239            have valid values in the layer's projection.
1240    
1241    2004-08-20  Silke Reimer <[email protected]>
1242    
1243            * Thuban/UI/about.py:
1244            small changes to be consistent with coding style.
1245              
1246    2004-08-13  Martin Schulze  <[email protected]>
1247    
1248            * Extensions/wms/test/test_ogclib.py (TestOGCLib.compare_URLs):
1249            Adjusted a comment
1250    
1251    2004-08-11  Silke Reimer <[email protected]>
1252    
1253            * Thuban/UI/about.py: Small changes to encoding related stuff to avoid
1254                    too many and too enhanced imports of locale
1255    
1256    2004-08-10  Silke Reimer <[email protected]>
1257    
1258            * Thuban/UI/about.py: Fixed encoding problem of about dialog: Added
1259                    function unicodeToLocale() to convert special characters to users
1260                    locale encoding
1261    
1262  2004-08-10  Jan-Oliver Wagner <[email protected]>  2004-08-10  Jan-Oliver Wagner <[email protected]>
1263    
1264          * Doc/technotes/coding_guidelines.txt: Added rule 'Method names start with          * Doc/technotes/coding_guidelines.txt: Added rule 'Method names start with

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26