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

Legend:
Removed from v.2250  
changed lines
  Added in v.2558

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26