/[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 2242 by jschuengel, Tue Jun 15 09:22:01 2004 UTC revision 2565 by jan, Wed Feb 16 23:16:14 2005 UTC
# Line 1  Line 1 
1  2004-06-10  Jan Sch�ngel  <[email protected]>  2005-02-17  Jan-Oliver Wagner <[email protected]>
2    
3            Docstring improvements and minor fixes for labellayer.
4    
5            * Thuban/Model/map.py:
6            (Map, Map.Destroy, Map.RemoveLayer, Map.ClearLayers,
7            Map.Layers, Map.HasLayers, Map.MoveLayerToTop,
8            Map.RaiseLayer, Map.LowerLayer, Map.MoveLayerToBottom,
9            Map.ProjectedBoundingBox, Map.GetProjection): Improved/added
10            doc string.
11            (Map.BoundingBox): Removed superfluous test for label_layer
12            and improved doc string.
13            (Map.TreeInfo): Added label_layer and improved sdo string.
14    
15            * Thuban/Model/label.py: Added import of _.
16            (Label, Label.__init__): Improved/added doc string.
17            (LabelLayer, LabelLayer.__init__, LabelLayer.Labels,
18            LabelLayer.RemoveLabel, LabelLayer.ClearLabels):
19            Improved/added doc string.
20            (LabelLayer.AddLabel): Use already defined names for
21            align strings and improved doc string.
22            (LabelLayer.TreeInfo): New. Return the object data for
23            the tree view.
24    
25    2005-02-16  Jonathan Coles <[email protected]>
26    
27            Further wxPython 2.5 changes using patches from Daniel Calvelo Aros
28            so that that wxproj doesn't crash. Added GUI support for selecting
29            alpha channel (opacity can't be selected yet).
30    
31            NOTE: If wxPython.h is including in future distribution packages
32            then it will not be necessary to have the files swigPtrConvertHack.h
33            and wxPython_int.h included with Thuban. This is hopefully
34            a temporary workaround.
35    
36            * setup.py (thuban_build_ext.finalize_options): gdalwarp needs
37            access to the macro wxCHECK_VERSION so that it will properly
38            generate a bit mask. There was a problem between wx2.4 and wx2.5
39            that this works around.
40    
41            * Thuban/Model/layer.py (RasterLayer.UseMask): Removed in favor
42            of RasterLayer.MaskType.
43            (RasterLayer.SetUseMask): Removed in favor of RasterLayer.SetMaskType
44            (RasterLayer.MaskType): New. Returns the type of mask to use. Can
45            specify none, a bitmap, or an alpha channel.
46            (RasterLayer.SetMaskType): New. Set what kind of mask to use.
47    
48            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
49            Set the raster warping options for the mask based on the value
50            of RasterLayer.MaskType.
51    
52            * Thuban/UI/legend.py (LegendTree.__FillTreeLayer): Remove
53            deprecated calls to SetItemSelectedImage in favor of SetItemImage
54            with wxTreeItemIcon_Selected.
55    
56            * Thuban/UI/rasterlayerproperties.py: Support selecting to use
57            an alpha channel for the mask.
58    
59            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Use alpha
60            data if it is available and an alpha channel is supported under
61            the current version of wxPython.
62    
63            * libraries/thuban/gdalwarp.cpp (GetImageData): Added compiler define
64            to select whether 1's or 0's select the desired portion of an image
65            in the bit mask. wx2.4 has a bug where the documentation is the opposite
66            from behavior.
67            (ProjectRasterFile): Only generate an alpha channel if the version
68            of wxPython is >= 2.5.3.
69    
70            * libraries/thuban/wxproj.cpp: Applied patches from Daniel Calvelo Aros.
71            When wxPython >= 2.5.3 use the special swig functions to decode an
72            object's address.
73    
74            * libraries/thuban/swigPtrConvertHack.h: Includes conditional code
75            based on the version of wxPython. If >= 2.5.3 use the special swig
76            functions from wxPython to decode wxPython objects, otherwise use
77            the old method of retrieving the address from the object __repr__ string.
78    
79            * libraries/thuban/wxPython_int.h: Copied from wxPython source.
80            Unnecessary code was removed to make it smaller.
81    
82            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
83            Add tests for returning an alpha channel.
84    
85            * test/test_layer.py (TestLayerModification.test_raster_layer): Fix
86            tests that used removed functions UseMask and SetUseMask
87    
88    
89    2005-02-08  Bernhard Herzog  <[email protected]>
90    
91            More wxPython 2.5 changes.  This time taken from a patch from
92            Daniel Calvelo Aros.
93    
94            * Thuban/UI/tableview.py (QueryTableFrame.__init__)
95            (QueryTableFrame.__init__): Pass the size of a spacer as a single
96            item.
97    
98            * Thuban/UI/projdialog.py (ProjFrame.build_dialog)
99            (ProjFrame.build_dialog): Pass the size of a spacer as a single
100            item.
101    
102            * Thuban/UI/dbdialog.py (ChooseDBTableDialog.__init__): Pass the
103            size of a spacer as a single item.
104    
105            * Thuban/UI/classifier.py (Classifier.dialog_layout): Pass the
106            size of a spacer as a single item.
107    
108    2005-02-08  Bernhard Herzog  <[email protected]>
109    
110            Compatibility with wxPython 2.5.  The changes should make it work
111            better with 2.5 while still keeping compatibility with 2.4.  There
112            are still problems with 2.5, though.
113    
114            * Thuban/UI/dock.py (DockableWindow.__CreateBorder): Pass the size
115            of a spacer as a single item.
116    
117            * Thuban/UI/classifier.py (ClassGroupPropertiesCtrl): Derive only
118            from wxControl
119    
120            * Thuban/UI/legend.py (LegendTree): When running with wxPython <
121            2.5, add an implementation of the GetFirstChild method that does
122            not require the second parameter.
123            (LegendTree.find_layer, LegendTree._OnMsgMapLayersAdded)
124            (LegendTree._OnMsgMapLayersRemoved, LegendTree.DeleteAllItems)
125            (LegendTree.DeleteChildren, LegendTree.__ShowHideLayer): Do not
126            pass the second parameter to GetFirstChild
127    
128    2005-02-08  Nina H�ffmeyer <[email protected]>
129    
130            * Extensions/ogr/ogrshapes.py: Removed some print commands.
131    
132            * Extensions/ogr/ogrstart.py: Changed the GUI. OGR is no longer an
133            additional menu but appears as a possibility in the menu Map.
134    
135    2005-02-07  Jonathan Coles <[email protected]>
136            * libraries/thuban/gdalwarp.cpp: Removed the macros PYTHON_ERR
137            and PYTHON_ERRF since they were no longer necessary.
138    
139    2005-02-07  Bernhard Reiter <[email protected]>
140            * Thuban/UI/classifier.py (ClassGrid.DeleteSelectedRows):
141            Enable translation for message string.
142    
143    2005-02-06  Martin Schulze  <[email protected]>
144    
145            * Extensions/wms/infodialog.py (wmsInfoDialog.__init__): Adjusted
146            the arguments of the contstructor to fit the global scheme
147    
148    2005-01-31  Nina H�ffmeyer <[email protected]>
149    
150            * Extensions/ogr/ogrdialog.py: Added class ogrdialog.py, which provides
151            some dialogs needed to start ogr.
152            
153            * Extensions/ogr/__init__.py: Changed comments to avoid encoding
154            warnings.
155    
156            * Extensions/ogr/test/test_OGRShapestore.py: Changed comments to avoid
157            encoding warnings.
158    
159    2005-01-28  Jonathan Coles <[email protected]>
160    
161            * libraries/thuban/gdalwarp.cpp (GetImageData): Recode how the
162            mask is packed into a bit array. It's now slightly faster.
163    
164    2005-01-28  Jonathan Coles <[email protected]>
165    
166            * Thuban/Model/layer.py (RasterLayer.__init__): Make use_mask
167            default to true.
168    
169            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Remove
170            code that loads the state of the layer's use_mask flag. Its
171            usefulness is still being debated.
172    
173            * Thuban/Model/save.py (SessionSaver.write_layer): Remove
174            code that saves the state of the layer's use_mask flag. Its
175            usefulness is still being debated.
176    
177            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer): Pass
178            options to ProjectRasterFile based on the state of layer.UseMask().
179            Catch more exceptions from ProjectRasterFile so that Thuban doesn't
180            quit is there is a problem projecting.
181            (BaseRenderer.draw_raster_data): Change the documentation to
182            describe the new format (XBM) that the mask data will be in.
183    
184            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): The mask
185            data is in XBM format when format='RAW' which means it doesn't
186            need to be converted to a wxImage before being used as a mask
187            for a wxBitmap. Assume that if format != 'RAW' that the image
188            data and mask data are in the same format.
189    
190            * libraries/thuban/gdalwarp.cpp (GetImageData): If alpha is enabled
191            and a mask is requested, convert the alpha band to a bit array in
192            XBM format. if an alpha channel is requested, simply return the
193            data in the alpha band. Provide better error handling by returning
194            python error messages (also fixes RT #2947).
195            (ProjectRasterFile): Support multiple mask options, rather than simply
196            a flag indicating that a mask should or should not be used. Provide
197            better error handling by returning python error messages.
198    
199            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
200            Add mask data to test.
201    
202            * test/test_layer.py (TestLayer.test_raster_layer): Test that a layer
203            should use the mask by default.
204            (TestLayerModificaton.test_raster_layer): Test that a layer should use
205            the mask by default.
206    
207            * test/test_load.py (TestRasterLayer.test): Remove testing for
208            use_mask flag in file.
209    
210            * test/test_save.py (SaveSessionTest.testRasterLayer): Remove testing
211            for use_mask in file.
212    
213            * test/test_load_1_0_1.py: Removed. Shouldn't have been checked in.
214            
215    2005-01-26  Jonathan Coles <[email protected]>
216    
217            Add a new dialog box for raster layers. The dialog box allows
218            the user to toggle a mask that is generated by ProjectRasterFile
219            and is used to only draw the real parts of the projected image.
220    
221            * Thuban/UI/baserenderer.py (BaseRenderer.draw_raster_layer):
222            Instruct the warping code to generate a mask if the raster layer
223            requests one.
224            (BaseRenderer.draw_raster_data): Removed obsolete optional mask argument.
225    
226            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Removed
227            obsolete optional mask argument.
228    
229            * Thuban/UI/classifier.py (Classifier): Change the parent class
230            to LayerProperties and rework the code to support layout calls
231            from the parent.
232            (Classifier.dialog_layout): New. Layout the dialog box.
233            (Classifier.map_layers_removed): Removed. Moved to parent class.
234            (Classifier.map_replaced): Removed. Moved to parent class.
235            (Classifier._OnTry): Renamed to OnTry to support parent class.
236            (Classifier.OnClose): Removed. Supplied in parent class.
237            (Classifier._OnCloseBtn): Removed. Supplied in parent class as OnCloseBtn.
238            (Classifier._OnOK): Renamed to OnOK to support parent class.
239            (Classifier._OnRevert): Renamed to OnRevert to support parent class.
240    
241            * Thuban/UI/layerproperties.py: New. Base class for layer properties
242            dialog boxes.
243    
244            * Thuban/UI/rasterlayerproperties.py: New. Class for displaying
245            raster layer properties.
246    
247            * libraries/thuban/gdalwarp.cpp: Replace the old gdalwarp.cpp code
248            with the non-simple version supplied with gdal. This allows added
249            features such as creating an alpha band.
250            (GetImageData): Generate a mask array from the alpha band that is
251            generated by gdal if the user has selected it. Try to support images
252            that have more than three bands, such as images with RGB plus an
253            alpha band.
254            (ProjectRasterFile): Convert python argument for mask and tell
255            gdal to enable or disable an alpha band.
256    
257            * Thuban/Model/layer.py (BaseLayer.Type): New. Returns a string
258            describing what kind of layer the class is. Defaults to "Unknown",
259            but should be overridden by subclasses.
260            (Layer.Type): New. Override base class method.
261            (RasterLayer.__init__): Create a flag for using a mask. Record extra
262            data from gdal for display in the properties dialog.
263            (RasterLayer.Type): New. Override base class method.
264            (RasterLayer.UseMask): New. Returns True if the mask should be used.
265            (RasterLayer.SetUseMask): New. Set if the mask should be used.
266            (RasterLayer.ImageInfo): New. Return extra information about the image.
267    
268            * Thuban/Model/load.py (SessionLoader.start_rasterlayer): Load
269            the mask information.
270    
271            * Thuban/Model/save.py (SessionSaver.write_layer): Save mask information.
272    
273            * Thuban/UI/mainwindow.py: Register the RasterLayerProperties and
274            Classifier classes as dialogs to use with the proper layer types.
275    
276            * test/test_baserenderer.py (TestBaseRenderer.test_raster_no_projection):
277            Fix test.
278    
279            * test/test_layer.py (TestLayer.test_raster_layer): Test new methods.
280            (TestLayerModification.build_path): New. Support function.
281            (TestLayerModification.test_raster_layer): New. Test new methods.
282    
283            * test/test_save.py (SaveSessionTest.testRasterLayer): Add tests for mask.
284    
285            * test/test_load.py (TestRasterLayer): Add tests for mask.
286    
287            * test/test_load_1_0_1.py: New. Copied from test_load.py.
288    
289            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data): Removed
290            obsolete optional mask argument.
291    
292    2005-01-26  Nina H�ffmeyer <[email protected]>
293    
294            * Extensions/ogr/ogrshapes.py: Added two dictionaries to ShapeStore
295            which maps the ids and the ordinals. Fixed RowIdToOrdinal(),
296            RowOrdinalToId() and ReadRowAsDict().
297    
298            * Extensions/ogr/ogrstart.py: Added menu item which opens database
299            layers for existing database connections.
300    
301            * Extensions/ogr/test/test_OGRShapestore.py: Fixed a message string.
302    
303    
304    2005-01-26  Jan-Oliver Wagner <[email protected]>
305    
306            * Doc/manual/thuban-manual-de.xml: More translations.
307    
308    2005-01-24  Bernhard Herzog  <[email protected]>
309    
310            Rework the status bar updates a bit to make sure the message about
311            the projections is produced at the right times.
312    
313            * Thuban/UI/mainwindow.py (MainWindow.update_status_bar_messages):
314            New class variable with messages that may require a status bar
315            update.
316            (MainWindow.view_position_changed)
317            (MainWindow.update_status_bar): Rename from view_position_changed
318            to update_status_bar.  It's meaning has changed now that it may
319            also generate messages about problems with projection settings.
320            (MainWindow.__init__): Use the new update_status_bar_messages
321            class variable to subscribe update_status_bar
322            (MainWindow.set_position_text): Update doc-string.  This method
323            has to be renamed at some point.  See doc-string and comments.
324            (MainWindow.OnClose): Unsubscribe update_status_bar from all
325            messages in update_status_bar_messages
326    
327            * Thuban/UI/viewport.py (ViewPort.forwarded_map_messages): New
328            class attribute.  map messages to be forwarded by the viewport.
329            (ViewPort._subscribe_map, ViewPort._unsubscribe_map): (un)subscribe
330            the messages in forwarded_map_messages
331    
332    2005-01-21  Bernhard Herzog  <[email protected]>
333    
334            * test/postgissupport.py (PostGISDatabase.__init__): Tweak
335            doc-string
336            (find_postgis_sql): Update for postgis-1.0.0-rc1, which uses a
337            different name for the initialization SQL file.
338    
339    2005-01-21  Jonathan Coles <[email protected]>
340    
341            * Thuban/UI/baserenderer.py (proj_params_to_str): New. Takes
342            a projection and returns a formatted string representing the
343            parameters to feed to gdalwarp. This function eliminates
344            redundancy in draw_raster_layer().
345            (BaseRenderer.render_map_incrementally): Removed the optimization which
346            drew the top most raster layer first and then only those vector-
347            based layers that are above it. With the support for transparency
348            this optimization breaks correct behaviour.
349            (BaseRenderer.draw_raster_layer): Reorganize code to support possible
350            future enhancements to raster layer bounding box. The old behaviour has
351            not changed. Also, change calling parameters to draw_raster_data()
352            to specify new RAW data format and mask.
353            (BaseRenderer.draw_raster_data): Change signature to include an optional
354            parameter for mask information. Change documentation to mention
355            support for new parameter and added option for RAW data format.
356            The data argument is now a list of [width, height, data].
357    
358            * Thuban/UI/renderer.py (MapRenderer.draw_raster_data): Add new optional
359            mask parameter. Add new condition for RAW format, which
360            significantly reduces rendering time. Add condition for
361            mask parameter.
362    
363            * libraries/thuban/gdalwarp.cpp (GetImageData): New. Creates a
364            data array of RGB values from the projected image returned from
365            the gdal warping functions. In the case of palette based images, it
366            converts the NO_DATA index to the mask color.
367            (ProjectRasterFile): Removed all custom memory driver references
368            and replaced it with the standard in-memory dataset provided
369            by gdal. The return data is no longer a BMP file, but an array
370            of RGB values, one set triple per pixel.
371    
372            * libraries/thuban/bmpdataset.cpp: Removed. Unnecessary.
373            * libraries/thuban/cpl_mfile.h: Removed. Unnecessary.
374            * libraries/thuban/cpl_mfile.cpp: Removed. Unnecessary.
375    
376            * setup.py (thuban_build_ext.finalize_options): Removed mention
377            of cpl_mfile.cpp and bmpdataset.cpp files in the list of source
378            files. These are obsolete with the new version of gdalwarp.cpp
379    
380            * test/test_baserenderer.py (SimpleRenderer.draw_raster_data):
381            Updated signature.
382            (TestBaseRenderer.test_raster_no_projection): Changed the test
383            data to be data in the uncompressed RAW format returned from
384            ProjectRasterFile.
385    
386    2005-01-21  Jan-Oliver Wagner <[email protected]>
387    
388            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Made
389            string available for i18n.
390    
391    2005-01-20  Russell Nelson  <[email protected]>
392    
393            * Resources/Projections/defaults.proj: Ruin the speling of the
394            Lambert-93 projection so it doesn't run into the wx UTF-8 bug.
395            It's the wrong thing to do in the long run, but it's necessary for
396            those users until that bug is fixed.  Otherwise the projection
397            dialog segfaults.  Better to annoy some Lambert-93 users with a
398            spelling mistake than every Fedora Core 3 user of Thuban-CVS.
399    
400    2005-01-20  Bernhard Reiter <[email protected]>
401    
402            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Added
403            docstring and comment that the warning code here is a hack.
404    
405    2005-01-20  Russell Nelson  <[email protected]>
406    
407            * Thuban/UI/mainwindow.py (MainWindow.view_position_changed): Warn
408            user about misprojected layers when their lat/lon bounding
409            box exceeds rational lat/lon values.
410    
411    2005-01-20  Bernhard Reiter <[email protected]>
412    
413            * Thuban/UI/about.py (unicodeToLocale): Improved:
414            Use 'ascii' and then 'replace' for other characters
415            when getdefaultlocale returns None. Thanks to Bernhard H. .
416    
417    2005-01-20  Bernhard Reiter <[email protected]>
418    
419            * Thuban/UI/classgen.py (GenQuantilesPanel.OnRetrieve): Added a comment
420            that OnRangeText might be called twice and using None as argument.
421    
422    2005-01-20  Bernhard Reiter <[email protected]>
423    
424            * Thuban/UI/classgen.py (GenQuantilesPanel.OnRetrieve): Add a
425            OnRangeText(0) to work around a different in wx Behaviour noticed
426            on MacOSX, thanks to Lorenzo Moretti and Daniel Calvelo for the fix.
427    
428    2005-01-20  Bernhard Reiter <[email protected]>
429    
430            * Thuban/UI/about.py: take iso-8859-15 when getdefaultlocale returns
431            None. (Fixes rt#2910.)
432            
433    2005-01-18  Frank Koormann <[email protected]>
434    
435            New Extension: mouseposition
436            Tool to collect mouse click positions (map coordinates) in a dialog.
437    
438            * Extensions/mouseposition/__init__.py: New, extension registration
439    
440            * Extensions/mouseposition/mouseposition.py: New, implements the
441            dialog and adds a tool to Thuban mainwindow.
442    
443            * Extensions/mouseposition/position.xpm: New, icon for tool.
444    
445    2005-01-14  Jan-Oliver Wagner <[email protected]>
446    
447            * Doc/manual/thuban-manual-de.xml: More translations.
448    
449    2005-01-11  Frank Koormann <[email protected]>
450    
451            * Thuban/UI/mainwindow.py (MainWindow.DuplicateLayer):
452            Fix indention bug.
453    
454    2005-01-09  Frank Koormann <[email protected]>
455    
456            * Thuban/UI/mainwindow.py (MainWindow.DuplicateLayer):
457            BugFix 2901: Explicitly copy layers ClassificationColumn since it
458            is not part of the layers Classification.
459    
460    2005-01-03  Frank Koormann <[email protected]>
461    
462            * Thuban/UI/renderer.py (ScreenRendererdraw_selection_incrementally):
463            BugFix 2883: Former implementation only worked on classified point
464            layers: KeyError was raised, now use the default size if field is None.
465    
466    2004-12-27  Bernhard Reiter <[email protected]>
467    
468            svgexport 1.0.0cvs: Fixed label export.
469    
470            * Extensions/svgexport/test/test_svgmapwriter.py:
471            class TestSVGRenderer(): New class; new test test_label_font().
472    
473            * Extensions/svgexport/svgmapwriter.py
474            (SVGRenderer.label_font()): initialised Font size with self.factor now,
475            makes test_label_font happy.
476    
477            * Extensions/svgexport/TODO: crossed out fixed label export item.
478            Added item for options.
479    
480            * Extensions/svgexport/__init__.py: Bumped version to 1.0.0cvs.
481    
482    2004-12-27  Russell Nelson  <[email protected]>
483    
484            Middle mouse button pans.
485    
486            * Thuban/UI/view.py (MapCanvas.__init__): Subscribe also
487            OnMiddleDown and OnMiddleUp events.
488            (MapCanvas.OnMiddleDown): New. Activate the pan tool and remember the
489            previously used tool.
490            (MapCanvas.OnMiddleUp): New. Reactivate the remebered tool used before
491            pressing the middle mouse button.
492    
493    2004-12-27  Jan-Oliver Wagner <[email protected]>
494    
495            * Doc/manual/thuban-manual-de.xml: More translations.
496    
497    2004-12-23  Jan-Oliver Wagner <[email protected]>
498    
499            * Thuban/UI/projdialog.py (ProjFrame.load_user_proj): Added a
500            \n to stderr after the warnings. Thanks to Russell Nelson.
501    
502    2004-12-20  Nina Hueffmeyer <[email protected]>
503    
504            * Extensions/ogr/ogrshapes.py: Fixed some issues from
505            Bernhard (coding guidelines etc.). Additionally it is now possible to
506            display shapefiles containing feature collections (e.g.polygons
507            with holes). Works with gdal 1.2.1 now.
508    
509            * Extensions/ogr/test/test_OGRShapestore.py: Fixed some issues
510            from Bernhard (coding guidelines etc.). If ogr can't be imported,
511            tests are skipped now.
512    
513            * Extensions/ogr/ogrstart.py: Fixed some typings.
514    
515    2004-12-20  Bernhard Reiter <[email protected]>
516    
517            * Extensions/svgexport/TODO: updated to add support for
518            raster layers and labels for 1.0.1.
519    
520            * Extensions/svgexport/svgmapwriter.py (draw_raster_layer):
521            Issue a warning now.
522    
523    2004-12-19  Bernhard Reiter <[email protected]>
524    
525            * Extensions/svgexport/TODO: Added idea to support triggering
526            the application down the pipe.
527    
528    2004-12-19  Bernhard Reiter <[email protected]>
529    
530            svgexport: Improved code quality, mainly by better naming.
531    
532            * Extensions/svgexport/svgmapwriter.py:
533            DrawPath() renamed to DrawPolygonPath(),
534            added documentation, improved comments and variable names.
535            
536            * Extensions/svgexport/svgmapwriter.py,
537              Extensions/svgexport/test/test_svgmapwriter.py:
538            All using DrawPolygonPath() now, the default parameter closed=True
539            omitted.
540    
541            * Extensions/svgexport/test/test_svgmapwriter.py:
542            renamed test_polygon_opened() to test_polyline()
543            renamed test_transparent_polygon() to test_transparent_polyline()
544    
545    2004-12-18  Jan-Oliver Wagner <[email protected]>
546    
547            Some fixes of gns2shp extension.
548    
549            * Extensions/gns2shp/test/__init__.py: New. Make this directory a
550            package.
551    
552            * Extensions/gns2shp/test/test_gns2shp.py: Add some import paths
553            dynamically.
554    
555            * Extensions/gns2shp/test/README: Simplified description how to test.
556    
557            * Extensions/gns2shp/gns2shp.py (gns2shp): Fixed doc-string,
558            fixed some dimensions of fields according to the GNS documentation
559            which seems to change undocumented.
560            Now killing trailing \n and/or \r from MODIFY_DATE.
561            This fixes RT#2453.
562    
563    2004-12-18  Bernhard Reiter <[email protected]>
564    
565            svgexport 1.0.0: Treats holes and islands nicely. Documentation added.
566    
567            * Extensions/svgexport/test/test_svgmapwriter.py:
568            Added new tests: test_export_polygon_with_hole()
569            and test_polygon_with_hole().
570    
571            * Extensions/svgexport/svgmapwriter.py
572            (draw_polygon_shape()): Uses DrawPath correctly now.
573    
574            * Doc/manual/thuban-manual.xml: Added documentation for stable
575            extention svgexport.    
576            * Doc/manual/thuban-manual-de.xml: Copied English section about
577            svexport over.
578    
579            * Extensions/svgexport/__init__.py: Bumped version number to 1.0.0.
580    
581            * Extensions/svgexport/svgsaver.py,maplegend.py:
582            Moved from experimental to stable extension menu.
583    
584            * Extensions/svgexport/TODO: updated.
585    
586    
587    2004-12-18  Bernhard Reiter <[email protected]>
588    
589            Added Extensions/svgexport/TODO
590    
591    2004-12-18  Bernhard Reiter <[email protected]>
592    
593            Refactored in svgexport:
594            DrawPath replaces DrawPolygon; added newline in front of "M" in paths.
595    
596            * Extensions/svgexport/svgmapwriter.py
597            Added verbosity level 3 to print out polygon points.
598            (class Point): added __repr__
599            (class Brush, __str__()): Added space after ,.
600            (DrawPolygon): Renamed to DrawPath()
601            (DrawPath): Takes list of polygons as input now, adds \n before "M"s.
602            (DrawLines): Using DrawPath now.
603    
604            * Extensions/svgexport/test/test_svgmapwriter.py:
605            Replaced DrawPolygon() calls with DrawPath() and put the first argument
606            inside another list. Adapted test data with a newline before "M".
607    
608    2004-12-18  Bernhard Reiter <[email protected]>
609            
610            Refactored svgexport tests: 9 double tests runs eliminated;
611            code size reduced by 8 lines.
612    
613            * Extensions/svgexport/test/test_svgmapwriter.py:
614            (class TestWithDC): Renamed to BaseTestWithDC, moved to top.
615            (class BaseWithDCtools): New, subclass from BaseTestWithDC.
616            (class TestDrawSplines): now subclass from BaseTestWithDCtools,
617            this fixed the double running of the nine tests of TestVirtualDC.
618            (class TestVirtualDC): Using self.dc and self.file from setUp().
619    
620    2004-12-17  Bernhard Herzog  <[email protected]>
621    
622            Two windows specific fixes ported from thuban-1�0-branch:
623    
624            * Thuban/UI/about.py (unicodeToLocale): Use getdefaultlocale
625            instead of getlocale because getlocale doesn't return a usable
626            encoding name on a german windows 2000
627    
628            * setup.py: windows build: Removed the absolute path names and
629            made all prfixes relative to the directory containing setup.py.
630            Makes it a little easier to adapt to a different system.
631    
632    2004-12-16  Bernhard Herzog  <[email protected]>
633    
634            Add support for PostGIS tables with LINESTRING geometries.
635            Fixes RT#2299
636    
637            * Thuban/Model/postgisdb.py (shapetype_map): Add LINESTRING
638    
639            * test/postgissupport.py
640            (PostgreSQLServer.get_default_static_data_db): Rename the "roads"
641            table to "roads-multi" because it now uses MULTILINESTRING
642            geometries and introduce a new "roads" table that uses LINESTRING
643            (coords_to_multilinestring): Make the doc string more precise
644            (coords_to_linestring): New.  Create a LINESTRING WKT
645            representatin
646            (wkt_converter): Add coords_to_linestring
647            (upload_shapefile): Rephrase the doc-string a bit.
648    
649            * test/test_postgis_db.py (TestPostGISShapestoreArc)
650            (LineStringTests)
651            (TestPostGISShapestoreLineString)
652            (TestPostGISShapestoreMultiLineString): Split
653            TestPostGISShapestoreArc into a base class LineStringTests and two
654            derived classes TestPostGISShapestoreLineString for LINESTRING
655            geometries and TestPostGISShapestoreMultiLineString for
656            MULTILINESTRING geometries.  Most test methods are in the base
657            class with the exception of tests that explicitly check the raw
658            format.
659    
660    2004-12-16  Bernhard Herzog  <[email protected]>
661    
662            Make the test suite work with PostGIS 0.8.2 and PostgreSQL 7.4
663    
664            * test/postgissupport.py (find_postgis_sql): Different postgis
665            versions put the postgis.sql file into slightly different places
666            so we have to look in both.  The updated doc string describes this
667            is more detail.
668    
669            * test/test_postgis_db.py
670            (TestPostGISSpecialCases.test_column_name_quoting): The return
671            value of UniqueValues is unsorted, so it has to be sorted for
672            comparison.
673    
674    2004-12-16  Bernhard Herzog  <[email protected]>
675    
676            Fix for RT#2237
677    
678            * Thuban/UI/projdialog.py (ProjFrame._show_proj_panel): If the
679            panel to be shown is the UnknownProjPanel disable the OK and Try
680            buttons.  Otherwise enable them.
681            (ProjFrame.__GetProjection): The UnknownProjPanel returns None for
682            the parameters.  In that case __GetProjection also returns None
683            now.
684    
685    2004-12-15  Bernhard Herzog  <[email protected]>
686    
687            * Thuban/UI/classgen.py (GenQuantilesPanel.__init__): Set the
688            minimum number of classes to 2.  The calculate_quantiles needs at
689            least two and raises an exception otherwise.  
690            Fixes RT#2549
691    
692    2004-12-15  Bernhard Herzog  <[email protected]>
693    
694            * test/postgissupport.py (PostgreSQLServer.execute_sql): Extend to
695            so that it returns a result for select statements.
696            (PostgreSQLServer.server_version): New.  Return the version of the
697            server software.
698            (PostgreSQLServer.require_authentication): The format of
699            pg_hba.conf has changed between PostgrSQL 7.2 and 7.3.  Check the
700            server version and generate the file in the correct format
701    
702    2004-12-15  Bernhard Herzog  <[email protected]>
703    
704            * test/postgissupport.py (PostgreSQLServer.is_running): Fix typo
705            in the doc string and rephrase it a little.
706    
707    2004-12-15  Frank Koormann <[email protected]>
708    
709            * test/test_load.py (TestAltPath.checkSession): New, extended checks if
710            session has been loaded successfully. The check is called by the relevant
711            tests after executing load_session().
712    
713    2004-12-13  Bernhard Herzog  <[email protected]>
714    
715            Make sure the region used to determine which shapes are visible
716            actually matches the region on the printed page.  If this isn't
717            done properly some shapes might not be printed.  
718            Fixes RT #2692
719    
720            * Thuban/UI/view.py (MapPrintout.draw_on_dc): The region for the
721            renderer has to be at the same position as the mapregion
722    
723            * Thuban/UI/renderer.py (ExportRenderer.RenderMap): self.region
724            has to be moved by (self.shiftx, self.shifty) too.
725    
726    2004-12-13  Bernhard Herzog  <[email protected]>
727    
728            * libraries/pyprojection/Projection.i: Work around a bug in the
729            generated python code which leads to exception in the __del__
730            method when the constructor fails.  See the comments in the code
731            for more details.
732    
733            * libraries/pyprojection/Projection.py: Updated from Projection.i
734            with SWIG.
735    
736    2004-12-13  Bernhard Herzog  <[email protected]>
737    
738            * test/test_load.py (TestAltPath.test_01_single_path_error_fix)
739            (TestAltPath.test_02_path_error_fix_from_list)
740            (TestAltPath.test_05_path_error_fix_from_list_changed)
741            (TestAltPath.test_06_path_error_fix_from_list_fails): self.session
742            is destroyed in tearDown, so there's no need to do it in a test
743            case.
744    
745            * Thuban/Model/load.py (SessionLoader.open_shapefile): Remove a
746            debug print
747    
748    2004-12-13  Bernhard Herzog  <[email protected]>
749    
750            * Extensions/svgexport/test/test_svgmapwriter.py
751            (TestDrawSplines.setUp): Do not use super with the unittest
752            classes because in Python 2.2 they're still old-style classes.
753    
754    2004-12-13  Frank Koormann <[email protected]>
755    
756        Alternative Path feature: When loading a (moved) session where
757            shapefiles cannot be found, ask the user. Use the specified path
758            if further shapefiles are missing. However, ask the usr for confirmation
759            in such cases.
760    
761            * test/test_load.py (TestAltPath): New, tests for alternative path feature
762            in load_session()
763            (Shapefile_CallBack): Helper, implements controllable callback.
764    
765            * Thuban/UI/application.py (ThubanApplication.OnInit):
766            Added "alt_path" to self.path
767            (ThubanApplication.OpenSession): Added shapefile_callback as second
768            callback similar to db_connection_callback.
769            (ThubanApplication.run_alt_path_dialog): New, implementaion of
770            shapefile_callback. In addition to raising the dialog the control of
771            self.path('alt_path') is implemented here.
772    
773            * Thuban/Model/load.py (SessionLoader.__init__): Added shapefile_callback.
774            (SessionLoader.open_shapefile): Open shapefile, eventually with
775            alternative path. This wrapps the "theSession.OpenShapefile(filename)"
776            formerly used in start_fileshapesource()/start_layer().
777            (SessionLoader.start_fileshapesource): Call open_shapefile().
778            (SessionLoader.start_layer): Call open_shapefile().
779            (load_session): Added shapefile_callback.
780    
781            * Thuban/UI/altpathdialog.py: New, implements dialogs for alternative path
782            feature (search / check).
783            
784            * Doc/manual/thuban-manual.xml: Added documentation of new feature.
785    
786    2004-12-11  Bernhard Reiter <[email protected]>
787    
788             svgexport 0.9.2: Point size supports for maps.
789    
790            * Extensions/svgexport/svgmapwriter.py: Added import of SHAPETYPE_POINT
791            (def draw_point_shape): new parameter size defaults to 2 as before.
792            (draw_shape_layer_incrementally): Moved draw_func log line higher.
793            Added draw_func call with size when dealing with a point layer.
794    
795            * Extensions/svgexport/__init__.py: bumped version to 0.9.2.
796            
797    2004-12-11  Bernhard Reiter <[email protected]>
798    
799            Made sure that newlines are inserted in the svg path d attributes
800            to raise the chance that the line length will be below 255 characters,
801            as recommended by REC SVG 1.1 in section 8.3.1.
802    
803            * Extensions/svgexport/svgmapwriter.py(DrawPolygon):
804            Adding \n before L's and changed whitespace handling.
805    
806            * Extensions/svgexport/test/test_svgmapwriter.py:
807            Adapted tests to new whitespace handling of DrawPolygon.
808    
809    2004-12-11  Bernhard Reiter <[email protected]>
810    
811            * Doc/technotes/coding_guidelines.txt: easy typo fixed.
812    
813            * Extensions/svgexport/test/test_svgmapwriter.py:
814            Removed test_drawbezier in favour of new test_drawspline3 and
815            test_drawspline4 within new class TestDrawSplines(TestVirtualDC).
816            All only to test DrawSpline.
817    
818            * Extensions/svgexport/svgmapwriter.py(DrawSpline):
819            New implementation now really using the strange algorithm of
820            xfig 3.1's approximated splines and its conversion to postscript
821            with one twist: SVG can do quadratic beziers, so skipped translation
822            to cubic beziers.
823            (TestWithDC): Typo in comment fixed.
824    
825    2004-12-09  Martin Schulze  <[email protected]>
826    
827            * Thuban/Model/classgen.py: Added missing character encoding
828    
829            * Extensions/wms/properties.py (OpenWMSProperties): removed
830    
831            * Extensions/wms/parser.py (WMSCapabilitiesParser.error): Dropped
832            support for get_srs_discrepancies() since there are no
833            discrepancies anymore (was a thinko)
834    
835            * Extensions/wms/layer.py (WMSLayer.GetMapImg): Improved graphic
836            format priority now that more formats are supported globally by
837            the render engine.
838    
839    2004-12-08  Silke Reimer <[email protected]>
840            * Extensions/ogr/ogrshapes.py: Substituted ogr-method CloseRings
841            because it is not available in all versions of ogr
842    
843    2004-12-08  Bernhard Reiter <[email protected]>
844            * Extensions/ogr/__init__.py: Added empty __init__.py to heal
845            global tests until a real one is commited.
846    
847    2004-12-07 Nina H�ffmeyer <[email protected]>
848    
849            * /Extensions/ogr/: Adding a new extension to read shapefiles with
850            ogr. It is planned to add other vector formats.
851    
852            * /test/runtests.py: Adding tests from /Extensions/ogr/test/.
853    
854    2004-12-07  Jan-Oliver Wagner <[email protected]>
855    
856            * /Extensions/svgexport/test/test_svgmapwriter.py: Reverting
857            part of a (non-)fix to renable that the tests are always
858            executed.
859    
860    2004-12-07  Bernhard Reiter <[email protected]>
861    
862            * Extensions/svgexport/test/test_svgmapwriter.py:
863            Added test_drawbezier() to test DrawSpline().
864    
865            * Extensions/svgexport/svgmapwriter.py(DrawSpline):
866            Really implemented bezier drawing.
867    
868            * Extensions/svgexport/__init__.py: Bumped version of svgexport
869            to 0.9.1 because now the legend examples lines styles
870            will be drawing with beziers.
871    
872    2004-12-05  Martin Schulze  <[email protected]>
873    
874            * Thuban/UI/renderer.py (raster_format_map): Added PNG, TIFF and
875            GIF as supported bitmap image formats (helpful for the WMS extension)
876    
877    2004-11-30  Martin Schulze  <[email protected]>
878    
879            * Extensions/wms/test/test_ogclib.py (TestOGCLib.test_compareURLs):
880            Improved the test for the internal compare method
881    
882    2004-11-27  Jan-Oliver Wagner <[email protected]>
883    
884            * Thuban/UI/about.py (About.__init__): Added
885            Norbert Solymosi for hungarian translation and Ole Rahn
886            as contrbutor. Moved Bernhard Reiter from Contributor
887            to Developer.
888    
889    2004-11-27  Bernhard Reiter <[email protected]>
890    
891            * Extensions/svgexport/test/test_svgmapwriter.py:
892            Removed Jan from author list as he did not change enough significant
893            lines yet.
894    
895            * Extensions/svgexport/__init__.py: Added Bernhard as author
896            of the Extension.
897    
898    2004-11-27  Jan-Oliver Wagner <[email protected]>
899    
900            * po/hu.po: New. Hungarian translation. Contributed
901            by Norbert Solymosi.
902    
903    2004-11-26  Bernhard Herzog  <[email protected]>
904    
905            * Extensions/svgexport/test/test_svgmapwriter.py
906            (Testobjectexport.test_transparent_polygon): Commented out some
907            debug prints
908    
909    2004-11-24  Jan-Oliver Wagner <[email protected]>
910    
911            Fix broken tests for svg extension and added svg legend
912            to Experimental menu.
913    
914            * Extensions/svgexport/test/test_svgmapwriter.py: Fix to have
915            the test run correctly even if the extension is a package.
916            Also removed the "import Thuban" which makes no sense.
917    
918            * Extensions/svgexport/__init__.py: Fix to have the extensions'
919            test module also be executed from the global test routine.
920            This is done by looking for the absense of the DISPLAY variable.
921    
922            * Extensions/svgexport/maplegend.py: Moved the menu entry from Extensions
923            to Experimental menu since this module has yet not reached a stable
924            status (ie. 1.0).
925    
926    2004-11-22  Bernhard Reiter <[email protected]>
927    
928            * Extensions/svgexport/svgmapwriter.py:
929            Added verbose variable and some logging depending on it.
930            (class VirtualDC(XMLWriter)): Minor improvement in the polygon loop,
931            because counting i is not necessary.
932            (class Pen, class Brush): Added simple __str__ methods.
933            (SVGRenderer.draw_polygone_shape): Fix #2698 (transparent polygons are
934            not exported to svg file) Note: holes still unhandled.
935    
936            * Extensions/svgexport/test/test_svgmapwriter.py:
937                    Made a baseclass TestWithDC for test needed a DC.
938                    Added tests for bug #2698 (transparent polygons are not
939                    exported to svg file):
940                    Testobjectexport.test_transparent_polygon()
941    
942            * Thuban/Model/base.py (UnsetModified):
943            Fixed some typos in docstring.
944    
945            * Thuban/UI/baserenderer.py (BaseRenderer.draw_polygon_shape()):
946            Added hints on the used algorithm for handling holes.
947    
948    2004-11-20  Jan-Oliver Wagner <[email protected]>
949    
950            Some face lifting for the examples.
951    
952            * Examples/__init__.py: Make this directory a package.
953    
954            * Examples/simple_extensions/__init__.py: Make this directory a package.
955    
956            * Examples/simple_extensions/hello_world.py: Moved entry from Extensions
957            menu to Examples menu.
958    
959            * Examples/simple_extensions/simple_command.py: Some more comments,
960            minor changes.
961    
962            * Examples/simple_extensions/simple_tool.py: Minor changes.
963    
964    2004-11-20  Jan-Oliver Wagner <[email protected]>
965    
966            Changed way of extension registry for wms and added extension
967            registry for umn_mapserver extension.
968    
969            * Extensions/wms/__init__.py: Added registry entry and the importing
970            of the actual wms module. Included a test for the required PyOGCLib.
971    
972            * Extensions/wms/wms.py: Removed registry entry (moved to __init__.py).
973    
974            * Extensions/umn_mapserver/__init__.py: Added registry entry and the
975            importing of the actual umn mapserver management modules.
976            Included a test for the required Python MapScript.
977    
978    2004-11-20  Jan-Oliver Wagner <[email protected]>
979    
980            Changed way of extension registry for importAPR, bboxdump
981            and added extension registry for svgexport.extension registry for
982            svgexport.
983    
984            * Extensions/importAPR/__init__.py: Added registry entry and the importing
985            of the actual importAPR module.
986    
987            * Extensions/importAPR/importAPR.py: Removed registry entry (moved to
988            __init__.py).
989    
990            * Extensions/bboxdump/__init__.py: Added registry entry and the importing
991            ����of the actual bboxdump module.
992    
993            * Extensions/bboxdump/bboxdump.py: Removed registry entry (moved to
994            ����__init__.py).
995    
996            * Extensions/svgexport/__init__.py: Added registry entry and the importing
997            of the svgsaver module.
998    
999            * Extensions/svgexport/svgsaver.py: Moved the menu entry from Extensions
1000            to Experimental menu since this module has yet not reached a stable
1001            status (ie. 1.0).
1002    
1003    2004-11-18  Jan-Oliver Wagner <[email protected]>
1004    
1005            Now the hit test considers the size of point symbols.
1006    
1007            * Thuban/UI/viewport.py (ViewPort._hit_point): Added optional parameter
1008            'size' defaulting to the previously fixed value 5.
1009            Extended doc-string.
1010            (Viewport._find_shape_in_layer): Resolved FIXME regarding flexibility
1011            for symbols.
1012            Now the size of the largest point symbol is determined to find out
1013            about whether the point has been hit.
1014            This fixes the problem that only clicks inside a fixed distance of
1015            5 where found.
1016    
1017    2004-11-17  Jan-Oliver Wagner <[email protected]>
1018    
1019            Another open issue fixed regarding sizeable symbols: correct rendering of
1020            selected symbols.
1021    
1022            * Thuban/UI/renderer.py (ScreenRenderer.draw_selection_incrementally):
1023            Added consideration of the specific size of point symbols.
1024            The property for each point symbol is retrieved and the size applied
1025            for the rendering method.
1026            Added doc-string.
1027    
1028    2004-11-16  Jan-Oliver Wagner <[email protected]>
1029    
1030            Changed way of Extension Registry for gns2shp and profiling.
1031    
1032            * Extensions/gns2shp/gns2shp.py: Removed registry entry (moved to
1033            __init__.py).
1034    
1035            * Extensions/gns2shp/__init__.py: Added registry entry and the importing
1036            of the actual gns2shp module.
1037    
1038            * Extensions/profiling/profiling.py: Removed registry entry (moved to
1039            __init__.py).
1040    
1041            * Extensions/profiling/__init__.py: Added registry entry and the importing
1042            of the actual profiling module.
1043    
1044    2004-10-28  Bernhard Reiter <[email protected]>
1045    
1046            * Extensions/svgexport/: Minor improvements to doc strings.
1047    
1048    2004-10-07  Jan-Oliver Wagner <[email protected]>
1049    
1050            Further elements for sizable point objects now
1051            making this feature usable though not yet complete.
1052    
1053            * Thuban/Model/save.py (SessionSaver.write_classification): Write
1054            attribute 'size' for cldata when the shape layer is of point type.
1055            This also now make the test_load.py tests happy.
1056    
1057            * Thuban/Model/classgen.py (CustomRamp.GetProperties): Added size
1058            gradient.
1059    
1060            * Thuban/UI/classifier.py (ID_SELPROP_SPINCTRL): Renamed to
1061            ID_SELPROP_SPINCTRL_LINEWIDTH.
1062            (ID_SELPROP_SPINCTRL_LINEWIDTH): New Id replaces ID_SELPROP_SPINCTRL.
1063            (ID_SELPROP_SPINCTRL_SIZE): New Id.
1064            (SelectPropertiesDialog.__init__): Added a second spin control
1065            for the size in case the corresponding layer is of point type.
1066            (SelectPropertiesDialog._OnSpin): Renamed to _OnSpinLineWidth.
1067            (SelectPropertiesDialog._OnSpinLineWidth): New. Former _OnSpin.
1068            (SelectPropertiesDialog._OnSpinSize): New. Set size of property
1069            and refresh preview.
1070    
1071    
1072    
1073    2004-10-04  Martin Schulze  <[email protected]>
1074    
1075            * Extensions/wms/test/test_parser.py
1076            (TestWMSCapabilitiesParser.test_compareLists): Added missing
1077            self-test for compareLists()
1078            (TestWMSCapabilitiesParser.test_compareDicts): Added missing
1079            self-test for compareDicts()
1080            (TestWMSCapabilitiesParser.test_compareLists): Adding more tests
1081            to verify the test routine fails with non-equal arguments
1082            (TestWMSCapabilitiesParser.test_compareDicts): Adding more tests
1083            to verify the test routine fails with non-equal arguments
1084    
1085    2004-10-03  Jan-Oliver Wagner <[email protected]>
1086    
1087            First elements for sizeable point objects.
1088    
1089            * Resources/XML/thuban-1.1.dtd: Added size attribute to cldata.
1090    
1091            * Data/iceland_sample_size.thuban: New. Sample for sized point objects.
1092    
1093            * test/test_load.py (ClassificationTest.TestLayers): Added SetSize in case
1094            of a corresponding argument is given.
1095            (TestSymbolSize): New. Test the size attribute of cldata.
1096    
1097            * Thuban/Model/classification.py: Removed some trailing whitespaces.
1098            (ClassGroupProperties.__init__): Set default size.
1099            (ClassGroupProperties.SetProperties): Set the size.
1100            (ClassGroupProperties.GetSize): New. Return the size.
1101            (ClassGroupProperties.SetSize): New. Set the size.
1102            (ClassGroupProperties__eq__): Compare also size.
1103            (ClassGroupProperties__repr__): Print also size.
1104    
1105            * Thuban/Model/load.py (SessionLoader.start_cldata): Also parse
1106            the size attribute.
1107    
1108            * Thuban/UI/classifier.py (ClassDataPreviewer.Draw): Added doc-string.
1109            Also, now there is a return value that indicates whether the drawing
1110            size exceeded the given rect extent and if so the new extent.
1111            Finally, point objects are drawn depending on the size. If either
1112            the width or height is exceeded, the new extent is returned.
1113            (ClassRenderer.Draw): Now when calling the previewer drawing function,
1114            evaluate the return value and, if not None, adapt the grid widget size
1115            accordingly and redraw again.
1116    
1117            * Thuban/UI/baserenderer.py (BaseRenderer.draw_shape_layer_incrementally):
1118            If the draw function is for points, call it with the size as additional
1119            parameter.
1120            (BaseRenderer.draw_point_shape): Added additional, optional parameter for
1121            the size. Compute the radius using the size.
1122    
1123            * Extensions/importAPR/apr.py (APR_BMkSym.GetThubanProp): Now
1124            that Thuban supports size, apply this correctly.
1125    
1126            * Extensions/importAPR/importAPR.py: Bumped version to 0.1.1.
1127    
1128    2004-10-03  Jan-Oliver Wagner <[email protected]>
1129    
1130            * Doc/manual/thuban-manual-de.xml: Started translation of
1131            Map chapter.
1132    
1133    2004-10-01  Martin Schulze  <[email protected]>
1134    
1135            * Extensions/wms/properties.py (wmsProperties.__init__): Extended
1136            argument for general use through properties-dialog selector
1137            
1138            * Thuban/UI/classifier.py: Register properties dialog classes for
1139            both provided layer classes/types.
1140    
1141            * Thuban/UI/mainwindow.py (MainWindow.OpenLayerProperties): The
1142            map can be retrieved through the parent which is passed to the
1143            constructor anyway and doesn't require an argument of its own,
1144            required for the unification of arguments for general use through
1145            properties-dialog selector.
1146            (MainWindow.OpenOrRaiseDialog): Move the logic for checking
1147            whether a dialog is already opened (and raising it to the users
1148            attention) and creating a new dialog into a function of its own
1149            (MainWindow.OpenLayerProperties): Use the new OpenOrRaiseDialog()
1150            method
1151            (MainWindow.OpenLayerProperties): Utilise the new ClassMapper for
1152            global registration of properties dialog classes (which are indeed
1153            layer-specific).
1154    
1155            * Thuban/UI/classifier.py (Classifier.__init__): Unify arguments
1156            for general use through properties-dialog selector, the map can be
1157            retrieved through the parent and doesn't require an argument of
1158            its own.
1159    
1160            * Extensions/wms/wms.py: Register the properties dialog class for
1161            the provided WMS layer
1162    
1163    2004-09-28  Jan-Oliver Wagner <[email protected]>
1164    
1165            New feature: Registry for Extensions.
1166    
1167            * Thuban/UI/extensionregistry.py: This module defines a registry for
1168            Extensions.
1169    
1170            * Thuban/UI/about.py (About.__init__): Added description
1171            of the registered extensions with all of the information.
1172    
1173            * Thuban/Model/extension.py (Extension): Improved doc-string.
1174    
1175            * Extensions/gns2shp/gns2shp.py, Extensions/importAPR/importAPR.py,
1176            Extensions/bboxdump/bboxdump.py, Extensions/profiling/profiling.py,
1177            Extensions/wms/wms.py: Added registration of the extension.
1178    
1179    2004-09-27  Bernhard Reiter <[email protected]>
1180    
1181            More fixes to svgexport to make used ids unique and
1182            conforming to XML's Name production.
1183    
1184            * Extensions/svgexport/test/test_svgmapwriter.py: Added new tests
1185            test_xml_id_constraints(), test_make_ide_nosetbaseid() and
1186            test_make_id_nonintegersetid().  Switched SetID and SetBaseID.
1187            Added Bernhard R. as author.
1188            * Extensions/svgexport/svgmapwriter.py (make_id): Using "_" as
1189            concatenation char now (makes test_make_ide_nosetbaseid() valid).
1190            Also transform second id part with "%d" and catch the TypeError
1191            to raise SVGMapWriterError (making test_make_id_nonintegersetid() ok).
1192            Corrected typo inBernhard's author line.
1193            (SetBaseID): Return the transformed base id. Transform characters
1194            which are not alnum() or in ".-_" to binascii.b2a_hex(). Added
1195            import binascii. If to be set string starts with "xml" or so, add "t".
1196            (draw_shape_layer_incrementally): use the returned value of SetBaseID
1197            for used_baseids checks.
1198    
1199    2004-09-25  Bernhard Herzog  <[email protected]>
1200    
1201            * test/test_layer.py (TestLayer.test_arc_layer_with_projection):
1202            Remove a debug print and some tab characters.
1203    
1204    2004-09-25  Bernhard Reiter <[email protected]>
1205    
1206            * Extensions/svgexport/svgmapwriter.py: Added Bernhard R. as Author.
1207            (SetBaseID, SetID, make_id): Improved docstring comments to explain
1208            the interaction of the three functions and the XML id contrains.
1209    
1210    
1211    2004-09-23  Jan-Oliver Wagner <[email protected]>
1212    
1213            * Doc/ThubanModel.xmi: New. UML file for Thuban Model
1214            Module.
1215    
1216            * Doc/README: Added info on ThubanModel.xmi.
1217    
1218    2004-09-23  Jan-Oliver Wagner <[email protected]>
1219    
1220            * Doc/README: New. Some info about how to generate technical
1221            documentation from the source code.
1222            This text was send to the Thuban developer mailing list on
1223            September 21st 2004 by Bernhard Reiter.
1224    
1225    2004-09-21  Bernhard Reiter <[email protected]>
1226    
1227            Improved the svgexport to only use unique ids. Will issues
1228            an error message dialoge when two layer names are the same.
1229            ShapeIDs are now added with a dash within the svg ids.
1230    
1231            * Extensions/svgexport/svgmapwriter.py (SVGMapWriterError): New.
1232            * Extensions/svgexport/test/test_svgmapwriter.py: Added imports
1233            (TestSVGRenderer): New test class with test_make_in() and
1234            test_check_for_layer_name_clash()
1235            * Extensions/svgexport/svgmapwriter.py (SVGRenderer): Fixed __init__()
1236            and draw_shape_layer_incrementally() to not use a baseid twice,
1237            satisfying test_check_for_layer_name_clash()
1238            (VirtualDC.make_id): Use a dash between baseit and id, satisfies
1239            test_make_in().
1240            * Extensions/svexport/svgsaver.py: Import SVGMapWriterError, wxOK
1241            and wxICON_HAND.
1242            (write_to_svg): Put dc and rendering in a try statement and on
1243            catching SVGmapWriterError notify the user and delete the target file.
1244    
1245    2004-09-20  Bernhard Reiter <[email protected]>
1246    
1247            * Model/base.by, Model/layer.py: Fixed typos in docstrings.
1248    
1249    2004-09-03  Jan Sch�ngel  <[email protected]>
1250    
1251            * Extensions/umn_mapserver/mapfile(MF_Class.add_thubanstyle): Fix a
1252            small bug with the line color. Now the line color will now only set
1253            if it is set in Thuban an not Transparent.
1254            
1255            * Extensions/umn_mapserver/mf_export(tblayer_to_map): Fixed a bug with
1256            deleting the layers from mapfile. Now all layers will delete backwards
1257            from the last.
1258    
1259    2004-08-20  Silke Reimer <[email protected]>
1260    
1261            * Thuban/Model/layer.py:
1262            Fixes bug in projection handling: Otherwise very large region might not
1263            have valid values in the layer's projection.
1264    
1265    2004-08-20  Silke Reimer <[email protected]>
1266    
1267            * Thuban/UI/about.py:
1268            small changes to be consistent with coding style.
1269              
1270    2004-08-13  Martin Schulze  <[email protected]>
1271    
1272            * Extensions/wms/test/test_ogclib.py (TestOGCLib.compare_URLs):
1273            Adjusted a comment
1274    
1275    2004-08-11  Silke Reimer <[email protected]>
1276    
1277            * Thuban/UI/about.py: Small changes to encoding related stuff to avoid
1278                    too many and too enhanced imports of locale
1279    
1280    2004-08-10  Silke Reimer <[email protected]>
1281    
1282            * Thuban/UI/about.py: Fixed encoding problem of about dialog: Added
1283                    function unicodeToLocale() to convert special characters to users
1284                    locale encoding
1285    
1286    2004-08-10  Jan-Oliver Wagner <[email protected]>
1287    
1288            * Doc/technotes/coding_guidelines.txt: Added rule 'Method names start with
1289            lower case letter'
1290    
1291    2004-08-09  Jan Sch�ngel  <[email protected]>
1292    
1293            * ChangeLog: Rewrite the last ChangeLog entry to follow
1294            the standard way.
1295    
1296            * Extensions/umn_mapserver/mapfile: Moved the import AnnotationLayer to
1297            the function where it is needed, because it don't works if it stands
1298            at the beginning.
1299            (MF_Layer.__init__): Removed the extra numclassed variable. Now
1300            numclasses from the mapscript will be used.
1301            (MF_Layer.get_index): New. Return the index of the layer in mapfile.
1302            (MF_Layer.set_classes): New. A Classlist will be set to the layer.
1303            (MF_Layer.set_metadata): New. A Metadata mapscript object will set.
1304            (MF_Layer.remove_allclasses): New. All class of the layer will remove.
1305            (MF_Map.create_new_layer): New. A new Layer is created and associated
1306            with the mapscript object.
1307            (MF_Map.set_layerorder): New. The Layer order like in thuban is set in
1308            the mapscript.
1309            (MF_Map.add_thubanlayer): Now a new layerobj is created if no one is
1310            linked to the layer in thuban, else the layerobject linked to the
1311            thubanlayer will be used.
1312            AnnotationLayer will now store the filename of the shapefile.
1313            (MF_Map.remove_layer): If a layer is removed the associated object
1314            must be set new.
1315            
1316            * Extensions/umn_mapserver/mf_export.py(tb_layer_to_map): Add all
1317            layers which are exists in thuban to the mapobj. All removed Layers
1318            will be removed from the mapobj.
1319            Added comments to all functions.
1320            (thuban_to_map): No layer will be removed here.
1321            
1322            * Extensions/umn_mapserver/mf_handle.py
1323            (_has_umn_mapobj_and_selectedlayer): Activating the layer menu. Now
1324            Layersettings for the mapserver kann be edited.
1325    
1326            * Extensions/umn_mapserver/mf_import.py: Now all layers which are
1327            imported, will be linked with the associated MF_Layer.
1328            (import_mapfile): All layers, which are not selected, will be removed.
1329            Disable the "import layer from mapfile" menu option.
1330    
1331            * Extensions/umn_mapserver/sample/iceland.map: Set the status of the
1332            Annotation Layer from DEFAULT to OFF. The DEFAULT setting turns the
1333            layer on permanently.
1334    
1335    2004-08-03  Jan Sch�ngel  <[email protected]>
1336    
1337            * Extensions/umn_mapserver/mapfile.py(MF_Metadata.remove_allmetadata):
1338            New. This function removes all metadata
1339            (MF_Layer.set_group): New. Set the group setting.
1340            (MF_Layer.get_group): New. Get the group setting.
1341            (MF_Map): Removed the extra numlayers variable, used the mapscript
1342            parameter instead.
1343            (MF_Map.get_numlayers): New. This get numlayers.
1344            (MF_Map.remove_all_layers): New. Removes all layers from the mapobj.
1345            (MF_Map.add_thubanlayer): Replaced the exception handling by a check
1346            if the object is an instance. Also added the annotation layer here to
1347            export, but only the layer is created in the mapfile.
1348    
1349            * Extensions/umn_mapserver/mf_export.py(export_mapfile): Removed
1350            the check if a mapobj exist, because its not needed anymore. The
1351            export function is only available if a mapobj exist.
1352            Use the new function to remove all layers.
1353            
1354            * Extensions/umn_mapserver/mf_handle.py(Layer_Dialog): Added a group
1355            option and the metadata button. The layer dialog is temporary disabled.
1356            (Metadata_CustomDataTable): Added some functions to show the grid
1357            correct.
1358    
1359            * Extensions/umn_mapserver/mf_import.py: Moved the code for showing
1360            the number of layer from import_mapfile to this function.
1361            (AnnotationLayer): New. This Class shows the Annotation layer in
1362            thuban. The layer don't do anything. It's only to show the layer
1363            and to save the layer order.
1364            (add_annotationlayer): New. Import an annotation layer to thuban.
1365            (select_layer2import): New. Import only layers to thuban and not
1366            the other settings like projection or scalebar.
1367            (create_new_mapfile): Moved the _has_umn_mapobj function and the
1368            create_new_mapfile functions from mf_handle.py to mf_import.py.
1369            
1370            * Extensions/umn_mapserver/sample/iceland.map: Added the group
1371            parameter to the roads and cultural layers. Also added a new
1372            Annotation Layer for the cultural points.
1373    
1374            * Extensions/umn_mapserver/sample/iceland.html: Added the select
1375            option for the annotation layer.
1376    
1377            * Extensions/umn_mapserver/sample/index.html: Added the start
1378            parameter for the annotation layer.
1379    
1380    2004-08-01  Jan-Oliver Wagner <[email protected]>
1381    
1382            * Doc/manual/thuban-manual-de.xml (Chapter Session Management):
1383            translation completed.
1384    
1385            * Doc/manual/thuban-manual.xml (Chapter Session Management):
1386            Fixed unprecise description for Save Session.
1387    
1388    2004-07-31  Jan-Oliver Wagner <[email protected]>
1389    
1390            Started translation of Users Manual into german.
1391    
1392            * Doc/manual/thuban-manual-de.xml: New. German Users Manual.
1393    
1394            * Doc/manual/Makefile: Added build instructions for german
1395            users manual.
1396    
1397            * Doc/manual/thuban-manual.xml: Minor corrections in Introduction.
1398    
1399    2004-07-28  Jan Sch�ngel  <[email protected]>
1400    
1401            * Extensions/umn_mapserver/mapfile.py(MF_Metadata): Changed all class
1402            functions. Now all metadata will handle by the function and its not
1403            needed to initialize it from outside. Therefor the associated mapobj
1404            will be stored in the Metadata Object. So we can use the special
1405            functions from the associated mapobj to get the Metadata.
1406            Therefor all initialization code for the metadata is removed from the
1407            other classes.
1408            (MF_Layer): Added a function to get the metadata object.
1409            (MF_Map): Added a function to set the mappath, the path where
1410            the mapfile ist stored.
1411    
1412            * Extensions/umn_mapserver/mf_export.py(thuban_to_map): Changed the code
1413            to set the extent in the mapfile. Now the code is set by the displayed
1414            data in the Thuban-view.
1415            (export_mapfile): The shapepath is now set empty, until relative
1416            pathnames are supported.
1417    
1418            * Extension/umn_mapserver/mf_handle.py: Added a dialog to handle
1419            metadata. Yet only mapfile metadata are supported. Layer and class
1420            supported are not implemented.
1421            Added a dialog to handle layer informations. The dialog only shows the
1422            selected layer at the moment.
1423    
1424            * Extensions/umn_mapserver/mf_import.py(import_mapfile): Changed the
1425            code for setting the extent in thuban. Now the extent is set to the
1426            given extent from the mapfile.
1427            Fixed a logical mistake. Now the extent is set when realy a layer is
1428            loaded, and not if one is selected to load.
1429    
1430            * Extensions/umn_mapserver/sample/iceland.html: Added code to zoom and
1431            move the shown map in the browser.
1432    
1433            * Extensions/umn_mapserver/sample/iceland.map: Added a new metadata
1434            line to the mapobj and added metadata to the political layer.
1435    
1436            * Extensions/umn_mapserver/test/test_mapserver.py: Changed the test
1437            for Metadata.
1438    
1439    2004-07-26  Martin Schulze  <[email protected]>
1440    
1441            * Thuban/Lib/classmapper.py (ClassMapper.has): Added the new
1442            ClassMapper
1443    
1444            * test/test_classmapper.py (TestMapping.test_mapper): Added a Test
1445            case for the new ClassMapper
1446    
1447    
1448    2004-07-22  Bernhard Herzog  <[email protected]>
1449    
1450            * Thuban/UI/viewport.py (ViewPort.VisibleExtent): New.  Return the
1451            visible extent of the map in projected coordinates
1452    
1453            * test/test_viewport.py (SimpleViewPortTest.test_default_size)
1454            (SimpleViewPortTest.test_init_with_size): Add some VisibleExtent()
1455            tests.
1456            (SimpleViewPortTest.test_visible_extent): New. The real test for
1457            VisibleExtent()
1458    
1459    2004-07-22  Bernhard Herzog  <[email protected]>
1460    
1461            * test/test_viewport.py: Use support.run_tests as the main
1462            function when running asa script.
1463    
1464    2004-07-22  Jan Sch�ngel <[email protected]>
1465    
1466            * Extensions/umn_mapserver/mf_export.py: Added "import os"
1467            Removed the old "import Thuban.UI.mainwindow" code.
1468            (tbextent_to_map): Removed the extra function and at the code direct
1469            to "thuban_to_map" function.
1470            (write_creatorcomment): Added. Now a short comment is added to the
1471            beginning of an generated mapfile.
1472            (export_mapfile): Now the Path and filename are saved in to variables,
1473            and not together in one variable. This is needed for the new
1474            write_creatorcomment function.
1475                    
1476            * Extensions/umn_mapserver/mf_import.py (import_mapfile): Added the
1477            import module "re". Also added Range and the ClassGroupRange import
1478            from Thuban. Both are needed for the new range expression import.
1479            (create_rangeexpression): Added. Creates a Range Expression in Thuban
1480            style from a given mapfile expression.
1481            (added_rasterlayer): Make some small code changes. The shapepath is
1482            now stored in an extra variable and the clazz_name is set empty if no
1483            class name set in the mapfile.
1484            Changed the Error message for Range Expressions, becaus the new
1485            function create a error string which will be shown in the dialog.
1486    
1487            * Extensions/umn_mapserver/test/test_mapserver.py: Added a test for the
1488            range expression import.
1489    
1490    2004-07-21  Jan-Oliver Wagner <[email protected]>
1491    
1492            * Extensions/umn_mapserver/README: Added hint that
1493            installation as root can be avoided. Removed all tabs.
1494    
1495    2004-07-16  Bernhard Herzog  <[email protected]>
1496    
1497            * test/test_viewport.py
1498            (ViewPortTest.test_changing_map_projection): Check that changing
1499            the projection of an empty map shown in a viewport doesn't lead to
1500            exceptions in the viewport's handler for the
1501            MAP_PROJECTION_CHANGED messages
1502    
1503            * Thuban/UI/viewport.py (ViewPort.map_projection_changed): Only
1504            try to keep the same region visible when the map actually contains
1505            something
1506    
1507    2004-07-15  Jan Sch�ngel <[email protected]>
1508    
1509            * Extensions/umn_mapserver/mapfile.py: Added a function to get the
1510            mappath directly from the mapobj. Is needed because of the changes
1511            in mf_import.py.
1512            (MF_Layer.add_thubanclass): Added a new comment.
1513            (MF_Map.set_extent): Fixed a bug with exporting empty mapobj. If the
1514            mapobj is empty there is no extent get from thuban an so no one can
1515            set to th mapobj.
1516            
1517            * Extensions/umn_mapserver/mf_import.py (import_mapfile): Updated
1518            the discription.
1519            Split the funktion in to three smaller ones. The new functions are
1520            add_rasterlayer, add_polygonlayer and select_layer2import.
1521            Removed the mapfilepath and filepath initialisation, because its know
1522            include in the new functions.
1523            Now nothing will be imported if cancel is pressed in the
1524            layer choice dialog.
1525    
1526    2004-07-14  Jan Sch�ngel <[email protected]>
1527    
1528            * Extensions/umn_mapserver/mapfile.py: Added ClassGroupDefault to
1529            import.
1530            (MF_Symbolset): Removed the extra variable for numsymbols.
1531            (MF_Class.__init__): Added a comment to the exception clause.
1532            Removed the extent init, because it was not needed anymore.
1533            (MF_Layer.add_thubanclass): Added the code to set the class name to
1534            the expression value from thuban if no label is defined.
1535            Added the code to export Range expressions from thuban to the mapfile.
1536            (MF_Map.set_extent): Removed the exception and replace it by some if
1537            code. If the size of a map is not defined the size will be set to 1,1.
1538            This is necessary because if the extent is set, mapscript checks if
1539            the size is greater than zero.
1540            (MF_Web): Added the get and set function for the template.
1541    
1542            * Extensions/umn_mapserver/mf_export.py: Added the function to check
1543            if a mapobject exists and used it to set the status of the menu items.
1544            If no mapfile exists the settings could not be edditied.
1545            Define after which menuitem the exportitem will include.
1546            
1547            * Extensions/umn_mapserver/mf_handle.py: Removed the import
1548            Thuban.UI.mainwindow clause, because it is not needed.
1549            Added the command Refresh() to all "OnChangeColor()" functions,
1550            because the color preview window was not updated on a color change.
1551            Added the function to check if a mapobject exists and used it to set the
1552            status of the menu items. If no mapobject exists the settings could not
1553            be edditied.
1554            (Map_Dialog): Moved the imagetype selector from the
1555            Outputformat_Dialog to Map_Dialog and removed Outputformat_Dialog.
1556            (Web_Dialog): Removed the name label and added the template textbox.
1557    
1558            * Extensions/umn_mapserver/mf_import.py (import_mapfile): Replace
1559            the exception handling on loading the layers by an if statement. It
1560            is not necessary to us the exception there.
1561            The Filepath creation now use os.path.join to build the path.
1562    
1563            * Extensions/umn_mapserver/test/test_mapserver.py: Moved the testMap
1564            definition from global to the setUp function. Now the testMap will
1565            initialize new on each test.
1566    
1567            * Extensions/umn_mapserver/sample/iceland.map: Include three new
1568            classes in the Line Layer, to test logical Expressions.
1569            Set the status of the class "Point9" in the Point Layer to off
1570            
1571    2004-07-13  Bernhard Herzog  <[email protected]>
1572    
1573            * Thuban/UI/baserenderer.py
1574            (BaseRenderer.render_map_incrementally): Fix a logic bug in the
1575            optimization that tries not to draw layers under a raster layer.
1576            The bug was harmless.  All it effectively did was to produce The a
1577            strange messages about not being able to draw Layer instances for
1578            all vector layers below a raster layer which would be invisible
1579            anyway because the raster layer currently always covers the entire
1580            window
1581    
1582    2004-07-08  Jan Sch�ngel <[email protected]>
1583    
1584            * Extensions/umn_mapserver/mapfile.py: Added code to generade and get
1585            a list of supported outputformats. This formats are not alle supported
1586            because there is no possibility to get the outputformat without the
1587            name known. Make some formal changes to the code.
1588            (MF_Map.set_name()): Fixed a bug if the name is None.
1589    
1590            * Extensions/umn_mapserver/mf_handle.py: Removed the image_type import
1591            statement, because its not needed anymore. The Outputformat is now
1592            given as string from the object. Make some formal changes to the code.
1593    
1594            * Extensions/umn_mapserver/test/test_mapserver.py: Added new test for
1595            most of the new setting which were added during the last changes.
1596            Removed the MF_Size Test.
1597            
1598            * Extensions/umn_mapserver/test/test.map: Added a new class to the
1599            cultural Layer to test expressions and the the status of that layer
1600            from on to default.
1601            Changed the data path the the correct Thuban Data
1602            Added the Outputformat Object and Symbol Object
1603            
1604    2004-07-07  Jan Sch�ngel <[email protected]>
1605    
1606            * Extensions/umn_mapserver/mapfile.py: Added some new
1607            settings to edit (outputformat, label, imagetype)
1608    
1609            * Extensions/umn_mapserver/mf_handle.py: Added some setting to
1610            the Label Dialog and add the OutputDialog.
1611            Make some changes to the code order.
1612    
1613    2004-07-06  Jan Sch�ngel <[email protected]>
1614    
1615            * Extensions/umn_mapserver/mapfile.py: Added the symbolObj, pointObj
1616            and line Obj and add the scalebar_status_type, scalebar_style_type and
1617            scalebar_position_type.
1618            Added the symbol- and symbolsetObject (MF_Symbol,MF_Symbolset). The
1619            are only used to create a Symbol like the circle in Thuban.
1620            Added the scalebarObject (MF_Scalebar)
1621            (MF_Class): Added set_status and get_status.
1622            (MF_Layer.add_thubanclass): Added code to set the class status
1623            (MF_Map): Added code to handle the symbols and scalebar
1624            (MF_Label): Added the set_partials and get_partials functions
1625            
1626            * Extensions/umn_mapserver/mf_export.py: Added MF_Symbol to import
1627            from mapfile. Added a function to create a circle object like the one
1628            from thuban if no one exists.
1629            
1630            * Extensions/umn_mapserver/mf_handle.py: All colors are now set when
1631            press ok in the assosiated dialog and not at the end of the
1632            colordialog.
1633            Added the Dialog for the Scalebar.
1634            (Label_Dialog): Added the offset option
1635    
1636            * Extensions/umn_mapserver/mf_import.py: Added code to import the
1637            status of the Classes.
1638            Fixed a bug with the projection. Now the to_meter parameter will be
1639            added to the Projection only if it doesn't exists.
1640    
1641    2004-07-01  Jan Sch�ngel <[email protected]>
1642    
1643            Added the functionality to handle the content thuban is not
1644            able to handle directly.
1645    
1646            * Extensions/umn_mapserver/mf_handle.py: New. This module extents
1647            Thuban with the possibility to edit the mapfile content.        
1648            
1649            * Extensions/umn_mapserver/mf_import.py: Added the possibility
1650            to import mapfiles without any layer selected. So it is possible
1651            to edit the other settings in a mapfile.
1652            (import_mapfile): Added code to use the editing functions.
1653            Added the possibility to import the projection to a layer if one
1654            is defined.
1655            Status settings (On,Off) will now set in thuban (visible, invisible).
1656            fixed a bug with with classnames. If no classname is set in mapfile
1657            the value in Thuban will set to the expression.
1658            
1659            * Extensions/umn_mapserver/mf_export.py(export_mapfile): Added the
1660            possibility to save a new mapfile or use the old one which is
1661            imported or new created.
1662            Added code to use the editing functions.
1663            Remove some not needed import statements
1664    
1665            * Extensions/umn_mapserver/mapfile.py: Added new types which are
1666            need for the editing functions.
1667            Added needed set-functions for the editing functions.
1668            Added the possibility to export rasterimages.
1669            Added new classes (MF_Web, MF_Label, MF_Legend, MF_Symbol,
1670            MF_SymbolSet). MF_Symbol and MF_SymbolSet are not needed at the
1671            moment.
1672            (MF_Class.set_thubanstyle): Now point layers will set to a default
1673            symbol to show a circle in mapserver and not only a 1px dot.
1674            (MF_Style.__init__): Fixed a bug with the color. Color was not set
1675            correct before.
1676            (MF_Size): Removed, because it is not needed.
1677            
1678            * Extensions/umn_mapserver/README: Added the hints to use the
1679            export and editing functions, too.
1680    
1681            * Extensions/umn_mapserver/sample/iceland.map: Added the
1682            new parameter "UNITS METERS".
1683            Change the political layer to status OFF.
1684    
1685            * Extensions/umn_mapserver/sample/README: Added some
1686            more details to setup the sample in the MapServer.
1687            
1688    2004-06-26  Bernhard Reiter <[email protected]>
1689    
1690            * Extensions/svgexport/test/test_svgmapwriter.py:
1691            Removed class VFile and used standard StringIO instead.
1692    
1693    2004-06-23  Jan Sch�ngel  <[email protected]>
1694    
1695            Add the export function to the umn_mapserver extension.
1696    
1697            * Extension/umn_mapserver/mf_export.py: New. This module extents
1698            Thuban with the possibility to export the Thuban content.
1699    
1700            * Extensions/umn_mapserver/mapfile.py: Expand the classes to use
1701            with the export module. Especially added the possibility to
1702            add thuban objects directly to the map objects.
1703    
1704            * Extensions/umn_mapserver/mf_import.py: Removed the wxCHANGE_DIR,
1705            because of the hint from Bernhard Herzog.
1706            Corrected the handling of absolute pathnames.
1707            Changed the Text of the Menu-Item, now the beginning is upper case.
1708    
1709            * Extensions/umn_mapserver/README: Added the --with-tiff statement.
1710    
1711    2004-06-16  Jan Sch�ngel  <[email protected]>
1712    
1713            Add a sample and make some changes.
1714    
1715            * Extension/umn_mapserver/mf_import.py: Changed the wxPython.wx
1716            import from * to explicit used statements. Changed the
1717            Thuban.UI.mainwindow import phrase, too.
1718            (import_mapfile):Corrected a clerical mistake.
1719            Added wxCHANGE_DIR in OpenFile Dialog.
1720            Added a MultipleChoiceDialog, to select the layers to load from
1721            mapfile into thuban. Thereby the projection is only set if one layer
1722            is selected.
1723            Added the possibility to handle relative pathnames which uses
1724            up-level references.
1725            Removed some doubled code.
1726            Corrected an error with integer values used as label in thuban
1727            ClassGroup.
1728            
1729            * Extensions/umn_mapserver/sample: New.
1730    
1731            * Extensions/umn_mapserver/sample/README: New. Describes the
1732            usage of the sample files.
1733    
1734            * Extensions/umn_mapserver/sample/iceland.map: New. This is
1735            a suitable .map-file for the iceland data.
1736    
1737            * Extensions/umn_mapserver/sample/index.html: New. The template
1738            for the mapfile.  
1739    
1740            * Extensions/umn_mapserver/sample/iceland.html: New. Initialisation
1741            file for the Iceland Application on web.
1742    
1743            * Extensions/umn_mapserver/README: Corrected a inaccuracy and added
1744            some details.
1745    
1746            * Extensions/umn_mapserver/test/test_mapserver
1747            (mapserver_import_Test_generalClasses.test_MF_Color):
1748            Corrected the thubancolor test.
1749    
1750    2004-06-15  Jan Sch�ngel  <[email protected]>
1751    
1752          * Extensions/umn_mapserver/README: New. Install instruction.          * Extensions/umn_mapserver/README: New. Install instruction.
1753    

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26