/[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 2480 by bernhard, Sat Dec 18 00:29:04 2004 UTC
# Line 1  Line 1 
1    2004-12-18  Bernhard Reiter <[email protected]>
2    
3            Refactored in svgexport:
4            DrawPath replaces DrawPolygon; added newline in front of "M" in paths.
5    
6            * Extensions/svgexport/svgmapwriter.py
7            Added verbosity level 3 to print out polygon points.
8            (class Point): added __repr__
9            (class Brush, __str__()): Added space after ,.
10            (DrawPolygon): Renamed to DrawPath()
11            (DrawPath): Takes list of polygons as input now, adds \n before "M"s.
12            (DrawLines): Using DrawPath now.
13    
14            * Extensions/svgexport/test/test_svgmapwriter.py:
15            Replaced DrawPolygon() calls with DrawPath() and put the first argument
16            inside another list. Adapted test data with a newline before "M".
17    
18    2004-12-18  Bernhard Reiter <[email protected]>
19            
20            Refactored svgexport tests: 9 double tests runs eliminated;
21            code size reduced by 8 lines.
22    
23            * Extensions/svgexport/test/test_svgmapwriter.py:
24            (class TestWithDC): Renamed to BaseTestWithDC, moved to top.
25            (class BaseWithDCtools): New, subclass from BaseTestWithDC.
26            (class TestDrawSplines): now subclass from BaseTestWithDCtools,
27            this fixed the double running of the nine tests of TestVirtualDC.
28            (class TestVirtualDC): Using self.dc and self.file from setUp().
29    
30    2004-12-17  Bernhard Herzog  <[email protected]>
31    
32            Two windows specific fixes ported from thuban-1�0-branch:
33    
34            * Thuban/UI/about.py (unicodeToLocale): Use getdefaultlocale
35            instead of getlocale because getlocale doesn't return a usable
36            encoding name on a german windows 2000
37    
38            * setup.py: windows build: Removed the absolute path names and
39            made all prfixes relative to the directory containing setup.py.
40            Makes it a little easier to adapt to a different system.
41    
42    2004-12-16  Bernhard Herzog  <[email protected]>
43    
44            Add support for PostGIS tables with LINESTRING geometries.
45            Fixes RT#2299
46    
47            * Thuban/Model/postgisdb.py (shapetype_map): Add LINESTRING
48    
49            * test/postgissupport.py
50            (PostgreSQLServer.get_default_static_data_db): Rename the "roads"
51            table to "roads-multi" because it now uses MULTILINESTRING
52            geometries and introduce a new "roads" table that uses LINESTRING
53            (coords_to_multilinestring): Make the doc string more precise
54            (coords_to_linestring): New.  Create a LINESTRING WKT
55            representatin
56            (wkt_converter): Add coords_to_linestring
57            (upload_shapefile): Rephrase the doc-string a bit.
58    
59            * test/test_postgis_db.py (TestPostGISShapestoreArc)
60            (LineStringTests)
61            (TestPostGISShapestoreLineString)
62            (TestPostGISShapestoreMultiLineString): Split
63            TestPostGISShapestoreArc into a base class LineStringTests and two
64            derived classes TestPostGISShapestoreLineString for LINESTRING
65            geometries and TestPostGISShapestoreMultiLineString for
66            MULTILINESTRING geometries.  Most test methods are in the base
67            class with the exception of tests that explicitly check the raw
68            format.
69    
70    2004-12-16  Bernhard Herzog  <[email protected]>
71    
72            Make the test suite work with PostGIS 0.8.2 and PostgreSQL 7.4
73    
74            * test/postgissupport.py (find_postgis_sql): Different postgis
75            versions put the postgis.sql file into slightly different places
76            so we have to look in both.  The updated doc string describes this
77            is more detail.
78    
79            * test/test_postgis_db.py
80            (TestPostGISSpecialCases.test_column_name_quoting): The return
81            value of UniqueValues is unsorted, so it has to be sorted for
82            comparison.
83    
84    2004-12-16  Bernhard Herzog  <[email protected]>
85    
86            Fix for RT#2237
87    
88            * Thuban/UI/projdialog.py (ProjFrame._show_proj_panel): If the
89            panel to be shown is the UnknownProjPanel disable the OK and Try
90            buttons.  Otherwise enable them.
91            (ProjFrame.__GetProjection): The UnknownProjPanel returns None for
92            the parameters.  In that case __GetProjection also returns None
93            now.
94    
95    2004-12-15  Bernhard Herzog  <[email protected]>
96    
97            * Thuban/UI/classgen.py (GenQuantilesPanel.__init__): Set the
98            minimum number of classes to 2.  The calculate_quantiles needs at
99            least two and raises an exception otherwise.  
100            Fixes RT#2549
101    
102    2004-12-15  Bernhard Herzog  <[email protected]>
103    
104            * test/postgissupport.py (PostgreSQLServer.execute_sql): Extend to
105            so that it returns a result for select statements.
106            (PostgreSQLServer.server_version): New.  Return the version of the
107            server software.
108            (PostgreSQLServer.require_authentication): The format of
109            pg_hba.conf has changed between PostgrSQL 7.2 and 7.3.  Check the
110            server version and generate the file in the correct format
111    
112    2004-12-15  Bernhard Herzog  <[email protected]>
113    
114            * test/postgissupport.py (PostgreSQLServer.is_running): Fix typo
115            in the doc string and rephrase it a little.
116    
117    2004-12-15  Frank Koormann <[email protected]>
118    
119            * test/test_load.py (TestAltPath.checkSession): New, extended checks if
120            session has been loaded successfully. The check is called by the relevant
121            tests after executing load_session().
122    
123    2004-12-13  Bernhard Herzog  <[email protected]>
124    
125            Make sure the region used to determine which shapes are visible
126            actually matches the region on the printed page.  If this isn't
127            done properly some shapes might not be printed.  
128            Fixes RT #2692
129    
130            * Thuban/UI/view.py (MapPrintout.draw_on_dc): The region for the
131            renderer has to be at the same position as the mapregion
132    
133            * Thuban/UI/renderer.py (ExportRenderer.RenderMap): self.region
134            has to be moved by (self.shiftx, self.shifty) too.
135    
136    2004-12-13  Bernhard Herzog  <[email protected]>
137    
138            * libraries/pyprojection/Projection.i: Work around a bug in the
139            generated python code which leads to exception in the __del__
140            method when the constructor fails.  See the comments in the code
141            for more details.
142    
143            * libraries/pyprojection/Projection.py: Updated from Projection.i
144            with SWIG.
145    
146    2004-12-13  Bernhard Herzog  <[email protected]>
147    
148            * test/test_load.py (TestAltPath.test_01_single_path_error_fix)
149            (TestAltPath.test_02_path_error_fix_from_list)
150            (TestAltPath.test_05_path_error_fix_from_list_changed)
151            (TestAltPath.test_06_path_error_fix_from_list_fails): self.session
152            is destroyed in tearDown, so there's no need to do it in a test
153            case.
154    
155            * Thuban/Model/load.py (SessionLoader.open_shapefile): Remove a
156            debug print
157    
158    2004-12-13  Bernhard Herzog  <[email protected]>
159    
160            * Extensions/svgexport/test/test_svgmapwriter.py
161            (TestDrawSplines.setUp): Do not use super with the unittest
162            classes because in Python 2.2 they're still old-style classes.
163    
164    2004-12-13  Frank Koormann <[email protected]>
165    
166        Alternative Path feature: When loading a (moved) session where
167            shapefiles cannot be found, ask the user. Use the specified path
168            if further shapefiles are missing. However, ask the usr for confirmation
169            in such cases.
170    
171            * test/test_load.py (TestAltPath): New, tests for alternative path feature
172            in load_session()
173            (Shapefile_CallBack): Helper, implements controllable callback.
174    
175            * Thuban/UI/application.py (ThubanApplication.OnInit):
176            Added "alt_path" to self.path
177            (ThubanApplication.OpenSession): Added shapefile_callback as second
178            callback similar to db_connection_callback.
179            (ThubanApplication.run_alt_path_dialog): New, implementaion of
180            shapefile_callback. In addition to raising the dialog the control of
181            self.path('alt_path') is implemented here.
182    
183            * Thuban/Model/load.py (SessionLoader.__init__): Added shapefile_callback.
184            (SessionLoader.open_shapefile): Open shapefile, eventually with
185            alternative path. This wrapps the "theSession.OpenShapefile(filename)"
186            formerly used in start_fileshapesource()/start_layer().
187            (SessionLoader.start_fileshapesource): Call open_shapefile().
188            (SessionLoader.start_layer): Call open_shapefile().
189            (load_session): Added shapefile_callback.
190    
191            * Thuban/UI/altpathdialog.py: New, implements dialogs for alternative path
192            feature (search / check).
193            
194            * Doc/manual/thuban-manual.xml: Added documentation of new feature.
195    
196    2004-12-11  Bernhard Reiter <[email protected]>
197    
198             svgexport 0.9.2: Point size supports for maps.
199    
200            * Extensions/svgexport/svgmapwriter.py: Added import of SHAPETYPE_POINT
201            (def draw_point_shape): new parameter size defaults to 2 as before.
202            (draw_shape_layer_incrementally): Moved draw_func log line higher.
203            Added draw_func call with size when dealing with a point layer.
204    
205            * Extensions/svgexport/__init__.py: bumped version to 0.9.2.
206            
207    2004-12-11  Bernhard Reiter <[email protected]>
208    
209            Made sure that newlines are inserted in the svg path d attributes
210            to raise the chance that the line length will be below 255 characters,
211            as recommended by REC SVG 1.1 in section 8.3.1.
212    
213            * Extensions/svgexport/svgmapwriter.py(DrawPolygon):
214            Adding \n before L's and changed whitespace handling.
215    
216            * Extensions/svgexport/test/test_svgmapwriter.py:
217            Adapted tests to new whitespace handling of DrawPolygon.
218    
219    2004-12-11  Bernhard Reiter <[email protected]>
220    
221            * Doc/technotes/coding_guidelines.txt: easy typo fixed.
222    
223            * Extensions/svgexport/test/test_svgmapwriter.py:
224            Removed test_drawbezier in favour of new test_drawspline3 and
225            test_drawspline4 within new class TestDrawSplines(TestVirtualDC).
226            All only to test DrawSpline.
227    
228            * Extensions/svgexport/svgmapwriter.py(DrawSpline):
229            New implementation now really using the strange algorithm of
230            xfig 3.1's approximated splines and its conversion to postscript
231            with one twist: SVG can do quadratic beziers, so skipped translation
232            to cubic beziers.
233            (TestWithDC): Typo in comment fixed.
234    
235    2004-12-09  Martin Schulze  <[email protected]>
236    
237            * Thuban/Model/classgen.py: Added missing character encoding
238    
239            * Extensions/wms/properties.py (OpenWMSProperties): removed
240    
241            * Extensions/wms/parser.py (WMSCapabilitiesParser.error): Dropped
242            support for get_srs_discrepancies() since there are no
243            discrepancies anymore (was a thinko)
244    
245            * Extensions/wms/layer.py (WMSLayer.GetMapImg): Improved graphic
246            format priority now that more formats are supported globally by
247            the render engine.
248    
249    2004-12-08  Silke Reimer <[email protected]>
250            * Extensions/ogr/ogrshapes.py: Substituted ogr-method CloseRings
251            because it is not available in all versions of ogr
252    
253    2004-12-08  Bernhard Reiter <[email protected]>
254            * Extensions/ogr/__init__.py: Added empty __init__.py to heal
255            global tests until a real one is commited.
256    
257    2004-12-07 Nina H�ffmeyer <[email protected]>
258    
259            * /Extensions/ogr/: Adding a new extension to read shapefiles with
260            ogr. It is planned to add other vector formats.
261    
262            * /test/runtests.py: Adding tests from /Extensions/ogr/test/.
263    
264    2004-12-07  Jan-Oliver Wagner <[email protected]>
265    
266            * /Extensions/svgexport/test/test_svgmapwriter.py: Reverting
267            part of a (non-)fix to renable that the tests are always
268            executed.
269    
270    2004-12-07  Bernhard Reiter <[email protected]>
271    
272            * Extensions/svgexport/test/test_svgmapwriter.py:
273            Added test_drawbezier() to test DrawSpline().
274    
275            * Extensions/svgexport/svgmapwriter.py(DrawSpline):
276            Really implemented bezier drawing.
277    
278            * Extensions/svgexport/__init__.py: Bumped version of svgexport
279            to 0.9.1 because now the legend examples lines styles
280            will be drawing with beziers.
281    
282    2004-12-05  Martin Schulze  <[email protected]>
283    
284            * Thuban/UI/renderer.py (raster_format_map): Added PNG, TIFF and
285            GIF as supported bitmap image formats (helpful for the WMS extension)
286    
287    2004-11-30  Martin Schulze  <[email protected]>
288    
289            * Extensions/wms/test/test_ogclib.py (TestOGCLib.test_compareURLs):
290            Improved the test for the internal compare method
291    
292    2004-11-27  Jan-Oliver Wagner <[email protected]>
293    
294            * Thuban/UI/about.py (About.__init__): Added
295            Norbert Solymosi for hungarian translation and Ole Rahn
296            as contrbutor. Moved Bernhard Reiter from Contributor
297            to Developer.
298    
299    2004-11-27  Bernhard Reiter <[email protected]>
300    
301            * Extensions/svgexport/test/test_svgmapwriter.py:
302            Removed Jan from author list as he did not change enough significant
303            lines yet.
304    
305            * Extensions/svgexport/__init__.py: Added Bernhard as author
306            of the Extension.
307    
308    2004-11-27  Jan-Oliver Wagner <[email protected]>
309    
310            * po/hu.po: New. Hungarian translation. Contributed
311            by Norbert Solymosi.
312    
313    2004-11-26  Bernhard Herzog  <[email protected]>
314    
315            * Extensions/svgexport/test/test_svgmapwriter.py
316            (Testobjectexport.test_transparent_polygon): Commented out some
317            debug prints
318    
319    2004-11-24  Jan-Oliver Wagner <[email protected]>
320    
321            Fix broken tests for svg extension and added svg legend
322            to Experimental menu.
323    
324            * Extensions/svgexport/test/test_svgmapwriter.py: Fix to have
325            the test run correctly even if the extension is a package.
326            Also removed the "import Thuban" which makes no sense.
327    
328            * Extensions/svgexport/__init__.py: Fix to have the extensions'
329            test module also be executed from the global test routine.
330            This is done by looking for the absense of the DISPLAY variable.
331    
332            * Extensions/svgexport/maplegend.py: Moved the menu entry from Extensions
333            to Experimental menu since this module has yet not reached a stable
334            status (ie. 1.0).
335    
336    2004-11-22  Bernhard Reiter <[email protected]>
337    
338            * Extensions/svgexport/svgmapwriter.py:
339            Added verbose variable and some logging depending on it.
340            (class VirtualDC(XMLWriter)): Minor improvement in the polygon loop,
341            because counting i is not necessary.
342            (class Pen, class Brush): Added simple __str__ methods.
343            (SVGRenderer.draw_polygone_shape): Fix #2698 (transparent polygons are
344            not exported to svg file) Note: holes still unhandled.
345    
346            * Extensions/svgexport/test/test_svgmapwriter.py:
347                    Made a baseclass TestWithDC for test needed a DC.
348                    Added tests for bug #2698 (transparent polygons are not
349                    exported to svg file):
350                    Testobjectexport.test_transparent_polygon()
351    
352            * Thuban/Model/base.py (UnsetModified):
353            Fixed some typos in docstring.
354    
355            * Thuban/UI/baserenderer.py (BaseRenderer.draw_polygon_shape()):
356            Added hints on the used algorithm for handling holes.
357    
358    2004-11-20  Jan-Oliver Wagner <[email protected]>
359    
360            Some face lifting for the examples.
361    
362            * Examples/__init__.py: Make this directory a package.
363    
364            * Examples/simple_extensions/__init__.py: Make this directory a package.
365    
366            * Examples/simple_extensions/hello_world.py: Moved entry from Extensions
367            menu to Examples menu.
368    
369            * Examples/simple_extensions/simple_command.py: Some more comments,
370            minor changes.
371    
372            * Examples/simple_extensions/simple_tool.py: Minor changes.
373    
374    2004-11-20  Jan-Oliver Wagner <[email protected]>
375    
376            Changed way of extension registry for wms and added extension
377            registry for umn_mapserver extension.
378    
379            * Extensions/wms/__init__.py: Added registry entry and the importing
380            of the actual wms module. Included a test for the required PyOGCLib.
381    
382            * Extensions/wms/wms.py: Removed registry entry (moved to __init__.py).
383    
384            * Extensions/umn_mapserver/__init__.py: Added registry entry and the
385            importing of the actual umn mapserver management modules.
386            Included a test for the required Python MapScript.
387    
388    2004-11-20  Jan-Oliver Wagner <[email protected]>
389    
390            Changed way of extension registry for importAPR, bboxdump
391            and added extension registry for svgexport.extension registry for
392            svgexport.
393    
394            * Extensions/importAPR/__init__.py: Added registry entry and the importing
395            of the actual importAPR module.
396    
397            * Extensions/importAPR/importAPR.py: Removed registry entry (moved to
398            __init__.py).
399    
400            * Extensions/bboxdump/__init__.py: Added registry entry and the importing
401            ����of the actual bboxdump module.
402    
403            * Extensions/bboxdump/bboxdump.py: Removed registry entry (moved to
404            ����__init__.py).
405    
406            * Extensions/svgexport/__init__.py: Added registry entry and the importing
407            of the svgsaver module.
408    
409            * Extensions/svgexport/svgsaver.py: Moved the menu entry from Extensions
410            to Experimental menu since this module has yet not reached a stable
411            status (ie. 1.0).
412    
413    2004-11-18  Jan-Oliver Wagner <[email protected]>
414    
415            Now the hit test considers the size of point symbols.
416    
417            * Thuban/UI/viewport.py (ViewPort._hit_point): Added optional parameter
418            'size' defaulting to the previously fixed value 5.
419            Extended doc-string.
420            (Viewport._find_shape_in_layer): Resolved FIXME regarding flexibility
421            for symbols.
422            Now the size of the largest point symbol is determined to find out
423            about whether the point has been hit.
424            This fixes the problem that only clicks inside a fixed distance of
425            5 where found.
426    
427    2004-11-17  Jan-Oliver Wagner <[email protected]>
428    
429            Another open issue fixed regarding sizeable symbols: correct rendering of
430            selected symbols.
431    
432            * Thuban/UI/renderer.py (ScreenRenderer.draw_selection_incrementally):
433            Added consideration of the specific size of point symbols.
434            The property for each point symbol is retrieved and the size applied
435            for the rendering method.
436            Added doc-string.
437    
438    2004-11-16  Jan-Oliver Wagner <[email protected]>
439    
440            Changed way of Extension Registry for gns2shp and profiling.
441    
442            * Extensions/gns2shp/gns2shp.py: Removed registry entry (moved to
443            __init__.py).
444    
445            * Extensions/gns2shp/__init__.py: Added registry entry and the importing
446            of the actual gns2shp module.
447    
448            * Extensions/profiling/profiling.py: Removed registry entry (moved to
449            __init__.py).
450    
451            * Extensions/profiling/__init__.py: Added registry entry and the importing
452            of the actual profiling module.
453    
454    2004-10-28  Bernhard Reiter <[email protected]>
455    
456            * Extensions/svgexport/: Minor improvements to doc strings.
457    
458    2004-10-07  Jan-Oliver Wagner <[email protected]>
459    
460            Further elements for sizable point objects now
461            making this feature usable though not yet complete.
462    
463            * Thuban/Model/save.py (SessionSaver.write_classification): Write
464            attribute 'size' for cldata when the shape layer is of point type.
465            This also now make the test_load.py tests happy.
466    
467            * Thuban/Model/classgen.py (CustomRamp.GetProperties): Added size
468            gradient.
469    
470            * Thuban/UI/classifier.py (ID_SELPROP_SPINCTRL): Renamed to
471            ID_SELPROP_SPINCTRL_LINEWIDTH.
472            (ID_SELPROP_SPINCTRL_LINEWIDTH): New Id replaces ID_SELPROP_SPINCTRL.
473            (ID_SELPROP_SPINCTRL_SIZE): New Id.
474            (SelectPropertiesDialog.__init__): Added a second spin control
475            for the size in case the corresponding layer is of point type.
476            (SelectPropertiesDialog._OnSpin): Renamed to _OnSpinLineWidth.
477            (SelectPropertiesDialog._OnSpinLineWidth): New. Former _OnSpin.
478            (SelectPropertiesDialog._OnSpinSize): New. Set size of property
479            and refresh preview.
480    
481    
482    
483    2004-10-04  Martin Schulze  <[email protected]>
484    
485            * Extensions/wms/test/test_parser.py
486            (TestWMSCapabilitiesParser.test_compareLists): Added missing
487            self-test for compareLists()
488            (TestWMSCapabilitiesParser.test_compareDicts): Added missing
489            self-test for compareDicts()
490            (TestWMSCapabilitiesParser.test_compareLists): Adding more tests
491            to verify the test routine fails with non-equal arguments
492            (TestWMSCapabilitiesParser.test_compareDicts): Adding more tests
493            to verify the test routine fails with non-equal arguments
494    
495    2004-10-03  Jan-Oliver Wagner <[email protected]>
496    
497            First elements for sizeable point objects.
498    
499            * Resources/XML/thuban-1.1.dtd: Added size attribute to cldata.
500    
501            * Data/iceland_sample_size.thuban: New. Sample for sized point objects.
502    
503            * test/test_load.py (ClassificationTest.TestLayers): Added SetSize in case
504            of a corresponding argument is given.
505            (TestSymbolSize): New. Test the size attribute of cldata.
506    
507            * Thuban/Model/classification.py: Removed some trailing whitespaces.
508            (ClassGroupProperties.__init__): Set default size.
509            (ClassGroupProperties.SetProperties): Set the size.
510            (ClassGroupProperties.GetSize): New. Return the size.
511            (ClassGroupProperties.SetSize): New. Set the size.
512            (ClassGroupProperties__eq__): Compare also size.
513            (ClassGroupProperties__repr__): Print also size.
514    
515            * Thuban/Model/load.py (SessionLoader.start_cldata): Also parse
516            the size attribute.
517    
518            * Thuban/UI/classifier.py (ClassDataPreviewer.Draw): Added doc-string.
519            Also, now there is a return value that indicates whether the drawing
520            size exceeded the given rect extent and if so the new extent.
521            Finally, point objects are drawn depending on the size. If either
522            the width or height is exceeded, the new extent is returned.
523            (ClassRenderer.Draw): Now when calling the previewer drawing function,
524            evaluate the return value and, if not None, adapt the grid widget size
525            accordingly and redraw again.
526    
527            * Thuban/UI/baserenderer.py (BaseRenderer.draw_shape_layer_incrementally):
528            If the draw function is for points, call it with the size as additional
529            parameter.
530            (BaseRenderer.draw_point_shape): Added additional, optional parameter for
531            the size. Compute the radius using the size.
532    
533            * Extensions/importAPR/apr.py (APR_BMkSym.GetThubanProp): Now
534            that Thuban supports size, apply this correctly.
535    
536            * Extensions/importAPR/importAPR.py: Bumped version to 0.1.1.
537    
538    2004-10-03  Jan-Oliver Wagner <[email protected]>
539    
540            * Doc/manual/thuban-manual-de.xml: Started translation of
541            Map chapter.
542    
543    2004-10-01  Martin Schulze  <[email protected]>
544    
545            * Extensions/wms/properties.py (wmsProperties.__init__): Extended
546            argument for general use through properties-dialog selector
547            
548            * Thuban/UI/classifier.py: Register properties dialog classes for
549            both provided layer classes/types.
550    
551            * Thuban/UI/mainwindow.py (MainWindow.OpenLayerProperties): The
552            map can be retrieved through the parent which is passed to the
553            constructor anyway and doesn't require an argument of its own,
554            required for the unification of arguments for general use through
555            properties-dialog selector.
556            (MainWindow.OpenOrRaiseDialog): Move the logic for checking
557            whether a dialog is already opened (and raising it to the users
558            attention) and creating a new dialog into a function of its own
559            (MainWindow.OpenLayerProperties): Use the new OpenOrRaiseDialog()
560            method
561            (MainWindow.OpenLayerProperties): Utilise the new ClassMapper for
562            global registration of properties dialog classes (which are indeed
563            layer-specific).
564    
565            * Thuban/UI/classifier.py (Classifier.__init__): Unify arguments
566            for general use through properties-dialog selector, the map can be
567            retrieved through the parent and doesn't require an argument of
568            its own.
569    
570            * Extensions/wms/wms.py: Register the properties dialog class for
571            the provided WMS layer
572    
573    2004-09-28  Jan-Oliver Wagner <[email protected]>
574    
575            New feature: Registry for Extensions.
576    
577            * Thuban/UI/extensionregistry.py: This module defines a registry for
578            Extensions.
579    
580            * Thuban/UI/about.py (About.__init__): Added description
581            of the registered extensions with all of the information.
582    
583            * Thuban/Model/extension.py (Extension): Improved doc-string.
584    
585            * Extensions/gns2shp/gns2shp.py, Extensions/importAPR/importAPR.py,
586            Extensions/bboxdump/bboxdump.py, Extensions/profiling/profiling.py,
587            Extensions/wms/wms.py: Added registration of the extension.
588    
589    2004-09-27  Bernhard Reiter <[email protected]>
590    
591            More fixes to svgexport to make used ids unique and
592            conforming to XML's Name production.
593    
594            * Extensions/svgexport/test/test_svgmapwriter.py: Added new tests
595            test_xml_id_constraints(), test_make_ide_nosetbaseid() and
596            test_make_id_nonintegersetid().  Switched SetID and SetBaseID.
597            Added Bernhard R. as author.
598            * Extensions/svgexport/svgmapwriter.py (make_id): Using "_" as
599            concatenation char now (makes test_make_ide_nosetbaseid() valid).
600            Also transform second id part with "%d" and catch the TypeError
601            to raise SVGMapWriterError (making test_make_id_nonintegersetid() ok).
602            Corrected typo inBernhard's author line.
603            (SetBaseID): Return the transformed base id. Transform characters
604            which are not alnum() or in ".-_" to binascii.b2a_hex(). Added
605            import binascii. If to be set string starts with "xml" or so, add "t".
606            (draw_shape_layer_incrementally): use the returned value of SetBaseID
607            for used_baseids checks.
608    
609    2004-09-25  Bernhard Herzog  <[email protected]>
610    
611            * test/test_layer.py (TestLayer.test_arc_layer_with_projection):
612            Remove a debug print and some tab characters.
613    
614    2004-09-25  Bernhard Reiter <[email protected]>
615    
616            * Extensions/svgexport/svgmapwriter.py: Added Bernhard R. as Author.
617            (SetBaseID, SetID, make_id): Improved docstring comments to explain
618            the interaction of the three functions and the XML id contrains.
619    
620    
621    2004-09-23  Jan-Oliver Wagner <[email protected]>
622    
623            * Doc/ThubanModel.xmi: New. UML file for Thuban Model
624            Module.
625    
626            * Doc/README: Added info on ThubanModel.xmi.
627    
628    2004-09-23  Jan-Oliver Wagner <[email protected]>
629    
630            * Doc/README: New. Some info about how to generate technical
631            documentation from the source code.
632            This text was send to the Thuban developer mailing list on
633            September 21st 2004 by Bernhard Reiter.
634    
635    2004-09-21  Bernhard Reiter <[email protected]>
636    
637            Improved the svgexport to only use unique ids. Will issues
638            an error message dialoge when two layer names are the same.
639            ShapeIDs are now added with a dash within the svg ids.
640    
641            * Extensions/svgexport/svgmapwriter.py (SVGMapWriterError): New.
642            * Extensions/svgexport/test/test_svgmapwriter.py: Added imports
643            (TestSVGRenderer): New test class with test_make_in() and
644            test_check_for_layer_name_clash()
645            * Extensions/svgexport/svgmapwriter.py (SVGRenderer): Fixed __init__()
646            and draw_shape_layer_incrementally() to not use a baseid twice,
647            satisfying test_check_for_layer_name_clash()
648            (VirtualDC.make_id): Use a dash between baseit and id, satisfies
649            test_make_in().
650            * Extensions/svexport/svgsaver.py: Import SVGMapWriterError, wxOK
651            and wxICON_HAND.
652            (write_to_svg): Put dc and rendering in a try statement and on
653            catching SVGmapWriterError notify the user and delete the target file.
654    
655    2004-09-20  Bernhard Reiter <[email protected]>
656    
657            * Model/base.by, Model/layer.py: Fixed typos in docstrings.
658    
659    2004-09-03  Jan Sch�ngel  <[email protected]>
660    
661            * Extensions/umn_mapserver/mapfile(MF_Class.add_thubanstyle): Fix a
662            small bug with the line color. Now the line color will now only set
663            if it is set in Thuban an not Transparent.
664            
665            * Extensions/umn_mapserver/mf_export(tblayer_to_map): Fixed a bug with
666            deleting the layers from mapfile. Now all layers will delete backwards
667            from the last.
668    
669    2004-08-20  Silke Reimer <[email protected]>
670    
671            * Thuban/Model/layer.py:
672            Fixes bug in projection handling: Otherwise very large region might not
673            have valid values in the layer's projection.
674    
675    2004-08-20  Silke Reimer <[email protected]>
676    
677            * Thuban/UI/about.py:
678            small changes to be consistent with coding style.
679              
680    2004-08-13  Martin Schulze  <[email protected]>
681    
682            * Extensions/wms/test/test_ogclib.py (TestOGCLib.compare_URLs):
683            Adjusted a comment
684    
685    2004-08-11  Silke Reimer <[email protected]>
686    
687            * Thuban/UI/about.py: Small changes to encoding related stuff to avoid
688                    too many and too enhanced imports of locale
689    
690    2004-08-10  Silke Reimer <[email protected]>
691    
692            * Thuban/UI/about.py: Fixed encoding problem of about dialog: Added
693                    function unicodeToLocale() to convert special characters to users
694                    locale encoding
695    
696    2004-08-10  Jan-Oliver Wagner <[email protected]>
697    
698            * Doc/technotes/coding_guidelines.txt: Added rule 'Method names start with
699            lower case letter'
700    
701    2004-08-09  Jan Sch�ngel  <[email protected]>
702    
703            * ChangeLog: Rewrite the last ChangeLog entry to follow
704            the standard way.
705    
706            * Extensions/umn_mapserver/mapfile: Moved the import AnnotationLayer to
707            the function where it is needed, because it don't works if it stands
708            at the beginning.
709            (MF_Layer.__init__): Removed the extra numclassed variable. Now
710            numclasses from the mapscript will be used.
711            (MF_Layer.get_index): New. Return the index of the layer in mapfile.
712            (MF_Layer.set_classes): New. A Classlist will be set to the layer.
713            (MF_Layer.set_metadata): New. A Metadata mapscript object will set.
714            (MF_Layer.remove_allclasses): New. All class of the layer will remove.
715            (MF_Map.create_new_layer): New. A new Layer is created and associated
716            with the mapscript object.
717            (MF_Map.set_layerorder): New. The Layer order like in thuban is set in
718            the mapscript.
719            (MF_Map.add_thubanlayer): Now a new layerobj is created if no one is
720            linked to the layer in thuban, else the layerobject linked to the
721            thubanlayer will be used.
722            AnnotationLayer will now store the filename of the shapefile.
723            (MF_Map.remove_layer): If a layer is removed the associated object
724            must be set new.
725            
726            * Extensions/umn_mapserver/mf_export.py(tb_layer_to_map): Add all
727            layers which are exists in thuban to the mapobj. All removed Layers
728            will be removed from the mapobj.
729            Added comments to all functions.
730            (thuban_to_map): No layer will be removed here.
731            
732            * Extensions/umn_mapserver/mf_handle.py
733            (_has_umn_mapobj_and_selectedlayer): Activating the layer menu. Now
734            Layersettings for the mapserver kann be edited.
735    
736            * Extensions/umn_mapserver/mf_import.py: Now all layers which are
737            imported, will be linked with the associated MF_Layer.
738            (import_mapfile): All layers, which are not selected, will be removed.
739            Disable the "import layer from mapfile" menu option.
740    
741            * Extensions/umn_mapserver/sample/iceland.map: Set the status of the
742            Annotation Layer from DEFAULT to OFF. The DEFAULT setting turns the
743            layer on permanently.
744    
745    2004-08-03  Jan Sch�ngel  <[email protected]>
746    
747            * Extensions/umn_mapserver/mapfile.py(MF_Metadata.remove_allmetadata):
748            New. This function removes all metadata
749            (MF_Layer.set_group): New. Set the group setting.
750            (MF_Layer.get_group): New. Get the group setting.
751            (MF_Map): Removed the extra numlayers variable, used the mapscript
752            parameter instead.
753            (MF_Map.get_numlayers): New. This get numlayers.
754            (MF_Map.remove_all_layers): New. Removes all layers from the mapobj.
755            (MF_Map.add_thubanlayer): Replaced the exception handling by a check
756            if the object is an instance. Also added the annotation layer here to
757            export, but only the layer is created in the mapfile.
758    
759            * Extensions/umn_mapserver/mf_export.py(export_mapfile): Removed
760            the check if a mapobj exist, because its not needed anymore. The
761            export function is only available if a mapobj exist.
762            Use the new function to remove all layers.
763            
764            * Extensions/umn_mapserver/mf_handle.py(Layer_Dialog): Added a group
765            option and the metadata button. The layer dialog is temporary disabled.
766            (Metadata_CustomDataTable): Added some functions to show the grid
767            correct.
768    
769            * Extensions/umn_mapserver/mf_import.py: Moved the code for showing
770            the number of layer from import_mapfile to this function.
771            (AnnotationLayer): New. This Class shows the Annotation layer in
772            thuban. The layer don't do anything. It's only to show the layer
773            and to save the layer order.
774            (add_annotationlayer): New. Import an annotation layer to thuban.
775            (select_layer2import): New. Import only layers to thuban and not
776            the other settings like projection or scalebar.
777            (create_new_mapfile): Moved the _has_umn_mapobj function and the
778            create_new_mapfile functions from mf_handle.py to mf_import.py.
779            
780            * Extensions/umn_mapserver/sample/iceland.map: Added the group
781            parameter to the roads and cultural layers. Also added a new
782            Annotation Layer for the cultural points.
783    
784            * Extensions/umn_mapserver/sample/iceland.html: Added the select
785            option for the annotation layer.
786    
787            * Extensions/umn_mapserver/sample/index.html: Added the start
788            parameter for the annotation layer.
789    
790    2004-08-01  Jan-Oliver Wagner <[email protected]>
791    
792            * Doc/manual/thuban-manual-de.xml (Chapter Session Management):
793            translation completed.
794    
795            * Doc/manual/thuban-manual.xml (Chapter Session Management):
796            Fixed unprecise description for Save Session.
797    
798    2004-07-31  Jan-Oliver Wagner <[email protected]>
799    
800            Started translation of Users Manual into german.
801    
802            * Doc/manual/thuban-manual-de.xml: New. German Users Manual.
803    
804            * Doc/manual/Makefile: Added build instructions for german
805            users manual.
806    
807            * Doc/manual/thuban-manual.xml: Minor corrections in Introduction.
808    
809    2004-07-28  Jan Sch�ngel  <[email protected]>
810    
811            * Extensions/umn_mapserver/mapfile.py(MF_Metadata): Changed all class
812            functions. Now all metadata will handle by the function and its not
813            needed to initialize it from outside. Therefor the associated mapobj
814            will be stored in the Metadata Object. So we can use the special
815            functions from the associated mapobj to get the Metadata.
816            Therefor all initialization code for the metadata is removed from the
817            other classes.
818            (MF_Layer): Added a function to get the metadata object.
819            (MF_Map): Added a function to set the mappath, the path where
820            the mapfile ist stored.
821    
822            * Extensions/umn_mapserver/mf_export.py(thuban_to_map): Changed the code
823            to set the extent in the mapfile. Now the code is set by the displayed
824            data in the Thuban-view.
825            (export_mapfile): The shapepath is now set empty, until relative
826            pathnames are supported.
827    
828            * Extension/umn_mapserver/mf_handle.py: Added a dialog to handle
829            metadata. Yet only mapfile metadata are supported. Layer and class
830            supported are not implemented.
831            Added a dialog to handle layer informations. The dialog only shows the
832            selected layer at the moment.
833    
834            * Extensions/umn_mapserver/mf_import.py(import_mapfile): Changed the
835            code for setting the extent in thuban. Now the extent is set to the
836            given extent from the mapfile.
837            Fixed a logical mistake. Now the extent is set when realy a layer is
838            loaded, and not if one is selected to load.
839    
840            * Extensions/umn_mapserver/sample/iceland.html: Added code to zoom and
841            move the shown map in the browser.
842    
843            * Extensions/umn_mapserver/sample/iceland.map: Added a new metadata
844            line to the mapobj and added metadata to the political layer.
845    
846            * Extensions/umn_mapserver/test/test_mapserver.py: Changed the test
847            for Metadata.
848    
849    2004-07-26  Martin Schulze  <[email protected]>
850    
851            * Thuban/Lib/classmapper.py (ClassMapper.has): Added the new
852            ClassMapper
853    
854            * test/test_classmapper.py (TestMapping.test_mapper): Added a Test
855            case for the new ClassMapper
856    
857    
858    2004-07-22  Bernhard Herzog  <[email protected]>
859    
860            * Thuban/UI/viewport.py (ViewPort.VisibleExtent): New.  Return the
861            visible extent of the map in projected coordinates
862    
863            * test/test_viewport.py (SimpleViewPortTest.test_default_size)
864            (SimpleViewPortTest.test_init_with_size): Add some VisibleExtent()
865            tests.
866            (SimpleViewPortTest.test_visible_extent): New. The real test for
867            VisibleExtent()
868    
869    2004-07-22  Bernhard Herzog  <[email protected]>
870    
871            * test/test_viewport.py: Use support.run_tests as the main
872            function when running asa script.
873    
874    2004-07-22  Jan Sch�ngel <[email protected]>
875    
876            * Extensions/umn_mapserver/mf_export.py: Added "import os"
877            Removed the old "import Thuban.UI.mainwindow" code.
878            (tbextent_to_map): Removed the extra function and at the code direct
879            to "thuban_to_map" function.
880            (write_creatorcomment): Added. Now a short comment is added to the
881            beginning of an generated mapfile.
882            (export_mapfile): Now the Path and filename are saved in to variables,
883            and not together in one variable. This is needed for the new
884            write_creatorcomment function.
885                    
886            * Extensions/umn_mapserver/mf_import.py (import_mapfile): Added the
887            import module "re". Also added Range and the ClassGroupRange import
888            from Thuban. Both are needed for the new range expression import.
889            (create_rangeexpression): Added. Creates a Range Expression in Thuban
890            style from a given mapfile expression.
891            (added_rasterlayer): Make some small code changes. The shapepath is
892            now stored in an extra variable and the clazz_name is set empty if no
893            class name set in the mapfile.
894            Changed the Error message for Range Expressions, becaus the new
895            function create a error string which will be shown in the dialog.
896    
897            * Extensions/umn_mapserver/test/test_mapserver.py: Added a test for the
898            range expression import.
899    
900    2004-07-21  Jan-Oliver Wagner <[email protected]>
901    
902            * Extensions/umn_mapserver/README: Added hint that
903            installation as root can be avoided. Removed all tabs.
904    
905    2004-07-16  Bernhard Herzog  <[email protected]>
906    
907            * test/test_viewport.py
908            (ViewPortTest.test_changing_map_projection): Check that changing
909            the projection of an empty map shown in a viewport doesn't lead to
910            exceptions in the viewport's handler for the
911            MAP_PROJECTION_CHANGED messages
912    
913            * Thuban/UI/viewport.py (ViewPort.map_projection_changed): Only
914            try to keep the same region visible when the map actually contains
915            something
916    
917    2004-07-15  Jan Sch�ngel <[email protected]>
918    
919            * Extensions/umn_mapserver/mapfile.py: Added a function to get the
920            mappath directly from the mapobj. Is needed because of the changes
921            in mf_import.py.
922            (MF_Layer.add_thubanclass): Added a new comment.
923            (MF_Map.set_extent): Fixed a bug with exporting empty mapobj. If the
924            mapobj is empty there is no extent get from thuban an so no one can
925            set to th mapobj.
926            
927            * Extensions/umn_mapserver/mf_import.py (import_mapfile): Updated
928            the discription.
929            Split the funktion in to three smaller ones. The new functions are
930            add_rasterlayer, add_polygonlayer and select_layer2import.
931            Removed the mapfilepath and filepath initialisation, because its know
932            include in the new functions.
933            Now nothing will be imported if cancel is pressed in the
934            layer choice dialog.
935    
936    2004-07-14  Jan Sch�ngel <[email protected]>
937    
938            * Extensions/umn_mapserver/mapfile.py: Added ClassGroupDefault to
939            import.
940            (MF_Symbolset): Removed the extra variable for numsymbols.
941            (MF_Class.__init__): Added a comment to the exception clause.
942            Removed the extent init, because it was not needed anymore.
943            (MF_Layer.add_thubanclass): Added the code to set the class name to
944            the expression value from thuban if no label is defined.
945            Added the code to export Range expressions from thuban to the mapfile.
946            (MF_Map.set_extent): Removed the exception and replace it by some if
947            code. If the size of a map is not defined the size will be set to 1,1.
948            This is necessary because if the extent is set, mapscript checks if
949            the size is greater than zero.
950            (MF_Web): Added the get and set function for the template.
951    
952            * Extensions/umn_mapserver/mf_export.py: Added the function to check
953            if a mapobject exists and used it to set the status of the menu items.
954            If no mapfile exists the settings could not be edditied.
955            Define after which menuitem the exportitem will include.
956            
957            * Extensions/umn_mapserver/mf_handle.py: Removed the import
958            Thuban.UI.mainwindow clause, because it is not needed.
959            Added the command Refresh() to all "OnChangeColor()" functions,
960            because the color preview window was not updated on a color change.
961            Added the function to check if a mapobject exists and used it to set the
962            status of the menu items. If no mapobject exists the settings could not
963            be edditied.
964            (Map_Dialog): Moved the imagetype selector from the
965            Outputformat_Dialog to Map_Dialog and removed Outputformat_Dialog.
966            (Web_Dialog): Removed the name label and added the template textbox.
967    
968            * Extensions/umn_mapserver/mf_import.py (import_mapfile): Replace
969            the exception handling on loading the layers by an if statement. It
970            is not necessary to us the exception there.
971            The Filepath creation now use os.path.join to build the path.
972    
973            * Extensions/umn_mapserver/test/test_mapserver.py: Moved the testMap
974            definition from global to the setUp function. Now the testMap will
975            initialize new on each test.
976    
977            * Extensions/umn_mapserver/sample/iceland.map: Include three new
978            classes in the Line Layer, to test logical Expressions.
979            Set the status of the class "Point9" in the Point Layer to off
980            
981    2004-07-13  Bernhard Herzog  <[email protected]>
982    
983            * Thuban/UI/baserenderer.py
984            (BaseRenderer.render_map_incrementally): Fix a logic bug in the
985            optimization that tries not to draw layers under a raster layer.
986            The bug was harmless.  All it effectively did was to produce The a
987            strange messages about not being able to draw Layer instances for
988            all vector layers below a raster layer which would be invisible
989            anyway because the raster layer currently always covers the entire
990            window
991    
992    2004-07-08  Jan Sch�ngel <[email protected]>
993    
994            * Extensions/umn_mapserver/mapfile.py: Added code to generade and get
995            a list of supported outputformats. This formats are not alle supported
996            because there is no possibility to get the outputformat without the
997            name known. Make some formal changes to the code.
998            (MF_Map.set_name()): Fixed a bug if the name is None.
999    
1000            * Extensions/umn_mapserver/mf_handle.py: Removed the image_type import
1001            statement, because its not needed anymore. The Outputformat is now
1002            given as string from the object. Make some formal changes to the code.
1003    
1004            * Extensions/umn_mapserver/test/test_mapserver.py: Added new test for
1005            most of the new setting which were added during the last changes.
1006            Removed the MF_Size Test.
1007            
1008            * Extensions/umn_mapserver/test/test.map: Added a new class to the
1009            cultural Layer to test expressions and the the status of that layer
1010            from on to default.
1011            Changed the data path the the correct Thuban Data
1012            Added the Outputformat Object and Symbol Object
1013            
1014    2004-07-07  Jan Sch�ngel <[email protected]>
1015    
1016            * Extensions/umn_mapserver/mapfile.py: Added some new
1017            settings to edit (outputformat, label, imagetype)
1018    
1019            * Extensions/umn_mapserver/mf_handle.py: Added some setting to
1020            the Label Dialog and add the OutputDialog.
1021            Make some changes to the code order.
1022    
1023    2004-07-06  Jan Sch�ngel <[email protected]>
1024    
1025            * Extensions/umn_mapserver/mapfile.py: Added the symbolObj, pointObj
1026            and line Obj and add the scalebar_status_type, scalebar_style_type and
1027            scalebar_position_type.
1028            Added the symbol- and symbolsetObject (MF_Symbol,MF_Symbolset). The
1029            are only used to create a Symbol like the circle in Thuban.
1030            Added the scalebarObject (MF_Scalebar)
1031            (MF_Class): Added set_status and get_status.
1032            (MF_Layer.add_thubanclass): Added code to set the class status
1033            (MF_Map): Added code to handle the symbols and scalebar
1034            (MF_Label): Added the set_partials and get_partials functions
1035            
1036            * Extensions/umn_mapserver/mf_export.py: Added MF_Symbol to import
1037            from mapfile. Added a function to create a circle object like the one
1038            from thuban if no one exists.
1039            
1040            * Extensions/umn_mapserver/mf_handle.py: All colors are now set when
1041            press ok in the assosiated dialog and not at the end of the
1042            colordialog.
1043            Added the Dialog for the Scalebar.
1044            (Label_Dialog): Added the offset option
1045    
1046            * Extensions/umn_mapserver/mf_import.py: Added code to import the
1047            status of the Classes.
1048            Fixed a bug with the projection. Now the to_meter parameter will be
1049            added to the Projection only if it doesn't exists.
1050    
1051    2004-07-01  Jan Sch�ngel <[email protected]>
1052    
1053            Added the functionality to handle the content thuban is not
1054            able to handle directly.
1055    
1056            * Extensions/umn_mapserver/mf_handle.py: New. This module extents
1057            Thuban with the possibility to edit the mapfile content.        
1058            
1059            * Extensions/umn_mapserver/mf_import.py: Added the possibility
1060            to import mapfiles without any layer selected. So it is possible
1061            to edit the other settings in a mapfile.
1062            (import_mapfile): Added code to use the editing functions.
1063            Added the possibility to import the projection to a layer if one
1064            is defined.
1065            Status settings (On,Off) will now set in thuban (visible, invisible).
1066            fixed a bug with with classnames. If no classname is set in mapfile
1067            the value in Thuban will set to the expression.
1068            
1069            * Extensions/umn_mapserver/mf_export.py(export_mapfile): Added the
1070            possibility to save a new mapfile or use the old one which is
1071            imported or new created.
1072            Added code to use the editing functions.
1073            Remove some not needed import statements
1074    
1075            * Extensions/umn_mapserver/mapfile.py: Added new types which are
1076            need for the editing functions.
1077            Added needed set-functions for the editing functions.
1078            Added the possibility to export rasterimages.
1079            Added new classes (MF_Web, MF_Label, MF_Legend, MF_Symbol,
1080            MF_SymbolSet). MF_Symbol and MF_SymbolSet are not needed at the
1081            moment.
1082            (MF_Class.set_thubanstyle): Now point layers will set to a default
1083            symbol to show a circle in mapserver and not only a 1px dot.
1084            (MF_Style.__init__): Fixed a bug with the color. Color was not set
1085            correct before.
1086            (MF_Size): Removed, because it is not needed.
1087            
1088            * Extensions/umn_mapserver/README: Added the hints to use the
1089            export and editing functions, too.
1090    
1091            * Extensions/umn_mapserver/sample/iceland.map: Added the
1092            new parameter "UNITS METERS".
1093            Change the political layer to status OFF.
1094    
1095            * Extensions/umn_mapserver/sample/README: Added some
1096            more details to setup the sample in the MapServer.
1097            
1098    2004-06-26  Bernhard Reiter <[email protected]>
1099    
1100            * Extensions/svgexport/test/test_svgmapwriter.py:
1101            Removed class VFile and used standard StringIO instead.
1102    
1103    2004-06-23  Jan Sch�ngel  <[email protected]>
1104    
1105            Add the export function to the umn_mapserver extension.
1106    
1107            * Extension/umn_mapserver/mf_export.py: New. This module extents
1108            Thuban with the possibility to export the Thuban content.
1109    
1110            * Extensions/umn_mapserver/mapfile.py: Expand the classes to use
1111            with the export module. Especially added the possibility to
1112            add thuban objects directly to the map objects.
1113    
1114            * Extensions/umn_mapserver/mf_import.py: Removed the wxCHANGE_DIR,
1115            because of the hint from Bernhard Herzog.
1116            Corrected the handling of absolute pathnames.
1117            Changed the Text of the Menu-Item, now the beginning is upper case.
1118    
1119            * Extensions/umn_mapserver/README: Added the --with-tiff statement.
1120    
1121  2004-06-16  Jan Sch�ngel  <[email protected]>  2004-06-16  Jan Sch�ngel  <[email protected]>
1122    
1123          Add a sample and make some changes.          Add a sample and make some changes.

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26